Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Actions Class Reference

#include "gui/ctrl/actions.hpp"

Description

A helper class which registers and handles user action events.

Definition at line 76 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 ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
 ~NonCopyable ()=default
 
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
 

Constructor & Destructor Documentation

Actions ( GlobalCtx globals)
inline

Definition at line 82 of file actions.hpp.

Member Function Documentation

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 97 of file actions.hpp.

References _, Actions::actionGroup, Actions::assetsPanelAction, WindowLocator::closeWindow(), lib::meta::func::closure(), GlobalCtx::director_, Actions::infoboxPanelAction, WindowLocator::newWindow(), Actions::onMenu_view_assets(), Actions::onMenu_view_infobox(), Actions::onMenu_view_timeline(), Actions::onMenu_view_viewer(), Actions::populateShowPanelActions(), Wizard::show_HelpAbout(), UiManager::terminateUI(), Actions::timelinePanelAction, GlobalCtx::uiManager_, Actions::unimplemented(), Actions::viewerPanelAction, GlobalCtx::windowLoc_, and GlobalCtx::wizard_.

+ Here is the call graph for this function:

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 246 of file actions.hpp.

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 279 of file actions.hpp.

References Actions::actionGroup, WindowLocator::findActiveWindow(), PanelManager::getPanelDescriptionCount(), WorkspaceWindow::getPanelManager(), PanelManager::getPanelStockID(), PanelManager::showPanel(), and GlobalCtx::windowLoc_.

Referenced by Actions::populateMainActions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void onMenu_view_assets ( )
inlineprivate

Definition at line 313 of file actions.hpp.

References Actions::unimplemented().

Referenced by Actions::populateMainActions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void onMenu_view_infobox ( )
inlineprivate

Definition at line 323 of file actions.hpp.

References Actions::unimplemented().

Referenced by Actions::populateMainActions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void onMenu_view_timeline ( )
inlineprivate

Definition at line 333 of file actions.hpp.

References Actions::unimplemented().

Referenced by Actions::populateMainActions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void onMenu_view_viewer ( )
inlineprivate

Definition at line 342 of file actions.hpp.

References Actions::unimplemented().

Referenced by Actions::populateMainActions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void unimplemented ( const char *  todo)
inlineprivate

Definition at line 353 of file actions.hpp.

Referenced by Actions::onMenu_view_assets(), Actions::onMenu_view_infobox(), Actions::onMenu_view_timeline(), Actions::onMenu_view_viewer(), and Actions::populateMainActions().

+ Here is the caller graph for this function:

Member Data Documentation

GlobalCtx& globalCtx_
private

Definition at line 79 of file actions.hpp.

Glib::RefPtr<Gtk::ActionGroup> actionGroup
private

Definition at line 362 of file actions.hpp.

Referenced by Actions::populateMainActions(), and Actions::populateShowPanelActions().

Glib::RefPtr<Gtk::ToggleAction> assetsPanelAction
private

Definition at line 364 of file actions.hpp.

Referenced by Actions::populateMainActions().

Glib::RefPtr<Gtk::ToggleAction> infoboxPanelAction
private

Definition at line 365 of file actions.hpp.

Referenced by Actions::populateMainActions().

Glib::RefPtr<Gtk::ToggleAction> timelinePanelAction
private

Definition at line 366 of file actions.hpp.

Referenced by Actions::populateMainActions().

Glib::RefPtr<Gtk::ToggleAction> viewerPanelAction
private

Definition at line 367 of file actions.hpp.

Referenced by Actions::populateMainActions().

bool is_updating_action_state
private

Definition at line 371 of file actions.hpp.

+ Inheritance diagram for Actions:
+ Collaboration diagram for Actions:

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