VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Slots | Protected Member Functions | Protected Attributes
makVrf::DtEmbeddedEntitiesMenu Class Reference

This menu is added to the right click menu, the entites menu and the plan dialog in order to allow the tasking or setting of an embedded entity from the context of the host entity.

Inheritance diagram for makVrf::DtEmbeddedEntitiesMenu:
Inheritance graph
[legend]

Public Member Functions

 DtEmbeddedEntitiesMenu (makVrv::DtDe &, const std::string &menuIdName=DtEmbeddedEntitiesMenuId, int flags=0)
 
virtual ~DtEmbeddedEntitiesMenu ()
 
virtual QMenucreateMenu (makVrv::DtDe &, QWidget *parent)
 
virtual DtSubMenuConfigurationmenuConfiguration ()
 
virtual
DtConfigurableMenuAssembler
menuAssembler ()
 
virtual void buildMenu ()
 
virtual void clearMenu ()
 
virtual void setPlanEntitySet (const makVrv::DtSelectionManager::IdSet &set)
 
virtual DtEmbeddedEntitiesMenunewInstance (int flags=0)
 
virtual void slot_planTaskCreated (const DtSimTask &task)
 
virtual void setRecreateFlags (int)
 
partofPlanDialog

This integer is based on DtVrfTaskSetMenu::partOfPlanDialog and is used by buildMenu().

virtual void setPartOfPlanDialog (int partOfPlanDialog)
 
virtual int partOfPlanDialog ()
 
- Public Member Functions inherited from makVrf::DtConfigurableMenu
 DtConfigurableMenu (makVrv::DtDe &, const std::string &className)
 
virtual ~DtConfigurableMenu ()
 
virtual void registerMenu (makVrv::DtMenu *customMenu)
 
virtual void registerMenuItem (makVrv::DtMenuItem *customMenuItem)
 
virtual void createSimpleMenu (std::string menuText, makVrv::DtMenuPath menuIdPath, const makVrv::DtMenuConfiguration::MenuSortFlags &sortFlagsIfMenu=(makVrv::DtMenuConfiguration::MenuSortFlags)(makVrv::DtMenuConfiguration::SortAllAlphabetically|makVrv::DtMenuConfiguration::SortWithinSubmenus|makVrv::DtMenuConfiguration::SortBetweenSeparators))
 
virtual void createSimpleMenuAfter (std::string menuText, makVrv::DtMenuPath menuIdPath, makVrv::DtMenuPath afterIdPath)
 
virtual void createSimpleMenuBefore (std::string menuText, makVrv::DtMenuPath menuIdPath, makVrv::DtMenuPath beforeIdPath)
 
virtual void createSimpleMenuItem (std::string itemText, makVrv::DtMenuPath itemIdPath, DtSimpleMenuItemAction *action, void *usr=NULL, const makVrv::DtMenuConfiguration::MenuSortFlags &sortFlagsIfMenu=(makVrv::DtMenuConfiguration::MenuSortFlags)(makVrv::DtMenuConfiguration::SortAllAlphabetically|makVrv::DtMenuConfiguration::SortWithinSubmenus|makVrv::DtMenuConfiguration::SortBetweenSeparators))
 
virtual void createSimpleMenuItemAfter (std::string itemText, makVrv::DtMenuPath itemIdPath, makVrv::DtMenuPath afterIdPath, DtSimpleMenuItemAction *action, void *usr=NULL)
 
virtual void createSimpleMenuItemBefore (std::string itemText, makVrv::DtMenuPath itemIdPath, makVrv::DtMenuPath beforeIdPath, DtSimpleMenuItemAction *action, void *usr=NULL)
 
virtual void mergeMenu (makVrv::DtQtMenuAssembler &assembler, makVrv::DtMenuConfiguration &configuration)
 
virtual void mergeMenu (makVrv::DtQtMenuAssembler &assembler)
 
virtual void mergeMenu (makVrv::DtMenuConfiguration &configuration)
 
- Public Member Functions inherited from makVrv::DtMenu
 DtMenu (DtDe &de, const std::string &menuIdName)
 
virtual ~DtMenu ()
 
virtual const std::string & menuIdName () const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtEmbeddedEntitiesMenuinstance (makVrv::DtDe &)
 
static DtEmbeddedEntitiesMenumenuInstance (makVrv::DtDe &, int flags=0)
 
