Lumiera  0.pre.03
»edit your freedom«
gtk-base.hpp File Reference

Go to the source code of this file.

Description

A set of basic GTK includes for the UI.

There are some tricky points to consider when including the basic GTKmm headers. Especially, GTK tries to shadow the ERROR macro from Microsoft Windows. Unfortunately this breaks the ERROR macro from NoBug; thus we need to include NoBug after GTK

Besides, this header defines the basic NLS. Most parts of the GUI rely on this header.

configuration and resource search

The GUI backbone retrieves the necessary configuration values from lumiera::Config, the config facade in the application core. Currently as of 2/2011 these values are loaded from setup.ini, because the full-blown config system is not yet implemented. Amongst others, this configuration defines a search path for icons and a separate search path for resources. These path specs may use the token $ORIGIN to refer to the installation directory of the currently executing program. This allows for a relocatable Lumiera installation bundle.

Warning
include here only what is absolutely necessary, for sake of compilation times and (debug) executable size.
See also
gtk-lumiera.cpp the plugin to pull up this GUI
stage::GuiFacade access point for starting the GUI
stage::GuiNotification interface for communication with the Graphical User Interface from the lower layers
lumiera::Config
lumiera::BasicSetup definition of the acceptable configuration values
lumiera::AppState general Lumiera application main

Definition in file gtk-base.hpp.

#include "lib/hash-standard.hpp"
#include <locale>
#include <gtkmm.h>
#include <nobug.h>
#include "lib/error.hpp"
#include "lib/integral.hpp"

Typedefs

using cuString = const uString
 
using PCairoContext = Cairo::RefPtr< Cairo::Context >
 
using PStyleContext = Glib::RefPtr< Gtk::StyleContext >
 
using uString = Glib::ustring
 

Macros

#define _(String)   (String)
 
#define bindtextdomain(Package, Directory)
 
#define N_(String)   String
 
#define textdomain(Domain)
 

Functions

 LUMIERA_ERROR_DECLARE (UIWIRING)
 

Namespaces

 lumiera
 Lumiera public interface.
 
 stage
 Lumiera GTK UI implementation root.
 
 stage::ctrl
 Backbone of the Lumiera GTK UI.
 
 stage::dialog
 Dialog box classes.
 
 stage::draw
 Display and drawing helpers and utilities.
 
 stage::idi
 generic definitions for element ID and access.
 
 stage::interact
 UI interaction control.
 
 stage::model
 The Lumiera GTK-GUI uses a thin proxy layer data model on top of the actual "high-level-model", which lives in the Steam-Layer below.
 
 stage::output
 Video output implementation.
 
 stage::panel
 Docking panel classes.
 
 stage::setting
 The asset management, configuration and project settings.
 
 stage::timeline
 The timeline display and editing operations.
 
 stage::widget
 Lumiera custom widgets.
 
 stage::workspace
 The global workspace with top-level windows.