13
0

Add sidebar to trigger-page

This commit is contained in:
Robin Gareus 2022-01-17 22:06:48 +01:00
parent 3e59902573
commit 213cc626be
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 33 additions and 3 deletions

View File

@ -118,9 +118,18 @@ TriggerPage::TriggerPage ()
_strip_group_box.pack_start (_cue_area_frame, false, false);
_strip_group_box.pack_start (_strip_scroller, true, true);
/* sidebar */
_sidebar_notebook.set_show_tabs (true);
_sidebar_notebook.set_scrollable (true);
_sidebar_notebook.popup_disable ();
_sidebar_notebook.set_tab_pos (Gtk::POS_RIGHT);
_sidebar_vbox.pack_start (_sidebar_notebook);
add_sidebar_page (_("Clips"), _trigger_clip_picker);
/* Upper pane ([slot | strips] | file browser) */
_pane_upper.add (_strip_group_box);
_pane_upper.add (_trigger_clip_picker);
_pane_upper.add (_sidebar_vbox);
/* Bottom -- Properties of selected Slot/Region */
Gtk::Table* table = manage (new Gtk::Table);
@ -165,6 +174,7 @@ TriggerPage::TriggerPage ()
_cue_area_frame.show_all ();
_trigger_clip_picker.show ();
_no_strips.show ();
_sidebar_notebook.show_all ();
/* setup keybidings */
_content.set_data ("ardour-bindings", bindings);
@ -226,12 +236,18 @@ TriggerPage::get_state ()
node->set_property (X_("triggerpage-vpane-pos"), _pane.get_divider ());
node->set_property (X_("triggerpage-hpane-pos"), _pane_upper.get_divider ());
node->set_property (X_("triggerpage-sidebar-page"), _sidebar_notebook.get_current_page ());
return *node;
}
int
TriggerPage::set_state (const XMLNode& node, int version)
{
int32_t sidebar_page;
if (node.get_property (X_("triggerpage-sidebar-page"), sidebar_page)) {
_sidebar_notebook.set_current_page (sidebar_page);
}
return Tabbable::set_state (node, version);
}
@ -341,6 +357,17 @@ TriggerPage::update_title ()
}
}
void
TriggerPage::add_sidebar_page (string const & name, Gtk::Widget& widget)
{
EventBox* b = manage (new EventBox);
Label* l = manage (new Label (name));
l->set_angle (-90);
b->add (*l);
b->show_all ();
_sidebar_notebook.append_page (widget, *b);
}
void
TriggerPage::initial_track_display ()
{

View File

@ -72,6 +72,8 @@ private:
void pi_property_changed (PBD::PropertyChange const&);
void stripable_property_changed (PBD::PropertyChange const&, boost::weak_ptr<ARDOUR::Stripable>);
void add_sidebar_page (std::string const&, Gtk::Widget&);
bool no_strip_button_event (GdkEventButton*);
bool no_strip_drag_motion (Glib::RefPtr<Gdk::DragContext> const&, int, int, guint);
void no_strip_drag_data_received (Glib::RefPtr<Gdk::DragContext> const&, int, int, Gtk::SelectionData const&, guint, guint);
@ -98,7 +100,8 @@ private:
Gtk::Alignment _cue_area_frame;
Gtk::VBox _cue_area_box;
Gtk::HBox _parameter_box;
Gtk::VBox _sidebar_vbox;
Gtk::Notebook _sidebar_notebook;
TriggerClipPicker _trigger_clip_picker;
CueBoxWidget _cue_box;