- Static Public Member Functions inherited from makVrf::DtConfigurableMenu
static bool hasMenuPath (const makVrv::DtMenuConfiguration &menus, const makVrv::DtMenuPath &sourcePath, const std::string &item, makVrv::DtMenuPath &foundPath)
 

Public Attributes

boost::signals2::signal< void(std::vector
< DtUUID > names, const
DtSimTask &)> 
signal_planTaskCreated
 
- Public Attributes inherited from makVrf::DtConfigurableMenu
boost::signals2::signal< void(DtConfigurableMenu *)> signal_menuRecreated
 
boost::signals2::signal< void(QAction *)> signal_validateMenuItem
 

Protected Slots

virtual void onAboutToShow ()
 

Protected Member Functions

virtual void slot_onInfoCacheUpdated (const DtObjectType &updatedType)
 
virtual void resolveContext (DtObjectType &objType, DtUUID &uuid, bool &isHomogeneous)
 
virtual void setActionsEnabled (QMenu *, bool b)
 
- Protected Member Functions inherited from makVrf::DtConfigurableMenu
virtual void initMenuItems (makVrv::DtDe &de)
 
DtConfigurableMenuAssemblerassembler ()
 
DtSubMenuConfigurationconfiguration ()
 
virtual void createMenuConfiguration (makVrv::DtDe &)
 

Protected Attributes

DtObjectType myHostObjectType
 
DtUUID myHost
 
int myHostPlanPart
 
bool myHostContextIsHomogeneous
 
QMenumyMenu
 
int myPartOfPlanDialog
 
makVrv::DtSelectionManager::IdSet myPlanEntitySet
 
int myCachedEmbeddedEntitiesSize
 
int myFlags
 
DtConfigurableMenuAssemblermyMenuAssembler
 
DtSubMenuConfigurationmyMenuConfiguration
 
boost::signals2::scoped_connection mySelectionChangedConnection
 
- Protected Attributes inherited from makVrf::DtConfigurableMenu
DtConfigurableMenuAssembler myAssembler
 
DtSubMenuConfiguration myConfiguration
 
bool myInitialized
 
makVrv::DtSignalConnectionManager myConnections
 
- Protected Attributes inherited from makVrv::DtMenu
DtDemyDe
 
std::string myMenuIdName
 

Constructor & Destructor Documentation

makVrf::DtEmbeddedEntitiesMenu::DtEmbeddedEntitiesMenu ( makVrv::DtDe ,
const std::string &  menuIdName = DtEmbeddedEntitiesMenuId,
int  flags = 0 
)
virtual makVrf::DtEmbeddedEntitiesMenu::~DtEmbeddedEntitiesMenu ( )
virtual

Destructor.

Member Function Documentation

virtual QMenu* makVrf::DtEmbeddedEntitiesMenu::createMenu ( makVrv::DtDe ,
QWidget *  parent 
)
virtual

Creates a new QMenu and caches the pointer in myMenu. Connects the aboutToShow() signal from the QMenu to the aboutToShow() function in this class.

Returns
The menu that was created

Implements makVrv::DtMenu.

Reimplemented in makVrf::DtRightClickEmbeddedEntitiesMenu.

virtual DtSubMenuConfiguration& makVrf::DtEmbeddedEntitiesMenu::menuConfiguration ( )
virtual

Returns theMenuConfiguration. If it is null when this is called a new DtSubMenuConfiguration is allocated and assigned to theMenuConfiguration.

Reimplemented from makVrf::DtConfigurableMenu.

virtual DtConfigurableMenuAssembler& makVrf::DtEmbeddedEntitiesMenu::menuAssembler ( )
virtual

Returns theMenuAssembler. If it is null when this is called a new DtConfigurableMenuAssembler is allocated and assigned to theMenuAssembler.

Reimplemented from makVrf::DtConfigurableMenu.

virtual void makVrf::DtEmbeddedEntitiesMenu::buildMenu ( )
virtual

Builds the submenus for each embedded entity and puts a DtEmbeddedEntityTaskMenu and DtEmbeddedEntitySetMenu under each one. The DtEmbeddedEntitiesListRequestor is used to look up the embedded entities. If partOfPlanDialog() returns 1, myPlanEntitySet is used as the source and otherwise the currently selected entity is the source. When the submenus are created, their signal_planTaskCreated is connected to slot_planTaskCreated. Note that regardless of whether a task or set is selected, they both generate a task - either a DtEmbeddedTaskForwardTask or an DtEmbeddedSetForwardTask.

