summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: ce175d7)
raw | patch | inline | side by side (parent: ce175d7)
author | knutux <knutux@users.sourceforge.net> | |
Thu, 6 Apr 2006 17:28:44 +0000 (17:28 +0000) | ||
committer | knutux <knutux@users.sourceforge.net> | |
Thu, 6 Apr 2006 17:28:44 +0000 (17:28 +0000) |
src/knot.cpp | patch | blob | history | |
src/knot.h | patch | blob | history | |
src/knotholder.cpp | patch | blob | history |
diff --git a/src/knot.cpp b/src/knot.cpp
index 5483280daafc463d9595f932845ed6ceed8174ac..3194336edaea6d6e4157485882634cab9107d548 100644 (file)
--- a/src/knot.cpp
+++ b/src/knot.cpp
*/
static void sp_knot_class_init(SPKnotClass *klass)
{
- GObjectClass *object_class = (GObjectClass *) klass;
+ GObjectClass *object_class = klass;
parent_class = (GObjectClass*) g_type_class_peek_parent(klass);
knot->tip = NULL;
}
- if (((GObjectClass *) (parent_class))->dispose) {
- (* ((GObjectClass *) (parent_class))->dispose) (object);
+ if (parent_class->dispose) {
+ (*parent_class->dispose) (object);
}
}
g_assert(knot != NULL);
g_assert(SP_IS_KNOT(knot));
- g_object_ref(G_OBJECT(knot));
+ g_object_ref(knot);
tolerance = prefs_get_int_attribute_limited("options.dragtolerance", "value", 0, 0, 100);
gboolean consumed = FALSE;
/* Run client universal event handler, if present */
- g_signal_emit(G_OBJECT(knot), knot_signals[EVENT], 0, event, &consumed);
+ g_signal_emit(knot, knot_signals[EVENT], 0, event, &consumed);
if (consumed) {
return TRUE;
switch (event->type) {
case GDK_2BUTTON_PRESS:
if (event->button.button == 1) {
- g_signal_emit(G_OBJECT(knot), knot_signals[DOUBLECLICKED], 0, event->button.state);
+ g_signal_emit(knot, knot_signals[DOUBLECLICKED], 0, event->button.state);
grabbed = FALSE;
moved = FALSE;
sp_knot_set_flag(knot,
SP_KNOT_DRAGGING,
FALSE);
- g_signal_emit(G_OBJECT (knot),
+ g_signal_emit(knot,
knot_signals[UNGRABBED], 0,
event->button.state);
} else {
- g_signal_emit(G_OBJECT (knot),
+ g_signal_emit(knot,
knot_signals[CLICKED], 0,
event->button.state);
}
within_tolerance = false;
if (!moved) {
- g_signal_emit(G_OBJECT (knot),
+ g_signal_emit(knot,
knot_signals[GRABBED], 0,
event->motion.state);
sp_knot_set_flag(knot,
sp_knot_set_flag(knot,
SP_KNOT_DRAGGING,
FALSE);
- g_signal_emit(G_OBJECT(knot),
+ g_signal_emit(knot,
knot_signals[UNGRABBED], 0,
event->button.state);
sp_document_undo(SP_DT_DOCUMENT(knot->desktop));
break;
}
- g_object_unref(G_OBJECT(knot));
+ g_object_unref(knot);
return consumed;
}
gboolean done = FALSE;
- g_signal_emit(G_OBJECT (knot),
+ g_signal_emit(knot,
knot_signals[REQUEST], 0,
p,
state,
gdouble distance = NR::L2(*p - knot->pos);
- g_signal_emit(G_OBJECT(knot),
+ g_signal_emit(knot,
knot_signals[DISTANCE], 0,
p,
state,
SP_CTRL(knot->item)->moveto (*p);
}
- g_signal_emit(G_OBJECT (knot),
+ g_signal_emit(knot,
knot_signals[MOVED], 0,
p,
state);
diff --git a/src/knot.h b/src/knot.h
index 5693417fd19db2589651a0836e74f344cacc798b..3df85014f9b257d47dfb8df2dfc5a8156f7fd024 100644 (file)
--- a/src/knot.h
+++ b/src/knot.h
* A knot is a draggable object, with callbacks to change something by
* dragging it, visuably represented by a canvas item (mostly square).
*/
-struct SPKnot {
- GObject object;
+struct SPKnot : GObject {
SPDesktop *desktop; /**< Desktop we are on. */
SPCanvasItem *item; /**< Our CanvasItem. */
guint flags;
};
/// The SPKnot vtable.
-struct SPKnotClass {
- GObjectClass parent_class;
-
+struct SPKnotClass : GObjectClass {
gint (* event) (SPKnot *knot, GdkEvent *event);
/*
diff --git a/src/knotholder.cpp b/src/knotholder.cpp
index 081ef276c519894a19f1f702ec85f19aca348e9d..ff6a819702bfc8711c75142637c48fac03565156 100644 (file)
--- a/src/knotholder.cpp
+++ b/src/knotholder.cpp
* SPKnotHolder vtable initialization.
*/
static void sp_knot_holder_class_init(SPKnotHolderClass *klass){
- GObjectClass *object_class = (GObjectClass *) klass;
parent_class = (GObjectClass*) g_type_class_peek_parent(klass);
- object_class->dispose = sp_knot_holder_dispose;
+ klass->dispose = sp_knot_holder_dispose;
}
SPKnotHolder *sp_knot_holder_new(SPDesktop *desktop, SPItem *item, SPKnotHolderReleasedFunc relhandler)
g_object_unref(G_OBJECT(kh->item));
while (kh->entity) {
SPKnotHolderEntity *e = (SPKnotHolderEntity *) kh->entity->data;
- g_signal_handler_disconnect(G_OBJECT (e->knot), e->_click_handler_id);
- g_signal_handler_disconnect(G_OBJECT (e->knot), e->_ungrab_handler_id);
+ g_signal_handler_disconnect(e->knot, e->_click_handler_id);
+ g_signal_handler_disconnect(e->knot, e->_ungrab_handler_id);
/* unref should call destroy */
- g_object_unref(G_OBJECT(e->knot));
+ g_object_unref(e->knot);
g_free(e);
kh->entity = g_slist_remove(kh->entity, e);
}
}
void sp_knot_holder_destroy(SPKnotHolder *kh) {
- g_object_unref(G_OBJECT(kh));
+ g_object_unref(kh);
}
void sp_knot_holder_add(
NR::Point dp = e->knot_get(item) * sp_item_i2d_affine(item);
sp_knot_set_position(e->knot, &dp, SP_KNOT_STATE_NORMAL);
- e->handler_id = g_signal_connect(G_OBJECT(e->knot), "moved", G_CALLBACK(knot_moved_handler), knot_holder);
- e->_click_handler_id = g_signal_connect(G_OBJECT(e->knot), "clicked", G_CALLBACK(knot_clicked_handler), knot_holder);
- e->_ungrab_handler_id = g_signal_connect(G_OBJECT(e->knot), "ungrabbed", G_CALLBACK(knot_ungrabbed_handler), knot_holder);
+ e->handler_id = g_signal_connect(e->knot, "moved", G_CALLBACK(knot_moved_handler), knot_holder);
+ e->_click_handler_id = g_signal_connect(e->knot, "clicked", G_CALLBACK(knot_clicked_handler), knot_holder);
+ e->_ungrab_handler_id = g_signal_connect(e->knot, "ungrabbed", G_CALLBACK(knot_ungrabbed_handler), knot_holder);
#ifdef KNOT_HOLDER_DEBUG
g_signal_connect(ob, "destroy", sp_knot_holder_debug, "SPKnotHolder::knot");
for (GSList *el = knot_holder->entity; el; el = el->next) {
SPKnotHolderEntity *e = (SPKnotHolderEntity *) el->data;
- GObject *kob = G_OBJECT(e->knot);
+ GObject *kob = e->knot;
NR::Point dp( e->knot_get(item) * i2d );
g_signal_handler_block(kob, e->handler_id);
SPKnotHolder *knot_holder = (SPKnotHolder *) data;
SPItem *item = SP_ITEM (knot_holder->item);
- g_object_ref(G_OBJECT(knot_holder));
+ g_object_ref(knot_holder);
for (GSList *el = knot_holder->entity; el; el = el->next) {
SPKnotHolderEntity *e = (SPKnotHolderEntity *) el->data;
if (e->knot == knot) {
}
knotholder_update_knots(knot_holder, item);
- g_object_unref(G_OBJECT(knot_holder));
+ g_object_unref(knot_holder);
// for drag, this is done by ungrabbed_handler, but for click we must do it here
sp_document_done(SP_OBJECT_DOCUMENT(knot_holder->item));