X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_multiplicator.h;h=1e204e1a1de143dda9d19d65cacaa8987a25dfa0;hb=c4fc6792b5b12d58b26d556077d06448301cb801;hp=20ce96cda084103b879410dcd1b70c867763726b;hpb=b5a57cc78c92b1d887b7e8de040d8663a9ba187e;p=ardour.git diff --git a/gtk2_ardour/export_multiplicator.h b/gtk2_ardour/export_multiplicator.h index 20ce96cda0..1e204e1a1d 100644 --- a/gtk2_ardour/export_multiplicator.h +++ b/gtk2_ardour/export_multiplicator.h @@ -30,12 +30,11 @@ #include #include -#include +#include "ardour/export_profile_manager.h" #include #include -using std::list; using ARDOUR::ExportProfileManager; class ExportMultiplicator : public Gtk::EventBox { @@ -43,7 +42,7 @@ class ExportMultiplicator : public Gtk::EventBox { ExportMultiplicator (); ~ExportMultiplicator (); - + void set_manager (boost::shared_ptr _manager); private: @@ -56,7 +55,7 @@ class ExportMultiplicator : public Gtk::EventBox { Gtk::Table table; void redraw (); - + enum GraphLevel { NoLevel = 0, Timespans = 1, @@ -64,9 +63,9 @@ class ExportMultiplicator : public Gtk::EventBox { Formats = 3, Filenames = 4 }; - + std::pair get_bounds (ExportProfileManager::GraphNode * node, GraphLevel current_level, GraphLevel max_level) const; - + void draw_timespan (ExportProfileManager::TimespanNodePtr node, std::pair bounds); void draw_channel_config (ExportProfileManager::ChannelConfigNodePtr node, std::pair bounds); void draw_format (ExportProfileManager::FormatNodePtr node, std::pair bounds); @@ -76,42 +75,42 @@ class ExportMultiplicator : public Gtk::EventBox { uint32_t left; uint32_t right; uint32_t row; - + TablePosition (uint32_t left, uint32_t right, uint32_t row) : left (left), right (right), row (row) {} - + bool operator== (TablePosition const & other) const { return (row == other.row && left == other.left && right == other.right); } bool operator< (TablePosition const & other) const { return (row < other.row || left < other.left || right < other.right); } }; - + typedef std::map > WidgetMap; typedef std::pair > WidgetPair; - + boost::shared_ptr get_hbox (TablePosition position); WidgetMap widget_map; - + /* Button Widget */ - + class ButtonWidget : public Gtk::EventBox { public: - ButtonWidget (Glib::ustring name, boost::shared_ptr m, ExportProfileManager::GraphNode * node); - + ButtonWidget (std::string name, boost::shared_ptr m, ExportProfileManager::GraphNode * node); + private: - + Gtk::Label label; Gtk::VBox vbox; - + bool on_button_press_event (GdkEventButton* event); - + void split (); void remove (); - + boost::shared_ptr manager; ExportProfileManager::GraphNode * node; float split_position; - + /* Context menu */ - + Glib::RefPtr menu_actions; Glib::RefPtr ui_manager; Gtk::Menu * menu;