~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): Alex Valavanis
  • Date: 2014-08-19 19:10:32 UTC
  • mfrom: (1.6.5) (2.5.14 sid)
  • Revision ID: package-import@ubuntu.com-20140819191032-2eca1qihaszjk9i6
Tags: 0.48.5-2ubuntu1
* Merge with Debian Unstable (LP: #1358863). Fixes several Ubuntu bugs:
  - Illustrator CS SVG won't load: namespace URIs in entities (LP: #166371)
  - inkscape crashed with SIGSEGV in
    sp_dtw_color_profile_event() (LP: #966441)
  - inkscape crashed with SIGSEGV (LP: #1051017)
  - inkscape crashed with SIGSEGV in Inkscape::Preferences::_getNode()
    (LP: #1163241)
  - save a copy reverts to save as (LP: #529843)
  - Extension to braille not working on Xubuntu 12.10 (LP: #1090865)
* Remaining changes:
  - debian/control:
    + Set Ubuntu Developer as maintainer,
    + build-depend on dh-translation to handle Ubuntu translation,
    + demote pstoedit from Recommends to Suggests (because it's in universe),
  - debian/patches/0006_add_unity_quicklist_support.patch: add.
  - debian/patches/series: update.
  - debian/rules:
    + add dh_translation to handle Ubuntu translation
* Drop debian/patches/librevenge.patch (superseded by
    debian/patches/0006-Update_to_new_libwpg.patch)

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 :