Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
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 69 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.
 
void updateActionState (workspace::WorkspaceWindow &currentWindow)
 Updates the state of the menu/toolbar actions to reflect the current state of the workspace.
 

Private Member Functions

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

Private Attributes

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

Constructor & Destructor Documentation

◆ Actions()

Actions ( GlobalCtx globals)
inline

Definition at line 75 of file actions.hpp.

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

References _, Actions::actionGroup, Actions::assetsPanelAction, WindowLocator::closeWindow(), GlobalCtx::director_, InteractionDirector::editSetup(), InteractionDirector::forkProject(), Actions::globalCtx_, Actions::infoboxPanelAction, Wizard::launchTestCtrl(), InteractionDirector::newProject(), InteractionDirector::newSequence(), InteractionDirector::newTrack(), WindowLocator::newWindow(), Actions::onMenu_view_assets(), Actions::onMenu_view_infobox(), Actions::onMenu_view_play(), Actions::onMenu_view_timeline(), Actions::onMenu_view_viewer(), InteractionDirector::openFile(), Actions::playPanelAction, Actions::populateShowPanelActions(), InteractionDirector::render(), InteractionDirector::saveSnapshot(), Wizard::show_HelpAbout(), UiManager::terminateUI(), Actions::timelinePanelAction, GlobalCtx::uiManager_, Actions::unimplemented(), Actions::viewerPanelAction, GlobalCtx::windowLoc_, and GlobalCtx::wizard_.

Referenced by UiManager::UiManager().

+ Here is the call graph for this function:
+ Here is the caller 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 246 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 280 of file actions.hpp.

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

Referenced by Actions::populateMainActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onMenu_view_assets()

void onMenu_view_assets ( )
inlineprivate

Definition at line 314 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:

◆ onMenu_view_infobox()

void onMenu_view_infobox ( )
inlineprivate

Definition at line 324 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:

◆ onMenu_view_timeline()

void onMenu_view_timeline ( )
inlineprivate

Definition at line 334 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:

◆ onMenu_view_viewer()

void onMenu_view_viewer ( )
inlineprivate

Definition at line 343 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:

◆ onMenu_view_play()

void onMenu_view_play ( )
inlineprivate

Definition at line 352 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:

◆ unimplemented()

void unimplemented ( Literal  todo)
inlineprivate

Definition at line 364 of file actions.hpp.

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

+ Here is the caller graph for this function:

Member Data Documentation

◆ globalCtx_

GlobalCtx& globalCtx_
private

Definition at line 72 of file actions.hpp.

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

◆ actionGroup

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

Definition at line 373 of file actions.hpp.

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

◆ assetsPanelAction

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

Definition at line 375 of file actions.hpp.

Referenced by Actions::populateMainActions().

◆ infoboxPanelAction

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

Definition at line 376 of file actions.hpp.

Referenced by Actions::populateMainActions().

◆ timelinePanelAction

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

Definition at line 377 of file actions.hpp.

Referenced by Actions::populateMainActions().

◆ viewerPanelAction

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

Definition at line 378 of file actions.hpp.

Referenced by Actions::populateMainActions().

◆ playPanelAction

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

Definition at line 379 of file actions.hpp.

Referenced by Actions::populateMainActions().

◆ is_updating_action_state

bool is_updating_action_state
private

Definition at line 383 of file actions.hpp.

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

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