ui/gtk/window.c

changeset 1013
5d8822279684
parent 986
6f7600c2b9e1
equal deleted inserted replaced
1012:f2b535f6e597 1013:5d8822279684
292 g_object_set_data(G_OBJECT(obj->widget), "ui_headerbar", headerbar_main); 292 g_object_set_data(G_OBJECT(obj->widget), "ui_headerbar", headerbar_main);
293 293
294 if(!simple) { 294 if(!simple) {
295 ui_fill_headerbar(obj, headerbar_sidebar, headerbar_main, headerbar_right); 295 ui_fill_headerbar(obj, headerbar_sidebar, headerbar_main, headerbar_right);
296 } 296 }
297 #elif GTK_MAJOR_VERSION >= 4
298 GtkWidget *content_box = ui_gtk_vbox_new(0);
299 WINDOW_SET_CONTENT(obj->widget, vbox);
300 if(!simple) {
301 if(uic_get_menu_list()) {
302 GtkWidget *mb = ui_create_menubar(obj);
303 if(mb) {
304 BOX_ADD(vbox, mb);
305 }
306 }
307 }
308 if(sidebar) {
309 GtkWidget *paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
310 GtkWidget *sidebar_vbox = ui_gtk_vbox_new(0);
311 gtk_paned_set_start_child(GTK_PANED(paned), sidebar_vbox);
312 gtk_paned_set_end_child(GTK_PANED(paned), content_box);
313 BOX_ADD_EXPAND(GTK_BOX(vbox), paned);
314 g_object_set_data(G_OBJECT(obj->widget), "ui_sidebar", sidebar_vbox);
315 } else {
316 BOX_ADD_EXPAND(GTK_BOX(vbox), content_box);
317 }
318 #else 297 #else
319 if(!simple) { 298 if(!simple) {
320 // menu 299 // menu
321 if(uic_get_menu_list()) { 300 if(uic_get_menu_list()) {
322 GtkWidget *mb = ui_create_menubar(obj); 301 GtkWidget *mb = ui_create_menubar(obj);
323 if(mb) { 302 if(mb) {
324 gtk_box_pack_start(GTK_BOX(vbox), mb, FALSE, FALSE, 0); 303 BOX_ADD(vbox, mb);
325 } 304 }
326 } 305 }
327 306
328 // toolbar 307 // toolbar
308 #if GTK_MAJOR_VERSION >= 4
309 // TODO: gtk4 toolbar
310 #else
329 if(uic_toolbar_isenabled()) { 311 if(uic_toolbar_isenabled()) {
330 GtkWidget *tb = ui_create_toolbar(obj); 312 GtkWidget *tb = ui_create_toolbar(obj);
331 if(tb) { 313 if(tb) {
332 gtk_box_pack_start(GTK_BOX(vbox), tb, FALSE, FALSE, 0); 314 BOX_ADD(vbox, tb);
333 } 315 }
334 } 316 }
335 317 #endif
336 //GtkWidget *hb = ui_create_headerbar(obj); 318 //GtkWidget *hb = ui_create_headerbar(obj);
337 //gtk_window_set_titlebar(GTK_WINDOW(obj->widget), hb); 319 //gtk_window_set_titlebar(GTK_WINDOW(obj->widget), hb);
338 } 320 }
339 321
340 GtkWidget *content_box = ui_gtk_vbox_new(0); 322 GtkWidget *content_box = ui_gtk_vbox_new(0);
341 WINDOW_SET_CONTENT(obj->widget, vbox); 323 WINDOW_SET_CONTENT(obj->widget, vbox);
342 if(sidebar || splitview) { 324 if(sidebar || splitview) {
343 GtkWidget *paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); 325 GtkWidget *paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
344 if(sidebar) { 326 if(sidebar) {
345 GtkWidget *sidebar_vbox = ui_gtk_vbox_new(0); 327 GtkWidget *sidebar_vbox = ui_gtk_vbox_new(0);
346 gtk_paned_add1(GTK_PANED(paned), sidebar_vbox); 328 PANED_SET_CHILD1(paned, sidebar_vbox);
347 g_object_set_data(G_OBJECT(obj->widget), "ui_sidebar", sidebar_vbox); 329 g_object_set_data(G_OBJECT(obj->widget), "ui_sidebar", sidebar_vbox);
348 gtk_paned_set_position(GTK_PANED(paned), 200); 330 gtk_paned_set_position(GTK_PANED(paned), 200);
349 } 331 }
350 332
351 if(splitview) { 333 if(splitview) {
352 GtkWidget *content_paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); 334 GtkWidget *content_paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
353 gtk_paned_set_position(GTK_PANED(content_paned), splitview_pos); 335 gtk_paned_set_position(GTK_PANED(content_paned), splitview_pos);
354 gtk_paned_add2(GTK_PANED(paned), content_paned); 336 PANED_SET_CHILD2(paned, content_paned);
355 337
356 GtkWidget *right_content_box = ui_gtk_vbox_new(0); 338 GtkWidget *right_content_box = ui_gtk_vbox_new(0);
357 gtk_paned_add1(GTK_PANED(content_paned), content_box); 339 PANED_SET_CHILD1(content_paned, content_box);
358 gtk_paned_add2(GTK_PANED(content_paned), right_content_box); 340 PANED_SET_CHILD2(content_paned, right_content_box);
359 341
360 g_object_set_data(G_OBJECT(obj->widget), "ui_window_splitview", content_paned); 342 g_object_set_data(G_OBJECT(obj->widget), "ui_window_splitview", content_paned);
361 g_object_set_data(G_OBJECT(obj->widget), "ui_left_panel", content_box); 343 g_object_set_data(G_OBJECT(obj->widget), "ui_left_panel", content_box);
362 g_object_set_data(G_OBJECT(obj->widget), "ui_right_panel", right_content_box); 344 g_object_set_data(G_OBJECT(obj->widget), "ui_right_panel", right_content_box);
363 } else { 345 } else {
364 gtk_paned_add2(GTK_PANED(paned), content_box); 346 PANED_SET_CHILD2(paned, content_box);
365 } 347 }
366 348
367 BOX_ADD_EXPAND(GTK_BOX(vbox), paned); 349 BOX_ADD_EXPAND(GTK_BOX(vbox), paned);
368 } else { 350 } else {
369 BOX_ADD_EXPAND(GTK_BOX(vbox), content_box); 351 BOX_ADD_EXPAND(GTK_BOX(vbox), content_box);

mercurial