1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #include "widget.h"
30 #include "container.h"
31
32 #include "../common/object.h"
33
34 void ui_widget_size_request(
UIWIDGET w,
int width,
int height) {
35 if(width >
0 || height >
0) {
36 if(width ==
0) {
37 width =
-1;
38 }
39 if(height ==
0) {
40 height =
-1;
41 }
42 gtk_widget_set_size_request(w, width, height);
43 }
44 }
45
46
47 UIWIDGET ui_customwidget_create(UiObject *obj, ui_createwidget_func create_widget,
void *userdata, UiWidgetArgs *args) {
48 UIWIDGET widget = create_widget(obj, args, userdata);
49
50 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
51 UiLayout layout =
UI_ARGS2LAYOUT(args);
52 ct->add(ct, widget, &layout);
53
54 return widget;
55 }
56
57 UIWIDGET ui_separator_create(UiObject *obj, UiWidgetArgs *args) {
58 GtkWidget *widget = gtk_separator_new(
GTK_ORIENTATION_HORIZONTAL);
59 ui_set_name_and_style(widget, args->name, args->style_class);
60 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
61 UiLayout layout =
UI_ARGS2LAYOUT(args);
62 ct->add(ct, widget, &layout);
63 return widget;
64 }
65
66 void ui_widget_set_size(
UIWIDGET w,
int width,
int height) {
67 gtk_widget_set_size_request(w, width, height);
68 }
69
70 void ui_widget_redraw(
UIWIDGET w) {
71 gtk_widget_queue_draw(w);
72 }
73