summaryrefslogtreecommitdiff
path: root/gtk2_ardour/theme_manager.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-12-05 09:01:49 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-12-05 09:01:55 -0500
commit2449fc9681ba62eda3f3a42904a3691fe022954d (patch)
tree4a407a7afba6be2e14c64d446c7556b0c158313e /gtk2_ardour/theme_manager.h
parent207fd04587e7d354c9b98453b01cc0825b2ba556 (diff)
several steps closer to more sane color system
Diffstat (limited to 'gtk2_ardour/theme_manager.h')
-rw-r--r--gtk2_ardour/theme_manager.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/gtk2_ardour/theme_manager.h b/gtk2_ardour/theme_manager.h
index dee5b705c0..c55ef7fcc1 100644
--- a/gtk2_ardour/theme_manager.h
+++ b/gtk2_ardour/theme_manager.h
@@ -28,9 +28,18 @@
#include <gtkmm/button.h>
#include <gtkmm/scale.h>
#include <gtkmm/rc.h>
+
+#include "canvas/canvas.h"
+
#include "ardour_window.h"
+
#include "ui_config.h"
+namespace ArdourCanvas {
+ class Container;
+ class ScrollGroup;
+}
+
class ThemeManager : public ArdourWindow
{
public:
@@ -53,6 +62,8 @@ class ThemeManager : public ArdourWindow
void on_icon_set_changed ();
private:
+ Gtk::Notebook notebook;
+
struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
ColorDisplayModelColumns() {
add (name);
@@ -89,7 +100,53 @@ class ThemeManager : public ArdourWindow
Gtk::Label icon_set_label;
Gtk::ComboBoxText icon_set_dropdown;
+ ColorDisplayModelColumns base_color_columns;
+ Gtk::ScrolledWindow base_color_scroller;
+ ArdourCanvas::GtkCanvasViewport base_color_viewport;
+ ArdourCanvas::Container* base_color_group;
+ std::string base_color_edit_name;
+
+ sigc::connection color_dialog_connection;
+ void foobar_response (int);
+
+ ArdourCanvas::Container* initialize_canvas (ArdourCanvas::Canvas& canvas);
+ void build_base_color_canvas (ArdourCanvas::Container&, bool (ThemeManager::*event_handler)(GdkEvent*,std::string), double width, double height);
+ void base_color_viewport_allocated (Gtk::Allocation&);
+ void base_color_dialog_done (int);
+ bool base_color_event (GdkEvent*, std::string);
+ void edit_named_color (std::string);
+
bool button_press_event (GdkEventButton*);
+
+
+ struct ColorAliasModelColumns : public Gtk::TreeModel::ColumnRecord {
+ ColorAliasModelColumns() {
+ add (name);
+ add (alias);
+ add (color);
+ }
+
+ Gtk::TreeModelColumn<std::string> name;
+ Gtk::TreeModelColumn<std::string> alias;
+ Gtk::TreeModelColumn<Gdk::Color> color;
+ };
+
+ ColorAliasModelColumns alias_columns;
+ Gtk::TreeView alias_display;
+ Glib::RefPtr<Gtk::TreeStore> alias_list;
+ Gtk::ScrolledWindow alias_scroller;
+
+ bool alias_button_press_event (GdkEventButton*);
+
+ Gtk::Window* palette_window;
+ std::string palette_edit_name;
+
+ void choose_color_from_palette (std::string const &target_name);
+ bool palette_chosen (GdkEvent*, std::string);
+ void palette_canvas_allocated (Gtk::Allocation& alloc, ArdourCanvas::Container* group, bool (ThemeManager::*event_handler)(GdkEvent*,std::string));
+ bool palette_done (GdkEventAny*);
+
+ void setup_aliases ();
};
#endif /* __ardour_gtk_color_manager_h__ */