Lumiera  0.pre.03
»edit your freedom«
Actions Class Reference

#include "stage/ctrl/actions.hpp"

Description

A helper class which registers global user actions and populates the main menu and toolbar.

Definition at line 67 of file actions.hpp.

Public Member Functions

 Actions (GlobalCtx &globals)
 
void populateMainActions (Gtk::UIManager &uiManager)
 Populates the uiManager with the main set of global actions. More...
 
void updateActionState (workspace::WorkspaceWindow &currentWindow)
 Updates the state of the menu/toolbar actions to reflect the current state of the workspace. More...
 

Private Member Functions

void onMenu_view_assets ()
 
void onMenu_view_infobox ()
 
void onMenu_view_timeline ()
 
void onMenu_view_viewer ()
 
void populateShowPanelActions (Gtk::UIManager &uiManager)
 Populates the menu entries to show specific panels within the current window. More...
 
void unimplemented (const char *todo)
 
- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Private Attributes

Glib::RefPtr< Gtk::ActionGroup > actionGroup
 
Glib::RefPtr< Gtk::ToggleAction > assetsPanelAction
 
GlobalCtxglobalCtx_
 
Glib::RefPtr< Gtk::ToggleAction > infoboxPanelAction
 
bool is_updating_action_state
 
Glib::RefPtr< Gtk::ToggleAction > timelinePanelAction
 
Glib::RefPtr< Gtk::ToggleAction > viewerPanelAction
 

Member Function Documentation

◆ populateMainActions()

void populateMainActions ( Gtk::UIManager &  uiManager)
inline

Populates the uiManager with the main set of global actions.

Remarks
we define the menu bindings with the help of stock language lambdas. This does not make the resulting functors sigc::trackable, yet this is not necessary either, since Actions, together with all the other top level UI backbone entities, is created and maintained by GtkLumiera, and thus ensured to exist as long as the GTK event loop is running.

Definition at line 88 of file actions.hpp.

References steam::mobject::session::query::anonymous_namespace{fake-configrules.cpp}::entry().

+ Here is the call graph for this function:

◆ updateActionState()

void updateActionState ( workspace::WorkspaceWindow currentWindow)
inline

Updates the state of the menu/toolbar actions to reflect the current state of the workspace.

Note
the actual functionality was disabled by Joel with changeset 6151415 (from 4.4.2009), which introduced a PanelManager. This whole concept was seemingly never finished.
Todo:
as of 2017, the relation of panels to top level windows is unclear and likely needs to be replaced by a focus + perspective concept (–> see topic "Interaction Control")

Definition at line 239 of file actions.hpp.

◆ populateShowPanelActions()

void populateShowPanelActions ( Gtk::UIManager &  uiManager)
inlineprivate

Populates the menu entries to show specific panels within the current window.

Todo:
4/2017 this can only be a preliminary solution. What we actually want is perspectives, and we want a specific UI to be anchored somewhere in UI space, so we'll be rather be navigating towards it, instead of "showing it here".

Definition at line 272 of file actions.hpp.

References WindowLocator::findActiveWindow(), PanelManager::getPanelDescriptionCount(), PanelManager::getPanelStockID(), stage::widget::name(), and PanelManager::showPanel().

+ Here is the call graph for this function:
+ Inheritance diagram for Actions:
+ Collaboration diagram for Actions:

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