This class defines the interface for a Plugin class that can be used by the gui_manager.
Plug-ins should be placed in a sub-directory called “perspectives”. For example, a plug-in called Foo should be place in “perspectives/Foo”. That directory contains at least two files:
perspectives/Foo/__init__.py contains two lines:
PLUGIN_ID = “Foo plug-in 1.0” from Foo import *perspectives/Foo/Foo.py contains the definition of the Plugin class for the Foo plug-in. The interface of that Plugin class should follow the interface of the class you are looking at.
See dummyapp.py for a plugin example.
Abstract class for gui_manager Plugins.
Adds color to a plugin
if return True, then call handler to laod data
clear all related panels
Delete all references of data which id are in data_list.
Check if the plugin has a batch capability
This method is optional.
When the context menu of a plot is rendered, the get_context_menu method will be called to give you a chance to add a menu item to the context menu.
A ref to a plotpanel object is passed so that you can investigate the plot content and decide whether you need to add items to the context menu.
This method returns a list of menu items. Each item is itself a list defining the text to appear in the menu, a tool-tip help text, and a call-back method.
Parameters: | graph – the Graph object to which we attach the context menu |
---|---|
Returns: | a list of menu items with call-back function |
return state reader and its extensions
Create and return the list of wx.Panels for your plug-in. Define the plug-in perspective.
Panels should inherit from DefaultPanel defined below, or should present the same interface. They must define “window_caption” and “window_name”.
Parameters: | parent – parent window |
---|---|
Returns: | list of panels |
Get the list of panel names for this perspective
Returns a set of menu entries for tools
return True is this plugin is always active and it is local to guiframe even if the user is switching between perspectives
data_name = ‘None’ in_use = False example [(data_name, self.sub_menu)]
Load data
Load entire folder
need to be overwritten by the derivated class
Call back function for the perspective menu item. We notify the parent window that the perspective has changed.
Parameters: | event – menu event |
---|
update state
Append menu item under file menu item of the frame
Create and return the list of application menu items for the plug-in.
Parameters: | parent – parent window |
---|---|
Returns: | plug-in menu |
Post initialization call back to close the loose ends
the plugin to its batch state if flag is True
receive a list of data and use it in the current perspective
Call back method that True to notify the parent that the current plug-in can be set as default perspective. when returning False, the plug-in is not candidate for an automatic default perspective setting
update state
Parameters: | theory_list – list of information |
---|
related to available theory state
return True if these plugin use data