Package com.nomagic.magicdraw.actions
Class ActionsProvider
- java.lang.Object
-
- com.nomagic.magicdraw.actions.ActionsProvider
-
@OpenApi public final class ActionsProvider extends java.lang.ObjectThe singleton class used for accessing actions in different parts (diagrams, browsers, main menu and etc.) of MagicDraw application.
-
-
Field Summary
Fields Modifier and Type Field Description private ActionsCreatorcreatorActions creator creates default actions.private static ActionsProviderinstanceSingle instance of this class.private ActionsManagermainMenuActionsActions for main menu.private ActionsManagermainShortcutsActionsActions for main shortcuts.private ActionsManagermainToolbarActionsActions for main toolbar.private java.util.Set<ActionsManager>managersSet of managers.private java.util.Map<java.lang.String,NMAction>registeredAvailableActionsprivate booleanupdatingActionsStateIndicates that actions update is still in progress.
-
Constructor Summary
Constructors Modifier Constructor Description privateActionsProvider()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddManagerToUpdateList(ActionsManager manager)Adds actions to managers list for updating the state.private static voidappendCategories(ActionsManager destination, ActionsManager source, ActionsManager save, boolean oneCategory)Appends categories and actions from destination to source.private static voidappendDiagramTypeManagers(java.lang.String diagramType, java.util.Map<java.lang.String,ActionsManager> managers)static voidappendManagers()Appends general and diagrams actions manager with actions from configurator.private static booleancheckNotActiveProject(Project contextProject)DiagramsActionsManagercreateDiagramsActionsManager()Creates(or returns already created) action managers for all diagrams.ActionsManagercreateGeneralActions()Creates the general actionsprivate static ActionsManagercreateMainMenuActions()private static ActionsManagercreateMainShortcutsActions()private static ActionsManagercreateMainToolbarActions()static ActionsManagergetContainmentBrowserContextActions(BrowserTabTree tree)Returns context actions manager for containment browser.ActionsManagergetContainmentBrowserShortcutsActions()Returns actions manager for containment browser shortcuts.ActionsManagergetCreateDiagramDialogActions()Creates, configures and returns diagram creation actions to display in Create Diagram dialog (action in main menu and main toolbar)ActionsCreatorgetCreator()Returns instance of actions creator.ActionsManagergetDiagramCommandBarActions(java.lang.String diagramType)Returns actions of command bar for given diagram type.ActionsManagergetDiagramContextActions(java.lang.String diagramType, DiagramPresentationElement diagram, PresentationElement[] selected, PresentationElement requester)Returns context AM for given diagram type.ActionsManagergetDiagramContextToolbarActions(java.lang.String diagramType, PresentationElement requester)Returns context AM for given diagram type.static ActionsManagergetDiagramsBrowserContextActions(BrowserTabTree tree)Returns context actions manager for diagrams browser.ActionsManagergetDiagramsBrowserShortcutsActions()Returns actions manager for diagrams browser shortcuts.ActionsManagergetDiagramShortcutActions(java.lang.String diagramType)Returns AM for given diagram type shortcuts.DiagramToolbarConfigurationgetDiagramToolbarConfiguration(java.lang.String diagramType)Returns AM for diagram toolbar.static ActionsManagergetExtensionsBrowserContextActions(BrowserTabTree tree)Returns context actions manager for containment browser.ActionsManagergetExtensionsBrowserShortcutsActions()Returns shortcuts actions manager for inheritance browser.static ActionsManagergetInheritanceBrowserContextActions(BrowserTabTree tree)Returns context actions manager for inheritance browser.ActionsManagergetInheritanceBrowserShortcutsActions()Returns shortcuts actions manager for inheritance browser.static ActionsProvidergetInstance()Returns single instance of this class.ActionsManagergetLockViewBrowserShortcutsActions()Returns shortcuts actions manager for inheritance browser.ActionsManagergetMainMenuActions()Returns actions manager for main menu actions.ActionsManagergetMainShortcutsActions()Returns actions manager for main shortcuts.ActionsManagergetMainToolbarActions()Returns manager with actions for main toolbar.java.util.Collection<NMAction>getRegisteredAvailableActions()static ActionsManagergetSearchBrowserContextActions(BrowserTabTree tree)Returns context actions manager for search browser.ActionsManagergetSearchBrowserShortcutsActions()Returns shortcuts actions manager for search browser.ActionsManagergetTargetElementAMActions(java.lang.String diagramType, PresentationElement requester, java.lang.String pathActionID)Returns context AM for given diagram type.voidregisterAction(NMAction action)Registers the action as available in application - other components (such as Perspectives) should know what actions are available.
Action id must be stable/constant, It is not necessary to use the same action instance used when configuring appropriate menu/toolbar.voidremoveManagerFromUpdateList(ActionsManager manager)Removes manager from updating actions state list.voidresetCachedActions()Resets already configured actions cache.voidresetCashedActions()Deprecated.private voidsetActionsCreator(ActionsCreator creator)Sets Actions creator.voidunregisterAction(NMAction action)Remove the action as available in application.static voidupdateActionsState(ActionsManager manager, Project contextProject)Call updateState method for given actions without assigned groups in manager.voidupdateActionsState(Project contextProject)Call updateState method for all registered actions without assigned group.
-
-
-
Field Detail
-
mainToolbarActions
private ActionsManager mainToolbarActions
Actions for main toolbar.
-
mainMenuActions
private ActionsManager mainMenuActions
Actions for main menu.
-
mainShortcutsActions
private ActionsManager mainShortcutsActions
Actions for main shortcuts.
-
instance
private static final ActionsProvider instance
Single instance of this class.
-
creator
private ActionsCreator creator
Actions creator creates default actions.
-
managers
private final java.util.Set<ActionsManager> managers
Set of managers. MagicDraw will update state for all these actions.
-
registeredAvailableActions
private final java.util.Map<java.lang.String,NMAction> registeredAvailableActions
-
updatingActionsState
private boolean updatingActionsState
Indicates that actions update is still in progress.
-
-
Method Detail
-
getInstance
@OpenApi public static ActionsProvider getInstance()
Returns single instance of this class.- Returns:
- the instance of ActionsProvider.
-
getDiagramContextActions
@OpenApi public ActionsManager getDiagramContextActions(java.lang.String diagramType, DiagramPresentationElement diagram, PresentationElement[] selected, @CheckForNull PresentationElement requester)
Returns context AM for given diagram type.- Parameters:
diagramType- diagram typediagram- the given diagram.selected- array of selected symbols.requester- symbol which requests actions, can be null if requester is diagram.- Returns:
- manager with actions.
-
getTargetElementAMActions
@OpenApi public ActionsManager getTargetElementAMActions(java.lang.String diagramType, PresentationElement requester, java.lang.String pathActionID)
Returns context AM for given diagram type.- Parameters:
diagramType- diagram typerequester- symbol which requests actions, can be null if requester is diagram.pathActionID- path action id- Returns:
- manager with actions.
-
getDiagramContextToolbarActions
@OpenApi public ActionsManager getDiagramContextToolbarActions(java.lang.String diagramType, PresentationElement requester)
Returns context AM for given diagram type.- Parameters:
diagramType- diagram typerequester- symbol which requests actions, can be null if requester is diagram.- Returns:
- manager with actions.
-
getDiagramToolbarConfiguration
@OpenApi public DiagramToolbarConfiguration getDiagramToolbarConfiguration(java.lang.String diagramType)
Returns AM for diagram toolbar.- Parameters:
diagramType- diagram type- Returns:
- DiagramToolbarConfiguration object for specified diagram type.
-
getDiagramCommandBarActions
@OpenApi public ActionsManager getDiagramCommandBarActions(@CheckForNull java.lang.String diagramType)
Returns actions of command bar for given diagram type.- Parameters:
diagramType- diagram type- Returns:
- manager with actions.
-
getDiagramShortcutActions
@OpenApi public ActionsManager getDiagramShortcutActions(java.lang.String diagramType)
Returns AM for given diagram type shortcuts.- Parameters:
diagramType- diagram type- Returns:
- manager with actions.
-
getMainMenuActions
@OpenApi public ActionsManager getMainMenuActions()
Returns actions manager for main menu actions.- Returns:
- manager with actions.
-
createMainMenuActions
private static ActionsManager createMainMenuActions()
-
getMainToolbarActions
@OpenApi public ActionsManager getMainToolbarActions()
Returns manager with actions for main toolbar.- Returns:
- manager with main toolbar actions.
-
createMainToolbarActions
private static ActionsManager createMainToolbarActions()
-
getMainShortcutsActions
@OpenApi public ActionsManager getMainShortcutsActions()
Returns actions manager for main shortcuts.- Returns:
- manager with actions.
-
createMainShortcutsActions
private static ActionsManager createMainShortcutsActions()
-
getContainmentBrowserContextActions
@OpenApi public static ActionsManager getContainmentBrowserContextActions(BrowserTabTree tree)
Returns context actions manager for containment browser.- Parameters:
tree- instance of tree.- Returns:
- manager with actions.
-
getExtensionsBrowserContextActions
@OpenApi public static ActionsManager getExtensionsBrowserContextActions(BrowserTabTree tree)
Returns context actions manager for containment browser.- Parameters:
tree- instance of tree.- Returns:
- manager with actions.
-
getSearchBrowserContextActions
@OpenApi public static ActionsManager getSearchBrowserContextActions(BrowserTabTree tree)
Returns context actions manager for search browser.- Parameters:
tree- instance of tree.- Returns:
- manager with actions.
-
getDiagramsBrowserContextActions
@OpenApi public static ActionsManager getDiagramsBrowserContextActions(BrowserTabTree tree)
Returns context actions manager for diagrams browser.- Parameters:
tree- instance of tree.- Returns:
- manager with actions.
-
getInheritanceBrowserContextActions
@OpenApi public static ActionsManager getInheritanceBrowserContextActions(BrowserTabTree tree)
Returns context actions manager for inheritance browser.- Parameters:
tree- instance of tree.- Returns:
- manager with actions.
-
getContainmentBrowserShortcutsActions
@OpenApi public ActionsManager getContainmentBrowserShortcutsActions()
Returns actions manager for containment browser shortcuts.- Returns:
- manager with actions.
-
getDiagramsBrowserShortcutsActions
@OpenApi public ActionsManager getDiagramsBrowserShortcutsActions()
Returns actions manager for diagrams browser shortcuts.- Returns:
- manager with actions.
-
getInheritanceBrowserShortcutsActions
@OpenApi public ActionsManager getInheritanceBrowserShortcutsActions()
Returns shortcuts actions manager for inheritance browser.- Returns:
- manager with actions.
-
getLockViewBrowserShortcutsActions
@OpenApi public ActionsManager getLockViewBrowserShortcutsActions()
Returns shortcuts actions manager for inheritance browser.- Returns:
- manager with actions.
-
getExtensionsBrowserShortcutsActions
@OpenApi public ActionsManager getExtensionsBrowserShortcutsActions()
Returns shortcuts actions manager for inheritance browser.- Returns:
- manager with actions.
-
getSearchBrowserShortcutsActions
@OpenApi public ActionsManager getSearchBrowserShortcutsActions()
Returns shortcuts actions manager for search browser.- Returns:
- manager with actions.
-
getCreator
@OpenApi public ActionsCreator getCreator()
Returns instance of actions creator.- Returns:
- the actions creator.
-
setActionsCreator
private void setActionsCreator(ActionsCreator creator)
Sets Actions creator.- Parameters:
creator- actions creator.
-
createDiagramsActionsManager
public DiagramsActionsManager createDiagramsActionsManager()
Creates(or returns already created) action managers for all diagrams.- Returns:
- the diagrams actions manager.
-
createGeneralActions
public ActionsManager createGeneralActions()
Creates the general actions- Returns:
- the general actions
-
addManagerToUpdateList
public void addManagerToUpdateList(ActionsManager manager)
Adds actions to managers list for updating the state.- Parameters:
manager- the given actions manager.
-
removeManagerFromUpdateList
public void removeManagerFromUpdateList(ActionsManager manager)
Removes manager from updating actions state list.- Parameters:
manager- the given actions manager.
-
updateActionsState
public void updateActionsState(Project contextProject)
Call updateState method for all registered actions without assigned group.- Parameters:
contextProject- context project
-
updateActionsState
public static void updateActionsState(ActionsManager manager, @CheckForNull Project contextProject)
Call updateState method for given actions without assigned groups in manager.- Parameters:
manager- manager from which actions without assigned groups will be updated.contextProject- context project
-
checkNotActiveProject
private static boolean checkNotActiveProject(@CheckForNull Project contextProject)
-
appendCategories
private static void appendCategories(ActionsManager destination, ActionsManager source, ActionsManager save, boolean oneCategory)
Appends categories and actions from destination to source.- Parameters:
destination- destination manager.source- source manager.save- manager which contains actions to be saved.oneCategory- true when all actions should be append to first category in destination.
-
appendManagers
public static void appendManagers()
Appends general and diagrams actions manager with actions from configurator. This should be used before saving and loading actions shortcuts.
-
appendDiagramTypeManagers
private static void appendDiagramTypeManagers(java.lang.String diagramType, java.util.Map<java.lang.String,ActionsManager> managers)
-
getCreateDiagramDialogActions
@OpenApi public ActionsManager getCreateDiagramDialogActions()
Creates, configures and returns diagram creation actions to display in Create Diagram dialog (action in main menu and main toolbar)- Returns:
- manager with diagram creation actions
-
resetCashedActions
@Deprecated public void resetCashedActions()
Deprecated.Resets already configured actions cache.
-
resetCachedActions
public void resetCachedActions()
Resets already configured actions cache.
-
registerAction
@OpenApi public void registerAction(NMAction action)
Registers the action as available in application - other components (such as Perspectives) should know what actions are available.
- Action id must be stable/constant,
- It is not necessary to use the same action instance used when configuring appropriate menu/toolbar.
- Parameters:
action- action to register.- See Also:
unregisterAction(com.nomagic.actions.NMAction)
-
unregisterAction
@OpenApi public void unregisterAction(NMAction action)
Remove the action as available in application.- Parameters:
action- action to remove.- See Also:
registerAction(com.nomagic.actions.NMAction)
-
getRegisteredAvailableActions
public java.util.Collection<NMAction> getRegisteredAvailableActions()
- Returns:
- a collection of various registered actions. Used in User Modes.
-
-