desktop-widget.h revision 2d34b2a875c91cad7ba5866d51d6c2afeb087eff
#ifndef SEEN_SP_DESKTOP_WIDGET_H
#define SEEN_SP_DESKTOP_WIDGET_H
/** \file
* SPDesktopWidget: handling Gtk events on a desktop.
*
* Authors:
* Jon A. Cruz <jon@joncruz.org> (c) 2010
* John Bintz <jcoswell@coswellproductions.org> (c) 2006
* Ralf Stephan <ralf@ark.in-berlin.de> (c) 2005, distrib. under GPL2
* ? -2004
*/
#include <gtk/gtktooltips.h>
#include <gtk/gtkwindow.h>
#include "display/display-forward.h"
#include "libnr/nr-point.h"
#include "forward.h"
#include "message.h"
#include "ui/view/view-widget.h"
#include "ui/view/edit-widget-interface.h"
#include <sigc++/connection.h>
// forward declaration
typedef struct _EgeColorProfTracker EgeColorProfTracker;
#define SP_DESKTOP_WIDGET_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidgetClass))
/// A GtkEventBox on an SPDesktop.
struct SPDesktopWidget {
unsigned int update : 1;
// The root vbox of the window layout.
/* Rulers */
unsigned int _interaction_disabled_counter;
double dt2r;
_dtw->layoutWidgets();
}
{ _dtw->presentWindow(); }
{ _dtw->getWindowGeometry (x, y, w, h); }
{ _dtw->setWindowSize (w, h); }
{ _dtw->setWindowPosition (p); }
{ return _dtw->window_get_pointer(); }
virtual void setIconified()
{ sp_desktop_widget_iconify (_dtw); }
virtual void setMaximized()
{ sp_desktop_widget_maximize (_dtw); }
virtual void setFullscreen()
{ sp_desktop_widget_fullscreen (_dtw); }
{
}
virtual void requestCanvasUpdate()
{ _dtw->requestCanvasUpdate(); }
{ _dtw->requestCanvasUpdateAndWait(); }
virtual void enableInteraction()
{ _dtw->enableInteraction(); }
virtual void disableInteraction()
{ _dtw->disableInteraction(); }
virtual void activateDesktop()
{ sp_dtw_desktop_activate (_dtw); }
virtual void deactivateDesktop()
{ sp_dtw_desktop_deactivate (_dtw); }
{ _dtw->viewSetPosition (p); }
virtual void updateRulers()
virtual void toggleRulers()
virtual void toggleScrollbars()
virtual void toggleColorProfAdjust()
virtual void updateZoom()
virtual void letZoomGrabFocus()
{ _dtw->letZoomGrabFocus(); }
{ _dtw->setCoordinateStatus (p); }
};
bool shutdown();
void letZoomGrabFocus();
void setWindowTransient (void *p, int transient_policy);
void presentWindow();
void setToolboxFocusTo (gchar const *);
void requestCanvasUpdate();
void requestCanvasUpdateAndWait();
void enableInteraction();
void disableInteraction();
bool onFocusInEvent(GdkEventFocus*);
void updateNamedview();
void layoutWidgets();
};
/// The SPDesktopWidget vtable
struct SPDesktopWidgetClass {
};
#endif /* !SEEN_SP_DESKTOP_WIDGET_H */
/*
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 :