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