diff --git a/src/desktop.h b/src/desktop.h
index 3bf6fa65a99e5f6ee373fd1c520b2f3c50cdc3c7..bb05331b6add722ff1cd3f0565a14736467227e9 100644 (file)
--- a/src/desktop.h
+++ b/src/desktop.h
-#ifndef __SP_DESKTOP_H__
-#define __SP_DESKTOP_H__
+#ifndef SEEN_SP_DESKTOP_H
+#define SEEN_SP_DESKTOP_H
/** \file
* SPDesktop: an editable view.
struct SPCanvas;
struct SPCanvasItem;
struct SPCanvasGroup;
-struct SPDesktopWidget;
struct SPEventContext;
struct SPItem;
struct SPNamedView;
struct SPObject;
struct SPStyle;
-struct SPViewWidget;
namespace Gtk
{
- class Widget;
+ class Window;
}
typedef int sp_verb_t;
-namespace Inkscape {
+namespace Inkscape {
class Application;
class MessageContext;
- class Selection;
+ class Selection;
class ObjectHierarchy;
class LayerManager;
class EventLog;
- namespace UI {
- namespace Dialog {
- class DialogManager;
+ namespace UI {
+ namespace Dialog {
+ class DialogManager;
}
}
namespace Whiteboard {
class SessionManager;
}
+ namespace Display {
+ class TemporaryItemList;
+ class TemporaryItem;
+ }
}
/**
Inkscape::LayerManager *layer_manager;
Inkscape::EventLog *event_log;
+ Inkscape::Display::TemporaryItemList *temporary_item_list;
+
SPCanvasItem *acetate;
SPCanvasGroup *main;
SPCanvasGroup *gridgroup;
SPCanvasItem *drawing;
SPCanvasGroup *sketch;
SPCanvasGroup *controls;
+ SPCanvasGroup *tempgroup; ///< contains temporary canvas items
SPCanvasItem *table; ///< outside-of-page background
SPCanvasItem *page; ///< page background
SPCanvasItem *page_border; ///< page border
/// \todo fixme: This has to be implemented in different way */
guint guides_active : 1;
- // storage for selected dragger used by GrDrag as it's
+ // storage for selected dragger used by GrDrag as it's
// created and deleted by tools
SPItem *gr_item;
guint gr_point_type;
guint gr_point_i;
- bool gr_fill_or_stroke;
-
+ bool gr_fill_or_stroke;
+
Inkscape::ObjectHierarchy *_layer_hierarchy;
gchar * _reconstruction_old_layer_id;
{
return _document_replaced_signal.connect (slot);
}
-
- sigc::connection connectEventContextChanged (const sigc::slot<void,SPDesktop*,SPEventContext*> & slot)
+
+ sigc::connection connectEventContextChanged (const sigc::slot<void,SPDesktop*,SPEventContext*> & slot)
{
return _event_context_changed_signal.connect (slot);
}
- sigc::connection connectSetStyle (const sigc::slot<bool, const SPCSSAttr *> & slot)
+ sigc::connection connectSetStyle (const sigc::slot<bool, const SPCSSAttr *> & slot)
{
- return _set_style_signal.connect (slot);
+ return _set_style_signal.connect (slot);
}
- sigc::connection connectQueryStyle (const sigc::slot<int, SPStyle *, int> & slot)
+ sigc::connection connectQueryStyle (const sigc::slot<int, SPStyle *, int> & slot)
{
- return _query_style_signal.connect (slot);
+ return _query_style_signal.connect (slot);
}
// subselection is some sort of selection which is specific to the tool, such as a handle in gradient tool, or a text selection
sigc::connection connectToolSubselectionChanged(const sigc::slot<void, gpointer> & slot) {
- return _tool_subselection_changed.connect(slot);
+ return _tool_subselection_changed.connect(slot);
}
- void emitToolSubselectionChanged(gpointer data);
+ void emitToolSubselectionChanged(gpointer data);
sigc::connection connectCurrentLayerChanged(const sigc::slot<void, SPObject *> & slot) {
- return _layer_changed_signal.connect(slot);
+ return _layer_changed_signal.connect(slot);
}
-
- // Whiteboard changes
+
+ // Whiteboard changes
#ifdef WITH_INKBOARD
- Inkscape::Whiteboard::SessionManager* whiteboard_session_manager() {
- return _whiteboard_session_manager;
- }
+ Inkscape::Whiteboard::SessionManager* whiteboard_session_manager() {
+ return _whiteboard_session_manager;
+ }
- Inkscape::Whiteboard::SessionManager* _whiteboard_session_manager;
+ Inkscape::Whiteboard::SessionManager* _whiteboard_session_manager;
#endif
-
+
SPDesktop();
void init (SPNamedView* nv, SPCanvas* canvas);
- ~SPDesktop();
+ virtual ~SPDesktop();
void destroy();
Inkscape::MessageContext *guidesMessageContext() const {
- return _guides_message_context;
+ return _guides_message_context;
}
+ Inkscape::Display::TemporaryItem * add_temporary_canvasitem (SPCanvasItem *item, guint lifetime);
+ void remove_temporary_canvasitem (Inkscape::Display::TemporaryItem * tempitem);
+
void setDisplayModeNormal();
void setDisplayModeOutline();
void displayModeToggle();
int displayMode;
int getMode() const { return displayMode; }
+ Inkscape::UI::Widget::Dock* getDock() { return _widget->getDock(); }
+
void set_active (bool new_active);
SPObject *currentRoot() const;
SPObject *currentLayer() const;
bool isLayer(SPObject *object) const;
bool isWithinViewport(SPItem *item) const;
bool itemIsHidden(SPItem const *item) const;
-
+
void activate_guides (bool activate);
void change_document (SPDocument *document);
void setWindowPosition (NR::Point p);
void setWindowSize (gint w, gint h);
void setWindowTransient (void* p, int transient_policy=1);
- void getToplevel( Gtk::Widget*& toplevel );
+ Gtk::Window* getToplevel();
void presentWindow();
bool warnDialog (gchar *text);
void toggleRulers();
void destroyWidget();
void setToolboxFocusTo (gchar const* label);
void setToolboxAdjustmentValue (gchar const* id, double val);
+ void setToolboxSelectOneValue (gchar const* id, gint val);
bool isToolboxButtonActive (gchar const *id);
void updateNow();
void updateCanvasNow();
-
+
void enableInteraction();
void disableInteraction();
void setWaitingCursor();
void clearWaitingCursor();
-
- void toggleGrid();
+
+ void toggleColorProfAdjust();
+
+ void toggleGrids();
+ void toggleSnapping();
bool gridsEnabled() { return grids_visible; }
-
+ void showGrids(bool show, bool dirty_document = true);
+
bool is_iconified();
bool is_maximized();
bool is_fullscreen();
virtual void mouseover() {}
virtual void mouseout() {}
- virtual bool onDeleteUI (GdkEventAny*);
- virtual bool onWindowStateEvent (GdkEventWindowState* event);
+ virtual bool onDeleteUI (GdkEventAny*);
+ virtual bool onWindowStateEvent (GdkEventWindowState* event);
private:
Inkscape::UI::View::EditWidgetInterface *_widget;
NR::Matrix _w2d;
NR::Matrix _d2w;
NR::Matrix _doc2dt;
-
- bool grids_visible;
-
+
+ bool grids_visible; /* don't set this variable directly, use the method below */
+ void set_grids_visible(bool visible);
+
void push_current_zoom (GList**);
sigc::signal<void,SPDesktop*,SPDocument*> _document_replaced_signal;
sigc::signal<void> _deactivate_signal;
sigc::signal<void,SPDesktop*,SPEventContext*> _event_context_changed_signal;
sigc::signal<void, gpointer> _tool_subselection_changed;
-
+
sigc::connection _activate_connection;
sigc::connection _deactivate_connection;
sigc::connection _sel_modified_connection;
sigc::connection _reconstruction_finish_connection;
sigc::connection _commit_connection;
sigc::connection _modified_connection;
-
+
virtual void onPositionSet (double, double);
virtual void onResized (double, double);
virtual void onRedrawRequested();
static void _onSelectionModified (Inkscape::Selection *selection, guint flags, SPDesktop *dt);
};
-#endif
+#endif // SEEN_SP_DESKTOP_H
/*
Local Variables: