Move more Gtkmm2ext widgets into libwidget

This commit is contained in:
Robin Gareus
2017-07-17 04:55:52 +02:00
parent b5e9451bc7
commit f9e5e4360e
78 changed files with 428 additions and 443 deletions

View File

@@ -38,7 +38,6 @@
#include "gtkmm2ext/bindings.h"
#include "gtkmm2ext/gtk_ui.h"
#include "gtkmm2ext/textviewer.h"
#include "gtkmm2ext/popup.h"
#include "gtkmm2ext/utils.h"
#include "gtkmm2ext/window_title.h"
#include "gtkmm2ext/actions.h"
@@ -549,8 +548,6 @@ UI::receive (Transmitter::Channel chn, const char *str)
}
}
#define OLD_STYLE_ERRORS 1
void
UI::process_error_message (Transmitter::Channel chn, const char *str)
{
@@ -560,9 +557,6 @@ UI::process_error_message (Transmitter::Channel chn, const char *str)
const char *prefix;
size_t prefix_len;
bool fatal_received = false;
#ifndef OLD_STYLE_ERRORS
PopUp* popup = new PopUp (WIN_POS_CENTER, 0, true);
#endif
switch (chn) {
case Transmitter::Fatal:
@@ -573,44 +567,22 @@ UI::process_error_message (Transmitter::Channel chn, const char *str)
fatal_received = true;
break;
case Transmitter::Error:
#if OLD_STYLE_ERRORS
prefix = "[ERROR]: ";
ptag = error_ptag;
mtag = error_mtag;
prefix_len = 9;
#else
popup->set_name ("ErrorMessage");
popup->set_text (str);
popup->touch ();
return;
#endif
break;
case Transmitter::Info:
#if OLD_STYLE_ERRORS
prefix = "[INFO]: ";
ptag = info_ptag;
mtag = info_mtag;
prefix_len = 8;
#else
popup->set_name ("InfoMessage");
popup->set_text (str);
popup->touch ();
return;
#endif
break;
case Transmitter::Warning:
#if OLD_STYLE_ERRORS
prefix = "[WARNING]: ";
ptag = warning_ptag;
mtag = warning_mtag;
prefix_len = 11;
#else
popup->set_name ("WarningMessage");
popup->set_text (str);
popup->touch ();
return;
#endif
break;
default:
/* no choice but to use text/console output here */

View File

@@ -25,33 +25,21 @@ I18N_PACKAGE = 'gtkmm2ext3'
gtkmm2ext_sources = [
'actions.cc',
'application.cc',
'ardour_icon.cc',
'binding_proxy.cc',
'bindings.cc',
'cairo_packer.cc',
'cairo_widget.cc',
'cell_renderer_color_selector.cc',
'cell_renderer_pixbuf_multi.cc',
'cell_renderer_pixbuf_toggle.cc',
'choice.cc',
'cursors.cc',
'debug.cc',
'dndtreeview.cc',
'emscale.cc',
'eventboxext.cc',
'gtk_ui.cc',
'gtkapplication.c',
'keyboard.cc',
'menu_elems.cc',
'pane.cc',
'paths_dialog.cc',
'persistent_tooltip.cc',
'popup.cc',
'prompter.cc',
'scroomer.cc',
'stateful_button.cc',
'tabbable.cc',
'tearoff.cc',
'textviewer.cc',
'treeutils.cc',
'utils.cc',
@@ -94,7 +82,7 @@ def build(bld):
obj.name = 'libgtkmm2ext'
obj.target = 'gtkmm2ext'
obj.uselib = 'GTKMM GTK XML'
obj.use = [ 'libpbd', 'libardour' ]
obj.use = [ 'libpbd' ]
obj.vnum = GTKMM2EXT_LIB_VERSION
obj.install_path = bld.env['LIBDIR']
obj.defines += [

View File

@@ -22,6 +22,7 @@
#include <algorithm>
#include <pangomm/layout.h>
#include <gtkmm/toggleaction.h>
#include "pbd/compose.h"
#include "pbd/controllable.h"
@@ -60,7 +61,7 @@ ArdourButton::ArdourButton (Element e)
: _sizing_text("")
, _markup (false)
, _elements (e)
, _icon (Gtkmm2ext::ArdourIcon::NoIcon)
, _icon (ArdourIcon::NoIcon)
, _icon_render_cb (0)
, _icon_render_cb_data (0)
, _tweaks (Tweaks (0))
@@ -108,7 +109,7 @@ ArdourButton::ArdourButton (const std::string& str, Element e)
: _sizing_text("")
, _markup (false)
, _elements (e)
, _icon (Gtkmm2ext::ArdourIcon::NoIcon)
, _icon (ArdourIcon::NoIcon)
, _tweaks (Tweaks (0))
, _char_pixel_width (0)
, _char_pixel_height (0)
@@ -379,7 +380,7 @@ ArdourButton::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
vw -= _diameter + 4;
}
if (_elements & VectorIcon) {
Gtkmm2ext::ArdourIcon::render (cr, _icon, vw, vh, active_state(), text_color);
ArdourIcon::render (cr, _icon, vw, vh, active_state(), text_color);
} else {
cairo_save (cr);
rounded_function (cr, 0, 0, get_width(), get_height(), corner_radius + 1.5);
@@ -1303,7 +1304,7 @@ ArdourButton::add_elements (Element e)
}
void
ArdourButton::set_icon (Gtkmm2ext::ArdourIcon::Icon i)
ArdourButton::set_icon (ArdourIcon::Icon i)
{
_icon = i;
_icon_render_cb = 0;

View File

@@ -21,9 +21,10 @@
#include <math.h> // M_PI
#include <assert.h>
#include <algorithm> // std:min
#include "gtkmm2ext/ardour_icon.h"
using namespace Gtkmm2ext::ArdourIcon;
#include "widgets/ardour_icon.h"
using namespace ArdourWidgets::ArdourIcon;
/* general style info:
*
@@ -654,7 +655,7 @@ static void icon_transport_panic (cairo_t *cr, const int width, const int height
/** various combinations of lines and triangles "|>|", ">|" "|>" */
static void icon_transport_ck (cairo_t *cr,
const enum Gtkmm2ext::ArdourIcon::Icon icon,
const enum ArdourWidgets::ArdourIcon::Icon icon,
const int width, const int height)
{
// small play triangle
@@ -780,7 +781,7 @@ static void icon_transport_metronom (cairo_t *cr, const int width, const int hei
/*****************************************************************************
* Zoom: In "+", Out "-" and Full "[]"
*/
static void icon_zoom (cairo_t *cr, const enum Gtkmm2ext::ArdourIcon::Icon icon, const int width, const int height, const uint32_t fg_color)
static void icon_zoom (cairo_t *cr, const enum ArdourWidgets::ArdourIcon::Icon icon, const int width, const int height, const uint32_t fg_color)
{
const double x = width * .5;
const double y = height * .5;
@@ -1018,11 +1019,11 @@ static void icon_din_midi (cairo_t *cr, const int width, const int height, const
/*****************************************************************************/
bool
Gtkmm2ext::ArdourIcon::render (cairo_t *cr,
const enum Gtkmm2ext::ArdourIcon::Icon icon,
const int width, const int height,
const Gtkmm2ext::ActiveState state,
const uint32_t fg_color)
ArdourWidgets::ArdourIcon::render (cairo_t *cr,
const enum ArdourWidgets::ArdourIcon::Icon icon,
const int width, const int height,
const Gtkmm2ext::ActiveState state,
const uint32_t fg_color)
{
bool rv = true;
cairo_save (cr);

View File

@@ -13,24 +13,23 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id$
*/
#include <string>
#include <climits>
#include <iostream>
#include <pbd/controllable.h>
#include <gtkmm2ext/binding_proxy.h>
#include <gtkmm2ext/keyboard.h>
#include "pbd/controllable.h"
#include "gtkmm2ext/keyboard.h"
#include "widgets/binding_proxy.h"
#include "widgets/popup.h"
#include "pbd/i18n.h"
using namespace Gtkmm2ext;
using namespace std;
using namespace PBD;
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
guint BindingProxy::bind_button = 2;
guint BindingProxy::bind_statemask = Gdk::CONTROL_MASK;
@@ -73,7 +72,6 @@ BindingProxy::is_bind_action (GdkEventButton *ev)
return (Keyboard::modifier_state_equals (ev->state, bind_statemask) && ev->button == bind_button );
}
bool
BindingProxy::button_press_handler (GdkEventButton *ev)
{
@@ -103,7 +101,6 @@ BindingProxy::learning_finished ()
}
}
bool
BindingProxy::prompter_hiding (GdkEventAny* /*ev*/)
{
@@ -113,4 +110,3 @@ BindingProxy::prompter_hiding (GdkEventAny* /*ev*/)
}
return false;
}

View File

@@ -19,12 +19,12 @@
*/
#include <gtkmm/label.h>
#include <gtkmm2ext/choice.h>
#include <widgets/choice.h>
using namespace std;
using namespace Gtkmm2ext;
using namespace sigc;
using namespace Gtk;
using namespace ArdourWidgets;
Choice::Choice (string title, string prompt, vector<string> choices, bool center)
: Dialog (title)

View File

@@ -16,9 +16,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "gtkmm2ext/eventboxext.h"
#include "widgets/eventboxext.h"
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
EventBoxExt::EventBoxExt ()
{

View File

@@ -19,14 +19,15 @@
#include <assert.h>
#include <gdkmm/cursor.h>
#include "gtkmm2ext/pane.h"
#include "widgets/pane.h"
#include "pbd/i18n.h"
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace std;
using namespace Gtk;
using namespace PBD;
using namespace ArdourWidgets;
Pane::Pane (bool h)
: horizontal (h)

View File

@@ -20,11 +20,11 @@
#include "pbd/i18n.h"
#include "pbd/pathexpand.h"
#include "gtkmm2ext/paths_dialog.h"
#include "widgets/paths_dialog.h"
using namespace Gtk;
using namespace std;
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
PathsDialog::PathsDialog (Gtk::Window& parent, std::string title, std::string current_paths, std::string default_paths)
: Dialog (title, parent, true)

View File

@@ -20,13 +20,14 @@
#include <iostream>
#include <gtkmm2ext/popup.h>
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/gtk_ui.h>
#include <gtkmm2ext/utils.h>
#include <widgets/popup.h>
using namespace std;
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
PopUp::PopUp (Gtk::WindowPosition pos, unsigned int showfor_msecs, bool doh)
: Window (WINDOW_POPUP)
@@ -98,7 +99,7 @@ PopUp::touch ()
if (is_visible ()) {
remove ();
} else {
set_size_request_to_display_given_text (label, my_text.c_str(), 25, 10);
Gtkmm2ext::set_size_request_to_display_given_text (label, my_text.c_str(), 25, 10);
label.set_text (my_text);
show_all ();

View File

@@ -19,16 +19,15 @@
*/
#include <string>
#include <pbd/whitespace.h>
#include <gtkmm/stock.h>
#include <gtkmm2ext/prompter.h>
#include "pbd/whitespace.h"
#include "widgets/prompter.h"
#include "pbd/i18n.h"
using namespace std;
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
Prompter::Prompter (Gtk::Window& parent, bool modal)
: Gtk::Dialog ("", parent, modal)

View File

@@ -19,13 +19,13 @@
#include <iostream>
#include "gtkmm2ext/scroomer.h"
#include "gtkmm2ext/keyboard.h"
#include "widgets/scroomer.h"
using namespace Gtkmm2ext;
using namespace Gtk;
using namespace Gdk;
using namespace std;
using namespace Gdk;
using namespace Gtk;
using namespace ArdourWidgets;
Scroomer::Scroomer(Gtk::Adjustment& adjustment)
: adj(adjustment)
@@ -80,8 +80,8 @@ Scroomer::on_motion_notify_event (GdkEventMotion* ev)
grab_y = ev->y;
if (ev->state & Keyboard::PrimaryModifier) {
if (ev->state & Keyboard::SecondaryModifier) {
if (ev->state & Gtkmm2ext::Keyboard::PrimaryModifier) {
if (ev->state & Gtkmm2ext::Keyboard::SecondaryModifier) {
scale = 0.05;
} else {
scale = 0.1;
@@ -245,8 +245,8 @@ Scroomer::on_button_press_event (GdkEventButton* ev)
if (ev->button == 3){
pinch = true;
} else {
pinch = false;
}
pinch = false;
}
DragStarting (); /* EMIT SIGNAL */
}

View File

@@ -23,11 +23,11 @@
#include <gtkmm/main.h>
#include <gtkmm2ext/stateful_button.h>
#include "widgets/stateful_button.h"
using namespace Gtk;
using namespace Glib;
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
using namespace std;
StateButton::StateButton ()

View File

@@ -22,18 +22,20 @@
#include <gtkmm/window.h>
#include <gtkmm/stock.h>
#include "gtkmm2ext/tabbable.h"
#include "pbd/stacktrace.h"
#include "gtkmm2ext/gtk_ui.h"
#include "gtkmm2ext/utils.h"
#include "gtkmm2ext/visibility_tracker.h"
#include "pbd/stacktrace.h"
#include "widgets/tabbable.h"
#include "pbd/i18n.h"
using namespace Gtkmm2ext;
using namespace Gtk;
using std::string;
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace ArdourWidgets;
Tabbable::Tabbable (Widget& w, const string& name, bool tabbed_by_default)
: WindowProxy (name)

View File

@@ -15,7 +15,6 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id$
*/
#include <cmath>
@@ -23,32 +22,33 @@
#include "pbd/xml++.h"
#include "gtkmm2ext/tearoff.h"
#include "gtkmm2ext/utils.h"
#include "widgets/tearoff.h"
#include "pbd/i18n.h"
using namespace Gtkmm2ext;
using namespace Gtk;
using namespace Gdk;
using namespace Glib;
using namespace std;
using namespace Glib;
using namespace Gdk;
using namespace Gtk;
using namespace ArdourWidgets;
TearOff::TearOff (Widget& c, bool allow_resize)
: contents (c)
, own_window (Gtk::WINDOW_TOPLEVEL)
, tearoff_arrow (ARROW_DOWN, SHADOW_OUT)
, close_arrow (ARROW_UP, SHADOW_OUT)
, dragging (false)
, _visible (true)
, _torn (false)
, _can_be_torn_off (true)
, own_window (Gtk::WINDOW_TOPLEVEL)
, tearoff_arrow (ARROW_DOWN, SHADOW_OUT)
, close_arrow (ARROW_UP, SHADOW_OUT)
, dragging (false)
, _visible (true)
, _torn (false)
, _can_be_torn_off (true)
{
own_window_width = 0;
own_window_height = 0;
own_window_xpos = 0;
own_window_ypos = 0;
own_window_width = 0;
own_window_height = 0;
own_window_xpos = 0;
own_window_ypos = 0;
tearoff_event_box.add (tearoff_arrow);
tearoff_event_box.set_events (BUTTON_PRESS_MASK|BUTTON_RELEASE_MASK);
@@ -60,7 +60,7 @@ TearOff::TearOff (Widget& c, bool allow_resize)
close_event_box.set_events (BUTTON_PRESS_MASK|BUTTON_RELEASE_MASK);
close_event_box.signal_button_release_event().connect (mem_fun (*this, &TearOff::close_click));
close_event_box.set_tooltip_text (_("Click to put this back in the main window"));
close_event_box.set_tooltip_text (_("Click to put this back in the main window"));
VBox* box1;
box1 = manage (new VBox);
@@ -78,8 +78,8 @@ TearOff::TearOff (Widget& c, bool allow_resize)
own_window.signal_button_release_event().connect (mem_fun (*this, &TearOff::window_button_release));
own_window.signal_motion_notify_event().connect (mem_fun (*this, &TearOff::window_motion));
own_window.signal_delete_event().connect (mem_fun (*this, &TearOff::window_delete_event));
own_window.signal_realize().connect (sigc::mem_fun (*this, &TearOff::own_window_realized));
own_window.signal_configure_event().connect (sigc::mem_fun (*this, &TearOff::own_window_configured), false);
own_window.signal_realize().connect (sigc::mem_fun (*this, &TearOff::own_window_realized));
own_window.signal_configure_event().connect (sigc::mem_fun (*this, &TearOff::own_window_configured), false);
tearoff_arrow.set_name ("TearOffArrow");
close_arrow.set_name ("TearOffArrow");
@@ -135,7 +135,7 @@ TearOff::set_visible (bool yn, bool force)
gint
TearOff::tearoff_click (GdkEventButton* /*ev*/)
{
tear_it_off ();
tear_it_off ();
return true;
}
@@ -143,42 +143,42 @@ void
TearOff::tear_it_off ()
{
if (!_can_be_torn_off) {
return;
}
return;
}
if (torn_off()) {
return;
}
if (torn_off()) {
return;
}
remove (contents);
window_box.pack_start (contents);
own_window.set_name (get_name());
close_event_box.set_name (get_name());
if (own_window_width == 0) {
own_window.set_position (WIN_POS_MOUSE);
}
own_window.show_all ();
own_window.present ();
hide ();
remove (contents);
window_box.pack_start (contents);
own_window.set_name (get_name());
close_event_box.set_name (get_name());
if (own_window_width == 0) {
own_window.set_position (WIN_POS_MOUSE);
}
own_window.show_all ();
own_window.present ();
hide ();
_torn = true;
_torn = true;
Detach ();
Detach ();
}
gint
TearOff::close_click (GdkEventButton* /*ev*/)
{
put_it_back ();
put_it_back ();
return true;
}
void
TearOff::put_it_back ()
{
if (!torn_off()) {
return;
}
if (!torn_off()) {
return;
}
window_box.remove (contents);
pack_start (contents);
@@ -186,7 +186,7 @@ TearOff::put_it_back ()
own_window.hide ();
show_all ();
_torn = false;
_torn = false;
Attach ();
}
@@ -309,35 +309,33 @@ TearOff::own_window_realized ()
{
own_window.get_window()->set_decorations (WMDecoration (DECOR_BORDER|DECOR_RESIZEH));
if (own_window_width > 0) {
own_window.set_default_size (own_window_width, own_window_height);
own_window.move (own_window_xpos, own_window_ypos);
}
if (own_window_width > 0) {
own_window.set_default_size (own_window_width, own_window_height);
own_window.move (own_window_xpos, own_window_ypos);
}
}
bool
TearOff::own_window_configured (GdkEventConfigure*)
{
Glib::RefPtr<const Gdk::Window> win;
Glib::RefPtr<const Gdk::Window> win;
win = own_window.get_window ();
win = own_window.get_window ();
if (win) {
win->get_size (own_window_width, own_window_height);
win->get_position (own_window_xpos, own_window_ypos);
}
if (win) {
win->get_size (own_window_width, own_window_height);
win->get_position (own_window_xpos, own_window_ypos);
}
return false;
return false;
}
void
TearOff::hide_visible ()
{
if (torn_off()) {
own_window.hide ();
}
if (torn_off()) {
own_window.hide ();
}
hide ();
hide ();
}

View File

@@ -25,11 +25,11 @@
#include <gtkmm/action.h>
#include "pbd/signals.h"
#include "gtkmm2ext/ardour_icon.h"
#include "gtkmm2ext/binding_proxy.h"
#include "gtkmm2ext/activatable.h"
#include "gtkmm2ext/cairo_widget.h"
#include "widgets/ardour_icon.h"
#include "widgets/binding_proxy.h"
#include "widgets/visibility.h"
namespace ArdourWidgets {
@@ -80,8 +80,8 @@ class LIBWIDGETS_API ArdourButton : public CairoWidget , public Gtkmm2ext::Activ
void set_elements (Element);
void add_elements (Element);
Gtkmm2ext::ArdourIcon::Icon icon() const { return _icon; }
void set_icon (Gtkmm2ext::ArdourIcon::Icon);
ArdourIcon::Icon icon() const { return _icon; }
void set_icon (ArdourIcon::Icon);
void set_icon (rendercallback_t, void*);
void set_corner_radius (float);
@@ -155,7 +155,7 @@ class LIBWIDGETS_API ArdourButton : public CairoWidget , public Gtkmm2ext::Activ
std::string _sizing_text;
bool _markup;
Element _elements;
Gtkmm2ext::ArdourIcon::Icon _icon;
ArdourIcon::Icon _icon;
rendercallback_t _icon_render_cb;
void* _icon_render_cb_data;
Tweaks _tweaks;

View File

@@ -1,11 +1,13 @@
#ifndef _gtkmm2ext_ardour_icon_h_
#define _gtkmm2ext_ardour_icon_h_
#ifndef _WIDGETS_ARDOUR_ICON_H_
#define _WIDGETS_ARDOUR_ICON_H_
#include <stdint.h>
#include <cairo.h>
#include "gtkmm2ext/widget_state.h"
namespace Gtkmm2ext { namespace ArdourIcon {
#include "gtkmm2ext/widget_state.h"
#include "widgets/visibility.h"
namespace ArdourWidgets { namespace ArdourIcon {
enum Icon {
NoIcon,
RecButton,
@@ -38,11 +40,11 @@ namespace Gtkmm2ext { namespace ArdourIcon {
ToolContent,
};
LIBGTKMM2EXT_API bool render (cairo_t *cr,
const enum Icon icon,
const int width, const int height,
const Gtkmm2ext::ActiveState state,
const uint32_t fg_color);
}; };
LIBWIDGETS_API bool render (cairo_t *cr,
const enum Icon icon,
const int width, const int height,
const Gtkmm2ext::ActiveState state,
const uint32_t fg_color);
}; } /* end namespace */
#endif

View File

@@ -26,11 +26,11 @@
#include "pbd/signals.h"
#include "gtkmm2ext/binding_proxy.h"
#include "gtkmm2ext/activatable.h"
#include "gtkmm2ext/cairo_widget.h"
#include "gtkmm2ext/persistent_tooltip.h"
#include "widgets/binding_proxy.h"
#include "widgets/visibility.h"
namespace ArdourWidgets {

View File

@@ -22,7 +22,7 @@
#include <gtkmm/alignment.h>
#include <cairo.h>
#include "gtkmm2ext/binding_proxy.h"
#include "widgets/binding_proxy.h"
#include "widgets/slider_controller.h"
#include "widgets/visibility.h"

View File

@@ -14,28 +14,31 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id$
*/
#ifndef __binding_proxy__
#define __binding_proxy__
#ifndef _WIDGETS_BINDING_PROXY_
#define _WIDGETS_BINDING_PROXY_
#include <string>
#include <boost/shared_ptr.hpp>
#include "pbd/signals.h"
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/popup.h"
#include "widgets/visibility.h"
namespace PBD {
class Controllable;
}
class LIBGTKMM2EXT_API BindingProxy : public sigc::trackable
namespace ArdourWidgets {
class PopUp;
}
namespace ArdourWidgets {
class LIBWIDGETS_API BindingProxy : public sigc::trackable
{
public:
public:
BindingProxy (boost::shared_ptr<PBD::Controllable>);
BindingProxy ();
virtual ~BindingProxy();
@@ -48,8 +51,8 @@ class LIBGTKMM2EXT_API BindingProxy : public sigc::trackable
boost::shared_ptr<PBD::Controllable> get_controllable() const { return controllable; }
void set_controllable (boost::shared_ptr<PBD::Controllable>);
protected:
Gtkmm2ext::PopUp* prompter;
protected:
ArdourWidgets::PopUp* prompter;
boost::shared_ptr<PBD::Controllable> controllable;
static guint bind_button;
@@ -60,4 +63,6 @@ class LIBGTKMM2EXT_API BindingProxy : public sigc::trackable
bool prompter_hiding (GdkEventAny *);
};
}
#endif

View File

@@ -17,30 +17,31 @@
*/
#ifndef __pbd_gtkmm_choice_h__
#define __pbd_gtkmm_choice_h__
#ifndef _WIDGETS_CHOICE_H_
#define _WIDGETS_CHOICE_H_
#include <string>
#include <vector>
#include <gtkmm/dialog.h>
#include <gtkmm/image.h>
#include <gtkmm/stock.h>
#include <gtkmm/box.h>
#include <string>
#include <vector>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API Choice : public Gtk::Dialog
class LIBWIDGETS_API Choice : public Gtk::Dialog
{
public:
public:
Choice (std::string title, std::string prompt, std::vector<std::string> choices, bool center = true);
virtual ~Choice ();
protected:
protected:
void on_realize ();
};
} /* namespace */
#endif // __pbd_gtkmm_choice_h__
#endif

View File

@@ -27,9 +27,8 @@
#include <string>
#include <gtkmm.h>
#include "gtkmm2ext/binding_proxy.h"
#include "widgets/auto_spin.h"
#include "widgets/binding_proxy.h"
#include "widgets/visibility.h"
namespace PBD {

View File

@@ -16,16 +16,16 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __gtkmm2ext_eventbox_ext_h__
#define __gtkmm2ext_eventbox_ext_h__
#ifndef _WIDGETS_EVENTBOX_EXT_H_
#define _WIDGETS_EVENTBOX_EXT_H_
#include <gtkmm/eventbox.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API EventBoxExt : public Gtk::EventBox
class LIBWIDGETS_API EventBoxExt : public Gtk::EventBox
{
public:
EventBoxExt ();

View File

@@ -17,8 +17,8 @@
*/
#ifndef __libgtkmm2ext_pane_h__
#define __libgtkmm2ext_pane_h__
#ifndef _WIDGETS_PANE_H_
#define _WIDGETS_PANE_H_
#include <vector>
#include <algorithm>
@@ -30,21 +30,20 @@
#include <gtkmm/container.h>
#include <gtkmm/eventbox.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtk {
class Widget;
}
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API Pane : public Gtk::Container
class LIBWIDGETS_API Pane : public Gtk::Container
{
private:
private:
class Divider;
public:
public:
struct Child
{
Pane* pane;
@@ -70,7 +69,7 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
void set_check_divider_position (bool);
protected:
protected:
bool horizontal;
void on_add (Gtk::Widget*);
@@ -87,7 +86,7 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
void forall_vfunc (gboolean include_internals, GtkCallback callback, gpointer callback_data);
private:
private:
Gdk::Cursor drag_cursor;
bool did_move;
@@ -117,13 +116,13 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
void* child_destroyed (Gtk::Widget*);
};
class LIBGTKMM2EXT_API HPane : public Pane
class LIBWIDGETS_API HPane : public Pane
{
public:
HPane () : Pane (true) {}
};
class LIBGTKMM2EXT_API VPane : public Pane
class LIBWIDGETS_API VPane : public Pane
{
public:
VPane () : Pane (false) {}
@@ -131,4 +130,4 @@ class LIBGTKMM2EXT_API VPane : public Pane
} /* namespace */
#endif /* __libgtkmm2ext_pane_h__ */
#endif

View File

@@ -16,26 +16,26 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __gtkmmext_paths_dialog_h__
#define __gtkmmext_paths_dialog_h__
#ifndef _WIDGETS_PATHS_DIALOG_H_
#define _WIDGETS_PATHS_DIALOG_H_
#include <string>
#include <vector>
#include <gtkmm.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API PathsDialog : public Gtk::Dialog
class LIBWIDGETS_API PathsDialog : public Gtk::Dialog
{
public:
public:
PathsDialog (Gtk::Window& parent, std::string, std::string current_paths = "", std::string default_paths = "");
~PathsDialog ();
std::string get_serialized_paths ();
private:
private:
void on_show ();
Gtk::ListViewText paths_list_view;
@@ -54,4 +54,4 @@ class LIBGTKMM2EXT_API PathsDialog : public Gtk::Dialog
} /* namespace */
#endif /* __gtkmmext_paths_dialog_h__ */
#endif

View File

@@ -17,8 +17,8 @@
*/
#ifndef __qui_popup_h__
#define __qui_popup_h__
#ifndef _WIDGETS_POPUP_H_
#define _WIDGETS_POPUP_H_
#ifdef interface
#undef interface
@@ -29,13 +29,13 @@
#include <pbd/touchable.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API PopUp : public Gtk::Window, public Touchable
class LIBWIDGETS_API PopUp : public Gtk::Window, public Touchable
{
public:
public:
PopUp (Gtk::WindowPosition pos, unsigned int show_for_msecs = 0,
bool delete_on_hide = false);
virtual ~PopUp ();
@@ -47,19 +47,18 @@ class LIBGTKMM2EXT_API PopUp : public Gtk::Window, public Touchable
bool on_delete_event (GdkEventAny* );
protected:
protected:
void on_realize ();
private:
private:
Gtk::Label label;
std::string my_text;
gint timeout;
static gint remove_prompt_timeout (void *);
bool delete_on_hide;
unsigned int popdown_time;
};
} /* namespace */
#endif // __qui_popup_h__
#endif

View File

@@ -17,8 +17,8 @@
*/
#ifndef __gtkmm2ext_prompter_h__
#define __gtkmm2ext_prompter_h__
#ifndef _WIDGETS_PROMPTER_H_
#define _WIDGETS_PROMPTER_H_
#include <string>
#include <gtkmm/box.h>
@@ -27,18 +27,17 @@
#include <gtkmm/dialog.h>
#include <sigc++/sigc++.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtk {
class Window;
}
namespace Gtkmm2ext {
class LIBGTKMM2EXT_API Prompter : public Gtk::Dialog
namespace ArdourWidgets {
class LIBWIDGETS_API Prompter : public Gtk::Dialog
{
public:
public:
Prompter (bool modal = false);
Prompter (Gtk::Window& parent, bool modal = false);
~Prompter () {};
@@ -56,13 +55,13 @@ class LIBGTKMM2EXT_API Prompter : public Gtk::Dialog
void get_result (std::string &str, bool strip=true);
protected:
protected:
Gtk::Entry& the_entry() { return entry; }
void on_entry_changed ();
void on_show ();
private:
private:
Gtk::Entry entry;
Gtk::HBox entryBox;
Gtk::Label entryLabel;
@@ -75,4 +74,4 @@ class LIBGTKMM2EXT_API Prompter : public Gtk::Dialog
} /* namespace */
#endif /* __gtkmm2ext_prompter_h__ */
#endif

View File

@@ -17,18 +17,18 @@
*/
#ifndef __gtkmm2ext_scroomer_h__
#define __gtkmm2ext_scroomer_h__
#ifndef _WIDGETS_SCROOMER_H_
#define _WIDGETS_SCROOMER_H_
#include <gdkmm.h>
#include <gtkmm/drawingarea.h>
#include <gtkmm/adjustment.h>
#include <gdkmm.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API Scroomer : public Gtk::DrawingArea
class LIBWIDGETS_API Scroomer : public Gtk::DrawingArea
{
public:
enum Component {
@@ -88,6 +88,6 @@ private:
bool pinch;
};
} // namespace
} /* end namespace */
#endif /* __gtkmm2ext_scroomer_h__ */
#endif

View File

@@ -26,10 +26,8 @@
#include <gtkmm.h>
#include <boost/shared_ptr.hpp>
#include "gtkmm2ext/popup.h"
#include "gtkmm2ext/binding_proxy.h"
#include "widgets/ardour_fader.h"
#include "widgets/binding_proxy.h"
#include "widgets/visibility.h"
namespace PBD {

View File

@@ -17,20 +17,20 @@
*/
#ifndef __pbd_gtkmm_abutton_h__
#define __pbd_gtkmm_abutton_h__
#ifndef _WIDGETS_STATEFUL_BUTTON_H_
#define _WIDGETS_STATEFUL_BUTTON_H_
#include <vector>
#include <gtkmm/togglebutton.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API StateButton
class LIBWIDGETS_API StateButton
{
public:
public:
StateButton();
virtual ~StateButton() {}
@@ -39,57 +39,57 @@ class LIBGTKMM2EXT_API StateButton
void set_self_managed (bool yn) { _self_managed = yn; }
virtual void set_widget_name (const std::string& name) = 0;
protected:
protected:
int visual_state;
bool _self_managed;
bool _is_realized;
bool style_changing;
Gtk::StateType state_before_prelight;
bool is_toggle;
bool style_changing;
Gtk::StateType state_before_prelight;
bool is_toggle;
virtual std::string get_widget_name() const = 0;
virtual Gtk::Widget* get_child_widget () = 0;
virtual Gtk::Widget* get_child_widget () = 0;
void avoid_prelight_on_style_changed (const Glib::RefPtr<Gtk::Style>& style, GtkWidget* widget);
void avoid_prelight_on_state_changed (Gtk::StateType old_state, GtkWidget* widget);
void avoid_prelight_on_style_changed (const Glib::RefPtr<Gtk::Style>& style, GtkWidget* widget);
void avoid_prelight_on_state_changed (Gtk::StateType old_state, GtkWidget* widget);
};
class LIBGTKMM2EXT_API StatefulToggleButton : public StateButton, public Gtk::ToggleButton
class LIBWIDGETS_API StatefulToggleButton : public StateButton, public Gtk::ToggleButton
{
public:
public:
StatefulToggleButton();
explicit StatefulToggleButton(const std::string &label);
~StatefulToggleButton() {}
void set_widget_name (const std::string& name);
protected:
protected:
void on_realize ();
void on_toggled ();
void on_style_changed (const Glib::RefPtr<Gtk::Style>& style);
void on_state_changed (Gtk::StateType old_state);
void on_style_changed (const Glib::RefPtr<Gtk::Style>& style);
void on_state_changed (Gtk::StateType old_state);
Gtk::Widget* get_child_widget ();
Gtk::Widget* get_child_widget ();
std::string get_widget_name() const { return get_name(); }
};
class LIBGTKMM2EXT_API StatefulButton : public StateButton, public Gtk::Button
class LIBWIDGETS_API StatefulButton : public StateButton, public Gtk::Button
{
public:
public:
StatefulButton();
explicit StatefulButton(const std::string &label);
virtual ~StatefulButton() {}
void set_widget_name (const std::string& name);
protected:
protected:
void on_realize ();
void on_style_changed (const Glib::RefPtr<Gtk::Style>& style);
void on_state_changed (Gtk::StateType old_state);
void on_style_changed (const Glib::RefPtr<Gtk::Style>& style);
void on_state_changed (Gtk::StateType old_state);
Gtk::Widget* get_child_widget ();
Gtk::Widget* get_child_widget ();
std::string get_widget_name() const { return get_name(); }
};
};
} /* end namespace */
#endif

View File

@@ -17,8 +17,8 @@
*/
#ifndef __gtkmm2ext_tabbable_h__
#define __gtkmm2ext_tabbable_h__
#ifndef _WIDGETS_TABBABLE_H_
#define _WIDGETS_TABBABLE_H_
#include <gtkmm/bin.h>
#include <gtkmm/box.h>
@@ -28,7 +28,7 @@
#include <gtkmm/notebook.h>
#include "gtkmm2ext/window_proxy.h"
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
namespace Gtk {
class Window;
@@ -36,11 +36,14 @@ namespace Gtk {
}
namespace Gtkmm2ext {
class VisibilityTracker;
}
class VisibilityTracker;
namespace ArdourWidgets {
class LIBGTKMM2EXT_API Tabbable : public WindowProxy {
public:
class LIBWIDGETS_API Tabbable : public Gtkmm2ext::WindowProxy
{
public:
Tabbable (Gtk::Widget&, const std::string&, bool tabbed_by_default = true);
~Tabbable ();
@@ -76,10 +79,10 @@ class LIBGTKMM2EXT_API Tabbable : public WindowProxy {
sigc::signal1<void,Tabbable&> StateChange;
protected:
protected:
bool delete_event_handler (GdkEventAny *ev);
private:
private:
Gtk::Widget& _contents;
Gtk::Notebook _own_notebook;
Gtk::Notebook* _parent_notebook;
@@ -94,7 +97,6 @@ class LIBGTKMM2EXT_API Tabbable : public WindowProxy {
void window_unmapped ();
};
}
} /* end namespace */
#endif

View File

@@ -17,23 +17,23 @@
*/
#ifndef __gtkmm2ext_tearoff_h__
#define __gtkmm2ext_tearoff_h__
#ifndef _WIDGETS_TEAROFF_H_
#define _WIDGETS_TEAROFF_H_
#include <gtkmm/window.h>
#include <gtkmm/arrow.h>
#include <gtkmm/box.h>
#include <gtkmm/eventbox.h>
#include <gtkmm/window.h>
#include "gtkmm2ext/visibility.h"
#include "widgets/visibility.h"
class XMLNode;
namespace Gtkmm2ext {
namespace ArdourWidgets {
class LIBGTKMM2EXT_API TearOff : public Gtk::HBox
class LIBWIDGETS_API TearOff : public Gtk::HBox
{
public:
public:
TearOff (Gtk::Widget& contents, bool allow_resize = false);
virtual ~TearOff ();
@@ -49,14 +49,14 @@ class LIBGTKMM2EXT_API TearOff : public Gtk::HBox
Gtk::Window& tearoff_window() { return own_window; }
bool torn_off() const;
void tear_it_off ();
void put_it_back ();
void hide_visible ();
void tear_it_off ();
void put_it_back ();
void hide_visible ();
void set_state (const XMLNode&);
void add_state (XMLNode&) const;
void set_state (const XMLNode&);
void add_state (XMLNode&) const;
private:
private:
Gtk::Widget& contents;
Gtk::Window own_window;
Gtk::Arrow tearoff_arrow;
@@ -70,10 +70,10 @@ class LIBGTKMM2EXT_API TearOff : public Gtk::HBox
bool _visible;
bool _torn;
bool _can_be_torn_off;
int own_window_width;
int own_window_height;
int own_window_xpos;
int own_window_ypos;
int own_window_width;
int own_window_height;
int own_window_xpos;
int own_window_ypos;
gint tearoff_click (GdkEventButton*);
gint close_click (GdkEventButton*);
@@ -83,10 +83,10 @@ class LIBGTKMM2EXT_API TearOff : public Gtk::HBox
gint window_button_release (GdkEventButton*);
gint window_delete_event (GdkEventAny*);
void own_window_realized ();
bool own_window_configured (GdkEventConfigure*);
void own_window_realized ();
bool own_window_configured (GdkEventConfigure*);
};
} /* namespace */
#endif // __gtkmm2ext_tearoff_h__
#endif

View File

@@ -30,16 +30,28 @@ widgets_sources = [
'ardour_display.cc',
'ardour_dropdown.cc',
'ardour_fader.cc',
'ardour_icon.cc',
'ardour_knob.cc',
'ardour_spacer.cc',
'ardour_spinner.cc',
'auto_spin.cc',
'barcontroller.cc',
'binding_proxy.cc',
'eventboxext.cc',
'choice.cc',
'click_box.cc',
'fastmeter.cc',
'focus_entry.cc',
'pane.cc',
'paths_dialog.cc',
'popup.cc',
'prompter.cc',
'scroomer.cc',
'searchbar.cc',
'slider_controller.cc',
'stateful_button.cc',
'tabbable.cc',
'tearoff.cc',
'tooltips.cc',
'ui_config.cc',
]