plugin_base

sans.guiframe.plugin_base

class sans.guiframe.plugin_base.PluginBase(name='Test_plugin', standalone=True)

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.

add_color(color, id)

Adds color to a plugin

can_load_data()

if return True, then call handler to laod data

clear_panel()

clear all related panels

delete_data(data_id)

Delete all references of data which id are in data_list.

get_context_menu(plotpanel=None)

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
get_extensions()

return state reader and its extensions

get_panels(parent)

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_perspective()

Get the list of panel names for this perspective

get_tools()

Returns a set of menu entries for tools

is_always_active()

return True is this plugin is always active and it is local to guiframe even if the user is switching between perspectives

is_in_use(data_id)
get a data id a list of data name if data data is
currently used by the plugin and the name of the plugin

data_name = ‘None’ in_use = False example [(data_name, self.sub_menu)]

load_data(event)

Load data

load_folder(event)

Load entire folder

on_batch_selection(flag)

need to be overwritten by the derivated class

on_perspective(event=None)

Call back function for the perspective menu item. We notify the parent window that the perspective has changed.

Parameters:event – menu event
on_set_state_helper(event)

update state

populate_file_menu()

Append menu item under file menu item of the frame

populate_menu(parent)

Create and return the list of application menu items for the plug-in.

Parameters:parent – parent window
Returns:plug-in menu
post_init()

Post initialization call back to close the loose ends

set_batch_selection(flag)

the plugin to its batch state if flag is True

set_data(data_list=None)

receive a list of data and use it in the current perspective

set_default_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

set_is_active(active=False)
set_state(state=None, datainfo=None)

update state

set_theory(theory_list=None)
Parameters:theory_list – list of information related to available theory state
use_data()

return True if these plugin use data

Table Of Contents

Previous topic

pdfview

Next topic

startup_configuration

This Page