1 |
/* -*- c++ -*- |
/* -*- c++ -*- |
2 |
* Copyright (C) 2006-2015 Andreas Persson |
* Copyright (C) 2006-2017 Andreas Persson |
3 |
* |
* |
4 |
* This program is free software; you can redistribute it and/or |
* This program is free software; you can redistribute it and/or |
5 |
* modify it under the terms of the GNU General Public License as |
* modify it under the terms of the GNU General Public License as |
27 |
|
|
28 |
#include "compat.h" |
#include "compat.h" |
29 |
|
|
30 |
#include <gig.h> |
#ifdef LIBGIG_HEADER_FILE |
31 |
|
# include LIBGIG_HEADER_FILE(gig.h) |
32 |
|
#else |
33 |
|
# include <gig.h> |
34 |
|
#endif |
35 |
|
|
36 |
#include <set> |
#include <set> |
37 |
#include <map> |
#include <map> |
52 |
std::set<gig::DimensionRegion*>& dimregs) const; |
std::set<gig::DimensionRegion*>& dimregs) const; |
53 |
bool select_dimregion(gig::DimensionRegion* dimrgn); |
bool select_dimregion(gig::DimensionRegion* dimrgn); |
54 |
|
|
55 |
|
// those 3 are ATM only relevant when resizing custom dimension region zones |
56 |
|
void setModifyBothChannels(bool b); |
57 |
|
void setModifyAllDimensionRegions(bool b); |
58 |
|
void setModifyAllRegions(bool b); |
59 |
|
|
60 |
protected: |
protected: |
61 |
#if (GTKMM_MAJOR_VERSION == 2 && GTKMM_MINOR_VERSION < 90) || GTKMM_MAJOR_VERSION < 2 |
#if (GTKMM_MAJOR_VERSION == 2 && GTKMM_MINOR_VERSION < 90) || GTKMM_MAJOR_VERSION < 2 |
62 |
virtual bool on_expose_event(GdkEventExpose* e); |
virtual bool on_expose_event(GdkEventExpose* e); |
82 |
sigc::signal<void> dimregion_selected; |
sigc::signal<void> dimregion_selected; |
83 |
sigc::signal<void> region_changed; |
sigc::signal<void> region_changed; |
84 |
|
|
85 |
|
// those 3 are ATM only relevant when resizing custom dimension region zones |
86 |
|
bool modifybothchannels; |
87 |
|
bool modifyalldimregs; |
88 |
|
bool modifyallregions; |
89 |
|
|
90 |
//std::set<gig::DimensionRegion*> dimregs; ///< Reflects which dimension regions are currently selected. |
//std::set<gig::DimensionRegion*> dimregs; ///< Reflects which dimension regions are currently selected. |
91 |
int focus_line; |
int focus_line; |
92 |
std::map<gig::dimension_t, std::set<int> > dimzones; ///< Reflects which zone(s) of the individual dimension are currently selected. |
std::map<gig::dimension_t, std::set<int> > dimzones; ///< Reflects which zone(s) of the individual dimension are currently selected. |
114 |
int min; |
int min; |
115 |
int max; |
int max; |
116 |
int dimension; |
int dimension; |
117 |
int offset; |
gig::dimension_def_t dimensionDef; |
118 |
|
int zone; |
119 |
} resize; |
} resize; |
120 |
|
|
121 |
bool multiSelectKeyDown; |
bool multiSelectKeyDown; |
130 |
Glib::RefPtr<Gtk::UIManager> uiManager; |
Glib::RefPtr<Gtk::UIManager> uiManager; |
131 |
Gtk::Menu* popup_menu_inside_dimregion; |
Gtk::Menu* popup_menu_inside_dimregion; |
132 |
Gtk::Menu* popup_menu_outside_dimregion; |
Gtk::Menu* popup_menu_outside_dimregion; |
133 |
|
|
134 |
|
private: |
135 |
|
Glib::RefPtr<Gtk::Action> actionDeleteDimZone; |
136 |
|
Glib::RefPtr<Gtk::Action> actionSplitDimZone; |
137 |
}; |
}; |
138 |
|
|
139 |
#endif |
#endif |