scaffolding and more skeleton for trigger UI

This commit is contained in:
Paul Davis 2021-09-06 23:21:22 -06:00
parent 405ca42e75
commit 27c6edc0b2
4 changed files with 22 additions and 2 deletions

View file

@ -45,11 +45,20 @@ using namespace ArdourCanvas;
using namespace Gtkmm2ext;
using namespace PBD;
TriggerUI::TriggerUI (Item* parent, Trigger& t)
: Box (parent, Box::Vertical)
, trigger (t)
{
follow_label = new Box (canvas(), Horizontal);
follow_label->set_fill_color (UIConfiguration::instance().color (X_("theme:bg")));
follow_label->set_outline_color (UIConfiguration::instance().color (X_("neutral:foreground")));
follow_text = new Text (canvas());
follow_text->set (X_("Follow Action"));
follow_text->set_color (Gtkmm2ext::contrasting_text_color (follow_label->fill_color()));
follow_label->add (follow_text);
add (follow_label);
}
TriggerUI::~TriggerUI ()

View file

@ -39,7 +39,7 @@ class TriggerUI : public ArdourCanvas::Box
private:
ARDOUR::Trigger& trigger;
ArdourCanvas::Rectangle* follow_label;
ArdourCanvas::Box* follow_label;
ArdourCanvas::Text* follow_text;
ArdourCanvas::Rectangle* follow_left;

View file

@ -36,6 +36,7 @@
#include "ardour_ui.h"
#include "gui_thread.h"
#include "triggerbox_ui.h"
#include "trigger_ui.h"
#include "public_editor.h"
#include "ui_config.h"
#include "utils.h"
@ -392,6 +393,7 @@ TriggerBoxUI::context_menu (size_t n)
dynamic_cast<Gtk::CheckMenuItem*> (&qitems.back ())->set_active (true);
}
items.push_back (MenuElem (_("Edit..."), sigc::bind (sigc::mem_fun (*this, &TriggerBoxUI::edit_trigger), n)));
items.push_back (MenuElem (_("Follow Action..."), *follow_menu));
items.push_back (MenuElem (_("Launch Style..."), *launch_menu));
items.push_back (MenuElem (_("Quantization..."), *quant_menu));
@ -399,6 +401,13 @@ TriggerBoxUI::context_menu (size_t n)
_context_menu->popup (1, gtk_get_current_event_time());
}
void
TriggerBoxUI::edit_trigger (size_t n)
{
TriggerWindow* tw = new TriggerWindow (*_triggerbox.trigger (n));
tw->present ();
}
void
TriggerBoxUI::set_follow_action (size_t n, Trigger::FollowAction fa)
{

View file

@ -73,6 +73,8 @@ class TriggerBoxUI : public ArdourCanvas::Box
TriggerBoxUI (ArdourCanvas::Item* parent, ARDOUR::TriggerBox&);
~TriggerBoxUI ();
void edit_trigger (size_t n);
private:
ARDOUR::TriggerBox& _triggerbox;
typedef std::vector<TriggerEntry*> Slots;