Code

1) snap midpoints of line segments (both as source and as target)
[inkscape.git] / src / ui / view / edit-widget.h
index 73e6f048e526c9fb16e3015a98b897527faa74b6..ea32056966bbb99f0743ebb36b049ac3128a68cb 100644 (file)
@@ -6,7 +6,9 @@
  *   Bryce W. Harrington <bryce@bryceharrington.org>
  *   Derek P. Moore <derekm@hackunix.org>
  *   Ralf Stephan <ralf@ark.in-berlin.de>
+ *   John Bintz <jcoswell@coswellproductions.org>
  *
+ * Copyright (C) 2006 John Bintz
  * Copyright (C) 2004 Bryce Harrington
  *
  * Released under GNU GPL.  Read the file 'COPYING' for more information.
@@ -25,6 +27,7 @@
 
 #include "ui/dialog/dialog-manager.h"
 #include "ui/view/edit-widget-interface.h"
+#include "ui/widget/dock.h"
 #include "ui/widget/selected-style.h"
 #include "ui/widget/ruler.h"
 #include "ui/widget/toolbox.h"
@@ -40,7 +43,7 @@ namespace Inkscape {
 namespace UI {
 namespace View {
 
-class EditWidget : public Gtk::Window, 
+class EditWidget : public Gtk::Window,
                    public EditWidgetInterface {
 public:
     EditWidget (SPDocument*);
@@ -83,52 +86,61 @@ public:
     void onDialogTrace();
     void onDialogXmlEditor();
 
-       // Whiteboard (Inkboard)
+    // Whiteboard (Inkboard)
 #ifdef WITH_INKBOARD
-       void onDialogWhiteboardConnect();
-       void onDialogWhiteboardShareWithUser();
-       void onDialogWhiteboardShareWithChat();
-       void onDialogOpenSessionFile();
-       void onDumpXMLTracker();
+    void onDialogWhiteboardConnect();
+    void onDialogWhiteboardShareWithUser();
+    void onDialogWhiteboardShareWithChat();
+    void onDialogOpenSessionFile();
+    void onDumpXMLTracker();
 #endif
 
     void onUriChanged();
 
     // from EditWidgetInterface
-    virtual void *getWindow();
+    virtual Gtk::Window* getWindow();
     virtual void setTitle (gchar const*);
     virtual void layout();
     virtual void present();
     virtual void getGeometry (gint &x, gint &y, gint &w, gint &h);
     virtual void setSize (gint w, gint h);
-    virtual void setPosition (NR::Point p);
+    virtual void setPosition (Geom::Point p);
     virtual void setTransient (void*, int);
-    virtual NR::Point getPointer();
+    virtual Geom::Point getPointer();
+    virtual void setIconified();
+    virtual void setMaximized();
     virtual void setFullscreen();
     virtual bool shutdown();
     virtual void destroy();
     virtual void requestCanvasUpdate();
+    virtual void requestCanvasUpdateAndWait();
+    virtual void enableInteraction();
+    virtual void disableInteraction();
     virtual void activateDesktop();
     virtual void deactivateDesktop();
-    virtual void viewSetPosition (NR::Point p);
+    virtual void viewSetPosition (Geom::Point p);
     virtual void updateRulers();
     virtual void updateScrollbars (double scale);
     virtual void toggleRulers();
     virtual void toggleScrollbars();
+    virtual void toggleColorProfAdjust();
     virtual void updateZoom();
     virtual void letZoomGrabFocus();
     virtual void setToolboxFocusTo (const gchar *);
     virtual void setToolboxAdjustmentValue (const gchar *, double);
+    virtual void setToolboxSelectOneValue (const gchar *, gint);
     virtual bool isToolboxButtonActive (gchar const*);
-    virtual void setCoordinateStatus (NR::Point p);
+    virtual void setCoordinateStatus (Geom::Point p);
     virtual void setMessage (Inkscape::MessageType type, gchar const* msg);
     virtual bool warnDialog (gchar*);
 
+    virtual Inkscape::UI::Widget::Dock* getDock ();
+
 protected:
-    friend void _namedview_modified (SPNamedView*, guint, EditWidget*);
+    void _namedview_modified(SPObject *namedview, guint);
 
     Gtk::Tooltips        _tooltips;
-    
+
     // Child widgets:
     Gtk::Table           _main_window_table;
     Gtk::VBox            _toolbars_vbox;
@@ -149,6 +161,7 @@ protected:
     Gtk::ToggleButton    _sticky_zoom;
     UI::Widget::SVGCanvas _svg_canvas;
     Gtk::HBox            _statusbar;
+    UI::Widget::Dock _dock;
     UI::Widget::SelectedStyle _selected_style_status;
     UI::Widget::ZoomStatus _zoom_status;
     Inkscape::Widgets::LayerSelector _layer_selector;
@@ -156,7 +169,7 @@ protected:
     Gtk::Table           _coord_status;
     Gtk::Label           _coord_status_x, _coord_status_y;
     Gtk::Label           _select_status;
-    
+
     SPDesktop*           _desktop;
     SPNamedView*         _namedview;
     double               _dt2r;
@@ -192,6 +205,9 @@ private:
     void onAdjValueChanged();
 
     bool _update_s_f, _update_a_f;
+    unsigned int _interaction_disabled_counter;
+
+    sigc::connection _namedview_modified_connection;
 };
 } // namespace View
 } // namespace UI