ui/gtk/list.c

changeset 809
f5ddce392617
parent 801
e096c441e874
child 820
7ce561f92632
equal deleted inserted replaced
808:2b0ecad00872 809:f5ddce392617
509 GTK_SCROLLED_WINDOW(scroll_area), 509 GTK_SCROLLED_WINDOW(scroll_area),
510 GTK_POLICY_AUTOMATIC, 510 GTK_POLICY_AUTOMATIC,
511 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS 511 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS
512 SCROLLEDWINDOW_SET_CHILD(scroll_area, view); 512 SCROLLEDWINDOW_SET_CHILD(scroll_area, view);
513 513
514 if(args->width > 0 || args->height > 0) {
515 int width = args->width;
516 int height = args->height;
517 if(width == 0) {
518 width = -1;
519 }
520 if(height == 0) {
521 height = -1;
522 }
523 gtk_widget_set_size_request(scroll_area, width, height);
524 }
525
514 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end; 526 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
515 UiLayout layout = UI_ARGS2LAYOUT(args); 527 UiLayout layout = UI_ARGS2LAYOUT(args);
516 ct->add(ct, scroll_area, &layout); 528 ct->add(ct, scroll_area, &layout);
517 529
518 return scroll_area; 530 return scroll_area;
544 g_signal_connect(factory, "setup", G_CALLBACK(column_factory_setup), listview->columns); 556 g_signal_connect(factory, "setup", G_CALLBACK(column_factory_setup), listview->columns);
545 g_signal_connect(factory, "bind", G_CALLBACK(column_factory_bind), listview->columns); 557 g_signal_connect(factory, "bind", G_CALLBACK(column_factory_bind), listview->columns);
546 558
547 GtkWidget *view = gtk_drop_down_new(G_LIST_MODEL(ls), NULL); 559 GtkWidget *view = gtk_drop_down_new(G_LIST_MODEL(ls), NULL);
548 gtk_drop_down_set_factory(GTK_DROP_DOWN(view), factory); 560 gtk_drop_down_set_factory(GTK_DROP_DOWN(view), factory);
561 if(args->width > 0) {
562 gtk_widget_set_size_request(view, args->width, -1);
563 }
549 564
550 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST); 565 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST);
551 566
552 // init listview 567 // init listview
553 listview->widget = view; 568 listview->widget = view;
687 gtk_scrolled_window_set_policy( 702 gtk_scrolled_window_set_policy(
688 GTK_SCROLLED_WINDOW(scroll_area), 703 GTK_SCROLLED_WINDOW(scroll_area),
689 GTK_POLICY_AUTOMATIC, 704 GTK_POLICY_AUTOMATIC,
690 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS 705 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS
691 SCROLLEDWINDOW_SET_CHILD(scroll_area, view); 706 SCROLLEDWINDOW_SET_CHILD(scroll_area, view);
707
708 if(args->width > 0 || args->height > 0) {
709 int width = args->width;
710 int height = args->height;
711 if(width == 0) {
712 width = -1;
713 }
714 if(height == 0) {
715 height = -1;
716 }
717 gtk_widget_set_size_request(scroll_area, width, height);
718 }
692 719
693 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end; 720 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
694 UiLayout layout = UI_ARGS2LAYOUT(args); 721 UiLayout layout = UI_ARGS2LAYOUT(args);
695 ct->add(ct, scroll_area, &layout); 722 ct->add(ct, scroll_area, &layout);
696 723
1206 gtk_scrolled_window_set_policy( 1233 gtk_scrolled_window_set_policy(
1207 GTK_SCROLLED_WINDOW(scroll_area), 1234 GTK_SCROLLED_WINDOW(scroll_area),
1208 GTK_POLICY_AUTOMATIC, 1235 GTK_POLICY_AUTOMATIC,
1209 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS 1236 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS
1210 SCROLLEDWINDOW_SET_CHILD(scroll_area, view); 1237 SCROLLEDWINDOW_SET_CHILD(scroll_area, view);
1238
1239 if(args->width > 0 || args->height > 0) {
1240 int width = args->width;
1241 int height = args->height;
1242 if(width == 0) {
1243 width = -1;
1244 }
1245 if(height == 0) {
1246 height = -1;
1247 }
1248 gtk_widget_set_size_request(scroll_area, width, height);
1249 }
1211 1250
1212 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end; 1251 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
1213 UiLayout layout = UI_ARGS2LAYOUT(args); 1252 UiLayout layout = UI_ARGS2LAYOUT(args);
1214 ct->add(ct, scroll_area, &layout); 1253 ct->add(ct, scroll_area, &layout);
1215 1254
1397 GTK_SCROLLED_WINDOW(scroll_area), 1436 GTK_SCROLLED_WINDOW(scroll_area),
1398 GTK_POLICY_AUTOMATIC, 1437 GTK_POLICY_AUTOMATIC,
1399 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS 1438 GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS
1400 SCROLLEDWINDOW_SET_CHILD(scroll_area, view); 1439 SCROLLEDWINDOW_SET_CHILD(scroll_area, view);
1401 1440
1441 if(args->width > 0 || args->height > 0) {
1442 int width = args->width;
1443 int height = args->height;
1444 if(width == 0) {
1445 width = -1;
1446 }
1447 if(height == 0) {
1448 height = -1;
1449 }
1450 gtk_widget_set_size_request(scroll_area, width, height);
1451 }
1452
1402 if(args->contextmenu) { 1453 if(args->contextmenu) {
1403 UIMENU menu = ui_contextmenu_create(args->contextmenu, obj, scroll_area); 1454 UIMENU menu = ui_contextmenu_create(args->contextmenu, obj, scroll_area);
1404 #if GTK_MAJOR_VERSION >= 4 1455 #if GTK_MAJOR_VERSION >= 4
1405 ui_widget_set_contextmenu(scroll_area, menu); 1456 ui_widget_set_contextmenu(scroll_area, menu);
1406 #else 1457 #else
1455 1506
1456 /* --------------------------- ComboBox --------------------------- */ 1507 /* --------------------------- ComboBox --------------------------- */
1457 1508
1458 UIWIDGET ui_combobox_create(UiObject *obj, UiListArgs *args) { 1509 UIWIDGET ui_combobox_create(UiObject *obj, UiListArgs *args) {
1459 GtkWidget *combobox = gtk_combo_box_new(); 1510 GtkWidget *combobox = gtk_combo_box_new();
1511 if(args->width > 0) {
1512 gtk_widget_set_size_request(scroll_area, args->width, -1);
1513 }
1460 1514
1461 ui_set_name_and_style(combobox, args->name, args->style_class); 1515 ui_set_name_and_style(combobox, args->name, args->style_class);
1462 ui_set_widget_groups(obj->ctx, combobox, args->groups); 1516 ui_set_widget_groups(obj->ctx, combobox, args->groups);
1463 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end; 1517 UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
1464 UiLayout layout = UI_ARGS2LAYOUT(args); 1518 UiLayout layout = UI_ARGS2LAYOUT(args);

mercurial