~ubuntu-branches/ubuntu/utopic/inkscape/utopic-proposed

« back to all changes in this revision

Viewing changes to .pc/0004-Fix_FTBFS_on_gcc-4.8.patch/src/widgets/desktop-widget.h

  • Committer: Package Import Robot
  • Author(s): Mattia Rizzolo
  • Date: 2014-01-14 15:44:58 UTC
  • mfrom: (2.5.10 sid)
  • Revision ID: package-import@ubuntu.com-20140114154458-3283675h9vtv5ccc
Tags: 0.48.4-3ubuntu1
* Merge from Debian unstable (LP: #1225013).  Remaining changes:
  - debian/control:
    + Set Ubuntu Developer as maintainer,
    + build-depend on dh-translation to handle Ubuntu translation,
    + build against liblcsm2 instead of liblcsm1,
    + demote pstoedit from Recommends to Suggests (because it's on universe),
    + add a ${python:Depends}.
  - debian/patches/0006_add_unity_quicklist_support.patch: add.
  - debian/patches/series: update.
  - debian/rules:
    + add dh_translation to handle Ubuntu translation,
    + add python2 to dh addon.
* Debian changes:
  - debian/control: make description more user-friendly (LP: #811634)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef SEEN_SP_DESKTOP_WIDGET_H
 
2
#define SEEN_SP_DESKTOP_WIDGET_H
 
3
 
 
4
/** \file
 
5
 * SPDesktopWidget: handling Gtk events on a desktop.
 
6
 *
 
7
 * Authors:
 
8
 *      Jon A. Cruz <jon@joncruz.org> (c) 2010
 
9
 *      John Bintz <jcoswell@coswellproductions.org> (c) 2006
 
10
 *      Ralf Stephan <ralf@ark.in-berlin.de> (c) 2005, distrib. under GPL2
 
11
 *      ? -2004
 
12
 */
 
13
 
 
14
#include <gtk/gtk.h>
 
15
 
 
16
#include "display/display-forward.h"
 
17
#include "libnr/nr-point.h"
 
18
#include "forward.h"
 
19
#include "message.h"
 
20
#include "ui/view/view-widget.h"
 
21
#include "ui/view/edit-widget-interface.h"
 
22
 
 
23
#include <stddef.h>
 
24
#include <sigc++/connection.h>
 
25
 
 
26
// forward declaration
 
27
typedef struct _EgeColorProfTracker EgeColorProfTracker;
 
28
 
 
29
 
 
30
#define SP_TYPE_DESKTOP_WIDGET SPDesktopWidget::getType()
 
31
#define SP_DESKTOP_WIDGET(o) (GTK_CHECK_CAST ((o), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidget))
 
32
#define SP_DESKTOP_WIDGET_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidgetClass))
 
33
#define SP_IS_DESKTOP_WIDGET(o) (GTK_CHECK_TYPE ((o), SP_TYPE_DESKTOP_WIDGET))
 
34
#define SP_IS_DESKTOP_WIDGET_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_DESKTOP_WIDGET))
 
35
 
 
36
void sp_desktop_widget_destroy (SPDesktopWidget* dtw);
 
37
 
 
38
void sp_desktop_widget_show_decorations(SPDesktopWidget *dtw, gboolean show);
 
39
void sp_desktop_widget_iconify(SPDesktopWidget *dtw);
 
40
void sp_desktop_widget_maximize(SPDesktopWidget *dtw);
 
41
void sp_desktop_widget_fullscreen(SPDesktopWidget *dtw);
 
42
void sp_desktop_widget_update_zoom(SPDesktopWidget *dtw);
 
43
void sp_desktop_widget_update_rulers (SPDesktopWidget *dtw);
 
44
void sp_desktop_widget_update_hruler (SPDesktopWidget *dtw);
 
45
void sp_desktop_widget_update_vruler (SPDesktopWidget *dtw);
 
46
 
 
47
/* Show/hide rulers & scrollbars */
 
48
void sp_desktop_widget_toggle_rulers (SPDesktopWidget *dtw);
 
49
void sp_desktop_widget_toggle_scrollbars (SPDesktopWidget *dtw);
 
50
void sp_desktop_widget_update_scrollbars (SPDesktopWidget *dtw, double scale);
 
51
void sp_desktop_widget_toggle_color_prof_adj( SPDesktopWidget *dtw );
 
52
 
 
53
void sp_dtw_desktop_activate (SPDesktopWidget *dtw);
 
54
void sp_dtw_desktop_deactivate (SPDesktopWidget *dtw);
 
55
 
 
56
namespace Inkscape { namespace Widgets { class LayerSelector; } }
 
57
 
 
58
namespace Inkscape { namespace UI { namespace Widget { class SelectedStyle; } } }
 
59
 
 
60
namespace Inkscape { namespace UI { namespace Dialogs { class SwatchesPanel; } } }
 
61
 
 
62
/// A GtkEventBox on an SPDesktop.
 
63
struct SPDesktopWidget {
 
64
    SPViewWidget viewwidget;
 
65
 
 
66
    unsigned int update : 1;
 
67
 
 
68
    sigc::connection modified_connection;
 
69
 
 
70
    GtkTooltips *tt;
 
71
 
 
72
    SPDesktop *desktop;
 
73
 
 
74
    Gtk::Window *window;
 
75
 
 
76
    // The root vbox of the window layout.
 
77
    GtkWidget *vbox;
 
78
 
 
79
    GtkWidget *hbox;
 
80
 
 
81
    GtkWidget *menubar, *statusbar;
 
82
 
 
83
    Inkscape::UI::Dialogs::SwatchesPanel *panels;
 
84
 
 
85
    GtkWidget *hscrollbar, *vscrollbar, *vscrollbar_box;
 
86
 
 
87
    /* Rulers */
 
88
    GtkWidget *hruler, *vruler;
 
89
    GtkWidget *hruler_box, *vruler_box; // eventboxes for setting tooltips
 
90
 
 
91
    GtkWidget *sticky_zoom;
 
92
    GtkWidget *cms_adjust;
 
93
    GtkWidget *coord_status;
 
94
    GtkWidget *coord_status_x;
 
95
    GtkWidget *coord_status_y;
 
96
    GtkWidget *select_status;
 
97
    GtkWidget *select_status_eventbox;
 
98
    GtkWidget *zoom_status;
 
99
    gulong zoom_update;
 
100
 
 
101
    Inkscape::UI::Widget::Dock *dock;
 
102
 
 
103
    Inkscape::UI::Widget::SelectedStyle *selected_style;
 
104
 
 
105
    gint coord_status_id, select_status_id;
 
106
 
 
107
    unsigned int _interaction_disabled_counter;
 
108
 
 
109
    SPCanvas *canvas;
 
110
    Geom::Point ruler_origin;
 
111
    double dt2r;
 
112
 
 
113
    GtkAdjustment *hadj, *vadj;
 
114
 
 
115
    Inkscape::Widgets::LayerSelector *layer_selector;
 
116
 
 
117
    EgeColorProfTracker* _tracker;
 
118
 
 
119
    struct WidgetStub : public Inkscape::UI::View::EditWidgetInterface {
 
120
        SPDesktopWidget *_dtw;
 
121
        SPDesktop       *_dt;
 
122
        WidgetStub (SPDesktopWidget* dtw) : _dtw(dtw) {}
 
123
 
 
124
        virtual void setTitle (gchar const *uri)
 
125
            { _dtw->updateTitle (uri); }
 
126
        virtual Gtk::Window* getWindow()
 
127
            { return _dtw->window; }
 
128
 
 
129
        virtual void layout() {
 
130
            _dtw->layoutWidgets();
 
131
        }
 
132
 
 
133
        virtual void present()
 
134
            { _dtw->presentWindow(); }
 
135
        virtual void getGeometry (gint &x, gint &y, gint &w, gint &h)
 
136
            { _dtw->getWindowGeometry (x, y, w, h); }
 
137
        virtual void setSize (gint w, gint h)
 
138
            { _dtw->setWindowSize (w, h); }
 
139
        virtual void setPosition (Geom::Point p)
 
140
            { _dtw->setWindowPosition (p); }
 
141
        virtual void setTransient (void* p, int transient_policy)
 
142
            { _dtw->setWindowTransient (p, transient_policy); }
 
143
        virtual Geom::Point getPointer()
 
144
            { return _dtw->window_get_pointer(); }
 
145
        virtual void setIconified()
 
146
            { sp_desktop_widget_iconify (_dtw); }
 
147
        virtual void setMaximized()
 
148
            { sp_desktop_widget_maximize (_dtw); }
 
149
        virtual void setFullscreen()
 
150
            { sp_desktop_widget_fullscreen (_dtw); }
 
151
        virtual bool shutdown()
 
152
            { return _dtw->shutdown(); }
 
153
        virtual void destroy()
 
154
            {
 
155
                if(_dtw->window != NULL)
 
156
                    delete _dtw->window;
 
157
                _dtw->window = NULL;
 
158
            }
 
159
 
 
160
        virtual void requestCanvasUpdate()
 
161
            { _dtw->requestCanvasUpdate(); }
 
162
        virtual void requestCanvasUpdateAndWait()
 
163
            { _dtw->requestCanvasUpdateAndWait(); }
 
164
        virtual void enableInteraction()
 
165
            { _dtw->enableInteraction(); }
 
166
        virtual void disableInteraction()
 
167
            { _dtw->disableInteraction(); }
 
168
        virtual void activateDesktop()
 
169
            { sp_dtw_desktop_activate (_dtw); }
 
170
        virtual void deactivateDesktop()
 
171
            { sp_dtw_desktop_deactivate (_dtw); }
 
172
        virtual void viewSetPosition (Geom::Point p)
 
173
            { _dtw->viewSetPosition (p); }
 
174
        virtual void updateRulers()
 
175
            { sp_desktop_widget_update_rulers (_dtw); }
 
176
        virtual void updateScrollbars (double scale)
 
177
            { sp_desktop_widget_update_scrollbars (_dtw, scale); }
 
178
        virtual void toggleRulers()
 
179
            { sp_desktop_widget_toggle_rulers (_dtw); }
 
180
        virtual void toggleScrollbars()
 
181
            { sp_desktop_widget_toggle_scrollbars (_dtw); }
 
182
        virtual void toggleColorProfAdjust()
 
183
            { sp_desktop_widget_toggle_color_prof_adj(_dtw); }
 
184
        virtual void updateZoom()
 
185
            { sp_desktop_widget_update_zoom (_dtw); }
 
186
        virtual void letZoomGrabFocus()
 
187
            { _dtw->letZoomGrabFocus(); }
 
188
        virtual void setToolboxFocusTo (const gchar * id)
 
189
            { _dtw->setToolboxFocusTo (id); }
 
190
        virtual void setToolboxAdjustmentValue (const gchar *id, double val)
 
191
            { _dtw->setToolboxAdjustmentValue (id, val); }
 
192
        virtual void setToolboxSelectOneValue (gchar const *id, int val)
 
193
            { _dtw->setToolboxSelectOneValue (id, val); }
 
194
        virtual bool isToolboxButtonActive (gchar const* id)
 
195
            { return _dtw->isToolboxButtonActive (id); }
 
196
        virtual void setCoordinateStatus (Geom::Point p)
 
197
            { _dtw->setCoordinateStatus (p); }
 
198
        virtual void setMessage (Inkscape::MessageType type, gchar const* msg)
 
199
            { _dtw->setMessage (type, msg); }
 
200
        virtual bool warnDialog (gchar* text)
 
201
            { return _dtw->warnDialog (text); }
 
202
        virtual Inkscape::UI::Widget::Dock* getDock ()
 
203
            { return _dtw->getDock(); }
 
204
    };
 
205
 
 
206
    WidgetStub *stub;
 
207
 
 
208
    void setMessage(Inkscape::MessageType type, gchar const *message);
 
209
    Geom::Point window_get_pointer();
 
210
    bool shutdown();
 
211
    void viewSetPosition (Geom::Point p);
 
212
    void letZoomGrabFocus();
 
213
    void getWindowGeometry (gint &x, gint &y, gint &w, gint &h);
 
214
    void setWindowPosition (Geom::Point p);
 
215
    void setWindowSize (gint w, gint h);
 
216
    void setWindowTransient (void *p, int transient_policy);
 
217
    void presentWindow();
 
218
    bool warnDialog (gchar *text);
 
219
    void setToolboxFocusTo (gchar const *);
 
220
    void setToolboxAdjustmentValue (gchar const * id, double value);
 
221
    void setToolboxSelectOneValue (gchar const * id, gint value);
 
222
    bool isToolboxButtonActive (gchar const *id);
 
223
    void setToolboxPosition(Glib::ustring const& id, GtkPositionType pos);
 
224
    void setCoordinateStatus(Geom::Point p);
 
225
    void requestCanvasUpdate();
 
226
    void requestCanvasUpdateAndWait();
 
227
    void enableInteraction();
 
228
    void disableInteraction();
 
229
    void updateTitle(gchar const *uri);
 
230
    bool onFocusInEvent(GdkEventFocus*);
 
231
 
 
232
    Inkscape::UI::Widget::Dock* getDock();
 
233
 
 
234
    static GtkType getType();
 
235
    static SPDesktopWidget* createInstance(SPNamedView *namedview);
 
236
 
 
237
    void updateNamedview();
 
238
 
 
239
private:
 
240
    GtkWidget *tool_toolbox;
 
241
    GtkWidget *aux_toolbox;
 
242
    GtkWidget *commands_toolbox,;
 
243
    GtkWidget *snap_toolbox;
 
244
 
 
245
    static void init(SPDesktopWidget *widget);
 
246
    void layoutWidgets();
 
247
 
 
248
    void namedviewModified(SPObject *obj, guint flags);
 
249
 
 
250
};
 
251
 
 
252
/// The SPDesktopWidget vtable
 
253
struct SPDesktopWidgetClass {
 
254
    SPViewWidgetClass parent_class;
 
255
};
 
256
 
 
257
#endif /* !SEEN_SP_DESKTOP_WIDGET_H */
 
258
 
 
259
/*
 
260
  Local Variables:
 
261
  mode:c++
 
262
  c-file-style:"stroustrup"
 
263
  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
 
264
  indent-tabs-mode:nil
 
265
  fill-column:99
 
266
  End:
 
267
*/
 
268
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :