| 519 |
519 |
| 520 MyDocument *doc = create_doc(); |
520 MyDocument *doc = create_doc(); |
| 521 ui_attach_document(obj->ctx, doc); |
521 ui_attach_document(obj->ctx, doc); |
| 522 |
522 |
| 523 ui_sidebar(obj, .margin = 0, .spacing = 0) { |
523 ui_sidebar(obj, .margin = 0, .spacing = 0) { |
| 524 ui_sourcelist(obj, .fill = UI_ON, |
524 ui_sourcelist(obj, .fill = TRUE, |
| 525 .getvalue = sourcelist_getvalue, |
525 .getvalue = sourcelist_getvalue, |
| 526 .sublists = UI_SUBLISTS(UI_SUBLIST(.varname = "srclist1", .header = "Header 1", .userdata = "Sublist1"), UI_SUBLIST(.varname = "srclist2", .header = "Header 2", .userdata = "Sublist2")), |
526 .sublists = UI_SUBLISTS(UI_SUBLIST(.varname = "srclist1", .header = "Header 1", .userdata = "Sublist1"), UI_SUBLIST(.varname = "srclist2", .header = "Header 2", .userdata = "Sublist2")), |
| 527 .onactivate = action_sourcelist_activate); |
527 .onactivate = action_sourcelist_activate); |
| 528 } |
528 } |
| 529 |
529 |
| 530 ui_tabview(obj, .spacing=10, .margin=10, .tabview = UI_TABVIEW_NAVIGATION_SIDE, .varname="tabview") { |
530 ui_tabview(obj, .spacing=10, .margin=10, .tabview = UI_TABVIEW_NAVIGATION_SIDE, .varname="tabview") { |
| 531 ui_tab(obj, "Tab 0") { |
531 ui_tab(obj, "Tab 0") { |
| 532 ui_vbox(obj, .fill = UI_OFF, .margin = 15, .spacing = 15) { |
532 ui_vbox(obj, .fill = FALSE, .margin = 15, .spacing = 15) { |
| 533 ui_button(obj, .label = "Test Button", .icon = "application-x-generic", .onclick = action_button); |
533 ui_button(obj, .label = "Test Button", .icon = "application-x-generic", .onclick = action_button); |
| 534 ui_togglebutton(obj, .label = "Toggle"); |
534 ui_togglebutton(obj, .label = "Toggle"); |
| 535 ui_checkbox(obj, .label = "My Checkbox"); |
535 ui_checkbox(obj, .label = "My Checkbox"); |
| 536 } |
536 } |
| 537 ui_grid(obj, .fill = UI_OFF, .columnspacing = 15, .rowspacing = 15, .margin = 15) { |
537 ui_grid(obj, .fill = FALSE, .columnspacing = 15, .rowspacing = 15, .margin = 15) { |
| 538 ui_button(obj, .label = "Activate Group 1", .hexpand = TRUE, .onclick = action_group1); |
538 ui_button(obj, .label = "Activate Group 1", .hexpand = TRUE, .onclick = action_group1); |
| 539 ui_button(obj, .label = "Disable Group 1", .onclick = action_group1, .onclickdata = "disable"); |
539 ui_button(obj, .label = "Disable Group 1", .onclick = action_group1, .onclickdata = "disable"); |
| 540 ui_newline(obj); |
540 ui_newline(obj); |
| 541 ui_button(obj, .label = "Activate Group 2", .hexpand = TRUE, .onclick = action_group2); |
541 ui_button(obj, .label = "Activate Group 2", .hexpand = TRUE, .onclick = action_group2); |
| 542 ui_button(obj, .label = "Disable Group 2", .onclick = action_group2, .onclickdata = "disable"); |
542 ui_button(obj, .label = "Disable Group 2", .onclick = action_group2, .onclickdata = "disable"); |
| 588 } |
588 } |
| 589 ui_tab(obj, "Tab 1") { |
589 ui_tab(obj, "Tab 1") { |
| 590 UiModel *model = ui_model(obj->ctx, UI_STRING, "col1", UI_INTEGER, "col2", UI_ICON, "col3", UI_ICON_TEXT, "col4", UI_INTEGER, "col5", -1); |
590 UiModel *model = ui_model(obj->ctx, UI_STRING, "col1", UI_INTEGER, "col2", UI_ICON, "col3", UI_ICON_TEXT, "col4", UI_INTEGER, "col5", -1); |
| 591 model->columnsize[0] = -1; |
591 model->columnsize[0] = -1; |
| 592 model->getvalue = table_getvalue; |
592 model->getvalue = table_getvalue; |
| 593 ui_table(obj, .model = model, .list = doc->list2, .colspan = 2, .fill = UI_ON, .contextmenu = menubuilder, .multiselection = TRUE, |
593 ui_table(obj, .model = model, .list = doc->list2, .colspan = 2, .fill = TRUE, .contextmenu = menubuilder, .multiselection = TRUE, .fill = TRUE, |
| 594 .onactivate = action_table_activate, .onactivatedata = "activate", |
594 .onactivate = action_table_activate, .onactivatedata = "activate", |
| 595 .onselection = action_table_activate, .onselectiondata = "selection"); |
595 .onselection = action_table_activate, .onselectiondata = "selection"); |
| 596 ui_hbox(obj, .fill = UI_OFF) { |
596 ui_hbox(obj, .fill = FALSE) { |
| 597 ui_textfield(obj, .value = doc->list_input); |
597 ui_textfield(obj, .value = doc->list_input); |
| 598 ui_button(obj, .label = "Update List Item 1", .onclick = action_update_list); |
598 ui_button(obj, .label = "Update List Item 1", .onclick = action_update_list); |
| 599 } |
599 } |
| 600 } |
600 } |
| 601 ui_tab(obj, "Tab 2") { |
601 ui_tab(obj, "Tab 2") { |
| 605 ui_button(obj, .label = "Obj Unref", .onclick=action_button_unref, .onclickdata = obj); |
605 ui_button(obj, .label = "Obj Unref", .onclick=action_button_unref, .onclickdata = obj); |
| 606 ui_button(obj, .label = "Button 5", .onclick=action_tab2_button); |
606 ui_button(obj, .label = "Button 5", .onclick=action_tab2_button); |
| 607 ui_button(obj, .label = "Button 6", .onclick=action_tab2_button); |
607 ui_button(obj, .label = "Button 6", .onclick=action_tab2_button); |
| 608 } |
608 } |
| 609 ui_tab(obj, "Tab 3") { |
609 ui_tab(obj, "Tab 3") { |
| 610 UiTabViewArgs args = {0}; |
610 UiTabViewArgs args = {.fill = TRUE}; |
| 611 UI_CTN(obj, tabview=ui_tabview_create(obj, &args)) { |
611 UI_CTN(obj, tabview=ui_tabview_create(obj, &args)) { |
| 612 UiObject *tab1 = ui_tabview_add(tabview, "Sub 1", -1); |
612 UiObject *tab1 = ui_tabview_add(tabview, "Sub 1", -1); |
| 613 ui_button(tab1, .label = "Button 1"); |
613 ui_button(tab1, .label = "Button 1"); |
| 614 |
614 |
| 615 |
615 |
| 616 UiObject *tab2 = ui_tabview_add(tabview, "Sub 2", -1); |
616 UiObject *tab2 = ui_tabview_add(tabview, "Sub 2", -1); |
| 617 ui_button(tab2, .label = "Button 2"); |
617 ui_button(tab2, .label = "Button 2"); |
| 618 } |
618 } |
| 619 } |
619 } |
| 620 ui_tab(obj, "Tab 4") { |
620 ui_tab(obj, "Tab 4") { |
| 621 ui_textarea(obj, .varname = "text"); |
621 ui_textarea(obj, .varname = "text", .fill = TRUE); |
| 622 } |
622 } |
| 623 ui_tab(obj, "Tab 5") { |
623 ui_tab(obj, "Tab 5") { |
| 624 ui_button(obj, .label = "Test Button", .icon = "application-x-generic", .onclick = action_button); |
624 ui_button(obj, .label = "Test Button", .icon = "application-x-generic", .onclick = action_button); |
| 625 ui_imageviewer(obj, .varname = "image", .style_class = "imageviewer", .contextmenu = menubuilder, .scrollarea = TRUE, .useradjustable = TRUE, .autoscale = TRUE); |
625 ui_imageviewer(obj, .varname = "image", .style_class = "imageviewer", .contextmenu = menubuilder, .scrollarea = TRUE, .useradjustable = TRUE, .autoscale = TRUE, .fill = TRUE); |
| 626 } |
626 } |
| 627 |
627 |
| 628 ui_tab(obj, "Tab 6") { |
628 ui_tab(obj, "Tab 6") { |
| 629 ui_scrolledwindow(obj, .fill = UI_ON) { |
629 ui_scrolledwindow(obj, .fill = TRUE) { |
| 630 ui_expander(obj, .label = "Expander", .margin = 10, .spacing = 10) { |
630 ui_expander(obj, .label = "Expander", .margin = 10, .spacing = 10) { |
| 631 ui_label(obj, .label = "Test"); |
631 ui_label(obj, .label = "Test"); |
| 632 ui_button(obj, .label = "Button"); |
632 ui_button(obj, .label = "Button"); |
| 633 } |
633 } |
| 634 |
634 |
| 646 } |
646 } |
| 647 } |
647 } |
| 648 } |
648 } |
| 649 |
649 |
| 650 ui_tab(obj, "Tab 7") { |
650 ui_tab(obj, "Tab 7") { |
| 651 ui_itemlist(obj, .create_ui = create_item, .varname = "items", .subcontainer = UI_CONTAINER_HBOX, .sub_spacing = 10, .margin = 10, .spacing = 4, .userdata = doc); |
651 ui_itemlist(obj, .create_ui = create_item, .varname = "items", .subcontainer = UI_CONTAINER_HBOX, .sub_spacing = 10, .margin = 10, .spacing = 4, .userdata = doc, .fill = TRUE); |
| 652 } |
652 } |
| 653 |
653 |
| 654 ui_tab(obj, "Tab 8") { |
654 ui_tab(obj, "Tab 8") { |
| 655 ui_hsplitpane(obj, .initial_position = 100) { |
655 ui_hsplitpane(obj, .initial_position = 100, .fill = TRUE) { |
| 656 ui_button(obj, .label = "Button 1"); |
656 ui_button(obj, .label = "Button 1"); |
| 657 ui_button(obj, .label = "Button 2"); |
657 ui_button(obj, .label = "Button 2"); |
| 658 } |
658 } |
| 659 } |
659 } |
| 660 ui_tab(obj, "Tab 9") { |
660 ui_tab(obj, "Tab 9") { |
| 661 #ifdef UI_WEBVIEW |
661 #ifdef UI_WEBVIEW |
| 662 ui_webview(obj, .fill = UI_ON, .value = doc->web); |
662 ui_webview(obj, .fill = TRUE, .value = doc->web); |
| 663 cxstring html = CX_STR("<html><body><h1>Hello Toolkit</h1><p>Toolkit WebView</p></body></html>"); |
663 cxstring html = CX_STR("<html><body><h1>Hello Toolkit</h1><p>Toolkit WebView</p></body></html>"); |
| 664 ui_webview_load_content(doc->web, "mypage", html.ptr, html.length, NULL, NULL); |
664 ui_webview_load_content(doc->web, "mypage", html.ptr, html.length, NULL, NULL); |
| 665 #else |
665 #else |
| 666 ui_label(obj, .label = "Webview is not supported"); |
666 ui_label(obj, .label = "Webview is not supported"); |
| 667 #endif |
667 #endif |