| 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) { |