The AFXModuleGui base class provides various module infrastructure support functions. For example, the AFXModuleGui base class keeps track of the module’s menus, along with its toolbar and toolbox icons. As a result, the menus, toolbars, and icons can be swapped in and out automatically as the user changes modules. The following example shows how to create a module GUI; subsequent sections explain the details of this example. from abaqusGui import * from myModes import mode_1, mode_2, mode_3 from myIcons import * from myToolsetGui import MyToolsetGui class MyModuleGui(AFXModuleGui): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def __init__(self): # Construct the base class # mw=getAFXApp().getAFXMainWindow() AFXModuleGui.__init__(self, moduleName='My Module', displayTypes=AFXModuleGui.PART) mw.appendApplicableModuleForTreeTab('Model', self.getModuleName() ) mw.appendVisibleModuleForTreeTab('Model', self.getModuleName() ) # Menu items # menu = AFXMenuPane(self) AFXMenuTitle(self, '&Menu1', None, menu) AFXMenuCommand(self, menu, '&Item 1', None, mode_1, AFXMode.ID_ACTIVATE) subMenu = AFXMenuPane(self) AFXMenuCascade(self, menu, '&Submenu', None, subMenu) AFXMenuCommand(self, subMenu, '&Subitem 1', None, mode_2, AFXMode.ID_ACTIVATE) # Toolbar items # group = AFXToolbarGroup(self) icon = FXXpmIcon(getAFXApp(), iconData1) AFXToolButton(group, '\tTool Tip', icon, mode_1, AFXMode.ID_ACTIVATE) # Toolbox items # group = AFXToolboxGroup(self) icon = FXXPMIcon(getAFXApp(), iconData2) AFXToolButton(group, '\tTool Tip’, icon, mode_1, AFXMode.ID_ACTIVATE) popup = FXPopup(getAFXApp().getAFXMainWindow()) AFXFlyoutItem(popup, '\tFlyout Button1', squareIcon, mode_1, AFXMode.ID_ACTIVATE) AFXFlyoutItem(popup, '\tFlyout Button 2', circleIcon, mode_2, AFXMode.ID_ACTIVATE) AFXFlyoutItem(popup, '\tFlyout Button 3', triangleIcon, mode_3, AFXMode.ID_ACTIVATE) AFXFlyoutButton(group, popup) # Register toolsets # self.registerToolset(MyToolsetGui(), GUI_IN_MENUBAR|GUI_IN_TOOL_PANE) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def getKernelInitializationCommand(self): return 'import myModule' # Instantiate the module # MyModuleGui() |