From aa042e930bc5cce596829086ce84f2c3c7c885ad Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Sun, 17 Jun 2012 00:08:03 -0700 Subject: Removed outdated classes. Pruned header to not introduce extraneous includes. (bzr r11502) --- src/ui/widget/ruler.cpp | 237 ------------------------------------------------ 1 file changed, 237 deletions(-) delete mode 100644 src/ui/widget/ruler.cpp (limited to 'src/ui/widget/ruler.cpp') diff --git a/src/ui/widget/ruler.cpp b/src/ui/widget/ruler.cpp deleted file mode 100644 index b97ef4312..000000000 --- a/src/ui/widget/ruler.cpp +++ /dev/null @@ -1,237 +0,0 @@ -/** \file - * Gtkmm facade/wrapper around SPRuler code that formerly lived - * in desktop-events.cpp - */ -/* - * Authors: - * Ralf Stephan - * Lauris Kaplinski - * Jon A. Cruz - * Abhishek Sharma - * - * Copyright (C) 2005 Ralf Stephan - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#include "ui/widget/ruler.h" -#include "widgets/ruler.h" -#include "helper/units.h" - -#include "xml/repr.h" -#include "display/sp-canvas.h" -#include "display/guideline.h" -#include "desktop.h" -#include "desktop-handles.h" -#include "document.h" -#include "document-undo.h" -#include "sp-namedview.h" -#include "verbs.h" - -namespace Gtk { -namespace Deprecated { -void Ruler::set_range(double lower, double upper, double position, double max_size) -{ -sp_ruler_set_range(gobj(), lower, upper, position, max_size); -} - -void Ruler::get_range(double& lower, double& upper, double& position, double& max_size) -{ -sp_ruler_get_range(gobj(), &(lower), &(upper), &(position), &(max_size)); -} -}// namespace Deprecated -}// namespace Gtk - - -namespace Inkscape { -namespace UI { -namespace Widget { - -void -Ruler::init(SPDesktop *dt, Gtk::Widget &w) -{ - _dt = dt; - _canvas_widget = &w; - _dragging = false; - _guide = 0; - sp_ruler_set_metric(SP_RULER(_r->gobj()), SP_PT); - _r->set_range(-500, 500, 0, 1000); -} - -void -Ruler::get_range(double &lo, double &up, double &pos, double &max) -{ - _r->get_range(lo, up, pos, max); -} - -void -Ruler::set_range(double lo, double up, double pos, double max) -{ - _r->set_range(lo, up, pos, max); -} - -/// Set metric from namedview -void -Ruler::update_metric() -{ - if (!_dt) return; - sp_ruler_set_metric(SP_RULER(_r->gobj()), _dt->namedview->getDefaultMetric()); -} - -/// Returns text to be used for tooltip for ruler. -/// \todo incorrect -Glib::ustring -Ruler::get_tip() -{ - return gettext(sp_unit_get_plural( _dt - ? _dt->namedview->doc_units - : &sp_unit_get_by_id(SP_UNIT_PT) )); -} - -/// Helper that gets mouse coordinates relative to canvas widget. -void -Ruler::canvas_get_pointer(int &x, int &y) -{ - Gdk::ModifierType mask; - (void) _canvas_widget->get_window()->get_pointer(x, y, mask); -} - -Geom::Point -Ruler::get_event_dt() -{ - int wx, wy; - canvas_get_pointer(wx, wy); - Geom::Point const event_win(wx, wy); - Geom::Point const event_w(sp_canvas_window_to_world(_dt->canvas, event_win)); - return _dt->w2d(event_w); -} - -bool -Ruler::on_button_press_event(GdkEventButton *evb) -{ - g_assert(_dt); - Geom::Point const &event_dt = get_event_dt(); - Inkscape::XML::Node *repr = _dt->namedview->getRepr(); - - if (evb->button == 1) { - _dragging = true; - sp_repr_set_boolean(repr, "showguides", TRUE); - sp_repr_set_boolean(repr, "inkscape:guide-bbox", TRUE); - _guide = sp_guideline_new(_dt->guides, NULL, event_dt, _horiz_f ? Geom::Point(0.,1.) : Geom::Point(1.,0.)); - sp_guideline_set_color(SP_GUIDELINE(_guide), _dt->namedview->guidehicolor); - -#if WITH_GTKMM_3_0 - Glib::RefPtr device = Glib::wrap(gdk_event_get_device((GdkEvent*)evb)); - device->grab(get_window(), - Gdk::OWNERSHIP_NONE, // TODO: Check that this is correct - false, - Gdk::BUTTON_RELEASE_MASK | - Gdk::POINTER_MOTION_MASK | - Gdk::POINTER_MOTION_HINT_MASK, - evb->time); -#else - (void) get_window()->pointer_grab(false, - Gdk::BUTTON_RELEASE_MASK | - Gdk::POINTER_MOTION_MASK | - Gdk::POINTER_MOTION_HINT_MASK, - evb->time); -#endif - } - return false; -} - -bool -Ruler::on_motion_notify_event(GdkEventMotion *) -{ - g_assert(_dt); - Geom::Point const &event_dt = get_event_dt(); - - if (_dragging) { - sp_guideline_set_position(SP_GUIDELINE(_guide), event_dt); - _dt->set_coordinate_status(event_dt); - _dt->setPosition(event_dt); - } - return false; -} - -bool -Ruler::on_button_release_event(GdkEventButton *evb) -{ - g_assert(_dt); - int wx, wy; - canvas_get_pointer(wx, wy); - Geom::Point const &event_dt = get_event_dt(); - - if (_dragging && evb->button == 1) { - -#if WITH_GTKMM_3_0 - Glib::RefPtr device = Glib::wrap(gdk_event_get_device((GdkEvent*)evb)); - device->ungrab(evb->time); -#else - Gdk::Window::pointer_ungrab(evb->time); -#endif - - sp_canvas_item_destroy(_guide); - _guide = 0; - _dragging = false; - - if ( (_horiz_f ? wy : wx ) >= 0 ) { - Inkscape::XML::Document *xml_doc = _dt->doc()->getReprDoc(); - Inkscape::XML::Node *repr = xml_doc->createElement("sodipodi:guide"); - repr->setAttribute("orientation", _horiz_f ? "horizontal" : "vertical"); - double const guide_pos_dt = event_dt[ _horiz_f ? Geom::Y : Geom::X ]; - sp_repr_set_svg_double(repr, "position", guide_pos_dt); - _dt->namedview->getRepr()->appendChild(repr); - Inkscape::GC::release(repr); - DocumentUndo::done(sp_desktop_document(_dt), SP_VERB_NONE, - /* TODO: annotate */ "ruler.cpp:157"); - } - _dt->set_coordinate_status(event_dt); - } - return false; -} - -//------------------------------------------------------------ -HRuler::HRuler() -{ - _dt = 0; - _r = static_cast(Glib::wrap(static_cast (sp_ruler_new(GTK_ORIENTATION_HORIZONTAL)))); - add(*_r); - _horiz_f = true; -} - -HRuler::~HRuler() -{ -} - - -VRuler::VRuler() -{ - _dt = 0; - _r = static_cast(Glib::wrap(static_cast (sp_ruler_new(GTK_ORIENTATION_VERTICAL)))); - add(*_r); - _horiz_f = false; -} - -VRuler::~VRuler() -{ -} - -}}} - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : -- cgit v1.2.3