diff options
Diffstat (limited to 'src/ui/widget')
| -rw-r--r-- | src/ui/widget/object-composite-settings.cpp | 17 | ||||
| -rw-r--r-- | src/ui/widget/object-composite-settings.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/point.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/point.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/random.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/random.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/scalar.cpp | 8 | ||||
| -rw-r--r-- | src/ui/widget/scalar.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/selected-style.cpp | 13 | ||||
| -rw-r--r-- | src/ui/widget/selected-style.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/spin-slider.cpp | 50 | ||||
| -rw-r--r-- | src/ui/widget/spin-slider.h | 9 | ||||
| -rw-r--r-- | src/ui/widget/spinbutton.h | 4 | ||||
| -rw-r--r-- | src/ui/widget/tolerance-slider.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/zoom-status.cpp | 12 | ||||
| -rw-r--r-- | src/ui/widget/zoom-status.h | 8 |
16 files changed, 152 insertions, 1 deletions
diff --git a/src/ui/widget/object-composite-settings.cpp b/src/ui/widget/object-composite-settings.cpp index fd9d71d6a..eb4790990 100644 --- a/src/ui/widget/object-composite-settings.cpp +++ b/src/ui/widget/object-composite-settings.cpp @@ -63,7 +63,11 @@ ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char co _opacity_tag(Glib::ustring(history_prefix) + ":opacity"), _opacity_vbox(false, 0), _opacity_label(_("Opacity:")), +#if WITH_GTKMM_3_0 + _opacity_adjustment(Gtk::Adjustment::create(100.0, 0.0, 100.0, 1.0, 1.0, 0.0)), +#else _opacity_adjustment(100.0, 0.0, 100.0, 1.0, 1.0, 0.0), +#endif _opacity_hscale(_opacity_adjustment), _opacity_spin_button(_opacity_adjustment, 0.01, 1), _fe_cb(flags), @@ -93,8 +97,13 @@ ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char co _opacity_hbox.pack_start(_opacity_hscale, true, true, 0); _opacity_hbox.pack_start(_opacity_spin_button, false, false, 0); _opacity_hscale.set_draw_value(false); +#if WITH_GTKMM_3_0 + _opacity_adjustment->signal_value_changed().connect(sigc::mem_fun(*this, &ObjectCompositeSettings::_opacityValueChanged)); + _opacity_label.set_mnemonic_widget(_opacity_hscale); +#else _opacity_adjustment.signal_value_changed().connect(sigc::mem_fun(*this, &ObjectCompositeSettings::_opacityValueChanged)); _opacity_label.set_mnemonic_widget(_opacity_hscale); +#endif /* SizeGroup keeps the blur and opacity labels aligned in Fill & Stroke dlg */ GtkSizeGroup *labels = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); @@ -216,7 +225,11 @@ ObjectCompositeSettings::_opacityValueChanged() SPCSSAttr *css = sp_repr_css_attr_new (); Inkscape::CSSOStringStream os; +#if WITH_GTKMM_3_0 + os << CLAMP (_opacity_adjustment->get_value() / 100, 0.0, 1.0); +#else os << CLAMP (_opacity_adjustment.get_value() / 100, 0.0, 1.0); +#endif sp_repr_css_set_property (css, "opacity", os.str().c_str()); _subject->setCSS(css); @@ -259,7 +272,11 @@ ObjectCompositeSettings::_subjectChanged() { case QUERY_STYLE_MULTIPLE_AVERAGED: // TODO: treat this slightly differently case QUERY_STYLE_MULTIPLE_SAME: _opacity_hbox.set_sensitive(true); +#if WITH_GTKMM_3_0 + _opacity_adjustment->set_value(100 * SP_SCALE24_TO_FLOAT(query->opacity.value)); +#else _opacity_adjustment.set_value(100 * SP_SCALE24_TO_FLOAT(query->opacity.value)); +#endif break; } diff --git a/src/ui/widget/object-composite-settings.h b/src/ui/widget/object-composite-settings.h index d05839a03..9f9b336eb 100644 --- a/src/ui/widget/object-composite-settings.h +++ b/src/ui/widget/object-composite-settings.h @@ -47,7 +47,11 @@ private: Gtk::VBox _opacity_vbox; Gtk::HBox _opacity_hbox; Gtk::Label _opacity_label; +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _opacity_adjustment; +#else Gtk::Adjustment _opacity_adjustment; +#endif Gtk::HScale _opacity_hscale; Inkscape::UI::Widget::SpinButton _opacity_spin_button; diff --git a/src/ui/widget/point.cpp b/src/ui/widget/point.cpp index 385b60122..6aa6196bb 100644 --- a/src/ui/widget/point.cpp +++ b/src/ui/widget/point.cpp @@ -53,7 +53,11 @@ Point::Point(Glib::ustring const &label, Glib::ustring const &tooltip, } Point::Point(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits, Glib::ustring const &suffix, Glib::ustring const &icon, diff --git a/src/ui/widget/point.h b/src/ui/widget/point.h index 1d91549d6..15f1a80fb 100644 --- a/src/ui/widget/point.h +++ b/src/ui/widget/point.h @@ -82,7 +82,11 @@ public: */ Point( Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits = 0, Glib::ustring const &suffix = "", Glib::ustring const &icon = "", diff --git a/src/ui/widget/random.cpp b/src/ui/widget/random.cpp index e8c84a780..0a646b6fb 100644 --- a/src/ui/widget/random.cpp +++ b/src/ui/widget/random.cpp @@ -47,7 +47,11 @@ Random::Random(Glib::ustring const &label, Glib::ustring const &tooltip, } Random::Random(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits, Glib::ustring const &suffix, Glib::ustring const &icon, diff --git a/src/ui/widget/random.h b/src/ui/widget/random.h index cb8c223dc..dc2b457c2 100644 --- a/src/ui/widget/random.h +++ b/src/ui/widget/random.h @@ -75,7 +75,11 @@ public: */ Random(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits = 0, Glib::ustring const &suffix = "", Glib::ustring const &icon = "", diff --git a/src/ui/widget/scalar.cpp b/src/ui/widget/scalar.cpp index cc051599c..9bbcc80f9 100644 --- a/src/ui/widget/scalar.cpp +++ b/src/ui/widget/scalar.cpp @@ -43,7 +43,11 @@ Scalar::Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, } Scalar::Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits, Glib::ustring const &suffix, Glib::ustring const &icon, @@ -137,7 +141,11 @@ void Scalar::update() void Scalar::addSlider() { +#if WITH_GTKMM_3_0 + Gtk::HScale *scale = new Gtk::HScale(static_cast<SpinButton*>(_widget)->get_adjustment()); +#else Gtk::HScale *scale = new Gtk::HScale( * static_cast<SpinButton*>(_widget)->get_adjustment() ); +#endif scale->set_draw_value(false); add (*manage (scale)); } diff --git a/src/ui/widget/scalar.h b/src/ui/widget/scalar.h index 19ccb7ae0..86d7aee28 100644 --- a/src/ui/widget/scalar.h +++ b/src/ui/widget/scalar.h @@ -73,7 +73,11 @@ public: */ Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> &adjust, +#else Gtk::Adjustment &adjust, +#endif unsigned digits = 0, Glib::ustring const &suffix = "", Glib::ustring const &icon = "", diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp index d26005317..a60e3cc31 100644 --- a/src/ui/widget/selected-style.cpp +++ b/src/ui/widget/selected-style.cpp @@ -14,6 +14,7 @@ #endif #include "selected-style.h" +#include <gtkmm/separatormenuitem.h> #include "widgets/spw-utilities.h" #include "ui/widget/color-preview.h" @@ -129,7 +130,11 @@ SelectedStyle::SelectedStyle(bool /*layout*/) _stroke_flag_place (), _opacity_place (), +#if WITH_GTKMM_3_0 + _opacity_adjustment(Gtk::Adjustment::create(100, 0.0, 100, 1.0, 10.0)), +#else _opacity_adjustment (100, 0.0, 100, 1.0, 10.0), +#endif _opacity_sb (0.02, 0), _stroke (), @@ -1041,7 +1046,11 @@ SelectedStyle::update() if (_opacity_blocked) break; _opacity_blocked = true; _opacity_sb.set_sensitive(true); +#if WITH_GTKMM_3_0 + _opacity_adjustment->set_value(SP_SCALE24_TO_FLOAT(query->opacity.value) * 100); +#else _opacity_adjustment.set_value(SP_SCALE24_TO_FLOAT(query->opacity.value) * 100); +#endif _opacity_blocked = false; break; } @@ -1141,7 +1150,11 @@ void SelectedStyle::on_opacity_changed () { _opacity_blocked = true; SPCSSAttr *css = sp_repr_css_attr_new (); Inkscape::CSSOStringStream os; +#if WITH_GTKMM_3_0 + os << CLAMP ((_opacity_adjustment->get_value() / 100), 0.0, 1.0); +#else os << CLAMP ((_opacity_adjustment.get_value() / 100), 0.0, 1.0); +#endif sp_repr_css_set_property (css, "opacity", os.str().c_str()); // FIXME: workaround for GTK breakage: display interruptibility sometimes results in GTK // sending multiple value-changed events. As if when Inkscape interrupts redraw for main loop diff --git a/src/ui/widget/selected-style.h b/src/ui/widget/selected-style.h index 76a6a1595..542983b53 100644 --- a/src/ui/widget/selected-style.h +++ b/src/ui/widget/selected-style.h @@ -136,7 +136,11 @@ protected: Gtk::EventBox _stroke_flag_place; Gtk::EventBox _opacity_place; +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _opacity_adjustment; +#else Gtk::Adjustment _opacity_adjustment; +#endif Inkscape::UI::Widget::SpinButton _opacity_sb; Gtk::Label _na[2]; diff --git a/src/ui/widget/spin-slider.cpp b/src/ui/widget/spin-slider.cpp index 3e85f845e..97ae18e20 100644 --- a/src/ui/widget/spin-slider.cpp +++ b/src/ui/widget/spin-slider.cpp @@ -10,6 +10,7 @@ #include <glib.h> #include <glibmm/i18n.h> +#include <glibmm/stringutils.h> #include "spin-slider.h" @@ -19,7 +20,12 @@ namespace Widget { SpinSlider::SpinSlider(double value, double lower, double upper, double step_inc, double climb_rate, int digits, const SPAttributeEnum a, const char* tip_text) - : AttrWidget(a, value), _adjustment(value, lower, upper, step_inc), + : AttrWidget(a, value), +#if WITH_GTKMM_3_0 + _adjustment(Gtk::Adjustment::create(value, lower, upper, step_inc)), +#else + _adjustment(value, lower, upper, step_inc), +#endif _scale(_adjustment), _spin(_adjustment, climb_rate, digits) { signal_value_changed().connect(signal_attr_changed().make_slot()); @@ -38,7 +44,11 @@ SpinSlider::SpinSlider(double value, double lower, double upper, double step_inc Glib::ustring SpinSlider::get_as_attribute() const { +#if WITH_GTKMM_3_0 + const double val = _adjustment->get_value(); +#else const double val = _adjustment.get_value(); +#endif if(_spin.get_digits() == 0) return Glib::Ascii::dtostr((int)val); @@ -49,32 +59,59 @@ Glib::ustring SpinSlider::get_as_attribute() const void SpinSlider::set_from_attribute(SPObject* o) { const gchar* val = attribute_value(o); +#if WITH_GTKMM_3_0 + if(val) + _adjustment->set_value(Glib::Ascii::strtod(val)); + else + _adjustment->set_value(get_default()->as_double()); +#else if(val) _adjustment.set_value(Glib::Ascii::strtod(val)); else _adjustment.set_value(get_default()->as_double()); +#endif } Glib::SignalProxy0<void> SpinSlider::signal_value_changed() { +#if WITH_GTKMM_3_0 + return _adjustment->signal_value_changed(); +#else return _adjustment.signal_value_changed(); +#endif } double SpinSlider::get_value() const { +#if WITH_GTKMM_3_0 + return _adjustment->get_value(); +#else return _adjustment.get_value(); +#endif } void SpinSlider::set_value(const double val) { +#if WITH_GTKMM_3_0 + _adjustment->set_value(val); +#else _adjustment.set_value(val); +#endif } +#if WITH_GTKMM_3_0 +const Glib::RefPtr<Gtk::Adjustment> SpinSlider::get_adjustment() const +#else const Gtk::Adjustment& SpinSlider::get_adjustment() const +#endif { return _adjustment; } +#if WITH_GTKMM_3_0 +Glib::RefPtr<Gtk::Adjustment> SpinSlider::get_adjustment() +#else Gtk::Adjustment& SpinSlider::get_adjustment() +#endif { return _adjustment; } @@ -112,9 +149,15 @@ DualSpinSlider::DualSpinSlider(double value, double lower, double upper, double { signal_value_changed().connect(signal_attr_changed().make_slot()); +#if WITH_GTKMM_3_0 + _s1.get_adjustment()->signal_value_changed().connect(_signal_value_changed.make_slot()); + _s2.get_adjustment()->signal_value_changed().connect(_signal_value_changed.make_slot()); + _s1.get_adjustment()->signal_value_changed().connect(sigc::mem_fun(*this, &DualSpinSlider::update_linked)); +#else _s1.get_adjustment().signal_value_changed().connect(_signal_value_changed.make_slot()); _s2.get_adjustment().signal_value_changed().connect(_signal_value_changed.make_slot()); _s1.get_adjustment().signal_value_changed().connect(sigc::mem_fun(*this, &DualSpinSlider::update_linked)); +#endif _link.signal_toggled().connect(sigc::mem_fun(*this, &DualSpinSlider::link_toggled)); Gtk::VBox* vb = Gtk::manage(new Gtk::VBox); @@ -151,8 +194,13 @@ void DualSpinSlider::set_from_attribute(SPObject* o) _link.set_active(toks[1] == 0); +#if WITH_GTKMM_3_0 + _s1.get_adjustment()->set_value(v1); + _s2.get_adjustment()->set_value(v2); +#else _s1.get_adjustment().set_value(v1); _s2.get_adjustment().set_value(v2); +#endif g_strfreev(toks); } diff --git a/src/ui/widget/spin-slider.h b/src/ui/widget/spin-slider.h index 5078c1092..f4a62107b 100644 --- a/src/ui/widget/spin-slider.h +++ b/src/ui/widget/spin-slider.h @@ -38,8 +38,13 @@ public: double get_value() const; void set_value(const double); +#if WITH_GTKMM_3_0 + const Glib::RefPtr<Gtk::Adjustment> get_adjustment() const; + Glib::RefPtr<Gtk::Adjustment> get_adjustment(); +#else const Gtk::Adjustment& get_adjustment() const; Gtk::Adjustment& get_adjustment(); +#endif const Gtk::HScale& get_scale() const; Gtk::HScale& get_scale(); @@ -50,7 +55,11 @@ public: // Change the SpinSlider into a SpinButton with AttrWidget support) void remove_scale(); private: +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _adjustment; +#else Gtk::Adjustment _adjustment; +#endif Gtk::HScale _scale; Inkscape::UI::Widget::SpinButton _spin; }; diff --git a/src/ui/widget/spinbutton.h b/src/ui/widget/spinbutton.h index b7764d979..57c48369e 100644 --- a/src/ui/widget/spinbutton.h +++ b/src/ui/widget/spinbutton.h @@ -33,7 +33,11 @@ public: { connect_signals(); }; +#if GTK_CHECK_VERSION(3,0,0) + explicit SpinButton(Glib::RefPtr<Gtk::Adjustment>& adjustment, double climb_rate = 0.0, guint digits = 0) +#else explicit SpinButton(Gtk::Adjustment& adjustment, double climb_rate = 0.0, guint digits = 0) +#endif : Gtk::SpinButton(adjustment, climb_rate, digits), _unit_menu(NULL) { diff --git a/src/ui/widget/tolerance-slider.cpp b/src/ui/widget/tolerance-slider.cpp index be710f5e5..16558f0ee 100644 --- a/src/ui/widget/tolerance-slider.cpp +++ b/src/ui/widget/tolerance-slider.cpp @@ -113,7 +113,11 @@ void ToleranceSlider::init (const Glib::ustring& label1, const Glib::ustring& la void ToleranceSlider::setValue (double val) { +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> adj = _hscale->get_adjustment(); +#else Gtk::Adjustment *adj = _hscale->get_adjustment(); +#endif adj->set_lower (1.0); adj->set_upper (51.0); diff --git a/src/ui/widget/zoom-status.cpp b/src/ui/widget/zoom-status.cpp index 579449744..aea1beb17 100644 --- a/src/ui/widget/zoom-status.cpp +++ b/src/ui/widget/zoom-status.cpp @@ -23,7 +23,11 @@ namespace UI { namespace Widget { ZoomStatus::ZoomStatus() +#if WITH_GTKMM_3_0 + : _adj(Gtk::Adjustment::create(0.0, -1.0, 1.0, 0.1, 0.1)) +#else : _adj(0.0, -1.0, 1.0, 0.1, 0.1) +#endif { _dt = 0; _upd_f = false; @@ -43,11 +47,19 @@ ZoomStatus::init(SPDesktop *dt) { _dt = dt; property_digits() = 4; +#if WITH_GTKMM_3_0 + _adj->set_value(0.0); + _adj->set_lower(log(SP_DESKTOP_ZOOM_MIN)/log(2.0)); + _adj->set_upper(log(SP_DESKTOP_ZOOM_MAX)/log(2.0)); + _adj->set_step_increment(0.1); + _adj->set_page_increment(0.1); +#else _adj.set_value(0.0); _adj.set_lower(log(SP_DESKTOP_ZOOM_MIN)/log(2.0)); _adj.set_upper(log(SP_DESKTOP_ZOOM_MAX)/log(2.0)); _adj.set_step_increment(0.1); _adj.set_page_increment(0.1); +#endif set_adjustment(_adj); } diff --git a/src/ui/widget/zoom-status.h b/src/ui/widget/zoom-status.h index b9373589f..8f710300a 100644 --- a/src/ui/widget/zoom-status.h +++ b/src/ui/widget/zoom-status.h @@ -9,6 +9,10 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ +#if HAVE_CONFIG_H +#include "config.h" +#endif + #include <gtkmm/adjustment.h> #include "ui/widget/spinbutton.h" @@ -32,7 +36,11 @@ public: void update(); protected: +#if WITH_GTKMM_3_0 + Glib::RefPtr<Gtk::Adjustment> _adj; +#else Gtk::Adjustment _adj; +#endif SPDesktop *_dt; bool _upd_f; |
