20 |
#include "regionchooser.h" |
#include "regionchooser.h" |
21 |
#include <gdkmm/cursor.h> |
#include <gdkmm/cursor.h> |
22 |
#include <gtkmm/stock.h> |
#include <gtkmm/stock.h> |
23 |
|
#include <libintl.h> |
24 |
|
|
25 |
|
#define _(String) gettext(String) |
26 |
|
|
27 |
RegionChooser::RegionChooser() |
RegionChooser::RegionChooser() |
28 |
{ |
{ |
57 |
sigc::mem_fun(*this, &RegionChooser::delete_region)); |
sigc::mem_fun(*this, &RegionChooser::delete_region)); |
58 |
actionGroup->add(Gtk::Action::create("Add", Gtk::Stock::ADD), |
actionGroup->add(Gtk::Action::create("Add", Gtk::Stock::ADD), |
59 |
sigc::mem_fun(*this, &RegionChooser::add_region)); |
sigc::mem_fun(*this, &RegionChooser::add_region)); |
60 |
|
actionGroup->add(Gtk::Action::create("Dimensions", _("Dimensions...")), |
61 |
|
sigc::mem_fun(*this, &RegionChooser::manage_dimensions)); |
62 |
|
|
63 |
uiManager = Gtk::UIManager::create(); |
uiManager = Gtk::UIManager::create(); |
64 |
uiManager->insert_action_group(actionGroup); |
uiManager->insert_action_group(actionGroup); |
66 |
"<ui>" |
"<ui>" |
67 |
" <popup name='PopupMenuInsideRegion'>" |
" <popup name='PopupMenuInsideRegion'>" |
68 |
" <menuitem action='Properties'/>" |
" <menuitem action='Properties'/>" |
69 |
|
" <menuitem action='Dimensions'/>" |
70 |
" <menuitem action='Remove'/>" |
" <menuitem action='Remove'/>" |
71 |
" </popup>" |
" </popup>" |
72 |
" <popup name='PopupMenuOutsideRegion'>" |
" <popup name='PopupMenuOutsideRegion'>" |
82 |
|
|
83 |
add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | |
add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | |
84 |
Gdk::POINTER_MOTION_MASK | Gdk::POINTER_MOTION_HINT_MASK); |
Gdk::POINTER_MOTION_MASK | Gdk::POINTER_MOTION_HINT_MASK); |
85 |
|
|
86 |
|
dimensionManager.articulation_changed_signal.connect( |
87 |
|
sigc::mem_fun(*this, &RegionChooser::on_dimension_manager_changed) |
88 |
|
); |
89 |
} |
} |
90 |
|
|
91 |
RegionChooser::~RegionChooser() |
RegionChooser::~RegionChooser() |
446 |
queue_draw(); |
queue_draw(); |
447 |
sel_changed_signal.emit(); |
sel_changed_signal.emit(); |
448 |
} |
} |
449 |
|
|
450 |
|
void RegionChooser::manage_dimensions() |
451 |
|
{ |
452 |
|
gig::Region* region = get_region(); |
453 |
|
if (!region) return; |
454 |
|
dimensionManager.show(region); |
455 |
|
} |
456 |
|
|
457 |
|
void RegionChooser::on_dimension_manager_changed() { |
458 |
|
sel_changed_signal.emit(); |
459 |
|
} |