ui/gtk/image.c

changeset 112
c3f2f16fa4b8
parent 108
77254bd6dccb
equal deleted inserted replaced
111:81c4f73236a4 112:c3f2f16fa4b8
62 } 62 }
63 63
64 #endif 64 #endif
65 65
66 UIWIDGET ui_imageviewer_create(UiObject *obj, UiImageViewerArgs *args) { 66 UIWIDGET ui_imageviewer_create(UiObject *obj, UiImageViewerArgs *args) {
67 UiObject *current = uic_current_obj(obj);
68
69 GtkWidget *drawingarea = gtk_drawing_area_new(); 67 GtkWidget *drawingarea = gtk_drawing_area_new();
70 GtkWidget *toplevel; 68 GtkWidget *toplevel;
71 GtkWidget *widget = drawingarea; 69 GtkWidget *widget = drawingarea;
72 70
73 gtk_widget_set_size_request(drawingarea, 100, 100); 71 gtk_widget_set_size_request(drawingarea, 100, 100);
109 imgviewer->useradjustable = args->useradjustable; 107 imgviewer->useradjustable = args->useradjustable;
110 imgviewer->zoom_scale = 20; 108 imgviewer->zoom_scale = 20;
111 109
112 g_object_set_data_full(G_OBJECT(drawingarea), "uiimageviewer", imgviewer, (GDestroyNotify)imageviewer_destroy); 110 g_object_set_data_full(G_OBJECT(drawingarea), "uiimageviewer", imgviewer, (GDestroyNotify)imageviewer_destroy);
113 111
114 UiVar *var = uic_widget_var(obj->ctx, current->ctx, args->value, args->varname, UI_VAR_GENERIC); 112 UiVar *var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_GENERIC);
115 imgviewer->var = var; 113 imgviewer->var = var;
116 imgviewer->widget = drawingarea; 114 imgviewer->widget = drawingarea;
117 115
118 if(var) { 116 if(var) {
119 UiGeneric *value = var->value; 117 UiGeneric *value = var->value;
185 if(args->contextmenu) { 183 if(args->contextmenu) {
186 UIMENU menu = ui_contextmenu_create(args->contextmenu, obj, widget); 184 UIMENU menu = ui_contextmenu_create(args->contextmenu, obj, widget);
187 ui_widget_set_contextmenu(widget, menu); 185 ui_widget_set_contextmenu(widget, menu);
188 } 186 }
189 187
190 UI_APPLY_LAYOUT2(current, args); 188 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
191 current->container->add(current->container, toplevel); 189 UiLayout layout = UI_ARGS2LAYOUT(args);
190 ct->add(ct, toplevel, &layout);
192 191
193 return toplevel; 192 return toplevel;
194 } 193 }
195 194
196 static void imageviewer_reset(UiImageViewer *imgviewer) { 195 static void imageviewer_reset(UiImageViewer *imgviewer) {

mercurial