#include <string>
#include <list>
-#include <libgnomecanvasmm/libgnomecanvasmm.h>
+#include <libgnomecanvasmm.h>
#include <libgnomecanvasmm/canvas.h>
#include <libgnomecanvasmm/item.h>
using namespace Gdk;
using namespace sigc;
using namespace ARDOUR;
+using namespace PBD;
using namespace Editing;
using namespace ArdourCanvas;
controls_frame.add (controls_hbox);
controls_frame.set_name ("TimeAxisViewControlsBaseUnselected");
controls_frame.set_shadow_type (Gtk::SHADOW_OUT);
+
+ ColorChanged.connect (mem_fun (*this, &TimeAxisView::color_handler));
}
TimeAxisView::~TimeAxisView()
{
switch (ev->direction) {
case GDK_SCROLL_UP:
- if (Keyboard::modifier_state_equals (ev->state, Keyboard::Control)) {
+ if (Keyboard::modifier_state_equals (ev->state, Keyboard::Shift)) {
step_height (true);
return true;
}
break;
case GDK_SCROLL_DOWN:
- if (Keyboard::modifier_state_equals (ev->state, Keyboard::Control)) {
+ if (Keyboard::modifier_state_equals (ev->state, Keyboard::Shift)) {
step_height (false);
return true;
}
void
TimeAxisView::step_height (bool bigger)
{
- switch (height) {
- case Largest:
- if (!bigger) set_height (Large);
- break;
- case Large:
- if (bigger) set_height (Largest);
- else set_height (Larger);
- break;
- case Larger:
- if (bigger) set_height (Large);
- else set_height (Normal);
- break;
- case Normal:
- if (bigger) set_height (Larger);
- else set_height (Smaller);
- break;
- case Smaller:
- if (bigger) set_height (Normal);
- else set_height (Small);
- break;
- case Small:
- if (bigger) set_height (Smaller);
- break;
- }
+
+ if (height == hLargest) {
+ if (!bigger) set_height (Large);
+ return;
+ }
+ if (height == hLarge) {
+ if (bigger) set_height (Largest);
+ else set_height (Larger);
+ return;
+ }
+ if (height == hLarger) {
+ if (bigger) set_height (Large);
+ else set_height (Normal);
+ return;
+ }
+ if (height == hNormal) {
+ if (bigger) set_height (Larger);
+ else set_height (Smaller);
+ return;
+ }
+ if (height == hSmaller) {
+ if (bigger) set_height (Normal);
+ else set_height (Small);
+ return;
+ }
+ if (height == hSmall) {
+ if (bigger) set_height (Smaller);
+ return;
+ }
}
void
Gtk::Table two_row_table (2, 8);
Gtk::Table one_row_table (1, 8);
Button* buttons[5];
+ const int border_width = 2;
+ const int extra_height = (2 * border_width) + 2; // 2 pixels for the controls frame
window.add (one_row_table);
- one_row_table.set_border_width (2);
+ one_row_table.set_border_width (border_width);
one_row_table.set_row_spacings (0);
one_row_table.set_col_spacings (0);
one_row_table.set_homogeneous (true);
- two_row_table.set_border_width (2);
+ two_row_table.set_border_width (border_width);
two_row_table.set_row_spacings (0);
two_row_table.set_col_spacings (0);
two_row_table.set_homogeneous (true);
one_row_table.show_all ();
one_row_table.size_request (req);
+
// height required to show 1 row of buttons
- hSmaller = req.height + 3;
+ hSmaller = req.height + extra_height;
window.remove ();
window.add (two_row_table);
two_row_table.show_all ();
two_row_table.size_request (req);
- // height required to show all normal buttons
+ // height required to show all normal buttons
- hNormal = req.height + 3;
+ hNormal = req.height + extra_height;
// these heights are all just larger than normal. no more
// elements are visible (yet).
name_packing = NamePackingBits (name_packing & ~NameEntryPacked);
}
}
+
+void
+TimeAxisView::color_handler (ColorID id, uint32_t val)
+{
+ switch (id) {
+ case cSelectionRectFill:
+ break;
+ case cSelectionRectOutline:
+ break;
+ case cSelectionStartFill:
+ break;
+ case cSelectionStartOutline:
+ break;
+ case cSelectionEndFill:
+ break;
+ case cSelectionEndOutline:
+ break;
+ default:
+ break;
+ }
+}