summaryrefslogtreecommitdiffstats
path: root/src/module.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-12-09 05:48:35 +0000
committerDavid Robillard <d@drobilla.net>2011-12-09 05:48:35 +0000
commit985d9b8babb2faac0de62cb684fc14c7910e9909 (patch)
treee59ebd3ae5144f503795aadbcbd4fb570c22377e /src/module.c
parent00df069cdf55e115ea734119c0ba97b78192cfcc (diff)
downloadganv-985d9b8babb2faac0de62cb684fc14c7910e9909.tar.gz
ganv-985d9b8babb2faac0de62cb684fc14c7910e9909.tar.bz2
ganv-985d9b8babb2faac0de62cb684fc14c7910e9909.zip
Remove GnomeCanvas dependency.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@3842 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/module.c')
-rw-r--r--src/module.c111
1 files changed, 58 insertions, 53 deletions
diff --git a/src/module.c b/src/module.c
index 21fca0a..e509615 100644
--- a/src/module.c
+++ b/src/module.c
@@ -18,6 +18,7 @@
#include "ganv/canvas.h"
#include "ganv/module.h"
#include "ganv/port.h"
+#include "ganv/widget.h"
#include "./color.h"
#include "./boilerplate.h"
@@ -112,7 +113,7 @@ ganv_module_set_property(GObject* object,
FOREACH_PORT_CONST(gobj()->ports, p) {
(*p)->show_label(b);
}*/
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(object));
+ ganv_item_request_update(GANV_ITEM(object));
}
break;
}
@@ -172,7 +173,7 @@ measure(GanvModule* module, Metrics* m)
double title_w, title_h;
title_size(module, &title_w, &title_h);
- GanvCanvas* canvas = GANV_CANVAS(GNOME_CANVAS_ITEM(module)->canvas);
+ GanvCanvas* canvas = GANV_CANVAS(GANV_ITEM(module)->canvas);
GanvText* canvas_title = GANV_NODE(module)->impl->label;
GanvModuleImpl* impl = module->impl;
@@ -268,28 +269,28 @@ place_title(GanvModule* module, GanvDirection dir)
return;
} else if (dir == GANV_DIRECTION_RIGHT) {
if (impl->icon_box) {
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(canvas_title),
- "x", MODULE_ICON_SIZE + 1.0,
- NULL);
+ ganv_item_set(GANV_ITEM(canvas_title),
+ "x", MODULE_ICON_SIZE + 1.0,
+ NULL);
} else {
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(canvas_title),
- "x", ((ganv_box_get_width(box) / 2.0)
- - (title_w / 2.0)),
- NULL);
+ ganv_item_set(GANV_ITEM(canvas_title),
+ "x", ((ganv_box_get_width(box) / 2.0)
+ - (title_w / 2.0)),
+ NULL);
}
} else {
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(canvas_title),
- "x", ((ganv_box_get_width(box) / 2.0)
- - (title_w / 2.0)),
- "y", ganv_module_get_empty_port_depth(module) + 2.0,
- NULL);
+ ganv_item_set(GANV_ITEM(canvas_title),
+ "x", ((ganv_box_get_width(box) / 2.0)
+ - (title_w / 2.0)),
+ "y", ganv_module_get_empty_port_depth(module) + 2.0,
+ NULL);
}
}
static void
resize_horiz(GanvModule* module)
{
- GanvCanvas* canvas = GANV_CANVAS(GNOME_CANVAS_ITEM(module)->canvas);
+ GanvCanvas* canvas = GANV_CANVAS(GANV_ITEM(module)->canvas);
GanvModuleImpl* impl = module->impl;
Metrics m;
@@ -304,9 +305,9 @@ resize_horiz(GanvModule* module)
double height = header_height;
if (impl->embed_item) {
- gnome_canvas_item_set(impl->embed_item,
- "x", (double)m.embed_x,
- NULL);
+ ganv_item_set(impl->embed_item,
+ "x", (double)m.embed_x,
+ NULL);
}
// Actually set width and height
@@ -369,7 +370,7 @@ resize_horiz(GanvModule* module)
static void
resize_vert(GanvModule* module)
{
- GanvCanvas* canvas = GANV_CANVAS(GNOME_CANVAS_ITEM(module)->canvas);
+ GanvCanvas* canvas = GANV_CANVAS(GANV_ITEM(module)->canvas);
GanvModuleImpl* impl = module->impl;
Metrics m;
@@ -384,10 +385,10 @@ resize_vert(GanvModule* module)
const double port_breadth = ganv_module_get_empty_port_breadth(module);
if (impl->embed_item) {
- gnome_canvas_item_set(impl->embed_item,
- "x", (double)m.embed_x,
- "y", port_depth + title_h,
- NULL);
+ ganv_item_set(impl->embed_item,
+ "x", (double)m.embed_x,
+ "y", port_depth + title_h,
+ NULL);
}
const double height = PAD + title_h
@@ -460,7 +461,7 @@ layout(GanvNode* self)
GanvModule* module = GANV_MODULE(self);
GanvModuleImpl* impl = module->impl;
GanvNode* node = GANV_NODE(self);
- GanvCanvas* canvas = GANV_CANVAS(GNOME_CANVAS_ITEM(module)->canvas);
+ GanvCanvas* canvas = GANV_CANVAS(GANV_ITEM(module)->canvas);
double label_w = 0.0;
double label_h = 0.0;
@@ -506,10 +507,10 @@ ganv_module_resize(GanvNode* self)
}
static void
-ganv_module_update(GnomeCanvasItem* item,
- double* affine,
- ArtSVP* clip_path,
- int flags)
+ganv_module_update(GanvItem* item,
+ double* affine,
+ ArtSVP* clip_path,
+ int flags)
{
GanvNode* node = GANV_NODE(item);
GanvModule* module = GANV_MODULE(item);
@@ -517,7 +518,7 @@ ganv_module_update(GnomeCanvasItem* item,
layout(node);
}
- GnomeCanvasItemClass* item_class = GNOME_CANVAS_ITEM_CLASS(parent_class);
+ GanvItemClass* item_class = GANV_ITEM_CLASS(parent_class);
item_class->update(item, affine, clip_path, flags);
}
@@ -548,10 +549,10 @@ ganv_module_move(GanvNode* node,
static void
ganv_module_class_init(GanvModuleClass* class)
{
- GObjectClass* gobject_class = (GObjectClass*)class;
- GtkObjectClass* object_class = (GtkObjectClass*)class;
- GnomeCanvasItemClass* item_class = (GnomeCanvasItemClass*)class;
- GanvNodeClass* node_class = (GanvNodeClass*)class;
+ GObjectClass* gobject_class = (GObjectClass*)class;
+ GtkObjectClass* object_class = (GtkObjectClass*)class;
+ GanvItemClass* item_class = (GanvItemClass*)class;
+ GanvNodeClass* node_class = (GanvNodeClass*)class;
parent_class = GANV_BOX_CLASS(g_type_class_peek_parent(class));
@@ -662,10 +663,10 @@ ganv_module_add_port(GanvModule* module,
//}
GanvCanvas* canvas = GANV_CANVAS(
- GNOME_CANVAS_ITEM(module)->canvas);
+ GANV_ITEM(module)->canvas);
place_title(module, canvas->direction);
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(module));
+ ganv_item_request_update(GANV_ITEM(module));
}
void
@@ -696,7 +697,7 @@ ganv_module_remove_port(GanvModule* module,
}
_must_resize = true;
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(_gobj));
+ ganv_item_request_update(GANV_ITEM(_gobj));
} else {
std::cerr << "Failed to find port to remove" << std::endl;
}
@@ -713,7 +714,7 @@ double
ganv_module_get_empty_port_depth(const GanvModule* module)
{
GanvCanvas* canvas = GANV_CANVAS(
- GNOME_CANVAS_ITEM(module)->canvas);
+ GANV_ITEM(module)->canvas);
return ganv_canvas_get_font_size(canvas);
}
@@ -722,6 +723,9 @@ void
ganv_module_set_icon(GanvModule* module,
GdkPixbuf* icon)
{
+ fprintf(stderr, "FIXME: icon\n");
+ return;
+#if 0
GanvModuleImpl* impl = module->impl;
if (impl->icon_box) {
@@ -730,9 +734,9 @@ ganv_module_set_icon(GanvModule* module,
}
if (icon) {
- impl->icon_box = gnome_canvas_item_new(
- GNOME_CANVAS_GROUP(module),
- gnome_canvas_pixbuf_get_type(),
+ impl->icon_box = ganv_item_new(
+ GANV_GROUP(module),
+ ganv_canvas_base_pixbuf_get_type(),
"x", 8.0,
"y", 10.0,
"pixbuf", icon,
@@ -747,11 +751,12 @@ ganv_module_set_icon(GanvModule* module,
scale, 0.0, 0.0
};
- gnome_canvas_item_affine_relative(impl->icon_box, scale_trans);
- gnome_canvas_item_raise_to_top(impl->icon_box);
- gnome_canvas_item_show(impl->icon_box);
+ ganv_item_affine_relative(impl->icon_box, scale_trans);
+ ganv_item_raise_to_top(impl->icon_box);
+ ganv_item_show(impl->icon_box);
}
impl->must_resize = TRUE;
+#endif
}
static void
@@ -775,10 +780,10 @@ on_embed_size_request(GtkWidget* widget,
allocation.height = r->width;
gtk_widget_size_allocate(widget, &allocation);
- gnome_canvas_item_set(impl->embed_item,
- "width", (double)r->width,
- "height", (double)r->height,
- NULL);
+ ganv_item_set(impl->embed_item,
+ "width", (double)r->width,
+ "height", (double)r->height,
+ NULL);
}
void
@@ -803,9 +808,9 @@ ganv_module_embed(GanvModule* module,
title_size(module, &title_w, &title_h);
const double y = 4.0 + title_h;
- impl->embed_item = gnome_canvas_item_new(
- GNOME_CANVAS_GROUP(module),
- gnome_canvas_widget_get_type(),
+ impl->embed_item = ganv_item_new(
+ GANV_GROUP(module),
+ ganv_widget_get_type(),
"x", 2.0,
"y", y,
"widget", widget,
@@ -817,14 +822,14 @@ ganv_module_embed(GanvModule* module,
gtk_widget_size_request(widget, &r);
on_embed_size_request(widget, &r, module);
- gnome_canvas_item_show(impl->embed_item);
- gnome_canvas_item_raise_to_top(impl->embed_item);
+ ganv_item_show(impl->embed_item);
+ ganv_item_raise_to_top(impl->embed_item);
g_signal_connect(widget, "size-request",
G_CALLBACK(on_embed_size_request), module);
layout(GANV_NODE(module));
- gnome_canvas_item_request_update(GNOME_CANVAS_ITEM(module));
+ ganv_item_request_update(GANV_ITEM(module));
}
void