Mercurial > dwindows
comparison gtk3/dw.c @ 784:fb21fdd6b839
Slight code cleanup.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 21 Mar 2011 23:20:18 +0000 |
parents | 9ef49898a5e6 |
children | a86c54519de0 |
comparison
equal
deleted
inserted
replaced
783:9ef49898a5e6 | 784:fb21fdd6b839 |
---|---|
2334 text_width = 240; | 2334 text_width = 240; |
2335 text_height = 0; | 2335 text_height = 0; |
2336 stext = dw_text_new(outbuf, 0); | 2336 stext = dw_text_new(outbuf, 0); |
2337 dw_window_set_style(stext, DW_DT_WORDBREAK, DW_DT_WORDBREAK); | 2337 dw_window_set_style(stext, DW_DT_WORDBREAK, DW_DT_WORDBREAK); |
2338 dw_font_text_extents_get(stext, NULL, outbuf, &width, &height); | 2338 dw_font_text_extents_get(stext, NULL, outbuf, &width, &height); |
2339 #if 0 | 2339 |
2340 height = height+3; | 2340 text_width = min( width, dw_screen_width() - extra_width - 100 ); |
2341 if(width < text_width) | 2341 text_height = min( height, dw_screen_height() ); |
2342 text_height = height*2; | 2342 |
2343 else if(width < text_width*2) | |
2344 text_height = height*3; | |
2345 else if(width < text_width*3) | |
2346 text_height = height*4; | |
2347 else /* width > (3*text_width) */ | |
2348 { | |
2349 text_width = (width / 3) + 60; | |
2350 text_height = height*4; | |
2351 } | |
2352 #else | |
2353 text_width = min( width, dw_screen_width() - extra_width - 100 ); | |
2354 text_height = min( height, dw_screen_height() ); | |
2355 #endif | |
2356 dw_box_pack_start(texttargetbox, stext, text_width, text_height, TRUE, TRUE, 2); | 2343 dw_box_pack_start(texttargetbox, stext, text_width, text_height, TRUE, TRUE, 2); |
2357 | 2344 |
2358 /* Buttons */ | 2345 /* Buttons */ |
2359 buttonbox = dw_box_new(DW_HORZ, 10); | 2346 buttonbox = dw_box_new(DW_HORZ, 10); |
2360 | 2347 |
2429 { | 2416 { |
2430 gtk_mdi_set_state(GTK_MDI(mdi), handle, CHILD_ICONIFIED); | 2417 gtk_mdi_set_state(GTK_MDI(mdi), handle, CHILD_ICONIFIED); |
2431 } | 2418 } |
2432 else | 2419 else |
2433 { | 2420 { |
2434 #if 0 | |
2435 XIconifyWindow(GDK_WINDOW_XDISPLAY(GTK_WIDGET(handle)->window), | |
2436 GDK_WINDOW_XWINDOW(GTK_WIDGET(handle)->window), | |
2437 DefaultScreen (GDK_DISPLAY ())); | |
2438 #else | |
2439 gtk_window_iconify( GTK_WINDOW(handle) ); | 2421 gtk_window_iconify( GTK_WINDOW(handle) ); |
2440 #endif | |
2441 } | 2422 } |
2442 DW_MUTEX_UNLOCK; | 2423 DW_MUTEX_UNLOCK; |
2443 return 0; | 2424 return 0; |
2444 } | 2425 } |
2445 | 2426 |
3157 if(top) | 3138 if(top) |
3158 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tmp), GTK_POS_TOP); | 3139 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tmp), GTK_POS_TOP); |
3159 else | 3140 else |
3160 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tmp), GTK_POS_BOTTOM); | 3141 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tmp), GTK_POS_BOTTOM); |
3161 gtk_notebook_set_scrollable(GTK_NOTEBOOK(tmp), TRUE); | 3142 gtk_notebook_set_scrollable(GTK_NOTEBOOK(tmp), TRUE); |
3162 #if 0 | |
3163 gtk_notebook_popup_enable(GTK_NOTEBOOK(tmp)); | |
3164 #endif | |
3165 gtk_widget_show(tmp); | 3143 gtk_widget_show(tmp); |
3166 g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); | 3144 g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); |
3167 g_object_set_data(G_OBJECT(tmp), "_dw_pagearray", (gpointer)pagearray); | 3145 g_object_set_data(G_OBJECT(tmp), "_dw_pagearray", (gpointer)pagearray); |
3168 DW_MUTEX_UNLOCK; | 3146 DW_MUTEX_UNLOCK; |
3169 return tmp; | 3147 return tmp; |
5376 { | 5354 { |
5377 int z; | 5355 int z; |
5378 char numbuf[20]; | 5356 char numbuf[20]; |
5379 GtkWidget *tree; | 5357 GtkWidget *tree; |
5380 GtkListStore *store; | 5358 GtkListStore *store; |
5381 GtkTreeViewColumn *col, *expander = NULL; | 5359 GtkTreeViewColumn *col; |
5382 GtkCellRenderer *rend; | 5360 GtkCellRenderer *rend; |
5383 GtkTreeSelection *sel; | 5361 GtkTreeSelection *sel; |
5384 int _locked_by_me = FALSE; | 5362 int _locked_by_me = FALSE; |
5385 GType *array = calloc(count + 2, sizeof(gint)); | 5363 GType *array = calloc(count + 2, sizeof(gint)); |
5386 | 5364 |
5431 gtk_tree_view_column_pack_start(col, rend, FALSE); | 5409 gtk_tree_view_column_pack_start(col, rend, FALSE); |
5432 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", z+1); | 5410 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", z+1); |
5433 } | 5411 } |
5434 else if(flags[z] & DW_CFA_STRING) | 5412 else if(flags[z] & DW_CFA_STRING) |
5435 { | 5413 { |
5436 if(!expander) | |
5437 { | |
5438 expander = col; | |
5439 } | |
5440 rend = gtk_cell_renderer_text_new(); | 5414 rend = gtk_cell_renderer_text_new(); |
5441 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5415 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5442 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); | 5416 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5417 gtk_tree_view_column_set_resizable(col, TRUE); | |
5443 } | 5418 } |
5444 else if(flags[z] & DW_CFA_ULONG) | 5419 else if(flags[z] & DW_CFA_ULONG) |
5445 { | 5420 { |
5446 rend = gtk_cell_renderer_text_new(); | 5421 rend = gtk_cell_renderer_text_new(); |
5447 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5422 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5448 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); | 5423 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5424 gtk_tree_view_column_set_resizable(col, TRUE); | |
5449 } | 5425 } |
5450 else if(flags[z] & DW_CFA_TIME) | 5426 else if(flags[z] & DW_CFA_TIME) |
5451 { | 5427 { |
5452 rend = gtk_cell_renderer_text_new(); | 5428 rend = gtk_cell_renderer_text_new(); |
5453 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5429 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5454 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); | 5430 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5431 gtk_tree_view_column_set_resizable(col, TRUE); | |
5455 } | 5432 } |
5456 else if(flags[z] & DW_CFA_DATE) | 5433 else if(flags[z] & DW_CFA_DATE) |
5457 { | 5434 { |
5458 rend = gtk_cell_renderer_text_new(); | 5435 rend = gtk_cell_renderer_text_new(); |
5459 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5436 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5460 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); | 5437 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5438 gtk_tree_view_column_set_resizable(col, TRUE); | |
5461 } | 5439 } |
5462 gtk_tree_view_column_set_title(col, titles[z]); | 5440 gtk_tree_view_column_set_title(col, titles[z]); |
5463 gtk_tree_view_append_column(GTK_TREE_VIEW (tree), col); | 5441 gtk_tree_view_append_column(GTK_TREE_VIEW (tree), col); |
5464 gtk_tree_view_set_expander_column(GTK_TREE_VIEW(tree), col); | |
5465 } | 5442 } |
5466 /* Finish up */ | 5443 /* Finish up */ |
5467 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), TRUE); | 5444 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), TRUE); |
5468 gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(tree), TRUE); | 5445 gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(tree), TRUE); |
5469 gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(tree), TRUE); | 5446 gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(tree), TRUE); |
10149 * dataname: A string pointer identifying which signal to be hooked. | 10126 * dataname: A string pointer identifying which signal to be hooked. |
10150 * data: User data to be passed to the handler function. | 10127 * data: User data to be passed to the handler function. |
10151 */ | 10128 */ |
10152 void dw_window_set_data(HWND window, char *dataname, void *data) | 10129 void dw_window_set_data(HWND window, char *dataname, void *data) |
10153 { | 10130 { |
10131 HWND thiswindow = window; | |
10154 int _locked_by_me = FALSE; | 10132 int _locked_by_me = FALSE; |
10155 | 10133 |
10156 if(!window) | 10134 if(!window) |
10157 return; | 10135 return; |
10158 | 10136 |
10159 DW_MUTEX_LOCK; | 10137 DW_MUTEX_LOCK; |
10160 if(GTK_IS_SCROLLED_WINDOW(window)) | 10138 if(GTK_IS_SCROLLED_WINDOW(window)) |
10161 { | 10139 { |
10162 HWND thiswindow = (HWND)g_object_get_data(G_OBJECT(window), "_dw_user"); | 10140 thiswindow = (HWND)g_object_get_data(G_OBJECT(window), "_dw_user"); |
10163 | 10141 } |
10164 if(thiswindow && G_IS_OBJECT(thiswindow)) | 10142 if(thiswindow && G_IS_OBJECT(thiswindow)) |
10165 g_object_set_data(G_OBJECT(thiswindow), dataname, (gpointer)data); | 10143 g_object_set_data(G_OBJECT(thiswindow), dataname, (gpointer)data); |
10166 #if 0 | |
10167 if(GTK_IS_COMBO_BOX(window)) | |
10168 g_object_set_data(G_OBJECT(GTK_COMBO_BOX(window)->entry), dataname, (gpointer)data); | |
10169 #endif | |
10170 g_object_set_data(G_OBJECT(window), dataname, (gpointer)data); | |
10171 } | |
10172 DW_MUTEX_UNLOCK; | 10144 DW_MUTEX_UNLOCK; |
10173 } | 10145 } |
10174 | 10146 |
10175 /* | 10147 /* |
10176 * Gets a named user data item to a window handle. | 10148 * Gets a named user data item to a window handle. |
10179 * dataname: A string pointer identifying which signal to be hooked. | 10151 * dataname: A string pointer identifying which signal to be hooked. |
10180 * data: User data to be passed to the handler function. | 10152 * data: User data to be passed to the handler function. |
10181 */ | 10153 */ |
10182 void *dw_window_get_data(HWND window, char *dataname) | 10154 void *dw_window_get_data(HWND window, char *dataname) |
10183 { | 10155 { |
10156 HWND thiswindow = window; | |
10184 int _locked_by_me = FALSE; | 10157 int _locked_by_me = FALSE; |
10185 void *ret = NULL; | 10158 void *ret = NULL; |
10186 | 10159 |
10187 if(!window) | 10160 if(!window) |
10188 return NULL; | 10161 return NULL; |
10189 | 10162 |
10190 DW_MUTEX_LOCK; | 10163 DW_MUTEX_LOCK; |
10191 if(G_IS_OBJECT(window)) | 10164 if(GTK_IS_SCROLLED_WINDOW(window)) |
10192 ret = (void *)g_object_get_data(G_OBJECT(window), dataname); | 10165 { |
10166 thiswindow = (HWND)g_object_get_data(G_OBJECT(window), "_dw_user"); | |
10167 } | |
10168 if(G_IS_OBJECT(thiswindow)) | |
10169 ret = (void *)g_object_get_data(G_OBJECT(thiswindow), dataname); | |
10193 DW_MUTEX_UNLOCK; | 10170 DW_MUTEX_UNLOCK; |
10194 return ret; | 10171 return ret; |
10195 } | 10172 } |
10196 | 10173 |
10197 /* | 10174 /* |