virtual void makVrf::DtEmbeddedEntitiesMenu::clearMenu ( )
virtual

Calls clear() on myMenu. Goes through the DtSubMenuConfiguration and finds each path DtConfigurableMenuAssembler and deletes each menu. Finally, calls setDeleteReferences(true) and cleanup() on the assembler.

virtual void makVrf::DtEmbeddedEntitiesMenu::setPartOfPlanDialog ( int  partOfPlanDialog)
virtual
virtual int makVrf::DtEmbeddedEntitiesMenu::partOfPlanDialog ( )
virtual
virtual void makVrf::DtEmbeddedEntitiesMenu::setPlanEntitySet ( const makVrv::DtSelectionManager::IdSet set)
virtual

Called by DtEditEntityPlanWidget::setupMenuForPlanDialog to setup the source for the embedded entities.

static DtEmbeddedEntitiesMenu& makVrf::DtEmbeddedEntitiesMenu::instance ( makVrv::DtDe )
static

Finds the instance of DtEmbeddedEntitiesMenuId registered with the DtDe and allocates it if it isn't found.

static DtEmbeddedEntitiesMenu* makVrf::DtEmbeddedEntitiesMenu::menuInstance ( makVrv::DtDe ,
int  flags = 0 
)
static

Return a new copy, not the registered copy. It will do this by calling the newInstance method on the currently registered version. newInstance needs to be overridden by subclasses to return their own new instance.

virtual DtEmbeddedEntitiesMenu* makVrf::DtEmbeddedEntitiesMenu::newInstance ( int  flags = 0)
virtual

Creates a DtEmbeddedEntitiesMenu and returns the pointer.

virtual void makVrf::DtEmbeddedEntitiesMenu::slot_planTaskCreated ( const DtSimTask task)
virtual

Connected to the signal_planTaskCreated of each of the DtEmbeddedEntityVrfSetMenu and DtEmbeddedEntityVrfTaskMenu instances.

virtual void makVrf::DtEmbeddedEntitiesMenu::setRecreateFlags ( int  )
virtual
virtual void makVrf::DtEmbeddedEntitiesMenu::slot_onInfoCacheUpdated ( const DtObjectType updatedType)
protectedvirtual

Disconnects itself from the requestor's signal and calls clearMenu() and buildMenu() if the updated type is the one in context.

virtual void makVrf::DtEmbeddedEntitiesMenu::resolveContext ( DtObjectType objType,
DtUUID uuid,
bool isHomogeneous 
)
protectedvirtual

Gets the currently selected object type and name, and (assuming a multiple-object context) whether or not all object types are homogeneous.

virtual void makVrf::DtEmbeddedEntitiesMenu::setActionsEnabled ( QMenu ,
bool  b 
)
protectedvirtual
virtual void makVrf::DtEmbeddedEntitiesMenu::onAboutToShow ( )
protectedvirtualslot

Checks that the object for which the menu is currently based on is the object currently in context. If not, rebuilds the menu.

Member Data Documentation

boost::signals2::signal<void (std::vector<DtUUID> names, const DtSimTask&)> makVrf::DtEmbeddedEntitiesMenu::signal_planTaskCreated
DtObjectType makVrf::DtEmbeddedEntitiesMenu::myHostObjectType
protected

Name & type of the object that was in context when the menu is created, along with any other context data relevant from the last time the menu was built.

DtUUID makVrf::DtEmbeddedEntitiesMenu::myHost
protected
int makVrf::DtEmbeddedEntitiesMenu::myHostPlanPart
protected
bool makVrf::DtEmbeddedEntitiesMenu::myHostContextIsHomogeneous
protected
QMenu* makVrf::DtEmbeddedEntitiesMenu::myMenu
protected
int makVrf::DtEmbeddedEntitiesMenu::myPartOfPlanDialog
protected
makVrv::DtSelectionManager::IdSet makVrf::DtEmbeddedEntitiesMenu::myPlanEntitySet
protected
int makVrf::DtEmbeddedEntitiesMenu::myCachedEmbeddedEntitiesSize
protected
int makVrf::DtEmbeddedEntitiesMenu::myFlags
protected
DtConfigurableMenuAssembler* makVrf::DtEmbeddedEntitiesMenu::myMenuAssembler
protected
DtSubMenuConfiguration* makVrf::DtEmbeddedEntitiesMenu::myMenuConfiguration
protected
boost::signals2::scoped_connection makVrf::DtEmbeddedEntitiesMenu::mySelectionChangedConnection
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)