1
#ifndef __SP_NODE_CONTEXT_H__
2
#define __SP_NODE_CONTEXT_H__
8
* Lauris Kaplinski <lauris@kaplinski.com>
9
* bulia byak <buliabyak@users.sf.net>
11
* This code is in public domain
14
#include <gtk/gtktypeutils.h>
15
#include <sigc++/sigc++.h>
16
#include "event-context.h"
18
#include "display/display-forward.h"
20
namespace Inkscape { class Selection; }
22
#define SP_TYPE_NODE_CONTEXT (sp_node_context_get_type ())
23
#define SP_NODE_CONTEXT(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_NODE_CONTEXT, SPNodeContext))
24
#define SP_NODE_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_NODE_CONTEXT, SPNodeContextClass))
25
#define SP_IS_NODE_CONTEXT(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_NODE_CONTEXT))
26
#define SP_IS_NODE_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_NODE_CONTEXT))
28
enum { SP_NODE_CONTEXT_INACTIVE,
29
SP_NODE_CONTEXT_NODE_DRAGGING,
30
SP_NODE_CONTEXT_RUBBERBAND_DRAGGING };
33
class SPNodeContextClass;
35
struct SPNodeContext {
36
// FIXME: shouldn't this be a pointer???
37
SPEventContext event_context;
46
/// If true, rubberband was cancelled by esc, so the next button release should not deselect.
49
sigc::connection sel_changed_connection;
51
Inkscape::MessageContext *_node_message_context;
57
unsigned int current_state;
59
SPItem * flashed_item;
60
SPCanvasItem *grabbed;
61
Inkscape::Display::TemporaryItem * flash_tempitem;
62
int remove_flash_counter;
65
struct SPNodeContextClass {
66
SPEventContextClass parent_class;
69
/* Standard Gtk function */
71
GtkType sp_node_context_get_type (void);
73
void sp_node_context_selection_changed (Inkscape::Selection * selection, gpointer data);
74
void sp_node_context_selection_modified (Inkscape::Selection * selection, guint flags, gpointer data);
81
c-file-style:"stroustrup"
82
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
87
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :