Version: 9.15.0
PyModuleHelper::XmlHandler Class Reference

XML resource files parser. More...

Public Member Functions

 XmlHandler (PyModuleHelper *helper, const QString &fileName)
 Constructor. More...
 
void createActions ()
 Parse XML file and create actions. More...
 
void createPopup (QMenu *menu, const QString &context, const QString &parent, const QString &object)
 Create popup menu. More...
 
void activateMenus (bool)
 Activate/deactivate menus. More...
 

Private Member Functions

LightApp_Modulemodule () const
 Get owner module. More...
 
QIcon loadIcon (const QString &fileName)
 Load an icon from the module resources by the specified file name. More...
 
void createMenu (QDomNode &parentNode, const int parentMenuId=-1, QMenu *parentPopup=0)
 Create main menu item and insert actions to it. More...
 
void createToolBar (QDomNode &parentNode)
 Create a toolbar and insert actions to it. More...
 
void insertPopupItems (QDomNode &parentNode, QMenu *menu)
 Fill popup menu with the items. More...
 

Private Attributes

PyModuleHelpermyHelper
 
QDomDocument myDoc
 
QList< int > myMenuItems
 

Detailed Description

XML resource files parser.

This class is used to provide backward compatibility with existing Python modules in which obsolete menu definition system (via XML files) is used.

Constructor & Destructor Documentation

◆ XmlHandler()

PyModuleHelper::XmlHandler::XmlHandler ( PyModuleHelper helper,
const QString &  fileName 
)

Constructor.

Parameters
modulepointer to the GUI module
fileNamepath to the XML menu description file

References myDoc.

Member Function Documentation

◆ activateMenus()

void PyModuleHelper::XmlHandler::activateMenus ( bool  enable)

Activate/deactivate menus.

Parameters
enableif true menus are activated, otherwise menus are deactivated

References CAM_Module::menuMgr(), PyModuleHelper::module(), and QtxActionMenuMgr::setEmptyEnabled().

◆ createActions()

void PyModuleHelper::XmlHandler::createActions ( )

Parse XML file and create actions.

Called by PyModuleHelper::initialize() in order to create actions (menus, toolbars).

◆ createMenu()

void PyModuleHelper::XmlHandler::createMenu ( QDomNode &  parentNode,
const int  parentMenuId = -1,
QMenu parentPopup = 0 
)
private

Create main menu item and insert actions to it.

Parameters
parentNodeXML node with menu description
parentMenuIdparent menu ID (-1 for top-level menu)
parentPopupparent popup menu (0 for top-level menu)

References attribute(), checkBool(), checkInt(), CAM_Module::createAction(), CAM_Module::createMenu(), PyModuleHelper::defaultMenuGroup(), PyModuleHelper::module(), CAM_Module::separator(), and tagName().

◆ createPopup()

void PyModuleHelper::XmlHandler::createPopup ( QMenu menu,
const QString &  context,
const QString &  parent,
const QString &  object 
)

Create popup menu.

Parameters
menupopup menu
contextpopup menu context
contextpopup menu parent object name
contextpopup menu object name

References attribute().

◆ createToolBar()

void PyModuleHelper::XmlHandler::createToolBar ( QDomNode &  parentNode)
private

Create a toolbar and insert actions to it.

Parameters
parentNodeXML node with toolbar description

References attribute(), checkBool(), checkInt(), CAM_Module::createAction(), CAM_Module::createTool(), PyModuleHelper::module(), CAM_Module::separator(), and tagName().

◆ insertPopupItems()

void PyModuleHelper::XmlHandler::insertPopupItems ( QDomNode &  parentNode,
QMenu menu 
)
private

Fill popup menu with the items.

Parameters
parentNodeXML node with popup menu description
menupopup menu

References attribute(), checkBool(), checkInt(), CAM_Module::createAction(), LightApp_Module::getApp(), QtxResourceMgr::loadPixmap(), PyModuleHelper::module(), SUIT_Application::resourceMgr(), CAM_Module::separator(), and tagName().

◆ loadIcon()

QIcon PyModuleHelper::XmlHandler::loadIcon ( const QString &  fileName)
private

Load an icon from the module resources by the specified file name.

Parameters
fileNameicon file name
Returns
icon object

References LightApp_Module::getApp(), QtxResourceMgr::loadPixmap(), PyModuleHelper::module(), and SUIT_Application::resourceMgr().

◆ module()

LightApp_Module * PyModuleHelper::XmlHandler::module ( ) const
private

Get owner module.

Member Data Documentation

◆ myDoc

QDomDocument PyModuleHelper::XmlHandler::myDoc
private

◆ myHelper

PyModuleHelper* PyModuleHelper::XmlHandler::myHelper
private

◆ myMenuItems

QList<int> PyModuleHelper::XmlHandler::myMenuItems
private

The documentation for this class was generated from the following file: