diff --git a/src/desktop.h b/src/desktop.h
index e5f9cdacc1a1b473460d732f340efbf386effbda..bc80336de4eb0b9d8de05e972dd4e7cbd6f64286 100644 (file)
--- a/src/desktop.h
+++ b/src/desktop.h
#include "config.h"
#endif
+#include <gdk/gdkevents.h>
#include <gtk/gtktypeutils.h>
#include <sigc++/sigc++.h>
+
#include "libnr/nr-matrix.h"
#include "libnr/nr-matrix-fns.h"
#include "libnr/nr-rect.h"
class NRRect;
class SPCSSAttr;
+struct _GtkWidget;
+typedef struct _GtkWidget GtkWidget;
struct SPCanvas;
struct SPCanvasItem;
struct SPCanvasGroup;
struct SPStyle;
struct SPViewWidget;
+namespace Gtk
+{
+ class Window;
+}
+
typedef int sp_verb_t;
+
+
namespace Inkscape {
class Application;
class MessageContext;
SPCanvasItem *acetate;
SPCanvasGroup *main;
- SPCanvasGroup *grid;
+ SPCanvasGroup *gridgroup;
SPCanvasGroup *guides;
SPCanvasItem *drawing;
SPCanvasGroup *sketch;
GList *zooms_future;
unsigned int dkey;
unsigned int number;
- bool is_fullscreen;
+ guint window_state;
unsigned int interaction_disabled_counter;
bool waiting_cursor;
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;
void setWindowPosition (NR::Point p);
void setWindowSize (gint w, gint h);
void setWindowTransient (void* p, int transient_policy=1);
+ 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 setWaitingCursor();
void clearWaitingCursor();
+ void toggleGrid();
+ bool gridsEnabled() { return grids_visible; }
+
+ bool is_iconified();
+ bool is_maximized();
+ bool is_fullscreen();
+
+ void iconify();
+ void maximize();
void fullscreen();
void registerEditWidget (Inkscape::UI::View::EditWidgetInterface *widget)
{ _widget = widget; }
- NR::Matrix w2d() const;
+ NR::Matrix w2d() const; //transformation from window to desktop coordinates (used for zooming)
NR::Point w2d(NR::Point const &p) const;
NR::Point d2w(NR::Point const &p) const;
NR::Matrix doc2dt() const;
virtual void mouseover() {}
virtual void mouseout() {}
+ virtual bool onDeleteUI (GdkEventAny*);
+ virtual bool onWindowStateEvent (GdkEventWindowState* event);
+
private:
Inkscape::UI::View::EditWidgetInterface *_widget;
Inkscape::Application *_inkscape;
NR::Matrix _d2w;
NR::Matrix _doc2dt;
+ bool grids_visible;
+
void push_current_zoom (GList**);
sigc::signal<void,SPDesktop*,SPDocument*> _document_replaced_signal;