Classes | Public Member Functions | Package Functions

# BinNavi.API.plugins.ICriteriaSelectionPlugin Interface Reference

Interface for plugins that extend the Select by Criteria dialog. More...

Inheritance diagram for BinNavi.API.plugins.ICriteriaSelectionPlugin:

List of all members.

## Classes
interface | ICriterium
| Interface for concrete plugin criteria. More...
interface | IFixedCriterium
| Interface for fixed criteriums. More...
## Public Member Functions
String | getCriteriumDescription ()
| Criterium description string.
long | getGuid ()
| The GUID of the plugin.
String | getName ()
| The name of the plugin.
void | init (PluginInterface pluginInterface)
| Initializes the plugin.
void | unload ()
| Unloads the plugin.
## Package Functions
ICriterium | getCriterium (View2D view2d)
| Creates a new criterium.
String | getDescription ()
| The description of the plugin.

## Detailed Description

This interface can be implemented by plugins that want to extend the Select by Criteria dialog in graph windows.

The general workflow of Select by Criteria plugins is this:

- Whenever a Select by Criteria dialog is opened, the plugin is added to the list of potential criteria.
- When the user chooses the plugin criterium, getCriterium is called and a new ICriterium object must be returned. The user can configure the ICriterium object using the JPanel object returned by getCriteriumPanel.
- When the selection action is executed, the ICriterium object is asked to create an IFixedCriterium object that contains all the configuration option from the configuration panel in a non-modifiable state. This fixed criterium object is then user to re-evaluate the selection action through the recently used criteria menus.

## Member Function Documentation

ICriterium BinNavi.API.plugins.ICriteriaSelectionPlugin.getCriterium | ( | View2D | view2d | ) | `[package]`

Creates a new criterium object.

Parameters:

  | view2d | View2D object that contains the nodes to be selected.

Returns:
  The created criterium object.

String BinNavi.API.plugins.ICriteriaSelectionPlugin.getCriteriumDescription | ( |  | ) |

Returns a description string of the criterium.

Returns:
  The criterium description string.

String BinNavi.API.plugins.IPlugin.getDescription | ( |  | ) | `[package, inherited]`

Returns a description of the plugin. This description is used in the plugin configuration dialog to let the user know what the plugin does.

Returns:
  The description of the plugin.

long BinNavi.API.plugins.IPlugin.getGuid | ( |  | ) | `[inherited]`

Returns a unique GUID that identifies the plugin. Plugins with duplicate GUIDs will not be loaded.

Returns:
  The GUID that identifies the plugin.

String BinNavi.API.plugins.IPlugin.getName | ( |  | ) | `[inherited]`

Returns the name of the plugin. This name is used in the plugin configuration dialog to let the user select what plugin to configure.

Note that plugins that return null from this function will not be loaded.

Returns:
  The name of the plugin.

void BinNavi.API.plugins.IPlugin.init | ( | PluginInterface | pluginInterface | ) | `[inherited]`

The plugin manager calls this function for each plugin right after loading a plugin for the first time.

Note that this function should be used to initialize the plugin. Do not use the constructor of the plugin to initialize plugin.

Further note that all plugins must have a standard constructor that does not take any arguments. Only this constructor is used to load a plugin.

Parameters:

  | pluginInterface | The plugin interface that gives a plugin access to BinNavi.

void BinNavi.API.plugins.IPlugin.unload | ( |  | ) | `[inherited]`

This function is called when the plugin is unloaded. Plugins that actively changed the appearance of BinNavi (for example by adding menus or showing dialogs) must remove all changes in this function.