27#ifndef STAGE_WORKSPACE_UI_STYLE_H
28#define STAGE_WORKSPACE_UI_STYLE_H
35#include <cairomm/cairomm.h>
41 namespace model {
class Project; }
42 namespace controller {
class Controller; }
43 namespace timeline {
class TimelineWidget; }
64 :
public Gtk::UIManager
104 void setTheme (
string const& stylesheetName);
132 static Cairo::RefPtr<Cairo::SolidPattern>
134 guint16 red, guint16 green, guint16 blue);
165 addStockIcon (Glib::RefPtr<Gtk::IconSet>
const& icon_set
210 ,Glib::RefPtr<Gtk::IconSet>
const& icon_set
Expecting Advice and giving Advice: a cross-cutting collaboration of loosely coupled participants.
Manage global concerns regarding a coherent user interface.
StyleAdvice styleAdviceTrackRuler_
bool addStockIcon(Glib::RefPtr< Gtk::IconSet > const &icon_set, cuString &icon_name, Gtk::IconSize size, bool wildcard)
Loads an icon, searching standard icon locations, and adds it to an icon set.
static Gtk::IconSize GiantIconSize
The registered icon size for giant 48x48 px icons.
bool addThemeIconSource(Glib::RefPtr< Gtk::IconSet > const &icon_set, cuString &icon_name, Gtk::IconSize size, bool wildcard)
Loads an icon from a the icon theme.
StyleAdvice styleAdviceTrackBody_
bool addStockIconFromPath(string path, Glib::RefPtr< Gtk::IconSet > const &icon_set, Gtk::IconSize size, bool wildcard)
Loads an icon from a specific path and adds it to an icon set.
string resourceSerachPath_
static Cairo::RefPtr< Cairo::SolidPattern > readStyleColourProperty(Gtk::Widget &widget, const gchar *property_name, guint16 red, guint16 green, guint16 blue)
A utility function which reads a colour style from the GTK Style.
bool addNonThemeIconSource(Glib::RefPtr< Gtk::IconSet > const &icon_set, cuString &base_dir, cuString &icon_name, Gtk::IconSize size, bool wildcard)
Loads an icon from a non theme set.
UiStyle()
Set up a coherent theming and styling for the application.
void prepareStyleContext(timeline::TimelineWidget const &)
Use the existing TimelineWidget's GTK-WidgetPath to establish a systematic CSS styling context,...
void registerAppIconSizes()
void registerStockItems()
Registers application stock items: icons and labels associated with IDs.
static Gtk::IconSize MenuIconSize
The registered icon size for giant 16x16 px icons.
void setTheme(string const &stylesheetName)
Sets the theme to use for the Lumiera GUI.
bool addStockIconSet(Glib::RefPtr< Gtk::IconFactory > const &factory, Literal iconName, Literal id, Literal label)
Adds an icon (in different sizes) to the icon factory.
Any copy and copy construction prohibited.
A set of basic GTK includes for the UI.
Lumiera GTK UI implementation root.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Marker types to indicate a literal string and a Symbol.