File: | tests/testctk.c |
Warning: | line 1437, column 7 Value stored to 'button' is never read |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | /* CTK - The GIMP Toolkit |
2 | * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald |
3 | * |
4 | * This library is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU Lesser General Public |
6 | * License as published by the Free Software Foundation; either |
7 | * version 2 of the License, or (at your option) any later version. |
8 | * |
9 | * This library is distributed in the hope that it will be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | * Lesser General Public License for more details. |
13 | * |
14 | * You should have received a copy of the GNU Lesser General Public |
15 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
16 | */ |
17 | |
18 | /* |
19 | * Modified by the CTK+ Team and others 1997-2000. See the AUTHORS |
20 | * file for a list of people on the CTK+ Team. See the ChangeLog |
21 | * files for a list of changes. These files are distributed with |
22 | * CTK+ at ftp://ftp.ctk.org/pub/ctk/. |
23 | */ |
24 | |
25 | |
26 | #include "config.h" |
27 | |
28 | #undef G_LOG_DOMAIN((gchar*) 0) |
29 | |
30 | #include <stdio.h> |
31 | #include <stdlib.h> |
32 | #include <string.h> |
33 | #include <sys/stat.h> |
34 | #include <math.h> |
35 | #include <time.h> |
36 | #ifdef HAVE_UNISTD_H1 |
37 | #include <unistd.h> |
38 | #endif |
39 | |
40 | #include "ctk/ctk.h" |
41 | #include "cdk/cdk.h" |
42 | #include "cdk/cdkkeysyms.h" |
43 | |
44 | #ifdef G_OS_WIN32 |
45 | #define sleep(n) _sleep(n) |
46 | #endif |
47 | |
48 | #include "test.xpm" |
49 | |
50 | gboolean |
51 | file_exists (const char *filename) |
52 | { |
53 | struct stat statbuf; |
54 | |
55 | return stat (filename, &statbuf) == 0; |
56 | } |
57 | |
58 | CtkWidget * |
59 | shape_create_icon (CdkScreen *screen, |
60 | char *xpm_file, |
61 | gint x, |
62 | gint y, |
63 | gint px, |
64 | gint py, |
65 | gint window_type); |
66 | |
67 | static CtkWidget * |
68 | build_option_menu (gchar *items[], |
69 | gint num_items, |
70 | gint history, |
71 | void (*func) (CtkWidget *widget, gpointer data), |
72 | gpointer data); |
73 | |
74 | /* macro, structure and variables used by tree window demos */ |
75 | #define DEFAULT_NUMBER_OF_ITEM3 3 |
76 | #define DEFAULT_RECURSION_LEVEL3 3 |
77 | |
78 | struct { |
79 | GSList* selection_mode_group; |
80 | CtkWidget* single_button; |
81 | CtkWidget* browse_button; |
82 | CtkWidget* multiple_button; |
83 | CtkWidget* draw_line_button; |
84 | CtkWidget* view_line_button; |
85 | CtkWidget* no_root_item_button; |
86 | CtkWidget* nb_item_spinner; |
87 | CtkWidget* recursion_spinner; |
88 | } sTreeSampleSelection; |
89 | |
90 | typedef struct sTreeButtons { |
91 | guint nb_item_add; |
92 | CtkWidget* add_button; |
93 | CtkWidget* remove_button; |
94 | CtkWidget* subtree_button; |
95 | } sTreeButtons; |
96 | /* end of tree section */ |
97 | |
98 | static CtkWidget * |
99 | build_option_menu (gchar *items[], |
100 | gint num_items, |
101 | gint history, |
102 | void (*func)(CtkWidget *widget, gpointer data), |
103 | gpointer data) |
104 | { |
105 | CtkWidget *omenu; |
106 | gint i; |
107 | |
108 | omenu = ctk_combo_box_text_new (); |
109 | g_signal_connect (omenu, "changed",g_signal_connect_data ((omenu), ("changed"), (((GCallback) (func ))), (data), ((void*)0), (GConnectFlags) 0) |
110 | G_CALLBACK (func), data)g_signal_connect_data ((omenu), ("changed"), (((GCallback) (func ))), (data), ((void*)0), (GConnectFlags) 0); |
111 | |
112 | for (i = 0; i < num_items; i++) |
113 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (omenu)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((omenu)), ((ctk_combo_box_text_get_type ())))))), items[i]); |
114 | |
115 | ctk_combo_box_set_active (CTK_COMBO_BOX (omenu)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((omenu)), ((ctk_combo_box_get_type ())))))), history); |
116 | |
117 | return omenu; |
118 | } |
119 | |
120 | /* |
121 | * Windows with an alpha channel |
122 | */ |
123 | |
124 | |
125 | static gboolean |
126 | on_alpha_window_draw (CtkWidget *widget, |
127 | cairo_t *cr) |
128 | { |
129 | cairo_pattern_t *pattern; |
130 | int radius, width, height; |
131 | |
132 | /* Get the child allocation to avoid painting over the borders */ |
133 | CtkWidget *child = ctk_bin_get_child (CTK_BIN (widget)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_bin_get_type ()))))))); |
134 | CtkAllocation child_allocation; |
135 | int border_width = ctk_container_get_border_width (CTK_CONTAINER (child)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((child)), ((ctk_container_get_type ()))))))); |
136 | |
137 | ctk_widget_get_allocation (child, &child_allocation); |
138 | child_allocation.x -= border_width; |
139 | child_allocation.y -= border_width; |
140 | child_allocation.width += 2 * border_width; |
141 | child_allocation.height += 2 * border_width; |
142 | |
143 | cairo_translate (cr, child_allocation.x, child_allocation.y); |
144 | |
145 | cairo_rectangle (cr, 0, 0, child_allocation.width, child_allocation.height); |
146 | cairo_clip (cr); |
147 | |
148 | width = ctk_widget_get_allocated_width (widget); |
149 | height = ctk_widget_get_allocated_height (widget); |
150 | radius = MIN (width, height)(((width) < (height)) ? (width) : (height)) / 2; |
151 | pattern = cairo_pattern_create_radial (width / 2, |
152 | height / 2, |
153 | 0.0, |
154 | width / 2, |
155 | height / 2, |
156 | radius * 1.33); |
157 | |
158 | if (cdk_screen_get_rgba_visual (ctk_widget_get_screen (widget)) && |
159 | ctk_widget_is_composited (widget)) |
160 | cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.0); /* transparent */ |
161 | else |
162 | cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* opaque white */ |
163 | |
164 | cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); |
165 | cairo_paint (cr); |
166 | |
167 | cairo_pattern_add_color_stop_rgba (pattern, 0.0, |
168 | 1.0, 0.75, 0.0, 1.0); /* solid orange */ |
169 | cairo_pattern_add_color_stop_rgba (pattern, 1.0, |
170 | 1.0, 0.75, 0.0, 0.0); /* transparent orange */ |
171 | |
172 | cairo_set_source (cr, pattern); |
173 | cairo_pattern_destroy (pattern); |
174 | |
175 | cairo_set_operator (cr, CAIRO_OPERATOR_OVER); |
176 | cairo_paint (cr); |
177 | |
178 | return FALSE(0); |
179 | } |
180 | |
181 | static CtkWidget * |
182 | build_alpha_widgets (void) |
183 | { |
184 | CtkWidget *grid; |
185 | CtkWidget *radio_button; |
186 | CtkWidget *check_button; |
187 | CtkWidget *hbox; |
188 | CtkWidget *label; |
189 | CtkWidget *entry; |
190 | |
191 | grid = ctk_grid_new (); |
192 | |
193 | radio_button = ctk_radio_button_new_with_label (NULL((void*)0), "Red"); |
194 | ctk_widget_set_hexpand (radio_button, TRUE(!(0))); |
195 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), radio_button, 0, 0, 1, 1); |
196 | |
197 | radio_button = ctk_radio_button_new_with_label_from_widget (CTK_RADIO_BUTTON (radio_button)((((CtkRadioButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((radio_button)), ((ctk_radio_button_get_type ())))))), "Green"); |
198 | ctk_widget_set_hexpand (radio_button, TRUE(!(0))); |
199 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), radio_button, 0, 1, 1, 1); |
200 | |
201 | radio_button = ctk_radio_button_new_with_label_from_widget (CTK_RADIO_BUTTON (radio_button)((((CtkRadioButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((radio_button)), ((ctk_radio_button_get_type ())))))), "Blue"), |
202 | ctk_widget_set_hexpand (radio_button, TRUE(!(0))); |
203 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), radio_button, 0, 2, 1, 1); |
204 | |
205 | check_button = ctk_check_button_new_with_label ("Sedentary"), |
206 | ctk_widget_set_hexpand (check_button, TRUE(!(0))); |
207 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check_button, 1, 0, 1, 1); |
208 | |
209 | check_button = ctk_check_button_new_with_label ("Nocturnal"), |
210 | ctk_widget_set_hexpand (check_button, TRUE(!(0))); |
211 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check_button, 1, 1, 1, 1); |
212 | |
213 | check_button = ctk_check_button_new_with_label ("Compulsive"), |
214 | ctk_widget_set_hexpand (check_button, TRUE(!(0))); |
215 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check_button, 1, 2, 1, 1); |
216 | |
217 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
218 | label = ctk_label_new (NULL((void*)0)); |
219 | ctk_label_set_markup (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), "<i>Entry: </i>"); |
220 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
221 | entry = ctk_entry_new (); |
222 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), entry, TRUE(!(0)), TRUE(!(0)), 0); |
223 | ctk_widget_set_hexpand (hbox, TRUE(!(0))); |
224 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), hbox, 0, 3, 2, 1); |
225 | |
226 | return grid; |
227 | } |
228 | |
229 | static void |
230 | on_alpha_screen_changed (CtkWindow *window, |
231 | CdkScreen *old_screen, |
232 | CtkWidget *label) |
233 | { |
234 | CdkScreen *screen = ctk_widget_get_screen (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_widget_get_type ()))))))); |
235 | CdkVisual *visual = cdk_screen_get_rgba_visual (screen); |
236 | |
237 | if (!visual) |
238 | { |
239 | visual = cdk_screen_get_system_visual (screen); |
240 | ctk_label_set_markup (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), "<b>Screen doesn't support alpha</b>"); |
241 | } |
242 | else |
243 | { |
244 | ctk_label_set_markup (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), "<b>Screen supports alpha</b>"); |
245 | } |
246 | |
247 | ctk_widget_set_visual (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_widget_get_type ())))))), visual); |
248 | } |
249 | |
250 | static void |
251 | on_composited_changed (CtkWidget *window, |
252 | CtkLabel *label) |
253 | { |
254 | gboolean is_composited = ctk_widget_is_composited (window); |
255 | |
256 | if (is_composited) |
257 | ctk_label_set_text (label, "Composited"); |
258 | else |
259 | ctk_label_set_text (label, "Not composited"); |
260 | } |
261 | |
262 | void |
263 | create_alpha_window (CtkWidget *widget) |
264 | { |
265 | static CtkWidget *window; |
266 | |
267 | if (!window) |
268 | { |
269 | CtkWidget *content_area; |
270 | CtkWidget *vbox; |
271 | CtkWidget *label; |
272 | |
273 | window = ctk_dialog_new_with_buttons ("Alpha Window", |
274 | CTK_WINDOW (ctk_widget_get_toplevel (widget))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_toplevel (widget))), ((ctk_window_get_type ())))))), 0, |
275 | "_Close", 0, |
276 | NULL((void*)0)); |
277 | |
278 | ctk_widget_set_app_paintable (window, TRUE(!(0))); |
279 | g_signal_connect (window, "draw",g_signal_connect_data ((window), ("draw"), (((GCallback) (on_alpha_window_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
280 | G_CALLBACK (on_alpha_window_draw), NULL)g_signal_connect_data ((window), ("draw"), (((GCallback) (on_alpha_window_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
281 | |
282 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
283 | |
284 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 8); |
285 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 12); |
286 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), vbox, |
287 | TRUE(!(0)), TRUE(!(0)), 0); |
288 | |
289 | label = ctk_label_new (NULL((void*)0)); |
290 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, TRUE(!(0)), TRUE(!(0)), 0); |
291 | on_alpha_screen_changed (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), NULL((void*)0), label); |
292 | g_signal_connect (window, "screen-changed",g_signal_connect_data ((window), ("screen-changed"), (((GCallback ) (on_alpha_screen_changed))), (label), ((void*)0), (GConnectFlags ) 0) |
293 | G_CALLBACK (on_alpha_screen_changed), label)g_signal_connect_data ((window), ("screen-changed"), (((GCallback ) (on_alpha_screen_changed))), (label), ((void*)0), (GConnectFlags ) 0); |
294 | |
295 | label = ctk_label_new (NULL((void*)0)); |
296 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, TRUE(!(0)), TRUE(!(0)), 0); |
297 | on_composited_changed (window, CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ()))))))); |
298 | g_signal_connect (window, "composited_changed", G_CALLBACK (on_composited_changed), label)g_signal_connect_data ((window), ("composited_changed"), (((GCallback ) (on_composited_changed))), (label), ((void*)0), (GConnectFlags ) 0); |
299 | |
300 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), build_alpha_widgets (), TRUE(!(0)), TRUE(!(0)), 0); |
301 | |
302 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
303 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
304 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
305 | |
306 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
307 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
308 | NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
309 | } |
310 | |
311 | if (!ctk_widget_get_visible (window)) |
312 | ctk_widget_show_all (window); |
313 | else |
314 | ctk_widget_destroy (window); |
315 | } |
316 | |
317 | /* |
318 | * Composited non-toplevel window |
319 | */ |
320 | |
321 | /* The draw event handler for the event box. |
322 | * |
323 | * This function simply draws a transparency onto a widget on the area |
324 | * for which it receives expose events. This is intended to give the |
325 | * event box a "transparent" background. |
326 | * |
327 | * In order for this to work properly, the widget must have an RGBA |
328 | * colourmap. The widget should also be set as app-paintable since it |
329 | * doesn't make sense for CTK to draw a background if we are drawing it |
330 | * (and because CTK might actually replace our transparency with its |
331 | * default background colour). |
332 | */ |
333 | static gboolean |
334 | transparent_draw (CtkWidget *widget, |
335 | cairo_t *cr) |
336 | { |
337 | cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); |
338 | cairo_paint (cr); |
339 | |
340 | return FALSE(0); |
341 | } |
342 | |
343 | /* The expose event handler for the window. |
344 | * |
345 | * This function performs the actual compositing of the event box onto |
346 | * the already-existing background of the window at 50% normal opacity. |
347 | * |
348 | * In this case we do not want app-paintable to be set on the widget |
349 | * since we want it to draw its own (red) background. Because of this, |
350 | * however, we must ensure that we use g_signal_register_after so that |
351 | * this handler is called after the red has been drawn. If it was |
352 | * called before then CTK would just blindly paint over our work. |
353 | */ |
354 | static gboolean |
355 | window_draw (CtkWidget *widget, |
356 | cairo_t *cr) |
357 | { |
358 | CtkAllocation allocation; |
359 | CtkWidget *child; |
360 | |
361 | /* put a red background on the window */ |
362 | cairo_set_source_rgb (cr, 1, 0, 0); |
363 | cairo_paint (cr); |
364 | |
365 | /* get our child (in this case, the event box) */ |
366 | child = ctk_bin_get_child (CTK_BIN (widget)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_bin_get_type ()))))))); |
367 | |
368 | ctk_widget_get_allocation (child, &allocation); |
369 | |
370 | /* the source data is the (composited) event box */ |
371 | cdk_cairo_set_source_window (cr, ctk_widget_get_window (child), |
372 | allocation.x, |
373 | allocation.y); |
374 | |
375 | /* composite, with a 50% opacity */ |
376 | cairo_paint_with_alpha (cr, 0.5); |
377 | |
378 | return FALSE(0); |
379 | } |
380 | |
381 | void |
382 | create_composited_window (CtkWidget *widget) |
383 | { |
384 | static CtkWidget *window; |
385 | |
386 | if (!window) |
387 | { |
388 | CtkWidget *event, *button; |
389 | |
390 | /* make the widgets */ |
391 | button = ctk_button_new_with_label ("A Button"); |
392 | event = ctk_event_box_new (); |
393 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
394 | |
395 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
396 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
397 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
398 | |
399 | /* set our event box to have a fully-transparent background |
400 | * drawn on it. currently there is no way to simply tell ctk |
401 | * that "transparency" is the background colour for a widget. |
402 | */ |
403 | ctk_widget_set_app_paintable (CTK_WIDGET (event)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((event)), ((ctk_widget_get_type ())))))), TRUE(!(0))); |
404 | g_signal_connect (event, "draw",g_signal_connect_data ((event), ("draw"), (((GCallback) (transparent_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
405 | G_CALLBACK (transparent_draw), NULL)g_signal_connect_data ((event), ("draw"), (((GCallback) (transparent_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
406 | |
407 | /* put them inside one another */ |
408 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 10); |
409 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), event); |
410 | ctk_container_add (CTK_CONTAINER (event)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((event)), ((ctk_container_get_type ())))))), button); |
411 | |
412 | /* realise and show everything */ |
413 | ctk_widget_realize (button); |
414 | |
415 | /* set the event box CdkWindow to be composited. |
416 | * obviously must be performed after event box is realised. |
417 | */ |
418 | cdk_window_set_composited (ctk_widget_get_window (event), |
419 | TRUE(!(0))); |
420 | |
421 | /* set up the compositing handler. |
422 | * note that we do _after so that the normal (red) background is drawn |
423 | * by ctk before our compositing occurs. |
424 | */ |
425 | g_signal_connect_after (window, "draw",g_signal_connect_data ((window), ("draw"), (((GCallback) (window_draw ))), (((void*)0)), ((void*)0), G_CONNECT_AFTER) |
426 | G_CALLBACK (window_draw), NULL)g_signal_connect_data ((window), ("draw"), (((GCallback) (window_draw ))), (((void*)0)), ((void*)0), G_CONNECT_AFTER); |
427 | } |
428 | |
429 | if (!ctk_widget_get_visible (window)) |
430 | ctk_widget_show_all (window); |
431 | else |
432 | ctk_widget_destroy (window); |
433 | } |
434 | |
435 | /* |
436 | * Big windows and guffaw scrolling |
437 | */ |
438 | |
439 | static void |
440 | pattern_set_bg (CtkWidget *widget, |
441 | CdkWindow *child, |
442 | gint level) |
443 | { |
444 | static CdkRGBA colors[] = { |
445 | { 0.27, 0.27, 1.0, 1.0 }, |
446 | { 0.53, 0.53, 1.0, 1.0}, |
447 | { 0.67, 0.67, 1.0, 1.0 } |
448 | }; |
449 | |
450 | cdk_window_set_user_data (child, widget); |
451 | cdk_window_set_background_rgba (child, &colors[level]); |
452 | } |
453 | |
454 | static void |
455 | create_pattern (CtkWidget *widget, |
456 | CdkWindow *parent, |
457 | gint level, |
458 | gint width, |
459 | gint height) |
460 | { |
461 | gint h = 1; |
462 | gint i = 0; |
463 | |
464 | CdkWindow *child; |
465 | |
466 | while (2 * h <= height) |
467 | { |
468 | gint w = 1; |
469 | gint j = 0; |
470 | |
471 | while (2 * w <= width) |
472 | { |
473 | if ((i + j) % 2 == 0) |
474 | { |
475 | gint x = w - 1; |
476 | gint y = h - 1; |
477 | |
478 | CdkWindowAttr attributes; |
479 | |
480 | attributes.window_type = CDK_WINDOW_CHILD; |
481 | attributes.x = x; |
482 | attributes.y = y; |
483 | attributes.width = w; |
484 | attributes.height = h; |
485 | attributes.wclass = CDK_INPUT_OUTPUT; |
486 | attributes.event_mask = CDK_EXPOSURE_MASK; |
487 | attributes.visual = ctk_widget_get_visual (widget); |
488 | |
489 | child = cdk_window_new (parent, &attributes, |
490 | CDK_WA_X | CDK_WA_Y | CDK_WA_VISUAL); |
491 | |
492 | pattern_set_bg (widget, child, level); |
493 | |
494 | if (level < 2) |
495 | create_pattern (widget, child, level + 1, w, h); |
496 | |
497 | cdk_window_show (child); |
498 | } |
499 | j++; |
500 | w *= 2; |
501 | } |
502 | i++; |
503 | h *= 2; |
504 | } |
505 | } |
506 | |
507 | #define PATTERN_SIZE(1 << 18) (1 << 18) |
508 | |
509 | static void |
510 | pattern_hadj_changed (CtkAdjustment *adjustment, |
511 | CtkWidget *darea) |
512 | { |
513 | gint *old_value = g_object_get_data (G_OBJECT (adjustment)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), (((GType) ((20) << (2)))))))), "old-value"); |
514 | gint new_value = ctk_adjustment_get_value (adjustment); |
515 | |
516 | if (ctk_widget_get_realized (darea)) |
517 | { |
518 | cdk_window_scroll (ctk_widget_get_window (darea), |
519 | *old_value - new_value, 0); |
520 | *old_value = new_value; |
521 | } |
522 | } |
523 | |
524 | static void |
525 | pattern_vadj_changed (CtkAdjustment *adjustment, |
526 | CtkWidget *darea) |
527 | { |
528 | gint *old_value = g_object_get_data (G_OBJECT (adjustment)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), (((GType) ((20) << (2)))))))), "old-value"); |
529 | gint new_value = ctk_adjustment_get_value (adjustment); |
530 | |
531 | if (ctk_widget_get_realized (darea)) |
532 | { |
533 | cdk_window_scroll (ctk_widget_get_window (darea), |
534 | 0, *old_value - new_value); |
535 | *old_value = new_value; |
536 | } |
537 | } |
538 | |
539 | static void |
540 | pattern_realize (CtkWidget *widget, |
541 | gpointer data) |
542 | { |
543 | CdkWindow *window; |
544 | |
545 | window = ctk_widget_get_window (widget); |
546 | pattern_set_bg (widget, window, 0); |
547 | create_pattern (widget, window, 1, PATTERN_SIZE(1 << 18), PATTERN_SIZE(1 << 18)); |
548 | } |
549 | |
550 | static void |
551 | create_big_windows (CtkWidget *widget) |
552 | { |
553 | static CtkWidget *window = NULL((void*)0); |
554 | |
555 | if (!window) |
556 | { |
557 | CtkWidget *content_area; |
558 | CtkWidget *darea, *grid, *scrollbar; |
559 | CtkWidget *eventbox; |
560 | CtkAdjustment *hadjustment; |
561 | CtkAdjustment *vadjustment; |
562 | static gint current_x; |
563 | static gint current_y; |
564 | |
565 | current_x = 0; |
566 | current_y = 0; |
567 | |
568 | window = ctk_dialog_new_with_buttons ("Big Windows", |
569 | NULL((void*)0), 0, |
570 | "_Close", |
571 | CTK_RESPONSE_NONE, |
572 | NULL((void*)0)); |
573 | |
574 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
575 | ctk_widget_get_screen (widget)); |
576 | |
577 | ctk_window_set_default_size (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), 200, 300); |
578 | |
579 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
580 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
581 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
582 | |
583 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
584 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
585 | NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
586 | |
587 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
588 | |
589 | grid = ctk_grid_new (); |
590 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), grid, TRUE(!(0)), TRUE(!(0)), 0); |
591 | |
592 | darea = ctk_drawing_area_new (); |
593 | |
594 | hadjustment = ctk_adjustment_new (0, 0, PATTERN_SIZE(1 << 18), 10, 100, 100); |
595 | g_signal_connect (hadjustment, "value_changed",g_signal_connect_data ((hadjustment), ("value_changed"), (((GCallback ) (pattern_hadj_changed))), (darea), ((void*)0), (GConnectFlags ) 0) |
596 | G_CALLBACK (pattern_hadj_changed), darea)g_signal_connect_data ((hadjustment), ("value_changed"), (((GCallback ) (pattern_hadj_changed))), (darea), ((void*)0), (GConnectFlags ) 0); |
597 | g_object_set_data (G_OBJECT (hadjustment)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hadjustment)), (((GType) ((20) << (2)))))))), "old-value", ¤t_x); |
598 | |
599 | vadjustment = ctk_adjustment_new (0, 0, PATTERN_SIZE(1 << 18), 10, 100, 100); |
600 | g_signal_connect (vadjustment, "value_changed",g_signal_connect_data ((vadjustment), ("value_changed"), (((GCallback ) (pattern_vadj_changed))), (darea), ((void*)0), (GConnectFlags ) 0) |
601 | G_CALLBACK (pattern_vadj_changed), darea)g_signal_connect_data ((vadjustment), ("value_changed"), (((GCallback ) (pattern_vadj_changed))), (darea), ((void*)0), (GConnectFlags ) 0); |
602 | g_object_set_data (G_OBJECT (vadjustment)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vadjustment)), (((GType) ((20) << (2)))))))), "old-value", ¤t_y); |
603 | |
604 | g_signal_connect (darea, "realize",g_signal_connect_data ((darea), ("realize"), (((GCallback) (pattern_realize ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
605 | G_CALLBACK (pattern_realize),g_signal_connect_data ((darea), ("realize"), (((GCallback) (pattern_realize ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
606 | NULL)g_signal_connect_data ((darea), ("realize"), (((GCallback) (pattern_realize ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
607 | |
608 | eventbox = ctk_event_box_new (); |
609 | ctk_widget_set_hexpand (eventbox, TRUE(!(0))); |
610 | ctk_widget_set_vexpand (eventbox, TRUE(!(0))); |
611 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), eventbox, 0, 0, 1, 1); |
612 | |
613 | ctk_container_add (CTK_CONTAINER (eventbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((eventbox)), ((ctk_container_get_type ())))))), darea); |
614 | |
615 | scrollbar = ctk_scrollbar_new (CTK_ORIENTATION_HORIZONTAL, hadjustment); |
616 | ctk_widget_set_hexpand (scrollbar, TRUE(!(0))); |
617 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), scrollbar, 0, 1, 1, 1); |
618 | |
619 | scrollbar = ctk_scrollbar_new (CTK_ORIENTATION_VERTICAL, vadjustment); |
620 | ctk_widget_set_vexpand (scrollbar, TRUE(!(0))); |
621 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), scrollbar, 1, 0, 1, 1); |
622 | } |
623 | |
624 | if (!ctk_widget_get_visible (window)) |
625 | ctk_widget_show_all (window); |
626 | else |
627 | ctk_widget_hide (window); |
628 | } |
629 | |
630 | /* |
631 | * CtkButton |
632 | */ |
633 | |
634 | static void |
635 | button_window (CtkWidget *widget, |
636 | CtkWidget *button) |
637 | { |
638 | if (!ctk_widget_get_visible (button)) |
639 | ctk_widget_show (button); |
640 | else |
641 | ctk_widget_hide (button); |
642 | } |
643 | |
644 | static void |
645 | create_buttons (CtkWidget *widget) |
646 | { |
647 | static CtkWidget *window = NULL((void*)0); |
648 | |
649 | if (!window) |
650 | { |
651 | CtkWidget *box1; |
652 | CtkWidget *box2; |
653 | CtkWidget *grid; |
654 | CtkWidget *separator; |
655 | CtkWidget *button[10]; |
656 | int button_x[9] = { 0, 1, 2, 0, 2, 1, 1, 2, 0 }; |
657 | int button_y[9] = { 0, 1, 2, 2, 0, 2, 0, 1, 1 }; |
658 | guint i; |
659 | |
660 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
661 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
662 | ctk_widget_get_screen (widget)); |
663 | |
664 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
665 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
666 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
667 | |
668 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "CtkButton"); |
669 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
670 | |
671 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
672 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
673 | |
674 | grid = ctk_grid_new (); |
675 | ctk_grid_set_row_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 5); |
676 | ctk_grid_set_column_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 5); |
677 | ctk_container_set_border_width (CTK_CONTAINER (grid)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_container_get_type ())))))), 10); |
678 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), grid, TRUE(!(0)), TRUE(!(0)), 0); |
679 | |
680 | button[0] = ctk_button_new_with_label ("button1"); |
681 | button[1] = ctk_button_new_with_mnemonic ("_button2"); |
682 | button[2] = ctk_button_new_with_mnemonic ("_button3"); |
683 | button[3] = ctk_button_new_from_stock (CTK_STOCK_OK((CtkStock)"ctk-ok")); |
684 | button[4] = ctk_button_new_with_label ("button5"); |
685 | button[5] = ctk_button_new_with_label ("button6"); |
686 | button[6] = ctk_button_new_with_label ("button7"); |
687 | button[7] = ctk_button_new_from_stock (CTK_STOCK_CLOSE((CtkStock)"ctk-close")); |
688 | button[8] = ctk_button_new_with_label ("button9"); |
689 | |
690 | for (i = 0; i < 9; i++) |
691 | { |
692 | g_signal_connect (button[i], "clicked",g_signal_connect_data ((button[i]), ("clicked"), (((GCallback ) (button_window))), (button[(i + 1) % 9]), ((void*)0), (GConnectFlags ) 0) |
693 | G_CALLBACK (button_window),g_signal_connect_data ((button[i]), ("clicked"), (((GCallback ) (button_window))), (button[(i + 1) % 9]), ((void*)0), (GConnectFlags ) 0) |
694 | button[(i + 1) % 9])g_signal_connect_data ((button[i]), ("clicked"), (((GCallback ) (button_window))), (button[(i + 1) % 9]), ((void*)0), (GConnectFlags ) 0); |
695 | ctk_widget_set_hexpand (button[i], TRUE(!(0))); |
696 | ctk_widget_set_vexpand (button[i], TRUE(!(0))); |
697 | |
698 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), button[i], |
699 | button_x[i], button_y[i] + 1, 1, 1); |
700 | } |
701 | |
702 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
703 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
704 | |
705 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
706 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
707 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
708 | |
709 | button[9] = ctk_button_new_with_label ("close"); |
710 | g_signal_connect_swapped (button[9], "clicked",g_signal_connect_data ((button[9]), ("clicked"), (((GCallback ) (ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
711 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button[9]), ("clicked"), (((GCallback ) (ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
712 | window)g_signal_connect_data ((button[9]), ("clicked"), (((GCallback ) (ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
713 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button[9], TRUE(!(0)), TRUE(!(0)), 0); |
714 | ctk_widget_set_can_default (button[9], TRUE(!(0))); |
715 | ctk_widget_grab_default (button[9]); |
716 | } |
717 | |
718 | if (!ctk_widget_get_visible (window)) |
719 | ctk_widget_show_all (window); |
720 | else |
721 | ctk_widget_destroy (window); |
722 | } |
723 | |
724 | /* |
725 | * CtkToggleButton |
726 | */ |
727 | |
728 | static void |
729 | create_toggle_buttons (CtkWidget *widget) |
730 | { |
731 | static CtkWidget *window = NULL((void*)0); |
732 | |
733 | if (!window) |
734 | { |
735 | CtkWidget *box1; |
736 | CtkWidget *box2; |
737 | CtkWidget *button; |
738 | CtkWidget *separator; |
739 | |
740 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
741 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
742 | ctk_widget_get_screen (widget)); |
743 | |
744 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
745 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
746 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
747 | |
748 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "CtkToggleButton"); |
749 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
750 | |
751 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
752 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
753 | |
754 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
755 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
756 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
757 | |
758 | button = ctk_toggle_button_new_with_label ("button1"); |
759 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
760 | |
761 | button = ctk_toggle_button_new_with_label ("button2"); |
762 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
763 | |
764 | button = ctk_toggle_button_new_with_label ("button3"); |
765 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
766 | |
767 | button = ctk_toggle_button_new_with_label ("inconsistent"); |
768 | ctk_toggle_button_set_inconsistent (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
769 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
770 | |
771 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
772 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
773 | |
774 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
775 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
776 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
777 | |
778 | button = ctk_button_new_with_label ("close"); |
779 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
780 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
781 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
782 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
783 | ctk_widget_set_can_default (button, TRUE(!(0))); |
784 | ctk_widget_grab_default (button); |
785 | } |
786 | |
787 | if (!ctk_widget_get_visible (window)) |
788 | ctk_widget_show_all (window); |
789 | else |
790 | ctk_widget_destroy (window); |
791 | } |
792 | |
793 | static CtkWidget * |
794 | create_widget_grid (GType widget_type) |
795 | { |
796 | CtkWidget *grid; |
797 | CtkWidget *group_widget = NULL((void*)0); |
798 | gint i, j; |
799 | |
800 | grid = ctk_grid_new (); |
801 | |
802 | for (i = 0; i < 5; i++) |
803 | { |
804 | for (j = 0; j < 5; j++) |
805 | { |
806 | CtkWidget *widget; |
807 | char *tmp; |
808 | |
809 | if (i == 0 && j == 0) |
810 | { |
811 | widget = NULL((void*)0); |
812 | } |
813 | else if (i == 0) |
814 | { |
815 | tmp = g_strdup_printf ("%d", j); |
816 | widget = ctk_label_new (tmp); |
817 | g_free (tmp); |
818 | } |
819 | else if (j == 0) |
820 | { |
821 | tmp = g_strdup_printf ("%c", 'A' + i - 1); |
822 | widget = ctk_label_new (tmp); |
823 | g_free (tmp); |
824 | } |
825 | else |
826 | { |
827 | widget = g_object_new (widget_type, NULL((void*)0)); |
828 | |
829 | if (g_type_is_a (widget_type, CTK_TYPE_RADIO_BUTTON)((widget_type) == ((ctk_radio_button_get_type ())) || (g_type_is_a ) ((widget_type), ((ctk_radio_button_get_type ()))))) |
830 | { |
831 | if (!group_widget) |
832 | group_widget = widget; |
833 | else |
834 | g_object_set (widget, "group", group_widget, NULL((void*)0)); |
835 | } |
836 | } |
837 | |
838 | if (widget) |
839 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), widget, i, j, 1, 1); |
840 | } |
841 | } |
842 | |
843 | return grid; |
844 | } |
845 | |
846 | /* |
847 | * CtkCheckButton |
848 | */ |
849 | |
850 | static void |
851 | create_check_buttons (CtkWidget *widget) |
852 | { |
853 | static CtkWidget *window = NULL((void*)0); |
854 | |
855 | if (!window) |
856 | { |
857 | CtkWidget *box1; |
858 | CtkWidget *box2; |
859 | CtkWidget *button; |
860 | CtkWidget *separator; |
861 | CtkWidget *table; |
862 | |
863 | window = ctk_dialog_new_with_buttons ("Check Buttons", |
864 | NULL((void*)0), 0, |
865 | "_Close", |
866 | CTK_RESPONSE_NONE, |
867 | NULL((void*)0)); |
868 | |
869 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
870 | ctk_widget_get_screen (widget)); |
871 | |
872 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
873 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
874 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
875 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
876 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
877 | NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
878 | |
879 | box1 = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
880 | |
881 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
882 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
883 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
884 | |
885 | button = ctk_check_button_new_with_mnemonic ("_button1"); |
886 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
887 | |
888 | button = ctk_check_button_new_with_label ("button2"); |
889 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
890 | |
891 | button = ctk_check_button_new_with_label ("button3"); |
892 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
893 | |
894 | button = ctk_check_button_new_with_label ("inconsistent"); |
895 | ctk_toggle_button_set_inconsistent (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
896 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
897 | |
898 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
899 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
900 | |
901 | table = create_widget_grid (CTK_TYPE_CHECK_BUTTON(ctk_check_button_get_type ())); |
902 | ctk_container_set_border_width (CTK_CONTAINER (table)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((table)), ((ctk_container_get_type ())))))), 10); |
903 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), table, TRUE(!(0)), TRUE(!(0)), 0); |
904 | } |
905 | |
906 | if (!ctk_widget_get_visible (window)) |
907 | ctk_widget_show_all (window); |
908 | else |
909 | ctk_widget_destroy (window); |
910 | } |
911 | |
912 | /* |
913 | * CtkRadioButton |
914 | */ |
915 | |
916 | static void |
917 | create_radio_buttons (CtkWidget *widget) |
918 | { |
919 | static CtkWidget *window = NULL((void*)0); |
920 | |
921 | if (!window) |
922 | { |
923 | CtkWidget *box1; |
924 | CtkWidget *box2; |
925 | CtkWidget *button; |
926 | CtkWidget *separator; |
927 | CtkWidget *table; |
928 | |
929 | window = ctk_dialog_new_with_buttons ("Radio Buttons", |
930 | NULL((void*)0), 0, |
931 | "_Close", |
932 | CTK_RESPONSE_NONE, |
933 | NULL((void*)0)); |
934 | |
935 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
936 | ctk_widget_get_screen (widget)); |
937 | |
938 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
939 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
940 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
941 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
942 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
943 | NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
944 | |
945 | box1 = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
946 | |
947 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
948 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
949 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
950 | |
951 | button = ctk_radio_button_new_with_label (NULL((void*)0), "button1"); |
952 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
953 | |
954 | button = ctk_radio_button_new_with_label ( |
955 | ctk_radio_button_get_group (CTK_RADIO_BUTTON (button)((((CtkRadioButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_radio_button_get_type ()))))))), |
956 | "button2"); |
957 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
958 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
959 | |
960 | button = ctk_radio_button_new_with_label ( |
961 | ctk_radio_button_get_group (CTK_RADIO_BUTTON (button)((((CtkRadioButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_radio_button_get_type ()))))))), |
962 | "button3"); |
963 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
964 | |
965 | button = ctk_radio_button_new_with_label ( |
966 | ctk_radio_button_get_group (CTK_RADIO_BUTTON (button)((((CtkRadioButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_radio_button_get_type ()))))))), |
967 | "inconsistent"); |
968 | ctk_toggle_button_set_inconsistent (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
969 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
970 | |
971 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
972 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
973 | |
974 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
975 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
976 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
977 | |
978 | button = ctk_radio_button_new_with_label (NULL((void*)0), "button4"); |
979 | ctk_toggle_button_set_mode (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), FALSE(0)); |
980 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
981 | |
982 | button = ctk_radio_button_new_with_label ( |
983 | ctk_radio_button_get_group (CTK_RADIO_BUTTON (button)((((CtkRadioButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_radio_button_get_type ()))))))), |
984 | "button5"); |
985 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
986 | ctk_toggle_button_set_mode (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), FALSE(0)); |
987 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
988 | |
989 | button = ctk_radio_button_new_with_label ( |
990 | ctk_radio_button_get_group (CTK_RADIO_BUTTON (button)((((CtkRadioButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_radio_button_get_type ()))))))), |
991 | "button6"); |
992 | ctk_toggle_button_set_mode (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), FALSE(0)); |
993 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
994 | |
995 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
996 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
997 | |
998 | table = create_widget_grid (CTK_TYPE_RADIO_BUTTON(ctk_radio_button_get_type ())); |
999 | ctk_container_set_border_width (CTK_CONTAINER (table)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((table)), ((ctk_container_get_type ())))))), 10); |
1000 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), table, TRUE(!(0)), TRUE(!(0)), 0); |
1001 | } |
1002 | |
1003 | if (!ctk_widget_get_visible (window)) |
1004 | ctk_widget_show_all (window); |
1005 | else |
1006 | ctk_widget_destroy (window); |
1007 | } |
1008 | |
1009 | /* |
1010 | * CtkButtonBox |
1011 | */ |
1012 | |
1013 | static CtkWidget * |
1014 | create_bbox (gint horizontal, |
1015 | char* title, |
1016 | gint spacing, |
1017 | gint child_w, |
1018 | gint child_h, |
1019 | gint layout) |
1020 | { |
1021 | CtkWidget *frame; |
1022 | CtkWidget *bbox; |
1023 | CtkWidget *button; |
1024 | |
1025 | frame = ctk_frame_new (title); |
1026 | |
1027 | if (horizontal) |
1028 | bbox = ctk_button_box_new (CTK_ORIENTATION_HORIZONTAL); |
1029 | else |
1030 | bbox = ctk_button_box_new (CTK_ORIENTATION_VERTICAL); |
1031 | |
1032 | ctk_container_set_border_width (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), 5); |
1033 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), bbox); |
1034 | |
1035 | ctk_button_box_set_layout (CTK_BUTTON_BOX (bbox)((((CtkButtonBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_button_box_get_type ())))))), layout); |
1036 | ctk_box_set_spacing (CTK_BOX (bbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_box_get_type ())))))), spacing); |
1037 | |
1038 | button = ctk_button_new_with_label ("OK"); |
1039 | ctk_container_add (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), button); |
1040 | |
1041 | button = ctk_button_new_with_label ("Cancel"); |
1042 | ctk_container_add (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), button); |
1043 | |
1044 | button = ctk_button_new_with_label ("Help"); |
1045 | ctk_container_add (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), button); |
1046 | |
1047 | return frame; |
1048 | } |
1049 | |
1050 | static void |
1051 | create_button_box (CtkWidget *widget) |
1052 | { |
1053 | static CtkWidget* window = NULL((void*)0); |
1054 | |
1055 | if (!window) |
1056 | { |
1057 | CtkWidget *main_vbox; |
1058 | CtkWidget *vbox; |
1059 | CtkWidget *hbox; |
1060 | CtkWidget *frame_horz; |
1061 | CtkWidget *frame_vert; |
1062 | |
1063 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
1064 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), ctk_widget_get_screen (widget)); |
1065 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Button Boxes"); |
1066 | |
1067 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1068 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1069 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
1070 | |
1071 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 10); |
1072 | |
1073 | main_vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
1074 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), main_vbox); |
1075 | |
1076 | frame_horz = ctk_frame_new ("Horizontal Button Boxes"); |
1077 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), frame_horz, TRUE(!(0)), TRUE(!(0)), 10); |
1078 | |
1079 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
1080 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 10); |
1081 | ctk_container_add (CTK_CONTAINER (frame_horz)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame_horz)), ((ctk_container_get_type ())))))), vbox); |
1082 | |
1083 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), |
1084 | create_bbox (TRUE(!(0)), "Spread", 40, 85, 20, CTK_BUTTONBOX_SPREAD), |
1085 | TRUE(!(0)), TRUE(!(0)), 0); |
1086 | |
1087 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), |
1088 | create_bbox (TRUE(!(0)), "Edge", 40, 85, 20, CTK_BUTTONBOX_EDGE), |
1089 | TRUE(!(0)), TRUE(!(0)), 5); |
1090 | |
1091 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), |
1092 | create_bbox (TRUE(!(0)), "Start", 40, 85, 20, CTK_BUTTONBOX_START), |
1093 | TRUE(!(0)), TRUE(!(0)), 5); |
1094 | |
1095 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), |
1096 | create_bbox (TRUE(!(0)), "End", 40, 85, 20, CTK_BUTTONBOX_END), |
1097 | TRUE(!(0)), TRUE(!(0)), 5); |
1098 | |
1099 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), |
1100 | create_bbox (TRUE(!(0)), "Center", 40, 85, 20, CTK_BUTTONBOX_CENTER), |
1101 | TRUE(!(0)), TRUE(!(0)), 5); |
1102 | |
1103 | frame_vert = ctk_frame_new ("Vertical Button Boxes"); |
1104 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), frame_vert, TRUE(!(0)), TRUE(!(0)), 10); |
1105 | |
1106 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
1107 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 10); |
1108 | ctk_container_add (CTK_CONTAINER (frame_vert)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame_vert)), ((ctk_container_get_type ())))))), hbox); |
1109 | |
1110 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), |
1111 | create_bbox (FALSE(0), "Spread", 30, 85, 20, CTK_BUTTONBOX_SPREAD), |
1112 | TRUE(!(0)), TRUE(!(0)), 0); |
1113 | |
1114 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), |
1115 | create_bbox (FALSE(0), "Edge", 30, 85, 20, CTK_BUTTONBOX_EDGE), |
1116 | TRUE(!(0)), TRUE(!(0)), 5); |
1117 | |
1118 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), |
1119 | create_bbox (FALSE(0), "Start", 30, 85, 20, CTK_BUTTONBOX_START), |
1120 | TRUE(!(0)), TRUE(!(0)), 5); |
1121 | |
1122 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), |
1123 | create_bbox (FALSE(0), "End", 30, 85, 20, CTK_BUTTONBOX_END), |
1124 | TRUE(!(0)), TRUE(!(0)), 5); |
1125 | |
1126 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), |
1127 | create_bbox (FALSE(0), "Center", 30, 85, 20, CTK_BUTTONBOX_CENTER), |
1128 | TRUE(!(0)), TRUE(!(0)), 5); |
1129 | } |
1130 | |
1131 | if (!ctk_widget_get_visible (window)) |
1132 | ctk_widget_show_all (window); |
1133 | else |
1134 | ctk_widget_destroy (window); |
1135 | } |
1136 | |
1137 | /* |
1138 | * CtkToolBar |
1139 | */ |
1140 | |
1141 | static CtkWidget* |
1142 | new_pixbuf (char *filename, |
1143 | CdkWindow *window) |
1144 | { |
1145 | CtkWidget *widget; |
1146 | GdkPixbuf *pixbuf; |
1147 | |
1148 | if (strcmp (filename, "test.xpm") == 0) |
1149 | pixbuf = NULL((void*)0); |
1150 | else |
1151 | pixbuf = gdk_pixbuf_new_from_file (filename, NULL((void*)0)); |
1152 | |
1153 | if (pixbuf == NULL((void*)0)) |
1154 | pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) openfile); |
1155 | |
1156 | widget = ctk_image_new_from_pixbuf (pixbuf); |
1157 | |
1158 | g_object_unref (pixbuf); |
1159 | |
1160 | return widget; |
1161 | } |
1162 | |
1163 | |
1164 | static void |
1165 | set_toolbar_small_stock (CtkWidget *widget, |
1166 | gpointer data) |
1167 | { |
1168 | ctk_toolbar_set_icon_size (CTK_TOOLBAR (data)((((CtkToolbar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_toolbar_get_type ())))))), CTK_ICON_SIZE_SMALL_TOOLBAR); |
1169 | } |
1170 | |
1171 | static void |
1172 | set_toolbar_large_stock (CtkWidget *widget, |
1173 | gpointer data) |
1174 | { |
1175 | ctk_toolbar_set_icon_size (CTK_TOOLBAR (data)((((CtkToolbar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_toolbar_get_type ())))))), CTK_ICON_SIZE_LARGE_TOOLBAR); |
1176 | } |
1177 | |
1178 | static void |
1179 | set_toolbar_horizontal (CtkWidget *widget, |
1180 | gpointer data) |
1181 | { |
1182 | ctk_orientable_set_orientation (CTK_ORIENTABLE (data)((((CtkOrientable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_orientable_get_type ())))))), CTK_ORIENTATION_HORIZONTAL); |
1183 | } |
1184 | |
1185 | static void |
1186 | set_toolbar_vertical (CtkWidget *widget, |
1187 | gpointer data) |
1188 | { |
1189 | ctk_orientable_set_orientation (CTK_ORIENTABLE (data)((((CtkOrientable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_orientable_get_type ())))))), CTK_ORIENTATION_VERTICAL); |
1190 | } |
1191 | |
1192 | static void |
1193 | set_toolbar_icons (CtkWidget *widget, |
1194 | gpointer data) |
1195 | { |
1196 | ctk_toolbar_set_style (CTK_TOOLBAR (data)((((CtkToolbar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_toolbar_get_type ())))))), CTK_TOOLBAR_ICONS); |
1197 | } |
1198 | |
1199 | static void |
1200 | set_toolbar_text (CtkWidget *widget, |
1201 | gpointer data) |
1202 | { |
1203 | ctk_toolbar_set_style (CTK_TOOLBAR (data)((((CtkToolbar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_toolbar_get_type ())))))), CTK_TOOLBAR_TEXT); |
1204 | } |
1205 | |
1206 | static void |
1207 | set_toolbar_both (CtkWidget *widget, |
1208 | gpointer data) |
1209 | { |
1210 | ctk_toolbar_set_style (CTK_TOOLBAR (data)((((CtkToolbar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_toolbar_get_type ())))))), CTK_TOOLBAR_BOTH); |
1211 | } |
1212 | |
1213 | static void |
1214 | set_toolbar_both_horiz (CtkWidget *widget, |
1215 | gpointer data) |
1216 | { |
1217 | ctk_toolbar_set_style (CTK_TOOLBAR (data)((((CtkToolbar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_toolbar_get_type ())))))), CTK_TOOLBAR_BOTH_HORIZ); |
1218 | } |
1219 | |
1220 | static CtkActionEntry create_toolbar_items[] = { |
1221 | { .stock_id = CTK_STOCK_NEW((CtkStock)"ctk-new"), .tooltip = "Stock icon: New", .callback = G_CALLBACK (set_toolbar_small_stock)((GCallback) (set_toolbar_small_stock)) }, |
1222 | { .stock_id = CTK_STOCK_OPEN((CtkStock)"ctk-open"), .tooltip = "Stock icon: Open", .callback = G_CALLBACK (set_toolbar_large_stock)((GCallback) (set_toolbar_large_stock)) }, |
1223 | { .label = "Horizontal", .tooltip = "Horizontal toolbar layout", .callback = G_CALLBACK (set_toolbar_horizontal)((GCallback) (set_toolbar_horizontal)) }, |
1224 | { .label = "Vertical", .tooltip = "Vertical toolbar layout", .callback = G_CALLBACK (set_toolbar_vertical)((GCallback) (set_toolbar_vertical)) }, |
1225 | { NULL((void*)0) }, |
1226 | { .label = "Icons", .tooltip = "Only show toolbar icons", .callback = G_CALLBACK (set_toolbar_icons)((GCallback) (set_toolbar_icons)) }, |
1227 | { .label = "Text", .tooltip = "Only show toolbar text", .callback = G_CALLBACK (set_toolbar_text)((GCallback) (set_toolbar_text)) }, |
1228 | { .label = "Both", .tooltip = "Show toolbar icons and text", .callback = G_CALLBACK (set_toolbar_both)((GCallback) (set_toolbar_both)) }, |
1229 | { .label = "Both (horizontal)", .tooltip = "Show toolbar icons and text in a horizontal fashion", .callback = G_CALLBACK (set_toolbar_both_horiz)((GCallback) (set_toolbar_both_horiz)) }, |
1230 | { NULL((void*)0) }, |
1231 | { .label = "entry", .tooltip = "This is an unusable CtkEntry ;)" }, |
1232 | { NULL((void*)0) }, |
1233 | { NULL((void*)0) }, |
1234 | { .label = "Frobate", .tooltip = "Frobate tooltip" }, |
1235 | { .label = "Baz", .tooltip = "Baz tooltip" }, |
1236 | { NULL((void*)0) }, |
1237 | { .label = "Blah", .tooltip = "Blash tooltip" }, |
1238 | { .label = "Bar", .tooltip = "Bar tooltip" }, |
1239 | }; |
1240 | |
1241 | static void |
1242 | create_toolbar (CtkWidget *widget) |
1243 | { |
1244 | static CtkWidget *window = NULL((void*)0); |
1245 | |
1246 | if (!window) |
1247 | { |
1248 | CtkWidget *toolbar; |
1249 | guint i; |
1250 | |
1251 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
1252 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
1253 | ctk_widget_get_screen (widget)); |
1254 | |
1255 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Toolbar test"); |
1256 | |
1257 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1258 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1259 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
1260 | |
1261 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
1262 | ctk_widget_realize (window); |
1263 | |
1264 | toolbar = ctk_toolbar_new (); |
1265 | for (i = 0; i < G_N_ELEMENTS (create_toolbar_items)(sizeof (create_toolbar_items) / sizeof ((create_toolbar_items )[0])); i++) |
1266 | { |
1267 | CtkToolItem *toolitem; |
1268 | |
1269 | if (create_toolbar_items[i].tooltip == NULL((void*)0)) |
1270 | toolitem = ctk_separator_tool_item_new (); |
1271 | else if (g_strcmp0 (create_toolbar_items[i].name, "entry") == 0) |
1272 | { |
1273 | CtkWidget *entry; |
1274 | |
1275 | toolitem = ctk_tool_item_new (); |
1276 | entry = ctk_entry_new (); |
1277 | ctk_container_add (CTK_CONTAINER (toolitem)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((toolitem)), ((ctk_container_get_type ())))))), entry); |
1278 | } |
1279 | else if (create_toolbar_items[i].stock_id) |
1280 | { |
1281 | toolitem = ctk_tool_button_new_from_stock (create_toolbar_items[i].stock_id); |
1282 | } |
1283 | else |
1284 | { |
1285 | CtkWidget *icon; |
1286 | |
1287 | icon = new_pixbuf ("test.xpm", ctk_widget_get_window (window)); |
1288 | toolitem = ctk_tool_button_new (icon, create_toolbar_items[i].label); |
1289 | } |
1290 | if (create_toolbar_items[i].callback) |
1291 | g_signal_connect (toolitem, "clicked",g_signal_connect_data ((toolitem), ("clicked"), (create_toolbar_items [i].callback), (toolbar), ((void*)0), (GConnectFlags) 0) |
1292 | create_toolbar_items[i].callback, toolbar)g_signal_connect_data ((toolitem), ("clicked"), (create_toolbar_items [i].callback), (toolbar), ((void*)0), (GConnectFlags) 0); |
1293 | ctk_tool_item_set_tooltip_text (toolitem, create_toolbar_items[i].tooltip); |
1294 | ctk_toolbar_insert (CTK_TOOLBAR (toolbar)((((CtkToolbar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((toolbar)), ((ctk_toolbar_get_type ())))))), toolitem, -1); |
1295 | } |
1296 | |
1297 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), toolbar); |
1298 | |
1299 | ctk_widget_set_size_request (toolbar, 200, -1); |
1300 | } |
1301 | |
1302 | if (!ctk_widget_get_visible (window)) |
1303 | ctk_widget_show_all (window); |
1304 | else |
1305 | ctk_widget_destroy (window); |
1306 | } |
1307 | |
1308 | /* |
1309 | * CtkStatusBar |
1310 | */ |
1311 | |
1312 | static guint statusbar_counter = 1; |
1313 | |
1314 | static void |
1315 | statusbar_push (CtkWidget *button, |
1316 | CtkStatusbar *statusbar) |
1317 | { |
1318 | gchar text[1024]; |
1319 | |
1320 | sprintf (text, "something %d", statusbar_counter++); |
1321 | |
1322 | ctk_statusbar_push (statusbar, 1, text); |
1323 | } |
1324 | |
1325 | static void |
1326 | statusbar_push_long (CtkWidget *button, |
1327 | CtkStatusbar *statusbar) |
1328 | { |
1329 | gchar text[1024]; |
1330 | |
1331 | sprintf (text, "Just because a system has menu choices written with English words, phrases or sentences, that is no guarantee, that it is comprehensible. Individual words may not be familiar to some users (for example, \"repaginate\"), and two menu items may appear to satisfy the users's needs, whereas only one does (for example, \"put away\" or \"eject\")."); |
1332 | |
1333 | ctk_statusbar_push (statusbar, 1, text); |
1334 | } |
1335 | |
1336 | static void |
1337 | statusbar_pop (CtkWidget *button, |
1338 | CtkStatusbar *statusbar) |
1339 | { |
1340 | ctk_statusbar_pop (statusbar, 1); |
1341 | } |
1342 | |
1343 | static void |
1344 | statusbar_steal (CtkWidget *button, |
1345 | CtkStatusbar *statusbar) |
1346 | { |
1347 | ctk_statusbar_remove (statusbar, 1, 4); |
1348 | } |
1349 | |
1350 | static void |
1351 | statusbar_popped (CtkStatusbar *statusbar, |
1352 | guint context_id, |
1353 | const gchar *text) |
1354 | { |
1355 | if (!text) |
1356 | statusbar_counter = 1; |
1357 | } |
1358 | |
1359 | static void |
1360 | statusbar_contexts (CtkStatusbar *statusbar) |
1361 | { |
1362 | gchar *string; |
1363 | |
1364 | string = "any context"; |
1365 | g_print ("CtkStatusBar: context=\"%s\", context_id=%d\n", |
1366 | string, |
1367 | ctk_statusbar_get_context_id (statusbar, string)); |
1368 | |
1369 | string = "idle messages"; |
1370 | g_print ("CtkStatusBar: context=\"%s\", context_id=%d\n", |
1371 | string, |
1372 | ctk_statusbar_get_context_id (statusbar, string)); |
1373 | |
1374 | string = "some text"; |
1375 | g_print ("CtkStatusBar: context=\"%s\", context_id=%d\n", |
1376 | string, |
1377 | ctk_statusbar_get_context_id (statusbar, string)); |
1378 | |
1379 | string = "hit the mouse"; |
1380 | g_print ("CtkStatusBar: context=\"%s\", context_id=%d\n", |
1381 | string, |
1382 | ctk_statusbar_get_context_id (statusbar, string)); |
1383 | |
1384 | string = "hit the mouse2"; |
1385 | g_print ("CtkStatusBar: context=\"%s\", context_id=%d\n", |
1386 | string, |
1387 | ctk_statusbar_get_context_id (statusbar, string)); |
1388 | } |
1389 | |
1390 | static void |
1391 | create_statusbar (CtkWidget *widget) |
1392 | { |
1393 | static CtkWidget *window = NULL((void*)0); |
1394 | |
1395 | if (!window) |
1396 | { |
1397 | CtkWidget *box1; |
1398 | CtkWidget *box2; |
1399 | CtkWidget *button; |
1400 | CtkWidget *separator; |
1401 | CtkWidget *statusbar; |
1402 | |
1403 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
1404 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
1405 | ctk_widget_get_screen (widget)); |
1406 | |
1407 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1408 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1409 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
1410 | |
1411 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "statusbar"); |
1412 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
1413 | |
1414 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
1415 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
1416 | |
1417 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
1418 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
1419 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
1420 | |
1421 | statusbar = ctk_statusbar_new (); |
1422 | ctk_box_pack_end (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), statusbar, TRUE(!(0)), TRUE(!(0)), 0); |
1423 | g_signal_connect (statusbar,g_signal_connect_data ((statusbar), ("text_popped"), (((GCallback ) (statusbar_popped))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
1424 | "text_popped",g_signal_connect_data ((statusbar), ("text_popped"), (((GCallback ) (statusbar_popped))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
1425 | G_CALLBACK (statusbar_popped),g_signal_connect_data ((statusbar), ("text_popped"), (((GCallback ) (statusbar_popped))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
1426 | NULL)g_signal_connect_data ((statusbar), ("text_popped"), (((GCallback ) (statusbar_popped))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
1427 | |
1428 | button = g_object_new (ctk_button_get_type (), |
1429 | "label", "push something", |
1430 | "visible", TRUE(!(0)), |
1431 | "parent", box2, |
1432 | NULL((void*)0)); |
1433 | g_object_connect (button, |
1434 | "signal::clicked", statusbar_push, statusbar, |
1435 | NULL((void*)0)); |
1436 | |
1437 | button = g_object_connect (g_object_new (ctk_button_get_type (), |
Value stored to 'button' is never read | |
1438 | "label", "pop", |
1439 | "visible", TRUE(!(0)), |
1440 | "parent", box2, |
1441 | NULL((void*)0)), |
1442 | "signal_after::clicked", statusbar_pop, statusbar, |
1443 | NULL((void*)0)); |
1444 | |
1445 | button = g_object_connect (g_object_new (ctk_button_get_type (), |
1446 | "label", "steal #4", |
1447 | "visible", TRUE(!(0)), |
1448 | "parent", box2, |
1449 | NULL((void*)0)), |
1450 | "signal_after::clicked", statusbar_steal, statusbar, |
1451 | NULL((void*)0)); |
1452 | |
1453 | button = g_object_connect (g_object_new (ctk_button_get_type (), |
1454 | "label", "test contexts", |
1455 | "visible", TRUE(!(0)), |
1456 | "parent", box2, |
1457 | NULL((void*)0)), |
1458 | "swapped_signal_after::clicked", statusbar_contexts, statusbar, |
1459 | NULL((void*)0)); |
1460 | |
1461 | button = g_object_connect (g_object_new (ctk_button_get_type (), |
1462 | "label", "push something long", |
1463 | "visible", TRUE(!(0)), |
1464 | "parent", box2, |
1465 | NULL((void*)0)), |
1466 | "signal_after::clicked", statusbar_push_long, statusbar, |
1467 | NULL((void*)0)); |
1468 | |
1469 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
1470 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
1471 | |
1472 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
1473 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
1474 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
1475 | |
1476 | button = ctk_button_new_with_label ("close"); |
1477 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
1478 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
1479 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
1480 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
1481 | ctk_widget_set_can_default (button, TRUE(!(0))); |
1482 | ctk_widget_grab_default (button); |
1483 | } |
1484 | |
1485 | if (!ctk_widget_get_visible (window)) |
1486 | ctk_widget_show_all (window); |
1487 | else |
1488 | ctk_widget_destroy (window); |
1489 | } |
1490 | |
1491 | /* Alpha demo */ |
1492 | |
1493 | static void |
1494 | alpha_changed (CtkRange *range, CtkWidget *widget) |
1495 | { |
1496 | gdouble alpha; |
1497 | |
1498 | alpha = ctk_range_get_value (range); |
1499 | |
1500 | ctk_widget_set_opacity (widget, alpha / 100.0); |
1501 | } |
1502 | |
1503 | |
1504 | void |
1505 | create_alpha_widgets (CtkWidget *widget) |
1506 | { |
1507 | static CtkWidget *window = NULL((void*)0); |
1508 | |
1509 | if (!window) |
1510 | { |
1511 | CtkWidget *vbox2, *vbox, *main_hbox; |
1512 | CtkWidget *button, *event_box, *label, *scale; |
1513 | CtkWidget *alpha1, *alpha2, *alpha3; |
1514 | |
1515 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
1516 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
1517 | ctk_widget_get_screen (widget)); |
1518 | ctk_window_set_default_size (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
1519 | 450, 450); |
1520 | |
1521 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1522 | G_CALLBACK (ctk_widget_destroyed), &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
1523 | |
1524 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Alpha"); |
1525 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
1526 | |
1527 | main_hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
1528 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), main_hbox); |
1529 | |
1530 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
1531 | |
1532 | ctk_box_pack_start (CTK_BOX (main_hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_hbox)), ((ctk_box_get_type ())))))), vbox, FALSE(0), FALSE(0), 0); |
1533 | |
1534 | /* Plain button (no cdkwindows */ |
1535 | |
1536 | label = ctk_label_new ("non-window widget"); |
1537 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
1538 | |
1539 | alpha1 = button = ctk_button_new_with_label ("A Button"); |
1540 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
1541 | |
1542 | /* windowed container with both windowed and normal button */ |
1543 | label = ctk_label_new ("\nwindow widget"); |
1544 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
1545 | |
1546 | alpha2 = event_box = ctk_event_box_new (); |
1547 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), event_box, FALSE(0), FALSE(0), 0); |
1548 | |
1549 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
1550 | ctk_container_add (CTK_CONTAINER (event_box)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((event_box)), ((ctk_container_get_type ())))))), vbox2); |
1551 | |
1552 | button = ctk_button_new_with_label ("A Button"); |
1553 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
1554 | |
1555 | event_box = ctk_event_box_new (); |
1556 | button = ctk_button_new_with_label ("A Button (in window)"); |
1557 | ctk_container_add (CTK_CONTAINER (event_box)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((event_box)), ((ctk_container_get_type ())))))), button); |
1558 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), event_box, FALSE(0), FALSE(0), 0); |
1559 | |
1560 | /* non-windowed container with both windowed and normal button */ |
1561 | label = ctk_label_new ("\nnon-window widget with widget child"); |
1562 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
1563 | |
1564 | alpha3 = vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
1565 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), vbox2, FALSE(0), FALSE(0), 0); |
1566 | |
1567 | button = ctk_button_new_with_label ("A Button"); |
1568 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
1569 | |
1570 | event_box = ctk_event_box_new (); |
1571 | button = ctk_button_new_with_label ("A Button (in window)"); |
1572 | ctk_container_add (CTK_CONTAINER (event_box)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((event_box)), ((ctk_container_get_type ())))))), button); |
1573 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), event_box, FALSE(0), FALSE(0), 0); |
1574 | |
1575 | scale = ctk_scale_new_with_range (CTK_ORIENTATION_VERTICAL, |
1576 | 0, 100, 1); |
1577 | ctk_box_pack_start (CTK_BOX (main_hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_hbox)), ((ctk_box_get_type ())))))), scale, FALSE(0), FALSE(0), 0); |
1578 | g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha1)g_signal_connect_data ((scale), ("value_changed"), (((GCallback ) (alpha_changed))), (alpha1), ((void*)0), (GConnectFlags) 0); |
1579 | ctk_range_set_value (CTK_RANGE (scale)((((CtkRange*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_range_get_type ())))))), 50); |
1580 | |
1581 | scale = ctk_scale_new_with_range (CTK_ORIENTATION_VERTICAL, |
1582 | 0, 100, 1); |
1583 | ctk_box_pack_start (CTK_BOX (main_hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_hbox)), ((ctk_box_get_type ())))))), scale, FALSE(0), FALSE(0), 0); |
1584 | g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha2)g_signal_connect_data ((scale), ("value_changed"), (((GCallback ) (alpha_changed))), (alpha2), ((void*)0), (GConnectFlags) 0); |
1585 | ctk_range_set_value (CTK_RANGE (scale)((((CtkRange*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_range_get_type ())))))), 50); |
1586 | |
1587 | scale = ctk_scale_new_with_range (CTK_ORIENTATION_VERTICAL, |
1588 | 0, 100, 1); |
1589 | ctk_box_pack_start (CTK_BOX (main_hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_hbox)), ((ctk_box_get_type ())))))), scale, FALSE(0), FALSE(0), 0); |
1590 | g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha3)g_signal_connect_data ((scale), ("value_changed"), (((GCallback ) (alpha_changed))), (alpha3), ((void*)0), (GConnectFlags) 0); |
1591 | ctk_range_set_value (CTK_RANGE (scale)((((CtkRange*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_range_get_type ())))))), 50); |
1592 | |
1593 | ctk_widget_show_all (main_hbox); |
1594 | } |
1595 | |
1596 | if (!ctk_widget_get_visible (window)) |
1597 | ctk_widget_show (window); |
1598 | else |
1599 | ctk_widget_destroy (window); |
1600 | } |
1601 | |
1602 | |
1603 | /* |
1604 | * Label Demo |
1605 | */ |
1606 | static void |
1607 | sensitivity_toggled (CtkWidget *toggle, |
1608 | CtkWidget *widget) |
1609 | { |
1610 | ctk_widget_set_sensitive (widget, |
1611 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (toggle)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((toggle)), ((ctk_toggle_button_get_type ())))))))); |
1612 | } |
1613 | |
1614 | static CtkWidget* |
1615 | create_sensitivity_control (CtkWidget *widget) |
1616 | { |
1617 | CtkWidget *button; |
1618 | |
1619 | button = ctk_toggle_button_new_with_label ("Sensitive"); |
1620 | |
1621 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), |
1622 | ctk_widget_is_sensitive (widget)); |
1623 | |
1624 | g_signal_connect (button,g_signal_connect_data ((button), ("toggled"), (((GCallback) ( sensitivity_toggled))), (widget), ((void*)0), (GConnectFlags) 0) |
1625 | "toggled",g_signal_connect_data ((button), ("toggled"), (((GCallback) ( sensitivity_toggled))), (widget), ((void*)0), (GConnectFlags) 0) |
1626 | G_CALLBACK (sensitivity_toggled),g_signal_connect_data ((button), ("toggled"), (((GCallback) ( sensitivity_toggled))), (widget), ((void*)0), (GConnectFlags) 0) |
1627 | widget)g_signal_connect_data ((button), ("toggled"), (((GCallback) ( sensitivity_toggled))), (widget), ((void*)0), (GConnectFlags) 0); |
1628 | |
1629 | ctk_widget_show_all (button); |
1630 | |
1631 | return button; |
1632 | } |
1633 | |
1634 | static void |
1635 | set_selectable_recursive (CtkWidget *widget, |
1636 | gboolean setting) |
1637 | { |
1638 | if (CTK_IS_CONTAINER (widget)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (widget)); GType __t = ((ctk_container_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
1639 | { |
1640 | GList *children; |
1641 | GList *tmp; |
1642 | |
1643 | children = ctk_container_get_children (CTK_CONTAINER (widget)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_container_get_type ()))))))); |
1644 | tmp = children; |
1645 | while (tmp) |
1646 | { |
1647 | set_selectable_recursive (tmp->data, setting); |
1648 | |
1649 | tmp = tmp->next; |
1650 | } |
1651 | g_list_free (children); |
1652 | } |
1653 | else if (CTK_IS_LABEL (widget)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (widget)); GType __t = ((ctk_label_get_type ())); gboolean __r ; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
1654 | { |
1655 | ctk_label_set_selectable (CTK_LABEL (widget)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_label_get_type ())))))), setting); |
1656 | } |
1657 | } |
1658 | |
1659 | static void |
1660 | selectable_toggled (CtkWidget *toggle, |
1661 | CtkWidget *widget) |
1662 | { |
1663 | set_selectable_recursive (widget, |
1664 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (toggle)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((toggle)), ((ctk_toggle_button_get_type ())))))))); |
1665 | } |
1666 | |
1667 | static CtkWidget* |
1668 | create_selectable_control (CtkWidget *widget) |
1669 | { |
1670 | CtkWidget *button; |
1671 | |
1672 | button = ctk_toggle_button_new_with_label ("Selectable"); |
1673 | |
1674 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), |
1675 | FALSE(0)); |
1676 | |
1677 | g_signal_connect (button,g_signal_connect_data ((button), ("toggled"), (((GCallback) ( selectable_toggled))), (widget), ((void*)0), (GConnectFlags) 0 ) |
1678 | "toggled",g_signal_connect_data ((button), ("toggled"), (((GCallback) ( selectable_toggled))), (widget), ((void*)0), (GConnectFlags) 0 ) |
1679 | G_CALLBACK (selectable_toggled),g_signal_connect_data ((button), ("toggled"), (((GCallback) ( selectable_toggled))), (widget), ((void*)0), (GConnectFlags) 0 ) |
1680 | widget)g_signal_connect_data ((button), ("toggled"), (((GCallback) ( selectable_toggled))), (widget), ((void*)0), (GConnectFlags) 0 ); |
1681 | |
1682 | ctk_widget_show_all (button); |
1683 | |
1684 | return button; |
1685 | } |
1686 | |
1687 | static void |
1688 | dialog_response (CtkWidget *dialog, gint response_id, CtkLabel *label) |
1689 | { |
1690 | const gchar *text; |
1691 | |
1692 | ctk_widget_destroy (dialog); |
1693 | |
1694 | text = "Some <a href=\"http://en.wikipedia.org/wiki/Text\" title=\"plain text\">text</a> may be marked up\n" |
1695 | "as hyperlinks, which can be clicked\n" |
1696 | "or activated via <a href=\"keynav\">keynav</a>.\n" |
1697 | "The links remain the same."; |
1698 | ctk_label_set_markup (label, text); |
1699 | } |
1700 | |
1701 | static gboolean |
1702 | activate_link (CtkWidget *label, const gchar *uri, gpointer data) |
1703 | { |
1704 | if (g_strcmp0 (uri, "keynav") == 0) |
1705 | { |
1706 | CtkWidget *dialog; |
1707 | |
1708 | dialog = ctk_message_dialog_new_with_markup (CTK_WINDOW (ctk_widget_get_toplevel (label))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_toplevel (label))), ((ctk_window_get_type ())))))), |
1709 | CTK_DIALOG_DESTROY_WITH_PARENT, |
1710 | CTK_MESSAGE_INFO, |
1711 | CTK_BUTTONS_OK, |
1712 | "The term <i>keynav</i> is a shorthand for " |
1713 | "keyboard navigation and refers to the process of using a program " |
1714 | "(exclusively) via keyboard input."); |
1715 | |
1716 | ctk_window_present (CTK_WINDOW (dialog)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog)), ((ctk_window_get_type ()))))))); |
1717 | |
1718 | g_signal_connect (dialog, "response", G_CALLBACK (dialog_response), label)g_signal_connect_data ((dialog), ("response"), (((GCallback) ( dialog_response))), (label), ((void*)0), (GConnectFlags) 0); |
1719 | |
1720 | return TRUE(!(0)); |
1721 | } |
1722 | |
1723 | return FALSE(0); |
1724 | } |
1725 | |
1726 | void create_labels (CtkWidget *widget) |
1727 | { |
1728 | static CtkWidget *window = NULL((void*)0); |
1729 | |
1730 | if (!window) |
1731 | { |
1732 | CtkWidget *hbox; |
1733 | CtkWidget *vbox; |
1734 | CtkWidget *frame; |
1735 | CtkWidget *label; |
1736 | CtkWidget *button; |
1737 | |
1738 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
1739 | |
1740 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
1741 | ctk_widget_get_screen (widget)); |
1742 | |
1743 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1744 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1745 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
1746 | |
1747 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Label"); |
1748 | |
1749 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
1750 | |
1751 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
1752 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), vbox); |
1753 | |
1754 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), FALSE(0), 0); |
1755 | |
1756 | button = create_sensitivity_control (hbox); |
1757 | |
1758 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
1759 | |
1760 | button = create_selectable_control (hbox); |
1761 | |
1762 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
1763 | |
1764 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
1765 | |
1766 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), vbox, FALSE(0), FALSE(0), 0); |
1767 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 5); |
1768 | |
1769 | frame = ctk_frame_new ("Normal Label"); |
1770 | label = ctk_label_new ("This is a Normal label"); |
1771 | ctk_label_set_ellipsize (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), PANGO_ELLIPSIZE_START); |
1772 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1773 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1774 | |
1775 | frame = ctk_frame_new ("Multi-line Label"); |
1776 | label = ctk_label_new ("This is a Multi-line label.\nSecond line\nThird line"); |
1777 | ctk_label_set_ellipsize (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), PANGO_ELLIPSIZE_END); |
1778 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1779 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1780 | |
1781 | frame = ctk_frame_new ("Left Justified Label"); |
1782 | label = ctk_label_new ("This is a Left-Justified\nMulti-line label.\nThird line"); |
1783 | ctk_label_set_ellipsize (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), PANGO_ELLIPSIZE_MIDDLE); |
1784 | ctk_label_set_justify (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), CTK_JUSTIFY_LEFT); |
1785 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1786 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1787 | |
1788 | frame = ctk_frame_new ("Right Justified Label"); |
1789 | ctk_label_set_ellipsize (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), PANGO_ELLIPSIZE_START); |
1790 | label = ctk_label_new ("This is a Right-Justified\nMulti-line label.\nFourth line, (j/k)"); |
1791 | ctk_label_set_justify (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), CTK_JUSTIFY_RIGHT); |
1792 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1793 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1794 | |
1795 | frame = ctk_frame_new ("Internationalized Label"); |
1796 | label = ctk_label_new (NULL((void*)0)); |
1797 | ctk_label_set_markup (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), |
1798 | "French (Fran\303\247ais) Bonjour, Salut\n" |
1799 | "Korean (\355\225\234\352\270\200) \354\225\210\353\205\225\355\225\230\354\204\270\354\232\224, \354\225\210\353\205\225\355\225\230\354\213\255\353\213\210\352\271\214\n" |
1800 | "Russian (\320\240\321\203\321\201\321\201\320\272\320\270\320\271) \320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265!\n" |
1801 | "Chinese (Simplified) <span lang=\"zh-cn\">\345\205\203\346\260\224 \345\274\200\345\217\221</span>\n" |
1802 | "Chinese (Traditional) <span lang=\"zh-tw\">\345\205\203\346\260\243 \351\226\213\347\231\274</span>\n" |
1803 | "Japanese <span lang=\"ja\">\345\205\203\346\260\227 \351\226\213\347\231\272</span>"); |
1804 | ctk_label_set_justify (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), CTK_JUSTIFY_LEFT); |
1805 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1806 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1807 | |
1808 | frame = ctk_frame_new ("Bidirection Label"); |
1809 | label = ctk_label_new ("\342\200\217Arabic \330\247\331\204\330\263\331\204\330\247\331\205 \330\271\331\204\331\212\331\203\331\205\n" |
1810 | "\342\200\217Hebrew \327\251\327\234\327\225\327\235"); |
1811 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1812 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1813 | |
1814 | frame = ctk_frame_new ("Links in a label"); |
1815 | label = ctk_label_new ("Some <a href=\"http://en.wikipedia.org/wiki/Text\" title=\"plain text\">text</a> may be marked up\n" |
1816 | "as hyperlinks, which can be clicked\n" |
1817 | "or activated via <a href=\"keynav\">keynav</a>"); |
1818 | ctk_label_set_use_markup (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), TRUE(!(0))); |
1819 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1820 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1821 | g_signal_connect (label, "activate-link", G_CALLBACK (activate_link), NULL)g_signal_connect_data ((label), ("activate-link"), (((GCallback ) (activate_link))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
1822 | |
1823 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
1824 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), vbox, FALSE(0), FALSE(0), 0); |
1825 | frame = ctk_frame_new ("Line wrapped label"); |
1826 | label = ctk_label_new ("This is an example of a line-wrapped label. It should not be taking "\ |
1827 | "up the entire "/* big space to test spacing */\ |
1828 | "width allocated to it, but automatically wraps the words to fit. "\ |
1829 | "The time has come, for all good men, to come to the aid of their party. "\ |
1830 | "The sixth sheik's six sheep's sick.\n"\ |
1831 | " It supports multiple paragraphs correctly, and correctly adds "\ |
1832 | "many extra spaces. "); |
1833 | |
1834 | ctk_label_set_line_wrap (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), TRUE(!(0))); |
1835 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1836 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1837 | |
1838 | frame = ctk_frame_new ("Filled, wrapped label"); |
1839 | label = ctk_label_new ("This is an example of a line-wrapped, filled label. It should be taking "\ |
1840 | "up the entire width allocated to it. Here is a seneance to prove "\ |
1841 | "my point. Here is another sentence. "\ |
1842 | "Here comes the sun, do de do de do.\n"\ |
1843 | " This is a new paragraph.\n"\ |
1844 | " This is another newer, longer, better paragraph. It is coming to an end, "\ |
1845 | "unfortunately."); |
1846 | ctk_label_set_justify (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), CTK_JUSTIFY_FILL); |
1847 | ctk_label_set_line_wrap (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), TRUE(!(0))); |
1848 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1849 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1850 | |
1851 | frame = ctk_frame_new ("Underlined label"); |
1852 | label = ctk_label_new ("This label is underlined!\n" |
1853 | "This one is underlined (\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257) in quite a funky fashion"); |
1854 | ctk_label_set_justify (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), CTK_JUSTIFY_LEFT); |
1855 | ctk_label_set_pattern (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), "_________________________ _ _________ _ _____ _ __ __ ___ ____ _____"); |
1856 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1857 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1858 | |
1859 | frame = ctk_frame_new ("Markup label"); |
1860 | label = ctk_label_new (NULL((void*)0)); |
1861 | |
1862 | /* There's also a ctk_label_set_markup() without accel if you |
1863 | * don't have an accelerator key |
1864 | */ |
1865 | ctk_label_set_markup_with_mnemonic (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), |
1866 | "This <span foreground=\"blue\" background=\"orange\">label</span> has " |
1867 | "<b>markup</b> _such as " |
1868 | "<big><i>Big Italics</i></big>\n" |
1869 | "<tt>Monospace font</tt>\n" |
1870 | "<u>Underline!</u>\n" |
1871 | "foo\n" |
1872 | "<span foreground=\"green\" background=\"red\">Ugly colors</span>\n" |
1873 | "and nothing on this line,\n" |
1874 | "or this.\n" |
1875 | "or this either\n" |
1876 | "or even on this one\n" |
1877 | "la <big>la <big>la <big>la <big>la</big></big></big></big>\n" |
1878 | "but this _word is <span foreground=\"purple\"><big>purple</big></span>\n" |
1879 | "<span underline=\"double\">We like <sup>superscript</sup> and <sub>subscript</sub> too</span>"); |
1880 | |
1881 | g_assert (ctk_label_get_mnemonic_keyval (CTK_LABEL (label)) == CDK_KEY_s)do { if (ctk_label_get_mnemonic_keyval (((((CtkLabel*) (void * ) g_type_check_instance_cast ((GTypeInstance*) ((label)), ((ctk_label_get_type ()))))))) == 0x073) ; else g_assertion_message_expr (((gchar *) 0), "testctk.c", 1881, ((const char*) (__func__)), "ctk_label_get_mnemonic_keyval (CTK_LABEL (label)) == CDK_KEY_s" ); } while (0); |
1882 | |
1883 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), label); |
1884 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), FALSE(0), 0); |
1885 | } |
1886 | |
1887 | if (!ctk_widget_get_visible (window)) |
1888 | ctk_widget_show_all (window); |
1889 | else |
1890 | ctk_widget_destroy (window); |
1891 | } |
1892 | |
1893 | static void |
1894 | on_angle_scale_changed (CtkRange *range, |
1895 | CtkLabel *label) |
1896 | { |
1897 | ctk_label_set_angle (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), ctk_range_get_value (range)); |
1898 | } |
1899 | |
1900 | static void |
1901 | create_rotated_label (CtkWidget *widget) |
1902 | { |
1903 | static CtkWidget *window = NULL((void*)0); |
1904 | |
1905 | if (!window) |
1906 | { |
1907 | CtkWidget *content_area; |
1908 | CtkWidget *vbox; |
1909 | CtkWidget *hscale; |
1910 | CtkWidget *label; |
1911 | CtkWidget *scale_label; |
1912 | CtkWidget *scale_hbox; |
1913 | |
1914 | window = ctk_dialog_new_with_buttons ("Rotated Label", |
1915 | CTK_WINDOW (ctk_widget_get_toplevel (widget))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_toplevel (widget))), ((ctk_window_get_type ())))))), 0, |
1916 | "_Close", CTK_RESPONSE_CLOSE, |
1917 | NULL((void*)0)); |
1918 | |
1919 | ctk_window_set_resizable (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), TRUE(!(0))); |
1920 | |
1921 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
1922 | ctk_widget_get_screen (widget)); |
1923 | |
1924 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
1925 | G_CALLBACK (ctk_widget_destroy), NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
1926 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
1927 | G_CALLBACK (ctk_widget_destroyed), &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
1928 | |
1929 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
1930 | |
1931 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
1932 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), vbox, TRUE(!(0)), TRUE(!(0)), 0); |
1933 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 10); |
1934 | |
1935 | label = ctk_label_new (NULL((void*)0)); |
1936 | ctk_label_set_markup (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), "Hello World\n<i>Rotate</i> <span underline='single' foreground='blue'>me</span>"); |
1937 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, TRUE(!(0)), TRUE(!(0)), 0); |
1938 | |
1939 | scale_hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
1940 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), scale_hbox, FALSE(0), FALSE(0), 0); |
1941 | |
1942 | scale_label = ctk_label_new (NULL((void*)0)); |
1943 | ctk_label_set_markup (CTK_LABEL (scale_label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale_label)), ((ctk_label_get_type ())))))), "<i>Angle: </i>"); |
1944 | ctk_box_pack_start (CTK_BOX (scale_hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale_hbox)), ((ctk_box_get_type ())))))), scale_label, FALSE(0), FALSE(0), 0); |
1945 | |
1946 | hscale = ctk_scale_new_with_range (CTK_ORIENTATION_HORIZONTAL, |
1947 | 0, 360, 5); |
1948 | g_signal_connect (hscale, "value-changed",g_signal_connect_data ((hscale), ("value-changed"), (((GCallback ) (on_angle_scale_changed))), (label), ((void*)0), (GConnectFlags ) 0) |
1949 | G_CALLBACK (on_angle_scale_changed), label)g_signal_connect_data ((hscale), ("value-changed"), (((GCallback ) (on_angle_scale_changed))), (label), ((void*)0), (GConnectFlags ) 0); |
1950 | |
1951 | ctk_range_set_value (CTK_RANGE (hscale)((((CtkRange*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hscale)), ((ctk_range_get_type ())))))), 45); |
1952 | ctk_widget_set_size_request (hscale, 200, -1); |
1953 | ctk_box_pack_start (CTK_BOX (scale_hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale_hbox)), ((ctk_box_get_type ())))))), hscale, TRUE(!(0)), TRUE(!(0)), 0); |
1954 | } |
1955 | |
1956 | if (!ctk_widget_get_visible (window)) |
1957 | ctk_widget_show_all (window); |
1958 | else |
1959 | ctk_widget_destroy (window); |
1960 | } |
1961 | |
1962 | #define DEFAULT_TEXT_RADIUS200 200 |
1963 | |
1964 | static void |
1965 | on_rotated_text_unrealize (CtkWidget *widget) |
1966 | { |
1967 | g_object_set_data (G_OBJECT (widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), (((GType) ((20) << (2)))))))), "text-gc", NULL((void*)0)); |
1968 | } |
1969 | |
1970 | static gboolean |
1971 | on_rotated_text_draw (CtkWidget *widget, |
1972 | cairo_t *cr, |
1973 | GdkPixbuf *tile_pixbuf) |
1974 | { |
1975 | static const gchar *words[] = { "The", "grand", "old", "Duke", "of", "York", |
1976 | "had", "10,000", "men" }; |
1977 | int n_words; |
1978 | int i; |
1979 | int width, height; |
1980 | double radius; |
1981 | PangoLayout *layout; |
1982 | PangoContext *context; |
1983 | PangoFontDescription *desc; |
1984 | |
1985 | cairo_set_source_rgb (cr, 1, 1, 1); |
1986 | cairo_paint (cr); |
1987 | |
1988 | if (tile_pixbuf) |
1989 | { |
1990 | cdk_cairo_set_source_pixbuf (cr, tile_pixbuf, 0, 0); |
1991 | cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT); |
1992 | } |
1993 | else |
1994 | cairo_set_source_rgb (cr, 0, 0, 0); |
1995 | |
1996 | width = ctk_widget_get_allocated_width (widget); |
1997 | height = ctk_widget_get_allocated_height (widget); |
1998 | radius = MIN (width, height)(((width) < (height)) ? (width) : (height)) / 2.; |
1999 | |
2000 | cairo_translate (cr, |
2001 | radius + (width - 2 * radius) / 2, |
2002 | radius + (height - 2 * radius) / 2); |
2003 | cairo_scale (cr, radius / DEFAULT_TEXT_RADIUS200, radius / DEFAULT_TEXT_RADIUS200); |
2004 | |
2005 | context = ctk_widget_get_pango_context (widget); |
2006 | layout = pango_layout_new (context); |
2007 | desc = pango_font_description_from_string ("Sans Bold 30"); |
2008 | pango_layout_set_font_description (layout, desc); |
2009 | pango_font_description_free (desc); |
2010 | |
2011 | n_words = G_N_ELEMENTS (words)(sizeof (words) / sizeof ((words)[0])); |
2012 | for (i = 0; i < n_words; i++) |
2013 | { |
2014 | int width, height; |
2015 | |
2016 | cairo_save (cr); |
2017 | |
2018 | cairo_rotate (cr, 2 * G_PI3.1415926535897932384626433832795028841971693993751 * i / n_words); |
2019 | pango_cairo_update_layout (cr, layout); |
2020 | |
2021 | pango_layout_set_text (layout, words[i], -1); |
2022 | pango_layout_get_size (layout, &width, &height); |
2023 | |
2024 | cairo_move_to (cr, - width / 2 / PANGO_SCALE1024, - DEFAULT_TEXT_RADIUS200); |
2025 | pango_cairo_show_layout (cr, layout); |
2026 | |
2027 | cairo_restore (cr); |
2028 | } |
2029 | |
2030 | g_object_unref (layout); |
2031 | |
2032 | return FALSE(0); |
2033 | } |
2034 | |
2035 | static void |
2036 | create_rotated_text (CtkWidget *widget) |
2037 | { |
2038 | static CtkWidget *window = NULL((void*)0); |
2039 | |
2040 | if (!window) |
2041 | { |
2042 | CtkRequisition requisition; |
2043 | CtkWidget *content_area; |
2044 | CtkWidget *drawing_area; |
2045 | GdkPixbuf *tile_pixbuf; |
2046 | |
2047 | window = ctk_dialog_new_with_buttons ("Rotated Text", |
2048 | CTK_WINDOW (ctk_widget_get_toplevel (widget))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_toplevel (widget))), ((ctk_window_get_type ())))))), 0, |
2049 | "_Close", CTK_RESPONSE_CLOSE, |
2050 | NULL((void*)0)); |
2051 | |
2052 | ctk_window_set_resizable (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), TRUE(!(0))); |
2053 | |
2054 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
2055 | ctk_widget_get_screen (widget)); |
2056 | |
2057 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
2058 | G_CALLBACK (ctk_widget_destroy), NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
2059 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2060 | G_CALLBACK (ctk_widget_destroyed), &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
2061 | |
2062 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
2063 | |
2064 | drawing_area = ctk_drawing_area_new (); |
2065 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), drawing_area, TRUE(!(0)), TRUE(!(0)), 0); |
2066 | |
2067 | tile_pixbuf = gdk_pixbuf_new_from_file ("marble.xpm", NULL((void*)0)); |
2068 | |
2069 | g_signal_connect (drawing_area, "draw",g_signal_connect_data ((drawing_area), ("draw"), (((GCallback ) (on_rotated_text_draw))), (tile_pixbuf), ((void*)0), (GConnectFlags ) 0) |
2070 | G_CALLBACK (on_rotated_text_draw), tile_pixbuf)g_signal_connect_data ((drawing_area), ("draw"), (((GCallback ) (on_rotated_text_draw))), (tile_pixbuf), ((void*)0), (GConnectFlags ) 0); |
2071 | g_signal_connect (drawing_area, "unrealize",g_signal_connect_data ((drawing_area), ("unrealize"), (((GCallback ) (on_rotated_text_unrealize))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
2072 | G_CALLBACK (on_rotated_text_unrealize), NULL)g_signal_connect_data ((drawing_area), ("unrealize"), (((GCallback ) (on_rotated_text_unrealize))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
2073 | |
2074 | ctk_widget_show_all (ctk_bin_get_child (CTK_BIN (window)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_bin_get_type ())))))))); |
2075 | |
2076 | ctk_widget_set_size_request (drawing_area, DEFAULT_TEXT_RADIUS200 * 2, DEFAULT_TEXT_RADIUS200 * 2); |
2077 | ctk_widget_get_preferred_size ( (window), |
2078 | &requisition, NULL((void*)0)); |
2079 | ctk_widget_set_size_request (drawing_area, -1, -1); |
2080 | ctk_window_resize (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), requisition.width, requisition.height); |
2081 | } |
2082 | |
2083 | if (!ctk_widget_get_visible (window)) |
2084 | ctk_widget_show (window); |
2085 | else |
2086 | ctk_widget_destroy (window); |
2087 | } |
2088 | |
2089 | /* |
2090 | * Reparent demo |
2091 | */ |
2092 | |
2093 | static void |
2094 | reparent_label (CtkWidget *widget, |
2095 | CtkWidget *new_parent) |
2096 | { |
2097 | CtkWidget *label; |
2098 | |
2099 | label = g_object_get_data (G_OBJECT (widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), (((GType) ((20) << (2)))))))), "user_data"); |
2100 | |
2101 | ctk_widget_reparent (label, new_parent); |
2102 | } |
2103 | |
2104 | static void |
2105 | set_parent_signal (CtkWidget *child, |
2106 | CtkWidget *old_parent, |
2107 | gpointer func_data) |
2108 | { |
2109 | CtkWidget *parent; |
2110 | |
2111 | parent = ctk_widget_get_parent (child); |
2112 | g_message ("set_parent for \"%s\": new parent: \"%s\", old parent: \"%s\", data: %d\n", |
2113 | g_type_name (G_OBJECT_TYPE (child)(((((GTypeClass*) (((GTypeInstance*) (child))->g_class))-> g_type)))), |
2114 | parent ? g_type_name (G_OBJECT_TYPE (parent)(((((GTypeClass*) (((GTypeInstance*) (parent))->g_class))-> g_type)))) : "NULL", |
2115 | old_parent ? g_type_name (G_OBJECT_TYPE (old_parent)(((((GTypeClass*) (((GTypeInstance*) (old_parent))->g_class ))->g_type)))) : "NULL", |
2116 | GPOINTER_TO_INT (func_data)((gint) (glong) (func_data))); |
2117 | } |
2118 | |
2119 | static void |
2120 | create_reparent (CtkWidget *widget) |
2121 | { |
2122 | static CtkWidget *window = NULL((void*)0); |
2123 | |
2124 | if (!window) |
2125 | { |
2126 | CtkWidget *box1; |
2127 | CtkWidget *box2; |
2128 | CtkWidget *box3; |
2129 | CtkWidget *frame; |
2130 | CtkWidget *button; |
2131 | CtkWidget *label; |
2132 | CtkWidget *separator; |
2133 | CtkWidget *event_box; |
2134 | |
2135 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
2136 | |
2137 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
2138 | ctk_widget_get_screen (widget)); |
2139 | |
2140 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2141 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2142 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
2143 | |
2144 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "reparent"); |
2145 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
2146 | |
2147 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
2148 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
2149 | |
2150 | box2 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
2151 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
2152 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
2153 | |
2154 | label = ctk_label_new ("Hello World"); |
2155 | |
2156 | frame = ctk_frame_new ("Frame 1"); |
2157 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 0); |
2158 | |
2159 | box3 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
2160 | ctk_container_set_border_width (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), 5); |
2161 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), box3); |
2162 | |
2163 | button = ctk_button_new_with_label ("switch"); |
2164 | g_object_set_data (G_OBJECT (button)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), (((GType) ((20) << (2)))))))), "user_data", label); |
2165 | ctk_box_pack_start (CTK_BOX (box3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_box_get_type ())))))), button, FALSE(0), TRUE(!(0)), 0); |
2166 | |
2167 | event_box = ctk_event_box_new (); |
2168 | ctk_box_pack_start (CTK_BOX (box3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_box_get_type ())))))), event_box, FALSE(0), TRUE(!(0)), 0); |
2169 | ctk_container_add (CTK_CONTAINER (event_box)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((event_box)), ((ctk_container_get_type ())))))), label); |
2170 | |
2171 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( reparent_label))), (event_box), ((void*)0), (GConnectFlags) 0 ) |
2172 | G_CALLBACK (reparent_label),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( reparent_label))), (event_box), ((void*)0), (GConnectFlags) 0 ) |
2173 | event_box)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( reparent_label))), (event_box), ((void*)0), (GConnectFlags) 0 ); |
2174 | |
2175 | g_signal_connect (label, "parent_set",g_signal_connect_data ((label), ("parent_set"), (((GCallback) (set_parent_signal))), (((gpointer) (glong) (42))), ((void*) 0), (GConnectFlags) 0) |
2176 | G_CALLBACK (set_parent_signal),g_signal_connect_data ((label), ("parent_set"), (((GCallback) (set_parent_signal))), (((gpointer) (glong) (42))), ((void*) 0), (GConnectFlags) 0) |
2177 | GINT_TO_POINTER (42))g_signal_connect_data ((label), ("parent_set"), (((GCallback) (set_parent_signal))), (((gpointer) (glong) (42))), ((void*) 0), (GConnectFlags) 0); |
2178 | |
2179 | frame = ctk_frame_new ("Frame 2"); |
2180 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 0); |
2181 | |
2182 | box3 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
2183 | ctk_container_set_border_width (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), 5); |
2184 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), box3); |
2185 | |
2186 | button = ctk_button_new_with_label ("switch"); |
2187 | g_object_set_data (G_OBJECT (button)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), (((GType) ((20) << (2)))))))), "user_data", label); |
2188 | ctk_box_pack_start (CTK_BOX (box3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_box_get_type ())))))), button, FALSE(0), TRUE(!(0)), 0); |
2189 | |
2190 | event_box = ctk_event_box_new (); |
2191 | ctk_box_pack_start (CTK_BOX (box3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_box_get_type ())))))), event_box, FALSE(0), TRUE(!(0)), 0); |
2192 | |
2193 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( reparent_label))), (event_box), ((void*)0), (GConnectFlags) 0 ) |
2194 | G_CALLBACK (reparent_label),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( reparent_label))), (event_box), ((void*)0), (GConnectFlags) 0 ) |
2195 | event_box)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( reparent_label))), (event_box), ((void*)0), (GConnectFlags) 0 ); |
2196 | |
2197 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
2198 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
2199 | |
2200 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
2201 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
2202 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
2203 | |
2204 | button = ctk_button_new_with_label ("close"); |
2205 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
2206 | G_CALLBACK (ctk_widget_destroy), window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
2207 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
2208 | ctk_widget_set_can_default (button, TRUE(!(0))); |
2209 | ctk_widget_grab_default (button); |
2210 | } |
2211 | |
2212 | if (!ctk_widget_get_visible (window)) |
2213 | ctk_widget_show_all (window); |
2214 | else |
2215 | ctk_widget_destroy (window); |
2216 | } |
2217 | |
2218 | /* |
2219 | * Resize Grips |
2220 | */ |
2221 | static gboolean |
2222 | grippy_button_press (CtkWidget *area, CdkEventButton *event, CdkWindowEdge edge) |
2223 | { |
2224 | if (event->type == CDK_BUTTON_PRESS) |
2225 | { |
2226 | if (event->button == CDK_BUTTON_PRIMARY(1)) |
2227 | ctk_window_begin_resize_drag (CTK_WINDOW (ctk_widget_get_toplevel (area))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_toplevel (area))), ((ctk_window_get_type ( ))))))), edge, |
2228 | event->button, event->x_root, event->y_root, |
2229 | event->time); |
2230 | else if (event->button == CDK_BUTTON_MIDDLE(2)) |
2231 | ctk_window_begin_move_drag (CTK_WINDOW (ctk_widget_get_toplevel (area))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_toplevel (area))), ((ctk_window_get_type ( ))))))), |
2232 | event->button, event->x_root, event->y_root, |
2233 | event->time); |
2234 | } |
2235 | return TRUE(!(0)); |
2236 | } |
2237 | |
2238 | static gboolean |
2239 | grippy_draw (CtkWidget *area, cairo_t *cr, CdkWindowEdge edge) |
2240 | { |
2241 | CtkStyleContext *context; |
2242 | CtkJunctionSides sides; |
2243 | |
2244 | switch (edge) |
2245 | { |
2246 | case CDK_WINDOW_EDGE_NORTH_WEST: |
2247 | sides = CTK_JUNCTION_CORNER_TOPLEFT; |
2248 | break; |
2249 | case CDK_WINDOW_EDGE_NORTH: |
2250 | sides = CTK_JUNCTION_TOP; |
2251 | break; |
2252 | case CDK_WINDOW_EDGE_NORTH_EAST: |
2253 | sides = CTK_JUNCTION_CORNER_TOPRIGHT; |
2254 | break; |
2255 | case CDK_WINDOW_EDGE_WEST: |
2256 | sides = CTK_JUNCTION_LEFT; |
2257 | break; |
2258 | case CDK_WINDOW_EDGE_EAST: |
2259 | sides = CTK_JUNCTION_RIGHT; |
2260 | break; |
2261 | case CDK_WINDOW_EDGE_SOUTH_WEST: |
2262 | sides = CTK_JUNCTION_CORNER_BOTTOMLEFT; |
2263 | break; |
2264 | case CDK_WINDOW_EDGE_SOUTH: |
2265 | sides = CTK_JUNCTION_BOTTOM; |
2266 | break; |
2267 | case CDK_WINDOW_EDGE_SOUTH_EAST: |
2268 | sides = CTK_JUNCTION_CORNER_BOTTOMRIGHT; |
2269 | break; |
2270 | default: |
2271 | g_assert_not_reached()do { g_assertion_message_expr (((gchar*) 0), "testctk.c", 2271 , ((const char*) (__func__)), ((void*)0)); } while (0); |
2272 | } |
2273 | |
2274 | context = ctk_widget_get_style_context (area); |
2275 | ctk_style_context_save (context); |
2276 | ctk_style_context_add_class (context, "grip"); |
2277 | ctk_style_context_set_junction_sides (context, sides); |
2278 | ctk_render_handle (context, cr, |
2279 | 0, 0, |
2280 | ctk_widget_get_allocated_width (area), |
2281 | ctk_widget_get_allocated_height (area)); |
2282 | |
2283 | ctk_style_context_restore (context); |
2284 | |
2285 | return TRUE(!(0)); |
2286 | } |
2287 | |
2288 | static void |
2289 | create_resize_grips (CtkWidget *widget) |
2290 | { |
2291 | static CtkWidget *window = NULL((void*)0); |
2292 | |
2293 | if (!window) |
2294 | { |
2295 | CtkWidget *area; |
2296 | CtkWidget *hbox, *vbox; |
2297 | |
2298 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
2299 | |
2300 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
2301 | ctk_widget_get_screen (widget)); |
2302 | |
2303 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "resize grips"); |
2304 | |
2305 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2306 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2307 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
2308 | |
2309 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
2310 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), vbox); |
2311 | |
2312 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2313 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), TRUE(!(0)), 0); |
2314 | |
2315 | /* North west */ |
2316 | area = ctk_drawing_area_new (); |
2317 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2318 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2319 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_WEST))), ((void *)0), (GConnectFlags) 0) |
2320 | GINT_TO_POINTER (CDK_WINDOW_EDGE_NORTH_WEST))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_WEST))), ((void *)0), (GConnectFlags) 0); |
2321 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_WEST ))), ((void*)0), (GConnectFlags) 0) |
2322 | GINT_TO_POINTER (CDK_WINDOW_EDGE_NORTH_WEST))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_WEST ))), ((void*)0), (GConnectFlags) 0); |
2323 | |
2324 | /* North */ |
2325 | area = ctk_drawing_area_new (); |
2326 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2327 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2328 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH))), ((void*) 0), (GConnectFlags) 0) |
2329 | GINT_TO_POINTER (CDK_WINDOW_EDGE_NORTH))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH))), ((void*) 0), (GConnectFlags) 0); |
2330 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH ))), ((void*)0), (GConnectFlags) 0) |
2331 | GINT_TO_POINTER (CDK_WINDOW_EDGE_NORTH))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH ))), ((void*)0), (GConnectFlags) 0); |
2332 | |
2333 | /* North east */ |
2334 | area = ctk_drawing_area_new (); |
2335 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2336 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2337 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_EAST))), ((void *)0), (GConnectFlags) 0) |
2338 | GINT_TO_POINTER (CDK_WINDOW_EDGE_NORTH_EAST))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_EAST))), ((void *)0), (GConnectFlags) 0); |
2339 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_EAST ))), ((void*)0), (GConnectFlags) 0) |
2340 | GINT_TO_POINTER (CDK_WINDOW_EDGE_NORTH_EAST))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_NORTH_EAST ))), ((void*)0), (GConnectFlags) 0); |
2341 | |
2342 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2343 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), TRUE(!(0)), 0); |
2344 | |
2345 | /* West */ |
2346 | area = ctk_drawing_area_new (); |
2347 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2348 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2349 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_WEST))), ((void*)0 ), (GConnectFlags) 0) |
2350 | GINT_TO_POINTER (CDK_WINDOW_EDGE_WEST))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_WEST))), ((void*)0 ), (GConnectFlags) 0); |
2351 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_WEST ))), ((void*)0), (GConnectFlags) 0) |
2352 | GINT_TO_POINTER (CDK_WINDOW_EDGE_WEST))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_WEST ))), ((void*)0), (GConnectFlags) 0); |
2353 | |
2354 | /* Middle */ |
2355 | area = ctk_drawing_area_new (); |
2356 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2357 | |
2358 | /* East */ |
2359 | area = ctk_drawing_area_new (); |
2360 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2361 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2362 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_EAST))), ((void*)0 ), (GConnectFlags) 0) |
2363 | GINT_TO_POINTER (CDK_WINDOW_EDGE_EAST))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_EAST))), ((void*)0 ), (GConnectFlags) 0); |
2364 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_EAST ))), ((void*)0), (GConnectFlags) 0) |
2365 | GINT_TO_POINTER (CDK_WINDOW_EDGE_EAST))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_EAST ))), ((void*)0), (GConnectFlags) 0); |
2366 | |
2367 | |
2368 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2369 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), TRUE(!(0)), 0); |
2370 | |
2371 | /* South west */ |
2372 | area = ctk_drawing_area_new (); |
2373 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2374 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2375 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_WEST))), ((void *)0), (GConnectFlags) 0) |
2376 | GINT_TO_POINTER (CDK_WINDOW_EDGE_SOUTH_WEST))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_WEST))), ((void *)0), (GConnectFlags) 0); |
2377 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_WEST ))), ((void*)0), (GConnectFlags) 0) |
2378 | GINT_TO_POINTER (CDK_WINDOW_EDGE_SOUTH_WEST))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_WEST ))), ((void*)0), (GConnectFlags) 0); |
2379 | /* South */ |
2380 | area = ctk_drawing_area_new (); |
2381 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2382 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2383 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH))), ((void*) 0), (GConnectFlags) 0) |
2384 | GINT_TO_POINTER (CDK_WINDOW_EDGE_SOUTH))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH))), ((void*) 0), (GConnectFlags) 0); |
2385 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH ))), ((void*)0), (GConnectFlags) 0) |
2386 | GINT_TO_POINTER (CDK_WINDOW_EDGE_SOUTH))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH ))), ((void*)0), (GConnectFlags) 0); |
2387 | |
2388 | /* South east */ |
2389 | area = ctk_drawing_area_new (); |
2390 | ctk_widget_add_events (area, CDK_BUTTON_PRESS_MASK); |
2391 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), area, TRUE(!(0)), TRUE(!(0)), 0); |
2392 | g_signal_connect (area, "draw", G_CALLBACK (grippy_draw),g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_EAST))), ((void *)0), (GConnectFlags) 0) |
2393 | GINT_TO_POINTER (CDK_WINDOW_EDGE_SOUTH_EAST))g_signal_connect_data ((area), ("draw"), (((GCallback) (grippy_draw ))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_EAST))), ((void *)0), (GConnectFlags) 0); |
2394 | g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_EAST ))), ((void*)0), (GConnectFlags) 0) |
2395 | GINT_TO_POINTER (CDK_WINDOW_EDGE_SOUTH_EAST))g_signal_connect_data ((area), ("button_press_event"), (((GCallback ) (grippy_button_press))), (((gpointer) (glong) (CDK_WINDOW_EDGE_SOUTH_EAST ))), ((void*)0), (GConnectFlags) 0); |
2396 | } |
2397 | |
2398 | if (!ctk_widget_get_visible (window)) |
2399 | ctk_widget_show_all (window); |
2400 | else |
2401 | ctk_widget_destroy (window); |
2402 | } |
2403 | |
2404 | /* |
2405 | * Saved Position |
2406 | */ |
2407 | gint upositionx = 0; |
2408 | gint upositiony = 0; |
2409 | |
2410 | static gint |
2411 | uposition_configure (CtkWidget *window) |
2412 | { |
2413 | CtkLabel *lx; |
2414 | CtkLabel *ly; |
2415 | gchar buffer[64]; |
2416 | |
2417 | lx = g_object_get_data (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), "x"); |
2418 | ly = g_object_get_data (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), "y"); |
2419 | |
2420 | cdk_window_get_root_origin (ctk_widget_get_window (window), |
2421 | &upositionx, &upositiony); |
2422 | sprintf (buffer, "%d", upositionx); |
2423 | ctk_label_set_text (lx, buffer); |
2424 | sprintf (buffer, "%d", upositiony); |
2425 | ctk_label_set_text (ly, buffer); |
2426 | |
2427 | return FALSE(0); |
2428 | } |
2429 | |
2430 | static void |
2431 | uposition_stop_configure (CtkToggleButton *toggle, |
2432 | GObject *window) |
2433 | { |
2434 | if (ctk_toggle_button_get_active (toggle)) |
2435 | g_signal_handlers_block_by_func (window, G_CALLBACK (uposition_configure), NULL)g_signal_handlers_block_matched ((window), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0 ), (((GCallback) (uposition_configure))), (((void*)0))); |
2436 | else |
2437 | g_signal_handlers_unblock_by_func (window, G_CALLBACK (uposition_configure), NULL)g_signal_handlers_unblock_matched ((window), (GSignalMatchType ) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*) 0), (((GCallback) (uposition_configure))), (((void*)0))); |
2438 | } |
2439 | |
2440 | static void |
2441 | create_saved_position (CtkWidget *widget) |
2442 | { |
2443 | static CtkWidget *window = NULL((void*)0); |
2444 | |
2445 | if (!window) |
2446 | { |
2447 | CtkWidget *hbox; |
2448 | CtkWidget *main_vbox; |
2449 | CtkWidget *vbox; |
2450 | CtkWidget *x_label; |
2451 | CtkWidget *y_label; |
2452 | CtkWidget *button; |
2453 | CtkWidget *label; |
2454 | CtkWidget *any; |
2455 | |
2456 | window = g_object_connect (g_object_new (CTK_TYPE_WINDOW(ctk_window_get_type ()), |
2457 | "type", CTK_WINDOW_TOPLEVEL, |
2458 | "title", "Saved Position", |
2459 | NULL((void*)0)), |
2460 | "signal::configure_event", uposition_configure, NULL((void*)0), |
2461 | NULL((void*)0)); |
2462 | |
2463 | ctk_window_move (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), upositionx, upositiony); |
2464 | |
2465 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
2466 | ctk_widget_get_screen (widget)); |
2467 | |
2468 | |
2469 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2470 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2471 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
2472 | |
2473 | main_vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
2474 | ctk_container_set_border_width (CTK_CONTAINER (main_vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_container_get_type ())))))), 0); |
2475 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), main_vbox); |
2476 | |
2477 | vbox = |
2478 | g_object_new (CTK_TYPE_BOX(ctk_box_get_type ()), |
2479 | "orientation", CTK_ORIENTATION_VERTICAL, |
2480 | "CtkBox::homogeneous", FALSE(0), |
2481 | "CtkBox::spacing", 5, |
2482 | "CtkContainer::border_width", 10, |
2483 | "CtkWidget::parent", main_vbox, |
2484 | "CtkWidget::visible", TRUE(!(0)), |
2485 | "child", g_object_connect (g_object_new (CTK_TYPE_TOGGLE_BUTTON(ctk_toggle_button_get_type ()), |
2486 | "label", "Stop Events", |
2487 | "active", FALSE(0), |
2488 | "visible", TRUE(!(0)), |
2489 | NULL((void*)0)), |
2490 | "signal::clicked", uposition_stop_configure, window, |
2491 | NULL((void*)0)), |
2492 | NULL((void*)0)); |
2493 | |
2494 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2495 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 5); |
2496 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 0); |
2497 | |
2498 | label = ctk_label_new ("X Origin : "); |
2499 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
2500 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
2501 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
2502 | |
2503 | x_label = ctk_label_new (""); |
2504 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), x_label, TRUE(!(0)), TRUE(!(0)), 0); |
2505 | g_object_set_data (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), "x", x_label); |
2506 | |
2507 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2508 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 5); |
2509 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 0); |
2510 | |
2511 | label = ctk_label_new ("Y Origin : "); |
2512 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
2513 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
2514 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
2515 | |
2516 | y_label = ctk_label_new (""); |
2517 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), y_label, TRUE(!(0)), TRUE(!(0)), 0); |
2518 | g_object_set_data (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), "y", y_label); |
2519 | |
2520 | any = |
2521 | g_object_new (ctk_separator_get_type (), |
2522 | "CtkWidget::visible", TRUE(!(0)), |
2523 | NULL((void*)0)); |
2524 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), any, FALSE(0), TRUE(!(0)), 0); |
2525 | |
2526 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2527 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 10); |
2528 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 0); |
2529 | |
2530 | button = ctk_button_new_with_label ("Close"); |
2531 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
2532 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
2533 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
2534 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 5); |
2535 | ctk_widget_set_can_default (button, TRUE(!(0))); |
2536 | ctk_widget_grab_default (button); |
2537 | |
2538 | ctk_widget_show_all (window); |
2539 | } |
2540 | else |
2541 | ctk_widget_destroy (window); |
2542 | } |
2543 | |
2544 | /* |
2545 | * CtkPixmap |
2546 | */ |
2547 | |
2548 | static void |
2549 | create_pixbuf (CtkWidget *widget) |
2550 | { |
2551 | static CtkWidget *window = NULL((void*)0); |
2552 | |
2553 | if (!window) |
2554 | { |
2555 | CtkWidget *box1; |
2556 | CtkWidget *box2; |
2557 | CtkWidget *box3; |
2558 | CtkWidget *button; |
2559 | CtkWidget *label; |
2560 | CtkWidget *separator; |
2561 | CtkWidget *pixbufwid; |
2562 | CdkWindow *cdk_window; |
2563 | |
2564 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
2565 | |
2566 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
2567 | ctk_widget_get_screen (widget)); |
2568 | |
2569 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2570 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2571 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
2572 | |
2573 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "CtkPixmap"); |
2574 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
2575 | ctk_widget_realize(window); |
2576 | |
2577 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
2578 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
2579 | |
2580 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
2581 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
2582 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
2583 | |
2584 | button = ctk_button_new (); |
2585 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
2586 | |
2587 | cdk_window = ctk_widget_get_window (window); |
2588 | |
2589 | pixbufwid = new_pixbuf ("test.xpm", cdk_window); |
2590 | |
2591 | label = ctk_label_new ("Pixbuf\ntest"); |
2592 | box3 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2593 | ctk_container_set_border_width (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), 2); |
2594 | ctk_container_add (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), pixbufwid); |
2595 | ctk_container_add (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), label); |
2596 | ctk_container_add (CTK_CONTAINER (button)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_container_get_type ())))))), box3); |
2597 | |
2598 | button = ctk_button_new (); |
2599 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
2600 | |
2601 | pixbufwid = new_pixbuf ("test.xpm", cdk_window); |
2602 | |
2603 | label = ctk_label_new ("Pixbuf\ntest"); |
2604 | box3 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
2605 | ctk_container_set_border_width (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), 2); |
2606 | ctk_container_add (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), pixbufwid); |
2607 | ctk_container_add (CTK_CONTAINER (box3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_container_get_type ())))))), label); |
2608 | ctk_container_add (CTK_CONTAINER (button)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_container_get_type ())))))), box3); |
2609 | |
2610 | ctk_widget_set_sensitive (button, FALSE(0)); |
2611 | |
2612 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
2613 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
2614 | |
2615 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
2616 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
2617 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
2618 | |
2619 | button = ctk_button_new_with_label ("close"); |
2620 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
2621 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
2622 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
2623 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
2624 | ctk_widget_set_can_default (button, TRUE(!(0))); |
2625 | ctk_widget_grab_default (button); |
2626 | } |
2627 | |
2628 | if (!ctk_widget_get_visible (window)) |
2629 | ctk_widget_show_all (window); |
2630 | else |
2631 | ctk_widget_destroy (window); |
2632 | } |
2633 | |
2634 | static void |
2635 | create_tooltips (CtkWidget *widget) |
2636 | { |
2637 | static CtkWidget *window = NULL((void*)0); |
2638 | |
2639 | if (!window) |
2640 | { |
2641 | CtkWidget *box1; |
2642 | CtkWidget *box2; |
2643 | CtkWidget *box3; |
2644 | CtkWidget *button; |
2645 | CtkWidget *toggle; |
2646 | CtkWidget *frame; |
2647 | CtkWidget *separator; |
2648 | |
2649 | window = |
2650 | g_object_new (ctk_window_get_type (), |
2651 | "CtkWindow::type", CTK_WINDOW_TOPLEVEL, |
2652 | "CtkContainer::border_width", 0, |
2653 | "CtkWindow::title", "Tooltips", |
2654 | "CtkWindow::resizable", FALSE(0), |
2655 | NULL((void*)0)); |
2656 | |
2657 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
2658 | ctk_widget_get_screen (widget)); |
2659 | |
2660 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
2661 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
2662 | |
2663 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
2664 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
2665 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
2666 | |
2667 | button = ctk_toggle_button_new_with_label ("button1"); |
2668 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
2669 | |
2670 | ctk_widget_set_tooltip_text (button, "This is button 1"); |
2671 | |
2672 | button = ctk_toggle_button_new_with_label ("button2"); |
2673 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
2674 | |
2675 | ctk_widget_set_tooltip_text (button, |
2676 | "This is button 2. This is also a really long tooltip which probably " |
2677 | "won't fit on a single line and will therefore need to be wrapped. " |
2678 | "Hopefully the wrapping will work correctly."); |
2679 | |
2680 | toggle = ctk_toggle_button_new_with_label ("Override TipsQuery Label"); |
2681 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), toggle, TRUE(!(0)), TRUE(!(0)), 0); |
2682 | |
2683 | ctk_widget_set_tooltip_text (toggle, "Toggle TipsQuery view."); |
2684 | |
2685 | box3 = |
2686 | g_object_new (CTK_TYPE_BOX(ctk_box_get_type ()), |
2687 | "orientation", CTK_ORIENTATION_VERTICAL, |
2688 | "homogeneous", FALSE(0), |
2689 | "spacing", 5, |
2690 | "border_width", 5, |
2691 | "visible", TRUE(!(0)), |
2692 | NULL((void*)0)); |
2693 | |
2694 | button = |
2695 | g_object_new (ctk_button_get_type (), |
2696 | "label", "[?]", |
2697 | "visible", TRUE(!(0)), |
2698 | "parent", box3, |
2699 | NULL((void*)0)); |
2700 | ctk_box_set_child_packing (CTK_BOX (box3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box3)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0, CTK_PACK_START); |
2701 | ctk_widget_set_tooltip_text (button, "Start the Tooltips Inspector"); |
2702 | |
2703 | frame = g_object_new (ctk_frame_get_type (), |
2704 | "label", "ToolTips Inspector", |
2705 | "label_xalign", (double) 0.5, |
2706 | "border_width", 0, |
2707 | "visible", TRUE(!(0)), |
2708 | "parent", box2, |
2709 | "child", box3, |
2710 | NULL((void*)0)); |
2711 | ctk_box_set_child_packing (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 10, CTK_PACK_START); |
2712 | |
2713 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
2714 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
2715 | |
2716 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
2717 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
2718 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
2719 | |
2720 | button = ctk_button_new_with_label ("close"); |
2721 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
2722 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
2723 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
2724 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
2725 | ctk_widget_set_can_default (button, TRUE(!(0))); |
2726 | ctk_widget_grab_default (button); |
2727 | |
2728 | ctk_widget_set_tooltip_text (button, "Push this button to close window"); |
2729 | } |
2730 | |
2731 | if (!ctk_widget_get_visible (window)) |
2732 | ctk_widget_show_all (window); |
2733 | else |
2734 | ctk_widget_destroy (window); |
2735 | } |
2736 | |
2737 | /* |
2738 | * CtkImage |
2739 | */ |
2740 | |
2741 | static void |
2742 | pack_image (CtkWidget *box, |
2743 | const gchar *text, |
2744 | CtkWidget *image) |
2745 | { |
2746 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), |
2747 | ctk_label_new (text), |
2748 | FALSE(0), FALSE(0), 0); |
2749 | |
2750 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), |
2751 | image, |
2752 | TRUE(!(0)), TRUE(!(0)), 0); |
2753 | } |
2754 | |
2755 | static void |
2756 | create_image (CtkWidget *widget) |
2757 | { |
2758 | static CtkWidget *window = NULL((void*)0); |
2759 | |
2760 | if (window == NULL((void*)0)) |
2761 | { |
2762 | CtkWidget *vbox; |
2763 | GdkPixbuf *pixbuf; |
2764 | |
2765 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
2766 | |
2767 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
2768 | ctk_widget_get_screen (widget)); |
2769 | |
2770 | /* this is bogus for testing drawing when allocation < request, |
2771 | * don't copy into real code |
2772 | */ |
2773 | ctk_window_set_resizable (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), TRUE(!(0))); |
2774 | |
2775 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2776 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2777 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
2778 | |
2779 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
2780 | |
2781 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), vbox); |
2782 | |
2783 | pack_image (vbox, "Stock Warning Dialog", |
2784 | ctk_image_new_from_icon_name ("dialog-warning", |
2785 | CTK_ICON_SIZE_DIALOG)); |
2786 | |
2787 | pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) openfile); |
2788 | |
2789 | pack_image (vbox, "Pixbuf", |
2790 | ctk_image_new_from_pixbuf (pixbuf)); |
2791 | |
2792 | g_object_unref (pixbuf); |
2793 | } |
2794 | |
2795 | if (!ctk_widget_get_visible (window)) |
2796 | ctk_widget_show_all (window); |
2797 | else |
2798 | ctk_widget_destroy (window); |
2799 | } |
2800 | |
2801 | /* |
2802 | * ListBox demo |
2803 | */ |
2804 | |
2805 | static int |
2806 | list_sort_cb (CtkListBoxRow *a, CtkListBoxRow *b, gpointer data) |
2807 | { |
2808 | gint aa = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (a), "value"))((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((a)), (((GType) ((20) << (2)))))))) , "value"))); |
2809 | gint bb = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (b), "value"))((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((b)), (((GType) ((20) << (2)))))))) , "value"))); |
2810 | return aa - bb; |
2811 | } |
2812 | |
2813 | static gboolean |
2814 | list_filter_all_cb (CtkListBoxRow *row, gpointer data) |
2815 | { |
2816 | return FALSE(0); |
2817 | } |
2818 | |
2819 | static gboolean |
2820 | list_filter_odd_cb (CtkListBoxRow *row, gpointer data) |
2821 | { |
2822 | gint value = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (row), "value"))((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((row)), (((GType) ((20) << (2)))))) )), "value"))); |
2823 | |
2824 | return value % 2 == 0; |
2825 | } |
2826 | |
2827 | static void |
2828 | list_sort_clicked_cb (CtkButton *button, |
2829 | gpointer data) |
2830 | { |
2831 | CtkListBox *list = data; |
2832 | |
2833 | ctk_list_box_set_sort_func (list, list_sort_cb, NULL((void*)0), NULL((void*)0)); |
2834 | } |
2835 | |
2836 | static void |
2837 | list_filter_odd_clicked_cb (CtkButton *button, |
2838 | gpointer data) |
2839 | { |
2840 | CtkListBox *list = data; |
2841 | |
2842 | ctk_list_box_set_filter_func (list, list_filter_odd_cb, NULL((void*)0), NULL((void*)0)); |
2843 | } |
2844 | |
2845 | static void |
2846 | list_filter_all_clicked_cb (CtkButton *button, |
2847 | gpointer data) |
2848 | { |
2849 | CtkListBox *list = data; |
2850 | |
2851 | ctk_list_box_set_filter_func (list, list_filter_all_cb, NULL((void*)0), NULL((void*)0)); |
2852 | } |
2853 | |
2854 | |
2855 | static void |
2856 | list_unfilter_clicked_cb (CtkButton *button, |
2857 | gpointer data) |
2858 | { |
2859 | CtkListBox *list = data; |
2860 | |
2861 | ctk_list_box_set_filter_func (list, NULL((void*)0), NULL((void*)0), NULL((void*)0)); |
2862 | } |
2863 | |
2864 | static void |
2865 | add_placeholder_clicked_cb (CtkButton *button, |
2866 | gpointer data) |
2867 | { |
2868 | CtkListBox *list = data; |
2869 | CtkWidget *label; |
2870 | |
2871 | label = ctk_label_new ("You filtered everything!!!"); |
2872 | ctk_widget_show (label); |
2873 | ctk_list_box_set_placeholder (CTK_LIST_BOX (list)((((CtkListBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((list)), ((ctk_list_box_get_type ())))))), label); |
2874 | } |
2875 | |
2876 | static void |
2877 | remove_placeholder_clicked_cb (CtkButton *button, |
2878 | gpointer data) |
2879 | { |
2880 | CtkListBox *list = data; |
2881 | |
2882 | ctk_list_box_set_placeholder (CTK_LIST_BOX (list)((((CtkListBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((list)), ((ctk_list_box_get_type ())))))), NULL((void*)0)); |
2883 | } |
2884 | |
2885 | |
2886 | static void |
2887 | create_listbox (CtkWidget *widget) |
2888 | { |
2889 | static CtkWidget *window = NULL((void*)0); |
2890 | |
2891 | if (!window) |
2892 | { |
2893 | CtkWidget *hbox, *vbox, *scrolled, *scrolled_box, *list, *label, *button; |
2894 | CdkScreen *screen = ctk_widget_get_screen (widget); |
2895 | int i; |
2896 | |
2897 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
2898 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), screen); |
2899 | |
2900 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2901 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
2902 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
2903 | g_signal_connect (window, "delete-event",g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
2904 | G_CALLBACK (ctk_true),g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
2905 | NULL)g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
2906 | |
2907 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "listbox"); |
2908 | |
2909 | hbox = ctk_box_new(CTK_ORIENTATION_HORIZONTAL, 0); |
2910 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), hbox); |
2911 | |
2912 | scrolled = ctk_scrolled_window_new (NULL((void*)0), NULL((void*)0)); |
2913 | ctk_scrolled_window_set_policy (CTK_SCROLLED_WINDOW (scrolled)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled)), ((ctk_scrolled_window_get_type ())))))), CTK_POLICY_NEVER, CTK_POLICY_AUTOMATIC); |
2914 | ctk_container_add (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), scrolled); |
2915 | |
2916 | scrolled_box = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
2917 | ctk_container_add (CTK_CONTAINER (scrolled)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled)), ((ctk_container_get_type ())))))), scrolled_box); |
2918 | |
2919 | label = ctk_label_new ("This is \na LABEL\nwith rows"); |
2920 | ctk_container_add (CTK_CONTAINER (scrolled_box)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled_box)), ((ctk_container_get_type ())))))), label); |
2921 | |
2922 | list = ctk_list_box_new(); |
2923 | ctk_list_box_set_adjustment (CTK_LIST_BOX (list)((((CtkListBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((list)), ((ctk_list_box_get_type ())))))), ctk_scrolled_window_get_vadjustment (CTK_SCROLLED_WINDOW (scrolled)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled)), ((ctk_scrolled_window_get_type ())))))))); |
2924 | ctk_container_add (CTK_CONTAINER (scrolled_box)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled_box)), ((ctk_container_get_type ())))))), list); |
2925 | |
2926 | for (i = 0; i < 1000; i++) |
2927 | { |
2928 | gint value = g_random_int_range (0, 10000); |
2929 | label = ctk_label_new (g_strdup_printf ("Value %u", value)); |
2930 | ctk_widget_show (label); |
2931 | ctk_container_add (CTK_CONTAINER (list)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((list)), ((ctk_container_get_type ())))))), label); |
2932 | g_object_set_data (G_OBJECT (ctk_widget_get_parent (label))((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_parent (label))), (((GType) ((20) << (2)))))))), "value", GINT_TO_POINTER (value)((gpointer) (glong) (value))); |
2933 | } |
2934 | |
2935 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
2936 | ctk_container_add (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), vbox); |
2937 | |
2938 | button = ctk_button_new_with_label ("sort"); |
2939 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
2940 | g_signal_connect (button, "clicked", G_CALLBACK (list_sort_clicked_cb), list)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( list_sort_clicked_cb))), (list), ((void*)0), (GConnectFlags) 0 ); |
2941 | |
2942 | button = ctk_button_new_with_label ("filter odd"); |
2943 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
2944 | g_signal_connect (button, "clicked", G_CALLBACK (list_filter_odd_clicked_cb), list)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( list_filter_odd_clicked_cb))), (list), ((void*)0), (GConnectFlags ) 0); |
2945 | |
2946 | button = ctk_button_new_with_label ("filter all"); |
2947 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
2948 | g_signal_connect (button, "clicked", G_CALLBACK (list_filter_all_clicked_cb), list)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( list_filter_all_clicked_cb))), (list), ((void*)0), (GConnectFlags ) 0); |
2949 | |
2950 | button = ctk_button_new_with_label ("unfilter"); |
2951 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
2952 | g_signal_connect (button, "clicked", G_CALLBACK (list_unfilter_clicked_cb), list)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( list_unfilter_clicked_cb))), (list), ((void*)0), (GConnectFlags ) 0); |
2953 | |
2954 | button = ctk_button_new_with_label ("add placeholder"); |
2955 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
2956 | g_signal_connect (button, "clicked", G_CALLBACK (add_placeholder_clicked_cb), list)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( add_placeholder_clicked_cb))), (list), ((void*)0), (GConnectFlags ) 0); |
2957 | |
2958 | button = ctk_button_new_with_label ("remove placeholder"); |
2959 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
2960 | g_signal_connect (button, "clicked", G_CALLBACK (remove_placeholder_clicked_cb), list)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( remove_placeholder_clicked_cb))), (list), ((void*)0), (GConnectFlags ) 0); |
2961 | } |
2962 | |
2963 | if (!ctk_widget_get_visible (window)) |
2964 | ctk_widget_show_all (window); |
2965 | else |
2966 | ctk_widget_destroy (window); |
2967 | } |
2968 | |
2969 | |
2970 | /* |
2971 | * Menu demo |
2972 | */ |
2973 | |
2974 | static CtkWidget* |
2975 | create_menu (CdkScreen *screen, gint depth, gint length) |
2976 | { |
2977 | CtkWidget *menu; |
2978 | CtkWidget *menuitem; |
2979 | CtkWidget *image; |
2980 | GSList *group; |
2981 | char buf[32]; |
2982 | int i, j; |
2983 | |
2984 | if (depth < 1) |
2985 | return NULL((void*)0); |
2986 | |
2987 | menu = ctk_menu_new (); |
2988 | ctk_menu_set_screen (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), screen); |
2989 | |
2990 | group = NULL((void*)0); |
2991 | |
2992 | image = ctk_image_new_from_icon_name ("document-open", |
2993 | CTK_ICON_SIZE_MENU); |
2994 | ctk_widget_show (image); |
2995 | |
2996 | menuitem = ctk_image_menu_item_new_with_label ("Image item"); |
2997 | ctk_image_menu_item_set_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), image); |
2998 | ctk_image_menu_item_set_always_show_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), TRUE(!(0))); |
2999 | |
3000 | ctk_menu_shell_append (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3001 | ctk_widget_show (menuitem); |
3002 | |
3003 | for (i = 0, j = 1; i < length; i++, j++) |
3004 | { |
3005 | sprintf (buf, "item %2d - %d", depth, j); |
3006 | |
3007 | menuitem = ctk_radio_menu_item_new_with_label (group, buf); |
3008 | group = ctk_radio_menu_item_get_group (CTK_RADIO_MENU_ITEM (menuitem)((((CtkRadioMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_radio_menu_item_get_type ( )))))))); |
3009 | |
3010 | ctk_menu_shell_append (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3011 | ctk_widget_show (menuitem); |
3012 | if (i == 3) |
3013 | ctk_widget_set_sensitive (menuitem, FALSE(0)); |
3014 | |
3015 | if (i == 5) |
3016 | ctk_check_menu_item_set_inconsistent (CTK_CHECK_MENU_ITEM (menuitem)((((CtkCheckMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_check_menu_item_get_type ( ))))))), |
3017 | TRUE(!(0))); |
3018 | |
3019 | if (i < 5) |
3020 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), |
3021 | create_menu (screen, depth - 1, 5)); |
3022 | } |
3023 | |
3024 | return menu; |
3025 | } |
3026 | |
3027 | static CtkWidget* |
3028 | create_table_menu (CdkScreen *screen, gint cols, gint rows) |
3029 | { |
3030 | CtkWidget *menu; |
3031 | CtkWidget *menuitem; |
3032 | CtkWidget *submenu; |
3033 | CtkWidget *image; |
3034 | char buf[32]; |
3035 | int i, j; |
3036 | |
3037 | menu = ctk_menu_new (); |
3038 | ctk_menu_set_screen (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), screen); |
3039 | |
3040 | j = 0; |
3041 | |
3042 | menuitem = ctk_menu_item_new_with_label ("items"); |
3043 | ctk_menu_attach (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), menuitem, 0, cols, j, j + 1); |
3044 | |
3045 | submenu = ctk_menu_new (); |
3046 | ctk_menu_set_screen (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), screen); |
3047 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), submenu); |
3048 | ctk_widget_show (menuitem); |
3049 | j++; |
3050 | |
3051 | /* now fill the items submenu */ |
3052 | image = ctk_image_new_from_icon_name ("help-broswer", |
3053 | CTK_ICON_SIZE_MENU); |
3054 | ctk_widget_show (image); |
3055 | |
3056 | menuitem = ctk_image_menu_item_new_with_label ("Image"); |
3057 | ctk_image_menu_item_set_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), image); |
3058 | ctk_image_menu_item_set_always_show_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), TRUE(!(0))); |
3059 | |
3060 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 0, 1); |
3061 | ctk_widget_show (menuitem); |
3062 | |
3063 | menuitem = ctk_menu_item_new_with_label ("x"); |
3064 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, 0, 1); |
3065 | ctk_widget_show (menuitem); |
3066 | |
3067 | menuitem = ctk_menu_item_new_with_label ("x"); |
3068 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 1, 2); |
3069 | ctk_widget_show (menuitem); |
3070 | |
3071 | image = ctk_image_new_from_icon_name ("help-browser", |
3072 | CTK_ICON_SIZE_MENU); |
3073 | ctk_widget_show (image); |
3074 | |
3075 | menuitem = ctk_image_menu_item_new_with_label ("Image"); |
3076 | ctk_image_menu_item_set_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), image); |
3077 | ctk_image_menu_item_set_always_show_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), TRUE(!(0))); |
3078 | |
3079 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, 1, 2); |
3080 | ctk_widget_show (menuitem); |
3081 | |
3082 | menuitem = ctk_radio_menu_item_new_with_label (NULL((void*)0), "Radio"); |
3083 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 2, 3); |
3084 | ctk_widget_show (menuitem); |
3085 | |
3086 | menuitem = ctk_menu_item_new_with_label ("x"); |
3087 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, 2, 3); |
3088 | ctk_widget_show (menuitem); |
3089 | |
3090 | menuitem = ctk_menu_item_new_with_label ("x"); |
3091 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 3, 4); |
3092 | ctk_widget_show (menuitem); |
3093 | |
3094 | menuitem = ctk_radio_menu_item_new_with_label (NULL((void*)0), "Radio"); |
3095 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, 3, 4); |
3096 | ctk_widget_show (menuitem); |
3097 | |
3098 | menuitem = ctk_check_menu_item_new_with_label ("Check"); |
3099 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 4, 5); |
3100 | ctk_widget_show (menuitem); |
3101 | |
3102 | menuitem = ctk_menu_item_new_with_label ("x"); |
3103 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, 4, 5); |
3104 | ctk_widget_show (menuitem); |
3105 | |
3106 | menuitem = ctk_menu_item_new_with_label ("x"); |
3107 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 5, 6); |
3108 | ctk_widget_show (menuitem); |
3109 | |
3110 | menuitem = ctk_check_menu_item_new_with_label ("Check"); |
3111 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, 5, 6); |
3112 | ctk_widget_show (menuitem); |
3113 | |
3114 | menuitem = ctk_menu_item_new_with_label ("1. Inserted normally (8)"); |
3115 | ctk_widget_show (menuitem); |
3116 | ctk_menu_shell_insert (CTK_MENU_SHELL (submenu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_shell_get_type ())))))), menuitem, 8); |
3117 | |
3118 | menuitem = ctk_menu_item_new_with_label ("2. Inserted normally (2)"); |
3119 | ctk_widget_show (menuitem); |
3120 | ctk_menu_shell_insert (CTK_MENU_SHELL (submenu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_shell_get_type ())))))), menuitem, 2); |
3121 | |
3122 | menuitem = ctk_menu_item_new_with_label ("3. Inserted normally (0)"); |
3123 | ctk_widget_show (menuitem); |
3124 | ctk_menu_shell_insert (CTK_MENU_SHELL (submenu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_shell_get_type ())))))), menuitem, 0); |
3125 | |
3126 | menuitem = ctk_menu_item_new_with_label ("4. Inserted normally (-1)"); |
3127 | ctk_widget_show (menuitem); |
3128 | ctk_menu_shell_insert (CTK_MENU_SHELL (submenu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_shell_get_type ())))))), menuitem, -1); |
3129 | |
3130 | /* end of items submenu */ |
3131 | |
3132 | menuitem = ctk_menu_item_new_with_label ("spanning"); |
3133 | ctk_menu_attach (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), menuitem, 0, cols, j, j + 1); |
3134 | |
3135 | submenu = ctk_menu_new (); |
3136 | ctk_menu_set_screen (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), screen); |
3137 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), submenu); |
3138 | ctk_widget_show (menuitem); |
3139 | j++; |
3140 | |
3141 | /* now fill the spanning submenu */ |
3142 | menuitem = ctk_menu_item_new_with_label ("a"); |
3143 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 2, 0, 1); |
3144 | ctk_widget_show (menuitem); |
3145 | |
3146 | menuitem = ctk_menu_item_new_with_label ("b"); |
3147 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 2, 3, 0, 2); |
3148 | ctk_widget_show (menuitem); |
3149 | |
3150 | menuitem = ctk_menu_item_new_with_label ("c"); |
3151 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 1, 3); |
3152 | ctk_widget_show (menuitem); |
3153 | |
3154 | menuitem = ctk_menu_item_new_with_label ("d"); |
3155 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, 1, 2); |
3156 | ctk_widget_show (menuitem); |
3157 | |
3158 | menuitem = ctk_menu_item_new_with_label ("e"); |
3159 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 1, 3, 2, 3); |
3160 | ctk_widget_show (menuitem); |
3161 | /* end of spanning submenu */ |
3162 | |
3163 | menuitem = ctk_menu_item_new_with_label ("left"); |
3164 | ctk_menu_attach (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, j, j + 1); |
3165 | submenu = ctk_menu_new (); |
3166 | ctk_menu_set_screen (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), screen); |
3167 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), submenu); |
3168 | ctk_widget_show (menuitem); |
3169 | |
3170 | menuitem = ctk_menu_item_new_with_label ("Empty"); |
3171 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 0, 1); |
3172 | submenu = ctk_menu_new (); |
3173 | ctk_menu_set_screen (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), screen); |
3174 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), submenu); |
3175 | ctk_widget_show (menuitem); |
3176 | |
3177 | menuitem = ctk_menu_item_new_with_label ("right"); |
3178 | ctk_menu_attach (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), menuitem, 1, 2, j, j + 1); |
3179 | submenu = ctk_menu_new (); |
3180 | ctk_menu_set_screen (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), screen); |
3181 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), submenu); |
3182 | ctk_widget_show (menuitem); |
3183 | |
3184 | menuitem = ctk_menu_item_new_with_label ("Empty"); |
3185 | ctk_menu_attach (CTK_MENU (submenu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((submenu)), ((ctk_menu_get_type ())))))), menuitem, 0, 1, 0, 1); |
3186 | ctk_widget_show (menuitem); |
3187 | |
3188 | j++; |
3189 | |
3190 | for (; j < rows; j++) |
3191 | for (i = 0; i < cols; i++) |
3192 | { |
3193 | sprintf (buf, "(%d %d)", i, j); |
3194 | menuitem = ctk_menu_item_new_with_label (buf); |
3195 | ctk_menu_attach (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), menuitem, i, i + 1, j, j + 1); |
3196 | ctk_widget_show (menuitem); |
3197 | } |
3198 | |
3199 | menuitem = ctk_menu_item_new_with_label ("1. Inserted normally (8)"); |
3200 | ctk_menu_shell_insert (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem, 8); |
3201 | ctk_widget_show (menuitem); |
3202 | menuitem = ctk_menu_item_new_with_label ("2. Inserted normally (2)"); |
3203 | ctk_menu_shell_insert (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem, 2); |
3204 | ctk_widget_show (menuitem); |
3205 | menuitem = ctk_menu_item_new_with_label ("3. Inserted normally (0)"); |
3206 | ctk_menu_shell_insert (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem, 0); |
3207 | ctk_widget_show (menuitem); |
3208 | menuitem = ctk_menu_item_new_with_label ("4. Inserted normally (-1)"); |
3209 | ctk_menu_shell_insert (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem, -1); |
3210 | ctk_widget_show (menuitem); |
3211 | |
3212 | return menu; |
3213 | } |
3214 | |
3215 | static void |
3216 | create_menus (CtkWidget *widget) |
3217 | { |
3218 | static CtkWidget *window = NULL((void*)0); |
3219 | |
3220 | if (!window) |
3221 | { |
3222 | CtkWidget *box1; |
3223 | CtkWidget *box2; |
3224 | CtkWidget *button; |
3225 | CtkWidget *optionmenu; |
3226 | CtkWidget *separator; |
3227 | CtkWidget *menubar; |
3228 | CtkWidget *menu; |
3229 | CtkWidget *menuitem; |
3230 | CtkAccelGroup *accel_group; |
3231 | CtkWidget *image; |
3232 | CdkScreen *screen = ctk_widget_get_screen (widget); |
3233 | |
3234 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
3235 | |
3236 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), screen); |
3237 | |
3238 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3239 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3240 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
3241 | g_signal_connect (window, "delete-event",g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
3242 | G_CALLBACK (ctk_true),g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
3243 | NULL)g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
3244 | |
3245 | accel_group = ctk_accel_group_new (); |
3246 | ctk_window_add_accel_group (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), accel_group); |
3247 | |
3248 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "menus"); |
3249 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
3250 | |
3251 | |
3252 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
3253 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
3254 | ctk_widget_show (box1); |
3255 | |
3256 | menubar = ctk_menu_bar_new (); |
3257 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), menubar, FALSE(0), TRUE(!(0)), 0); |
3258 | ctk_widget_show (menubar); |
3259 | |
3260 | menu = create_menu (screen, 2, 50); |
3261 | |
3262 | menuitem = ctk_menu_item_new_with_label ("test\nline2"); |
3263 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), menu); |
3264 | ctk_menu_shell_append (CTK_MENU_SHELL (menubar)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menubar)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3265 | ctk_widget_show (menuitem); |
3266 | |
3267 | menu = create_table_menu (screen, 2, 50); |
3268 | |
3269 | menuitem = ctk_menu_item_new_with_label ("table"); |
3270 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), menu); |
3271 | ctk_menu_shell_append (CTK_MENU_SHELL (menubar)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menubar)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3272 | ctk_widget_show (menuitem); |
3273 | |
3274 | menuitem = ctk_menu_item_new_with_label ("foo"); |
3275 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), create_menu (screen, 3, 5)); |
3276 | ctk_menu_shell_append (CTK_MENU_SHELL (menubar)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menubar)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3277 | ctk_widget_show (menuitem); |
3278 | |
3279 | image = ctk_image_new_from_icon_name ("help-browser", |
3280 | CTK_ICON_SIZE_MENU); |
3281 | ctk_widget_show (image); |
3282 | |
3283 | menuitem = ctk_image_menu_item_new_with_label ("Help"); |
3284 | ctk_image_menu_item_set_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), image); |
3285 | ctk_image_menu_item_set_always_show_image (CTK_IMAGE_MENU_ITEM (menuitem)((((CtkImageMenuItem*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((menuitem)), ((ctk_image_menu_item_get_type ( ))))))), TRUE(!(0))); |
3286 | |
3287 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), create_menu (screen, 4, 5)); |
3288 | ctk_widget_set_hexpand (menuitem, TRUE(!(0))); |
3289 | ctk_widget_set_halign (menuitem, CTK_ALIGN_END); |
3290 | ctk_menu_shell_append (CTK_MENU_SHELL (menubar)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menubar)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3291 | ctk_widget_show (menuitem); |
3292 | |
3293 | menubar = ctk_menu_bar_new (); |
3294 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), menubar, FALSE(0), TRUE(!(0)), 0); |
3295 | ctk_widget_show (menubar); |
3296 | |
3297 | menu = create_menu (screen, 2, 10); |
3298 | |
3299 | menuitem = ctk_menu_item_new_with_label ("Second menu bar"); |
3300 | ctk_menu_item_set_submenu (CTK_MENU_ITEM (menuitem)((((CtkMenuItem*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menuitem)), ((ctk_menu_item_get_type ())))))), menu); |
3301 | ctk_menu_shell_append (CTK_MENU_SHELL (menubar)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menubar)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3302 | ctk_widget_show (menuitem); |
3303 | |
3304 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
3305 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
3306 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
3307 | ctk_widget_show (box2); |
3308 | |
3309 | menu = create_menu (screen, 1, 5); |
3310 | ctk_menu_set_accel_group (CTK_MENU (menu)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_get_type ())))))), accel_group); |
3311 | |
3312 | menuitem = ctk_check_menu_item_new_with_label ("Accelerate Me"); |
3313 | ctk_menu_shell_append (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3314 | ctk_widget_show (menuitem); |
3315 | ctk_widget_add_accelerator (menuitem, |
3316 | "activate", |
3317 | accel_group, |
3318 | CDK_KEY_F10xffbe, |
3319 | 0, |
3320 | CTK_ACCEL_VISIBLE); |
3321 | menuitem = ctk_check_menu_item_new_with_label ("Accelerator Locked"); |
3322 | ctk_menu_shell_append (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3323 | ctk_widget_show (menuitem); |
3324 | ctk_widget_add_accelerator (menuitem, |
3325 | "activate", |
3326 | accel_group, |
3327 | CDK_KEY_F20xffbf, |
3328 | 0, |
3329 | CTK_ACCEL_VISIBLE | CTK_ACCEL_LOCKED); |
3330 | menuitem = ctk_check_menu_item_new_with_label ("Accelerators Frozen"); |
3331 | ctk_menu_shell_append (CTK_MENU_SHELL (menu)((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu)), ((ctk_menu_shell_get_type ())))))), menuitem); |
3332 | ctk_widget_show (menuitem); |
3333 | ctk_widget_add_accelerator (menuitem, |
3334 | "activate", |
3335 | accel_group, |
3336 | CDK_KEY_F20xffbf, |
3337 | 0, |
3338 | CTK_ACCEL_VISIBLE); |
3339 | ctk_widget_add_accelerator (menuitem, |
3340 | "activate", |
3341 | accel_group, |
3342 | CDK_KEY_F30xffc0, |
3343 | 0, |
3344 | CTK_ACCEL_VISIBLE); |
3345 | |
3346 | optionmenu = ctk_combo_box_text_new (); |
3347 | ctk_combo_box_set_active (CTK_COMBO_BOX (optionmenu)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((optionmenu)), ((ctk_combo_box_get_type ())))))), 3); |
3348 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), optionmenu, TRUE(!(0)), TRUE(!(0)), 0); |
3349 | ctk_widget_show (optionmenu); |
3350 | |
3351 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
3352 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
3353 | ctk_widget_show (separator); |
3354 | |
3355 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
3356 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
3357 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
3358 | ctk_widget_show (box2); |
3359 | |
3360 | button = ctk_button_new_with_label ("close"); |
3361 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
3362 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
3363 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
3364 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
3365 | ctk_widget_set_can_default (button, TRUE(!(0))); |
3366 | ctk_widget_grab_default (button); |
3367 | ctk_widget_show (button); |
3368 | } |
3369 | |
3370 | if (!ctk_widget_get_visible (window)) |
3371 | ctk_widget_show (window); |
3372 | else |
3373 | ctk_widget_destroy (window); |
3374 | } |
3375 | |
3376 | |
3377 | static CtkWidget * |
3378 | accel_button_new (CtkAccelGroup *accel_group, |
3379 | const gchar *text, |
3380 | const gchar *accel) |
3381 | { |
3382 | guint keyval; |
3383 | CdkModifierType modifiers; |
3384 | CtkWidget *button; |
3385 | CtkWidget *label; |
3386 | |
3387 | ctk_accelerator_parse (accel, &keyval, &modifiers); |
3388 | g_assert (keyval)do { if (keyval) ; else g_assertion_message_expr (((gchar*) 0 ), "testctk.c", 3388, ((const char*) (__func__)), "keyval"); } while (0); |
3389 | |
3390 | button = ctk_button_new (); |
3391 | ctk_widget_add_accelerator (button, "activate", accel_group, |
3392 | keyval, modifiers, CTK_ACCEL_VISIBLE | CTK_ACCEL_LOCKED); |
3393 | |
3394 | label = ctk_accel_label_new (text); |
3395 | ctk_accel_label_set_accel_widget (CTK_ACCEL_LABEL (label)((((CtkAccelLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_accel_label_get_type ())))))), button); |
3396 | ctk_widget_show (label); |
3397 | |
3398 | ctk_container_add (CTK_CONTAINER (button)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_container_get_type ())))))), label); |
3399 | |
3400 | return button; |
3401 | } |
3402 | |
3403 | static void |
3404 | create_key_lookup (CtkWidget *widget) |
3405 | { |
3406 | static CtkWidget *window = NULL((void*)0); |
3407 | gpointer window_ptr; |
3408 | |
3409 | if (!window) |
3410 | { |
3411 | CtkAccelGroup *accel_group = ctk_accel_group_new (); |
3412 | CtkWidget *button; |
3413 | CtkWidget *content_area; |
3414 | |
3415 | window = ctk_dialog_new_with_buttons ("Key Lookup", NULL((void*)0), 0, |
3416 | "_Close", CTK_RESPONSE_CLOSE, |
3417 | NULL((void*)0)); |
3418 | |
3419 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
3420 | ctk_widget_get_screen (widget)); |
3421 | |
3422 | /* We have to expand it so the accel labels will draw their labels |
3423 | */ |
3424 | ctk_window_set_default_size (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), 300, -1); |
3425 | |
3426 | ctk_window_add_accel_group (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), accel_group); |
3427 | |
3428 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
3429 | |
3430 | button = ctk_button_new_with_mnemonic ("Button 1 (_a)"); |
3431 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3432 | button = ctk_button_new_with_mnemonic ("Button 2 (_A)"); |
3433 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3434 | button = ctk_button_new_with_mnemonic ("Button 3 (_\321\204)"); |
3435 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3436 | button = ctk_button_new_with_mnemonic ("Button 4 (_\320\244)"); |
3437 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3438 | button = ctk_button_new_with_mnemonic ("Button 6 (_b)"); |
3439 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3440 | button = accel_button_new (accel_group, "Button 7", "<Alt><Shift>b"); |
3441 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3442 | button = accel_button_new (accel_group, "Button 8", "<Alt>d"); |
3443 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3444 | button = accel_button_new (accel_group, "Button 9", "<Alt>Cyrillic_ve"); |
3445 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3446 | button = ctk_button_new_with_mnemonic ("Button 10 (_1)"); |
3447 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3448 | button = ctk_button_new_with_mnemonic ("Button 11 (_!)"); |
3449 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3450 | button = accel_button_new (accel_group, "Button 12", "<Super>a"); |
3451 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3452 | button = accel_button_new (accel_group, "Button 13", "<Hyper>a"); |
3453 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3454 | button = accel_button_new (accel_group, "Button 14", "<Meta>a"); |
3455 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3456 | button = accel_button_new (accel_group, "Button 15", "<Shift><Mod4>b"); |
3457 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
3458 | |
3459 | window_ptr = &window; |
3460 | g_object_add_weak_pointer (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), window_ptr); |
3461 | g_signal_connect (window, "response", G_CALLBACK (ctk_widget_destroy), NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
3462 | |
3463 | ctk_widget_show_all (window); |
3464 | } |
3465 | else |
3466 | ctk_widget_destroy (window); |
3467 | } |
3468 | |
3469 | |
3470 | /* |
3471 | create_modal_window |
3472 | */ |
3473 | |
3474 | static gboolean |
3475 | cmw_destroy_cb(CtkWidget *widget) |
3476 | { |
3477 | /* This is needed to get out of ctk_main */ |
3478 | ctk_main_quit (); |
3479 | |
3480 | return FALSE(0); |
3481 | } |
3482 | |
3483 | static void |
3484 | cmw_color (CtkWidget *widget, CtkWidget *parent) |
3485 | { |
3486 | CtkWidget *csd; |
3487 | |
3488 | csd = ctk_color_chooser_dialog_new ("This is a modal color selection dialog", CTK_WINDOW (parent)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((parent)), ((ctk_window_get_type ()))))))); |
3489 | |
3490 | /* Set as modal */ |
3491 | ctk_window_set_modal (CTK_WINDOW(csd)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((csd)), ((ctk_window_get_type ())))))),TRUE(!(0))); |
3492 | |
3493 | g_signal_connect (csd, "destroy",g_signal_connect_data ((csd), ("destroy"), (((GCallback) (cmw_destroy_cb ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
3494 | G_CALLBACK (cmw_destroy_cb), NULL)g_signal_connect_data ((csd), ("destroy"), (((GCallback) (cmw_destroy_cb ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
3495 | g_signal_connect (csd, "response",g_signal_connect_data ((csd), ("response"), (((GCallback) (ctk_widget_destroy ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
3496 | G_CALLBACK (ctk_widget_destroy), NULL)g_signal_connect_data ((csd), ("response"), (((GCallback) (ctk_widget_destroy ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
3497 | |
3498 | /* wait until destroy calls ctk_main_quit */ |
3499 | ctk_widget_show (csd); |
3500 | ctk_main (); |
3501 | } |
3502 | |
3503 | static void |
3504 | cmw_file (CtkWidget *widget, CtkWidget *parent) |
3505 | { |
3506 | CtkWidget *fs; |
3507 | |
3508 | fs = ctk_file_chooser_dialog_new ("This is a modal file selection dialog", |
3509 | CTK_WINDOW (parent)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((parent)), ((ctk_window_get_type ())))))), |
3510 | CTK_FILE_CHOOSER_ACTION_OPEN, |
3511 | "_Open", CTK_RESPONSE_ACCEPT, |
3512 | "_Cancel", CTK_RESPONSE_CANCEL, |
3513 | NULL((void*)0)); |
3514 | ctk_window_set_screen (CTK_WINDOW (fs)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((fs)), ((ctk_window_get_type ())))))), ctk_widget_get_screen (parent)); |
3515 | ctk_window_set_modal (CTK_WINDOW (fs)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((fs)), ((ctk_window_get_type ())))))), TRUE(!(0))); |
3516 | |
3517 | g_signal_connect (fs, "destroy",g_signal_connect_data ((fs), ("destroy"), (((GCallback) (cmw_destroy_cb ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
3518 | G_CALLBACK (cmw_destroy_cb), NULL)g_signal_connect_data ((fs), ("destroy"), (((GCallback) (cmw_destroy_cb ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
3519 | g_signal_connect_swapped (fs, "response",g_signal_connect_data ((fs), ("response"), (((GCallback) (ctk_widget_destroy ))), (fs), ((void*)0), G_CONNECT_SWAPPED) |
3520 | G_CALLBACK (ctk_widget_destroy), fs)g_signal_connect_data ((fs), ("response"), (((GCallback) (ctk_widget_destroy ))), (fs), ((void*)0), G_CONNECT_SWAPPED); |
3521 | |
3522 | /* wait until destroy calls ctk_main_quit */ |
3523 | ctk_widget_show (fs); |
3524 | ctk_main(); |
3525 | } |
3526 | |
3527 | |
3528 | static void |
3529 | create_modal_window (CtkWidget *widget) |
3530 | { |
3531 | CtkWidget *window = NULL((void*)0); |
3532 | CtkWidget *box1,*box2; |
3533 | CtkWidget *frame1; |
3534 | CtkWidget *btnColor,*btnFile,*btnClose; |
3535 | |
3536 | /* Create modal window (Here you can use any window descendent )*/ |
3537 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
3538 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
3539 | ctk_widget_get_screen (widget)); |
3540 | |
3541 | ctk_window_set_title (CTK_WINDOW(window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))),"This window is modal"); |
3542 | |
3543 | /* Set window as modal */ |
3544 | ctk_window_set_modal (CTK_WINDOW(window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))),TRUE(!(0))); |
3545 | |
3546 | /* Create widgets */ |
3547 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
3548 | frame1 = ctk_frame_new ("Standard dialogs in modal form"); |
3549 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
3550 | ctk_box_set_homogeneous (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), TRUE(!(0))); |
3551 | btnColor = ctk_button_new_with_label ("Color"); |
3552 | btnFile = ctk_button_new_with_label ("File Selection"); |
3553 | btnClose = ctk_button_new_with_label ("Close"); |
3554 | |
3555 | /* Init widgets */ |
3556 | ctk_container_set_border_width (CTK_CONTAINER (box1)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_container_get_type ())))))), 3); |
3557 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 3); |
3558 | |
3559 | /* Pack widgets */ |
3560 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
3561 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), frame1, TRUE(!(0)), TRUE(!(0)), 4); |
3562 | ctk_container_add (CTK_CONTAINER (frame1)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame1)), ((ctk_container_get_type ())))))), box2); |
3563 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), btnColor, FALSE(0), FALSE(0), 4); |
3564 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), btnFile, FALSE(0), FALSE(0), 4); |
3565 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), ctk_separator_new (CTK_ORIENTATION_HORIZONTAL), FALSE(0), FALSE(0), 4); |
3566 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), btnClose, FALSE(0), FALSE(0), 4); |
3567 | |
3568 | /* connect signals */ |
3569 | g_signal_connect_swapped (btnClose, "clicked",g_signal_connect_data ((btnClose), ("clicked"), (((GCallback) (ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
3570 | G_CALLBACK (ctk_widget_destroy), window)g_signal_connect_data ((btnClose), ("clicked"), (((GCallback) (ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
3571 | |
3572 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( cmw_destroy_cb))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ) |
3573 | G_CALLBACK (cmw_destroy_cb), NULL)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( cmw_destroy_cb))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ); |
3574 | |
3575 | g_signal_connect (btnColor, "clicked",g_signal_connect_data ((btnColor), ("clicked"), (((GCallback) (cmw_color))), (window), ((void*)0), (GConnectFlags) 0) |
3576 | G_CALLBACK (cmw_color), window)g_signal_connect_data ((btnColor), ("clicked"), (((GCallback) (cmw_color))), (window), ((void*)0), (GConnectFlags) 0); |
3577 | g_signal_connect (btnFile, "clicked",g_signal_connect_data ((btnFile), ("clicked"), (((GCallback) ( cmw_file))), (window), ((void*)0), (GConnectFlags) 0) |
3578 | G_CALLBACK (cmw_file), window)g_signal_connect_data ((btnFile), ("clicked"), (((GCallback) ( cmw_file))), (window), ((void*)0), (GConnectFlags) 0); |
3579 | |
3580 | /* Show widgets */ |
3581 | ctk_widget_show_all (window); |
3582 | |
3583 | /* wait until dialog get destroyed */ |
3584 | ctk_main(); |
3585 | } |
3586 | |
3587 | /* |
3588 | * CtkMessageDialog |
3589 | */ |
3590 | |
3591 | static void |
3592 | make_message_dialog (CdkScreen *screen, |
3593 | CtkWidget **dialog, |
3594 | CtkMessageType type, |
3595 | CtkButtonsType buttons, |
3596 | guint default_response) |
3597 | { |
3598 | if (*dialog) |
3599 | { |
3600 | ctk_widget_destroy (*dialog); |
3601 | |
3602 | return; |
3603 | } |
3604 | |
3605 | *dialog = ctk_message_dialog_new (NULL((void*)0), 0, type, buttons, |
3606 | "This is a message dialog; it can wrap long lines. This is a long line. La la la. Look this line is wrapped. Blah blah blah blah blah blah. (Note: testctk has a nonstandard ctkrc that changes some of the message dialog icons.)"); |
3607 | |
3608 | ctk_window_set_screen (CTK_WINDOW (*dialog)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((*dialog)), ((ctk_window_get_type ())))))), screen); |
3609 | |
3610 | g_signal_connect_swapped (*dialog,g_signal_connect_data ((*dialog), ("response"), (((GCallback) (ctk_widget_destroy))), (*dialog), ((void*)0), G_CONNECT_SWAPPED ) |
3611 | "response",g_signal_connect_data ((*dialog), ("response"), (((GCallback) (ctk_widget_destroy))), (*dialog), ((void*)0), G_CONNECT_SWAPPED ) |
3612 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((*dialog), ("response"), (((GCallback) (ctk_widget_destroy))), (*dialog), ((void*)0), G_CONNECT_SWAPPED ) |
3613 | *dialog)g_signal_connect_data ((*dialog), ("response"), (((GCallback) (ctk_widget_destroy))), (*dialog), ((void*)0), G_CONNECT_SWAPPED ); |
3614 | |
3615 | g_signal_connect (*dialog,g_signal_connect_data ((*dialog), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (dialog), ((void*)0), (GConnectFlags ) 0) |
3616 | "destroy",g_signal_connect_data ((*dialog), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (dialog), ((void*)0), (GConnectFlags ) 0) |
3617 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((*dialog), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (dialog), ((void*)0), (GConnectFlags ) 0) |
3618 | dialog)g_signal_connect_data ((*dialog), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (dialog), ((void*)0), (GConnectFlags ) 0); |
3619 | |
3620 | ctk_dialog_set_default_response (CTK_DIALOG (*dialog)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((*dialog)), ((ctk_dialog_get_type ())))))), default_response); |
3621 | |
3622 | ctk_widget_show (*dialog); |
3623 | } |
3624 | |
3625 | static void |
3626 | create_message_dialog (CtkWidget *widget) |
3627 | { |
3628 | static CtkWidget *info = NULL((void*)0); |
3629 | static CtkWidget *warning = NULL((void*)0); |
3630 | static CtkWidget *error = NULL((void*)0); |
3631 | static CtkWidget *question = NULL((void*)0); |
3632 | CdkScreen *screen = ctk_widget_get_screen (widget); |
3633 | |
3634 | make_message_dialog (screen, &info, CTK_MESSAGE_INFO, CTK_BUTTONS_OK, CTK_RESPONSE_OK); |
3635 | make_message_dialog (screen, &warning, CTK_MESSAGE_WARNING, CTK_BUTTONS_CLOSE, CTK_RESPONSE_CLOSE); |
3636 | make_message_dialog (screen, &error, CTK_MESSAGE_ERROR, CTK_BUTTONS_OK_CANCEL, CTK_RESPONSE_OK); |
3637 | make_message_dialog (screen, &question, CTK_MESSAGE_QUESTION, CTK_BUTTONS_YES_NO, CTK_RESPONSE_NO); |
3638 | } |
3639 | |
3640 | /* |
3641 | * CtkScrolledWindow |
3642 | */ |
3643 | |
3644 | static CtkWidget *sw_parent = NULL((void*)0); |
3645 | static CtkWidget *sw_float_parent; |
3646 | static gulong sw_destroyed_handler = 0; |
3647 | |
3648 | static gboolean |
3649 | scrolled_windows_delete_cb (CtkWidget *widget, CdkEventAny *event, CtkWidget *scrollwin) |
3650 | { |
3651 | ctk_widget_reparent (scrollwin, sw_parent); |
3652 | |
3653 | g_signal_handler_disconnect (sw_parent, sw_destroyed_handler); |
3654 | sw_float_parent = NULL((void*)0); |
3655 | sw_parent = NULL((void*)0); |
3656 | sw_destroyed_handler = 0; |
3657 | |
3658 | return FALSE(0); |
3659 | } |
3660 | |
3661 | static void |
3662 | scrolled_windows_destroy_cb (CtkWidget *widget, CtkWidget *scrollwin) |
3663 | { |
3664 | ctk_widget_destroy (sw_float_parent); |
3665 | |
3666 | sw_float_parent = NULL((void*)0); |
3667 | sw_parent = NULL((void*)0); |
3668 | sw_destroyed_handler = 0; |
3669 | } |
3670 | |
3671 | static void |
3672 | scrolled_windows_remove (CtkWidget *dialog, gint response, CtkWidget *scrollwin) |
3673 | { |
3674 | if (response != CTK_RESPONSE_APPLY) |
3675 | { |
3676 | ctk_widget_destroy (dialog); |
3677 | return; |
3678 | } |
3679 | |
3680 | if (sw_parent) |
3681 | { |
3682 | ctk_widget_reparent (scrollwin, sw_parent); |
3683 | ctk_widget_destroy (sw_float_parent); |
3684 | |
3685 | g_signal_handler_disconnect (sw_parent, sw_destroyed_handler); |
3686 | sw_float_parent = NULL((void*)0); |
3687 | sw_parent = NULL((void*)0); |
3688 | sw_destroyed_handler = 0; |
3689 | } |
3690 | else |
3691 | { |
3692 | sw_parent = ctk_widget_get_parent (scrollwin); |
3693 | sw_float_parent = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
3694 | ctk_window_set_screen (CTK_WINDOW (sw_float_parent)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sw_float_parent)), ((ctk_window_get_type ())))))), |
3695 | ctk_widget_get_screen (dialog)); |
3696 | |
3697 | ctk_window_set_default_size (CTK_WINDOW (sw_float_parent)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sw_float_parent)), ((ctk_window_get_type ())))))), 200, 200); |
3698 | |
3699 | ctk_widget_reparent (scrollwin, sw_float_parent); |
3700 | ctk_widget_show (sw_float_parent); |
3701 | |
3702 | sw_destroyed_handler = |
3703 | g_signal_connect (sw_parent, "destroy",g_signal_connect_data ((sw_parent), ("destroy"), (((GCallback ) (scrolled_windows_destroy_cb))), (scrollwin), ((void*)0), ( GConnectFlags) 0) |
3704 | G_CALLBACK (scrolled_windows_destroy_cb), scrollwin)g_signal_connect_data ((sw_parent), ("destroy"), (((GCallback ) (scrolled_windows_destroy_cb))), (scrollwin), ((void*)0), ( GConnectFlags) 0); |
3705 | g_signal_connect (sw_float_parent, "delete_event",g_signal_connect_data ((sw_float_parent), ("delete_event"), ( ((GCallback) (scrolled_windows_delete_cb))), (scrollwin), ((void *)0), (GConnectFlags) 0) |
3706 | G_CALLBACK (scrolled_windows_delete_cb), scrollwin)g_signal_connect_data ((sw_float_parent), ("delete_event"), ( ((GCallback) (scrolled_windows_delete_cb))), (scrollwin), ((void *)0), (GConnectFlags) 0); |
3707 | } |
3708 | } |
3709 | |
3710 | static void |
3711 | create_scrolled_windows (CtkWidget *widget) |
3712 | { |
3713 | static CtkWidget *window; |
3714 | |
3715 | if (!window) |
3716 | { |
3717 | CtkWidget *content_area; |
3718 | CtkWidget *scrolled_window; |
3719 | CtkWidget *button; |
3720 | CtkWidget *grid; |
3721 | char buffer[32]; |
3722 | int i, j; |
3723 | |
3724 | window = ctk_dialog_new (); |
3725 | |
3726 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
3727 | ctk_widget_get_screen (widget)); |
3728 | |
3729 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3730 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3731 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
3732 | |
3733 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
3734 | |
3735 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "dialog"); |
3736 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
3737 | |
3738 | scrolled_window = ctk_scrolled_window_new (NULL((void*)0), NULL((void*)0)); |
3739 | ctk_container_set_border_width (CTK_CONTAINER (scrolled_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled_window)), ((ctk_container_get_type ())))))), 10); |
3740 | ctk_scrolled_window_set_policy (CTK_SCROLLED_WINDOW (scrolled_window)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled_window)), ((ctk_scrolled_window_get_type ())))))), |
3741 | CTK_POLICY_AUTOMATIC, |
3742 | CTK_POLICY_AUTOMATIC); |
3743 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), scrolled_window, TRUE(!(0)), TRUE(!(0)), 0); |
3744 | ctk_widget_show (scrolled_window); |
3745 | |
3746 | grid = ctk_grid_new (); |
3747 | ctk_grid_set_row_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 10); |
3748 | ctk_grid_set_column_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 10); |
3749 | ctk_container_add (CTK_CONTAINER (scrolled_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled_window)), ((ctk_container_get_type ())))))), grid); |
3750 | ctk_container_set_focus_hadjustment (CTK_CONTAINER (grid)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_container_get_type ())))))), |
3751 | ctk_scrolled_window_get_hadjustment (CTK_SCROLLED_WINDOW (scrolled_window)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled_window)), ((ctk_scrolled_window_get_type ())))))))); |
3752 | ctk_container_set_focus_vadjustment (CTK_CONTAINER (grid)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_container_get_type ())))))), |
3753 | ctk_scrolled_window_get_vadjustment (CTK_SCROLLED_WINDOW (scrolled_window)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled_window)), ((ctk_scrolled_window_get_type ())))))))); |
3754 | ctk_widget_show (grid); |
3755 | |
3756 | for (i = 0; i < 20; i++) |
3757 | for (j = 0; j < 20; j++) |
3758 | { |
3759 | sprintf (buffer, "button (%d,%d)\n", i, j); |
3760 | button = ctk_toggle_button_new_with_label (buffer); |
3761 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), button, i, j, 1, 1); |
3762 | ctk_widget_show (button); |
3763 | } |
3764 | |
3765 | ctk_dialog_add_button (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ())))))), |
3766 | "Close", |
3767 | CTK_RESPONSE_CLOSE); |
3768 | |
3769 | ctk_dialog_add_button (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ())))))), |
3770 | "Reparent Out", |
3771 | CTK_RESPONSE_APPLY); |
3772 | |
3773 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( scrolled_windows_remove))), (scrolled_window), ((void*)0), (GConnectFlags ) 0) |
3774 | G_CALLBACK (scrolled_windows_remove),g_signal_connect_data ((window), ("response"), (((GCallback) ( scrolled_windows_remove))), (scrolled_window), ((void*)0), (GConnectFlags ) 0) |
3775 | scrolled_window)g_signal_connect_data ((window), ("response"), (((GCallback) ( scrolled_windows_remove))), (scrolled_window), ((void*)0), (GConnectFlags ) 0); |
3776 | |
3777 | ctk_window_set_default_size (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), 300, 300); |
3778 | } |
3779 | |
3780 | if (!ctk_widget_get_visible (window)) |
3781 | ctk_widget_show (window); |
3782 | else |
3783 | ctk_widget_destroy (window); |
3784 | } |
3785 | |
3786 | /* |
3787 | * CtkEntry |
3788 | */ |
3789 | |
3790 | static void |
3791 | entry_toggle_frame (CtkWidget *checkbutton, |
3792 | CtkWidget *entry) |
3793 | { |
3794 | ctk_entry_set_has_frame (CTK_ENTRY(entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ())))))), |
3795 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))); |
3796 | } |
3797 | |
3798 | static void |
3799 | entry_toggle_sensitive (CtkWidget *checkbutton, |
3800 | CtkWidget *entry) |
3801 | { |
3802 | ctk_widget_set_sensitive (entry, |
3803 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON(checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))); |
3804 | } |
3805 | |
3806 | static gboolean |
3807 | entry_progress_timeout (gpointer data) |
3808 | { |
3809 | if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (data), "progress-pulse"))((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((data)), (((GType) ((20) << (2))))) ))), "progress-pulse")))) |
3810 | { |
3811 | ctk_entry_progress_pulse (CTK_ENTRY (data)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_entry_get_type ()))))))); |
3812 | } |
3813 | else |
3814 | { |
3815 | gdouble fraction; |
3816 | |
3817 | fraction = ctk_entry_get_progress_fraction (CTK_ENTRY (data)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_entry_get_type ()))))))); |
3818 | |
3819 | fraction += 0.05; |
3820 | if (fraction > 1.0001) |
3821 | fraction = 0.0; |
3822 | |
3823 | ctk_entry_set_progress_fraction (CTK_ENTRY (data)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_entry_get_type ())))))), fraction); |
3824 | } |
3825 | |
3826 | return G_SOURCE_CONTINUE(!(0)); |
3827 | } |
3828 | |
3829 | static void |
3830 | entry_remove_timeout (gpointer data) |
3831 | { |
3832 | g_source_remove (GPOINTER_TO_UINT (data)((guint) (gulong) (data))); |
3833 | } |
3834 | |
3835 | static void |
3836 | entry_toggle_progress (CtkWidget *checkbutton, |
3837 | CtkWidget *entry) |
3838 | { |
3839 | if (ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))) |
3840 | { |
3841 | guint timeout = cdk_threads_add_timeout (100, |
3842 | entry_progress_timeout, |
3843 | entry); |
3844 | g_object_set_data_full (G_OBJECT (entry)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), (((GType) ((20) << (2)))))))), "timeout-id", |
3845 | GUINT_TO_POINTER (timeout)((gpointer) (gulong) (timeout)), |
3846 | entry_remove_timeout); |
3847 | } |
3848 | else |
3849 | { |
3850 | g_object_set_data (G_OBJECT (entry)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), (((GType) ((20) << (2)))))))), "timeout-id", |
3851 | GUINT_TO_POINTER (0)((gpointer) (gulong) (0))); |
3852 | |
3853 | ctk_entry_set_progress_fraction (CTK_ENTRY (entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ())))))), 0.0); |
3854 | } |
3855 | } |
3856 | |
3857 | static void |
3858 | entry_toggle_pulse (CtkWidget *checkbutton, |
3859 | CtkWidget *entry) |
3860 | { |
3861 | g_object_set_data (G_OBJECT (entry)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), (((GType) ((20) << (2)))))))), "progress-pulse", |
3862 | GUINT_TO_POINTER ((guint) ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (checkbutton)))((gpointer) (gulong) ((guint) ctk_toggle_button_get_active (( (((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))))); |
3863 | } |
3864 | |
3865 | static void |
3866 | create_entry (CtkWidget *widget) |
3867 | { |
3868 | static CtkWidget *window = NULL((void*)0); |
3869 | |
3870 | if (!window) |
3871 | { |
3872 | CtkWidget *box1; |
3873 | CtkWidget *box2; |
3874 | CtkWidget *hbox; |
3875 | CtkWidget *has_frame_check; |
3876 | CtkWidget *sensitive_check; |
3877 | CtkWidget *progress_check; |
3878 | CtkWidget *entry; |
3879 | CtkComboBoxText *cb; |
3880 | CtkWidget *cb_entry; |
3881 | CtkWidget *button; |
3882 | CtkWidget *separator; |
3883 | |
3884 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
3885 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
3886 | ctk_widget_get_screen (widget)); |
3887 | |
3888 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3889 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3890 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
3891 | |
3892 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "entry"); |
3893 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
3894 | |
3895 | |
3896 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
3897 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
3898 | |
3899 | |
3900 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
3901 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
3902 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
3903 | |
3904 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
3905 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), TRUE(!(0)), 0); |
3906 | |
3907 | entry = ctk_entry_new (); |
3908 | ctk_entry_set_text (CTK_ENTRY (entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ())))))), "hello world \330\247\331\204\330\263\331\204\330\247\331\205 \330\271\331\204\331\212\331\203\331\205"); |
3909 | ctk_editable_select_region (CTK_EDITABLE (entry)((((CtkEditable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_editable_get_type ())))))), 0, 5); |
3910 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), entry, TRUE(!(0)), TRUE(!(0)), 0); |
3911 | |
3912 | cb = CTK_COMBO_BOX_TEXT (ctk_combo_box_text_new_with_entry ())((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_combo_box_text_new_with_entry ())), ((ctk_combo_box_text_get_type ())))))); |
3913 | |
3914 | ctk_combo_box_text_append_text (cb, "item0"); |
3915 | ctk_combo_box_text_append_text (cb, "item0"); |
3916 | ctk_combo_box_text_append_text (cb, "item1 item1"); |
3917 | ctk_combo_box_text_append_text (cb, "item2 item2 item2"); |
3918 | ctk_combo_box_text_append_text (cb, "item3 item3 item3 item3"); |
3919 | ctk_combo_box_text_append_text (cb, "item4 item4 item4 item4 item4"); |
3920 | ctk_combo_box_text_append_text (cb, "item5 item5 item5 item5 item5 item5"); |
3921 | ctk_combo_box_text_append_text (cb, "item6 item6 item6 item6 item6"); |
3922 | ctk_combo_box_text_append_text (cb, "item7 item7 item7 item7"); |
3923 | ctk_combo_box_text_append_text (cb, "item8 item8 item8"); |
3924 | ctk_combo_box_text_append_text (cb, "item9 item9"); |
3925 | |
3926 | cb_entry = ctk_bin_get_child (CTK_BIN (cb)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cb)), ((ctk_bin_get_type ()))))))); |
3927 | ctk_entry_set_text (CTK_ENTRY (cb_entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cb_entry)), ((ctk_entry_get_type ())))))), "hello world \n\n\n foo"); |
3928 | ctk_editable_select_region (CTK_EDITABLE (cb_entry)((((CtkEditable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cb_entry)), ((ctk_editable_get_type ())))))), 0, -1); |
3929 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), CTK_WIDGET (cb)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cb)), ((ctk_widget_get_type ())))))), TRUE(!(0)), TRUE(!(0)), 0); |
3930 | |
3931 | sensitive_check = ctk_check_button_new_with_label("Sensitive"); |
3932 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), sensitive_check, FALSE(0), TRUE(!(0)), 0); |
3933 | g_signal_connect (sensitive_check, "toggled",g_signal_connect_data ((sensitive_check), ("toggled"), (((GCallback ) (entry_toggle_sensitive))), (entry), ((void*)0), (GConnectFlags ) 0) |
3934 | G_CALLBACK (entry_toggle_sensitive), entry)g_signal_connect_data ((sensitive_check), ("toggled"), (((GCallback ) (entry_toggle_sensitive))), (entry), ((void*)0), (GConnectFlags ) 0); |
3935 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (sensitive_check)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sensitive_check)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
3936 | |
3937 | has_frame_check = ctk_check_button_new_with_label("Has Frame"); |
3938 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), has_frame_check, FALSE(0), TRUE(!(0)), 0); |
3939 | g_signal_connect (has_frame_check, "toggled",g_signal_connect_data ((has_frame_check), ("toggled"), (((GCallback ) (entry_toggle_frame))), (entry), ((void*)0), (GConnectFlags ) 0) |
3940 | G_CALLBACK (entry_toggle_frame), entry)g_signal_connect_data ((has_frame_check), ("toggled"), (((GCallback ) (entry_toggle_frame))), (entry), ((void*)0), (GConnectFlags ) 0); |
3941 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (has_frame_check)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((has_frame_check)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
3942 | |
3943 | progress_check = ctk_check_button_new_with_label("Show Progress"); |
3944 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), progress_check, FALSE(0), TRUE(!(0)), 0); |
3945 | g_signal_connect (progress_check, "toggled",g_signal_connect_data ((progress_check), ("toggled"), (((GCallback ) (entry_toggle_progress))), (entry), ((void*)0), (GConnectFlags ) 0) |
3946 | G_CALLBACK (entry_toggle_progress), entry)g_signal_connect_data ((progress_check), ("toggled"), (((GCallback ) (entry_toggle_progress))), (entry), ((void*)0), (GConnectFlags ) 0); |
3947 | |
3948 | progress_check = ctk_check_button_new_with_label("Pulse Progress"); |
3949 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), progress_check, FALSE(0), TRUE(!(0)), 0); |
3950 | g_signal_connect (progress_check, "toggled",g_signal_connect_data ((progress_check), ("toggled"), (((GCallback ) (entry_toggle_pulse))), (entry), ((void*)0), (GConnectFlags ) 0) |
3951 | G_CALLBACK (entry_toggle_pulse), entry)g_signal_connect_data ((progress_check), ("toggled"), (((GCallback ) (entry_toggle_pulse))), (entry), ((void*)0), (GConnectFlags ) 0); |
3952 | |
3953 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
3954 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
3955 | |
3956 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
3957 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
3958 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
3959 | |
3960 | button = ctk_button_new_with_label ("close"); |
3961 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
3962 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
3963 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
3964 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
3965 | ctk_widget_set_can_default (button, TRUE(!(0))); |
3966 | ctk_widget_grab_default (button); |
3967 | } |
3968 | |
3969 | if (!ctk_widget_get_visible (window)) |
3970 | ctk_widget_show_all (window); |
3971 | else |
3972 | ctk_widget_destroy (window); |
3973 | } |
3974 | |
3975 | static void |
3976 | create_expander (CtkWidget *widget) |
3977 | { |
3978 | static CtkWidget *window = NULL((void*)0); |
3979 | |
3980 | if (!window) |
3981 | { |
3982 | CtkWidget *box1; |
3983 | CtkWidget *expander; |
3984 | CtkWidget *hidden; |
3985 | |
3986 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
3987 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
3988 | ctk_widget_get_screen (widget)); |
3989 | |
3990 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3991 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
3992 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
3993 | |
3994 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "expander"); |
3995 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
3996 | |
3997 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
3998 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
3999 | |
4000 | expander = ctk_expander_new ("The Hidden"); |
4001 | |
4002 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), expander, TRUE(!(0)), TRUE(!(0)), 0); |
4003 | |
4004 | hidden = ctk_label_new ("Revealed!"); |
4005 | |
4006 | ctk_container_add (CTK_CONTAINER (expander)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((expander)), ((ctk_container_get_type ())))))), hidden); |
4007 | } |
4008 | |
4009 | if (!ctk_widget_get_visible (window)) |
4010 | ctk_widget_show_all (window); |
4011 | else |
4012 | ctk_widget_destroy (window); |
4013 | } |
4014 | |
4015 | |
4016 | /* CtkEventBox */ |
4017 | |
4018 | |
4019 | static gboolean |
4020 | event_box_draw (CtkWidget *widget, |
4021 | cairo_t *cr, |
4022 | gpointer user_data) |
4023 | { |
4024 | if (ctk_widget_get_window (widget) == |
4025 | ctk_widget_get_window (ctk_widget_get_parent (widget))) |
4026 | return FALSE(0); |
4027 | |
4028 | cairo_set_source_rgb (cr, 0, 1, 0); |
4029 | cairo_paint (cr); |
4030 | |
4031 | return FALSE(0); |
4032 | } |
4033 | |
4034 | static void |
4035 | event_box_label_pressed (CtkWidget *widget, |
4036 | CdkEventButton *event, |
4037 | gpointer user_data) |
4038 | { |
4039 | g_print ("clicked on event box\n"); |
4040 | } |
4041 | |
4042 | static void |
4043 | event_box_button_clicked (CtkWidget *widget, |
4044 | CtkWidget *button, |
4045 | gpointer user_data) |
4046 | { |
4047 | g_print ("pushed button\n"); |
4048 | } |
4049 | |
4050 | static void |
4051 | event_box_toggle_visible_window (CtkWidget *checkbutton, |
4052 | CtkEventBox *event_box) |
4053 | { |
4054 | ctk_event_box_set_visible_window (event_box, |
4055 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))); |
4056 | } |
4057 | |
4058 | static void |
4059 | event_box_toggle_above_child (CtkWidget *checkbutton, |
4060 | CtkEventBox *event_box) |
4061 | { |
4062 | ctk_event_box_set_above_child (event_box, |
4063 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))); |
4064 | } |
4065 | |
4066 | static void |
4067 | create_event_box (CtkWidget *widget) |
4068 | { |
4069 | static CtkWidget *window = NULL((void*)0); |
4070 | |
4071 | if (!window) |
4072 | { |
4073 | CtkWidget *box1; |
4074 | CtkWidget *box2; |
4075 | CtkWidget *hbox; |
4076 | CtkWidget *vbox; |
4077 | CtkWidget *button; |
4078 | CtkWidget *separator; |
4079 | CtkWidget *event_box; |
4080 | CtkWidget *label; |
4081 | CtkWidget *visible_window_check; |
4082 | CtkWidget *above_child_check; |
4083 | |
4084 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
4085 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
4086 | ctk_widget_get_screen (widget)); |
4087 | |
4088 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
4089 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
4090 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
4091 | |
4092 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "event box"); |
4093 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
4094 | |
4095 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4096 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
4097 | |
4098 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
4099 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), FALSE(0), 0); |
4100 | |
4101 | event_box = ctk_event_box_new (); |
4102 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), event_box, TRUE(!(0)), FALSE(0), 0); |
4103 | |
4104 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4105 | ctk_container_add (CTK_CONTAINER (event_box)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((event_box)), ((ctk_container_get_type ())))))), vbox); |
4106 | g_signal_connect (event_box, "button_press_event",g_signal_connect_data ((event_box), ("button_press_event"), ( ((GCallback) (event_box_label_pressed))), (((void*)0)), ((void *)0), (GConnectFlags) 0) |
4107 | G_CALLBACK (event_box_label_pressed),g_signal_connect_data ((event_box), ("button_press_event"), ( ((GCallback) (event_box_label_pressed))), (((void*)0)), ((void *)0), (GConnectFlags) 0) |
4108 | NULL)g_signal_connect_data ((event_box), ("button_press_event"), ( ((GCallback) (event_box_label_pressed))), (((void*)0)), ((void *)0), (GConnectFlags) 0); |
4109 | g_signal_connect (event_box, "draw",g_signal_connect_data ((event_box), ("draw"), (((GCallback) ( event_box_draw))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ) |
4110 | G_CALLBACK (event_box_draw),g_signal_connect_data ((event_box), ("draw"), (((GCallback) ( event_box_draw))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ) |
4111 | NULL)g_signal_connect_data ((event_box), ("draw"), (((GCallback) ( event_box_draw))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ); |
4112 | |
4113 | label = ctk_label_new ("Click on this label"); |
4114 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, TRUE(!(0)), FALSE(0), 0); |
4115 | |
4116 | button = ctk_button_new_with_label ("button in eventbox"); |
4117 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), FALSE(0), 0); |
4118 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( event_box_button_clicked))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4119 | G_CALLBACK (event_box_button_clicked),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( event_box_button_clicked))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4120 | NULL)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( event_box_button_clicked))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
4121 | |
4122 | |
4123 | visible_window_check = ctk_check_button_new_with_label("Visible Window"); |
4124 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), visible_window_check, FALSE(0), TRUE(!(0)), 0); |
4125 | g_signal_connect (visible_window_check, "toggled",g_signal_connect_data ((visible_window_check), ("toggled"), ( ((GCallback) (event_box_toggle_visible_window))), (event_box) , ((void*)0), (GConnectFlags) 0) |
4126 | G_CALLBACK (event_box_toggle_visible_window), event_box)g_signal_connect_data ((visible_window_check), ("toggled"), ( ((GCallback) (event_box_toggle_visible_window))), (event_box) , ((void*)0), (GConnectFlags) 0); |
4127 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (visible_window_check)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((visible_window_check)), ((ctk_toggle_button_get_type ()) ))))), TRUE(!(0))); |
4128 | |
4129 | above_child_check = ctk_check_button_new_with_label("Above Child"); |
4130 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), above_child_check, FALSE(0), TRUE(!(0)), 0); |
4131 | g_signal_connect (above_child_check, "toggled",g_signal_connect_data ((above_child_check), ("toggled"), (((GCallback ) (event_box_toggle_above_child))), (event_box), ((void*)0), ( GConnectFlags) 0) |
4132 | G_CALLBACK (event_box_toggle_above_child), event_box)g_signal_connect_data ((above_child_check), ("toggled"), (((GCallback ) (event_box_toggle_above_child))), (event_box), ((void*)0), ( GConnectFlags) 0); |
4133 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (above_child_check)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((above_child_check)), ((ctk_toggle_button_get_type ())))) )), FALSE(0)); |
4134 | |
4135 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
4136 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
4137 | |
4138 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
4139 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
4140 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
4141 | |
4142 | button = ctk_button_new_with_label ("close"); |
4143 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
4144 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
4145 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
4146 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
4147 | ctk_widget_set_can_default (button, TRUE(!(0))); |
4148 | ctk_widget_grab_default (button); |
4149 | } |
4150 | |
4151 | if (!ctk_widget_get_visible (window)) |
4152 | ctk_widget_show_all (window); |
4153 | else |
4154 | ctk_widget_destroy (window); |
4155 | } |
4156 | |
4157 | |
4158 | /* |
4159 | * CtkSizeGroup |
4160 | */ |
4161 | |
4162 | #define SIZE_GROUP_INITIAL_SIZE50 50 |
4163 | |
4164 | static void |
4165 | size_group_hsize_changed (CtkSpinButton *spin_button, |
4166 | CtkWidget *button) |
4167 | { |
4168 | ctk_widget_set_size_request (ctk_bin_get_child (CTK_BIN (button)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_bin_get_type ()))))))), |
4169 | ctk_spin_button_get_value_as_int (spin_button), |
4170 | -1); |
4171 | } |
4172 | |
4173 | static void |
4174 | size_group_vsize_changed (CtkSpinButton *spin_button, |
4175 | CtkWidget *button) |
4176 | { |
4177 | ctk_widget_set_size_request (ctk_bin_get_child (CTK_BIN (button)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_bin_get_type ()))))))), |
4178 | -1, |
4179 | ctk_spin_button_get_value_as_int (spin_button)); |
4180 | } |
4181 | |
4182 | static CtkWidget * |
4183 | create_size_group_window (CdkScreen *screen, |
4184 | CtkSizeGroup *master_size_group) |
4185 | { |
4186 | CtkWidget *content_area; |
4187 | CtkWidget *window; |
4188 | CtkWidget *grid; |
4189 | CtkWidget *main_button; |
4190 | CtkWidget *button; |
4191 | CtkWidget *spin_button; |
4192 | CtkWidget *hbox; |
4193 | CtkSizeGroup *hgroup1; |
4194 | CtkSizeGroup *hgroup2; |
4195 | CtkSizeGroup *vgroup1; |
4196 | CtkSizeGroup *vgroup2; |
4197 | |
4198 | window = ctk_dialog_new_with_buttons ("CtkSizeGroup", |
4199 | NULL((void*)0), 0, |
4200 | "_Close", |
4201 | CTK_RESPONSE_NONE, |
4202 | NULL((void*)0)); |
4203 | |
4204 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), screen); |
4205 | |
4206 | ctk_window_set_resizable (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), TRUE(!(0))); |
4207 | |
4208 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4209 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4210 | NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
4211 | |
4212 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
4213 | |
4214 | grid = ctk_grid_new (); |
4215 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), grid, TRUE(!(0)), TRUE(!(0)), 0); |
4216 | |
4217 | ctk_grid_set_row_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 5); |
4218 | ctk_grid_set_column_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 5); |
4219 | ctk_container_set_border_width (CTK_CONTAINER (grid)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_container_get_type ())))))), 5); |
4220 | ctk_widget_set_size_request (grid, 250, 250); |
4221 | |
4222 | hgroup1 = ctk_size_group_new (CTK_SIZE_GROUP_HORIZONTAL); |
4223 | hgroup2 = ctk_size_group_new (CTK_SIZE_GROUP_HORIZONTAL); |
4224 | vgroup1 = ctk_size_group_new (CTK_SIZE_GROUP_VERTICAL); |
4225 | vgroup2 = ctk_size_group_new (CTK_SIZE_GROUP_VERTICAL); |
4226 | |
4227 | main_button = ctk_button_new_with_label ("X"); |
4228 | ctk_widget_set_hexpand (main_button, TRUE(!(0))); |
4229 | ctk_widget_set_vexpand (main_button, TRUE(!(0))); |
4230 | ctk_widget_set_halign (main_button, CTK_ALIGN_CENTER); |
4231 | ctk_widget_set_valign (main_button, CTK_ALIGN_CENTER); |
4232 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), main_button, 0, 0, 1, 1); |
4233 | |
4234 | ctk_size_group_add_widget (master_size_group, main_button); |
4235 | ctk_size_group_add_widget (hgroup1, main_button); |
4236 | ctk_size_group_add_widget (vgroup1, main_button); |
4237 | ctk_widget_set_size_request (ctk_bin_get_child (CTK_BIN (main_button)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_button)), ((ctk_bin_get_type ()))))))), |
4238 | SIZE_GROUP_INITIAL_SIZE50, |
4239 | SIZE_GROUP_INITIAL_SIZE50); |
4240 | |
4241 | button = ctk_button_new (); |
4242 | ctk_widget_set_hexpand (button, TRUE(!(0))); |
4243 | ctk_widget_set_vexpand (button, TRUE(!(0))); |
4244 | ctk_widget_set_halign (button, CTK_ALIGN_CENTER); |
4245 | ctk_widget_set_valign (button, CTK_ALIGN_CENTER); |
4246 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), button, 1, 0, 1, 1); |
4247 | |
4248 | ctk_size_group_add_widget (vgroup1, button); |
4249 | ctk_size_group_add_widget (vgroup2, button); |
4250 | |
4251 | button = ctk_button_new (); |
4252 | ctk_widget_set_hexpand (button, TRUE(!(0))); |
4253 | ctk_widget_set_vexpand (button, TRUE(!(0))); |
4254 | ctk_widget_set_halign (button, CTK_ALIGN_CENTER); |
4255 | ctk_widget_set_valign (button, CTK_ALIGN_CENTER); |
4256 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), button, 0, 1, 1, 1); |
4257 | |
4258 | ctk_size_group_add_widget (hgroup1, button); |
4259 | ctk_size_group_add_widget (hgroup2, button); |
4260 | |
4261 | button = ctk_button_new (); |
4262 | ctk_widget_set_hexpand (button, TRUE(!(0))); |
4263 | ctk_widget_set_vexpand (button, TRUE(!(0))); |
4264 | ctk_widget_set_halign (button, CTK_ALIGN_CENTER); |
4265 | ctk_widget_set_valign (button, CTK_ALIGN_CENTER); |
4266 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), button, 1, 1, 1, 1); |
4267 | |
4268 | ctk_size_group_add_widget (hgroup2, button); |
4269 | ctk_size_group_add_widget (vgroup2, button); |
4270 | |
4271 | g_object_unref (hgroup1); |
4272 | g_object_unref (hgroup2); |
4273 | g_object_unref (vgroup1); |
4274 | g_object_unref (vgroup2); |
4275 | |
4276 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
4277 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), hbox, FALSE(0), FALSE(0), 0); |
4278 | |
4279 | spin_button = ctk_spin_button_new_with_range (1, 100, 1); |
4280 | ctk_spin_button_set_value (CTK_SPIN_BUTTON (spin_button)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_spin_button_get_type ())))))), SIZE_GROUP_INITIAL_SIZE50); |
4281 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), spin_button, TRUE(!(0)), TRUE(!(0)), 0); |
4282 | g_signal_connect (spin_button, "value_changed",g_signal_connect_data ((spin_button), ("value_changed"), (((GCallback ) (size_group_hsize_changed))), (main_button), ((void*)0), (GConnectFlags ) 0) |
4283 | G_CALLBACK (size_group_hsize_changed), main_button)g_signal_connect_data ((spin_button), ("value_changed"), (((GCallback ) (size_group_hsize_changed))), (main_button), ((void*)0), (GConnectFlags ) 0); |
4284 | |
4285 | spin_button = ctk_spin_button_new_with_range (1, 100, 1); |
4286 | ctk_spin_button_set_value (CTK_SPIN_BUTTON (spin_button)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_spin_button_get_type ())))))), SIZE_GROUP_INITIAL_SIZE50); |
4287 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), spin_button, TRUE(!(0)), TRUE(!(0)), 0); |
4288 | g_signal_connect (spin_button, "value_changed",g_signal_connect_data ((spin_button), ("value_changed"), (((GCallback ) (size_group_vsize_changed))), (main_button), ((void*)0), (GConnectFlags ) 0) |
4289 | G_CALLBACK (size_group_vsize_changed), main_button)g_signal_connect_data ((spin_button), ("value_changed"), (((GCallback ) (size_group_vsize_changed))), (main_button), ((void*)0), (GConnectFlags ) 0); |
4290 | |
4291 | return window; |
4292 | } |
4293 | |
4294 | static void |
4295 | create_size_groups (CtkWidget *widget) |
4296 | { |
4297 | static CtkWidget *window1 = NULL((void*)0); |
4298 | static CtkWidget *window2 = NULL((void*)0); |
4299 | static CtkSizeGroup *master_size_group; |
4300 | |
4301 | if (!master_size_group) |
4302 | master_size_group = ctk_size_group_new (CTK_SIZE_GROUP_BOTH); |
4303 | |
4304 | if (!window1) |
4305 | { |
4306 | window1 = create_size_group_window (ctk_widget_get_screen (widget), |
4307 | master_size_group); |
4308 | |
4309 | g_signal_connect (window1, "destroy",g_signal_connect_data ((window1), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window1), ((void*)0), (GConnectFlags ) 0) |
4310 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window1), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window1), ((void*)0), (GConnectFlags ) 0) |
4311 | &window1)g_signal_connect_data ((window1), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window1), ((void*)0), (GConnectFlags ) 0); |
4312 | } |
4313 | |
4314 | if (!window2) |
4315 | { |
4316 | window2 = create_size_group_window (ctk_widget_get_screen (widget), |
4317 | master_size_group); |
4318 | |
4319 | g_signal_connect (window2, "destroy",g_signal_connect_data ((window2), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window2), ((void*)0), (GConnectFlags ) 0) |
4320 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window2), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window2), ((void*)0), (GConnectFlags ) 0) |
4321 | &window2)g_signal_connect_data ((window2), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window2), ((void*)0), (GConnectFlags ) 0); |
4322 | } |
4323 | |
4324 | if (ctk_widget_get_visible (window1) && ctk_widget_get_visible (window2)) |
4325 | { |
4326 | ctk_widget_destroy (window1); |
4327 | ctk_widget_destroy (window2); |
4328 | } |
4329 | else |
4330 | { |
4331 | if (!ctk_widget_get_visible (window1)) |
4332 | ctk_widget_show_all (window1); |
4333 | if (!ctk_widget_get_visible (window2)) |
4334 | ctk_widget_show_all (window2); |
4335 | } |
4336 | } |
4337 | |
4338 | /* |
4339 | * CtkSpinButton |
4340 | */ |
4341 | |
4342 | static CtkWidget *spinner1; |
4343 | |
4344 | static void |
4345 | toggle_snap (CtkWidget *widget, CtkSpinButton *spin) |
4346 | { |
4347 | ctk_spin_button_set_snap_to_ticks (spin, |
4348 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (widget)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_toggle_button_get_type ())))))))); |
4349 | } |
4350 | |
4351 | static void |
4352 | toggle_numeric (CtkWidget *widget, CtkSpinButton *spin) |
4353 | { |
4354 | ctk_spin_button_set_numeric (spin, |
4355 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (widget)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_toggle_button_get_type ())))))))); |
4356 | } |
4357 | |
4358 | static void |
4359 | change_digits (CtkWidget *widget, CtkSpinButton *spin) |
4360 | { |
4361 | ctk_spin_button_set_digits (CTK_SPIN_BUTTON (spinner1)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner1)), ((ctk_spin_button_get_type ())))))), |
4362 | ctk_spin_button_get_value_as_int (spin)); |
4363 | } |
4364 | |
4365 | static void |
4366 | get_value (CtkWidget *widget, gpointer data) |
4367 | { |
4368 | gchar buf[32]; |
4369 | CtkLabel *label; |
4370 | CtkSpinButton *spin; |
4371 | |
4372 | spin = CTK_SPIN_BUTTON (spinner1)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner1)), ((ctk_spin_button_get_type ())))))); |
4373 | label = CTK_LABEL (g_object_get_data (G_OBJECT (widget), "user_data"))((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((widget)), (((GType) ((20) << (2))) ))))), "user_data"))), ((ctk_label_get_type ())))))); |
4374 | if (GPOINTER_TO_INT (data)((gint) (glong) (data)) == 1) |
4375 | sprintf (buf, "%d", ctk_spin_button_get_value_as_int (spin)); |
4376 | else |
4377 | sprintf (buf, "%0.*f", |
4378 | ctk_spin_button_get_digits (spin), |
4379 | ctk_spin_button_get_value (spin)); |
4380 | |
4381 | ctk_label_set_text (label, buf); |
4382 | } |
4383 | |
4384 | static void |
4385 | get_spin_value (CtkWidget *widget, gpointer data) |
4386 | { |
4387 | gchar *buffer; |
4388 | CtkLabel *label; |
4389 | CtkSpinButton *spin; |
4390 | |
4391 | spin = CTK_SPIN_BUTTON (widget)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_spin_button_get_type ())))))); |
4392 | label = CTK_LABEL (data)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_label_get_type ())))))); |
4393 | |
4394 | buffer = g_strdup_printf ("%0.*f", |
4395 | ctk_spin_button_get_digits (spin), |
4396 | ctk_spin_button_get_value (spin)); |
4397 | ctk_label_set_text (label, buffer); |
4398 | |
4399 | g_free (buffer); |
4400 | } |
4401 | |
4402 | static gint |
4403 | spin_button_time_output_func (CtkSpinButton *spin_button) |
4404 | { |
4405 | CtkAdjustment *adjustment; |
4406 | static gchar buf[6]; |
4407 | gdouble hours; |
4408 | gdouble minutes; |
4409 | |
4410 | adjustment = ctk_spin_button_get_adjustment (spin_button); |
4411 | hours = ctk_adjustment_get_value (adjustment) / 60.0; |
4412 | minutes = (fabs(floor (hours) - hours) < 1e-5) ? 0.0 : 30; |
4413 | sprintf (buf, "%02.0f:%02.0f", floor (hours), minutes); |
4414 | if (strcmp (buf, ctk_entry_get_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ()))))))))) |
4415 | ctk_entry_set_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ())))))), buf); |
4416 | return TRUE(!(0)); |
4417 | } |
4418 | |
4419 | static gint |
4420 | spin_button_month_input_func (CtkSpinButton *spin_button, |
4421 | gdouble *new_val) |
4422 | { |
4423 | gint i; |
4424 | static gchar *month[12] = { "January", "February", "March", "April", |
4425 | "May", "June", "July", "August", |
4426 | "September", "October", "November", "December" }; |
4427 | gboolean found = FALSE(0); |
4428 | |
4429 | for (i = 1; i <= 12; i++) |
4430 | { |
4431 | gchar *tmp1, *tmp2; |
4432 | |
4433 | tmp1 = g_ascii_strup (month[i - 1], -1); |
4434 | tmp2 = g_ascii_strup (ctk_entry_get_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ()))))))), -1); |
4435 | if (strstr (tmp1, tmp2) == tmp1) |
4436 | found = TRUE(!(0)); |
4437 | g_free (tmp1); |
4438 | g_free (tmp2); |
4439 | if (found) |
4440 | break; |
4441 | } |
4442 | if (!found) |
4443 | { |
4444 | *new_val = 0.0; |
4445 | return CTK_INPUT_ERROR-1; |
4446 | } |
4447 | *new_val = (gdouble) i; |
4448 | return TRUE(!(0)); |
4449 | } |
4450 | |
4451 | static gint |
4452 | spin_button_month_output_func (CtkSpinButton *spin_button) |
4453 | { |
4454 | CtkAdjustment *adjustment; |
4455 | gdouble value; |
4456 | gint i; |
4457 | static gchar *month[12] = { "January", "February", "March", "April", |
4458 | "May", "June", "July", "August", "September", |
4459 | "October", "November", "December" }; |
4460 | |
4461 | adjustment = ctk_spin_button_get_adjustment (spin_button); |
4462 | value = ctk_adjustment_get_value (adjustment); |
4463 | for (i = 1; i <= 12; i++) |
4464 | if (fabs (value - (double)i) < 1e-5) |
4465 | { |
4466 | if (strcmp (month[i-1], ctk_entry_get_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ()))))))))) |
4467 | ctk_entry_set_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ())))))), month[i-1]); |
4468 | } |
4469 | return TRUE(!(0)); |
4470 | } |
4471 | |
4472 | static gint |
4473 | spin_button_hex_input_func (CtkSpinButton *spin_button, |
4474 | gdouble *new_val) |
4475 | { |
4476 | const gchar *buf; |
4477 | gchar *err; |
4478 | gdouble res; |
4479 | |
4480 | buf = ctk_entry_get_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ()))))))); |
4481 | res = strtol(buf, &err, 16); |
4482 | *new_val = res; |
4483 | if (*err) |
4484 | return CTK_INPUT_ERROR-1; |
4485 | else |
4486 | return TRUE(!(0)); |
4487 | } |
4488 | |
4489 | static gint |
4490 | spin_button_hex_output_func (CtkSpinButton *spin_button) |
4491 | { |
4492 | CtkAdjustment *adjustment; |
4493 | static gchar buf[7]; |
4494 | gint val; |
4495 | |
4496 | adjustment = ctk_spin_button_get_adjustment (spin_button); |
4497 | val = (gint) ctk_adjustment_get_value (adjustment); |
4498 | if (fabs (val) < 1e-5) |
4499 | sprintf (buf, "0x00"); |
4500 | else |
4501 | sprintf (buf, "0x%.2X", val); |
4502 | if (strcmp (buf, ctk_entry_get_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ()))))))))) |
4503 | ctk_entry_set_text (CTK_ENTRY (spin_button)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin_button)), ((ctk_entry_get_type ())))))), buf); |
4504 | return TRUE(!(0)); |
4505 | } |
4506 | |
4507 | static void |
4508 | create_spins (CtkWidget *widget) |
4509 | { |
4510 | static CtkWidget *window = NULL((void*)0); |
4511 | |
4512 | if (!window) |
4513 | { |
4514 | CtkWidget *frame; |
4515 | CtkWidget *hbox; |
4516 | CtkWidget *main_vbox; |
4517 | CtkWidget *vbox; |
4518 | CtkWidget *vbox2; |
4519 | CtkWidget *spinner2; |
4520 | CtkWidget *spinner; |
4521 | CtkWidget *button; |
4522 | CtkWidget *label; |
4523 | CtkWidget *val_label; |
4524 | CtkAdjustment *adjustment; |
4525 | |
4526 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
4527 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
4528 | ctk_widget_get_screen (widget)); |
4529 | |
4530 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
4531 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
4532 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
4533 | |
4534 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "CtkSpinButton"); |
4535 | |
4536 | main_vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
4537 | ctk_container_set_border_width (CTK_CONTAINER (main_vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_container_get_type ())))))), 10); |
4538 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), main_vbox); |
4539 | |
4540 | frame = ctk_frame_new ("Not accelerated"); |
4541 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 0); |
4542 | |
4543 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4544 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 5); |
4545 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), vbox); |
4546 | |
4547 | /* Time, month, hex spinners */ |
4548 | |
4549 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
4550 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), TRUE(!(0)), 5); |
4551 | |
4552 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4553 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), vbox2, TRUE(!(0)), TRUE(!(0)), 5); |
4554 | |
4555 | label = ctk_label_new ("Time :"); |
4556 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
4557 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
4558 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
4559 | |
4560 | adjustment = ctk_adjustment_new (0, 0, 1410, 30, 60, 0); |
4561 | spinner = ctk_spin_button_new (adjustment, 0, 0); |
4562 | ctk_editable_set_editable (CTK_EDITABLE (spinner)((((CtkEditable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_editable_get_type ())))))), FALSE(0)); |
4563 | g_signal_connect (spinner,g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_time_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4564 | "output",g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_time_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4565 | G_CALLBACK (spin_button_time_output_func),g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_time_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4566 | NULL)g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_time_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
4567 | ctk_spin_button_set_wrap (CTK_SPIN_BUTTON (spinner)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_spin_button_get_type ())))))), TRUE(!(0))); |
4568 | ctk_entry_set_width_chars (CTK_ENTRY (spinner)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_entry_get_type ())))))), 5); |
4569 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), spinner, FALSE(0), TRUE(!(0)), 0); |
4570 | |
4571 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4572 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), vbox2, TRUE(!(0)), TRUE(!(0)), 5); |
4573 | |
4574 | label = ctk_label_new ("Month :"); |
4575 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
4576 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
4577 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
4578 | |
4579 | adjustment = ctk_adjustment_new (1.0, 1.0, 12.0, 1.0, |
4580 | 5.0, 0.0); |
4581 | spinner = ctk_spin_button_new (adjustment, 0, 0); |
4582 | ctk_spin_button_set_update_policy (CTK_SPIN_BUTTON (spinner)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_spin_button_get_type ())))))), |
4583 | CTK_UPDATE_IF_VALID); |
4584 | g_signal_connect (spinner,g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_month_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
4585 | "input",g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_month_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
4586 | G_CALLBACK (spin_button_month_input_func),g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_month_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
4587 | NULL)g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_month_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
4588 | g_signal_connect (spinner,g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_month_output_func))), (((void*)0)), ((void*)0), ( GConnectFlags) 0) |
4589 | "output",g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_month_output_func))), (((void*)0)), ((void*)0), ( GConnectFlags) 0) |
4590 | G_CALLBACK (spin_button_month_output_func),g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_month_output_func))), (((void*)0)), ((void*)0), ( GConnectFlags) 0) |
4591 | NULL)g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_month_output_func))), (((void*)0)), ((void*)0), ( GConnectFlags) 0); |
4592 | ctk_spin_button_set_wrap (CTK_SPIN_BUTTON (spinner)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_spin_button_get_type ())))))), TRUE(!(0))); |
4593 | ctk_entry_set_width_chars (CTK_ENTRY (spinner)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_entry_get_type ())))))), 9); |
4594 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), spinner, FALSE(0), TRUE(!(0)), 0); |
4595 | |
4596 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4597 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), vbox2, TRUE(!(0)), TRUE(!(0)), 5); |
4598 | |
4599 | label = ctk_label_new ("Hex :"); |
4600 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
4601 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
4602 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
4603 | |
4604 | adjustment = ctk_adjustment_new (0, 0, 255, 1, 16, 0); |
4605 | spinner = ctk_spin_button_new (adjustment, 0, 0); |
4606 | ctk_editable_set_editable (CTK_EDITABLE (spinner)((((CtkEditable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_editable_get_type ())))))), TRUE(!(0))); |
4607 | g_signal_connect (spinner,g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_hex_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
4608 | "input",g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_hex_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
4609 | G_CALLBACK (spin_button_hex_input_func),g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_hex_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
4610 | NULL)g_signal_connect_data ((spinner), ("input"), (((GCallback) (spin_button_hex_input_func ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
4611 | g_signal_connect (spinner,g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_hex_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4612 | "output",g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_hex_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4613 | G_CALLBACK (spin_button_hex_output_func),g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_hex_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
4614 | NULL)g_signal_connect_data ((spinner), ("output"), (((GCallback) ( spin_button_hex_output_func))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
4615 | ctk_spin_button_set_wrap (CTK_SPIN_BUTTON (spinner)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_spin_button_get_type ())))))), TRUE(!(0))); |
4616 | ctk_entry_set_width_chars (CTK_ENTRY (spinner)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_entry_get_type ())))))), 4); |
4617 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), spinner, FALSE(0), TRUE(!(0)), 0); |
4618 | |
4619 | frame = ctk_frame_new ("Accelerated"); |
4620 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 0); |
4621 | |
4622 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4623 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 5); |
4624 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), vbox); |
4625 | |
4626 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
4627 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 5); |
4628 | |
4629 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4630 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), vbox2, FALSE(0), FALSE(0), 5); |
4631 | |
4632 | label = ctk_label_new ("Value :"); |
4633 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
4634 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
4635 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
4636 | |
4637 | adjustment = ctk_adjustment_new (0.0, -10000.0, 10000.0, |
4638 | 0.5, 100.0, 0.0); |
4639 | spinner1 = ctk_spin_button_new (adjustment, 1.0, 2); |
4640 | ctk_spin_button_set_wrap (CTK_SPIN_BUTTON (spinner1)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner1)), ((ctk_spin_button_get_type ())))))), TRUE(!(0))); |
4641 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), spinner1, FALSE(0), TRUE(!(0)), 0); |
4642 | |
4643 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
4644 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), vbox2, FALSE(0), FALSE(0), 5); |
4645 | |
4646 | label = ctk_label_new ("Digits :"); |
4647 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
4648 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
4649 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
4650 | |
4651 | adjustment = ctk_adjustment_new (2, 1, 15, 1, 1, 0); |
4652 | spinner2 = ctk_spin_button_new (adjustment, 0.0, 0); |
4653 | g_signal_connect (adjustment, "value_changed",g_signal_connect_data ((adjustment), ("value_changed"), (((GCallback ) (change_digits))), (spinner2), ((void*)0), (GConnectFlags) 0 ) |
4654 | G_CALLBACK (change_digits),g_signal_connect_data ((adjustment), ("value_changed"), (((GCallback ) (change_digits))), (spinner2), ((void*)0), (GConnectFlags) 0 ) |
4655 | spinner2)g_signal_connect_data ((adjustment), ("value_changed"), (((GCallback ) (change_digits))), (spinner2), ((void*)0), (GConnectFlags) 0 ); |
4656 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), spinner2, FALSE(0), TRUE(!(0)), 0); |
4657 | |
4658 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
4659 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), FALSE(0), 5); |
4660 | |
4661 | button = ctk_check_button_new_with_label ("Snap to 0.5-ticks"); |
4662 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( toggle_snap))), (spinner1), ((void*)0), (GConnectFlags) 0) |
4663 | G_CALLBACK (toggle_snap),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( toggle_snap))), (spinner1), ((void*)0), (GConnectFlags) 0) |
4664 | spinner1)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( toggle_snap))), (spinner1), ((void*)0), (GConnectFlags) 0); |
4665 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
4666 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
4667 | |
4668 | button = ctk_check_button_new_with_label ("Numeric only input mode"); |
4669 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( toggle_numeric))), (spinner1), ((void*)0), (GConnectFlags) 0) |
4670 | G_CALLBACK (toggle_numeric),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( toggle_numeric))), (spinner1), ((void*)0), (GConnectFlags) 0) |
4671 | spinner1)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( toggle_numeric))), (spinner1), ((void*)0), (GConnectFlags) 0); |
4672 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
4673 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
4674 | |
4675 | val_label = ctk_label_new (""); |
4676 | |
4677 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
4678 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 5); |
4679 | |
4680 | button = ctk_button_new_with_label ("Value as Int"); |
4681 | g_object_set_data (G_OBJECT (button)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), (((GType) ((20) << (2)))))))), "user_data", val_label); |
4682 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( get_value))), (((gpointer) (glong) (1))), ((void*)0), (GConnectFlags ) 0) |
4683 | G_CALLBACK (get_value),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( get_value))), (((gpointer) (glong) (1))), ((void*)0), (GConnectFlags ) 0) |
4684 | GINT_TO_POINTER (1))g_signal_connect_data ((button), ("clicked"), (((GCallback) ( get_value))), (((gpointer) (glong) (1))), ((void*)0), (GConnectFlags ) 0); |
4685 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 5); |
4686 | |
4687 | button = ctk_button_new_with_label ("Value as Float"); |
4688 | g_object_set_data (G_OBJECT (button)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), (((GType) ((20) << (2)))))))), "user_data", val_label); |
4689 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( get_value))), (((gpointer) (glong) (2))), ((void*)0), (GConnectFlags ) 0) |
4690 | G_CALLBACK (get_value),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( get_value))), (((gpointer) (glong) (2))), ((void*)0), (GConnectFlags ) 0) |
4691 | GINT_TO_POINTER (2))g_signal_connect_data ((button), ("clicked"), (((GCallback) ( get_value))), (((gpointer) (glong) (2))), ((void*)0), (GConnectFlags ) 0); |
4692 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 5); |
4693 | |
4694 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), val_label, TRUE(!(0)), TRUE(!(0)), 0); |
4695 | ctk_label_set_text (CTK_LABEL (val_label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((val_label)), ((ctk_label_get_type ())))))), "0"); |
4696 | |
4697 | frame = ctk_frame_new ("Using Convenience Constructor"); |
4698 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 0); |
4699 | |
4700 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
4701 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 5); |
4702 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), hbox); |
4703 | |
4704 | val_label = ctk_label_new ("0.0"); |
4705 | |
4706 | spinner = ctk_spin_button_new_with_range (0.0, 10.0, 0.009); |
4707 | ctk_spin_button_set_value (CTK_SPIN_BUTTON (spinner)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spinner)), ((ctk_spin_button_get_type ())))))), 0.0); |
4708 | g_signal_connect (spinner, "value_changed",g_signal_connect_data ((spinner), ("value_changed"), (((GCallback ) (get_spin_value))), (val_label), ((void*)0), (GConnectFlags ) 0) |
4709 | G_CALLBACK (get_spin_value), val_label)g_signal_connect_data ((spinner), ("value_changed"), (((GCallback ) (get_spin_value))), (val_label), ((void*)0), (GConnectFlags ) 0); |
4710 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), spinner, TRUE(!(0)), TRUE(!(0)), 5); |
4711 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), val_label, TRUE(!(0)), TRUE(!(0)), 5); |
4712 | |
4713 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
4714 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 0); |
4715 | |
4716 | button = ctk_button_new_with_label ("Close"); |
4717 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
4718 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
4719 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
4720 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 5); |
4721 | } |
4722 | |
4723 | if (!ctk_widget_get_visible (window)) |
4724 | ctk_widget_show_all (window); |
4725 | else |
4726 | ctk_widget_destroy (window); |
4727 | } |
4728 | |
4729 | |
4730 | /* |
4731 | * Cursors |
4732 | */ |
4733 | |
4734 | static gint |
4735 | cursor_draw (CtkWidget *widget, |
4736 | cairo_t *cr, |
4737 | gpointer user_data) |
4738 | { |
4739 | int width, height; |
4740 | |
4741 | width = ctk_widget_get_allocated_width (widget); |
4742 | height = ctk_widget_get_allocated_height (widget); |
4743 | |
4744 | cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); |
4745 | cairo_rectangle (cr, 0, 0, width, height); |
4746 | cairo_rectangle (cr, width / 3, height / 3, width / 3, height / 3); |
4747 | cairo_clip (cr); |
4748 | |
4749 | cairo_set_source_rgb (cr, 1, 1, 1); |
4750 | cairo_rectangle (cr, 0, 0, width, height / 2); |
4751 | cairo_fill (cr); |
4752 | |
4753 | cairo_set_source_rgb (cr, 0, 0, 0); |
4754 | cairo_rectangle (cr, 0, height / 2, width, height / 2); |
4755 | cairo_fill (cr); |
4756 | |
4757 | return TRUE(!(0)); |
4758 | } |
4759 | |
4760 | static const gchar *cursor_names[] = { |
4761 | "all-scroll", |
4762 | "arrow", |
4763 | "bd_double_arrow", |
4764 | "boat", |
4765 | "bottom_left_corner", |
4766 | "bottom_right_corner", |
4767 | "bottom_side", |
4768 | "bottom_tee", |
4769 | "box_spiral", |
4770 | "center_ptr", |
4771 | "circle", |
4772 | "clock", |
4773 | "coffee_mug", |
4774 | "copy", |
4775 | "cross", |
4776 | "crossed_circle", |
4777 | "cross_reverse", |
4778 | "crosshair", |
4779 | "diamond_cross", |
4780 | "dnd-ask", |
4781 | "dnd-copy", |
4782 | "dnd-link", |
4783 | "dnd-move", |
4784 | "dnd-none", |
4785 | "dot", |
4786 | "dotbox", |
4787 | "double_arrow", |
4788 | "draft_large", |
4789 | "draft_small", |
4790 | "draped_box", |
4791 | "exchange", |
4792 | "fd_double_arrow", |
4793 | "fleur", |
4794 | "gobbler", |
4795 | "gumby", |
4796 | "grab", |
4797 | "grabbing", |
4798 | "hand", |
4799 | "hand1", |
4800 | "hand2", |
4801 | "heart", |
4802 | "h_double_arrow", |
4803 | "help", |
4804 | "icon", |
4805 | "iron_cross", |
4806 | "left_ptr", |
4807 | "left_ptr_help", |
4808 | "left_ptr_watch", |
4809 | "left_side", |
4810 | "left_tee", |
4811 | "leftbutton", |
4812 | "link", |
4813 | "ll_angle", |
4814 | "lr_angle", |
4815 | "man", |
4816 | "middlebutton", |
4817 | "mouse", |
4818 | "move", |
4819 | "pencil", |
4820 | "pirate", |
4821 | "plus", |
4822 | "question_arrow", |
4823 | "right_ptr", |
4824 | "right_side", |
4825 | "right_tee", |
4826 | "rightbutton", |
4827 | "rtl_logo", |
4828 | "sailboat", |
4829 | "sb_down_arrow", |
4830 | "sb_h_double_arrow", |
4831 | "sb_left_arrow", |
4832 | "sb_right_arrow", |
4833 | "sb_up_arrow", |
4834 | "sb_v_double_arrow", |
4835 | "shuttle", |
4836 | "sizing", |
4837 | "spider", |
4838 | "spraycan", |
4839 | "star", |
4840 | "target", |
4841 | "tcross", |
4842 | "top_left_arrow", |
4843 | "top_left_corner", |
4844 | "top_right_corner", |
4845 | "top_side", |
4846 | "top_tee", |
4847 | "trek", |
4848 | "ul_angle", |
4849 | "umbrella", |
4850 | "ur_angle", |
4851 | "v_double_arrow", |
4852 | "vertical-text", |
4853 | "watch", |
4854 | "X_cursor", |
4855 | "xterm", |
4856 | "zoom-in", |
4857 | "zoom-out" |
4858 | }; |
4859 | |
4860 | static CtkTreeModel * |
4861 | cursor_model (void) |
4862 | { |
4863 | CtkListStore *store; |
4864 | gint i; |
4865 | store = ctk_list_store_new (1, G_TYPE_STRING((GType) ((16) << (2)))); |
4866 | |
4867 | for (i = 0; i < G_N_ELEMENTS (cursor_names)(sizeof (cursor_names) / sizeof ((cursor_names)[0])); i++) |
4868 | ctk_list_store_insert_with_values (store, NULL((void*)0), -1, 0, cursor_names[i], -1); |
4869 | |
4870 | return (CtkTreeModel *)store; |
4871 | } |
4872 | |
4873 | static gint |
4874 | cursor_event (CtkWidget *widget, |
4875 | CdkEvent *event, |
4876 | CtkWidget *entry) |
4877 | { |
4878 | const gchar *name; |
4879 | gint i; |
4880 | const gint n = G_N_ELEMENTS (cursor_names)(sizeof (cursor_names) / sizeof ((cursor_names)[0])); |
4881 | |
4882 | name = (const gchar *)g_object_get_data (G_OBJECT (widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), (((GType) ((20) << (2)))))))), "name"); |
4883 | if (name != NULL((void*)0)) |
4884 | { |
4885 | for (i = 0; i < n; i++) |
4886 | if (strcmp (name, cursor_names[i]) == 0) |
4887 | break; |
4888 | } |
4889 | else |
4890 | i = 0; |
4891 | |
4892 | if ((event->type == CDK_BUTTON_PRESS) && |
4893 | ((event->button.button == CDK_BUTTON_PRIMARY(1)) || |
4894 | (event->button.button == CDK_BUTTON_SECONDARY(3)))) |
4895 | { |
4896 | if (event->button.button == CDK_BUTTON_PRIMARY(1)) |
4897 | i = (i + 1) % n; |
4898 | else |
4899 | i = (i + n - 1) % n; |
4900 | |
4901 | ctk_entry_set_text (CTK_ENTRY (entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ())))))), cursor_names[i]); |
4902 | |
4903 | return TRUE(!(0)); |
4904 | } |
4905 | |
4906 | return FALSE(0); |
4907 | } |
4908 | |
4909 | static void |
4910 | set_cursor_from_name (CtkWidget *entry, |
4911 | CtkWidget *widget) |
4912 | { |
4913 | const gchar *name; |
4914 | CdkCursor *cursor; |
4915 | |
4916 | name = ctk_entry_get_text (CTK_ENTRY (entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ()))))))); |
4917 | cursor = cdk_cursor_new_from_name (ctk_widget_get_display (widget), name); |
4918 | |
4919 | if (cursor == NULL((void*)0)) |
4920 | { |
4921 | name = NULL((void*)0); |
4922 | cursor = cdk_cursor_new_for_display (ctk_widget_get_display (widget), CDK_BLANK_CURSOR); |
4923 | } |
4924 | |
4925 | cdk_window_set_cursor (ctk_widget_get_window (widget), cursor); |
4926 | g_object_unref (cursor); |
4927 | |
4928 | g_object_set_data_full (G_OBJECT (widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), (((GType) ((20) << (2)))))))), "name", g_strdup (name)g_strdup_inline (name), g_free); |
4929 | } |
4930 | |
4931 | #ifdef CDK_WINDOWING_X11 |
4932 | #include "x11/cdkx.h" |
4933 | #endif |
4934 | #ifdef CDK_WINDOWING_WAYLAND |
4935 | #include "wayland/cdkwayland.h" |
4936 | #endif |
4937 | |
4938 | static void |
4939 | change_cursor_theme (CtkWidget *widget, |
4940 | gpointer data) |
4941 | { |
4942 | #if defined(CDK_WINDOWING_X11) || defined (CDK_WINDOWING_WAYLAND) |
4943 | const gchar *theme; |
4944 | gint size; |
4945 | GList *children; |
4946 | CdkDisplay *display; |
4947 | |
4948 | children = ctk_container_get_children (CTK_CONTAINER (data)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_container_get_type ()))))))); |
4949 | |
4950 | theme = ctk_entry_get_text (CTK_ENTRY (children->next->data)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((children->next->data)), ((ctk_entry_get_type ()))) )))); |
4951 | size = (gint) ctk_spin_button_get_value (CTK_SPIN_BUTTON (children->next->next->data)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((children->next->next->data)), ((ctk_spin_button_get_type ()))))))); |
4952 | |
4953 | g_list_free (children); |
4954 | |
4955 | display = ctk_widget_get_display (widget); |
4956 | #ifdef CDK_WINDOWING_X11 |
4957 | if (CDK_IS_X11_DISPLAY (display)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (display)); GType __t = ((cdk_x11_display_get_type())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
4958 | cdk_x11_display_set_cursor_theme (display, theme, size); |
4959 | #endif |
4960 | #ifdef CDK_WINDOWING_WAYLAND |
4961 | if (CDK_IS_WAYLAND_DISPLAY (display)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (display)); GType __t = ((cdk_wayland_display_get_type())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
4962 | cdk_wayland_display_set_cursor_theme (display, theme, size); |
4963 | #endif |
4964 | #endif |
4965 | } |
4966 | |
4967 | |
4968 | static void |
4969 | create_cursors (CtkWidget *widget) |
4970 | { |
4971 | static CtkWidget *window = NULL((void*)0); |
4972 | CtkWidget *frame; |
4973 | CtkWidget *hbox; |
4974 | CtkWidget *main_vbox; |
4975 | CtkWidget *vbox; |
4976 | CtkWidget *darea; |
4977 | CtkWidget *button; |
4978 | CtkWidget *label; |
4979 | CtkWidget *any; |
4980 | CtkWidget *entry; |
4981 | CtkWidget *size; |
4982 | CtkEntryCompletion *completion; |
4983 | CtkTreeModel *model; |
4984 | gboolean cursor_demo = FALSE(0); |
4985 | |
4986 | if (!window) |
4987 | { |
4988 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
4989 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
4990 | ctk_widget_get_screen (widget)); |
4991 | |
4992 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
4993 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
4994 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
4995 | |
4996 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Cursors"); |
4997 | |
4998 | main_vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
4999 | ctk_container_set_border_width (CTK_CONTAINER (main_vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_container_get_type ())))))), 0); |
5000 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), main_vbox); |
5001 | |
5002 | vbox = |
5003 | g_object_new (CTK_TYPE_BOX(ctk_box_get_type ()), |
5004 | "orientation", CTK_ORIENTATION_VERTICAL, |
5005 | "CtkBox::homogeneous", FALSE(0), |
5006 | "CtkBox::spacing", 5, |
5007 | "CtkContainer::border_width", 10, |
5008 | "CtkWidget::parent", main_vbox, |
5009 | "CtkWidget::visible", TRUE(!(0)), |
5010 | NULL((void*)0)); |
5011 | |
5012 | #ifdef CDK_WINDOWING_X11 |
5013 | if (CDK_IS_X11_DISPLAY (ctk_widget_get_display (vbox))(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (ctk_widget_get_display (vbox))); GType __t = ((cdk_x11_display_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-> g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
5014 | cursor_demo = TRUE(!(0)); |
5015 | #endif |
5016 | #ifdef CDK_WINDOWING_WAYLAND |
5017 | if (CDK_IS_WAYLAND_DISPLAY (ctk_widget_get_display (vbox))(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (ctk_widget_get_display (vbox))); GType __t = ((cdk_wayland_display_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-> g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
5018 | cursor_demo = TRUE(!(0)); |
5019 | #endif |
5020 | |
5021 | if (cursor_demo) |
5022 | { |
5023 | guint w, h; |
5024 | |
5025 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 6); |
5026 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 5); |
5027 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 0); |
5028 | |
5029 | label = ctk_label_new ("Cursor Theme:"); |
5030 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
5031 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
5032 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
5033 | |
5034 | entry = ctk_entry_new (); |
5035 | ctk_entry_set_text (CTK_ENTRY (entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ())))))), "default"); |
5036 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), entry, FALSE(0), TRUE(!(0)), 0); |
5037 | |
5038 | cdk_display_get_maximal_cursor_size (ctk_widget_get_display (vbox), &w, &h); |
5039 | size = ctk_spin_button_new_with_range (1.0, MIN (w, h)(((w) < (h)) ? (w) : (h)), 1.0); |
5040 | ctk_spin_button_set_value (CTK_SPIN_BUTTON (size)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((size)), ((ctk_spin_button_get_type ())))))), 24.0); |
5041 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), size, TRUE(!(0)), TRUE(!(0)), 0); |
5042 | |
5043 | g_signal_connect (entry, "changed",g_signal_connect_data ((entry), ("changed"), (((GCallback) (change_cursor_theme ))), (hbox), ((void*)0), (GConnectFlags) 0) |
5044 | G_CALLBACK (change_cursor_theme), hbox)g_signal_connect_data ((entry), ("changed"), (((GCallback) (change_cursor_theme ))), (hbox), ((void*)0), (GConnectFlags) 0); |
5045 | g_signal_connect (size, "value-changed",g_signal_connect_data ((size), ("value-changed"), (((GCallback ) (change_cursor_theme))), (hbox), ((void*)0), (GConnectFlags ) 0) |
5046 | G_CALLBACK (change_cursor_theme), hbox)g_signal_connect_data ((size), ("value-changed"), (((GCallback ) (change_cursor_theme))), (hbox), ((void*)0), (GConnectFlags ) 0); |
5047 | } |
5048 | |
5049 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 6); |
5050 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 5); |
5051 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 0); |
5052 | |
5053 | label = ctk_label_new ("Cursor Name:"); |
5054 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
5055 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
5056 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
5057 | |
5058 | entry = ctk_entry_new (); |
5059 | completion = ctk_entry_completion_new (); |
5060 | model = cursor_model (); |
5061 | ctk_entry_completion_set_model (completion, model); |
5062 | ctk_entry_completion_set_text_column (completion, 0); |
5063 | ctk_entry_set_completion (CTK_ENTRY (entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ())))))), completion); |
5064 | g_object_unref (model); |
5065 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), entry, TRUE(!(0)), TRUE(!(0)), 0); |
5066 | |
5067 | frame = |
5068 | g_object_new (ctk_frame_get_type (), |
5069 | "CtkFrame::label_xalign", 0.5, |
5070 | "CtkFrame::label", "Cursor Area", |
5071 | "CtkContainer::border_width", 10, |
5072 | "CtkWidget::parent", vbox, |
5073 | "CtkWidget::visible", TRUE(!(0)), |
5074 | NULL((void*)0)); |
5075 | |
5076 | darea = ctk_drawing_area_new (); |
5077 | ctk_widget_set_size_request (darea, 80, 80); |
5078 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), darea); |
5079 | g_signal_connect (darea,g_signal_connect_data ((darea), ("draw"), (((GCallback) (cursor_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
5080 | "draw",g_signal_connect_data ((darea), ("draw"), (((GCallback) (cursor_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
5081 | G_CALLBACK (cursor_draw),g_signal_connect_data ((darea), ("draw"), (((GCallback) (cursor_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
5082 | NULL)g_signal_connect_data ((darea), ("draw"), (((GCallback) (cursor_draw ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
5083 | ctk_widget_set_events (darea, CDK_EXPOSURE_MASK | CDK_BUTTON_PRESS_MASK); |
5084 | g_signal_connect (darea, "button_press_event",g_signal_connect_data ((darea), ("button_press_event"), (((GCallback ) (cursor_event))), (entry), ((void*)0), (GConnectFlags) 0) |
5085 | G_CALLBACK (cursor_event), entry)g_signal_connect_data ((darea), ("button_press_event"), (((GCallback ) (cursor_event))), (entry), ((void*)0), (GConnectFlags) 0); |
5086 | ctk_widget_show (darea); |
5087 | |
5088 | g_signal_connect (entry, "changed",g_signal_connect_data ((entry), ("changed"), (((GCallback) (set_cursor_from_name ))), (darea), ((void*)0), (GConnectFlags) 0) |
5089 | G_CALLBACK (set_cursor_from_name), darea)g_signal_connect_data ((entry), ("changed"), (((GCallback) (set_cursor_from_name ))), (darea), ((void*)0), (GConnectFlags) 0); |
5090 | |
5091 | |
5092 | any = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
5093 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), any, FALSE(0), TRUE(!(0)), 0); |
5094 | |
5095 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
5096 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 10); |
5097 | ctk_box_pack_start (CTK_BOX (main_vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((main_vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 0); |
5098 | |
5099 | button = ctk_button_new_with_label ("Close"); |
5100 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
5101 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
5102 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
5103 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 5); |
5104 | |
5105 | ctk_widget_show_all (window); |
5106 | |
5107 | ctk_entry_set_text (CTK_ENTRY (entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_entry_get_type ())))))), "arrow"); |
5108 | } |
5109 | else |
5110 | ctk_widget_destroy (window); |
5111 | } |
5112 | |
5113 | /* |
5114 | * CtkColorSelection |
5115 | */ |
5116 | |
5117 | void |
5118 | create_color_selection (CtkWidget *widget) |
5119 | { |
5120 | static CtkWidget *window = NULL((void*)0); |
5121 | |
5122 | if (!window) |
5123 | { |
5124 | CtkWidget *picker; |
5125 | CtkWidget *hbox; |
5126 | CtkWidget *label; |
5127 | |
5128 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
5129 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
5130 | ctk_widget_get_screen (widget)); |
5131 | |
5132 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5133 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5134 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
5135 | |
5136 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "CtkColorButton"); |
5137 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
5138 | |
5139 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 8); |
5140 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 8); |
5141 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), hbox); |
5142 | |
5143 | label = ctk_label_new ("Pick a color"); |
5144 | ctk_container_add (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), label); |
5145 | |
5146 | picker = ctk_color_button_new (); |
5147 | ctk_color_chooser_set_use_alpha (CTK_COLOR_CHOOSER (picker)((((CtkColorChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((picker)), ((ctk_color_chooser_get_type ())))))), TRUE(!(0))); |
5148 | ctk_container_add (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), picker); |
5149 | } |
5150 | |
5151 | if (!ctk_widget_get_visible (window)) |
5152 | ctk_widget_show_all (window); |
5153 | else |
5154 | ctk_widget_destroy (window); |
5155 | } |
5156 | |
5157 | void |
5158 | flipping_toggled_cb (CtkWidget *widget, gpointer data) |
5159 | { |
5160 | int state = ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (widget)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_toggle_button_get_type ()))))))); |
5161 | int new_direction = state ? CTK_TEXT_DIR_RTL : CTK_TEXT_DIR_LTR; |
5162 | |
5163 | ctk_widget_set_default_direction (new_direction); |
5164 | } |
5165 | |
5166 | static void |
5167 | orientable_toggle_orientation (CtkOrientable *orientable) |
5168 | { |
5169 | CtkOrientation orientation; |
5170 | |
5171 | orientation = ctk_orientable_get_orientation (orientable); |
5172 | ctk_orientable_set_orientation (orientable, |
5173 | orientation == CTK_ORIENTATION_HORIZONTAL ? |
5174 | CTK_ORIENTATION_VERTICAL : |
5175 | CTK_ORIENTATION_HORIZONTAL); |
5176 | |
5177 | if (CTK_IS_CONTAINER (orientable)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (orientable)); GType __t = ((ctk_container_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
5178 | { |
5179 | GList *children; |
5180 | GList *child; |
5181 | |
5182 | children = ctk_container_get_children (CTK_CONTAINER (orientable)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((orientable)), ((ctk_container_get_type ()))))))); |
5183 | |
5184 | for (child = children; child; child = child->next) |
5185 | { |
5186 | if (CTK_IS_ORIENTABLE (child->data)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (child->data)); GType __t = ((ctk_orientable_get_type ())) ; gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0) ); else __r = g_type_check_instance_is_a (__inst, __t); __r; } ))))) |
5187 | orientable_toggle_orientation (child->data); |
5188 | } |
5189 | |
5190 | g_list_free (children); |
5191 | } |
5192 | } |
5193 | |
5194 | void |
5195 | flipping_orientation_toggled_cb (CtkWidget *widget, gpointer data) |
5196 | { |
5197 | CtkWidget *content_area; |
5198 | CtkWidget *toplevel; |
5199 | |
5200 | toplevel = ctk_widget_get_toplevel (widget); |
5201 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (toplevel)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((toplevel)), ((ctk_dialog_get_type ()))))))); |
5202 | orientable_toggle_orientation (CTK_ORIENTABLE (content_area)((((CtkOrientable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_orientable_get_type ()))))))); |
5203 | } |
5204 | |
5205 | static void |
5206 | set_direction_recurse (CtkWidget *widget, |
5207 | gpointer data) |
5208 | { |
5209 | CtkTextDirection *dir = data; |
5210 | |
5211 | ctk_widget_set_direction (widget, *dir); |
5212 | if (CTK_IS_CONTAINER (widget)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (widget)); GType __t = ((ctk_container_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
5213 | ctk_container_foreach (CTK_CONTAINER (widget)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_container_get_type ())))))), |
5214 | set_direction_recurse, |
5215 | data); |
5216 | } |
5217 | |
5218 | static CtkWidget * |
5219 | create_forward_back (const char *title, |
5220 | CtkTextDirection text_dir) |
5221 | { |
5222 | CtkWidget *frame = ctk_frame_new (title); |
5223 | CtkWidget *bbox = ctk_button_box_new (CTK_ORIENTATION_HORIZONTAL); |
5224 | CtkWidget *back_button = ctk_button_new_with_label ("Back"); |
5225 | CtkWidget *forward_button = ctk_button_new_with_label ("Forward"); |
5226 | |
5227 | ctk_container_set_border_width (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), 5); |
5228 | |
5229 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), bbox); |
5230 | ctk_container_add (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), back_button); |
5231 | ctk_container_add (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), forward_button); |
5232 | |
5233 | set_direction_recurse (frame, &text_dir); |
5234 | |
5235 | return frame; |
5236 | } |
5237 | |
5238 | void |
5239 | create_flipping (CtkWidget *widget) |
5240 | { |
5241 | static CtkWidget *window = NULL((void*)0); |
5242 | |
5243 | if (!window) |
5244 | { |
5245 | CtkWidget *check_button; |
5246 | CtkWidget *content_area; |
5247 | |
5248 | window = ctk_dialog_new (); |
5249 | |
5250 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
5251 | ctk_widget_get_screen (widget)); |
5252 | |
5253 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5254 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5255 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
5256 | |
5257 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
5258 | |
5259 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Bidirectional Flipping"); |
5260 | |
5261 | check_button = ctk_check_button_new_with_label ("Right-to-left global direction"); |
5262 | ctk_container_set_border_width (CTK_CONTAINER (check_button)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((check_button)), ((ctk_container_get_type ())))))), 10); |
5263 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), check_button, TRUE(!(0)), TRUE(!(0)), 0); |
5264 | |
5265 | if (ctk_widget_get_default_direction () == CTK_TEXT_DIR_RTL) |
5266 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (check_button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((check_button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
5267 | |
5268 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (flipping_toggled_cb))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5269 | G_CALLBACK (flipping_toggled_cb), NULL)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (flipping_toggled_cb))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5270 | |
5271 | check_button = ctk_check_button_new_with_label ("Toggle orientation of all boxes"); |
5272 | ctk_container_set_border_width (CTK_CONTAINER (check_button)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((check_button)), ((ctk_container_get_type ())))))), 10); |
5273 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), check_button, TRUE(!(0)), TRUE(!(0)), 0); |
5274 | |
5275 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (flipping_orientation_toggled_cb))), (((void*)0)), ((void*) 0), (GConnectFlags) 0) |
5276 | G_CALLBACK (flipping_orientation_toggled_cb), NULL)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (flipping_orientation_toggled_cb))), (((void*)0)), ((void*) 0), (GConnectFlags) 0); |
5277 | |
5278 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), |
5279 | create_forward_back ("Default", CTK_TEXT_DIR_NONE), |
5280 | TRUE(!(0)), TRUE(!(0)), 0); |
5281 | |
5282 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), |
5283 | create_forward_back ("Left-to-Right", CTK_TEXT_DIR_LTR), |
5284 | TRUE(!(0)), TRUE(!(0)), 0); |
5285 | |
5286 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), |
5287 | create_forward_back ("Right-to-Left", CTK_TEXT_DIR_RTL), |
5288 | TRUE(!(0)), TRUE(!(0)), 0); |
5289 | |
5290 | ctk_dialog_add_button (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ())))))), "Close", CTK_RESPONSE_CLOSE); |
5291 | g_signal_connect (window, "response", G_CALLBACK (ctk_widget_destroy), NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5292 | } |
5293 | |
5294 | if (!ctk_widget_get_visible (window)) |
5295 | ctk_widget_show_all (window); |
5296 | else |
5297 | ctk_widget_destroy (window); |
5298 | } |
5299 | |
5300 | /* |
5301 | * Focus test |
5302 | */ |
5303 | |
5304 | static CtkWidget* |
5305 | make_focus_table (GList **list) |
5306 | { |
5307 | CtkWidget *grid; |
5308 | gint i, j; |
5309 | |
5310 | grid = ctk_grid_new (); |
5311 | |
5312 | ctk_grid_set_row_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 10); |
5313 | ctk_grid_set_column_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 10); |
5314 | |
5315 | for (i = 0; i < 5; i++) |
5316 | { |
5317 | for (j = 0; j < 5; j++) |
5318 | { |
5319 | CtkWidget *widget; |
5320 | |
5321 | if ((i + j) % 2) |
5322 | widget = ctk_entry_new (); |
5323 | else |
5324 | widget = ctk_button_new_with_label ("Foo"); |
5325 | |
5326 | *list = g_list_prepend (*list, widget); |
5327 | |
5328 | ctk_widget_set_hexpand (widget, TRUE(!(0))); |
5329 | ctk_widget_set_vexpand (widget, TRUE(!(0))); |
5330 | |
5331 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), widget, i, j, 1, 1); |
5332 | } |
5333 | } |
5334 | |
5335 | *list = g_list_reverse (*list); |
5336 | |
5337 | return grid; |
5338 | } |
5339 | |
5340 | static void |
5341 | create_focus (CtkWidget *widget) |
5342 | { |
5343 | static CtkWidget *window = NULL((void*)0); |
5344 | |
5345 | if (!window) |
5346 | { |
5347 | CtkWidget *content_area; |
5348 | CtkWidget *table; |
5349 | CtkWidget *frame; |
5350 | GList *list = NULL((void*)0); |
5351 | |
5352 | window = ctk_dialog_new_with_buttons ("Keyboard focus navigation", |
5353 | NULL((void*)0), 0, |
5354 | "_Close", |
5355 | CTK_RESPONSE_NONE, |
5356 | NULL((void*)0)); |
5357 | |
5358 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
5359 | ctk_widget_get_screen (widget)); |
5360 | |
5361 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5362 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5363 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
5364 | |
5365 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5366 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5367 | NULL)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5368 | |
5369 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
5370 | |
5371 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Keyboard Focus Navigation"); |
5372 | |
5373 | frame = ctk_frame_new ("Weird tab focus chain"); |
5374 | |
5375 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 0); |
5376 | |
5377 | table = make_focus_table (&list); |
5378 | |
5379 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), table); |
5380 | |
5381 | ctk_container_set_focus_chain (CTK_CONTAINER (table)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((table)), ((ctk_container_get_type ())))))), |
5382 | list); |
5383 | |
5384 | g_list_free (list); |
5385 | |
5386 | frame = ctk_frame_new ("Default tab focus chain"); |
5387 | |
5388 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), frame, TRUE(!(0)), TRUE(!(0)), 0); |
5389 | |
5390 | list = NULL((void*)0); |
5391 | table = make_focus_table (&list); |
5392 | |
5393 | g_list_free (list); |
5394 | |
5395 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), table); |
5396 | } |
5397 | |
5398 | if (!ctk_widget_get_visible (window)) |
5399 | ctk_widget_show_all (window); |
5400 | else |
5401 | ctk_widget_destroy (window); |
5402 | } |
5403 | |
5404 | /* |
5405 | * CtkFontSelection |
5406 | */ |
5407 | |
5408 | void |
5409 | create_font_selection (CtkWidget *widget) |
5410 | { |
5411 | static CtkWidget *window = NULL((void*)0); |
5412 | |
5413 | if (!window) |
5414 | { |
5415 | CtkWidget *picker; |
5416 | CtkWidget *hbox; |
5417 | CtkWidget *label; |
5418 | |
5419 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
5420 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
5421 | ctk_widget_get_screen (widget)); |
5422 | |
5423 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5424 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5425 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
5426 | |
5427 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "CtkFontButton"); |
5428 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
5429 | |
5430 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 8); |
5431 | ctk_container_set_border_width (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), 8); |
5432 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), hbox); |
5433 | |
5434 | label = ctk_label_new ("Pick a font"); |
5435 | ctk_container_add (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), label); |
5436 | |
5437 | picker = ctk_font_button_new (); |
5438 | ctk_font_button_set_use_font (CTK_FONT_BUTTON (picker)((((CtkFontButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((picker)), ((ctk_font_button_get_type ())))))), TRUE(!(0))); |
5439 | ctk_container_add (CTK_CONTAINER (hbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_container_get_type ())))))), picker); |
5440 | } |
5441 | |
5442 | if (!ctk_widget_get_visible (window)) |
5443 | ctk_widget_show_all (window); |
5444 | else |
5445 | ctk_widget_destroy (window); |
5446 | } |
5447 | |
5448 | /* |
5449 | * CtkDialog |
5450 | */ |
5451 | |
5452 | static CtkWidget *dialog_window = NULL((void*)0); |
5453 | |
5454 | static void |
5455 | dialog_response_cb (CtkWidget *widget, gint response, gpointer unused) |
5456 | { |
5457 | if (response == CTK_RESPONSE_APPLY) |
5458 | { |
5459 | GList *l, *children; |
5460 | CtkWidget *content_area; |
5461 | |
5462 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (dialog_window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_dialog_get_type ()))))))); |
5463 | children = ctk_container_get_children (CTK_CONTAINER (content_area)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_container_get_type ()))))))); |
5464 | |
5465 | for (l = children; l; l = l->next) |
5466 | { |
5467 | if (CTK_IS_LABEL (l->data)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (l->data)); GType __t = ((ctk_label_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
5468 | { |
5469 | ctk_container_remove (CTK_CONTAINER (content_area)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_container_get_type ())))))), l->data); |
5470 | break; |
5471 | } |
5472 | } |
5473 | |
5474 | /* no label removed, so add one */ |
5475 | if (l == NULL((void*)0)) |
5476 | { |
5477 | CtkWidget *label; |
5478 | |
5479 | label = ctk_label_new ("Dialog Test"); |
5480 | g_object_set (label, "margin", 10, NULL((void*)0)); |
5481 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), |
5482 | label, TRUE(!(0)), TRUE(!(0)), 0); |
5483 | ctk_widget_show (label); |
5484 | } |
5485 | |
5486 | g_list_free (children); |
5487 | } |
5488 | } |
5489 | |
5490 | static void |
5491 | create_dialog (CtkWidget *widget) |
5492 | { |
5493 | if (!dialog_window) |
5494 | { |
5495 | /* This is a terrible example; it's much simpler to create |
5496 | * dialogs than this. Don't use testctk for example code, |
5497 | * use ctk-demo ;-) |
5498 | */ |
5499 | |
5500 | dialog_window = ctk_dialog_new (); |
5501 | ctk_window_set_screen (CTK_WINDOW (dialog_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_window_get_type ())))))), |
5502 | ctk_widget_get_screen (widget)); |
5503 | |
5504 | g_signal_connect (dialog_window, "destroy",g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&dialog_window), ((void*)0), (GConnectFlags) 0) |
5505 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&dialog_window), ((void*)0), (GConnectFlags) 0) |
5506 | &dialog_window)g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&dialog_window), ((void*)0), (GConnectFlags) 0); |
5507 | |
5508 | |
5509 | ctk_window_set_title (CTK_WINDOW (dialog_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_window_get_type ())))))), "CtkDialog"); |
5510 | ctk_container_set_border_width (CTK_CONTAINER (dialog_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_container_get_type ())))))), 0); |
5511 | |
5512 | ctk_dialog_add_button (CTK_DIALOG (dialog_window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_dialog_get_type ())))))), |
5513 | "OK", |
5514 | CTK_RESPONSE_OK); |
5515 | |
5516 | ctk_dialog_add_button (CTK_DIALOG (dialog_window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_dialog_get_type ())))))), |
5517 | "Toggle", |
5518 | CTK_RESPONSE_APPLY); |
5519 | |
5520 | g_signal_connect (dialog_window, "response",g_signal_connect_data ((dialog_window), ("response"), (((GCallback ) (dialog_response_cb))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5521 | G_CALLBACK (dialog_response_cb),g_signal_connect_data ((dialog_window), ("response"), (((GCallback ) (dialog_response_cb))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5522 | NULL)g_signal_connect_data ((dialog_window), ("response"), (((GCallback ) (dialog_response_cb))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5523 | } |
5524 | |
5525 | if (!ctk_widget_get_visible (dialog_window)) |
5526 | ctk_widget_show (dialog_window); |
5527 | else |
5528 | ctk_widget_destroy (dialog_window); |
5529 | } |
5530 | |
5531 | /* Display & Screen test |
5532 | */ |
5533 | |
5534 | typedef struct |
5535 | { |
5536 | CtkWidget *combo; |
5537 | CtkWidget *entry; |
5538 | CtkWidget *toplevel; |
5539 | CtkWidget *dialog_window; |
5540 | } ScreenDisplaySelection; |
5541 | |
5542 | static void |
5543 | screen_display_check (CtkWidget *widget, ScreenDisplaySelection *data) |
5544 | { |
5545 | const gchar *display_name; |
5546 | CdkDisplay *display; |
5547 | CdkScreen *new_screen = NULL((void*)0); |
5548 | CdkScreen *current_screen = ctk_widget_get_screen (widget); |
5549 | |
5550 | display_name = ctk_entry_get_text (CTK_ENTRY (data->entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data->entry)), ((ctk_entry_get_type ()))))))); |
5551 | display = cdk_display_open (display_name); |
5552 | |
5553 | if (!display) |
5554 | { |
5555 | CtkWidget *dialog; |
5556 | |
5557 | dialog = ctk_message_dialog_new (CTK_WINDOW (ctk_widget_get_toplevel (widget))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_toplevel (widget))), ((ctk_window_get_type ())))))), |
5558 | CTK_DIALOG_DESTROY_WITH_PARENT, |
5559 | CTK_MESSAGE_ERROR, |
5560 | CTK_BUTTONS_OK, |
5561 | "The display :\n%s\ncannot be opened", |
5562 | display_name); |
5563 | ctk_window_set_screen (CTK_WINDOW (dialog)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog)), ((ctk_window_get_type ())))))), current_screen); |
5564 | ctk_widget_show (dialog); |
5565 | g_signal_connect (dialog, "response",g_signal_connect_data ((dialog), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5566 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((dialog), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5567 | NULL)g_signal_connect_data ((dialog), ("response"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5568 | } |
5569 | else |
5570 | { |
5571 | CtkTreeModel *model = ctk_combo_box_get_model (CTK_COMBO_BOX (data->combo)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data->combo)), ((ctk_combo_box_get_type ()))))))); |
5572 | gint i = 0; |
5573 | CtkTreeIter iter; |
5574 | gboolean found = FALSE(0); |
5575 | while (ctk_tree_model_iter_nth_child (model, &iter, NULL((void*)0), i++)) |
5576 | { |
5577 | gchar *name; |
5578 | ctk_tree_model_get (model, &iter, 0, &name, -1); |
5579 | found = !g_ascii_strcasecmp (display_name, name); |
5580 | g_free (name); |
5581 | |
5582 | if (found) |
5583 | break; |
5584 | } |
5585 | if (!found) |
5586 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (data->combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data->combo)), ((ctk_combo_box_text_get_type ())))))), display_name); |
5587 | new_screen = cdk_display_get_default_screen (display); |
5588 | |
5589 | ctk_window_set_screen (CTK_WINDOW (data->toplevel)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data->toplevel)), ((ctk_window_get_type ())))))), new_screen); |
5590 | ctk_widget_destroy (data->dialog_window); |
5591 | } |
5592 | } |
5593 | |
5594 | void |
5595 | screen_display_destroy_diag (CtkWidget *widget, CtkWidget *data) |
5596 | { |
5597 | ctk_widget_destroy (data); |
5598 | } |
5599 | |
5600 | void |
5601 | create_display_screen (CtkWidget *widget) |
5602 | { |
5603 | CtkWidget *grid, *frame, *window, *combo_dpy, *vbox; |
5604 | CtkWidget *label_dpy, *applyb, *cancelb; |
5605 | CtkWidget *bbox; |
5606 | ScreenDisplaySelection *scr_dpy_data; |
5607 | CdkScreen *screen = ctk_widget_get_screen (widget); |
5608 | |
5609 | window = g_object_new (ctk_window_get_type (), |
5610 | "screen", screen, |
5611 | "type", CTK_WINDOW_TOPLEVEL, |
5612 | "title", "Screen or Display selection", |
5613 | "border_width", |
5614 | 10, NULL((void*)0)); |
5615 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5616 | G_CALLBACK (ctk_widget_destroy), NULL)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5617 | |
5618 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 3); |
5619 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), vbox); |
5620 | |
5621 | frame = ctk_frame_new ("Select display"); |
5622 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), frame); |
5623 | |
5624 | grid = ctk_grid_new (); |
5625 | ctk_grid_set_row_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 3); |
5626 | ctk_grid_set_column_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 3); |
5627 | |
5628 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), grid); |
5629 | |
5630 | label_dpy = ctk_label_new ("move to another X display"); |
5631 | combo_dpy = ctk_combo_box_text_new_with_entry (); |
5632 | ctk_widget_set_hexpand (combo_dpy, TRUE(!(0))); |
5633 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo_dpy)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo_dpy)), ((ctk_combo_box_text_get_type ())))))), "diabolo:0.0"); |
5634 | ctk_entry_set_text (CTK_ENTRY (ctk_bin_get_child (CTK_BIN (combo_dpy)))((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_bin_get_child (((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((combo_dpy)), ((ctk_bin_get_type ())))))) ))), ((ctk_entry_get_type ())))))), |
5635 | "<hostname>:<X Server Num>.<Screen Num>"); |
5636 | |
5637 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), label_dpy, 0, 0, 1, 1); |
5638 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), combo_dpy, 0, 1, 1, 1); |
5639 | |
5640 | bbox = ctk_button_box_new (CTK_ORIENTATION_HORIZONTAL); |
5641 | applyb = ctk_button_new_with_label ("_Apply"); |
5642 | cancelb = ctk_button_new_with_label ("_Cancel"); |
5643 | |
5644 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), bbox); |
5645 | |
5646 | ctk_container_add (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), applyb); |
5647 | ctk_container_add (CTK_CONTAINER (bbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((bbox)), ((ctk_container_get_type ())))))), cancelb); |
5648 | |
5649 | scr_dpy_data = g_new0 (ScreenDisplaySelection, 1)((ScreenDisplaySelection *) g_malloc0_n ((1), sizeof (ScreenDisplaySelection ))); |
5650 | |
5651 | scr_dpy_data->entry = ctk_bin_get_child (CTK_BIN (combo_dpy)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo_dpy)), ((ctk_bin_get_type ()))))))); |
5652 | scr_dpy_data->toplevel = ctk_widget_get_toplevel (widget); |
5653 | scr_dpy_data->dialog_window = window; |
5654 | |
5655 | g_signal_connect (cancelb, "clicked",g_signal_connect_data ((cancelb), ("clicked"), (((GCallback) ( screen_display_destroy_diag))), (window), ((void*)0), (GConnectFlags ) 0) |
5656 | G_CALLBACK (screen_display_destroy_diag), window)g_signal_connect_data ((cancelb), ("clicked"), (((GCallback) ( screen_display_destroy_diag))), (window), ((void*)0), (GConnectFlags ) 0); |
5657 | g_signal_connect (applyb, "clicked",g_signal_connect_data ((applyb), ("clicked"), (((GCallback) ( screen_display_check))), (scr_dpy_data), ((void*)0), (GConnectFlags ) 0) |
5658 | G_CALLBACK (screen_display_check), scr_dpy_data)g_signal_connect_data ((applyb), ("clicked"), (((GCallback) ( screen_display_check))), (scr_dpy_data), ((void*)0), (GConnectFlags ) 0); |
5659 | ctk_widget_show_all (window); |
5660 | } |
5661 | |
5662 | /* Event Watcher |
5663 | */ |
5664 | static gulong event_watcher_enter_id = 0; |
5665 | static gulong event_watcher_leave_id = 0; |
5666 | |
5667 | static gboolean |
5668 | event_watcher (GSignalInvocationHint *ihint, |
5669 | guint n_param_values, |
5670 | const GValue *param_values, |
5671 | gpointer data) |
5672 | { |
5673 | g_print ("Watch: \"%s\" emitted for %s\n", |
5674 | g_signal_name (ihint->signal_id), |
5675 | G_OBJECT_TYPE_NAME (g_value_get_object (param_values + 0))(g_type_name ((((((GTypeClass*) (((GTypeInstance*) (g_value_get_object (param_values + 0)))->g_class))->g_type)))))); |
5676 | |
5677 | return TRUE(!(0)); |
5678 | } |
5679 | |
5680 | static void |
5681 | event_watcher_down (void) |
5682 | { |
5683 | if (event_watcher_enter_id) |
5684 | { |
5685 | guint signal_id; |
5686 | |
5687 | signal_id = g_signal_lookup ("enter_notify_event", CTK_TYPE_WIDGET(ctk_widget_get_type ())); |
5688 | g_signal_remove_emission_hook (signal_id, event_watcher_enter_id); |
5689 | event_watcher_enter_id = 0; |
5690 | signal_id = g_signal_lookup ("leave_notify_event", CTK_TYPE_WIDGET(ctk_widget_get_type ())); |
5691 | g_signal_remove_emission_hook (signal_id, event_watcher_leave_id); |
5692 | event_watcher_leave_id = 0; |
5693 | } |
5694 | } |
5695 | |
5696 | static void |
5697 | event_watcher_toggle (void) |
5698 | { |
5699 | if (event_watcher_enter_id) |
5700 | event_watcher_down (); |
5701 | else |
5702 | { |
5703 | guint signal_id; |
5704 | |
5705 | signal_id = g_signal_lookup ("enter_notify_event", CTK_TYPE_WIDGET(ctk_widget_get_type ())); |
5706 | event_watcher_enter_id = g_signal_add_emission_hook (signal_id, 0, event_watcher, NULL((void*)0), NULL((void*)0)); |
5707 | signal_id = g_signal_lookup ("leave_notify_event", CTK_TYPE_WIDGET(ctk_widget_get_type ())); |
5708 | event_watcher_leave_id = g_signal_add_emission_hook (signal_id, 0, event_watcher, NULL((void*)0), NULL((void*)0)); |
5709 | } |
5710 | } |
5711 | |
5712 | static void |
5713 | create_event_watcher (CtkWidget *widget) |
5714 | { |
5715 | if (!dialog_window) |
5716 | { |
5717 | CtkWidget *content_area; |
5718 | CtkWidget *button; |
5719 | |
5720 | dialog_window = ctk_dialog_new (); |
5721 | ctk_window_set_screen (CTK_WINDOW (dialog_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_window_get_type ())))))), |
5722 | ctk_widget_get_screen (widget)); |
5723 | |
5724 | g_signal_connect (dialog_window, "destroy",g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&dialog_window), ((void*)0), (GConnectFlags) 0) |
5725 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&dialog_window), ((void*)0), (GConnectFlags) 0) |
5726 | &dialog_window)g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&dialog_window), ((void*)0), (GConnectFlags) 0); |
5727 | g_signal_connect (dialog_window, "destroy",g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (event_watcher_down))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5728 | G_CALLBACK (event_watcher_down),g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (event_watcher_down))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5729 | NULL)g_signal_connect_data ((dialog_window), ("destroy"), (((GCallback ) (event_watcher_down))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5730 | |
5731 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (dialog_window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_dialog_get_type ()))))))); |
5732 | |
5733 | ctk_window_set_title (CTK_WINDOW (dialog_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_window_get_type ())))))), "Event Watcher"); |
5734 | ctk_container_set_border_width (CTK_CONTAINER (dialog_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_container_get_type ())))))), 0); |
5735 | ctk_widget_set_size_request (dialog_window, 200, 110); |
5736 | |
5737 | button = ctk_toggle_button_new_with_label ("Activate Watch"); |
5738 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( event_watcher_toggle))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5739 | G_CALLBACK (event_watcher_toggle),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( event_watcher_toggle))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5740 | NULL)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( event_watcher_toggle))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5741 | ctk_container_set_border_width (CTK_CONTAINER (button)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_container_get_type ())))))), 10); |
5742 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
5743 | ctk_widget_show (button); |
5744 | |
5745 | ctk_dialog_add_button (CTK_DIALOG (dialog_window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((dialog_window)), ((ctk_dialog_get_type ())))))), "Close", CTK_RESPONSE_CLOSE); |
5746 | g_signal_connect (dialog_window, "response", G_CALLBACK (ctk_widget_destroy), NULL)g_signal_connect_data ((dialog_window), ("response"), (((GCallback ) (ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5747 | } |
5748 | |
5749 | if (!ctk_widget_get_visible (dialog_window)) |
5750 | ctk_widget_show (dialog_window); |
5751 | else |
5752 | ctk_widget_destroy (dialog_window); |
5753 | } |
5754 | |
5755 | /* |
5756 | * CtkRange |
5757 | */ |
5758 | |
5759 | static gchar* |
5760 | reformat_value (CtkScale *scale, |
5761 | gdouble value) |
5762 | { |
5763 | return g_strdup_printf ("-->%0.*g<--", |
5764 | ctk_scale_get_digits (scale), value); |
5765 | } |
5766 | |
5767 | static void |
5768 | create_range_controls (CtkWidget *widget) |
5769 | { |
5770 | static CtkWidget *window = NULL((void*)0); |
5771 | |
5772 | if (!window) |
5773 | { |
5774 | CtkWidget *box1; |
5775 | CtkWidget *box2; |
5776 | CtkWidget *button; |
5777 | CtkWidget *scrollbar; |
5778 | CtkWidget *scale; |
5779 | CtkWidget *separator; |
5780 | CtkAdjustment *adjustment; |
5781 | CtkWidget *hbox; |
5782 | |
5783 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
5784 | |
5785 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
5786 | ctk_widget_get_screen (widget)); |
5787 | |
5788 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5789 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
5790 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
5791 | |
5792 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "range controls"); |
5793 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
5794 | |
5795 | |
5796 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
5797 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
5798 | ctk_widget_show (box1); |
5799 | |
5800 | |
5801 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
5802 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
5803 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, TRUE(!(0)), TRUE(!(0)), 0); |
5804 | ctk_widget_show (box2); |
5805 | |
5806 | |
5807 | adjustment = ctk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0); |
5808 | |
5809 | scale = ctk_scale_new (CTK_ORIENTATION_HORIZONTAL, CTK_ADJUSTMENT (adjustment)((((CtkAdjustment*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), ((ctk_adjustment_get_type ()))))))); |
5810 | ctk_widget_set_size_request (CTK_WIDGET (scale)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_widget_get_type ())))))), 150, -1); |
5811 | ctk_scale_set_digits (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), 1); |
5812 | ctk_scale_set_draw_value (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), TRUE(!(0))); |
5813 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), scale, TRUE(!(0)), TRUE(!(0)), 0); |
5814 | ctk_widget_show (scale); |
5815 | |
5816 | scrollbar = ctk_scrollbar_new (CTK_ORIENTATION_HORIZONTAL, CTK_ADJUSTMENT (adjustment)((((CtkAdjustment*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), ((ctk_adjustment_get_type ()))))))); |
5817 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), scrollbar, TRUE(!(0)), TRUE(!(0)), 0); |
5818 | ctk_widget_show (scrollbar); |
5819 | |
5820 | scale = ctk_scale_new (CTK_ORIENTATION_HORIZONTAL, CTK_ADJUSTMENT (adjustment)((((CtkAdjustment*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), ((ctk_adjustment_get_type ()))))))); |
5821 | ctk_scale_set_draw_value (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), TRUE(!(0))); |
5822 | g_signal_connect (scale,g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5823 | "format_value",g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5824 | G_CALLBACK (reformat_value),g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5825 | NULL)g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5826 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), scale, TRUE(!(0)), TRUE(!(0)), 0); |
5827 | ctk_widget_show (scale); |
5828 | |
5829 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
5830 | |
5831 | scale = ctk_scale_new (CTK_ORIENTATION_VERTICAL, CTK_ADJUSTMENT (adjustment)((((CtkAdjustment*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), ((ctk_adjustment_get_type ()))))))); |
5832 | ctk_widget_set_size_request (scale, -1, 200); |
5833 | ctk_scale_set_digits (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), 2); |
5834 | ctk_scale_set_draw_value (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), TRUE(!(0))); |
5835 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), scale, TRUE(!(0)), TRUE(!(0)), 0); |
5836 | ctk_widget_show (scale); |
5837 | |
5838 | scale = ctk_scale_new (CTK_ORIENTATION_VERTICAL, CTK_ADJUSTMENT (adjustment)((((CtkAdjustment*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), ((ctk_adjustment_get_type ()))))))); |
5839 | ctk_widget_set_size_request (scale, -1, 200); |
5840 | ctk_scale_set_digits (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), 2); |
5841 | ctk_scale_set_draw_value (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), TRUE(!(0))); |
5842 | ctk_range_set_inverted (CTK_RANGE (scale)((((CtkRange*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_range_get_type ())))))), TRUE(!(0))); |
5843 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), scale, TRUE(!(0)), TRUE(!(0)), 0); |
5844 | ctk_widget_show (scale); |
5845 | |
5846 | scale = ctk_scale_new (CTK_ORIENTATION_VERTICAL, CTK_ADJUSTMENT (adjustment)((((CtkAdjustment*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((adjustment)), ((ctk_adjustment_get_type ()))))))); |
5847 | ctk_scale_set_draw_value (CTK_SCALE (scale)((((CtkScale*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scale)), ((ctk_scale_get_type ())))))), TRUE(!(0))); |
5848 | g_signal_connect (scale,g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5849 | "format_value",g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5850 | G_CALLBACK (reformat_value),g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
5851 | NULL)g_signal_connect_data ((scale), ("format_value"), (((GCallback ) (reformat_value))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
5852 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), scale, TRUE(!(0)), TRUE(!(0)), 0); |
5853 | ctk_widget_show (scale); |
5854 | |
5855 | |
5856 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), TRUE(!(0)), 0); |
5857 | ctk_widget_show (hbox); |
5858 | |
5859 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
5860 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
5861 | ctk_widget_show (separator); |
5862 | |
5863 | |
5864 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
5865 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
5866 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
5867 | ctk_widget_show (box2); |
5868 | |
5869 | |
5870 | button = ctk_button_new_with_label ("close"); |
5871 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
5872 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
5873 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
5874 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
5875 | ctk_widget_set_can_default (button, TRUE(!(0))); |
5876 | ctk_widget_grab_default (button); |
5877 | ctk_widget_show (button); |
5878 | } |
5879 | |
5880 | if (!ctk_widget_get_visible (window)) |
5881 | ctk_widget_show (window); |
5882 | else |
5883 | ctk_widget_destroy (window); |
5884 | } |
5885 | |
5886 | struct { |
5887 | CdkColor color; |
5888 | gchar *name; |
5889 | } text_colors[] = { |
5890 | { { 0, 0x0000, 0x0000, 0x0000 }, "black" }, |
5891 | { { 0, 0xFFFF, 0xFFFF, 0xFFFF }, "white" }, |
5892 | { { 0, 0xFFFF, 0x0000, 0x0000 }, "red" }, |
5893 | { { 0, 0x0000, 0xFFFF, 0x0000 }, "green" }, |
5894 | { { 0, 0x0000, 0x0000, 0xFFFF }, "blue" }, |
5895 | { { 0, 0x0000, 0xFFFF, 0xFFFF }, "cyan" }, |
5896 | { { 0, 0xFFFF, 0x0000, 0xFFFF }, "magenta" }, |
5897 | { { 0, 0xFFFF, 0xFFFF, 0x0000 }, "yellow" } |
5898 | }; |
5899 | |
5900 | int ntext_colors = sizeof(text_colors) / sizeof(text_colors[0]); |
5901 | |
5902 | /* |
5903 | * CtkNotebook |
5904 | */ |
5905 | |
5906 | static const char * book_open_xpm[] = { |
5907 | "16 16 4 1", |
5908 | " c None s None", |
5909 | ". c black", |
5910 | "X c #808080", |
5911 | "o c white", |
5912 | " ", |
5913 | " .. ", |
5914 | " .Xo. ... ", |
5915 | " .Xoo. ..oo. ", |
5916 | " .Xooo.Xooo... ", |
5917 | " .Xooo.oooo.X. ", |
5918 | " .Xooo.Xooo.X. ", |
5919 | " .Xooo.oooo.X. ", |
5920 | " .Xooo.Xooo.X. ", |
5921 | " .Xooo.oooo.X. ", |
5922 | " .Xoo.Xoo..X. ", |
5923 | " .Xo.o..ooX. ", |
5924 | " .X..XXXXX. ", |
5925 | " ..X....... ", |
5926 | " .. ", |
5927 | " "}; |
5928 | |
5929 | static const char * book_closed_xpm[] = { |
5930 | "16 16 6 1", |
5931 | " c None s None", |
5932 | ". c black", |
5933 | "X c red", |
5934 | "o c yellow", |
5935 | "O c #808080", |
5936 | "# c white", |
5937 | " ", |
5938 | " .. ", |
5939 | " ..XX. ", |
5940 | " ..XXXXX. ", |
5941 | " ..XXXXXXXX. ", |
5942 | ".ooXXXXXXXXX. ", |
5943 | "..ooXXXXXXXXX. ", |
5944 | ".X.ooXXXXXXXXX. ", |
5945 | ".XX.ooXXXXXX.. ", |
5946 | " .XX.ooXXX..#O ", |
5947 | " .XX.oo..##OO. ", |
5948 | " .XX..##OO.. ", |
5949 | " .X.#OO.. ", |
5950 | " ..O.. ", |
5951 | " .. ", |
5952 | " "}; |
5953 | |
5954 | GdkPixbuf *book_open; |
5955 | GdkPixbuf *book_closed; |
5956 | CtkWidget *sample_notebook; |
5957 | |
5958 | static void |
5959 | set_page_image (CtkNotebook *notebook, gint page_num, GdkPixbuf *pixbuf) |
5960 | { |
5961 | CtkWidget *page_widget; |
5962 | CtkWidget *pixwid; |
5963 | |
5964 | page_widget = ctk_notebook_get_nth_page (notebook, page_num); |
5965 | |
5966 | pixwid = g_object_get_data (G_OBJECT (page_widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((page_widget)), (((GType) ((20) << (2)))))))), "tab_pixmap"); |
5967 | ctk_image_set_from_pixbuf (CTK_IMAGE (pixwid)((((CtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pixwid)), ((ctk_image_get_type ())))))), pixbuf); |
5968 | |
5969 | pixwid = g_object_get_data (G_OBJECT (page_widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((page_widget)), (((GType) ((20) << (2)))))))), "menu_pixmap"); |
5970 | ctk_image_set_from_pixbuf (CTK_IMAGE (pixwid)((((CtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pixwid)), ((ctk_image_get_type ())))))), pixbuf); |
5971 | } |
5972 | |
5973 | static void |
5974 | page_switch (CtkWidget *widget, gpointer *page, gint page_num) |
5975 | { |
5976 | CtkNotebook *notebook = CTK_NOTEBOOK (widget)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_notebook_get_type ())))))); |
5977 | gint old_page_num = ctk_notebook_get_current_page (notebook); |
5978 | |
5979 | if (page_num == old_page_num) |
5980 | return; |
5981 | |
5982 | set_page_image (notebook, page_num, book_open); |
5983 | |
5984 | if (old_page_num != -1) |
5985 | set_page_image (notebook, old_page_num, book_closed); |
5986 | } |
5987 | |
5988 | static void |
5989 | tab_fill (CtkToggleButton *button, CtkWidget *child) |
5990 | { |
5991 | ctk_container_child_set (CTK_CONTAINER (sample_notebook)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sample_notebook)), ((ctk_container_get_type ())))))), child, |
5992 | "tab-fill", ctk_toggle_button_get_active (button), |
5993 | NULL((void*)0)); |
5994 | } |
5995 | |
5996 | static void |
5997 | tab_expand (CtkToggleButton *button, CtkWidget *child) |
5998 | { |
5999 | ctk_container_child_set (CTK_CONTAINER (sample_notebook)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sample_notebook)), ((ctk_container_get_type ())))))), child, |
6000 | "tab-expand", ctk_toggle_button_get_active (button), |
6001 | NULL((void*)0)); |
6002 | } |
6003 | |
6004 | static void |
6005 | create_pages (CtkNotebook *notebook, gint start, gint end) |
6006 | { |
6007 | gint i; |
6008 | |
6009 | for (i = start; i <= end; i++) |
6010 | { |
6011 | CtkWidget *child = NULL((void*)0); |
6012 | CtkWidget *button; |
6013 | CtkWidget *label; |
6014 | CtkWidget *hbox; |
6015 | CtkWidget *vbox; |
6016 | CtkWidget *label_box; |
6017 | CtkWidget *menu_box; |
6018 | CtkWidget *pixwid; |
6019 | char buffer[32]; |
6020 | char accel_buffer[32]; |
6021 | |
6022 | sprintf (buffer, "Page %d", i); |
6023 | sprintf (accel_buffer, "Page _%d", i); |
6024 | |
6025 | child = ctk_frame_new (buffer); |
6026 | ctk_container_set_border_width (CTK_CONTAINER (child)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((child)), ((ctk_container_get_type ())))))), 10); |
6027 | |
6028 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
6029 | ctk_box_set_homogeneous (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), TRUE(!(0))); |
6030 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 10); |
6031 | ctk_container_add (CTK_CONTAINER (child)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((child)), ((ctk_container_get_type ())))))), vbox); |
6032 | |
6033 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
6034 | ctk_box_set_homogeneous (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), TRUE(!(0))); |
6035 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), hbox, FALSE(0), TRUE(!(0)), 5); |
6036 | |
6037 | button = ctk_check_button_new_with_label ("Fill Tab"); |
6038 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 5); |
6039 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
6040 | g_signal_connect (button, "toggled",g_signal_connect_data ((button), ("toggled"), (((GCallback) ( tab_fill))), (child), ((void*)0), (GConnectFlags) 0) |
6041 | G_CALLBACK (tab_fill), child)g_signal_connect_data ((button), ("toggled"), (((GCallback) ( tab_fill))), (child), ((void*)0), (GConnectFlags) 0); |
6042 | |
6043 | button = ctk_check_button_new_with_label ("Expand Tab"); |
6044 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 5); |
6045 | g_signal_connect (button, "toggled",g_signal_connect_data ((button), ("toggled"), (((GCallback) ( tab_expand))), (child), ((void*)0), (GConnectFlags) 0) |
6046 | G_CALLBACK (tab_expand), child)g_signal_connect_data ((button), ("toggled"), (((GCallback) ( tab_expand))), (child), ((void*)0), (GConnectFlags) 0); |
6047 | |
6048 | button = ctk_button_new_with_label ("Hide Page"); |
6049 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 5); |
6050 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_hide))), (child), ((void*)0), G_CONNECT_SWAPPED) |
6051 | G_CALLBACK (ctk_widget_hide),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_hide))), (child), ((void*)0), G_CONNECT_SWAPPED) |
6052 | child)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_hide))), (child), ((void*)0), G_CONNECT_SWAPPED); |
6053 | |
6054 | ctk_widget_show_all (child); |
6055 | |
6056 | label_box = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
6057 | pixwid = ctk_image_new_from_pixbuf (book_closed); |
6058 | g_object_set_data (G_OBJECT (child)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((child)), (((GType) ((20) << (2)))))))), "tab_pixmap", pixwid); |
6059 | |
6060 | ctk_box_pack_start (CTK_BOX (label_box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label_box)), ((ctk_box_get_type ())))))), pixwid, FALSE(0), TRUE(!(0)), 0); |
6061 | ctk_widget_set_margin_start (pixwid, 3); |
6062 | ctk_widget_set_margin_end (pixwid, 3); |
6063 | ctk_widget_set_margin_bottom (pixwid, 1); |
6064 | ctk_widget_set_margin_top (pixwid, 1); |
6065 | label = ctk_label_new_with_mnemonic (accel_buffer); |
6066 | ctk_box_pack_start (CTK_BOX (label_box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label_box)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
6067 | ctk_widget_show_all (label_box); |
6068 | |
6069 | |
6070 | menu_box = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
6071 | pixwid = ctk_image_new_from_pixbuf (book_closed); |
6072 | g_object_set_data (G_OBJECT (child)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((child)), (((GType) ((20) << (2)))))))), "menu_pixmap", pixwid); |
6073 | |
6074 | ctk_box_pack_start (CTK_BOX (menu_box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu_box)), ((ctk_box_get_type ())))))), pixwid, FALSE(0), TRUE(!(0)), 0); |
6075 | ctk_widget_set_margin_start (pixwid, 3); |
6076 | ctk_widget_set_margin_end (pixwid, 3); |
6077 | ctk_widget_set_margin_bottom (pixwid, 1); |
6078 | ctk_widget_set_margin_top (pixwid, 1); |
6079 | label = ctk_label_new (buffer); |
6080 | ctk_box_pack_start (CTK_BOX (menu_box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((menu_box)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
6081 | ctk_widget_show_all (menu_box); |
6082 | |
6083 | ctk_notebook_append_page_menu (notebook, child, label_box, menu_box); |
6084 | } |
6085 | } |
6086 | |
6087 | static void |
6088 | rotate_notebook (CtkButton *button, |
6089 | CtkNotebook *notebook) |
6090 | { |
6091 | ctk_notebook_set_tab_pos (notebook, (ctk_notebook_get_tab_pos (notebook) + 1) % 4); |
6092 | } |
6093 | |
6094 | static void |
6095 | show_all_pages (CtkButton *button, |
6096 | CtkNotebook *notebook) |
6097 | { |
6098 | ctk_container_foreach (CTK_CONTAINER (notebook)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((notebook)), ((ctk_container_get_type ())))))), |
6099 | (CtkCallback) ctk_widget_show, NULL((void*)0)); |
6100 | } |
6101 | |
6102 | static void |
6103 | notebook_type_changed (CtkWidget *optionmenu, |
6104 | gpointer data) |
6105 | { |
6106 | CtkNotebook *notebook; |
6107 | gint i, c; |
6108 | |
6109 | enum { |
6110 | STANDARD, |
6111 | NOTABS, |
6112 | BORDERLESS, |
6113 | SCROLLABLE |
6114 | }; |
6115 | |
6116 | notebook = CTK_NOTEBOOK (data)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_notebook_get_type ())))))); |
6117 | |
6118 | c = ctk_combo_box_get_active (CTK_COMBO_BOX (optionmenu)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((optionmenu)), ((ctk_combo_box_get_type ()))))))); |
6119 | |
6120 | switch (c) |
6121 | { |
6122 | case STANDARD: |
6123 | /* standard notebook */ |
6124 | ctk_notebook_set_show_tabs (notebook, TRUE(!(0))); |
6125 | ctk_notebook_set_show_border (notebook, TRUE(!(0))); |
6126 | ctk_notebook_set_scrollable (notebook, FALSE(0)); |
6127 | break; |
6128 | |
6129 | case NOTABS: |
6130 | /* notabs notebook */ |
6131 | ctk_notebook_set_show_tabs (notebook, FALSE(0)); |
6132 | ctk_notebook_set_show_border (notebook, TRUE(!(0))); |
6133 | break; |
6134 | |
6135 | case BORDERLESS: |
6136 | /* borderless */ |
6137 | ctk_notebook_set_show_tabs (notebook, FALSE(0)); |
6138 | ctk_notebook_set_show_border (notebook, FALSE(0)); |
6139 | break; |
6140 | |
6141 | case SCROLLABLE: |
6142 | /* scrollable */ |
6143 | ctk_notebook_set_show_tabs (notebook, TRUE(!(0))); |
6144 | ctk_notebook_set_show_border (notebook, TRUE(!(0))); |
6145 | ctk_notebook_set_scrollable (notebook, TRUE(!(0))); |
6146 | if (ctk_notebook_get_n_pages (notebook) == 5) |
6147 | create_pages (notebook, 6, 15); |
6148 | |
6149 | return; |
6150 | break; |
6151 | } |
6152 | |
6153 | if (ctk_notebook_get_n_pages (notebook) == 15) |
6154 | for (i = 0; i < 10; i++) |
6155 | ctk_notebook_remove_page (notebook, 5); |
6156 | } |
6157 | |
6158 | static void |
6159 | notebook_popup (CtkToggleButton *button, |
6160 | CtkNotebook *notebook) |
6161 | { |
6162 | if (ctk_toggle_button_get_active (button)) |
6163 | ctk_notebook_popup_enable (notebook); |
6164 | else |
6165 | ctk_notebook_popup_disable (notebook); |
6166 | } |
6167 | |
6168 | static void |
6169 | create_notebook (CtkWidget *widget) |
6170 | { |
6171 | static CtkWidget *window = NULL((void*)0); |
6172 | |
6173 | if (!window) |
6174 | { |
6175 | CtkWidget *box1; |
6176 | CtkWidget *box2; |
6177 | CtkWidget *button; |
6178 | CtkWidget *separator; |
6179 | CtkWidget *omenu; |
6180 | CtkWidget *label; |
6181 | |
6182 | static gchar *items[] = |
6183 | { |
6184 | "Standard", |
6185 | "No tabs", |
6186 | "Borderless", |
6187 | "Scrollable" |
6188 | }; |
6189 | |
6190 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
6191 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
6192 | ctk_widget_get_screen (widget)); |
6193 | |
6194 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
6195 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
6196 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
6197 | |
6198 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "notebook"); |
6199 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
6200 | |
6201 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
6202 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
6203 | |
6204 | sample_notebook = ctk_notebook_new (); |
6205 | g_signal_connect (sample_notebook, "switch_page",g_signal_connect_data ((sample_notebook), ("switch_page"), (( (GCallback) (page_switch))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
6206 | G_CALLBACK (page_switch), NULL)g_signal_connect_data ((sample_notebook), ("switch_page"), (( (GCallback) (page_switch))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
6207 | ctk_notebook_set_tab_pos (CTK_NOTEBOOK (sample_notebook)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sample_notebook)), ((ctk_notebook_get_type ())))))), CTK_POS_TOP); |
6208 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), sample_notebook, TRUE(!(0)), TRUE(!(0)), 0); |
6209 | ctk_container_set_border_width (CTK_CONTAINER (sample_notebook)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sample_notebook)), ((ctk_container_get_type ())))))), 10); |
6210 | |
6211 | ctk_widget_realize (sample_notebook); |
6212 | |
6213 | if (!book_open) |
6214 | book_open = gdk_pixbuf_new_from_xpm_data (book_open_xpm); |
6215 | |
6216 | if (!book_closed) |
6217 | book_closed = gdk_pixbuf_new_from_xpm_data (book_closed_xpm); |
6218 | |
6219 | create_pages (CTK_NOTEBOOK (sample_notebook)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((sample_notebook)), ((ctk_notebook_get_type ())))))), 1, 5); |
6220 | |
6221 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
6222 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 10); |
6223 | |
6224 | box2 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
6225 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
6226 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
6227 | |
6228 | button = ctk_check_button_new_with_label ("popup menu"); |
6229 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), FALSE(0), 0); |
6230 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( notebook_popup))), (sample_notebook), ((void*)0), (GConnectFlags ) 0) |
6231 | G_CALLBACK (notebook_popup),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( notebook_popup))), (sample_notebook), ((void*)0), (GConnectFlags ) 0) |
6232 | sample_notebook)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( notebook_popup))), (sample_notebook), ((void*)0), (GConnectFlags ) 0); |
6233 | |
6234 | box2 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
6235 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
6236 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
6237 | |
6238 | label = ctk_label_new ("Notebook Style :"); |
6239 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
6240 | |
6241 | omenu = build_option_menu (items, G_N_ELEMENTS (items)(sizeof (items) / sizeof ((items)[0])), 0, |
6242 | notebook_type_changed, |
6243 | sample_notebook); |
6244 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), omenu, FALSE(0), TRUE(!(0)), 0); |
6245 | |
6246 | button = ctk_button_new_with_label ("Show all Pages"); |
6247 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, FALSE(0), TRUE(!(0)), 0); |
6248 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( show_all_pages))), (sample_notebook), ((void*)0), (GConnectFlags ) 0) |
6249 | G_CALLBACK (show_all_pages), sample_notebook)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( show_all_pages))), (sample_notebook), ((void*)0), (GConnectFlags ) 0); |
6250 | |
6251 | box2 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 10); |
6252 | ctk_box_set_homogeneous (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), TRUE(!(0))); |
6253 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
6254 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
6255 | |
6256 | button = ctk_button_new_with_label ("prev"); |
6257 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_notebook_prev_page))), (sample_notebook), ((void*)0), G_CONNECT_SWAPPED ) |
6258 | G_CALLBACK (ctk_notebook_prev_page),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_notebook_prev_page))), (sample_notebook), ((void*)0), G_CONNECT_SWAPPED ) |
6259 | sample_notebook)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_notebook_prev_page))), (sample_notebook), ((void*)0), G_CONNECT_SWAPPED ); |
6260 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
6261 | |
6262 | button = ctk_button_new_with_label ("next"); |
6263 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_notebook_next_page))), (sample_notebook), ((void*)0), G_CONNECT_SWAPPED ) |
6264 | G_CALLBACK (ctk_notebook_next_page),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_notebook_next_page))), (sample_notebook), ((void*)0), G_CONNECT_SWAPPED ) |
6265 | sample_notebook)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_notebook_next_page))), (sample_notebook), ((void*)0), G_CONNECT_SWAPPED ); |
6266 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
6267 | |
6268 | button = ctk_button_new_with_label ("rotate"); |
6269 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( rotate_notebook))), (sample_notebook), ((void*)0), (GConnectFlags ) 0) |
6270 | G_CALLBACK (rotate_notebook), sample_notebook)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( rotate_notebook))), (sample_notebook), ((void*)0), (GConnectFlags ) 0); |
6271 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
6272 | |
6273 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
6274 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 5); |
6275 | |
6276 | button = ctk_button_new_with_label ("close"); |
6277 | ctk_container_set_border_width (CTK_CONTAINER (button)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_container_get_type ())))))), 5); |
6278 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
6279 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
6280 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
6281 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
6282 | ctk_widget_set_can_default (button, TRUE(!(0))); |
6283 | ctk_widget_grab_default (button); |
6284 | } |
6285 | |
6286 | if (!ctk_widget_get_visible (window)) |
6287 | ctk_widget_show_all (window); |
6288 | else |
6289 | ctk_widget_destroy (window); |
6290 | } |
6291 | |
6292 | /* |
6293 | * CtkPanes |
6294 | */ |
6295 | |
6296 | void |
6297 | toggle_resize (CtkWidget *widget, CtkWidget *child) |
6298 | { |
6299 | CtkContainer *container = CTK_CONTAINER (ctk_widget_get_parent (child))((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_parent (child))), ((ctk_container_get_type ())))))); |
6300 | GValue value = G_VALUE_INIT{ 0, { { 0 } } }; |
6301 | g_value_init (&value, G_TYPE_BOOLEAN((GType) ((5) << (2)))); |
6302 | ctk_container_child_get_property (container, child, "resize", &value); |
6303 | g_value_set_boolean (&value, !g_value_get_boolean (&value)); |
6304 | ctk_container_child_set_property (container, child, "resize", &value); |
6305 | } |
6306 | |
6307 | void |
6308 | toggle_shrink (CtkWidget *widget, CtkWidget *child) |
6309 | { |
6310 | CtkContainer *container = CTK_CONTAINER (ctk_widget_get_parent (child))((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((ctk_widget_get_parent (child))), ((ctk_container_get_type ())))))); |
6311 | GValue value = G_VALUE_INIT{ 0, { { 0 } } }; |
6312 | g_value_init (&value, G_TYPE_BOOLEAN((GType) ((5) << (2)))); |
6313 | ctk_container_child_get_property (container, child, "shrink", &value); |
6314 | g_value_set_boolean (&value, !g_value_get_boolean (&value)); |
6315 | ctk_container_child_set_property (container, child, "shrink", &value); |
6316 | } |
6317 | |
6318 | CtkWidget * |
6319 | create_pane_options (CtkPaned *paned, |
6320 | const gchar *frame_label, |
6321 | const gchar *label1, |
6322 | const gchar *label2) |
6323 | { |
6324 | CtkWidget *child1, *child2; |
6325 | CtkWidget *frame; |
6326 | CtkWidget *grid; |
6327 | CtkWidget *label; |
6328 | CtkWidget *check_button; |
6329 | |
6330 | child1 = ctk_paned_get_child1 (paned); |
6331 | child2 = ctk_paned_get_child2 (paned); |
6332 | |
6333 | frame = ctk_frame_new (frame_label); |
6334 | ctk_container_set_border_width (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), 4); |
6335 | |
6336 | grid = ctk_grid_new (); |
6337 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), grid); |
6338 | |
6339 | label = ctk_label_new (label1); |
6340 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), label, 0, 0, 1, 1); |
6341 | |
6342 | check_button = ctk_check_button_new_with_label ("Resize"); |
6343 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check_button, 0, 1, 1, 1); |
6344 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_resize))), (child1), ((void*)0), (GConnectFlags) 0) |
6345 | G_CALLBACK (toggle_resize),g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_resize))), (child1), ((void*)0), (GConnectFlags) 0) |
6346 | child1)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_resize))), (child1), ((void*)0), (GConnectFlags) 0); |
6347 | |
6348 | check_button = ctk_check_button_new_with_label ("Shrink"); |
6349 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check_button, 0, 2, 1, 1); |
6350 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (check_button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((check_button)), ((ctk_toggle_button_get_type ())))))), |
6351 | TRUE(!(0))); |
6352 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_shrink))), (child1), ((void*)0), (GConnectFlags) 0) |
6353 | G_CALLBACK (toggle_shrink),g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_shrink))), (child1), ((void*)0), (GConnectFlags) 0) |
6354 | child1)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_shrink))), (child1), ((void*)0), (GConnectFlags) 0); |
6355 | |
6356 | label = ctk_label_new (label2); |
6357 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), label, 1, 0, 1, 1); |
6358 | |
6359 | check_button = ctk_check_button_new_with_label ("Resize"); |
6360 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check_button, 1, 1, 1, 1); |
6361 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (check_button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((check_button)), ((ctk_toggle_button_get_type ())))))), |
6362 | TRUE(!(0))); |
6363 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_resize))), (child2), ((void*)0), (GConnectFlags) 0) |
6364 | G_CALLBACK (toggle_resize),g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_resize))), (child2), ((void*)0), (GConnectFlags) 0) |
6365 | child2)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_resize))), (child2), ((void*)0), (GConnectFlags) 0); |
6366 | |
6367 | check_button = ctk_check_button_new_with_label ("Shrink"); |
6368 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check_button, 1, 2, 1, 1); |
6369 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (check_button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((check_button)), ((ctk_toggle_button_get_type ())))))), |
6370 | TRUE(!(0))); |
6371 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_shrink))), (child2), ((void*)0), (GConnectFlags) 0) |
6372 | G_CALLBACK (toggle_shrink),g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_shrink))), (child2), ((void*)0), (GConnectFlags) 0) |
6373 | child2)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (toggle_shrink))), (child2), ((void*)0), (GConnectFlags) 0); |
6374 | |
6375 | return frame; |
6376 | } |
6377 | |
6378 | void |
6379 | create_panes (CtkWidget *widget) |
6380 | { |
6381 | static CtkWidget *window = NULL((void*)0); |
6382 | |
6383 | if (!window) |
6384 | { |
6385 | CtkWidget *frame; |
6386 | CtkWidget *hpaned; |
6387 | CtkWidget *vpaned; |
6388 | CtkWidget *button; |
6389 | CtkWidget *vbox; |
6390 | |
6391 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
6392 | |
6393 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
6394 | ctk_widget_get_screen (widget)); |
6395 | |
6396 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
6397 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
6398 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
6399 | |
6400 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Panes"); |
6401 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
6402 | |
6403 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
6404 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), vbox); |
6405 | |
6406 | vpaned = ctk_paned_new (CTK_ORIENTATION_VERTICAL); |
6407 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), vpaned, TRUE(!(0)), TRUE(!(0)), 0); |
6408 | ctk_container_set_border_width (CTK_CONTAINER(vpaned)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned)), ((ctk_container_get_type ())))))), 5); |
6409 | |
6410 | hpaned = ctk_paned_new (CTK_ORIENTATION_HORIZONTAL); |
6411 | ctk_paned_add1 (CTK_PANED (vpaned)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned)), ((ctk_paned_get_type ())))))), hpaned); |
6412 | |
6413 | frame = ctk_frame_new (NULL((void*)0)); |
6414 | ctk_frame_set_shadow_type (CTK_FRAME(frame)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6415 | ctk_widget_set_size_request (frame, 60, 60); |
6416 | ctk_paned_add1 (CTK_PANED (hpaned)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned)), ((ctk_paned_get_type ())))))), frame); |
6417 | |
6418 | button = ctk_button_new_with_label ("Hi there"); |
6419 | ctk_container_add (CTK_CONTAINER(frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), button); |
6420 | |
6421 | frame = ctk_frame_new (NULL((void*)0)); |
6422 | ctk_frame_set_shadow_type (CTK_FRAME(frame)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6423 | ctk_widget_set_size_request (frame, 80, 60); |
6424 | ctk_paned_add2 (CTK_PANED (hpaned)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned)), ((ctk_paned_get_type ())))))), frame); |
6425 | |
6426 | frame = ctk_frame_new (NULL((void*)0)); |
6427 | ctk_frame_set_shadow_type (CTK_FRAME(frame)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6428 | ctk_widget_set_size_request (frame, 60, 80); |
6429 | ctk_paned_add2 (CTK_PANED (vpaned)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned)), ((ctk_paned_get_type ())))))), frame); |
6430 | |
6431 | /* Now create toggle buttons to control sizing */ |
6432 | |
6433 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), |
6434 | create_pane_options (CTK_PANED (hpaned)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned)), ((ctk_paned_get_type ())))))), |
6435 | "Horizontal", |
6436 | "Left", |
6437 | "Right"), |
6438 | FALSE(0), FALSE(0), 0); |
6439 | |
6440 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), |
6441 | create_pane_options (CTK_PANED (vpaned)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned)), ((ctk_paned_get_type ())))))), |
6442 | "Vertical", |
6443 | "Top", |
6444 | "Bottom"), |
6445 | FALSE(0), FALSE(0), 0); |
6446 | |
6447 | ctk_widget_show_all (vbox); |
6448 | } |
6449 | |
6450 | if (!ctk_widget_get_visible (window)) |
6451 | ctk_widget_show (window); |
6452 | else |
6453 | ctk_widget_destroy (window); |
6454 | } |
6455 | |
6456 | /* |
6457 | * Paned keyboard navigation |
6458 | */ |
6459 | |
6460 | static CtkWidget* |
6461 | paned_keyboard_window1 (CtkWidget *widget) |
6462 | { |
6463 | CtkWidget *window1; |
6464 | CtkWidget *hpaned1; |
6465 | CtkWidget *frame1; |
6466 | CtkWidget *vbox1; |
6467 | CtkWidget *button7; |
6468 | CtkWidget *button8; |
6469 | CtkWidget *button9; |
6470 | CtkWidget *vpaned1; |
6471 | CtkWidget *frame2; |
6472 | CtkWidget *frame5; |
6473 | CtkWidget *hbox1; |
6474 | CtkWidget *button5; |
6475 | CtkWidget *button6; |
6476 | CtkWidget *frame3; |
6477 | CtkWidget *frame4; |
6478 | CtkWidget *grid1; |
6479 | CtkWidget *button1; |
6480 | CtkWidget *button2; |
6481 | CtkWidget *button3; |
6482 | CtkWidget *button4; |
6483 | |
6484 | window1 = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
6485 | ctk_window_set_title (CTK_WINDOW (window1)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window1)), ((ctk_window_get_type ())))))), "Basic paned navigation"); |
6486 | ctk_window_set_screen (CTK_WINDOW (window1)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window1)), ((ctk_window_get_type ())))))), |
6487 | ctk_widget_get_screen (widget)); |
6488 | |
6489 | hpaned1 = ctk_paned_new (CTK_ORIENTATION_HORIZONTAL); |
6490 | ctk_container_add (CTK_CONTAINER (window1)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window1)), ((ctk_container_get_type ())))))), hpaned1); |
6491 | |
6492 | frame1 = ctk_frame_new (NULL((void*)0)); |
6493 | ctk_paned_pack1 (CTK_PANED (hpaned1)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned1)), ((ctk_paned_get_type ())))))), frame1, FALSE(0), TRUE(!(0))); |
6494 | ctk_frame_set_shadow_type (CTK_FRAME (frame1)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame1)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6495 | |
6496 | vbox1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
6497 | ctk_container_add (CTK_CONTAINER (frame1)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame1)), ((ctk_container_get_type ())))))), vbox1); |
6498 | |
6499 | button7 = ctk_button_new_with_label ("button7"); |
6500 | ctk_box_pack_start (CTK_BOX (vbox1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox1)), ((ctk_box_get_type ())))))), button7, FALSE(0), FALSE(0), 0); |
6501 | |
6502 | button8 = ctk_button_new_with_label ("button8"); |
6503 | ctk_box_pack_start (CTK_BOX (vbox1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox1)), ((ctk_box_get_type ())))))), button8, FALSE(0), FALSE(0), 0); |
6504 | |
6505 | button9 = ctk_button_new_with_label ("button9"); |
6506 | ctk_box_pack_start (CTK_BOX (vbox1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox1)), ((ctk_box_get_type ())))))), button9, FALSE(0), FALSE(0), 0); |
6507 | |
6508 | vpaned1 = ctk_paned_new (CTK_ORIENTATION_VERTICAL); |
6509 | ctk_paned_pack2 (CTK_PANED (hpaned1)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned1)), ((ctk_paned_get_type ())))))), vpaned1, TRUE(!(0)), TRUE(!(0))); |
6510 | |
6511 | frame2 = ctk_frame_new (NULL((void*)0)); |
6512 | ctk_paned_pack1 (CTK_PANED (vpaned1)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned1)), ((ctk_paned_get_type ())))))), frame2, FALSE(0), TRUE(!(0))); |
6513 | ctk_frame_set_shadow_type (CTK_FRAME (frame2)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame2)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6514 | |
6515 | frame5 = ctk_frame_new (NULL((void*)0)); |
6516 | ctk_container_add (CTK_CONTAINER (frame2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame2)), ((ctk_container_get_type ())))))), frame5); |
6517 | |
6518 | hbox1 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
6519 | ctk_container_add (CTK_CONTAINER (frame5)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame5)), ((ctk_container_get_type ())))))), hbox1); |
6520 | |
6521 | button5 = ctk_button_new_with_label ("button5"); |
6522 | ctk_box_pack_start (CTK_BOX (hbox1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox1)), ((ctk_box_get_type ())))))), button5, FALSE(0), FALSE(0), 0); |
6523 | |
6524 | button6 = ctk_button_new_with_label ("button6"); |
6525 | ctk_box_pack_start (CTK_BOX (hbox1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox1)), ((ctk_box_get_type ())))))), button6, FALSE(0), FALSE(0), 0); |
6526 | |
6527 | frame3 = ctk_frame_new (NULL((void*)0)); |
6528 | ctk_paned_pack2 (CTK_PANED (vpaned1)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned1)), ((ctk_paned_get_type ())))))), frame3, TRUE(!(0)), TRUE(!(0))); |
6529 | ctk_frame_set_shadow_type (CTK_FRAME (frame3)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame3)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6530 | |
6531 | frame4 = ctk_frame_new ("Buttons"); |
6532 | ctk_container_add (CTK_CONTAINER (frame3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame3)), ((ctk_container_get_type ())))))), frame4); |
6533 | ctk_container_set_border_width (CTK_CONTAINER (frame4)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame4)), ((ctk_container_get_type ())))))), 15); |
6534 | |
6535 | grid1 = ctk_grid_new (); |
6536 | ctk_container_add (CTK_CONTAINER (frame4)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame4)), ((ctk_container_get_type ())))))), grid1); |
6537 | ctk_container_set_border_width (CTK_CONTAINER (grid1)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid1)), ((ctk_container_get_type ())))))), 11); |
6538 | |
6539 | button1 = ctk_button_new_with_label ("button1"); |
6540 | ctk_grid_attach (CTK_GRID (grid1)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid1)), ((ctk_grid_get_type ())))))), button1, 0, 0, 1, 1); |
6541 | |
6542 | button2 = ctk_button_new_with_label ("button2"); |
6543 | ctk_grid_attach (CTK_GRID (grid1)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid1)), ((ctk_grid_get_type ())))))), button2, 1, 0, 1, 1); |
6544 | |
6545 | button3 = ctk_button_new_with_label ("button3"); |
6546 | ctk_grid_attach (CTK_GRID (grid1)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid1)), ((ctk_grid_get_type ())))))), button3, 0, 1, 1, 1); |
6547 | |
6548 | button4 = ctk_button_new_with_label ("button4"); |
6549 | ctk_grid_attach (CTK_GRID (grid1)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid1)), ((ctk_grid_get_type ())))))), button4, 1, 1, 1, 1); |
6550 | |
6551 | return window1; |
6552 | } |
6553 | |
6554 | static CtkWidget* |
6555 | paned_keyboard_window2 (CtkWidget *widget) |
6556 | { |
6557 | CtkWidget *window2; |
6558 | CtkWidget *hpaned2; |
6559 | CtkWidget *frame6; |
6560 | CtkWidget *button13; |
6561 | CtkWidget *hbox2; |
6562 | CtkWidget *vpaned2; |
6563 | CtkWidget *frame7; |
6564 | CtkWidget *button12; |
6565 | CtkWidget *frame8; |
6566 | CtkWidget *button11; |
6567 | CtkWidget *button10; |
6568 | |
6569 | window2 = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
6570 | ctk_window_set_title (CTK_WINDOW (window2)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window2)), ((ctk_window_get_type ())))))), "\"button 10\" is not inside the horisontal pane"); |
6571 | |
6572 | ctk_window_set_screen (CTK_WINDOW (window2)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window2)), ((ctk_window_get_type ())))))), |
6573 | ctk_widget_get_screen (widget)); |
6574 | |
6575 | hpaned2 = ctk_paned_new (CTK_ORIENTATION_HORIZONTAL); |
6576 | ctk_container_add (CTK_CONTAINER (window2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window2)), ((ctk_container_get_type ())))))), hpaned2); |
6577 | |
6578 | frame6 = ctk_frame_new (NULL((void*)0)); |
6579 | ctk_paned_pack1 (CTK_PANED (hpaned2)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned2)), ((ctk_paned_get_type ())))))), frame6, FALSE(0), TRUE(!(0))); |
6580 | ctk_frame_set_shadow_type (CTK_FRAME (frame6)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame6)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6581 | |
6582 | button13 = ctk_button_new_with_label ("button13"); |
6583 | ctk_container_add (CTK_CONTAINER (frame6)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame6)), ((ctk_container_get_type ())))))), button13); |
6584 | |
6585 | hbox2 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
6586 | ctk_paned_pack2 (CTK_PANED (hpaned2)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned2)), ((ctk_paned_get_type ())))))), hbox2, TRUE(!(0)), TRUE(!(0))); |
6587 | |
6588 | vpaned2 = ctk_paned_new (CTK_ORIENTATION_VERTICAL); |
6589 | ctk_box_pack_start (CTK_BOX (hbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox2)), ((ctk_box_get_type ())))))), vpaned2, TRUE(!(0)), TRUE(!(0)), 0); |
6590 | |
6591 | frame7 = ctk_frame_new (NULL((void*)0)); |
6592 | ctk_paned_pack1 (CTK_PANED (vpaned2)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned2)), ((ctk_paned_get_type ())))))), frame7, FALSE(0), TRUE(!(0))); |
6593 | ctk_frame_set_shadow_type (CTK_FRAME (frame7)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame7)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6594 | |
6595 | button12 = ctk_button_new_with_label ("button12"); |
6596 | ctk_container_add (CTK_CONTAINER (frame7)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame7)), ((ctk_container_get_type ())))))), button12); |
6597 | |
6598 | frame8 = ctk_frame_new (NULL((void*)0)); |
6599 | ctk_paned_pack2 (CTK_PANED (vpaned2)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned2)), ((ctk_paned_get_type ())))))), frame8, TRUE(!(0)), TRUE(!(0))); |
6600 | ctk_frame_set_shadow_type (CTK_FRAME (frame8)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame8)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6601 | |
6602 | button11 = ctk_button_new_with_label ("button11"); |
6603 | ctk_container_add (CTK_CONTAINER (frame8)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame8)), ((ctk_container_get_type ())))))), button11); |
6604 | |
6605 | button10 = ctk_button_new_with_label ("button10"); |
6606 | ctk_box_pack_start (CTK_BOX (hbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox2)), ((ctk_box_get_type ())))))), button10, FALSE(0), FALSE(0), 0); |
6607 | |
6608 | return window2; |
6609 | } |
6610 | |
6611 | static CtkWidget* |
6612 | paned_keyboard_window3 (CtkWidget *widget) |
6613 | { |
6614 | CtkWidget *window3; |
6615 | CtkWidget *vbox2; |
6616 | CtkWidget *label1; |
6617 | CtkWidget *hpaned3; |
6618 | CtkWidget *frame9; |
6619 | CtkWidget *button14; |
6620 | CtkWidget *hpaned4; |
6621 | CtkWidget *frame10; |
6622 | CtkWidget *button15; |
6623 | CtkWidget *hpaned5; |
6624 | CtkWidget *frame11; |
6625 | CtkWidget *button16; |
6626 | CtkWidget *frame12; |
6627 | CtkWidget *button17; |
6628 | |
6629 | window3 = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
6630 | g_object_set_data (G_OBJECT (window3)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window3)), (((GType) ((20) << (2)))))))), "window3", window3); |
6631 | ctk_window_set_title (CTK_WINDOW (window3)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window3)), ((ctk_window_get_type ())))))), "Nested panes"); |
6632 | |
6633 | ctk_window_set_screen (CTK_WINDOW (window3)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window3)), ((ctk_window_get_type ())))))), |
6634 | ctk_widget_get_screen (widget)); |
6635 | |
6636 | |
6637 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
6638 | ctk_container_add (CTK_CONTAINER (window3)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window3)), ((ctk_container_get_type ())))))), vbox2); |
6639 | |
6640 | label1 = ctk_label_new ("Three panes nested inside each other"); |
6641 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), label1, FALSE(0), FALSE(0), 0); |
6642 | |
6643 | hpaned3 = ctk_paned_new (CTK_ORIENTATION_HORIZONTAL); |
6644 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), hpaned3, TRUE(!(0)), TRUE(!(0)), 0); |
6645 | |
6646 | frame9 = ctk_frame_new (NULL((void*)0)); |
6647 | ctk_paned_pack1 (CTK_PANED (hpaned3)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned3)), ((ctk_paned_get_type ())))))), frame9, FALSE(0), TRUE(!(0))); |
6648 | ctk_frame_set_shadow_type (CTK_FRAME (frame9)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame9)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6649 | |
6650 | button14 = ctk_button_new_with_label ("button14"); |
6651 | ctk_container_add (CTK_CONTAINER (frame9)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame9)), ((ctk_container_get_type ())))))), button14); |
6652 | |
6653 | hpaned4 = ctk_paned_new (CTK_ORIENTATION_HORIZONTAL); |
6654 | ctk_paned_pack2 (CTK_PANED (hpaned3)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned3)), ((ctk_paned_get_type ())))))), hpaned4, TRUE(!(0)), TRUE(!(0))); |
6655 | |
6656 | frame10 = ctk_frame_new (NULL((void*)0)); |
6657 | ctk_paned_pack1 (CTK_PANED (hpaned4)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned4)), ((ctk_paned_get_type ())))))), frame10, FALSE(0), TRUE(!(0))); |
6658 | ctk_frame_set_shadow_type (CTK_FRAME (frame10)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame10)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6659 | |
6660 | button15 = ctk_button_new_with_label ("button15"); |
6661 | ctk_container_add (CTK_CONTAINER (frame10)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame10)), ((ctk_container_get_type ())))))), button15); |
6662 | |
6663 | hpaned5 = ctk_paned_new (CTK_ORIENTATION_HORIZONTAL); |
6664 | ctk_paned_pack2 (CTK_PANED (hpaned4)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned4)), ((ctk_paned_get_type ())))))), hpaned5, TRUE(!(0)), TRUE(!(0))); |
6665 | |
6666 | frame11 = ctk_frame_new (NULL((void*)0)); |
6667 | ctk_paned_pack1 (CTK_PANED (hpaned5)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned5)), ((ctk_paned_get_type ())))))), frame11, FALSE(0), TRUE(!(0))); |
6668 | ctk_frame_set_shadow_type (CTK_FRAME (frame11)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame11)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6669 | |
6670 | button16 = ctk_button_new_with_label ("button16"); |
6671 | ctk_container_add (CTK_CONTAINER (frame11)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame11)), ((ctk_container_get_type ())))))), button16); |
6672 | |
6673 | frame12 = ctk_frame_new (NULL((void*)0)); |
6674 | ctk_paned_pack2 (CTK_PANED (hpaned5)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned5)), ((ctk_paned_get_type ())))))), frame12, TRUE(!(0)), TRUE(!(0))); |
6675 | ctk_frame_set_shadow_type (CTK_FRAME (frame12)((((CtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame12)), ((ctk_frame_get_type ())))))), CTK_SHADOW_IN); |
6676 | |
6677 | button17 = ctk_button_new_with_label ("button17"); |
6678 | ctk_container_add (CTK_CONTAINER (frame12)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame12)), ((ctk_container_get_type ())))))), button17); |
6679 | |
6680 | return window3; |
6681 | } |
6682 | |
6683 | static CtkWidget* |
6684 | paned_keyboard_window4 (CtkWidget *widget) |
6685 | { |
6686 | CtkWidget *window4; |
6687 | CtkWidget *vbox3; |
6688 | CtkWidget *label2; |
6689 | CtkWidget *hpaned6; |
6690 | CtkWidget *vpaned3; |
6691 | CtkWidget *button19; |
6692 | CtkWidget *button18; |
6693 | CtkWidget *hbox3; |
6694 | CtkWidget *vpaned4; |
6695 | CtkWidget *button21; |
6696 | CtkWidget *button20; |
6697 | CtkWidget *vpaned5; |
6698 | CtkWidget *button23; |
6699 | CtkWidget *button22; |
6700 | CtkWidget *vpaned6; |
6701 | CtkWidget *button25; |
6702 | CtkWidget *button24; |
6703 | |
6704 | window4 = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
6705 | g_object_set_data (G_OBJECT (window4)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window4)), (((GType) ((20) << (2)))))))), "window4", window4); |
6706 | ctk_window_set_title (CTK_WINDOW (window4)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window4)), ((ctk_window_get_type ())))))), "window4"); |
6707 | |
6708 | ctk_window_set_screen (CTK_WINDOW (window4)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window4)), ((ctk_window_get_type ())))))), |
6709 | ctk_widget_get_screen (widget)); |
6710 | |
6711 | vbox3 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
6712 | ctk_container_add (CTK_CONTAINER (window4)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window4)), ((ctk_container_get_type ())))))), vbox3); |
6713 | |
6714 | label2 = ctk_label_new ("Widget tree:\n\nhpaned \n - vpaned\n - hbox\n - vpaned\n - vpaned\n - vpaned\n"); |
6715 | ctk_box_pack_start (CTK_BOX (vbox3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox3)), ((ctk_box_get_type ())))))), label2, FALSE(0), FALSE(0), 0); |
6716 | ctk_label_set_justify (CTK_LABEL (label2)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label2)), ((ctk_label_get_type ())))))), CTK_JUSTIFY_LEFT); |
6717 | |
6718 | hpaned6 = ctk_paned_new (CTK_ORIENTATION_HORIZONTAL); |
6719 | ctk_box_pack_start (CTK_BOX (vbox3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox3)), ((ctk_box_get_type ())))))), hpaned6, TRUE(!(0)), TRUE(!(0)), 0); |
6720 | |
6721 | vpaned3 = ctk_paned_new (CTK_ORIENTATION_VERTICAL); |
6722 | ctk_paned_pack1 (CTK_PANED (hpaned6)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned6)), ((ctk_paned_get_type ())))))), vpaned3, FALSE(0), TRUE(!(0))); |
6723 | |
6724 | button19 = ctk_button_new_with_label ("button19"); |
6725 | ctk_paned_pack1 (CTK_PANED (vpaned3)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned3)), ((ctk_paned_get_type ())))))), button19, FALSE(0), TRUE(!(0))); |
6726 | |
6727 | button18 = ctk_button_new_with_label ("button18"); |
6728 | ctk_paned_pack2 (CTK_PANED (vpaned3)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned3)), ((ctk_paned_get_type ())))))), button18, TRUE(!(0)), TRUE(!(0))); |
6729 | |
6730 | hbox3 = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
6731 | ctk_paned_pack2 (CTK_PANED (hpaned6)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hpaned6)), ((ctk_paned_get_type ())))))), hbox3, TRUE(!(0)), TRUE(!(0))); |
6732 | |
6733 | vpaned4 = ctk_paned_new (CTK_ORIENTATION_VERTICAL); |
6734 | ctk_box_pack_start (CTK_BOX (hbox3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox3)), ((ctk_box_get_type ())))))), vpaned4, TRUE(!(0)), TRUE(!(0)), 0); |
6735 | |
6736 | button21 = ctk_button_new_with_label ("button21"); |
6737 | ctk_paned_pack1 (CTK_PANED (vpaned4)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned4)), ((ctk_paned_get_type ())))))), button21, FALSE(0), TRUE(!(0))); |
6738 | |
6739 | button20 = ctk_button_new_with_label ("button20"); |
6740 | ctk_paned_pack2 (CTK_PANED (vpaned4)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned4)), ((ctk_paned_get_type ())))))), button20, TRUE(!(0)), TRUE(!(0))); |
6741 | |
6742 | vpaned5 = ctk_paned_new (CTK_ORIENTATION_VERTICAL); |
6743 | ctk_box_pack_start (CTK_BOX (hbox3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox3)), ((ctk_box_get_type ())))))), vpaned5, TRUE(!(0)), TRUE(!(0)), 0); |
6744 | |
6745 | button23 = ctk_button_new_with_label ("button23"); |
6746 | ctk_paned_pack1 (CTK_PANED (vpaned5)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned5)), ((ctk_paned_get_type ())))))), button23, FALSE(0), TRUE(!(0))); |
6747 | |
6748 | button22 = ctk_button_new_with_label ("button22"); |
6749 | ctk_paned_pack2 (CTK_PANED (vpaned5)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned5)), ((ctk_paned_get_type ())))))), button22, TRUE(!(0)), TRUE(!(0))); |
6750 | |
6751 | vpaned6 = ctk_paned_new (CTK_ORIENTATION_VERTICAL); |
6752 | ctk_box_pack_start (CTK_BOX (hbox3)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox3)), ((ctk_box_get_type ())))))), vpaned6, TRUE(!(0)), TRUE(!(0)), 0); |
6753 | |
6754 | button25 = ctk_button_new_with_label ("button25"); |
6755 | ctk_paned_pack1 (CTK_PANED (vpaned6)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned6)), ((ctk_paned_get_type ())))))), button25, FALSE(0), TRUE(!(0))); |
6756 | |
6757 | button24 = ctk_button_new_with_label ("button24"); |
6758 | ctk_paned_pack2 (CTK_PANED (vpaned6)((((CtkPaned*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vpaned6)), ((ctk_paned_get_type ())))))), button24, TRUE(!(0)), TRUE(!(0))); |
6759 | |
6760 | return window4; |
6761 | } |
6762 | |
6763 | static void |
6764 | create_paned_keyboard_navigation (CtkWidget *widget) |
6765 | { |
6766 | static CtkWidget *window1 = NULL((void*)0); |
6767 | static CtkWidget *window2 = NULL((void*)0); |
6768 | static CtkWidget *window3 = NULL((void*)0); |
6769 | static CtkWidget *window4 = NULL((void*)0); |
6770 | |
6771 | if (window1 && |
6772 | (ctk_widget_get_screen (window1) != ctk_widget_get_screen (widget))) |
6773 | { |
6774 | ctk_widget_destroy (window1); |
6775 | ctk_widget_destroy (window2); |
6776 | ctk_widget_destroy (window3); |
6777 | ctk_widget_destroy (window4); |
6778 | } |
6779 | |
6780 | if (!window1) |
6781 | { |
6782 | window1 = paned_keyboard_window1 (widget); |
6783 | g_signal_connect (window1, "destroy",g_signal_connect_data ((window1), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window1), ((void*)0), (GConnectFlags ) 0) |
6784 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window1), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window1), ((void*)0), (GConnectFlags ) 0) |
6785 | &window1)g_signal_connect_data ((window1), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window1), ((void*)0), (GConnectFlags ) 0); |
6786 | } |
6787 | |
6788 | if (!window2) |
6789 | { |
6790 | window2 = paned_keyboard_window2 (widget); |
6791 | g_signal_connect (window2, "destroy",g_signal_connect_data ((window2), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window2), ((void*)0), (GConnectFlags ) 0) |
6792 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window2), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window2), ((void*)0), (GConnectFlags ) 0) |
6793 | &window2)g_signal_connect_data ((window2), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window2), ((void*)0), (GConnectFlags ) 0); |
6794 | } |
6795 | |
6796 | if (!window3) |
6797 | { |
6798 | window3 = paned_keyboard_window3 (widget); |
6799 | g_signal_connect (window3, "destroy",g_signal_connect_data ((window3), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window3), ((void*)0), (GConnectFlags ) 0) |
6800 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window3), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window3), ((void*)0), (GConnectFlags ) 0) |
6801 | &window3)g_signal_connect_data ((window3), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window3), ((void*)0), (GConnectFlags ) 0); |
6802 | } |
6803 | |
6804 | if (!window4) |
6805 | { |
6806 | window4 = paned_keyboard_window4 (widget); |
6807 | g_signal_connect (window4, "destroy",g_signal_connect_data ((window4), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window4), ((void*)0), (GConnectFlags ) 0) |
6808 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window4), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window4), ((void*)0), (GConnectFlags ) 0) |
6809 | &window4)g_signal_connect_data ((window4), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window4), ((void*)0), (GConnectFlags ) 0); |
6810 | } |
6811 | |
6812 | if (ctk_widget_get_visible (window1)) |
6813 | ctk_widget_destroy (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window1)), ((ctk_widget_get_type ()))))))); |
6814 | else |
6815 | ctk_widget_show_all (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window1)), ((ctk_widget_get_type ()))))))); |
6816 | |
6817 | if (ctk_widget_get_visible (window2)) |
6818 | ctk_widget_destroy (CTK_WIDGET (window2)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window2)), ((ctk_widget_get_type ()))))))); |
6819 | else |
6820 | ctk_widget_show_all (CTK_WIDGET (window2)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window2)), ((ctk_widget_get_type ()))))))); |
6821 | |
6822 | if (ctk_widget_get_visible (window3)) |
6823 | ctk_widget_destroy (CTK_WIDGET (window3)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window3)), ((ctk_widget_get_type ()))))))); |
6824 | else |
6825 | ctk_widget_show_all (CTK_WIDGET (window3)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window3)), ((ctk_widget_get_type ()))))))); |
6826 | |
6827 | if (ctk_widget_get_visible (window4)) |
6828 | ctk_widget_destroy (CTK_WIDGET (window4)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window4)), ((ctk_widget_get_type ()))))))); |
6829 | else |
6830 | ctk_widget_show_all (CTK_WIDGET (window4)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window4)), ((ctk_widget_get_type ()))))))); |
6831 | } |
6832 | |
6833 | |
6834 | /* |
6835 | * Shaped Windows |
6836 | */ |
6837 | |
6838 | typedef struct _cursoroffset {gint x,y;} CursorOffset; |
6839 | |
6840 | static void |
6841 | shape_pressed (CtkWidget *widget, CdkEventButton *event) |
6842 | { |
6843 | CursorOffset *p; |
6844 | |
6845 | /* ignore double and triple click */ |
6846 | if (event->type != CDK_BUTTON_PRESS) |
6847 | return; |
6848 | |
6849 | p = g_object_get_data (G_OBJECT (widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), (((GType) ((20) << (2)))))))), "cursor_offset"); |
6850 | p->x = (int) event->x; |
6851 | p->y = (int) event->y; |
6852 | |
6853 | ctk_grab_add (widget); |
6854 | cdk_seat_grab (cdk_event_get_seat ((CdkEvent *) event), |
6855 | ctk_widget_get_window (widget), |
6856 | CDK_SEAT_CAPABILITY_ALL_POINTING, |
6857 | TRUE(!(0)), NULL((void*)0), (CdkEvent *) event, NULL((void*)0), NULL((void*)0)); |
6858 | } |
6859 | |
6860 | static void |
6861 | shape_released (CtkWidget *widget, |
6862 | CdkEventButton *event) |
6863 | { |
6864 | ctk_grab_remove (widget); |
6865 | cdk_seat_ungrab (cdk_event_get_seat ((CdkEvent *) event)); |
6866 | } |
6867 | |
6868 | static void |
6869 | shape_motion (CtkWidget *widget, |
6870 | CdkEventMotion *event) |
6871 | { |
6872 | gint xp, yp; |
6873 | CursorOffset * p; |
6874 | |
6875 | p = g_object_get_data (G_OBJECT (widget)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), (((GType) ((20) << (2)))))))), "cursor_offset"); |
6876 | |
6877 | /* |
6878 | * Can't use event->x / event->y here |
6879 | * because I need absolute coordinates. |
6880 | */ |
6881 | cdk_window_get_device_position (cdk_screen_get_root_window (ctk_widget_get_screen (widget)), |
6882 | cdk_event_get_device ((CdkEvent *) event), |
6883 | &xp, &yp, NULL((void*)0)); |
6884 | ctk_window_move (CTK_WINDOW (widget)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_window_get_type ())))))), xp - p->x, yp - p->y); |
6885 | } |
6886 | |
6887 | CtkWidget * |
6888 | shape_create_icon (CdkScreen *screen, |
6889 | char *xpm_file, |
6890 | gint x, |
6891 | gint y, |
6892 | gint px, |
6893 | gint py, |
6894 | gint window_type) |
6895 | { |
6896 | CtkWidget *window; |
6897 | CtkWidget *image; |
6898 | CtkWidget *fixed; |
6899 | CursorOffset* icon_pos; |
6900 | cairo_surface_t *mask; |
6901 | cairo_region_t *mask_region; |
6902 | GdkPixbuf *pixbuf; |
6903 | cairo_t *cr; |
6904 | |
6905 | /* |
6906 | * CDK_WINDOW_TOPLEVEL works also, giving you a title border |
6907 | */ |
6908 | window = ctk_window_new (window_type); |
6909 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), screen); |
6910 | |
6911 | fixed = ctk_fixed_new (); |
6912 | ctk_widget_set_size_request (fixed, 100, 100); |
6913 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), fixed); |
6914 | ctk_widget_show (fixed); |
6915 | |
6916 | ctk_widget_set_events (window, |
6917 | ctk_widget_get_events (window) | |
6918 | CDK_BUTTON_MOTION_MASK | |
6919 | CDK_BUTTON_PRESS_MASK); |
6920 | |
6921 | ctk_widget_realize (window); |
6922 | |
6923 | pixbuf = gdk_pixbuf_new_from_file (xpm_file, NULL((void*)0)); |
6924 | g_assert (pixbuf)do { if (pixbuf) ; else g_assertion_message_expr (((gchar*) 0 ), "testctk.c", 6924, ((const char*) (__func__)), "pixbuf"); } while (0); /* FIXME: error handling */ |
6925 | |
6926 | mask = cairo_image_surface_create (CAIRO_FORMAT_A1, |
6927 | gdk_pixbuf_get_width (pixbuf), |
6928 | gdk_pixbuf_get_height (pixbuf)); |
6929 | cr = cairo_create (mask); |
6930 | cdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0); |
6931 | cairo_paint (cr); |
6932 | cairo_destroy (cr); |
6933 | |
6934 | mask_region = cdk_cairo_region_create_from_surface (mask); |
6935 | |
6936 | cairo_region_translate (mask_region, px, py); |
6937 | |
6938 | image = ctk_image_new_from_pixbuf (pixbuf); |
6939 | ctk_fixed_put (CTK_FIXED (fixed)((((CtkFixed*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((fixed)), ((ctk_fixed_get_type ())))))), image, px,py); |
6940 | ctk_widget_show (image); |
6941 | |
6942 | ctk_widget_shape_combine_region (window, mask_region); |
6943 | |
6944 | cairo_region_destroy (mask_region); |
6945 | cairo_surface_destroy (mask); |
6946 | g_object_unref (pixbuf); |
6947 | |
6948 | g_signal_connect (window, "button_press_event",g_signal_connect_data ((window), ("button_press_event"), (((GCallback ) (shape_pressed))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
6949 | G_CALLBACK (shape_pressed), NULL)g_signal_connect_data ((window), ("button_press_event"), (((GCallback ) (shape_pressed))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
6950 | g_signal_connect (window, "button_release_event",g_signal_connect_data ((window), ("button_release_event"), (( (GCallback) (shape_released))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
6951 | G_CALLBACK (shape_released), NULL)g_signal_connect_data ((window), ("button_release_event"), (( (GCallback) (shape_released))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
6952 | g_signal_connect (window, "motion_notify_event",g_signal_connect_data ((window), ("motion_notify_event"), ((( GCallback) (shape_motion))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
6953 | G_CALLBACK (shape_motion), NULL)g_signal_connect_data ((window), ("motion_notify_event"), ((( GCallback) (shape_motion))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
6954 | |
6955 | icon_pos = g_new (CursorOffset, 1)((CursorOffset *) g_malloc_n ((1), sizeof (CursorOffset))); |
6956 | g_object_set_data (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), "cursor_offset", icon_pos); |
6957 | |
6958 | ctk_window_move (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), x, y); |
6959 | ctk_widget_show (window); |
6960 | |
6961 | return window; |
6962 | } |
6963 | |
6964 | void |
6965 | create_shapes (CtkWidget *widget) |
6966 | { |
6967 | /* Variables used by the Drag/Drop and Shape Window demos */ |
6968 | static CtkWidget *modeller = NULL((void*)0); |
6969 | static CtkWidget *sheets = NULL((void*)0); |
6970 | static CtkWidget *rings = NULL((void*)0); |
6971 | static CtkWidget *with_region = NULL((void*)0); |
6972 | CdkScreen *screen = ctk_widget_get_screen (widget); |
6973 | |
6974 | if (!(file_exists ("Modeller.xpm") && |
6975 | file_exists ("FilesQueue.xpm") && |
6976 | file_exists ("3DRings.xpm"))) |
6977 | return; |
6978 | |
6979 | |
6980 | if (!modeller) |
6981 | { |
6982 | modeller = shape_create_icon (screen, "Modeller.xpm", |
6983 | 440, 140, 0,0, CTK_WINDOW_POPUP); |
6984 | |
6985 | g_signal_connect (modeller, "destroy",g_signal_connect_data ((modeller), ("destroy"), (((GCallback) (ctk_widget_destroyed))), (&modeller), ((void*)0), (GConnectFlags ) 0) |
6986 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((modeller), ("destroy"), (((GCallback) (ctk_widget_destroyed))), (&modeller), ((void*)0), (GConnectFlags ) 0) |
6987 | &modeller)g_signal_connect_data ((modeller), ("destroy"), (((GCallback) (ctk_widget_destroyed))), (&modeller), ((void*)0), (GConnectFlags ) 0); |
6988 | } |
6989 | else |
6990 | ctk_widget_destroy (modeller); |
6991 | |
6992 | if (!sheets) |
6993 | { |
6994 | sheets = shape_create_icon (screen, "FilesQueue.xpm", |
6995 | 580, 170, 0,0, CTK_WINDOW_POPUP); |
6996 | |
6997 | g_signal_connect (sheets, "destroy",g_signal_connect_data ((sheets), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&sheets), ((void*)0), (GConnectFlags ) 0) |
6998 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((sheets), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&sheets), ((void*)0), (GConnectFlags ) 0) |
6999 | &sheets)g_signal_connect_data ((sheets), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&sheets), ((void*)0), (GConnectFlags ) 0); |
7000 | |
7001 | } |
7002 | else |
7003 | ctk_widget_destroy (sheets); |
7004 | |
7005 | if (!rings) |
7006 | { |
7007 | rings = shape_create_icon (screen, "3DRings.xpm", |
7008 | 460, 270, 25,25, CTK_WINDOW_TOPLEVEL); |
7009 | |
7010 | g_signal_connect (rings, "destroy",g_signal_connect_data ((rings), ("destroy"), (((GCallback) (ctk_widget_destroyed ))), (&rings), ((void*)0), (GConnectFlags) 0) |
7011 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((rings), ("destroy"), (((GCallback) (ctk_widget_destroyed ))), (&rings), ((void*)0), (GConnectFlags) 0) |
7012 | &rings)g_signal_connect_data ((rings), ("destroy"), (((GCallback) (ctk_widget_destroyed ))), (&rings), ((void*)0), (GConnectFlags) 0); |
7013 | } |
7014 | else |
7015 | ctk_widget_destroy (rings); |
7016 | |
7017 | if (!with_region) |
7018 | { |
7019 | cairo_region_t *region; |
7020 | gint x, y; |
7021 | |
7022 | with_region = shape_create_icon (screen, "3DRings.xpm", |
7023 | 460, 270, 25,25, CTK_WINDOW_TOPLEVEL); |
7024 | |
7025 | ctk_window_set_decorated (CTK_WINDOW (with_region)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((with_region)), ((ctk_window_get_type ())))))), FALSE(0)); |
7026 | |
7027 | g_signal_connect (with_region, "destroy",g_signal_connect_data ((with_region), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&with_region), ((void*)0), ( GConnectFlags) 0) |
7028 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((with_region), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&with_region), ((void*)0), ( GConnectFlags) 0) |
7029 | &with_region)g_signal_connect_data ((with_region), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&with_region), ((void*)0), ( GConnectFlags) 0); |
7030 | |
7031 | /* reset shape from mask to a region */ |
7032 | x = 0; |
7033 | y = 0; |
7034 | region = cairo_region_create (); |
7035 | |
7036 | while (x < 460) |
7037 | { |
7038 | while (y < 270) |
7039 | { |
7040 | CdkRectangle rect; |
7041 | rect.x = x; |
7042 | rect.y = y; |
7043 | rect.width = 10; |
7044 | rect.height = 10; |
7045 | |
7046 | cairo_region_union_rectangle (region, &rect); |
7047 | |
7048 | y += 20; |
7049 | } |
7050 | y = 0; |
7051 | x += 20; |
7052 | } |
7053 | |
7054 | cdk_window_shape_combine_region (ctk_widget_get_window (with_region), |
7055 | region, |
7056 | 0, 0); |
7057 | } |
7058 | else |
7059 | ctk_widget_destroy (with_region); |
7060 | } |
7061 | |
7062 | /* |
7063 | * WM Hints demo |
7064 | */ |
7065 | |
7066 | void |
7067 | create_wmhints (CtkWidget *widget) |
7068 | { |
7069 | static CtkWidget *window = NULL((void*)0); |
7070 | |
7071 | if (!window) |
7072 | { |
7073 | CtkWidget *label; |
7074 | CtkWidget *separator; |
7075 | CtkWidget *button; |
7076 | CtkWidget *box1; |
7077 | CtkWidget *box2; |
7078 | CdkWindow *cdk_window; |
7079 | GdkPixbuf *pixbuf; |
7080 | GList *list; |
7081 | |
7082 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
7083 | |
7084 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
7085 | ctk_widget_get_screen (widget)); |
7086 | |
7087 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
7088 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
7089 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
7090 | |
7091 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "WM Hints"); |
7092 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
7093 | |
7094 | ctk_widget_realize (window); |
7095 | |
7096 | cdk_window = ctk_widget_get_window (window); |
7097 | |
7098 | pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) openfile); |
7099 | list = g_list_prepend (NULL((void*)0), pixbuf); |
7100 | |
7101 | cdk_window_set_icon_list (cdk_window, list); |
7102 | |
7103 | g_list_free (list); |
7104 | g_object_unref (pixbuf); |
7105 | |
7106 | cdk_window_set_icon_name (cdk_window, "WMHints Test Icon"); |
7107 | |
7108 | cdk_window_set_decorations (cdk_window, CDK_DECOR_ALL | CDK_DECOR_MENU); |
7109 | cdk_window_set_functions (cdk_window, CDK_FUNC_ALL | CDK_FUNC_RESIZE); |
7110 | |
7111 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
7112 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
7113 | ctk_widget_show (box1); |
7114 | |
7115 | label = ctk_label_new ("Try iconizing me!"); |
7116 | ctk_widget_set_size_request (label, 150, 50); |
7117 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), label, TRUE(!(0)), TRUE(!(0)), 0); |
7118 | ctk_widget_show (label); |
7119 | |
7120 | |
7121 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
7122 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
7123 | ctk_widget_show (separator); |
7124 | |
7125 | |
7126 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
7127 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
7128 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
7129 | ctk_widget_show (box2); |
7130 | |
7131 | |
7132 | button = ctk_button_new_with_label ("close"); |
7133 | |
7134 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
7135 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
7136 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
7137 | |
7138 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
7139 | ctk_widget_set_can_default (button, TRUE(!(0))); |
7140 | ctk_widget_grab_default (button); |
7141 | ctk_widget_show (button); |
7142 | } |
7143 | |
7144 | if (!ctk_widget_get_visible (window)) |
7145 | ctk_widget_show (window); |
7146 | else |
7147 | ctk_widget_destroy (window); |
7148 | } |
7149 | |
7150 | |
7151 | /* |
7152 | * Window state tracking |
7153 | */ |
7154 | |
7155 | static gint |
7156 | window_state_callback (CtkWidget *widget, |
7157 | CdkEventWindowState *event, |
7158 | gpointer data) |
7159 | { |
7160 | CtkWidget *label = data; |
7161 | gchar *msg; |
7162 | |
7163 | msg = g_strconcat (ctk_window_get_title (CTK_WINDOW (widget)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_window_get_type ()))))))), ": ", |
7164 | (event->new_window_state & CDK_WINDOW_STATE_WITHDRAWN) ? |
7165 | "withdrawn" : "not withdrawn", ", ", |
7166 | (event->new_window_state & CDK_WINDOW_STATE_ICONIFIED) ? |
7167 | "iconified" : "not iconified", ", ", |
7168 | (event->new_window_state & CDK_WINDOW_STATE_STICKY) ? |
7169 | "sticky" : "not sticky", ", ", |
7170 | (event->new_window_state & CDK_WINDOW_STATE_MAXIMIZED) ? |
7171 | "maximized" : "not maximized", ", ", |
7172 | (event->new_window_state & CDK_WINDOW_STATE_FULLSCREEN) ? |
7173 | "fullscreen" : "not fullscreen", |
7174 | (event->new_window_state & CDK_WINDOW_STATE_ABOVE) ? |
7175 | "above" : "not above", ", ", |
7176 | (event->new_window_state & CDK_WINDOW_STATE_BELOW) ? |
7177 | "below" : "not below", ", ", |
7178 | NULL((void*)0)); |
7179 | |
7180 | ctk_label_set_text (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), msg); |
7181 | |
7182 | g_free (msg); |
7183 | |
7184 | return FALSE(0); |
7185 | } |
7186 | |
7187 | static CtkWidget* |
7188 | tracking_label (CtkWidget *window) |
7189 | { |
7190 | CtkWidget *label; |
7191 | CtkWidget *hbox; |
7192 | CtkWidget *button; |
7193 | |
7194 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
7195 | |
7196 | g_signal_connect_object (hbox, |
7197 | "destroy", |
7198 | G_CALLBACK (ctk_widget_destroy)((GCallback) (ctk_widget_destroy)), |
7199 | window, |
7200 | G_CONNECT_SWAPPED); |
7201 | |
7202 | label = ctk_label_new ("<no window state events received>"); |
7203 | ctk_label_set_line_wrap (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), TRUE(!(0))); |
7204 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
7205 | |
7206 | g_signal_connect (window,g_signal_connect_data ((window), ("window_state_event"), (((GCallback ) (window_state_callback))), (label), ((void*)0), (GConnectFlags ) 0) |
7207 | "window_state_event",g_signal_connect_data ((window), ("window_state_event"), (((GCallback ) (window_state_callback))), (label), ((void*)0), (GConnectFlags ) 0) |
7208 | G_CALLBACK (window_state_callback),g_signal_connect_data ((window), ("window_state_event"), (((GCallback ) (window_state_callback))), (label), ((void*)0), (GConnectFlags ) 0) |
7209 | label)g_signal_connect_data ((window), ("window_state_event"), (((GCallback ) (window_state_callback))), (label), ((void*)0), (GConnectFlags ) 0); |
7210 | |
7211 | button = ctk_button_new_with_label ("Deiconify"); |
7212 | g_signal_connect_object (button, |
7213 | "clicked", |
7214 | G_CALLBACK (ctk_window_deiconify)((GCallback) (ctk_window_deiconify)), |
7215 | window, |
7216 | G_CONNECT_SWAPPED); |
7217 | ctk_box_pack_end (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7218 | |
7219 | button = ctk_button_new_with_label ("Iconify"); |
7220 | g_signal_connect_object (button, |
7221 | "clicked", |
7222 | G_CALLBACK (ctk_window_iconify)((GCallback) (ctk_window_iconify)), |
7223 | window, |
7224 | G_CONNECT_SWAPPED); |
7225 | ctk_box_pack_end (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7226 | |
7227 | button = ctk_button_new_with_label ("Fullscreen"); |
7228 | g_signal_connect_object (button, |
7229 | "clicked", |
7230 | G_CALLBACK (ctk_window_fullscreen)((GCallback) (ctk_window_fullscreen)), |
7231 | window, |
7232 | G_CONNECT_SWAPPED); |
7233 | ctk_box_pack_end (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7234 | |
7235 | button = ctk_button_new_with_label ("Unfullscreen"); |
7236 | g_signal_connect_object (button, |
7237 | "clicked", |
7238 | G_CALLBACK (ctk_window_unfullscreen)((GCallback) (ctk_window_unfullscreen)), |
7239 | window, |
7240 | G_CONNECT_SWAPPED); |
7241 | ctk_box_pack_end (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7242 | |
7243 | button = ctk_button_new_with_label ("Present"); |
7244 | g_signal_connect_object (button, |
7245 | "clicked", |
7246 | G_CALLBACK (ctk_window_present)((GCallback) (ctk_window_present)), |
7247 | window, |
7248 | G_CONNECT_SWAPPED); |
7249 | ctk_box_pack_end (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7250 | |
7251 | button = ctk_button_new_with_label ("Show"); |
7252 | g_signal_connect_object (button, |
7253 | "clicked", |
7254 | G_CALLBACK (ctk_widget_show)((GCallback) (ctk_widget_show)), |
7255 | window, |
7256 | G_CONNECT_SWAPPED); |
7257 | ctk_box_pack_end (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7258 | |
7259 | ctk_widget_show_all (hbox); |
7260 | |
7261 | return hbox; |
7262 | } |
7263 | |
7264 | void |
7265 | keep_window_above (CtkToggleButton *togglebutton, gpointer data) |
7266 | { |
7267 | CtkWidget *button = g_object_get_data (G_OBJECT (togglebutton)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((togglebutton)), (((GType) ((20) << (2)))))))), "radio"); |
7268 | |
7269 | ctk_window_set_keep_above (CTK_WINDOW (data)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_window_get_type ())))))), |
7270 | ctk_toggle_button_get_active (togglebutton)); |
7271 | |
7272 | if (ctk_toggle_button_get_active (togglebutton)) |
7273 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), FALSE(0)); |
7274 | } |
7275 | |
7276 | void |
7277 | keep_window_below (CtkToggleButton *togglebutton, gpointer data) |
7278 | { |
7279 | CtkWidget *button = g_object_get_data (G_OBJECT (togglebutton)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((togglebutton)), (((GType) ((20) << (2)))))))), "radio"); |
7280 | |
7281 | ctk_window_set_keep_below (CTK_WINDOW (data)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_window_get_type ())))))), |
7282 | ctk_toggle_button_get_active (togglebutton)); |
7283 | |
7284 | if (ctk_toggle_button_get_active (togglebutton)) |
7285 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), FALSE(0)); |
7286 | } |
7287 | |
7288 | |
7289 | static CtkWidget* |
7290 | get_state_controls (CtkWidget *window) |
7291 | { |
7292 | CtkWidget *vbox; |
7293 | CtkWidget *button; |
7294 | CtkWidget *button_above; |
7295 | CtkWidget *button_below; |
7296 | |
7297 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
7298 | |
7299 | button = ctk_button_new_with_label ("Stick"); |
7300 | g_signal_connect_object (button, |
7301 | "clicked", |
7302 | G_CALLBACK (ctk_window_stick)((GCallback) (ctk_window_stick)), |
7303 | window, |
7304 | G_CONNECT_SWAPPED); |
7305 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7306 | |
7307 | button = ctk_button_new_with_label ("Unstick"); |
7308 | g_signal_connect_object (button, |
7309 | "clicked", |
7310 | G_CALLBACK (ctk_window_unstick)((GCallback) (ctk_window_unstick)), |
7311 | window, |
7312 | G_CONNECT_SWAPPED); |
7313 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7314 | |
7315 | button = ctk_button_new_with_label ("Maximize"); |
7316 | g_signal_connect_object (button, |
7317 | "clicked", |
7318 | G_CALLBACK (ctk_window_maximize)((GCallback) (ctk_window_maximize)), |
7319 | window, |
7320 | G_CONNECT_SWAPPED); |
7321 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7322 | |
7323 | button = ctk_button_new_with_label ("Unmaximize"); |
7324 | g_signal_connect_object (button, |
7325 | "clicked", |
7326 | G_CALLBACK (ctk_window_unmaximize)((GCallback) (ctk_window_unmaximize)), |
7327 | window, |
7328 | G_CONNECT_SWAPPED); |
7329 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7330 | |
7331 | button = ctk_button_new_with_label ("Iconify"); |
7332 | g_signal_connect_object (button, |
7333 | "clicked", |
7334 | G_CALLBACK (ctk_window_iconify)((GCallback) (ctk_window_iconify)), |
7335 | window, |
7336 | G_CONNECT_SWAPPED); |
7337 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7338 | |
7339 | button = ctk_button_new_with_label ("Fullscreen"); |
7340 | g_signal_connect_object (button, |
7341 | "clicked", |
7342 | G_CALLBACK (ctk_window_fullscreen)((GCallback) (ctk_window_fullscreen)), |
7343 | window, |
7344 | G_CONNECT_SWAPPED); |
7345 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7346 | |
7347 | button = ctk_button_new_with_label ("Unfullscreen"); |
7348 | g_signal_connect_object (button, |
7349 | "clicked", |
7350 | G_CALLBACK (ctk_window_unfullscreen)((GCallback) (ctk_window_unfullscreen)), |
7351 | window, |
7352 | G_CONNECT_SWAPPED); |
7353 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7354 | |
7355 | button_above = ctk_toggle_button_new_with_label ("Keep above"); |
7356 | g_signal_connect (button_above,g_signal_connect_data ((button_above), ("toggled"), (((GCallback ) (keep_window_above))), (window), ((void*)0), (GConnectFlags ) 0) |
7357 | "toggled",g_signal_connect_data ((button_above), ("toggled"), (((GCallback ) (keep_window_above))), (window), ((void*)0), (GConnectFlags ) 0) |
7358 | G_CALLBACK (keep_window_above),g_signal_connect_data ((button_above), ("toggled"), (((GCallback ) (keep_window_above))), (window), ((void*)0), (GConnectFlags ) 0) |
7359 | window)g_signal_connect_data ((button_above), ("toggled"), (((GCallback ) (keep_window_above))), (window), ((void*)0), (GConnectFlags ) 0); |
7360 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button_above, FALSE(0), FALSE(0), 0); |
7361 | |
7362 | button_below = ctk_toggle_button_new_with_label ("Keep below"); |
7363 | g_signal_connect (button_below,g_signal_connect_data ((button_below), ("toggled"), (((GCallback ) (keep_window_below))), (window), ((void*)0), (GConnectFlags ) 0) |
7364 | "toggled",g_signal_connect_data ((button_below), ("toggled"), (((GCallback ) (keep_window_below))), (window), ((void*)0), (GConnectFlags ) 0) |
7365 | G_CALLBACK (keep_window_below),g_signal_connect_data ((button_below), ("toggled"), (((GCallback ) (keep_window_below))), (window), ((void*)0), (GConnectFlags ) 0) |
7366 | window)g_signal_connect_data ((button_below), ("toggled"), (((GCallback ) (keep_window_below))), (window), ((void*)0), (GConnectFlags ) 0); |
7367 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button_below, FALSE(0), FALSE(0), 0); |
7368 | |
7369 | g_object_set_data (G_OBJECT (button_above)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button_above)), (((GType) ((20) << (2)))))))), "radio", button_below); |
7370 | g_object_set_data (G_OBJECT (button_below)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button_below)), (((GType) ((20) << (2)))))))), "radio", button_above); |
7371 | |
7372 | button = ctk_button_new_with_label ("Hide (withdraw)"); |
7373 | g_signal_connect_object (button, |
7374 | "clicked", |
7375 | G_CALLBACK (ctk_widget_hide)((GCallback) (ctk_widget_hide)), |
7376 | window, |
7377 | G_CONNECT_SWAPPED); |
7378 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7379 | |
7380 | ctk_widget_show_all (vbox); |
7381 | |
7382 | return vbox; |
7383 | } |
7384 | |
7385 | void |
7386 | create_window_states (CtkWidget *widget) |
7387 | { |
7388 | static CtkWidget *window = NULL((void*)0); |
7389 | |
7390 | if (!window) |
7391 | { |
7392 | CtkWidget *label; |
7393 | CtkWidget *box1; |
7394 | CtkWidget *iconified; |
7395 | CtkWidget *normal; |
7396 | CtkWidget *controls; |
7397 | |
7398 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
7399 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
7400 | ctk_widget_get_screen (widget)); |
7401 | |
7402 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
7403 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
7404 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
7405 | |
7406 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Window states"); |
7407 | |
7408 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
7409 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
7410 | |
7411 | iconified = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
7412 | |
7413 | ctk_window_set_screen (CTK_WINDOW (iconified)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((iconified)), ((ctk_window_get_type ())))))), |
7414 | ctk_widget_get_screen (widget)); |
7415 | |
7416 | g_signal_connect_object (iconified, "destroy", |
7417 | G_CALLBACK (ctk_widget_destroy)((GCallback) (ctk_widget_destroy)), |
7418 | window, |
7419 | G_CONNECT_SWAPPED); |
7420 | ctk_window_iconify (CTK_WINDOW (iconified)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((iconified)), ((ctk_window_get_type ()))))))); |
7421 | ctk_window_set_title (CTK_WINDOW (iconified)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((iconified)), ((ctk_window_get_type ())))))), "Iconified initially"); |
7422 | controls = get_state_controls (iconified); |
7423 | ctk_container_add (CTK_CONTAINER (iconified)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((iconified)), ((ctk_container_get_type ())))))), controls); |
7424 | |
7425 | normal = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
7426 | |
7427 | ctk_window_set_screen (CTK_WINDOW (normal)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((normal)), ((ctk_window_get_type ())))))), |
7428 | ctk_widget_get_screen (widget)); |
7429 | |
7430 | g_signal_connect_object (normal, "destroy", |
7431 | G_CALLBACK (ctk_widget_destroy)((GCallback) (ctk_widget_destroy)), |
7432 | window, |
7433 | G_CONNECT_SWAPPED); |
7434 | |
7435 | ctk_window_set_title (CTK_WINDOW (normal)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((normal)), ((ctk_window_get_type ())))))), "Deiconified initially"); |
7436 | controls = get_state_controls (normal); |
7437 | ctk_container_add (CTK_CONTAINER (normal)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((normal)), ((ctk_container_get_type ())))))), controls); |
7438 | |
7439 | label = tracking_label (iconified); |
7440 | ctk_container_add (CTK_CONTAINER (box1)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_container_get_type ())))))), label); |
7441 | |
7442 | label = tracking_label (normal); |
7443 | ctk_container_add (CTK_CONTAINER (box1)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_container_get_type ())))))), label); |
7444 | |
7445 | ctk_widget_show_all (iconified); |
7446 | ctk_widget_show_all (normal); |
7447 | ctk_widget_show_all (box1); |
7448 | } |
7449 | |
7450 | if (!ctk_widget_get_visible (window)) |
7451 | ctk_widget_show (window); |
7452 | else |
7453 | ctk_widget_destroy (window); |
7454 | } |
7455 | |
7456 | /* |
7457 | * Window sizing |
7458 | */ |
7459 | |
7460 | static gint |
7461 | configure_event_callback (CtkWidget *widget, |
7462 | CdkEventConfigure *event, |
7463 | gpointer data) |
7464 | { |
7465 | CtkWidget *label = data; |
7466 | gchar *msg; |
7467 | gint x, y; |
7468 | |
7469 | ctk_window_get_position (CTK_WINDOW (widget)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_window_get_type ())))))), &x, &y); |
7470 | |
7471 | msg = g_strdup_printf ("event: %d,%d %d x %d\n" |
7472 | "position: %d, %d", |
7473 | event->x, event->y, event->width, event->height, |
7474 | x, y); |
7475 | |
7476 | ctk_label_set_text (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), msg); |
7477 | |
7478 | g_free (msg); |
7479 | |
7480 | return FALSE(0); |
7481 | } |
7482 | |
7483 | static void |
7484 | get_ints (CtkWidget *window, |
7485 | gint *a, |
7486 | gint *b) |
7487 | { |
7488 | CtkWidget *spin1; |
7489 | CtkWidget *spin2; |
7490 | |
7491 | spin1 = g_object_get_data (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), "spin1"); |
7492 | spin2 = g_object_get_data (G_OBJECT (window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), (((GType) ((20) << (2)))))))), "spin2"); |
7493 | |
7494 | *a = ctk_spin_button_get_value_as_int (CTK_SPIN_BUTTON (spin1)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin1)), ((ctk_spin_button_get_type ()))))))); |
7495 | *b = ctk_spin_button_get_value_as_int (CTK_SPIN_BUTTON (spin2)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((spin2)), ((ctk_spin_button_get_type ()))))))); |
7496 | } |
7497 | |
7498 | static void |
7499 | set_size_callback (CtkWidget *widget, |
7500 | gpointer data) |
7501 | { |
7502 | gint w, h; |
7503 | |
7504 | get_ints (data, &w, &h); |
7505 | |
7506 | ctk_window_resize (CTK_WINDOW (g_object_get_data (data, "target"))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((g_object_get_data (data, "target"))), ((ctk_window_get_type ())))))), w, h); |
7507 | } |
7508 | |
7509 | static void |
7510 | unset_default_size_callback (CtkWidget *widget, |
7511 | gpointer data) |
7512 | { |
7513 | ctk_window_set_default_size (g_object_get_data (data, "target"), |
7514 | -1, -1); |
7515 | } |
7516 | |
7517 | static void |
7518 | set_default_size_callback (CtkWidget *widget, |
7519 | gpointer data) |
7520 | { |
7521 | gint w, h; |
7522 | |
7523 | get_ints (data, &w, &h); |
7524 | |
7525 | ctk_window_set_default_size (g_object_get_data (data, "target"), |
7526 | w, h); |
7527 | } |
7528 | |
7529 | static void |
7530 | unset_size_request_callback (CtkWidget *widget, |
7531 | gpointer data) |
7532 | { |
7533 | ctk_widget_set_size_request (g_object_get_data (data, "target"), |
7534 | -1, -1); |
7535 | } |
7536 | |
7537 | static void |
7538 | set_size_request_callback (CtkWidget *widget, |
7539 | gpointer data) |
7540 | { |
7541 | gint w, h; |
7542 | |
7543 | get_ints (data, &w, &h); |
7544 | |
7545 | ctk_widget_set_size_request (g_object_get_data (data, "target"), |
7546 | w, h); |
7547 | } |
7548 | |
7549 | static void |
7550 | set_location_callback (CtkWidget *widget, |
7551 | gpointer data) |
7552 | { |
7553 | gint x, y; |
7554 | |
7555 | get_ints (data, &x, &y); |
7556 | |
7557 | ctk_window_move (g_object_get_data (data, "target"), x, y); |
7558 | } |
7559 | |
7560 | static void |
7561 | move_to_position_callback (CtkWidget *widget, |
7562 | gpointer data) |
7563 | { |
7564 | gint x, y; |
7565 | CtkWindow *window; |
7566 | |
7567 | window = g_object_get_data (data, "target"); |
7568 | |
7569 | ctk_window_get_position (window, &x, &y); |
7570 | |
7571 | ctk_window_move (window, x, y); |
7572 | } |
7573 | |
7574 | static void |
7575 | set_geometry_callback (CtkWidget *entry, |
7576 | gpointer data) |
7577 | { |
7578 | gchar *text; |
7579 | CtkWindow *target; |
7580 | |
7581 | target = CTK_WINDOW (g_object_get_data (G_OBJECT (data), "target"))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((data)), (((GType) ((20) << (2))))) ))), "target"))), ((ctk_window_get_type ())))))); |
7582 | |
7583 | text = ctk_editable_get_chars (CTK_EDITABLE (entry)((((CtkEditable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((entry)), ((ctk_editable_get_type ())))))), 0, -1); |
7584 | |
7585 | if (!ctk_window_parse_geometry (target, text)) |
7586 | g_print ("Bad geometry string '%s'\n", text); |
7587 | |
7588 | g_free (text); |
7589 | } |
7590 | |
7591 | static void |
7592 | resizable_callback (CtkWidget *widget, |
7593 | gpointer data) |
7594 | { |
7595 | g_object_set (g_object_get_data (data, "target"), |
7596 | "resizable", ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (widget)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_toggle_button_get_type ()))))))), |
7597 | NULL((void*)0)); |
7598 | } |
7599 | |
7600 | static void |
7601 | gravity_selected (CtkWidget *widget, |
7602 | gpointer data) |
7603 | { |
7604 | ctk_window_set_gravity (CTK_WINDOW (g_object_get_data (data, "target"))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((g_object_get_data (data, "target"))), ((ctk_window_get_type ())))))), |
7605 | ctk_combo_box_get_active (CTK_COMBO_BOX (widget)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_combo_box_get_type ()))))))) + CDK_GRAVITY_NORTH_WEST); |
7606 | } |
7607 | |
7608 | static void |
7609 | pos_selected (CtkWidget *widget, |
7610 | gpointer data) |
7611 | { |
7612 | ctk_window_set_position (CTK_WINDOW (g_object_get_data (data, "target"))((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((g_object_get_data (data, "target"))), ((ctk_window_get_type ())))))), |
7613 | ctk_combo_box_get_active (CTK_COMBO_BOX (widget)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_combo_box_get_type ()))))))) + CTK_WIN_POS_NONE); |
7614 | } |
7615 | |
7616 | static void |
7617 | move_gravity_window_to_current_position (CtkWidget *widget, |
7618 | gpointer data) |
7619 | { |
7620 | gint x, y; |
7621 | CtkWindow *window; |
7622 | |
7623 | window = CTK_WINDOW (data)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_window_get_type ())))))); |
7624 | |
7625 | ctk_window_get_position (window, &x, &y); |
7626 | |
7627 | ctk_window_move (window, x, y); |
7628 | } |
7629 | |
7630 | static void |
7631 | get_screen_corner (CtkWindow *window, |
7632 | gint *x, |
7633 | gint *y) |
7634 | { |
7635 | int w, h; |
7636 | CdkScreen * screen = ctk_window_get_screen (window); |
7637 | |
7638 | ctk_window_get_size (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), &w, &h); |
7639 | |
7640 | switch (ctk_window_get_gravity (window)) |
7641 | { |
7642 | case CDK_GRAVITY_SOUTH_EAST: |
7643 | *x = cdk_screen_get_width (screen) - w; |
7644 | *y = cdk_screen_get_height (screen) - h; |
7645 | break; |
7646 | |
7647 | case CDK_GRAVITY_NORTH_EAST: |
7648 | *x = cdk_screen_get_width (screen) - w; |
7649 | *y = 0; |
7650 | break; |
7651 | |
7652 | case CDK_GRAVITY_SOUTH_WEST: |
7653 | *x = 0; |
7654 | *y = cdk_screen_get_height (screen) - h; |
7655 | break; |
7656 | |
7657 | case CDK_GRAVITY_NORTH_WEST: |
7658 | *x = 0; |
7659 | *y = 0; |
7660 | break; |
7661 | |
7662 | case CDK_GRAVITY_SOUTH: |
7663 | *x = (cdk_screen_get_width (screen) - w) / 2; |
7664 | *y = cdk_screen_get_height (screen) - h; |
7665 | break; |
7666 | |
7667 | case CDK_GRAVITY_NORTH: |
7668 | *x = (cdk_screen_get_width (screen) - w) / 2; |
7669 | *y = 0; |
7670 | break; |
7671 | |
7672 | case CDK_GRAVITY_WEST: |
7673 | *x = 0; |
7674 | *y = (cdk_screen_get_height (screen) - h) / 2; |
7675 | break; |
7676 | |
7677 | case CDK_GRAVITY_EAST: |
7678 | *x = cdk_screen_get_width (screen) - w; |
7679 | *y = (cdk_screen_get_height (screen) - h) / 2; |
7680 | break; |
7681 | |
7682 | case CDK_GRAVITY_CENTER: |
7683 | *x = (cdk_screen_get_width (screen) - w) / 2; |
7684 | *y = (cdk_screen_get_height (screen) - h) / 2; |
7685 | break; |
7686 | |
7687 | case CDK_GRAVITY_STATIC: |
7688 | /* pick some random numbers */ |
7689 | *x = 350; |
7690 | *y = 350; |
7691 | break; |
7692 | |
7693 | default: |
7694 | g_assert_not_reached ()do { g_assertion_message_expr (((gchar*) 0), "testctk.c", 7694 , ((const char*) (__func__)), ((void*)0)); } while (0); |
7695 | break; |
7696 | } |
7697 | } |
7698 | |
7699 | static void |
7700 | move_gravity_window_to_starting_position (CtkWidget *widget, |
7701 | gpointer data) |
7702 | { |
7703 | gint x, y; |
7704 | CtkWindow *window; |
7705 | |
7706 | window = CTK_WINDOW (data)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((data)), ((ctk_window_get_type ())))))); |
7707 | |
7708 | get_screen_corner (window, |
7709 | &x, &y); |
7710 | |
7711 | ctk_window_move (window, x, y); |
7712 | } |
7713 | |
7714 | static CtkWidget* |
7715 | make_gravity_window (CtkWidget *destroy_with, |
7716 | CdkGravity gravity, |
7717 | const gchar *title) |
7718 | { |
7719 | CtkWidget *window; |
7720 | CtkWidget *button; |
7721 | CtkWidget *vbox; |
7722 | int x, y; |
7723 | |
7724 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
7725 | |
7726 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
7727 | ctk_widget_get_screen (destroy_with)); |
7728 | |
7729 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
7730 | ctk_widget_show (vbox); |
7731 | |
7732 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), vbox); |
7733 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), title); |
7734 | ctk_window_set_gravity (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), gravity); |
7735 | |
7736 | g_signal_connect_object (destroy_with, |
7737 | "destroy", |
7738 | G_CALLBACK (ctk_widget_destroy)((GCallback) (ctk_widget_destroy)), |
7739 | window, |
7740 | G_CONNECT_SWAPPED); |
7741 | |
7742 | |
7743 | button = ctk_button_new_with_mnemonic ("_Move to current position"); |
7744 | |
7745 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_gravity_window_to_current_position))), (window), ((void* )0), (GConnectFlags) 0) |
7746 | G_CALLBACK (move_gravity_window_to_current_position),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_gravity_window_to_current_position))), (window), ((void* )0), (GConnectFlags) 0) |
7747 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_gravity_window_to_current_position))), (window), ((void* )0), (GConnectFlags) 0); |
7748 | |
7749 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
7750 | ctk_widget_show (button); |
7751 | |
7752 | button = ctk_button_new_with_mnemonic ("Move to _starting position"); |
7753 | |
7754 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_gravity_window_to_starting_position))), (window), ((void *)0), (GConnectFlags) 0) |
7755 | G_CALLBACK (move_gravity_window_to_starting_position),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_gravity_window_to_starting_position))), (window), ((void *)0), (GConnectFlags) 0) |
7756 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_gravity_window_to_starting_position))), (window), ((void *)0), (GConnectFlags) 0); |
7757 | |
7758 | ctk_container_add (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), button); |
7759 | ctk_widget_show (button); |
7760 | |
7761 | /* Pretend this is the result of --geometry. |
7762 | * DO NOT COPY THIS CODE unless you are setting --geometry results, |
7763 | * and in that case you probably should just use ctk_window_parse_geometry(). |
7764 | * AGAIN, DO NOT SET CDK_HINT_USER_POS! It violates the ICCCM unless |
7765 | * you are parsing --geometry or equivalent. |
7766 | */ |
7767 | ctk_window_set_geometry_hints (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
7768 | NULL((void*)0), NULL((void*)0), |
7769 | CDK_HINT_USER_POS); |
7770 | |
7771 | ctk_window_set_default_size (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
7772 | 200, 200); |
7773 | |
7774 | get_screen_corner (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), &x, &y); |
7775 | |
7776 | ctk_window_move (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
7777 | x, y); |
7778 | |
7779 | return window; |
7780 | } |
7781 | |
7782 | static void |
7783 | do_gravity_test (CtkWidget *widget, |
7784 | gpointer data) |
7785 | { |
7786 | CtkWidget *destroy_with = data; |
7787 | CtkWidget *window; |
7788 | |
7789 | /* We put a window at each gravity point on the screen. */ |
7790 | window = make_gravity_window (destroy_with, CDK_GRAVITY_NORTH_WEST, |
7791 | "NorthWest"); |
7792 | ctk_widget_show (window); |
7793 | |
7794 | window = make_gravity_window (destroy_with, CDK_GRAVITY_SOUTH_EAST, |
7795 | "SouthEast"); |
7796 | ctk_widget_show (window); |
7797 | |
7798 | window = make_gravity_window (destroy_with, CDK_GRAVITY_NORTH_EAST, |
7799 | "NorthEast"); |
7800 | ctk_widget_show (window); |
7801 | |
7802 | window = make_gravity_window (destroy_with, CDK_GRAVITY_SOUTH_WEST, |
7803 | "SouthWest"); |
7804 | ctk_widget_show (window); |
7805 | |
7806 | window = make_gravity_window (destroy_with, CDK_GRAVITY_SOUTH, |
7807 | "South"); |
7808 | ctk_widget_show (window); |
7809 | |
7810 | window = make_gravity_window (destroy_with, CDK_GRAVITY_NORTH, |
7811 | "North"); |
7812 | ctk_widget_show (window); |
7813 | |
7814 | |
7815 | window = make_gravity_window (destroy_with, CDK_GRAVITY_WEST, |
7816 | "West"); |
7817 | ctk_widget_show (window); |
7818 | |
7819 | |
7820 | window = make_gravity_window (destroy_with, CDK_GRAVITY_EAST, |
7821 | "East"); |
7822 | ctk_widget_show (window); |
7823 | |
7824 | window = make_gravity_window (destroy_with, CDK_GRAVITY_CENTER, |
7825 | "Center"); |
7826 | ctk_widget_show (window); |
7827 | |
7828 | window = make_gravity_window (destroy_with, CDK_GRAVITY_STATIC, |
7829 | "Static"); |
7830 | ctk_widget_show (window); |
7831 | } |
7832 | |
7833 | static CtkWidget* |
7834 | window_controls (CtkWidget *window) |
7835 | { |
7836 | CtkWidget *control_window; |
7837 | CtkWidget *label; |
7838 | CtkWidget *vbox; |
7839 | CtkWidget *button; |
7840 | CtkWidget *spin; |
7841 | CtkAdjustment *adjustment; |
7842 | CtkWidget *entry; |
7843 | CtkWidget *om; |
7844 | gint i; |
7845 | |
7846 | control_window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
7847 | |
7848 | ctk_window_set_screen (CTK_WINDOW (control_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((control_window)), ((ctk_window_get_type ())))))), |
7849 | ctk_widget_get_screen (window)); |
7850 | |
7851 | ctk_window_set_title (CTK_WINDOW (control_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((control_window)), ((ctk_window_get_type ())))))), "Size controls"); |
7852 | |
7853 | g_object_set_data (G_OBJECT (control_window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((control_window)), (((GType) ((20) << (2)))))))), |
7854 | "target", |
7855 | window); |
7856 | |
7857 | g_signal_connect_object (control_window, |
7858 | "destroy", |
7859 | G_CALLBACK (ctk_widget_destroy)((GCallback) (ctk_widget_destroy)), |
7860 | window, |
7861 | G_CONNECT_SWAPPED); |
7862 | |
7863 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
7864 | |
7865 | ctk_container_add (CTK_CONTAINER (control_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((control_window)), ((ctk_container_get_type ())))))), vbox); |
7866 | |
7867 | label = ctk_label_new ("<no configure events>"); |
7868 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
7869 | |
7870 | g_signal_connect (window,g_signal_connect_data ((window), ("configure_event"), (((GCallback ) (configure_event_callback))), (label), ((void*)0), (GConnectFlags ) 0) |
7871 | "configure_event",g_signal_connect_data ((window), ("configure_event"), (((GCallback ) (configure_event_callback))), (label), ((void*)0), (GConnectFlags ) 0) |
7872 | G_CALLBACK (configure_event_callback),g_signal_connect_data ((window), ("configure_event"), (((GCallback ) (configure_event_callback))), (label), ((void*)0), (GConnectFlags ) 0) |
7873 | label)g_signal_connect_data ((window), ("configure_event"), (((GCallback ) (configure_event_callback))), (label), ((void*)0), (GConnectFlags ) 0); |
7874 | |
7875 | adjustment = ctk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); |
7876 | spin = ctk_spin_button_new (adjustment, 0, 0); |
7877 | |
7878 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), spin, FALSE(0), FALSE(0), 0); |
7879 | |
7880 | g_object_set_data (G_OBJECT (control_window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((control_window)), (((GType) ((20) << (2)))))))), "spin1", spin); |
7881 | |
7882 | adjustment = ctk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); |
7883 | spin = ctk_spin_button_new (adjustment, 0, 0); |
7884 | |
7885 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), spin, FALSE(0), FALSE(0), 0); |
7886 | |
7887 | g_object_set_data (G_OBJECT (control_window)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((control_window)), (((GType) ((20) << (2)))))))), "spin2", spin); |
7888 | |
7889 | entry = ctk_entry_new (); |
7890 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), entry, FALSE(0), FALSE(0), 0); |
7891 | |
7892 | g_signal_connect (entry, "changed",g_signal_connect_data ((entry), ("changed"), (((GCallback) (set_geometry_callback ))), (control_window), ((void*)0), (GConnectFlags) 0) |
7893 | G_CALLBACK (set_geometry_callback),g_signal_connect_data ((entry), ("changed"), (((GCallback) (set_geometry_callback ))), (control_window), ((void*)0), (GConnectFlags) 0) |
7894 | control_window)g_signal_connect_data ((entry), ("changed"), (((GCallback) (set_geometry_callback ))), (control_window), ((void*)0), (GConnectFlags) 0); |
7895 | |
7896 | button = ctk_button_new_with_label ("Show gravity test windows"); |
7897 | g_signal_connect_swapped (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( do_gravity_test))), (control_window), ((void*)0), G_CONNECT_SWAPPED ) |
7898 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( do_gravity_test))), (control_window), ((void*)0), G_CONNECT_SWAPPED ) |
7899 | G_CALLBACK (do_gravity_test),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( do_gravity_test))), (control_window), ((void*)0), G_CONNECT_SWAPPED ) |
7900 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( do_gravity_test))), (control_window), ((void*)0), G_CONNECT_SWAPPED ); |
7901 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7902 | |
7903 | G_GNUC_BEGIN_IGNORE_DEPRECATIONSclang diagnostic push
clang diagnostic ignored "-Wdeprecated-declarations" ; |
7904 | button = ctk_button_new_with_label ("Reshow with initial size"); |
7905 | g_signal_connect_object (button, |
7906 | "clicked", |
7907 | G_CALLBACK (ctk_window_reshow_with_initial_size)((GCallback) (ctk_window_reshow_with_initial_size)), |
7908 | window, |
7909 | G_CONNECT_SWAPPED); |
7910 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7911 | G_GNUC_END_IGNORE_DEPRECATIONSclang diagnostic pop ; |
7912 | |
7913 | button = ctk_button_new_with_label ("Queue resize"); |
7914 | g_signal_connect_object (button, |
7915 | "clicked", |
7916 | G_CALLBACK (ctk_widget_queue_resize)((GCallback) (ctk_widget_queue_resize)), |
7917 | window, |
7918 | G_CONNECT_SWAPPED); |
7919 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7920 | |
7921 | button = ctk_button_new_with_label ("Resize"); |
7922 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7923 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7924 | G_CALLBACK (set_size_callback),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7925 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_callback))), (control_window), ((void*)0), (GConnectFlags ) 0); |
7926 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7927 | |
7928 | button = ctk_button_new_with_label ("Set default size"); |
7929 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_default_size_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7930 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_default_size_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7931 | G_CALLBACK (set_default_size_callback),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_default_size_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7932 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_default_size_callback))), (control_window), ((void*)0), ( GConnectFlags) 0); |
7933 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7934 | |
7935 | button = ctk_button_new_with_label ("Unset default size"); |
7936 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_default_size_callback))), (control_window), ((void*)0), (GConnectFlags) 0) |
7937 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_default_size_callback))), (control_window), ((void*)0), (GConnectFlags) 0) |
7938 | G_CALLBACK (unset_default_size_callback),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_default_size_callback))), (control_window), ((void*)0), (GConnectFlags) 0) |
7939 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_default_size_callback))), (control_window), ((void*)0), (GConnectFlags) 0); |
7940 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7941 | |
7942 | button = ctk_button_new_with_label ("Set size request"); |
7943 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_request_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7944 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_request_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7945 | G_CALLBACK (set_size_request_callback),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_request_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7946 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_size_request_callback))), (control_window), ((void*)0), ( GConnectFlags) 0); |
7947 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7948 | |
7949 | button = ctk_button_new_with_label ("Unset size request"); |
7950 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_size_request_callback))), (control_window), ((void*)0), (GConnectFlags) 0) |
7951 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_size_request_callback))), (control_window), ((void*)0), (GConnectFlags) 0) |
7952 | G_CALLBACK (unset_size_request_callback),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_size_request_callback))), (control_window), ((void*)0), (GConnectFlags) 0) |
7953 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( unset_size_request_callback))), (control_window), ((void*)0), (GConnectFlags) 0); |
7954 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7955 | |
7956 | button = ctk_button_new_with_label ("Move"); |
7957 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_location_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7958 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_location_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7959 | G_CALLBACK (set_location_callback),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_location_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7960 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( set_location_callback))), (control_window), ((void*)0), (GConnectFlags ) 0); |
7961 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7962 | |
7963 | button = ctk_button_new_with_label ("Move to current position"); |
7964 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_to_position_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7965 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_to_position_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7966 | G_CALLBACK (move_to_position_callback),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_to_position_callback))), (control_window), ((void*)0), ( GConnectFlags) 0) |
7967 | control_window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( move_to_position_callback))), (control_window), ((void*)0), ( GConnectFlags) 0); |
7968 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7969 | |
7970 | button = ctk_check_button_new_with_label ("Allow resize"); |
7971 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (button)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
7972 | g_signal_connect (button,g_signal_connect_data ((button), ("toggled"), (((GCallback) ( resizable_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7973 | "toggled",g_signal_connect_data ((button), ("toggled"), (((GCallback) ( resizable_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7974 | G_CALLBACK (resizable_callback),g_signal_connect_data ((button), ("toggled"), (((GCallback) ( resizable_callback))), (control_window), ((void*)0), (GConnectFlags ) 0) |
7975 | control_window)g_signal_connect_data ((button), ("toggled"), (((GCallback) ( resizable_callback))), (control_window), ((void*)0), (GConnectFlags ) 0); |
7976 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7977 | |
7978 | button = ctk_button_new_with_mnemonic ("_Show"); |
7979 | g_signal_connect_object (button, |
7980 | "clicked", |
7981 | G_CALLBACK (ctk_widget_show)((GCallback) (ctk_widget_show)), |
7982 | window, |
7983 | G_CONNECT_SWAPPED); |
7984 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7985 | |
7986 | button = ctk_button_new_with_mnemonic ("_Hide"); |
7987 | g_signal_connect_object (button, |
7988 | "clicked", |
7989 | G_CALLBACK (ctk_widget_hide)((GCallback) (ctk_widget_hide)), |
7990 | window, |
7991 | G_CONNECT_SWAPPED); |
7992 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, FALSE(0), FALSE(0), 0); |
7993 | |
7994 | om = ctk_combo_box_text_new (); |
7995 | i = 0; |
7996 | while (i < 10) |
7997 | { |
7998 | static gchar *names[] = { |
7999 | "CDK_GRAVITY_NORTH_WEST", |
8000 | "CDK_GRAVITY_NORTH", |
8001 | "CDK_GRAVITY_NORTH_EAST", |
8002 | "CDK_GRAVITY_WEST", |
8003 | "CDK_GRAVITY_CENTER", |
8004 | "CDK_GRAVITY_EAST", |
8005 | "CDK_GRAVITY_SOUTH_WEST", |
8006 | "CDK_GRAVITY_SOUTH", |
8007 | "CDK_GRAVITY_SOUTH_EAST", |
8008 | "CDK_GRAVITY_STATIC", |
8009 | NULL((void*)0) |
8010 | }; |
8011 | |
8012 | g_assert (names[i])do { if (names[i]) ; else g_assertion_message_expr (((gchar*) 0), "testctk.c", 8012, ((const char*) (__func__)), "names[i]" ); } while (0); |
8013 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (om)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((om)), ((ctk_combo_box_text_get_type ())))))), names[i]); |
8014 | |
8015 | ++i; |
8016 | } |
8017 | |
8018 | g_signal_connect (om,g_signal_connect_data ((om), ("changed"), (((GCallback) (gravity_selected ))), (control_window), ((void*)0), (GConnectFlags) 0) |
8019 | "changed",g_signal_connect_data ((om), ("changed"), (((GCallback) (gravity_selected ))), (control_window), ((void*)0), (GConnectFlags) 0) |
8020 | G_CALLBACK (gravity_selected),g_signal_connect_data ((om), ("changed"), (((GCallback) (gravity_selected ))), (control_window), ((void*)0), (GConnectFlags) 0) |
8021 | control_window)g_signal_connect_data ((om), ("changed"), (((GCallback) (gravity_selected ))), (control_window), ((void*)0), (GConnectFlags) 0); |
8022 | |
8023 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), om, FALSE(0), FALSE(0), 0); |
8024 | |
8025 | |
8026 | om = ctk_combo_box_text_new (); |
8027 | i = 0; |
8028 | while (i < 5) |
8029 | { |
8030 | static gchar *names[] = { |
8031 | "CTK_WIN_POS_NONE", |
8032 | "CTK_WIN_POS_CENTER", |
8033 | "CTK_WIN_POS_MOUSE", |
8034 | "CTK_WIN_POS_CENTER_ALWAYS", |
8035 | "CTK_WIN_POS_CENTER_ON_PARENT", |
8036 | NULL((void*)0) |
8037 | }; |
8038 | |
8039 | g_assert (names[i])do { if (names[i]) ; else g_assertion_message_expr (((gchar*) 0), "testctk.c", 8039, ((const char*) (__func__)), "names[i]" ); } while (0); |
8040 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (om)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((om)), ((ctk_combo_box_text_get_type ())))))), names[i]); |
8041 | |
8042 | ++i; |
8043 | } |
8044 | |
8045 | g_signal_connect (om,g_signal_connect_data ((om), ("changed"), (((GCallback) (pos_selected ))), (control_window), ((void*)0), (GConnectFlags) 0) |
8046 | "changed",g_signal_connect_data ((om), ("changed"), (((GCallback) (pos_selected ))), (control_window), ((void*)0), (GConnectFlags) 0) |
8047 | G_CALLBACK (pos_selected),g_signal_connect_data ((om), ("changed"), (((GCallback) (pos_selected ))), (control_window), ((void*)0), (GConnectFlags) 0) |
8048 | control_window)g_signal_connect_data ((om), ("changed"), (((GCallback) (pos_selected ))), (control_window), ((void*)0), (GConnectFlags) 0); |
8049 | |
8050 | ctk_box_pack_end (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), om, FALSE(0), FALSE(0), 0); |
8051 | |
8052 | ctk_widget_show_all (vbox); |
8053 | |
8054 | return control_window; |
8055 | } |
8056 | |
8057 | void |
8058 | create_window_sizing (CtkWidget *widget) |
8059 | { |
8060 | static CtkWidget *window = NULL((void*)0); |
8061 | static CtkWidget *target_window = NULL((void*)0); |
8062 | |
8063 | if (!target_window) |
8064 | { |
8065 | CtkWidget *label; |
8066 | |
8067 | target_window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
8068 | ctk_window_set_screen (CTK_WINDOW (target_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((target_window)), ((ctk_window_get_type ())))))), |
8069 | ctk_widget_get_screen (widget)); |
8070 | label = ctk_label_new (NULL((void*)0)); |
8071 | ctk_label_set_markup (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), "<span foreground=\"purple\"><big>Window being resized</big></span>\nBlah blah blah blah\nblah blah blah\nblah blah blah blah blah"); |
8072 | ctk_container_add (CTK_CONTAINER (target_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((target_window)), ((ctk_container_get_type ())))))), label); |
8073 | ctk_widget_show (label); |
8074 | |
8075 | g_signal_connect (target_window, "destroy",g_signal_connect_data ((target_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&target_window), ((void*)0), (GConnectFlags) 0) |
8076 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((target_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&target_window), ((void*)0), (GConnectFlags) 0) |
8077 | &target_window)g_signal_connect_data ((target_window), ("destroy"), (((GCallback ) (ctk_widget_destroyed))), (&target_window), ((void*)0), (GConnectFlags) 0); |
8078 | |
8079 | window = window_controls (target_window); |
8080 | |
8081 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
8082 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
8083 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
8084 | |
8085 | ctk_window_set_title (CTK_WINDOW (target_window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((target_window)), ((ctk_window_get_type ())))))), "Window to size"); |
8086 | } |
8087 | |
8088 | /* don't show target window by default, we want to allow testing |
8089 | * of behavior on first show. |
8090 | */ |
8091 | |
8092 | if (!ctk_widget_get_visible (window)) |
8093 | ctk_widget_show (window); |
8094 | else |
8095 | ctk_widget_destroy (window); |
8096 | } |
8097 | |
8098 | /* |
8099 | * CtkProgressBar |
8100 | */ |
8101 | |
8102 | typedef struct _ProgressData { |
8103 | CtkWidget *window; |
8104 | CtkWidget *pbar; |
8105 | CtkWidget *block_spin; |
8106 | CtkWidget *x_align_spin; |
8107 | CtkWidget *y_align_spin; |
8108 | CtkWidget *step_spin; |
8109 | CtkWidget *act_blocks_spin; |
8110 | CtkWidget *label; |
8111 | CtkWidget *omenu1; |
8112 | CtkWidget *elmenu; |
8113 | CtkWidget *omenu2; |
8114 | CtkWidget *entry; |
8115 | int timer; |
8116 | gboolean activity; |
8117 | } ProgressData; |
8118 | |
8119 | gboolean |
8120 | progress_timeout (gpointer data) |
8121 | { |
8122 | ProgressData *pdata = data; |
8123 | gdouble new_val; |
8124 | gchar *text; |
8125 | |
8126 | if (pdata->activity) |
8127 | { |
8128 | ctk_progress_bar_pulse (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ()))))))); |
8129 | |
8130 | text = g_strdup_printf ("%s", "???"); |
8131 | } |
8132 | else |
8133 | { |
8134 | new_val = ctk_progress_bar_get_fraction (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ()))))))) + 0.01; |
8135 | if (new_val > 1.00) |
8136 | new_val = 0.00; |
8137 | ctk_progress_bar_set_fraction (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ())))))), new_val); |
8138 | |
8139 | text = g_strdup_printf ("%.0f%%", 100 * new_val); |
8140 | } |
8141 | |
8142 | ctk_label_set_text (CTK_LABEL (pdata->label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->label)), ((ctk_label_get_type ())))))), text); |
8143 | g_free (text); |
8144 | |
8145 | return TRUE(!(0)); |
8146 | } |
8147 | |
8148 | static void |
8149 | destroy_progress (CtkWidget *widget, |
8150 | ProgressData **pdata) |
8151 | { |
8152 | if ((*pdata)->timer) |
8153 | { |
8154 | g_source_remove ((*pdata)->timer); |
8155 | (*pdata)->timer = 0; |
8156 | } |
8157 | (*pdata)->window = NULL((void*)0); |
8158 | g_free (*pdata); |
8159 | *pdata = NULL((void*)0); |
8160 | } |
8161 | |
8162 | static void |
8163 | progressbar_toggle_orientation (CtkWidget *widget, gpointer data) |
8164 | { |
8165 | ProgressData *pdata; |
8166 | gint i; |
8167 | |
8168 | pdata = (ProgressData *) data; |
8169 | |
8170 | if (!ctk_widget_get_mapped (widget)) |
8171 | return; |
8172 | |
8173 | i = ctk_combo_box_get_active (CTK_COMBO_BOX (widget)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_combo_box_get_type ()))))))); |
8174 | |
8175 | if (i == 0 || i == 1) |
8176 | ctk_orientable_set_orientation (CTK_ORIENTABLE (pdata->pbar)((((CtkOrientable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_orientable_get_type ())))))), CTK_ORIENTATION_HORIZONTAL); |
8177 | else |
8178 | ctk_orientable_set_orientation (CTK_ORIENTABLE (pdata->pbar)((((CtkOrientable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_orientable_get_type ())))))), CTK_ORIENTATION_VERTICAL); |
8179 | |
8180 | if (i == 1 || i == 2) |
8181 | ctk_progress_bar_set_inverted (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ())))))), TRUE(!(0))); |
8182 | else |
8183 | ctk_progress_bar_set_inverted (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ())))))), FALSE(0)); |
8184 | } |
8185 | |
8186 | static void |
8187 | toggle_show_text (CtkWidget *widget, ProgressData *pdata) |
8188 | { |
8189 | gboolean active; |
8190 | |
8191 | active = ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (widget)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_toggle_button_get_type ()))))))); |
8192 | ctk_progress_bar_set_show_text (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ())))))), active); |
8193 | } |
8194 | |
8195 | static void |
8196 | progressbar_toggle_ellipsize (CtkWidget *widget, |
8197 | gpointer data) |
8198 | { |
8199 | if (ctk_widget_is_drawable (widget)) |
8200 | { |
8201 | ProgressData *pdata = data; |
8202 | gint i = ctk_combo_box_get_active (CTK_COMBO_BOX (widget)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_combo_box_get_type ()))))))); |
8203 | ctk_progress_bar_set_ellipsize (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ())))))), i); |
8204 | } |
8205 | } |
8206 | |
8207 | static void |
8208 | toggle_activity_mode (CtkWidget *widget, ProgressData *pdata) |
8209 | { |
8210 | pdata->activity = ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (widget)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_toggle_button_get_type ()))))))); |
8211 | } |
8212 | |
8213 | static void |
8214 | toggle_running (CtkWidget *widget, ProgressData *pdata) |
8215 | { |
8216 | if (ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (widget)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_toggle_button_get_type ())))))))) |
8217 | { |
8218 | if (pdata->timer == 0) |
8219 | pdata->timer = g_timeout_add (100, (GSourceFunc)progress_timeout, pdata); |
8220 | } |
8221 | else |
8222 | { |
8223 | if (pdata->timer != 0) |
8224 | { |
8225 | g_source_remove (pdata->timer); |
8226 | pdata->timer = 0; |
8227 | } |
8228 | } |
8229 | } |
8230 | |
8231 | static void |
8232 | entry_changed (CtkWidget *widget, ProgressData *pdata) |
8233 | { |
8234 | ctk_progress_bar_set_text (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ())))))), |
8235 | ctk_entry_get_text (CTK_ENTRY (pdata->entry)((((CtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->entry)), ((ctk_entry_get_type ())))))))); |
8236 | } |
8237 | |
8238 | void |
8239 | create_progress_bar (CtkWidget *widget) |
8240 | { |
8241 | static ProgressData *pdata = NULL((void*)0); |
8242 | |
8243 | if (!pdata) |
8244 | pdata = g_new0 (ProgressData, 1)((ProgressData *) g_malloc0_n ((1), sizeof (ProgressData))); |
8245 | |
8246 | if (!pdata->window) |
8247 | { |
8248 | CtkWidget *content_area; |
8249 | CtkWidget *vbox; |
8250 | CtkWidget *vbox2; |
8251 | CtkWidget *hbox; |
8252 | CtkWidget *check; |
8253 | CtkWidget *frame; |
8254 | CtkWidget *grid; |
8255 | CtkWidget *label; |
8256 | |
8257 | static gchar *items1[] = |
8258 | { |
8259 | "Left-Right", |
8260 | "Right-Left", |
8261 | "Bottom-Top", |
8262 | "Top-Bottom" |
8263 | }; |
8264 | |
8265 | static char *ellipsize_items[] = |
8266 | { |
8267 | "None", // PANGO_ELLIPSIZE_NONE, |
8268 | "Start", // PANGO_ELLIPSIZE_START, |
8269 | "Middle", // PANGO_ELLIPSIZE_MIDDLE, |
8270 | "End", // PANGO_ELLIPSIZE_END |
8271 | }; |
8272 | |
8273 | pdata->window = ctk_dialog_new (); |
8274 | |
8275 | ctk_window_set_screen (CTK_WINDOW (pdata->window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->window)), ((ctk_window_get_type ())))))), |
8276 | ctk_widget_get_screen (widget)); |
8277 | |
8278 | ctk_window_set_resizable (CTK_WINDOW (pdata->window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->window)), ((ctk_window_get_type ())))))), TRUE(!(0))); |
8279 | |
8280 | g_signal_connect (pdata->window, "destroy",g_signal_connect_data ((pdata->window), ("destroy"), (((GCallback ) (destroy_progress))), (&pdata), ((void*)0), (GConnectFlags ) 0) |
8281 | G_CALLBACK (destroy_progress),g_signal_connect_data ((pdata->window), ("destroy"), (((GCallback ) (destroy_progress))), (&pdata), ((void*)0), (GConnectFlags ) 0) |
8282 | &pdata)g_signal_connect_data ((pdata->window), ("destroy"), (((GCallback ) (destroy_progress))), (&pdata), ((void*)0), (GConnectFlags ) 0); |
8283 | pdata->timer = 0; |
8284 | |
8285 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (pdata->window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->window)), ((ctk_dialog_get_type ()))))))); |
8286 | |
8287 | ctk_window_set_title (CTK_WINDOW (pdata->window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->window)), ((ctk_window_get_type ())))))), "CtkProgressBar"); |
8288 | ctk_container_set_border_width (CTK_CONTAINER (pdata->window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->window)), ((ctk_container_get_type ())))))), 0); |
8289 | |
8290 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
8291 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 10); |
8292 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), vbox, FALSE(0), TRUE(!(0)), 0); |
8293 | |
8294 | frame = ctk_frame_new ("Progress"); |
8295 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), TRUE(!(0)), 0); |
8296 | |
8297 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
8298 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), vbox2); |
8299 | |
8300 | pdata->pbar = ctk_progress_bar_new (); |
8301 | ctk_progress_bar_set_ellipsize (CTK_PROGRESS_BAR (pdata->pbar)((((CtkProgressBar*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->pbar)), ((ctk_progress_bar_get_type ())))))), |
8302 | PANGO_ELLIPSIZE_MIDDLE); |
8303 | ctk_widget_set_halign (pdata->pbar, CTK_ALIGN_CENTER); |
8304 | ctk_widget_set_valign (pdata->pbar, CTK_ALIGN_CENTER); |
8305 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), pdata->pbar, FALSE(0), FALSE(0), 5); |
8306 | |
8307 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 5); |
8308 | ctk_widget_set_halign (hbox, CTK_ALIGN_CENTER); |
8309 | ctk_widget_set_valign (hbox, CTK_ALIGN_CENTER); |
8310 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), hbox, FALSE(0), FALSE(0), 5); |
8311 | label = ctk_label_new ("Label updated by user :"); |
8312 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
8313 | pdata->label = ctk_label_new (""); |
8314 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), pdata->label, FALSE(0), TRUE(!(0)), 0); |
8315 | |
8316 | frame = ctk_frame_new ("Options"); |
8317 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), frame, FALSE(0), TRUE(!(0)), 0); |
8318 | |
8319 | vbox2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
8320 | ctk_container_add (CTK_CONTAINER (frame)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((frame)), ((ctk_container_get_type ())))))), vbox2); |
8321 | |
8322 | grid = ctk_grid_new (); |
8323 | ctk_grid_set_row_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 10); |
8324 | ctk_grid_set_column_spacing (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), 10); |
8325 | ctk_box_pack_start (CTK_BOX (vbox2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox2)), ((ctk_box_get_type ())))))), grid, FALSE(0), TRUE(!(0)), 0); |
8326 | |
8327 | label = ctk_label_new ("Orientation :"); |
8328 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), label, 0, 0, 1, 1); |
8329 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
8330 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
8331 | |
8332 | pdata->omenu1 = build_option_menu (items1, 4, 0, |
8333 | progressbar_toggle_orientation, |
8334 | pdata); |
8335 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), pdata->omenu1, 1, 0, 1, 1); |
8336 | |
8337 | check = ctk_check_button_new_with_label ("Running"); |
8338 | g_signal_connect (check, "toggled",g_signal_connect_data ((check), ("toggled"), (((GCallback) (toggle_running ))), (pdata), ((void*)0), (GConnectFlags) 0) |
8339 | G_CALLBACK (toggle_running),g_signal_connect_data ((check), ("toggled"), (((GCallback) (toggle_running ))), (pdata), ((void*)0), (GConnectFlags) 0) |
8340 | pdata)g_signal_connect_data ((check), ("toggled"), (((GCallback) (toggle_running ))), (pdata), ((void*)0), (GConnectFlags) 0); |
8341 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check, 0, 1, 2, 1); |
8342 | ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (check)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((check)), ((ctk_toggle_button_get_type ())))))), TRUE(!(0))); |
8343 | |
8344 | check = ctk_check_button_new_with_label ("Show text"); |
8345 | g_signal_connect (check, "clicked",g_signal_connect_data ((check), ("clicked"), (((GCallback) (toggle_show_text ))), (pdata), ((void*)0), (GConnectFlags) 0) |
8346 | G_CALLBACK (toggle_show_text),g_signal_connect_data ((check), ("clicked"), (((GCallback) (toggle_show_text ))), (pdata), ((void*)0), (GConnectFlags) 0) |
8347 | pdata)g_signal_connect_data ((check), ("clicked"), (((GCallback) (toggle_show_text ))), (pdata), ((void*)0), (GConnectFlags) 0); |
8348 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check, 0, 2, 1, 1); |
8349 | |
8350 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
8351 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), hbox, 1, 2, 1, 1); |
8352 | |
8353 | label = ctk_label_new ("Text: "); |
8354 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), label, FALSE(0), TRUE(!(0)), 0); |
8355 | |
8356 | pdata->entry = ctk_entry_new (); |
8357 | ctk_widget_set_hexpand (pdata->entry, TRUE(!(0))); |
8358 | g_signal_connect (pdata->entry, "changed",g_signal_connect_data ((pdata->entry), ("changed"), (((GCallback ) (entry_changed))), (pdata), ((void*)0), (GConnectFlags) 0) |
8359 | G_CALLBACK (entry_changed),g_signal_connect_data ((pdata->entry), ("changed"), (((GCallback ) (entry_changed))), (pdata), ((void*)0), (GConnectFlags) 0) |
8360 | pdata)g_signal_connect_data ((pdata->entry), ("changed"), (((GCallback ) (entry_changed))), (pdata), ((void*)0), (GConnectFlags) 0); |
8361 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), pdata->entry, TRUE(!(0)), TRUE(!(0)), 0); |
8362 | ctk_widget_set_size_request (pdata->entry, 100, -1); |
8363 | |
8364 | label = ctk_label_new ("Ellipsize text :"); |
8365 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), label, 0, 10, 1, 1); |
8366 | |
8367 | ctk_widget_set_halign (label, CTK_ALIGN_START); |
8368 | ctk_widget_set_valign (label, CTK_ALIGN_CENTER); |
8369 | pdata->elmenu = build_option_menu (ellipsize_items, |
8370 | sizeof (ellipsize_items) / sizeof (ellipsize_items[0]), |
8371 | 2, // PANGO_ELLIPSIZE_MIDDLE |
8372 | progressbar_toggle_ellipsize, |
8373 | pdata); |
8374 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), pdata->elmenu, 1, 10, 1, 1); |
8375 | |
8376 | check = ctk_check_button_new_with_label ("Activity mode"); |
8377 | g_signal_connect (check, "clicked",g_signal_connect_data ((check), ("clicked"), (((GCallback) (toggle_activity_mode ))), (pdata), ((void*)0), (GConnectFlags) 0) |
8378 | G_CALLBACK (toggle_activity_mode), pdata)g_signal_connect_data ((check), ("clicked"), (((GCallback) (toggle_activity_mode ))), (pdata), ((void*)0), (GConnectFlags) 0); |
8379 | ctk_grid_attach (CTK_GRID (grid)((((CtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((grid)), ((ctk_grid_get_type ())))))), check, 0, 15, 1, 1); |
8380 | |
8381 | ctk_dialog_add_button (CTK_DIALOG (pdata->window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((pdata->window)), ((ctk_dialog_get_type ())))))), "Close", CTK_RESPONSE_CLOSE); |
8382 | g_signal_connect (pdata->window, "response",g_signal_connect_data ((pdata->window), ("response"), (((GCallback ) (ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
8383 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((pdata->window), ("response"), (((GCallback ) (ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
8384 | NULL)g_signal_connect_data ((pdata->window), ("response"), (((GCallback ) (ctk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
8385 | } |
8386 | |
8387 | if (!ctk_widget_get_visible (pdata->window)) |
8388 | ctk_widget_show_all (pdata->window); |
8389 | else |
8390 | ctk_widget_destroy (pdata->window); |
8391 | } |
8392 | |
8393 | /* |
8394 | * Properties |
8395 | */ |
8396 | |
8397 | typedef struct { |
8398 | int x; |
8399 | int y; |
8400 | gboolean found; |
8401 | gboolean first; |
8402 | CtkWidget *res_widget; |
8403 | } FindWidgetData; |
8404 | |
8405 | static void |
8406 | find_widget (CtkWidget *widget, FindWidgetData *data) |
8407 | { |
8408 | CtkAllocation new_allocation; |
8409 | gint x_offset = 0; |
8410 | gint y_offset = 0; |
8411 | |
8412 | ctk_widget_get_allocation (widget, &new_allocation); |
8413 | |
8414 | if (data->found || !ctk_widget_get_mapped (widget)) |
8415 | return; |
8416 | |
8417 | /* Note that in the following code, we only count the |
8418 | * position as being inside a WINDOW widget if it is inside |
8419 | * widget->window; points that are outside of widget->window |
8420 | * but within the allocation are not counted. This is consistent |
8421 | * with the way we highlight drag targets. |
8422 | */ |
8423 | if (ctk_widget_get_has_window (widget)) |
8424 | { |
8425 | new_allocation.x = 0; |
8426 | new_allocation.y = 0; |
8427 | } |
8428 | |
8429 | if (ctk_widget_get_parent (widget) && !data->first) |
8430 | { |
8431 | CdkWindow *window = ctk_widget_get_window (widget); |
8432 | while (window != ctk_widget_get_window (ctk_widget_get_parent (widget))) |
8433 | { |
8434 | gint tx, ty, twidth, theight; |
8435 | |
8436 | twidth = cdk_window_get_width (window); |
8437 | theight = cdk_window_get_height (window); |
8438 | |
8439 | if (new_allocation.x < 0) |
8440 | { |
8441 | new_allocation.width += new_allocation.x; |
8442 | new_allocation.x = 0; |
8443 | } |
8444 | if (new_allocation.y < 0) |
8445 | { |
8446 | new_allocation.height += new_allocation.y; |
8447 | new_allocation.y = 0; |
8448 | } |
8449 | if (new_allocation.x + new_allocation.width > twidth) |
8450 | new_allocation.width = twidth - new_allocation.x; |
8451 | if (new_allocation.y + new_allocation.height > theight) |
8452 | new_allocation.height = theight - new_allocation.y; |
8453 | |
8454 | cdk_window_get_position (window, &tx, &ty); |
8455 | new_allocation.x += tx; |
8456 | x_offset += tx; |
8457 | new_allocation.y += ty; |
8458 | y_offset += ty; |
8459 | |
8460 | window = cdk_window_get_parent (window); |
8461 | } |
8462 | } |
8463 | |
8464 | if ((data->x >= new_allocation.x) && (data->y >= new_allocation.y) && |
8465 | (data->x < new_allocation.x + new_allocation.width) && |
8466 | (data->y < new_allocation.y + new_allocation.height)) |
8467 | { |
8468 | /* First, check if the drag is in a valid drop site in |
8469 | * one of our children |
8470 | */ |
8471 | if (CTK_IS_CONTAINER (widget)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (widget)); GType __t = ((ctk_container_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
8472 | { |
8473 | FindWidgetData new_data = *data; |
8474 | |
8475 | new_data.x -= x_offset; |
8476 | new_data.y -= y_offset; |
8477 | new_data.found = FALSE(0); |
8478 | new_data.first = FALSE(0); |
8479 | |
8480 | ctk_container_forall (CTK_CONTAINER (widget)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_container_get_type ())))))), |
8481 | (CtkCallback)find_widget, |
8482 | &new_data); |
8483 | |
8484 | data->found = new_data.found; |
8485 | if (data->found) |
8486 | data->res_widget = new_data.res_widget; |
8487 | } |
8488 | |
8489 | /* If not, and this widget is registered as a drop site, check to |
8490 | * emit "drag_motion" to check if we are actually in |
8491 | * a drop site. |
8492 | */ |
8493 | if (!data->found) |
8494 | { |
8495 | data->found = TRUE(!(0)); |
8496 | data->res_widget = widget; |
8497 | } |
8498 | } |
8499 | } |
8500 | |
8501 | static CtkWidget * |
8502 | find_widget_at_pointer (CdkDevice *device) |
8503 | { |
8504 | CtkWidget *widget = NULL((void*)0); |
8505 | CdkWindow *pointer_window; |
8506 | gint x, y; |
8507 | FindWidgetData data; |
8508 | |
8509 | pointer_window = cdk_device_get_window_at_position (device, NULL((void*)0), NULL((void*)0)); |
8510 | |
8511 | if (pointer_window) |
8512 | { |
8513 | gpointer widget_ptr; |
8514 | |
8515 | cdk_window_get_user_data (pointer_window, &widget_ptr); |
8516 | widget = widget_ptr; |
8517 | } |
8518 | |
8519 | if (widget) |
8520 | { |
8521 | cdk_window_get_device_position (ctk_widget_get_window (widget), |
8522 | device, |
8523 | &x, &y, NULL((void*)0)); |
8524 | |
8525 | data.x = x; |
8526 | data.y = y; |
8527 | data.found = FALSE(0); |
8528 | data.first = TRUE(!(0)); |
8529 | |
8530 | find_widget (widget, &data); |
8531 | if (data.found) |
8532 | return data.res_widget; |
8533 | return widget; |
8534 | } |
8535 | return NULL((void*)0); |
8536 | } |
8537 | |
8538 | struct SnapshotData { |
8539 | CtkWidget *toplevel_button; |
8540 | CtkWidget **window; |
8541 | CdkCursor *cursor; |
8542 | gboolean in_query; |
8543 | gboolean is_toplevel; |
8544 | gint handler; |
8545 | }; |
8546 | |
8547 | static void |
8548 | destroy_snapshot_data (CtkWidget *widget, |
8549 | struct SnapshotData *data) |
8550 | { |
8551 | if (*data->window) |
8552 | *data->window = NULL((void*)0); |
8553 | |
8554 | if (data->cursor) |
8555 | { |
8556 | g_object_unref (data->cursor); |
8557 | data->cursor = NULL((void*)0); |
8558 | } |
8559 | |
8560 | if (data->handler) |
8561 | { |
8562 | g_signal_handler_disconnect (widget, data->handler); |
8563 | data->handler = 0; |
8564 | } |
8565 | |
8566 | g_free (data); |
8567 | } |
8568 | |
8569 | static gint |
8570 | snapshot_widget_event (CtkWidget *widget, |
8571 | CdkEvent *event, |
8572 | struct SnapshotData *data) |
8573 | { |
8574 | CtkWidget *res_widget = NULL((void*)0); |
8575 | |
8576 | if (!data->in_query) |
8577 | return FALSE(0); |
8578 | |
8579 | if (event->type == CDK_BUTTON_RELEASE) |
8580 | { |
8581 | ctk_grab_remove (widget); |
8582 | cdk_seat_ungrab (cdk_event_get_seat (event)); |
8583 | |
8584 | res_widget = find_widget_at_pointer (cdk_event_get_device (event)); |
8585 | if (data->is_toplevel && res_widget) |
8586 | res_widget = ctk_widget_get_toplevel (res_widget); |
8587 | if (res_widget) |
8588 | { |
8589 | cairo_surface_t *surface; |
8590 | CtkWidget *window, *image; |
8591 | GdkPixbuf *pixbuf; |
8592 | int width, height; |
8593 | cairo_t *cr; |
8594 | |
8595 | width = ctk_widget_get_allocated_width (res_widget); |
8596 | height = ctk_widget_get_allocated_height (res_widget); |
8597 | |
8598 | surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); |
8599 | |
8600 | cr = cairo_create (surface); |
8601 | ctk_widget_draw (res_widget, cr); |
8602 | cairo_destroy (cr); |
8603 | |
8604 | pixbuf = gdk_pixbuf_get_from_surface (surface, |
8605 | 0, 0, |
8606 | width, height); |
8607 | cairo_surface_destroy (surface); |
8608 | |
8609 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
8610 | image = ctk_image_new_from_pixbuf (pixbuf); |
8611 | g_object_unref (pixbuf); |
8612 | |
8613 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), image); |
8614 | ctk_widget_show_all (window); |
8615 | } |
8616 | |
8617 | data->in_query = FALSE(0); |
8618 | } |
8619 | return FALSE(0); |
8620 | } |
8621 | |
8622 | |
8623 | static void |
8624 | snapshot_widget (CtkButton *button, |
8625 | struct SnapshotData *data) |
8626 | { |
8627 | CtkWidget *widget = CTK_WIDGET (button)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((button)), ((ctk_widget_get_type ())))))); |
8628 | CdkDevice *device; |
8629 | |
8630 | device = ctk_get_current_event_device (); |
8631 | if (device == NULL((void*)0)) |
8632 | return; |
8633 | |
8634 | data->is_toplevel = widget == data->toplevel_button; |
8635 | |
8636 | if (!data->cursor) |
8637 | data->cursor = cdk_cursor_new_for_display (ctk_widget_get_display (widget), |
8638 | CDK_TARGET); |
8639 | |
8640 | cdk_seat_grab (cdk_device_get_seat (device), |
8641 | ctk_widget_get_window (widget), |
8642 | CDK_SEAT_CAPABILITY_ALL_POINTING, |
8643 | TRUE(!(0)), data->cursor, NULL((void*)0), NULL((void*)0), NULL((void*)0)); |
8644 | |
8645 | g_signal_connect (button, "event",g_signal_connect_data ((button), ("event"), (((GCallback) (snapshot_widget_event ))), (data), ((void*)0), (GConnectFlags) 0) |
8646 | G_CALLBACK (snapshot_widget_event), data)g_signal_connect_data ((button), ("event"), (((GCallback) (snapshot_widget_event ))), (data), ((void*)0), (GConnectFlags) 0); |
8647 | |
8648 | ctk_grab_add (widget); |
8649 | |
8650 | data->in_query = TRUE(!(0)); |
8651 | } |
8652 | |
8653 | static void |
8654 | create_snapshot (CtkWidget *widget) |
8655 | { |
8656 | static CtkWidget *window = NULL((void*)0); |
8657 | struct SnapshotData *data; |
8658 | |
8659 | data = g_new (struct SnapshotData, 1)((struct SnapshotData *) g_malloc_n ((1), sizeof (struct SnapshotData ))); |
8660 | data->window = &window; |
8661 | data->in_query = FALSE(0); |
8662 | data->cursor = NULL((void*)0); |
8663 | data->handler = 0; |
8664 | |
8665 | if (!window) |
8666 | { |
8667 | CtkWidget *button; |
8668 | CtkWidget *vbox; |
8669 | |
8670 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
8671 | |
8672 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
8673 | ctk_widget_get_screen (widget)); |
8674 | |
8675 | data->handler = g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( destroy_snapshot_data))), (data), ((void*)0), (GConnectFlags) 0) |
8676 | G_CALLBACK (destroy_snapshot_data),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( destroy_snapshot_data))), (data), ((void*)0), (GConnectFlags) 0) |
8677 | data)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( destroy_snapshot_data))), (data), ((void*)0), (GConnectFlags) 0); |
8678 | |
8679 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "test snapshot"); |
8680 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 10); |
8681 | |
8682 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 1); |
8683 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), vbox); |
8684 | |
8685 | button = ctk_button_new_with_label ("Snapshot widget"); |
8686 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
8687 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( snapshot_widget))), (data), ((void*)0), (GConnectFlags) 0) |
8688 | G_CALLBACK (snapshot_widget),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( snapshot_widget))), (data), ((void*)0), (GConnectFlags) 0) |
8689 | data)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( snapshot_widget))), (data), ((void*)0), (GConnectFlags) 0); |
8690 | |
8691 | button = ctk_button_new_with_label ("Snapshot toplevel"); |
8692 | data->toplevel_button = button; |
8693 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
8694 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( snapshot_widget))), (data), ((void*)0), (GConnectFlags) 0) |
8695 | G_CALLBACK (snapshot_widget),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( snapshot_widget))), (data), ((void*)0), (GConnectFlags) 0) |
8696 | data)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( snapshot_widget))), (data), ((void*)0), (GConnectFlags) 0); |
8697 | } |
8698 | |
8699 | if (!ctk_widget_get_visible (window)) |
8700 | ctk_widget_show_all (window); |
8701 | else |
8702 | ctk_widget_destroy (window); |
8703 | |
8704 | } |
8705 | |
8706 | /* |
8707 | * Selection Test |
8708 | */ |
8709 | |
8710 | void |
8711 | selection_test_received (CtkWidget *tree_view, |
8712 | CtkSelectionData *selection_data) |
8713 | { |
8714 | CtkTreeModel *model; |
8715 | CtkListStore *store; |
8716 | CdkAtom *atoms; |
8717 | int i, l; |
8718 | |
8719 | if (ctk_selection_data_get_length (selection_data) < 0) |
8720 | { |
8721 | g_print ("Selection retrieval failed\n"); |
8722 | return; |
8723 | } |
8724 | if (ctk_selection_data_get_data_type (selection_data) != CDK_SELECTION_TYPE_ATOM((CdkAtom)((gpointer) (gulong) (4)))) |
8725 | { |
8726 | g_print ("Selection \"TARGETS\" was not returned as atoms!\n"); |
8727 | return; |
8728 | } |
8729 | |
8730 | /* Clear out any current list items */ |
8731 | |
8732 | model = ctk_tree_view_get_model (CTK_TREE_VIEW (tree_view)((((CtkTreeView*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((tree_view)), ((ctk_tree_view_get_type ()))))))); |
8733 | store = CTK_LIST_STORE (model)((((CtkListStore*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((model)), ((ctk_list_store_get_type ())))))); |
8734 | ctk_list_store_clear (store); |
8735 | |
8736 | /* Add new items to list */ |
8737 | |
8738 | ctk_selection_data_get_targets (selection_data, |
8739 | &atoms, &l); |
8740 | |
8741 | for (i = 0; i < l; i++) |
8742 | { |
8743 | char *name; |
8744 | CtkTreeIter iter; |
8745 | |
8746 | name = cdk_atom_name (atoms[i]); |
8747 | if (name != NULL((void*)0)) |
8748 | { |
8749 | ctk_list_store_insert_with_values (store, &iter, i, 0, name, -1); |
8750 | g_free (name); |
8751 | } |
8752 | else |
8753 | ctk_list_store_insert_with_values (store, &iter, i, 0, "(bad atom)", -1); |
8754 | } |
8755 | |
8756 | return; |
8757 | } |
8758 | |
8759 | void |
8760 | selection_test_get_targets (CtkWidget *dialog, gint response, CtkWidget *tree_view) |
8761 | { |
8762 | static CdkAtom targets_atom = CDK_NONE((CdkAtom)((gpointer) (gulong) (0))); |
8763 | |
8764 | if (response != CTK_RESPONSE_APPLY) |
8765 | { |
8766 | ctk_widget_destroy (dialog); |
8767 | return; |
8768 | } |
8769 | |
8770 | if (targets_atom == CDK_NONE((CdkAtom)((gpointer) (gulong) (0)))) |
8771 | targets_atom = cdk_atom_intern ("TARGETS", FALSE(0)); |
8772 | |
8773 | ctk_selection_convert (tree_view, CDK_SELECTION_PRIMARY((CdkAtom)((gpointer) (gulong) (1))), targets_atom, |
8774 | CDK_CURRENT_TIME0L); |
8775 | } |
8776 | |
8777 | void |
8778 | create_selection_test (CtkWidget *widget) |
8779 | { |
8780 | static CtkWidget *window = NULL((void*)0); |
8781 | |
8782 | if (!window) |
8783 | { |
8784 | CtkWidget *content_area; |
8785 | CtkWidget *vbox; |
8786 | CtkWidget *scrolled_win; |
8787 | CtkListStore* store; |
8788 | CtkWidget *tree_view; |
8789 | CtkTreeViewColumn *column; |
8790 | CtkCellRenderer *renderer; |
8791 | CtkWidget *label; |
8792 | |
8793 | window = ctk_dialog_new (); |
8794 | |
8795 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
8796 | ctk_widget_get_screen (widget)); |
8797 | |
8798 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
8799 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
8800 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
8801 | |
8802 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
8803 | |
8804 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Selection Test"); |
8805 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
8806 | |
8807 | /* Create the list */ |
8808 | |
8809 | vbox = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
8810 | ctk_container_set_border_width (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_container_get_type ())))))), 10); |
8811 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), vbox, TRUE(!(0)), TRUE(!(0)), 0); |
8812 | |
8813 | label = ctk_label_new ("Gets available targets for current selection"); |
8814 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
8815 | |
8816 | scrolled_win = ctk_scrolled_window_new (NULL((void*)0), NULL((void*)0)); |
8817 | ctk_scrolled_window_set_policy (CTK_SCROLLED_WINDOW (scrolled_win)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled_win)), ((ctk_scrolled_window_get_type ())))))), |
8818 | CTK_POLICY_AUTOMATIC, |
8819 | CTK_POLICY_AUTOMATIC); |
8820 | ctk_box_pack_start (CTK_BOX (vbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((vbox)), ((ctk_box_get_type ())))))), scrolled_win, TRUE(!(0)), TRUE(!(0)), 0); |
8821 | ctk_widget_set_size_request (scrolled_win, 100, 200); |
8822 | |
8823 | store = ctk_list_store_new (1, G_TYPE_STRING((GType) ((16) << (2)))); |
8824 | tree_view = ctk_tree_view_new_with_model (CTK_TREE_MODEL (store)((((CtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((store)), ((ctk_tree_model_get_type ()))))))); |
8825 | ctk_container_add (CTK_CONTAINER (scrolled_win)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled_win)), ((ctk_container_get_type ())))))), tree_view); |
8826 | |
8827 | renderer = ctk_cell_renderer_text_new (); |
8828 | column = ctk_tree_view_column_new_with_attributes ("Target", renderer, |
8829 | "text", 0, NULL((void*)0)); |
8830 | ctk_tree_view_append_column (CTK_TREE_VIEW (tree_view)((((CtkTreeView*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((tree_view)), ((ctk_tree_view_get_type ())))))), column); |
8831 | |
8832 | g_signal_connect (tree_view, "selection_received",g_signal_connect_data ((tree_view), ("selection_received"), ( ((GCallback) (selection_test_received))), (((void*)0)), ((void *)0), (GConnectFlags) 0) |
8833 | G_CALLBACK (selection_test_received), NULL)g_signal_connect_data ((tree_view), ("selection_received"), ( ((GCallback) (selection_test_received))), (((void*)0)), ((void *)0), (GConnectFlags) 0); |
8834 | |
8835 | /* .. And create some buttons */ |
8836 | ctk_dialog_add_button (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ())))))), |
8837 | "Get Targets", |
8838 | CTK_RESPONSE_APPLY); |
8839 | |
8840 | g_signal_connect (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( selection_test_get_targets))), (tree_view), ((void*)0), (GConnectFlags ) 0) |
8841 | G_CALLBACK (selection_test_get_targets), tree_view)g_signal_connect_data ((window), ("response"), (((GCallback) ( selection_test_get_targets))), (tree_view), ((void*)0), (GConnectFlags ) 0); |
8842 | |
8843 | ctk_dialog_add_button (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ())))))), |
8844 | "Quit", |
8845 | CTK_RESPONSE_CLOSE); |
8846 | } |
8847 | |
8848 | if (!ctk_widget_get_visible (window)) |
8849 | ctk_widget_show_all (window); |
8850 | else |
8851 | ctk_widget_destroy (window); |
8852 | } |
8853 | |
8854 | /* |
8855 | * Test scrolling |
8856 | */ |
8857 | |
8858 | static int scroll_test_pos = 0.0; |
8859 | |
8860 | static gint |
8861 | scroll_test_draw (CtkWidget *widget, |
8862 | cairo_t *cr, |
8863 | CtkAdjustment *adjustment) |
8864 | { |
8865 | gint i,j; |
8866 | gint imin, imax, jmin, jmax; |
8867 | CdkRectangle clip; |
8868 | |
8869 | cdk_cairo_get_clip_rectangle (cr, &clip); |
8870 | |
8871 | imin = (clip.x) / 10; |
8872 | imax = (clip.x + clip.width + 9) / 10; |
8873 | |
8874 | jmin = ((int)ctk_adjustment_get_value (adjustment) + clip.y) / 10; |
8875 | jmax = ((int)ctk_adjustment_get_value (adjustment) + clip.y + clip.height + 9) / 10; |
8876 | |
8877 | for (i=imin; i<imax; i++) |
8878 | for (j=jmin; j<jmax; j++) |
8879 | if ((i+j) % 2) |
8880 | cairo_rectangle (cr, 10*i, 10*j - (int)ctk_adjustment_get_value (adjustment), 1+i%10, 1+j%10); |
8881 | |
8882 | cairo_fill (cr); |
8883 | |
8884 | return TRUE(!(0)); |
8885 | } |
8886 | |
8887 | static gint |
8888 | scroll_test_scroll (CtkWidget *widget, CdkEventScroll *event, |
8889 | CtkAdjustment *adjustment) |
8890 | { |
8891 | gdouble new_value = ctk_adjustment_get_value (adjustment) + ((event->direction == CDK_SCROLL_UP) ? |
8892 | -ctk_adjustment_get_page_increment (adjustment) / 2: |
8893 | ctk_adjustment_get_page_increment (adjustment) / 2); |
8894 | new_value = CLAMP (new_value, ctk_adjustment_get_lower (adjustment), ctk_adjustment_get_upper (adjustment) - ctk_adjustment_get_page_size (adjustment))(((new_value) > (ctk_adjustment_get_upper (adjustment) - ctk_adjustment_get_page_size (adjustment))) ? (ctk_adjustment_get_upper (adjustment) - ctk_adjustment_get_page_size (adjustment)) : (((new_value) < (ctk_adjustment_get_lower (adjustment))) ? (ctk_adjustment_get_lower (adjustment)) : ( new_value))); |
8895 | ctk_adjustment_set_value (adjustment, new_value); |
8896 | |
8897 | return TRUE(!(0)); |
8898 | } |
8899 | |
8900 | static void |
8901 | scroll_test_configure (CtkWidget *widget, CdkEventConfigure *event, |
8902 | CtkAdjustment *adjustment) |
8903 | { |
8904 | CtkAllocation allocation; |
8905 | |
8906 | ctk_widget_get_allocation (widget, &allocation); |
8907 | ctk_adjustment_configure (adjustment, |
8908 | ctk_adjustment_get_value (adjustment), |
8909 | ctk_adjustment_get_lower (adjustment), |
8910 | ctk_adjustment_get_upper (adjustment), |
8911 | 0.1 * allocation.height, |
8912 | 0.9 * allocation.height, |
8913 | allocation.height); |
8914 | } |
8915 | |
8916 | static void |
8917 | scroll_test_adjustment_changed (CtkAdjustment *adjustment, CtkWidget *widget) |
8918 | { |
8919 | CdkWindow *window; |
8920 | gint dy; |
8921 | |
8922 | dy = scroll_test_pos - (int)ctk_adjustment_get_value (adjustment); |
8923 | scroll_test_pos = ctk_adjustment_get_value (adjustment); |
8924 | |
8925 | if (!ctk_widget_is_drawable (widget)) |
8926 | return; |
8927 | |
8928 | window = ctk_widget_get_window (widget); |
8929 | cdk_window_scroll (window, 0, dy); |
8930 | cdk_window_process_updates (window, FALSE(0)); |
8931 | } |
8932 | |
8933 | |
8934 | void |
8935 | create_scroll_test (CtkWidget *widget) |
8936 | { |
8937 | static CtkWidget *window = NULL((void*)0); |
8938 | |
8939 | if (!window) |
8940 | { |
8941 | CtkWidget *content_area; |
8942 | CtkWidget *hbox; |
8943 | CtkWidget *drawing_area; |
8944 | CtkWidget *scrollbar; |
8945 | CtkAdjustment *adjustment; |
8946 | CdkGeometry geometry; |
8947 | CdkWindowHints geometry_mask; |
8948 | |
8949 | window = ctk_dialog_new (); |
8950 | |
8951 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
8952 | ctk_widget_get_screen (widget)); |
8953 | |
8954 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
8955 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
8956 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
8957 | |
8958 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
8959 | |
8960 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Scroll Test"); |
8961 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
8962 | |
8963 | hbox = ctk_box_new (CTK_ORIENTATION_HORIZONTAL, 0); |
8964 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), hbox, TRUE(!(0)), TRUE(!(0)), 0); |
8965 | ctk_widget_show (hbox); |
8966 | |
8967 | drawing_area = ctk_drawing_area_new (); |
8968 | ctk_widget_set_size_request (drawing_area, 200, 200); |
8969 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), drawing_area, TRUE(!(0)), TRUE(!(0)), 0); |
8970 | ctk_widget_show (drawing_area); |
8971 | |
8972 | ctk_widget_set_events (drawing_area, CDK_EXPOSURE_MASK | CDK_SCROLL_MASK); |
8973 | |
8974 | adjustment = ctk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0); |
8975 | scroll_test_pos = 0.0; |
8976 | |
8977 | scrollbar = ctk_scrollbar_new (CTK_ORIENTATION_VERTICAL, adjustment); |
8978 | ctk_box_pack_start (CTK_BOX (hbox)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((hbox)), ((ctk_box_get_type ())))))), scrollbar, FALSE(0), FALSE(0), 0); |
8979 | ctk_widget_show (scrollbar); |
8980 | |
8981 | g_signal_connect (drawing_area, "draw",g_signal_connect_data ((drawing_area), ("draw"), (((GCallback ) (scroll_test_draw))), (adjustment), ((void*)0), (GConnectFlags ) 0) |
8982 | G_CALLBACK (scroll_test_draw), adjustment)g_signal_connect_data ((drawing_area), ("draw"), (((GCallback ) (scroll_test_draw))), (adjustment), ((void*)0), (GConnectFlags ) 0); |
8983 | g_signal_connect (drawing_area, "configure_event",g_signal_connect_data ((drawing_area), ("configure_event"), ( ((GCallback) (scroll_test_configure))), (adjustment), ((void* )0), (GConnectFlags) 0) |
8984 | G_CALLBACK (scroll_test_configure), adjustment)g_signal_connect_data ((drawing_area), ("configure_event"), ( ((GCallback) (scroll_test_configure))), (adjustment), ((void* )0), (GConnectFlags) 0); |
8985 | g_signal_connect (drawing_area, "scroll_event",g_signal_connect_data ((drawing_area), ("scroll_event"), (((GCallback ) (scroll_test_scroll))), (adjustment), ((void*)0), (GConnectFlags ) 0) |
8986 | G_CALLBACK (scroll_test_scroll), adjustment)g_signal_connect_data ((drawing_area), ("scroll_event"), (((GCallback ) (scroll_test_scroll))), (adjustment), ((void*)0), (GConnectFlags ) 0); |
8987 | |
8988 | g_signal_connect (adjustment, "value_changed",g_signal_connect_data ((adjustment), ("value_changed"), (((GCallback ) (scroll_test_adjustment_changed))), (drawing_area), ((void* )0), (GConnectFlags) 0) |
8989 | G_CALLBACK (scroll_test_adjustment_changed),g_signal_connect_data ((adjustment), ("value_changed"), (((GCallback ) (scroll_test_adjustment_changed))), (drawing_area), ((void* )0), (GConnectFlags) 0) |
8990 | drawing_area)g_signal_connect_data ((adjustment), ("value_changed"), (((GCallback ) (scroll_test_adjustment_changed))), (drawing_area), ((void* )0), (GConnectFlags) 0); |
8991 | |
8992 | /* .. And create some buttons */ |
8993 | |
8994 | ctk_dialog_add_button (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ())))))), |
8995 | "Quit", |
8996 | CTK_RESPONSE_CLOSE); |
8997 | g_signal_connect_swapped (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
8998 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
8999 | window)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
9000 | |
9001 | /* Set up gridded geometry */ |
9002 | |
9003 | geometry_mask = CDK_HINT_MIN_SIZE | |
9004 | CDK_HINT_BASE_SIZE | |
9005 | CDK_HINT_RESIZE_INC; |
9006 | |
9007 | geometry.min_width = 20; |
9008 | geometry.min_height = 20; |
9009 | geometry.base_width = 0; |
9010 | geometry.base_height = 0; |
9011 | geometry.width_inc = 10; |
9012 | geometry.height_inc = 10; |
9013 | |
9014 | ctk_window_set_geometry_hints (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
9015 | drawing_area, &geometry, geometry_mask); |
9016 | } |
9017 | |
9018 | if (!ctk_widget_get_visible (window)) |
9019 | ctk_widget_show (window); |
9020 | else |
9021 | ctk_widget_destroy (window); |
9022 | } |
9023 | |
9024 | /* |
9025 | * Timeout Test |
9026 | */ |
9027 | |
9028 | static int timer = 0; |
9029 | |
9030 | gint |
9031 | timeout_test (CtkWidget *label) |
9032 | { |
9033 | static int count = 0; |
9034 | static char buffer[32]; |
9035 | |
9036 | sprintf (buffer, "count: %d", ++count); |
9037 | ctk_label_set_text (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), buffer); |
9038 | |
9039 | return TRUE(!(0)); |
9040 | } |
9041 | |
9042 | void |
9043 | start_timeout_test (CtkWidget *widget, |
9044 | CtkWidget *label) |
9045 | { |
9046 | if (!timer) |
9047 | { |
9048 | timer = g_timeout_add (100, (GSourceFunc)timeout_test, label); |
9049 | } |
9050 | } |
9051 | |
9052 | void |
9053 | stop_timeout_test (CtkWidget *widget, |
9054 | gpointer data) |
9055 | { |
9056 | if (timer) |
9057 | { |
9058 | g_source_remove (timer); |
9059 | timer = 0; |
9060 | } |
9061 | } |
9062 | |
9063 | void |
9064 | destroy_timeout_test (CtkWidget *widget, |
9065 | CtkWidget **window) |
9066 | { |
9067 | stop_timeout_test (NULL((void*)0), NULL((void*)0)); |
9068 | |
9069 | *window = NULL((void*)0); |
9070 | } |
9071 | |
9072 | void |
9073 | create_timeout_test (CtkWidget *widget) |
9074 | { |
9075 | static CtkWidget *window = NULL((void*)0); |
9076 | |
9077 | if (!window) |
9078 | { |
9079 | CtkWidget *action_area, *content_area; |
9080 | CtkWidget *button; |
9081 | CtkWidget *label; |
9082 | |
9083 | window = ctk_dialog_new (); |
9084 | |
9085 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
9086 | ctk_widget_get_screen (widget)); |
9087 | |
9088 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( destroy_timeout_test))), (&window), ((void*)0), (GConnectFlags ) 0) |
9089 | G_CALLBACK (destroy_timeout_test),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( destroy_timeout_test))), (&window), ((void*)0), (GConnectFlags ) 0) |
9090 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( destroy_timeout_test))), (&window), ((void*)0), (GConnectFlags ) 0); |
9091 | |
9092 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
9093 | action_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
9094 | |
9095 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Timeout Test"); |
9096 | ctk_container_set_border_width (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), 0); |
9097 | |
9098 | label = ctk_label_new ("count: 0"); |
9099 | g_object_set (label, "margin", 10, NULL((void*)0)); |
9100 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), label, TRUE(!(0)), TRUE(!(0)), 0); |
9101 | ctk_widget_show (label); |
9102 | |
9103 | button = ctk_button_new_with_label ("close"); |
9104 | g_signal_connect_swapped (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
9105 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
9106 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
9107 | ctk_widget_set_can_default (button, TRUE(!(0))); |
9108 | ctk_box_pack_start (CTK_BOX (action_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((action_area)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
9109 | ctk_widget_grab_default (button); |
9110 | ctk_widget_show (button); |
9111 | |
9112 | button = ctk_button_new_with_label ("start"); |
9113 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( start_timeout_test))), (label), ((void*)0), (GConnectFlags) 0 ) |
9114 | G_CALLBACK(start_timeout_test),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( start_timeout_test))), (label), ((void*)0), (GConnectFlags) 0 ) |
9115 | label)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( start_timeout_test))), (label), ((void*)0), (GConnectFlags) 0 ); |
9116 | ctk_widget_set_can_default (button, TRUE(!(0))); |
9117 | ctk_box_pack_start (CTK_BOX (action_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((action_area)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
9118 | ctk_widget_show (button); |
9119 | |
9120 | button = ctk_button_new_with_label ("stop"); |
9121 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( stop_timeout_test))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
9122 | G_CALLBACK (stop_timeout_test),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( stop_timeout_test))), (((void*)0)), ((void*)0), (GConnectFlags ) 0) |
9123 | NULL)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( stop_timeout_test))), (((void*)0)), ((void*)0), (GConnectFlags ) 0); |
9124 | ctk_widget_set_can_default (button, TRUE(!(0))); |
9125 | ctk_box_pack_start (CTK_BOX (action_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((action_area)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
9126 | ctk_widget_show (button); |
9127 | } |
9128 | |
9129 | if (!ctk_widget_get_visible (window)) |
9130 | ctk_widget_show (window); |
9131 | else |
9132 | ctk_widget_destroy (window); |
9133 | } |
9134 | |
9135 | /* |
9136 | * Test of recursive mainloop |
9137 | */ |
9138 | |
9139 | void |
9140 | mainloop_destroyed (CtkWidget *w, CtkWidget **window) |
9141 | { |
9142 | *window = NULL((void*)0); |
9143 | ctk_main_quit (); |
9144 | } |
9145 | |
9146 | void |
9147 | create_mainloop (CtkWidget *widget) |
9148 | { |
9149 | static CtkWidget *window = NULL((void*)0); |
9150 | |
9151 | if (!window) |
9152 | { |
9153 | CtkWidget *content_area; |
9154 | CtkWidget *label; |
9155 | |
9156 | window = ctk_dialog_new (); |
9157 | |
9158 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
9159 | ctk_widget_get_screen (widget)); |
9160 | |
9161 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Test Main Loop"); |
9162 | |
9163 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( mainloop_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
9164 | G_CALLBACK (mainloop_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( mainloop_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
9165 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( mainloop_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
9166 | |
9167 | content_area = ctk_dialog_get_content_area (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ()))))))); |
9168 | |
9169 | label = ctk_label_new ("In recursive main loop..."); |
9170 | g_object_set (label, "margin", 20, NULL((void*)0)); |
9171 | |
9172 | ctk_box_pack_start (CTK_BOX (content_area)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((content_area)), ((ctk_box_get_type ())))))), label, TRUE(!(0)), TRUE(!(0)), 0); |
9173 | ctk_widget_show (label); |
9174 | |
9175 | ctk_dialog_add_button (CTK_DIALOG (window)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_dialog_get_type ())))))), |
9176 | "Leave", |
9177 | CTK_RESPONSE_OK); |
9178 | g_signal_connect_swapped (window, "response",g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
9179 | G_CALLBACK (ctk_widget_destroy),g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ) |
9180 | window)g_signal_connect_data ((window), ("response"), (((GCallback) ( ctk_widget_destroy))), (window), ((void*)0), G_CONNECT_SWAPPED ); |
9181 | } |
9182 | |
9183 | if (!ctk_widget_get_visible (window)) |
9184 | { |
9185 | ctk_widget_show (window); |
9186 | |
9187 | g_print ("create_mainloop: start\n"); |
9188 | ctk_main (); |
9189 | g_print ("create_mainloop: done\n"); |
9190 | } |
9191 | else |
9192 | ctk_widget_destroy (window); |
9193 | } |
9194 | |
9195 | static gboolean |
9196 | layout_draw_handler (CtkWidget *widget, cairo_t *cr) |
9197 | { |
9198 | CtkLayout *layout; |
9199 | CdkWindow *bin_window; |
9200 | CdkRectangle clip; |
9201 | gint i,j,x,y; |
9202 | gint imin, imax, jmin, jmax; |
9203 | |
9204 | layout = CTK_LAYOUT (widget)((((CtkLayout*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((widget)), ((ctk_layout_get_type ())))))); |
9205 | bin_window = ctk_layout_get_bin_window (layout); |
9206 | |
9207 | if (!ctk_cairo_should_draw_window (cr, bin_window)) |
9208 | return FALSE(0); |
9209 | |
9210 | cdk_window_get_position (bin_window, &x, &y); |
9211 | cairo_translate (cr, x, y); |
9212 | |
9213 | cdk_cairo_get_clip_rectangle (cr, &clip); |
9214 | |
9215 | imin = (clip.x) / 10; |
9216 | imax = (clip.x + clip.width + 9) / 10; |
9217 | |
9218 | jmin = (clip.y) / 10; |
9219 | jmax = (clip.y + clip.height + 9) / 10; |
9220 | |
9221 | for (i=imin; i<imax; i++) |
9222 | for (j=jmin; j<jmax; j++) |
9223 | if ((i+j) % 2) |
9224 | cairo_rectangle (cr, |
9225 | 10*i, 10*j, |
9226 | 1+i%10, 1+j%10); |
9227 | |
9228 | cairo_fill (cr); |
9229 | |
9230 | return FALSE(0); |
9231 | } |
9232 | |
9233 | void create_layout (CtkWidget *widget) |
9234 | { |
9235 | static CtkWidget *window = NULL((void*)0); |
9236 | |
9237 | if (!window) |
9238 | { |
9239 | CtkAdjustment *hadjustment, *vadjustment; |
9240 | CtkLayout *layout; |
9241 | CtkWidget *layout_widget; |
9242 | CtkWidget *scrolledwindow; |
9243 | CtkWidget *button; |
9244 | gchar buf[16]; |
9245 | gint i, j; |
9246 | |
9247 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
9248 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
9249 | ctk_widget_get_screen (widget)); |
9250 | |
9251 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
9252 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
9253 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
9254 | |
9255 | ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Layout"); |
9256 | ctk_widget_set_size_request (window, 200, 200); |
9257 | |
9258 | scrolledwindow = ctk_scrolled_window_new (NULL((void*)0), NULL((void*)0)); |
9259 | ctk_scrolled_window_set_shadow_type (CTK_SCROLLED_WINDOW (scrolledwindow)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolledwindow)), ((ctk_scrolled_window_get_type ())))))), |
9260 | CTK_SHADOW_IN); |
9261 | ctk_scrolled_window_set_placement (CTK_SCROLLED_WINDOW (scrolledwindow)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolledwindow)), ((ctk_scrolled_window_get_type ())))))), |
9262 | CTK_CORNER_TOP_RIGHT); |
9263 | |
9264 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), scrolledwindow); |
9265 | |
9266 | layout_widget = ctk_layout_new (NULL((void*)0), NULL((void*)0)); |
9267 | layout = CTK_LAYOUT (layout_widget)((((CtkLayout*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((layout_widget)), ((ctk_layout_get_type ())))))); |
9268 | ctk_container_add (CTK_CONTAINER (scrolledwindow)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolledwindow)), ((ctk_container_get_type ())))))), layout_widget); |
9269 | |
9270 | /* We set step sizes here since CtkLayout does not set |
9271 | * them itself. |
9272 | */ |
9273 | hadjustment = ctk_scrollable_get_hadjustment (CTK_SCROLLABLE (layout)((((CtkScrollable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((layout)), ((ctk_scrollable_get_type ()))))))); |
9274 | vadjustment = ctk_scrollable_get_vadjustment (CTK_SCROLLABLE (layout)((((CtkScrollable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((layout)), ((ctk_scrollable_get_type ()))))))); |
9275 | ctk_adjustment_set_step_increment (hadjustment, 10.0); |
9276 | ctk_adjustment_set_step_increment (vadjustment, 10.0); |
9277 | ctk_scrollable_set_hadjustment (CTK_SCROLLABLE (layout)((((CtkScrollable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((layout)), ((ctk_scrollable_get_type ())))))), hadjustment); |
9278 | ctk_scrollable_set_vadjustment (CTK_SCROLLABLE (layout)((((CtkScrollable*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((layout)), ((ctk_scrollable_get_type ())))))), vadjustment); |
9279 | |
9280 | ctk_widget_set_events (layout_widget, CDK_EXPOSURE_MASK); |
9281 | g_signal_connect (layout, "draw",g_signal_connect_data ((layout), ("draw"), (((GCallback) (layout_draw_handler ))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
9282 | G_CALLBACK (layout_draw_handler), NULL)g_signal_connect_data ((layout), ("draw"), (((GCallback) (layout_draw_handler ))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
9283 | |
9284 | ctk_layout_set_size (layout, 1600, 128000); |
9285 | |
9286 | for (i=0 ; i < 16 ; i++) |
9287 | for (j=0 ; j < 16 ; j++) |
9288 | { |
9289 | sprintf(buf, "Button %d, %d", i, j); |
9290 | if ((i + j) % 2) |
9291 | button = ctk_button_new_with_label (buf); |
9292 | else |
9293 | button = ctk_label_new (buf); |
9294 | |
9295 | ctk_layout_put (layout, button, j*100, i*100); |
9296 | } |
9297 | |
9298 | for (i=16; i < 1280; i++) |
9299 | { |
9300 | sprintf(buf, "Button %d, %d", i, 0); |
9301 | if (i % 2) |
9302 | button = ctk_button_new_with_label (buf); |
9303 | else |
9304 | button = ctk_label_new (buf); |
9305 | |
9306 | ctk_layout_put (layout, button, 0, i*100); |
9307 | } |
9308 | } |
9309 | |
9310 | if (!ctk_widget_get_visible (window)) |
9311 | ctk_widget_show_all (window); |
9312 | else |
9313 | ctk_widget_destroy (window); |
9314 | } |
9315 | |
9316 | static void |
9317 | show_native (CtkWidget *button, |
9318 | CtkFileChooserNative *native) |
9319 | { |
9320 | ctk_native_dialog_show (CTK_NATIVE_DIALOG (native)); |
9321 | } |
9322 | |
9323 | static void |
9324 | hide_native (CtkWidget *button, |
9325 | CtkFileChooserNative *native) |
9326 | { |
9327 | ctk_native_dialog_hide (CTK_NATIVE_DIALOG (native)); |
9328 | } |
9329 | |
9330 | static void |
9331 | native_response (CtkNativeDialog *self, |
9332 | gint response_id, |
9333 | CtkWidget *label) |
9334 | { |
9335 | static int count = 0; |
9336 | char *res; |
9337 | GSList *uris, *l; |
9338 | GString *s; |
9339 | char *response; |
9340 | CtkFileFilter *filter; |
9341 | |
9342 | uris = ctk_file_chooser_get_uris (CTK_FILE_CHOOSER (self)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((self)), ((ctk_file_chooser_get_type ()))))))); |
9343 | filter = ctk_file_chooser_get_filter (CTK_FILE_CHOOSER (self)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((self)), ((ctk_file_chooser_get_type ()))))))); |
9344 | s = g_string_new (""); |
9345 | for (l = uris; l != NULL((void*)0); l = l->next) |
9346 | { |
9347 | g_string_prepend (s, l->data); |
9348 | g_string_prepend (s, "\n"); |
9349 | } |
9350 | |
9351 | switch (response_id) |
9352 | { |
9353 | case CTK_RESPONSE_NONE: |
9354 | response = g_strdup ("CTK_RESPONSE_NONE")g_strdup_inline ("CTK_RESPONSE_NONE"); |
9355 | break; |
9356 | case CTK_RESPONSE_ACCEPT: |
9357 | response = g_strdup ("CTK_RESPONSE_ACCEPT")g_strdup_inline ("CTK_RESPONSE_ACCEPT"); |
9358 | break; |
9359 | case CTK_RESPONSE_CANCEL: |
9360 | response = g_strdup ("CTK_RESPONSE_CANCEL")g_strdup_inline ("CTK_RESPONSE_CANCEL"); |
9361 | break; |
9362 | case CTK_RESPONSE_DELETE_EVENT: |
9363 | response = g_strdup ("CTK_RESPONSE_DELETE_EVENT")g_strdup_inline ("CTK_RESPONSE_DELETE_EVENT"); |
9364 | break; |
9365 | default: |
9366 | response = g_strdup_printf ("%d", response_id); |
9367 | break; |
9368 | } |
9369 | |
9370 | if (filter) |
9371 | res = g_strdup_printf ("Response #%d: %s\n" |
9372 | "Filter: %s\n" |
9373 | "Files:\n" |
9374 | "%s", |
9375 | ++count, |
9376 | response, |
9377 | ctk_file_filter_get_name (filter), |
9378 | s->str); |
9379 | else |
9380 | res = g_strdup_printf ("Response #%d: %s\n" |
9381 | "NO Filter\n" |
9382 | "Files:\n" |
9383 | "%s", |
9384 | ++count, |
9385 | response, |
9386 | s->str); |
9387 | ctk_label_set_text (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((label)), ((ctk_label_get_type ())))))), res); |
9388 | g_free (response); |
9389 | g_string_free (s, TRUE)(__builtin_constant_p ((!(0))) ? (((!(0))) ? (g_string_free) ( (s), ((!(0)))) : g_string_free_and_steal (s)) : (g_string_free ) ((s), ((!(0))))); |
9390 | } |
9391 | |
9392 | static void |
9393 | native_modal_toggle (CtkWidget *checkbutton, |
9394 | CtkFileChooserNative *native) |
9395 | { |
9396 | ctk_native_dialog_set_modal (CTK_NATIVE_DIALOG (native), |
9397 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON(checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))); |
9398 | } |
9399 | |
9400 | static void |
9401 | native_multi_select_toggle (CtkWidget *checkbutton, |
9402 | CtkFileChooserNative *native) |
9403 | { |
9404 | ctk_file_chooser_set_select_multiple (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), |
9405 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON(checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))); |
9406 | } |
9407 | |
9408 | static void |
9409 | native_overwrite_confirmation_toggle (CtkWidget *checkbutton, |
9410 | CtkFileChooserNative *native) |
9411 | { |
9412 | ctk_file_chooser_set_do_overwrite_confirmation (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), |
9413 | ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON(checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ())))))))); |
9414 | } |
9415 | |
9416 | static void |
9417 | native_extra_widget_toggle (CtkWidget *checkbutton, |
9418 | CtkFileChooserNative *native) |
9419 | { |
9420 | gboolean extra_widget = ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON(checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((checkbutton)), ((ctk_toggle_button_get_type ()))))))); |
9421 | |
9422 | if (extra_widget) |
9423 | { |
9424 | CtkWidget *extra = ctk_check_button_new_with_label ("Extra toggle"); |
9425 | ctk_widget_show (extra); |
9426 | ctk_file_chooser_set_extra_widget (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), extra); |
9427 | } |
9428 | else |
9429 | { |
9430 | ctk_file_chooser_set_extra_widget (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), NULL((void*)0)); |
9431 | } |
9432 | } |
9433 | |
9434 | |
9435 | static void |
9436 | native_visible_notify_show (GObject *object, |
9437 | GParamSpec *pspec, |
9438 | CtkWidget *show_button) |
9439 | { |
9440 | CtkFileChooserNative *native = CTK_FILE_CHOOSER_NATIVE (object); |
9441 | gboolean visible; |
9442 | |
9443 | visible = ctk_native_dialog_get_visible (CTK_NATIVE_DIALOG (native)); |
9444 | ctk_widget_set_sensitive (show_button, !visible); |
9445 | } |
9446 | |
9447 | static void |
9448 | native_visible_notify_hide (GObject *object, |
9449 | GParamSpec *pspec, |
9450 | CtkWidget *hide_button) |
9451 | { |
9452 | CtkFileChooserNative *native = CTK_FILE_CHOOSER_NATIVE (object); |
9453 | gboolean visible; |
9454 | |
9455 | visible = ctk_native_dialog_get_visible (CTK_NATIVE_DIALOG (native)); |
9456 | ctk_widget_set_sensitive (hide_button, visible); |
9457 | } |
9458 | |
9459 | static char * |
9460 | get_some_file (void) |
9461 | { |
9462 | GFile *dir = g_file_new_for_path (g_get_current_dir ()); |
9463 | GFileEnumerator *e; |
9464 | char *res = NULL((void*)0); |
9465 | |
9466 | e = g_file_enumerate_children (dir, "*", 0, NULL((void*)0), NULL((void*)0)); |
9467 | if (e) |
9468 | { |
9469 | while (res == NULL((void*)0)) |
9470 | { |
9471 | GFileInfo *info; |
9472 | |
9473 | info = g_file_enumerator_next_file (e, NULL((void*)0), NULL((void*)0)); |
9474 | |
9475 | if (info) |
9476 | { |
9477 | if (g_file_info_get_file_type (info) == G_FILE_TYPE_REGULAR) |
9478 | { |
9479 | GFile *child = g_file_enumerator_get_child (e, info); |
9480 | res = g_file_get_path (child); |
9481 | g_object_unref (child); |
9482 | } |
9483 | g_object_unref (info); |
9484 | } |
9485 | else |
9486 | break; |
9487 | } |
9488 | } |
9489 | |
9490 | return res; |
9491 | } |
9492 | |
9493 | static void |
9494 | native_action_changed (CtkWidget *combo, |
9495 | CtkFileChooserNative *native) |
9496 | { |
9497 | int i; |
9498 | gboolean save_as = FALSE(0); |
9499 | i = ctk_combo_box_get_active (CTK_COMBO_BOX (combo)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_get_type ()))))))); |
9500 | |
9501 | if (i == 4) /* Save as */ |
9502 | { |
9503 | save_as = TRUE(!(0)); |
9504 | i = CTK_FILE_CHOOSER_ACTION_SAVE; |
9505 | } |
9506 | |
9507 | ctk_file_chooser_set_action (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), |
9508 | (CtkFileChooserAction) i); |
9509 | |
9510 | |
9511 | if (i == CTK_FILE_CHOOSER_ACTION_SAVE || |
9512 | i == CTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) |
9513 | { |
9514 | if (save_as) |
9515 | { |
9516 | char *file = get_some_file (); |
9517 | ctk_file_chooser_set_filename (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), file); |
9518 | g_free (file); |
9519 | } |
9520 | else |
9521 | ctk_file_chooser_set_current_name (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), "newname.txt"); |
9522 | } |
9523 | } |
9524 | |
9525 | static void |
9526 | native_filter_changed (CtkWidget *combo, |
9527 | CtkFileChooserNative *native) |
9528 | { |
9529 | int i; |
9530 | GSList *filters, *l; |
9531 | CtkFileFilter *filter; |
9532 | |
9533 | i = ctk_combo_box_get_active (CTK_COMBO_BOX (combo)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_get_type ()))))))); |
9534 | |
9535 | filters = ctk_file_chooser_list_filters (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ()))))))); |
9536 | for (l = filters; l != NULL((void*)0); l = l->next) |
9537 | ctk_file_chooser_remove_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), l->data); |
9538 | g_slist_free (filters); |
9539 | |
9540 | switch (i) |
9541 | { |
9542 | case 0: |
9543 | break; |
9544 | case 1: /* pattern */ |
9545 | filter = ctk_file_filter_new (); |
9546 | ctk_file_filter_set_name (filter, "Text"); |
9547 | ctk_file_filter_add_pattern (filter, "*.doc"); |
9548 | ctk_file_filter_add_pattern (filter, "*.txt"); |
9549 | ctk_file_chooser_add_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), filter); |
9550 | |
9551 | filter = ctk_file_filter_new (); |
9552 | ctk_file_filter_set_name (filter, "Images"); |
9553 | ctk_file_filter_add_pixbuf_formats (filter); |
9554 | ctk_file_chooser_add_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), filter); |
9555 | ctk_file_chooser_set_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), filter); |
9556 | |
9557 | filter = ctk_file_filter_new (); |
9558 | ctk_file_filter_set_name (filter, "All"); |
9559 | ctk_file_filter_add_pattern (filter, "*"); |
9560 | ctk_file_chooser_add_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), filter); |
9561 | break; |
9562 | |
9563 | case 2: /* mimetype */ |
9564 | filter = ctk_file_filter_new (); |
9565 | ctk_file_filter_set_name (filter, "Text"); |
9566 | ctk_file_filter_add_mime_type (filter, "text/plain"); |
9567 | ctk_file_chooser_add_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), filter); |
9568 | |
9569 | filter = ctk_file_filter_new (); |
9570 | ctk_file_filter_set_name (filter, "All"); |
9571 | ctk_file_filter_add_pattern (filter, "*"); |
9572 | ctk_file_chooser_add_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), filter); |
9573 | ctk_file_chooser_set_filter (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), filter); |
9574 | break; |
9575 | } |
9576 | } |
9577 | |
9578 | static void |
9579 | destroy_native (CtkFileChooserNative *native) |
9580 | { |
9581 | ctk_native_dialog_destroy (CTK_NATIVE_DIALOG (native)); |
9582 | g_object_unref (native); |
9583 | } |
9584 | |
9585 | void |
9586 | create_native_dialogs (CtkWidget *widget) |
9587 | { |
9588 | static CtkWidget *window = NULL((void*)0); |
9589 | |
9590 | if (!window) |
9591 | { |
9592 | CtkWidget *box, *label; |
9593 | CtkWidget *show_button, *hide_button, *check_button; |
9594 | CtkFileChooserNative *native; |
9595 | CtkWidget *combo; |
9596 | |
9597 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
9598 | ctk_window_set_screen (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
9599 | ctk_widget_get_screen (widget)); |
9600 | |
9601 | native = ctk_file_chooser_native_new ("Native title", |
9602 | CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), |
9603 | CTK_FILE_CHOOSER_ACTION_OPEN, |
9604 | "_accept&native", |
9605 | "_cancel__native"); |
9606 | |
9607 | g_signal_connect_swapped (G_OBJECT (window), "destroy", G_CALLBACK (destroy_native), native)g_signal_connect_data ((((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((window)), (((GType) ((20) << (2))) )))))), ("destroy"), (((GCallback) (destroy_native))), (native ), ((void*)0), G_CONNECT_SWAPPED); |
9608 | |
9609 | ctk_file_chooser_add_shortcut_folder (CTK_FILE_CHOOSER (native)((((CtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((native)), ((ctk_file_chooser_get_type ())))))), |
9610 | g_get_current_dir (), |
9611 | NULL((void*)0)); |
9612 | |
9613 | ctk_window_set_title (CTK_WINDOW(window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), "Native dialog parent"); |
9614 | |
9615 | box = ctk_box_new (CTK_ORIENTATION_VERTICAL, 5); |
9616 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box); |
9617 | |
9618 | label = ctk_label_new (""); |
9619 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 4); |
9620 | |
9621 | combo = ctk_combo_box_text_new (); |
9622 | |
9623 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "Open"); |
9624 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "Save"); |
9625 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "Select Folder"); |
9626 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "Create Folder"); |
9627 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "Save as"); |
9628 | |
9629 | g_signal_connect (combo, "changed",g_signal_connect_data ((combo), ("changed"), (((GCallback) (native_action_changed ))), (native), ((void*)0), (GConnectFlags) 0) |
9630 | G_CALLBACK (native_action_changed), native)g_signal_connect_data ((combo), ("changed"), (((GCallback) (native_action_changed ))), (native), ((void*)0), (GConnectFlags) 0); |
9631 | ctk_combo_box_set_active (CTK_COMBO_BOX (combo)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_get_type ())))))), CTK_FILE_CHOOSER_ACTION_OPEN); |
9632 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), combo, FALSE(0), FALSE(0), 4); |
9633 | |
9634 | combo = ctk_combo_box_text_new (); |
9635 | |
9636 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "No filters"); |
9637 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "Pattern filter"); |
9638 | ctk_combo_box_text_append_text (CTK_COMBO_BOX_TEXT (combo)((((CtkComboBoxText*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_text_get_type ())))))), "Mimetype filter"); |
9639 | |
9640 | g_signal_connect (combo, "changed",g_signal_connect_data ((combo), ("changed"), (((GCallback) (native_filter_changed ))), (native), ((void*)0), (GConnectFlags) 0) |
9641 | G_CALLBACK (native_filter_changed), native)g_signal_connect_data ((combo), ("changed"), (((GCallback) (native_filter_changed ))), (native), ((void*)0), (GConnectFlags) 0); |
9642 | ctk_combo_box_set_active (CTK_COMBO_BOX (combo)((((CtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((combo)), ((ctk_combo_box_get_type ())))))), 0); |
9643 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), combo, FALSE(0), FALSE(0), 4); |
9644 | |
9645 | check_button = ctk_check_button_new_with_label ("Modal"); |
9646 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_modal_toggle))), (native), ((void*)0), (GConnectFlags ) 0) |
9647 | G_CALLBACK (native_modal_toggle), native)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_modal_toggle))), (native), ((void*)0), (GConnectFlags ) 0); |
9648 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), check_button, FALSE(0), FALSE(0), 4); |
9649 | |
9650 | check_button = ctk_check_button_new_with_label ("Multiple select"); |
9651 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_multi_select_toggle))), (native), ((void*)0), (GConnectFlags ) 0) |
9652 | G_CALLBACK (native_multi_select_toggle), native)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_multi_select_toggle))), (native), ((void*)0), (GConnectFlags ) 0); |
9653 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), check_button, FALSE(0), FALSE(0), 4); |
9654 | |
9655 | check_button = ctk_check_button_new_with_label ("Confirm overwrite"); |
9656 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_overwrite_confirmation_toggle))), (native), ((void* )0), (GConnectFlags) 0) |
9657 | G_CALLBACK (native_overwrite_confirmation_toggle), native)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_overwrite_confirmation_toggle))), (native), ((void* )0), (GConnectFlags) 0); |
9658 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), check_button, FALSE(0), FALSE(0), 4); |
9659 | |
9660 | check_button = ctk_check_button_new_with_label ("Extra widget"); |
9661 | g_signal_connect (check_button, "toggled",g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_extra_widget_toggle))), (native), ((void*)0), (GConnectFlags ) 0) |
9662 | G_CALLBACK (native_extra_widget_toggle), native)g_signal_connect_data ((check_button), ("toggled"), (((GCallback ) (native_extra_widget_toggle))), (native), ((void*)0), (GConnectFlags ) 0); |
9663 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), check_button, FALSE(0), FALSE(0), 4); |
9664 | |
9665 | show_button = ctk_button_new_with_label ("Show"); |
9666 | hide_button = ctk_button_new_with_label ("Hide"); |
9667 | ctk_widget_set_sensitive (hide_button, FALSE(0)); |
9668 | |
9669 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), show_button, FALSE(0), FALSE(0), 4); |
9670 | ctk_box_pack_start (CTK_BOX (box)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box)), ((ctk_box_get_type ())))))), hide_button, FALSE(0), FALSE(0), 4); |
9671 | |
9672 | /* connect signals */ |
9673 | g_signal_connect (native, "response",g_signal_connect_data ((native), ("response"), (((GCallback) ( native_response))), (label), ((void*)0), (GConnectFlags) 0) |
9674 | G_CALLBACK (native_response), label)g_signal_connect_data ((native), ("response"), (((GCallback) ( native_response))), (label), ((void*)0), (GConnectFlags) 0); |
9675 | g_signal_connect (show_button, "clicked",g_signal_connect_data ((show_button), ("clicked"), (((GCallback ) (show_native))), (native), ((void*)0), (GConnectFlags) 0) |
9676 | G_CALLBACK (show_native), native)g_signal_connect_data ((show_button), ("clicked"), (((GCallback ) (show_native))), (native), ((void*)0), (GConnectFlags) 0); |
9677 | g_signal_connect (hide_button, "clicked",g_signal_connect_data ((hide_button), ("clicked"), (((GCallback ) (hide_native))), (native), ((void*)0), (GConnectFlags) 0) |
9678 | G_CALLBACK (hide_native), native)g_signal_connect_data ((hide_button), ("clicked"), (((GCallback ) (hide_native))), (native), ((void*)0), (GConnectFlags) 0); |
9679 | |
9680 | g_signal_connect (native, "notify::visible",g_signal_connect_data ((native), ("notify::visible"), (((GCallback ) (native_visible_notify_show))), (show_button), ((void*)0), ( GConnectFlags) 0) |
9681 | G_CALLBACK (native_visible_notify_show), show_button)g_signal_connect_data ((native), ("notify::visible"), (((GCallback ) (native_visible_notify_show))), (show_button), ((void*)0), ( GConnectFlags) 0); |
9682 | g_signal_connect (native, "notify::visible",g_signal_connect_data ((native), ("notify::visible"), (((GCallback ) (native_visible_notify_hide))), (hide_button), ((void*)0), ( GConnectFlags) 0) |
9683 | G_CALLBACK (native_visible_notify_hide), hide_button)g_signal_connect_data ((native), ("notify::visible"), (((GCallback ) (native_visible_notify_hide))), (hide_button), ((void*)0), ( GConnectFlags) 0); |
9684 | |
9685 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
9686 | G_CALLBACK (ctk_widget_destroyed),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0) |
9687 | &window)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_widget_destroyed))), (&window), ((void*)0), (GConnectFlags ) 0); |
9688 | } |
9689 | |
9690 | if (!ctk_widget_get_visible (window)) |
9691 | ctk_widget_show_all (window); |
9692 | else |
9693 | ctk_widget_destroy (window); |
9694 | } |
9695 | |
9696 | /* |
9697 | * Main Window and Exit |
9698 | */ |
9699 | |
9700 | void |
9701 | do_exit (CtkWidget *widget, CtkWidget *window) |
9702 | { |
9703 | ctk_widget_destroy (window); |
9704 | ctk_main_quit (); |
9705 | } |
9706 | |
9707 | struct { |
9708 | char *label; |
9709 | void (*func) (CtkWidget *widget); |
9710 | gboolean do_not_benchmark; |
9711 | } buttons[] = |
9712 | { |
9713 | { .label = "alpha window", .func = create_alpha_window }, |
9714 | { .label = "alpha widget", .func = create_alpha_widgets }, |
9715 | { .label = "big windows", .func = create_big_windows }, |
9716 | { .label = "button box", .func = create_button_box }, |
9717 | { .label = "buttons", .func = create_buttons }, |
9718 | { .label = "check buttons", .func = create_check_buttons }, |
9719 | { .label = "color selection", .func = create_color_selection }, |
9720 | { .label = "composited window", .func = create_composited_window }, |
9721 | { .label = "cursors", .func = create_cursors }, |
9722 | { .label = "dialog", .func = create_dialog }, |
9723 | { .label = "display", .func = create_display_screen, .do_not_benchmark = TRUE(!(0)) }, |
9724 | { .label = "entry", .func = create_entry }, |
9725 | { .label = "event box", .func = create_event_box }, |
9726 | { .label = "event watcher", .func = create_event_watcher }, |
9727 | { .label = "expander", .func = create_expander }, |
9728 | { .label = "flipping", .func = create_flipping }, |
9729 | { .label = "focus", .func = create_focus }, |
9730 | { .label = "font selection", .func = create_font_selection }, |
9731 | { .label = "image", .func = create_image }, |
9732 | { .label = "key lookup", .func = create_key_lookup }, |
9733 | { .label = "labels", .func = create_labels }, |
9734 | { .label = "layout", .func = create_layout }, |
9735 | { .label = "listbox", .func = create_listbox }, |
9736 | { .label = "menus", .func = create_menus }, |
9737 | { .label = "message dialog", .func = create_message_dialog }, |
9738 | { .label = "modal window", .func = create_modal_window, .do_not_benchmark = TRUE(!(0)) }, |
9739 | { .label = "native dialogs", .func = create_native_dialogs }, |
9740 | { .label = "notebook", .func = create_notebook }, |
9741 | { .label = "panes", .func = create_panes }, |
9742 | { .label = "paned keyboard", .func = create_paned_keyboard_navigation }, |
9743 | { .label = "pixbuf", .func = create_pixbuf }, |
9744 | { .label = "progress bar", .func = create_progress_bar }, |
9745 | { .label = "radio buttons", .func = create_radio_buttons }, |
9746 | { .label = "range controls", .func = create_range_controls }, |
9747 | { .label = "reparent", .func = create_reparent }, |
9748 | { .label = "resize grips", .func = create_resize_grips }, |
9749 | { .label = "rotated label", .func = create_rotated_label }, |
9750 | { .label = "rotated text", .func = create_rotated_text }, |
9751 | { .label = "saved position", .func = create_saved_position }, |
9752 | { .label = "scrolled windows", .func = create_scrolled_windows }, |
9753 | { .label = "shapes", .func = create_shapes }, |
9754 | { .label = "size groups", .func = create_size_groups }, |
9755 | { .label = "snapshot", .func = create_snapshot }, |
9756 | { .label = "spinbutton", .func = create_spins }, |
9757 | { .label = "statusbar", .func = create_statusbar }, |
9758 | { .label = "test mainloop", .func = create_mainloop, .do_not_benchmark = TRUE(!(0)) }, |
9759 | { .label = "test scrolling", .func = create_scroll_test }, |
9760 | { .label = "test selection", .func = create_selection_test }, |
9761 | { .label = "test timeout", .func = create_timeout_test }, |
9762 | { .label = "toggle buttons", .func = create_toggle_buttons }, |
9763 | { .label = "toolbar", .func = create_toolbar }, |
9764 | { .label = "tooltips", .func = create_tooltips }, |
9765 | { .label = "WM hints", .func = create_wmhints }, |
9766 | { .label = "window sizing", .func = create_window_sizing }, |
9767 | { .label = "window states", .func = create_window_states } |
9768 | }; |
9769 | int nbuttons = sizeof (buttons) / sizeof (buttons[0]); |
9770 | |
9771 | void |
9772 | create_main_window (void) |
9773 | { |
9774 | CtkWidget *window; |
9775 | CtkWidget *box1; |
9776 | CtkWidget *box2; |
9777 | CtkWidget *scrolled_window; |
9778 | CtkWidget *button; |
9779 | CtkWidget *label; |
9780 | gchar buffer[64]; |
9781 | CtkWidget *separator; |
9782 | CdkGeometry geometry; |
9783 | int i; |
9784 | |
9785 | window = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
9786 | ctk_widget_set_name (window, "main_window"); |
9787 | ctk_window_move (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), 50, 20); |
9788 | ctk_window_set_default_size (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), -1, 400); |
9789 | |
9790 | geometry.min_width = -1; |
9791 | geometry.min_height = -1; |
9792 | geometry.max_width = -1; |
9793 | geometry.max_height = G_MAXSHORT32767; |
9794 | ctk_window_set_geometry_hints (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_window_get_type ())))))), NULL((void*)0), |
9795 | &geometry, |
9796 | CDK_HINT_MIN_SIZE | CDK_HINT_MAX_SIZE); |
9797 | |
9798 | g_signal_connect (window, "destroy",g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_main_quit))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ) |
9799 | G_CALLBACK (ctk_main_quit),g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_main_quit))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ) |
9800 | NULL)g_signal_connect_data ((window), ("destroy"), (((GCallback) ( ctk_main_quit))), (((void*)0)), ((void*)0), (GConnectFlags) 0 ); |
9801 | g_signal_connect (window, "delete-event",g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_false))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
9802 | G_CALLBACK (ctk_false),g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_false))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
9803 | NULL)g_signal_connect_data ((window), ("delete-event"), (((GCallback ) (ctk_false))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
9804 | |
9805 | box1 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
9806 | ctk_container_add (CTK_CONTAINER (window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((window)), ((ctk_container_get_type ())))))), box1); |
9807 | |
9808 | if (ctk_micro_versionctk_get_micro_version () > 0) |
9809 | sprintf (buffer, |
9810 | "Ctk+ v%d.%d.%d", |
9811 | ctk_get_major_version (), |
9812 | ctk_get_minor_version (), |
9813 | ctk_get_micro_version ()); |
9814 | else |
9815 | sprintf (buffer, |
9816 | "Ctk+ v%d.%d", |
9817 | ctk_get_major_version (), |
9818 | ctk_get_minor_version ()); |
9819 | |
9820 | label = ctk_label_new (buffer); |
9821 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), label, FALSE(0), FALSE(0), 0); |
9822 | ctk_widget_set_name (label, "testctk-version-label"); |
9823 | |
9824 | scrolled_window = ctk_scrolled_window_new (NULL((void*)0), NULL((void*)0)); |
9825 | ctk_container_set_border_width (CTK_CONTAINER (scrolled_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled_window)), ((ctk_container_get_type ())))))), 10); |
9826 | ctk_scrolled_window_set_policy (CTK_SCROLLED_WINDOW (scrolled_window)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled_window)), ((ctk_scrolled_window_get_type ())))))), |
9827 | CTK_POLICY_NEVER, |
9828 | CTK_POLICY_AUTOMATIC); |
9829 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), scrolled_window, TRUE(!(0)), TRUE(!(0)), 0); |
9830 | |
9831 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 0); |
9832 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
9833 | ctk_container_add (CTK_CONTAINER (scrolled_window)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((scrolled_window)), ((ctk_container_get_type ())))))), box2); |
9834 | ctk_container_set_focus_vadjustment (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), |
9835 | ctk_scrolled_window_get_vadjustment (CTK_SCROLLED_WINDOW (scrolled_window)((((CtkScrolledWindow*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((scrolled_window)), ((ctk_scrolled_window_get_type ())))))))); |
9836 | ctk_widget_show (box2); |
9837 | |
9838 | for (i = 0; i < nbuttons; i++) |
9839 | { |
9840 | button = ctk_button_new_with_label (buttons[i].label); |
9841 | if (buttons[i].func) |
9842 | g_signal_connect (button,g_signal_connect_data ((button), ("clicked"), (((GCallback) ( buttons[i].func))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
9843 | "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( buttons[i].func))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
9844 | G_CALLBACK(buttons[i].func),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( buttons[i].func))), (((void*)0)), ((void*)0), (GConnectFlags) 0) |
9845 | NULL)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( buttons[i].func))), (((void*)0)), ((void*)0), (GConnectFlags) 0); |
9846 | else |
9847 | ctk_widget_set_sensitive (button, FALSE(0)); |
9848 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
9849 | } |
9850 | |
9851 | separator = ctk_separator_new (CTK_ORIENTATION_HORIZONTAL); |
9852 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), separator, FALSE(0), TRUE(!(0)), 0); |
9853 | |
9854 | box2 = ctk_box_new (CTK_ORIENTATION_VERTICAL, 10); |
9855 | ctk_container_set_border_width (CTK_CONTAINER (box2)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_container_get_type ())))))), 10); |
9856 | ctk_box_pack_start (CTK_BOX (box1)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box1)), ((ctk_box_get_type ())))))), box2, FALSE(0), TRUE(!(0)), 0); |
9857 | |
9858 | button = ctk_button_new_with_mnemonic ("_Close"); |
9859 | g_signal_connect (button, "clicked",g_signal_connect_data ((button), ("clicked"), (((GCallback) ( do_exit))), (window), ((void*)0), (GConnectFlags) 0) |
9860 | G_CALLBACK (do_exit),g_signal_connect_data ((button), ("clicked"), (((GCallback) ( do_exit))), (window), ((void*)0), (GConnectFlags) 0) |
9861 | window)g_signal_connect_data ((button), ("clicked"), (((GCallback) ( do_exit))), (window), ((void*)0), (GConnectFlags) 0); |
9862 | ctk_box_pack_start (CTK_BOX (box2)((((CtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((box2)), ((ctk_box_get_type ())))))), button, TRUE(!(0)), TRUE(!(0)), 0); |
9863 | ctk_widget_set_can_default (button, TRUE(!(0))); |
9864 | ctk_widget_grab_default (button); |
9865 | |
9866 | ctk_widget_show_all (window); |
9867 | } |
9868 | |
9869 | static void |
9870 | test_init (void) |
9871 | { |
9872 | if (g_file_test ("../modules/input/immodules.cache", G_FILE_TEST_EXISTS)) |
9873 | g_setenv ("CTK_IM_MODULE_FILE", "../modules/input/immodules.cache", TRUE(!(0))); |
9874 | } |
9875 | |
9876 | static char * |
9877 | pad (const char *str, int to) |
9878 | { |
9879 | static char buf[256]; |
9880 | int len = strlen (str); |
9881 | int i; |
9882 | |
9883 | for (i = 0; i < to; i++) |
9884 | buf[i] = ' '; |
9885 | |
9886 | buf[to] = '\0'; |
9887 | |
9888 | memcpy (buf, str, len); |
9889 | |
9890 | return buf; |
9891 | } |
9892 | |
9893 | static void |
9894 | bench_iteration (CtkWidget *widget, void (* fn) (CtkWidget *widget)) |
9895 | { |
9896 | fn (widget); /* on */ |
9897 | while (g_main_context_iteration (NULL((void*)0), FALSE(0))); |
9898 | fn (widget); /* off */ |
9899 | while (g_main_context_iteration (NULL((void*)0), FALSE(0))); |
9900 | } |
9901 | |
9902 | void |
9903 | do_real_bench (CtkWidget *widget, void (* fn) (CtkWidget *widget), char *name, int num) |
9904 | { |
9905 | gint64 t0, t1; |
9906 | double dt_first; |
9907 | double dt; |
9908 | int n; |
9909 | static gboolean printed_headers = FALSE(0); |
9910 | |
9911 | if (!printed_headers) { |
9912 | g_print ("Test Iters First Other\n"); |
9913 | g_print ("-------------------- ----- ---------- ----------\n"); |
9914 | printed_headers = TRUE(!(0)); |
9915 | } |
9916 | |
9917 | t0 = g_get_monotonic_time (); |
9918 | bench_iteration (widget, fn); |
9919 | t1 = g_get_monotonic_time (); |
9920 | |
9921 | dt_first = ((double)(t1 - t0)) / 1000.0; |
9922 | |
9923 | t0 = g_get_monotonic_time (); |
9924 | for (n = 0; n < num - 1; n++) |
9925 | bench_iteration (widget, fn); |
9926 | t1 = g_get_monotonic_time (); |
9927 | dt = ((double)(t1 - t0)) / 1000.0; |
9928 | |
9929 | g_print ("%s %5d ", pad (name, 20), num); |
9930 | if (num > 1) |
9931 | g_print ("%10.1f %10.1f\n", dt_first, dt/(num-1)); |
9932 | else |
9933 | g_print ("%10.1f\n", dt_first); |
9934 | } |
9935 | |
9936 | void |
9937 | do_bench (char* what, int num) |
9938 | { |
9939 | int i; |
9940 | CtkWidget *widget; |
9941 | void (* fn) (CtkWidget *widget); |
9942 | fn = NULL((void*)0); |
9943 | widget = ctk_window_new (CTK_WINDOW_TOPLEVEL); |
9944 | |
9945 | if (g_ascii_strcasecmp (what, "ALL") == 0) |
9946 | { |
9947 | for (i = 0; i < nbuttons; i++) |
9948 | { |
9949 | if (!buttons[i].do_not_benchmark) |
9950 | do_real_bench (widget, buttons[i].func, buttons[i].label, num); |
9951 | } |
9952 | |
9953 | return; |
9954 | } |
9955 | else |
9956 | { |
9957 | for (i = 0; i < nbuttons; i++) |
9958 | { |
9959 | if (strcmp (buttons[i].label, what) == 0) |
9960 | { |
9961 | fn = buttons[i].func; |
9962 | break; |
9963 | } |
9964 | } |
9965 | |
9966 | if (!fn) |
9967 | g_print ("Can't bench: \"%s\" not found.\n", what); |
9968 | else |
9969 | do_real_bench (widget, fn, buttons[i].label, num); |
9970 | } |
9971 | } |
9972 | |
9973 | void |
9974 | usage (void) |
9975 | { |
9976 | fprintf (stderrstderr, "Usage: testctk [--bench ALL|<bench>[:<count>]]\n"); |
9977 | exit (1); |
9978 | } |
9979 | |
9980 | int |
9981 | main (int argc, char *argv[]) |
9982 | { |
9983 | CtkCssProvider *provider, *memory_provider; |
9984 | CdkDisplay *display; |
9985 | CdkScreen *screen; |
9986 | CtkBindingSet *binding_set; |
9987 | int i; |
9988 | gboolean done_benchmarks = FALSE(0); |
9989 | |
9990 | srand (time (NULL((void*)0))); |
9991 | |
9992 | test_init (); |
9993 | |
9994 | g_set_application_name ("CTK+ Test Program"); |
9995 | |
9996 | ctk_init (&argc, &argv); |
9997 | |
9998 | provider = ctk_css_provider_new (); |
9999 | |
10000 | /* Check to see if we are being run from the correct |
10001 | * directory. |
10002 | */ |
10003 | if (file_exists ("testctk.css")) |
10004 | ctk_css_provider_load_from_path (provider, "testctk.css", NULL((void*)0)); |
10005 | else if (file_exists ("tests/testctk.css")) |
10006 | ctk_css_provider_load_from_path (provider, "tests/testctk.css", NULL((void*)0)); |
10007 | else |
10008 | g_warning ("Couldn't find file \"testctk.css\"."); |
10009 | |
10010 | display = cdk_display_get_default (); |
10011 | screen = cdk_display_get_default_screen (display); |
10012 | |
10013 | ctk_style_context_add_provider_for_screen (screen, CTK_STYLE_PROVIDER (provider)((((CtkStyleProvider*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((provider)), ((ctk_style_provider_get_type ( ))))))), |
10014 | CTK_STYLE_PROVIDER_PRIORITY_APPLICATION600); |
10015 | g_object_unref (provider); |
10016 | |
10017 | ctk_accelerator_set_default_mod_mask (CDK_SHIFT_MASK | |
10018 | CDK_CONTROL_MASK | |
10019 | CDK_MOD1_MASK | |
10020 | CDK_META_MASK | |
10021 | CDK_SUPER_MASK | |
10022 | CDK_HYPER_MASK | |
10023 | CDK_MOD4_MASK); |
10024 | /* benchmarking |
10025 | */ |
10026 | for (i = 1; i < argc; i++) |
10027 | { |
10028 | if (strncmp (argv[i], "--bench", strlen("--bench")) == 0) |
10029 | { |
10030 | int num = 1; |
10031 | char *nextarg; |
10032 | char *what; |
10033 | char *count; |
10034 | |
10035 | nextarg = strchr (argv[i], '='); |
10036 | if (nextarg) |
10037 | nextarg++; |
10038 | else |
10039 | { |
10040 | i++; |
10041 | if (i == argc) |
10042 | usage (); |
10043 | nextarg = argv[i]; |
10044 | } |
10045 | |
10046 | count = strchr (nextarg, ':'); |
10047 | if (count) |
10048 | { |
10049 | what = g_strndup (nextarg, count - nextarg); |
10050 | count++; |
10051 | num = atoi (count); |
10052 | if (num <= 0) |
10053 | usage (); |
10054 | } |
10055 | else |
10056 | what = g_strdup (nextarg)g_strdup_inline (nextarg); |
10057 | |
10058 | do_bench (what, num ? num : 1); |
10059 | done_benchmarks = TRUE(!(0)); |
10060 | } |
10061 | else |
10062 | usage (); |
10063 | } |
10064 | if (done_benchmarks) |
10065 | return 0; |
10066 | |
10067 | /* bindings test |
10068 | */ |
10069 | binding_set = ctk_binding_set_by_class (g_type_class_ref (CTK_TYPE_WIDGET(ctk_widget_get_type ()))); |
10070 | ctk_binding_entry_add_signal (binding_set, |
10071 | '9', CDK_CONTROL_MASK | CDK_RELEASE_MASK, |
10072 | "debug_msg", |
10073 | 1, |
10074 | G_TYPE_STRING((GType) ((16) << (2))), "CtkWidgetClass <ctrl><release>9 test"); |
10075 | |
10076 | memory_provider = ctk_css_provider_new (); |
10077 | ctk_css_provider_load_from_data (memory_provider, |
10078 | "#testctk-version-label {\n" |
10079 | " color: #f00;\n" |
10080 | " font-family: Sans;\n" |
10081 | " font-size: 18px;\n" |
10082 | "}", |
10083 | -1, NULL((void*)0)); |
10084 | ctk_style_context_add_provider_for_screen (screen, CTK_STYLE_PROVIDER (memory_provider)((((CtkStyleProvider*) (void *) g_type_check_instance_cast (( GTypeInstance*) ((memory_provider)), ((ctk_style_provider_get_type ())))))), |
10085 | CTK_STYLE_PROVIDER_PRIORITY_APPLICATION600 + 1); |
10086 | |
10087 | create_main_window (); |
10088 | |
10089 | ctk_main (); |
10090 | |
10091 | if (1) |
10092 | { |
10093 | while (g_main_context_pending (NULL((void*)0))) |
10094 | g_main_context_iteration (NULL((void*)0), FALSE(0)); |
10095 | #if 0 |
10096 | sleep (1); |
10097 | while (g_main_context_pending (NULL((void*)0))) |
10098 | g_main_context_iteration (NULL((void*)0), FALSE(0)); |
10099 | #endif |
10100 | } |
10101 | return 0; |
10102 | } |