diff --git a/src/gui/gtk-lumiera.cpp b/src/gui/gtk-lumiera.cpp index 0e42a97e5..d50705f54 100644 --- a/src/gui/gtk-lumiera.cpp +++ b/src/gui/gtk-lumiera.cpp @@ -106,13 +106,13 @@ namespace gui { uiManager.init (Config::get (KEY_ICON_PATH), Config::get (KEY_UIRES_PATH)); uiManager.setTheme (Config::get (KEY_STYLESHEET)); - windowManagerInstance_.reset (new workspace::WindowManager (uiManager)); + windowManagerInstance_.reset (new workspace::WindowList (uiManager)); windowManagerInstance_->newWindow (project, controller); kit.run(); // GTK event loop } - WindowManager& + WindowList& GtkLumiera::windowManager() { if (not windowManagerInstance_) diff --git a/src/gui/gtk-lumiera.hpp b/src/gui/gtk-lumiera.hpp index 251862d48..d6132a879 100644 --- a/src/gui/gtk-lumiera.hpp +++ b/src/gui/gtk-lumiera.hpp @@ -26,7 +26,7 @@ ** Invoking the GtkLumiera::main() function brings up the GUI; this ** function will block in the GTK event thread until the Application gets ** closed by user interaction or by triggering a shutdown via the GuiNotificationFacade. - ** GtkLumiera is a singleton and owns the central WindowManager instance used for + ** GtkLumiera is a singleton and owns the central WindowList instance used for ** opening all windows and registering and loading icons and resources. ** ** \par configuration and resource search @@ -53,7 +53,7 @@ #include "gui/gtk-base.hpp" #include "gui/workspace/ui-manager.hpp" -#include "gui/workspace/window-manager.hpp" +#include "gui/workspace/window-list.hpp" #include #include @@ -139,7 +139,7 @@ namespace gui { : boost::noncopyable { /** Central application window manager instance */ - shared_ptr windowManagerInstance_; + shared_ptr windowManagerInstance_; public: @@ -151,7 +151,7 @@ namespace gui { /** start up the GUI and run the event thread */ void main(int argc, char *argv[]); - workspace::WindowManager& windowManager(); ////////////////////////////TICKET #1048 : this loophole needs to be closed + workspace::WindowList& windowManager(); ////////////////////////////TICKET #1048 : this loophole needs to be closed /** the name of the application */ diff --git a/src/gui/model/tangible.hpp b/src/gui/model/tangible.hpp index f9185dbd3..1cfb94902 100644 --- a/src/gui/model/tangible.hpp +++ b/src/gui/model/tangible.hpp @@ -56,7 +56,7 @@ ** The _generic interface element_ based on [Tangible](\ref model::Tangible) covers a set of behaviour ** common to all elements of the interface. This behaviour is targeted towards the _integration_ ** with the core application. Beyond that, there are still several concerns regarding presentation, - ** like a common styling. These are addressed the conventional way, through a common \ref WindowManager. + ** like a common styling. These are addressed the conventional way, through a common \ref UiManager. ** The following discussion focuses on the aspects of integration with the core. ** ** For one reason or another, any element in the UI can appear and go away. diff --git a/src/gui/ui-bus.hpp b/src/gui/ui-bus.hpp index e9fa4afd4..e1d473c50 100644 --- a/src/gui/ui-bus.hpp +++ b/src/gui/ui-bus.hpp @@ -145,11 +145,11 @@ namespace gui { * Backbone of the Lumiera GTK GUI. * This is the Interface and Lifecycle front-end. * When an instance of this class is created, the backbone becomes operative - * and can then be used to attach the active gui::WindowManager. When it goes away, - * all backbone services are forced to shut down and disconnect, which means, that - * at this point, the entire UI must be decommissioned. Effectively this also means - * that the UiBus object must be run within the GTK event thread and must not be - * accessed from anywhere else. + * and can then be used to attach the active workspace::UiManager and similar entities. + * When it goes away, all backbone services are forced to shut down and disconnect, + * which means, that at this point, the entire UI must be decommissioned. Effectively + * this also means that the UiBus object must be run within the GTK event thread + * and must not be accessed from anywhere else. */ class UiBus : boost::noncopyable diff --git a/src/gui/workspace/ui-manager.cpp b/src/gui/workspace/ui-manager.cpp index 6b6ba7858..dc83710a8 100644 --- a/src/gui/workspace/ui-manager.cpp +++ b/src/gui/workspace/ui-manager.cpp @@ -95,8 +95,8 @@ namespace workspace { Cairo::RefPtr UiManager::readStyleColourProperty (Gtk::Widget& widget - ,const gchar * property_name - ,guint16 red, guint16 green, guint16 blue) + ,const gchar * property_name + ,guint16 red, guint16 green, guint16 blue) { REQUIRE (property_name); @@ -159,14 +159,13 @@ namespace workspace { bool UiManager::addStockIconSet (Glib::RefPtr const& factory - ,cuString& icon_name - ,cuString& id - ,cuString& label) + ,cuString& icon_name + ,cuString& id + ,cuString& label) { Glib::RefPtr icon_set = Gtk::IconSet::create(); - // Load all the sizes, wildcarding the first, largest icon to be - // loaded + // Load all the sizes, wildcarding the first, largest icon to be loaded bool no_icons = true; no_icons &= !addStockIcon( icon_set, icon_name, GiantIconSize, no_icons); @@ -201,7 +200,7 @@ namespace workspace { ,bool wildcard) { // Try the icon theme - if(addThemeIconSource(icon_set, icon_name, size, wildcard)) + if (addThemeIconSource(icon_set, icon_name, size, wildcard)) return true; // Try to resolve the icon via the configured search path @@ -220,9 +219,9 @@ namespace workspace { bool UiManager::addThemeIconSource (Glib::RefPtr const& icon_set - ,cuString& icon_name - ,Gtk::IconSize size - ,bool wildcard) + ,cuString& icon_name + ,Gtk::IconSize size + ,bool wildcard) { // Get the size int width = 0, height = 0; @@ -246,10 +245,10 @@ namespace workspace { bool UiManager::addNonThemeIconSource (Glib::RefPtr const& icon_set - ,cuString& base_dir - ,cuString& icon_name - ,Gtk::IconSize size - ,bool wildcard) + ,cuString& base_dir + ,cuString& icon_name + ,Gtk::IconSize size + ,bool wildcard) { // Get the size int width = 0, height = 0; @@ -266,9 +265,9 @@ namespace workspace { bool UiManager::addStockIconFromPath (string path - ,Glib::RefPtr const& icon_set - ,Gtk::IconSize size - ,bool wildcard) + ,Glib::RefPtr const& icon_set + ,Gtk::IconSize size + ,bool wildcard) { if (!fsys::exists (path)) return false; diff --git a/src/gui/workspace/ui-manager.hpp b/src/gui/workspace/ui-manager.hpp index 892b5f48e..77ed4425c 100644 --- a/src/gui/workspace/ui-manager.hpp +++ b/src/gui/workspace/ui-manager.hpp @@ -23,14 +23,12 @@ /** @file ui-manager.hpp - ** Manager for all application windows and resources. - ** This file defines the global UI Manager class. The central WindowManager - ** instance is owned by the GtkLumiera object and initialised in GTK-main. - ** The WindowManager has the ability to create new windows integrated with - ** the application framework, to provide Icons and other resources and - ** to set and access a general UI theme. + ** Manager for application resources and similar global state. + ** The central UiManager instance is owned by the GtkLumiera object and initialised in GTK-main. + ** It offers services to provide Icons and other resources and to set and access a general UI theme. ** ** @see gtk-lumiera.hpp + ** @see ui-bus.hpp */ @@ -61,8 +59,7 @@ namespace workspace { /** - * The centralised manager of all the windows, - * icons and resources within Lumiera's GUI. + * The centralised manager of all icons and resources within Lumiera's GUI. */ class UiManager : public Gtk::UIManager diff --git a/src/gui/workspace/window-manager.cpp b/src/gui/workspace/window-list.cpp similarity index 83% rename from src/gui/workspace/window-manager.cpp rename to src/gui/workspace/window-list.cpp index 04143ea91..3ef15c333 100644 --- a/src/gui/workspace/window-manager.cpp +++ b/src/gui/workspace/window-list.cpp @@ -1,5 +1,5 @@ /* - WindowManager - Global UI Manager + WindowList - manage all top level windows Copyright (C) Lumiera.org 2008, Joel Holdsworth @@ -21,8 +21,14 @@ * *****************************************************/ +/** @file window-list.cpp + ** Implementation parts of the list to manage all top level windows. + ** @see ui-manager.hpp + */ + + #include "gui/workspace/ui-manager.hpp" -#include "gui/workspace/window-manager.hpp" +#include "gui/workspace/window-list.hpp" #include "gui/workspace/workspace-window.hpp" #include @@ -37,20 +43,20 @@ namespace workspace { - WindowManager::WindowManager (UiManager& uiManager) + WindowList::WindowList (UiManager& uiManager) : uiManager_{uiManager} , windowList_{} { } void - WindowManager::newWindow (gui::model::Project& source_project, gui::controller::Controller& source_controller) + WindowList::newWindow (gui::model::Project& source_project, gui::controller::Controller& source_controller) { PWindow window (new WorkspaceWindow{uiManager_, source_project, source_controller}); REQUIRE(window); window->signal_delete_event().connect(sigc::mem_fun( - this, &WindowManager::on_window_closed)); + this, &WindowList::on_window_closed)); windowList_.push_back(window); @@ -61,7 +67,7 @@ namespace workspace { bool - WindowManager::on_window_closed (GdkEventAny* event) + WindowList::on_window_closed (GdkEventAny* event) { REQUIRE(event); REQUIRE(event->window); @@ -100,7 +106,7 @@ namespace workspace { void - WindowManager::updateCloseWindowInMenus() + WindowList::updateCloseWindowInMenus() { uiManager_.allowCloseWindow ( 1 < windowList_.size()); } diff --git a/src/gui/workspace/window-manager.hpp b/src/gui/workspace/window-list.hpp similarity index 88% rename from src/gui/workspace/window-manager.hpp rename to src/gui/workspace/window-list.hpp index 612b38811..88fcb4af4 100644 --- a/src/gui/workspace/window-manager.hpp +++ b/src/gui/workspace/window-list.hpp @@ -1,5 +1,5 @@ /* - WINDOW-MANAGER.hpp - Global UI Manager + WINDOW-LIST.hpp - manage all top level windows Copyright (C) Lumiera.org 2008, Joel Holdsworth @@ -21,10 +21,10 @@ */ -/** @file window-manager.hpp +/** @file window-list.hpp ** Manager for all top level application windows. - ** The central WindowManager instance is owned by the GtkLumiera object and - ** initialised in GTK-main. The WindowManager allows to create new windows + ** The central WindowList instance is owned by the GtkLumiera object and + ** initialised in GTK-main. The WindowList allows to create new windows ** integrated with the application framework. ** ** @see gtk-lumiera.hpp @@ -32,8 +32,8 @@ */ -#ifndef GUI_WINDOW_MANAGER_H -#define GUI_WINDOW_MANAGER_H +#ifndef GUI_WINDOW_LIST_H +#define GUI_WINDOW_LIST_H #include "gui/gtk-base.hpp" @@ -59,7 +59,7 @@ namespace workspace { /** * A centralised manager of all top level application windows. */ - class WindowManager + class WindowList : boost::noncopyable { using PWindow = shared_ptr; @@ -69,7 +69,7 @@ namespace workspace { public: - WindowManager (UiManager&); + WindowList (UiManager&); /** * Create a new window connected to a specified project and controller @@ -105,4 +105,4 @@ namespace workspace { }}// namespace gui::workspace -#endif /*GUI_WINDOW_MANAGER_H*/ +#endif /*GUI_WINDOW_LIST_H*/ diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 4d56912f7..518f8d32b 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -1695,7 +1695,8 @@ - + + @@ -1712,6 +1713,33 @@ + + + + + + +

+ muß kein Manager sein +

+ + +
+ +
+ + + + + + + + + + + + +