Changes in uspace/app/uidemo/uidemo.c [80d4aea:08499f0] in mainline
- File:
-
- 1 edited
-
uspace/app/uidemo/uidemo.c (modified) (49 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/uidemo/uidemo.c
r80d4aea r08499f0 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 33 33 */ 34 34 35 #include <fibril_synch.h> 35 36 #include <gfx/bitmap.h> 36 37 #include <gfx/coord.h> … … 44 45 #include <ui/image.h> 45 46 #include <ui/label.h> 47 #include <ui/list.h> 48 #include <ui/menu.h> 46 49 #include <ui/menubar.h> 50 #include <ui/menudd.h> 47 51 #include <ui/menuentry.h> 48 #include <ui/menu.h>49 52 #include <ui/msgdialog.h> 50 53 #include <ui/pbutton.h> 51 54 #include <ui/promptdialog.h> 52 55 #include <ui/resource.h> 56 #include <ui/selectdialog.h> 57 #include <ui/tab.h> 58 #include <ui/tabset.h> 53 59 #include <ui/ui.h> 54 60 #include <ui/window.h> 55 61 #include "uidemo.h" 56 62 63 enum { 64 scrollbar_update_interval_ms = 1000, 65 ui_demo_progress_step = 17 66 }; 67 57 68 static errno_t bitmap_moire(gfx_bitmap_t *, gfx_coord_t, gfx_coord_t); 58 69 … … 87 98 }; 88 99 100 static void scrollbar_up(ui_scrollbar_t *, void *); 101 static void scrollbar_down(ui_scrollbar_t *, void *); 102 static void scrollbar_page_up(ui_scrollbar_t *, void *); 103 static void scrollbar_page_down(ui_scrollbar_t *, void *); 104 static void scrollbar_moved(ui_scrollbar_t *, void *, gfx_coord_t); 105 106 static ui_scrollbar_cb_t scrollbar_cb = { 107 .up = scrollbar_up, 108 .down = scrollbar_down, 109 .page_up = scrollbar_page_up, 110 .page_down = scrollbar_page_down, 111 .moved = scrollbar_moved 112 }; 113 89 114 static void uidemo_file_load(ui_menu_entry_t *, void *); 90 115 static void uidemo_file_message(ui_menu_entry_t *, void *); 116 static void uidemo_file_confirmation(ui_menu_entry_t *, void *); 91 117 static void uidemo_file_exit(ui_menu_entry_t *, void *); 92 118 static void uidemo_edit_modify(ui_menu_entry_t *, void *); 119 static void uidemo_edit_insert_character(ui_menu_entry_t *, void *); 93 120 94 121 static void file_dialog_bok(ui_file_dialog_t *, void *, const char *); … … 110 137 .bcancel = prompt_dialog_bcancel, 111 138 .close = prompt_dialog_close 139 }; 140 141 static void select_dialog_bok(ui_select_dialog_t *, void *, void *); 142 static void select_dialog_bcancel(ui_select_dialog_t *, void *); 143 static void select_dialog_close(ui_select_dialog_t *, void *); 144 145 static ui_select_dialog_cb_t select_dialog_cb = { 146 .bok = select_dialog_bok, 147 .bcancel = select_dialog_bcancel, 148 .close = select_dialog_close 112 149 }; 113 150 … … 215 252 } 216 253 217 /** Display a message window. 254 /** Scrollbar up button pressed. 255 * 256 * @param scrollbar Scrollbar 257 * @param arg Argument (demo) 258 */ 259 static void scrollbar_up(ui_scrollbar_t *scrollbar, void *arg) 260 { 261 gfx_coord_t pos; 262 263 pos = ui_scrollbar_get_pos(scrollbar); 264 ui_scrollbar_set_pos(scrollbar, pos - 1); 265 266 pos = ui_scrollbar_get_pos(scrollbar); 267 scrollbar_moved(scrollbar, arg, pos); 268 } 269 270 /** Scrollbar down button pressed. 271 * 272 * @param scrollbar Scrollbar 273 * @param arg Argument (demo) 274 */ 275 static void scrollbar_down(ui_scrollbar_t *scrollbar, void *arg) 276 { 277 gfx_coord_t pos; 278 279 pos = ui_scrollbar_get_pos(scrollbar); 280 ui_scrollbar_set_pos(scrollbar, pos + 1); 281 282 pos = ui_scrollbar_get_pos(scrollbar); 283 scrollbar_moved(scrollbar, arg, pos); 284 } 285 286 /** Scrollbar page up event. 287 * 288 * @param scrollbar Scrollbar 289 * @param arg Argument (demo) 290 */ 291 static void scrollbar_page_up(ui_scrollbar_t *scrollbar, void *arg) 292 { 293 gfx_coord_t pos; 294 295 pos = ui_scrollbar_get_pos(scrollbar); 296 ui_scrollbar_set_pos(scrollbar, pos - 297 ui_scrollbar_trough_length(scrollbar) / 4); 298 299 pos = ui_scrollbar_get_pos(scrollbar); 300 scrollbar_moved(scrollbar, arg, pos); 301 } 302 303 /** Scrollbar page down event. 304 * 305 * @param scrollbar Scrollbar 306 * @param arg Argument (demo) 307 */ 308 static void scrollbar_page_down(ui_scrollbar_t *scrollbar, void *arg) 309 { 310 gfx_coord_t pos; 311 312 pos = ui_scrollbar_get_pos(scrollbar); 313 ui_scrollbar_set_pos(scrollbar, pos + 314 ui_scrollbar_trough_length(scrollbar) / 4); 315 316 pos = ui_scrollbar_get_pos(scrollbar); 317 scrollbar_moved(scrollbar, arg, pos); 318 } 319 320 /** Scrollbar was moved. 321 * 322 * @param scrollbar Scrollbar 323 * @param arg Argument (demo) 324 * @param pos Position 325 */ 326 static void scrollbar_moved(ui_scrollbar_t *scrollbar, void *arg, 327 gfx_coord_t pos) 328 { 329 ui_demo_t *demo = (ui_demo_t *) arg; 330 char *str; 331 errno_t rc; 332 int rv; 333 334 rv = asprintf(&str, "Scrollbar: %d of %d", (int) pos, 335 ui_scrollbar_move_length(scrollbar)); 336 if (rv < 0) { 337 printf("Out of memory.\n"); 338 return; 339 } 340 341 rc = ui_entry_set_text(demo->entry, str); 342 if (rc != EOK) 343 printf("Error changing entry text.\n"); 344 (void) ui_entry_paint(demo->entry); 345 346 free(str); 347 } 348 349 /** Display a message window with OK button. 218 350 * 219 351 * @param demo UI demo … … 290 422 } 291 423 424 /** File / Confirmation menu entry selected. 425 * 426 * @param mentry Menu entry 427 * @param arg Argument (demo) 428 */ 429 static void uidemo_file_confirmation(ui_menu_entry_t *mentry, void *arg) 430 { 431 ui_demo_t *demo = (ui_demo_t *) arg; 432 ui_msg_dialog_params_t mdparams; 433 ui_msg_dialog_t *dialog; 434 errno_t rc; 435 436 ui_msg_dialog_params_init(&mdparams); 437 mdparams.caption = "Confirmation"; 438 mdparams.text = "This will not actually do anything. Proceed?"; 439 mdparams.choice = umdc_ok_cancel; 440 441 rc = ui_msg_dialog_create(demo->ui, &mdparams, &dialog); 442 if (rc != EOK) { 443 printf("Error creating message dialog.\n"); 444 return; 445 } 446 447 ui_msg_dialog_set_cb(dialog, &msg_dialog_cb, &demo); 448 } 449 292 450 /** File / Exit menu entry selected. 293 451 * … … 320 478 rc = ui_prompt_dialog_create(demo->ui, &pdparams, &dialog); 321 479 if (rc != EOK) { 322 printf("Error creating messagedialog.\n");480 printf("Error creating prompt dialog.\n"); 323 481 return; 324 482 } 325 483 326 484 ui_prompt_dialog_set_cb(dialog, &prompt_dialog_cb, demo); 485 } 486 487 /** Edit / Insert Character menu entry selected. 488 * 489 * @param mentry Menu entry 490 * @param arg Argument (demo) 491 */ 492 static void uidemo_edit_insert_character(ui_menu_entry_t *mentry, void *arg) 493 { 494 ui_demo_t *demo = (ui_demo_t *) arg; 495 ui_select_dialog_params_t sdparams; 496 ui_select_dialog_t *dialog; 497 ui_list_entry_attr_t attr; 498 errno_t rc; 499 500 ui_select_dialog_params_init(&sdparams); 501 sdparams.caption = "Insert Character"; 502 sdparams.prompt = "Select character to insert"; 503 504 rc = ui_select_dialog_create(demo->ui, &sdparams, &dialog); 505 if (rc != EOK) { 506 printf("Error creating select dialog.\n"); 507 return; 508 } 509 510 ui_list_entry_attr_init(&attr); 511 attr.caption = "Dollar sign ($)"; 512 attr.arg = (void *)'$'; 513 rc = ui_select_dialog_append(dialog, &attr); 514 if (rc != EOK) { 515 printf("Error appending entry to list.\n"); 516 return; 517 } 518 519 ui_list_entry_attr_init(&attr); 520 attr.caption = "Hash sign (#)"; 521 attr.arg = (void *)'#'; 522 rc = ui_select_dialog_append(dialog, &attr); 523 if (rc != EOK) { 524 printf("Error appending entry to list.\n"); 525 return; 526 } 527 528 ui_list_entry_attr_init(&attr); 529 attr.caption = "Question mark (?)"; 530 attr.arg = (void *)'?'; 531 rc = ui_select_dialog_append(dialog, &attr); 532 if (rc != EOK) { 533 printf("Error appending entry to list.\n"); 534 return; 535 } 536 537 ui_select_dialog_set_cb(dialog, &select_dialog_cb, demo); 538 539 (void) ui_select_dialog_paint(dialog); 327 540 } 328 541 … … 413 626 /** Prompt dialog cancel button press. 414 627 * 415 * @param dialog Filedialog628 * @param dialog Prompt dialog 416 629 * @param arg Argument (ui_demo_t *) 417 630 */ … … 426 639 /** Prompt dialog close request. 427 640 * 428 * @param dialog Filedialog641 * @param dialog Prompt dialog 429 642 * @param arg Argument (ui_demo_t *) 430 643 */ … … 435 648 (void) demo; 436 649 ui_prompt_dialog_destroy(dialog); 650 } 651 652 /** Select dialog OK button press. 653 * 654 * @param dialog Select dialog 655 * @param arg Argument (ui_demo_t *) 656 * @param text Submitted text 657 */ 658 static void select_dialog_bok(ui_select_dialog_t *dialog, void *arg, 659 void *earg) 660 { 661 ui_demo_t *demo = (ui_demo_t *) arg; 662 char str[2]; 663 664 ui_select_dialog_destroy(dialog); 665 str[0] = (char)(intptr_t)earg; 666 str[1] = '\0'; 667 (void) ui_entry_insert_str(demo->entry, str); 668 } 669 670 /** Select dialog cancel button press. 671 * 672 * @param dialog Select dialog 673 * @param arg Argument (ui_demo_t *) 674 */ 675 static void select_dialog_bcancel(ui_select_dialog_t *dialog, void *arg) 676 { 677 ui_demo_t *demo = (ui_demo_t *) arg; 678 679 (void) demo; 680 ui_select_dialog_destroy(dialog); 681 } 682 683 /** Select dialog close request. 684 * 685 * @param dialog Select dialog 686 * @param arg Argument (ui_demo_t *) 687 */ 688 static void select_dialog_close(ui_select_dialog_t *dialog, void *arg) 689 { 690 ui_demo_t *demo = (ui_demo_t *) arg; 691 692 (void) demo; 693 ui_select_dialog_destroy(dialog); 437 694 } 438 695 … … 463 720 (void) demo; 464 721 ui_msg_dialog_destroy(dialog); 722 } 723 724 static void ui_demo_timer_fun(void *arg) 725 { 726 ui_demo_t *demo = (ui_demo_t *) arg; 727 728 if (demo->progress_value < 100) { 729 demo->progress_value += ui_demo_progress_step; 730 if (demo->progress_value > 100) 731 demo->progress_value = 100; 732 } else { 733 demo->progress_value = 0; 734 } 735 736 ui_progress_set_value(demo->progress, demo->progress_value); 737 738 if (ui_tab_is_selected(demo->tbars)) { 739 ui_lock(demo->ui); 740 ui_progress_paint(demo->progress); 741 ui_unlock(demo->ui); 742 } 743 744 fibril_timer_set(demo->timer, 1000 * scrollbar_update_interval_ms, 745 ui_demo_timer_fun, (void *)demo); 465 746 } 466 747 … … 486 767 ui_menu_entry_t *mexit; 487 768 ui_menu_entry_t *mmodify; 769 ui_menu_entry_t *minsert_char; 488 770 ui_menu_entry_t *mabout; 771 ui_list_entry_attr_t eattr; 489 772 errno_t rc; 490 773 … … 500 783 ui_wnd_params_init(¶ms); 501 784 params.caption = "UI Demo"; 502 params.style |= ui_wds_ resizable;785 params.style |= ui_wds_maximize_btn | ui_wds_resizable; 503 786 504 787 /* FIXME: Auto layout */ … … 506 789 params.rect.p0.x = 0; 507 790 params.rect.p0.y = 0; 508 params.rect.p1.x = 4 4;509 params.rect.p1.y = 2 1;791 params.rect.p1.x = 46; 792 params.rect.p1.y = 25; 510 793 } else { 511 794 params.rect.p0.x = 0; 512 795 params.rect.p0.y = 0; 513 params.rect.p1.x = 220; 514 params.rect.p1.y = 350; 515 } 796 params.rect.p1.x = 255; 797 params.rect.p1.y = 410; 798 } 799 800 /* Only allow making the window larger */ 801 gfx_rect_dims(¶ms.rect, ¶ms.min_size); 516 802 517 803 rc = ui_window_create(ui, ¶ms, &window); … … 539 825 } 540 826 541 rc = ui_menu_ create(demo.mbar, "File", &demo.mfile);827 rc = ui_menu_dd_create(demo.mbar, "~F~ile", NULL, &demo.mfile); 542 828 if (rc != EOK) { 543 829 printf("Error creating menu.\n"); … … 545 831 } 546 832 547 rc = ui_menu_entry_create(demo.mfile, " Message", "", &mmsg);833 rc = ui_menu_entry_create(demo.mfile, "~M~essage", "", &mmsg); 548 834 if (rc != EOK) { 549 835 printf("Error creating menu.\n"); … … 553 839 ui_menu_entry_set_cb(mmsg, uidemo_file_message, (void *) &demo); 554 840 555 rc = ui_menu_entry_create(demo.mfile, " Load", "", &mload);841 rc = ui_menu_entry_create(demo.mfile, "~C~onfirmation", "", &mmsg); 556 842 if (rc != EOK) { 557 843 printf("Error creating menu.\n"); … … 559 845 } 560 846 847 ui_menu_entry_set_cb(mmsg, uidemo_file_confirmation, (void *) &demo); 848 849 rc = ui_menu_entry_create(demo.mfile, "~L~oad", "", &mload); 850 if (rc != EOK) { 851 printf("Error creating menu.\n"); 852 return rc; 853 } 854 561 855 ui_menu_entry_set_cb(mload, uidemo_file_load, (void *) &demo); 562 856 563 rc = ui_menu_entry_create(demo.mfile, " Foo", "Ctrl-Alt-Del", &mfoo);857 rc = ui_menu_entry_create(demo.mfile, "~F~oo", "Ctrl-Alt-Del", &mfoo); 564 858 if (rc != EOK) { 565 859 printf("Error creating menu.\n"); … … 567 861 } 568 862 569 rc = ui_menu_entry_create(demo.mfile, " Bar", "", &mbar);863 rc = ui_menu_entry_create(demo.mfile, "~B~ar", "", &mbar); 570 864 if (rc != EOK) { 571 865 printf("Error creating menu.\n"); … … 573 867 } 574 868 575 rc = ui_menu_entry_create(demo.mfile, "F oobar", "", &mfoobar);869 rc = ui_menu_entry_create(demo.mfile, "F~o~obar", "", &mfoobar); 576 870 if (rc != EOK) { 577 871 printf("Error creating menu.\n"); … … 579 873 } 580 874 875 ui_menu_entry_set_disabled(mfoobar, true); 876 581 877 rc = ui_menu_entry_sep_create(demo.mfile, &msep); 582 878 if (rc != EOK) { … … 585 881 } 586 882 587 rc = ui_menu_entry_create(demo.mfile, "E xit", "Alt-F4", &mexit);883 rc = ui_menu_entry_create(demo.mfile, "E~x~it", "Alt-F4", &mexit); 588 884 if (rc != EOK) { 589 885 printf("Error creating menu.\n"); … … 593 889 ui_menu_entry_set_cb(mexit, uidemo_file_exit, (void *) &demo); 594 890 595 rc = ui_menu_ create(demo.mbar, "Edit", &demo.medit);891 rc = ui_menu_dd_create(demo.mbar, "~E~dit", NULL, &demo.medit); 596 892 if (rc != EOK) { 597 893 printf("Error creating menu.\n"); … … 599 895 } 600 896 601 rc = ui_menu_entry_create(demo.medit, " Modify", "", &mmodify);897 rc = ui_menu_entry_create(demo.medit, "~M~odify", "", &mmodify); 602 898 if (rc != EOK) { 603 899 printf("Error creating menu.\n"); … … 607 903 ui_menu_entry_set_cb(mmodify, uidemo_edit_modify, (void *) &demo); 608 904 609 rc = ui_menu_create(demo.mbar, "Preferences", &demo.mpreferences); 905 rc = ui_menu_entry_create(demo.medit, "~I~nsert Character", 906 "", &minsert_char); 610 907 if (rc != EOK) { 611 908 printf("Error creating menu.\n"); … … 613 910 } 614 911 615 rc = ui_menu_create(demo.mbar, "Help", &demo.mhelp); 912 ui_menu_entry_set_cb(minsert_char, uidemo_edit_insert_character, 913 (void *) &demo); 914 915 rc = ui_menu_dd_create(demo.mbar, "~P~references", NULL, 916 &demo.mpreferences); 616 917 if (rc != EOK) { 617 918 printf("Error creating menu.\n"); … … 619 920 } 620 921 621 rc = ui_menu_entry_create(demo.mhelp, "About", "Ctrl-H, F1", &mabout); 922 rc = ui_menu_dd_create(demo.mbar, "~H~elp", NULL, &demo.mhelp); 923 if (rc != EOK) { 924 printf("Error creating menu.\n"); 925 return rc; 926 } 927 928 rc = ui_menu_entry_create(demo.mhelp, "~A~bout", "Ctrl-H, F1", &mabout); 622 929 if (rc != EOK) { 623 930 printf("Error creating menu.\n"); … … 634 941 rect.p0.x = 4; 635 942 rect.p0.y = 30; 636 rect.p1.x = 2 16;943 rect.p1.x = 251; 637 944 rect.p1.y = 52; 638 945 } 946 639 947 ui_menu_bar_set_rect(demo.mbar, &rect); 640 948 … … 645 953 } 646 954 955 rc = ui_tab_set_create(ui_res, &demo.tabset); 956 if (rc != EOK) { 957 printf("Error creating tab set.\n"); 958 return rc; 959 } 960 961 /* FIXME: Auto layout */ 962 if (ui_is_textmode(ui)) { 963 rect.p0.x = 2; 964 rect.p0.y = 2; 965 rect.p1.x = 44; 966 rect.p1.y = 24; 967 } else { 968 rect.p0.x = 8; 969 rect.p0.y = 53; 970 rect.p1.x = 250; 971 rect.p1.y = 405; 972 } 973 974 ui_tab_set_set_rect(demo.tabset, &rect); 975 976 rc = ui_tab_create(demo.tabset, "Basic", &demo.tbasic); 977 if (rc != EOK) { 978 printf("Error creating tab.\n"); 979 return rc; 980 } 981 982 rc = ui_tab_create(demo.tabset, "Lists", &demo.tlists); 983 if (rc != EOK) { 984 printf("Error creating tab.\n"); 985 return rc; 986 } 987 988 rc = ui_tab_create(demo.tabset, "Bars", &demo.tbars); 989 if (rc != EOK) { 990 printf("Error creating tab.\n"); 991 return rc; 992 } 993 994 rc = ui_fixed_add(demo.fixed, ui_tab_set_ctl(demo.tabset)); 995 if (rc != EOK) { 996 printf("Error adding control to layout.\n"); 997 return rc; 998 } 999 1000 rc = ui_fixed_create(&demo.bfixed); 1001 if (rc != EOK) { 1002 printf("Error creating fixed layout.\n"); 1003 return rc; 1004 } 1005 647 1006 rc = ui_entry_create(window, "", &demo.entry); 648 1007 if (rc != EOK) { … … 653 1012 /* FIXME: Auto layout */ 654 1013 if (ui_is_textmode(ui)) { 655 rect.p0.x = 2;656 rect.p0.y = 3;657 rect.p1.x = 4 2;658 rect.p1.y = 4;1014 rect.p0.x = 4; 1015 rect.p0.y = 5; 1016 rect.p1.x = 41; 1017 rect.p1.y = 6; 659 1018 } else { 660 1019 rect.p0.x = 15; 661 rect.p0.y = 53;1020 rect.p0.y = 88; 662 1021 rect.p1.x = 205; 663 rect.p1.y = 78;1022 rect.p1.y = 113; 664 1023 } 665 1024 … … 667 1026 ui_entry_set_halign(demo.entry, gfx_halign_center); 668 1027 669 rc = ui_fixed_add(demo. fixed, ui_entry_ctl(demo.entry));1028 rc = ui_fixed_add(demo.bfixed, ui_entry_ctl(demo.entry)); 670 1029 if (rc != EOK) { 671 1030 printf("Error adding control to layout.\n"); … … 681 1040 /* FIXME: Auto layout */ 682 1041 if (ui_is_textmode(ui)) { 683 rect.p0.x = 2;684 rect.p0.y = 5;685 rect.p1.x = 4 2;686 rect.p1.y = 6;1042 rect.p0.x = 4; 1043 rect.p0.y = 7; 1044 rect.p1.x = 41; 1045 rect.p1.y = 8; 687 1046 } else { 688 1047 rect.p0.x = 60; 689 rect.p0.y = 88;1048 rect.p0.y = 123; 690 1049 rect.p1.x = 160; 691 rect.p1.y = 1 01;1050 rect.p1.y = 136; 692 1051 } 693 1052 … … 695 1054 ui_label_set_halign(demo.label, gfx_halign_center); 696 1055 697 rc = ui_fixed_add(demo. fixed, ui_label_ctl(demo.label));1056 rc = ui_fixed_add(demo.bfixed, ui_label_ctl(demo.label)); 698 1057 if (rc != EOK) { 699 1058 printf("Error adding control to layout.\n"); … … 711 1070 /* FIXME: Auto layout */ 712 1071 if (ui_is_textmode(ui)) { 713 rect.p0.x = 2;714 rect.p0.y = 7;715 rect.p1.x = 1 2;716 rect.p1.y = 8;1072 rect.p0.x = 4; 1073 rect.p0.y = 9; 1074 rect.p1.x = 15; 1075 rect.p1.y = 10; 717 1076 } else { 718 1077 rect.p0.x = 15; 719 rect.p0.y = 1 11;1078 rect.p0.y = 146; 720 1079 rect.p1.x = 105; 721 rect.p1.y = 1 39;1080 rect.p1.y = 174; 722 1081 } 723 1082 … … 726 1085 ui_pbutton_set_default(demo.pb1, true); 727 1086 728 rc = ui_fixed_add(demo. fixed, ui_pbutton_ctl(demo.pb1));1087 rc = ui_fixed_add(demo.bfixed, ui_pbutton_ctl(demo.pb1)); 729 1088 if (rc != EOK) { 730 1089 printf("Error adding control to layout.\n"); … … 741 1100 742 1101 if (ui_is_textmode(ui)) { 743 rect.p0.x = 3 2;744 rect.p0.y = 7;745 rect.p1.x = 4 2;746 rect.p1.y = 8;1102 rect.p0.x = 30; 1103 rect.p0.y = 9; 1104 rect.p1.x = 41; 1105 rect.p1.y = 10; 747 1106 } else { 748 1107 rect.p0.x = 115; 749 rect.p0.y = 1 11;1108 rect.p0.y = 146; 750 1109 rect.p1.x = 205; 751 rect.p1.y = 1 39;1110 rect.p1.y = 174; 752 1111 } 753 1112 754 1113 ui_pbutton_set_rect(demo.pb2, &rect); 755 1114 756 rc = ui_fixed_add(demo. fixed, ui_pbutton_ctl(demo.pb2));1115 rc = ui_fixed_add(demo.bfixed, ui_pbutton_ctl(demo.pb2)); 757 1116 if (rc != EOK) { 758 1117 printf("Error adding control to layout.\n"); … … 764 1123 bparams.rect.p0.x = 0; 765 1124 bparams.rect.p0.y = 0; 766 bparams.rect.p1.x = 40;1125 bparams.rect.p1.x = 37; 767 1126 bparams.rect.p1.y = 2; 768 1127 } else { … … 788 1147 789 1148 if (ui_is_textmode(ui)) { 790 off.x = 2;791 off.y = 9;1149 off.x = 4; 1150 off.y = 11; 792 1151 } else { 793 1152 off.x = 15; 794 off.y = 1 55;1153 off.y = 190; 795 1154 } 796 1155 … … 806 1165 ui_image_set_rect(demo.image, &rect); 807 1166 808 rc = ui_fixed_add(demo. fixed, ui_image_ctl(demo.image));1167 rc = ui_fixed_add(demo.bfixed, ui_image_ctl(demo.image)); 809 1168 if (rc != EOK) { 810 1169 printf("Error adding control to layout.\n"); … … 822 1181 /* FIXME: Auto layout */ 823 1182 if (ui_is_textmode(ui)) { 824 rect.p0.x = 2;825 rect.p0.y = 1 2;826 rect.p1.x = 1 2;827 rect.p1.y = 1 3;1183 rect.p0.x = 4; 1184 rect.p0.y = 14; 1185 rect.p1.x = 14; 1186 rect.p1.y = 15; 828 1187 } else { 829 1188 rect.p0.x = 15; 830 rect.p0.y = 190;1189 rect.p0.y = 225; 831 1190 rect.p1.x = 140; 832 rect.p1.y = 2 10;1191 rect.p1.y = 245; 833 1192 } 834 1193 835 1194 ui_checkbox_set_rect(demo.checkbox, &rect); 836 1195 837 rc = ui_fixed_add(demo. fixed, ui_checkbox_ctl(demo.checkbox));1196 rc = ui_fixed_add(demo.bfixed, ui_checkbox_ctl(demo.checkbox)); 838 1197 if (rc != EOK) { 839 1198 printf("Error adding control to layout.\n"); … … 859 1218 /* FIXME: Auto layout */ 860 1219 if (ui_is_textmode(ui)) { 861 rect.p0.x = 2;862 rect.p0.y = 1 4;863 rect.p1.x = 1 2;864 rect.p1.y = 1 5;1220 rect.p0.x = 4; 1221 rect.p0.y = 16; 1222 rect.p1.x = 14; 1223 rect.p1.y = 17; 865 1224 } else { 866 1225 rect.p0.x = 15; 867 rect.p0.y = 2 20;1226 rect.p0.y = 255; 868 1227 rect.p1.x = 140; 869 rect.p1.y = 2 40;1228 rect.p1.y = 275; 870 1229 } 871 1230 ui_rbutton_set_rect(demo.rbleft, &rect); 872 1231 873 rc = ui_fixed_add(demo. fixed, ui_rbutton_ctl(demo.rbleft));1232 rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbleft)); 874 1233 if (rc != EOK) { 875 1234 printf("Error adding control to layout.\n"); … … 886 1245 /* FIXME: Auto layout */ 887 1246 if (ui_is_textmode(ui)) { 888 rect.p0.x = 2;889 rect.p0.y = 1 5;890 rect.p1.x = 1 2;891 rect.p1.y = 1 6;1247 rect.p0.x = 4; 1248 rect.p0.y = 17; 1249 rect.p1.x = 14; 1250 rect.p1.y = 18; 892 1251 } else { 893 1252 rect.p0.x = 15; 894 rect.p0.y = 2 50;1253 rect.p0.y = 285; 895 1254 rect.p1.x = 140; 896 rect.p1.y = 270;1255 rect.p1.y = 305; 897 1256 } 898 1257 ui_rbutton_set_rect(demo.rbcenter, &rect); 899 1258 ui_rbutton_select(demo.rbcenter); 900 1259 901 rc = ui_fixed_add(demo. fixed, ui_rbutton_ctl(demo.rbcenter));1260 rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbcenter)); 902 1261 if (rc != EOK) { 903 1262 printf("Error adding control to layout.\n"); … … 914 1273 /* FIXME: Auto layout */ 915 1274 if (ui_is_textmode(ui)) { 916 rect.p0.x = 2;917 rect.p0.y = 1 6;918 rect.p1.x = 1 2;919 rect.p1.y = 1 7;1275 rect.p0.x = 4; 1276 rect.p0.y = 18; 1277 rect.p1.x = 14; 1278 rect.p1.y = 19; 920 1279 } else { 921 1280 rect.p0.x = 15; 922 rect.p0.y = 280;1281 rect.p0.y = 315; 923 1282 rect.p1.x = 140; 924 rect.p1.y = 3 00;1283 rect.p1.y = 335; 925 1284 } 926 1285 ui_rbutton_set_rect(demo.rbright, &rect); 927 1286 928 rc = ui_fixed_add(demo. fixed, ui_rbutton_ctl(demo.rbright));1287 rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbright)); 929 1288 if (rc != EOK) { 930 1289 printf("Error adding control to layout.\n"); … … 932 1291 } 933 1292 934 rc = ui_slider_create(ui_res, "Slide!",&demo.slider);1293 rc = ui_slider_create(ui_res, &demo.slider); 935 1294 if (rc != EOK) { 936 1295 printf("Error creating button.\n"); … … 942 1301 /* FIXME: Auto layout */ 943 1302 if (ui_is_textmode(ui)) { 944 rect.p0.x = 2;945 rect.p0.y = 18;946 rect.p1.x = 12;947 rect.p1.y = 19;1303 rect.p0.x = 4; 1304 rect.p0.y = 20; 1305 rect.p1.x = 32; 1306 rect.p1.y = 21; 948 1307 } else { 949 1308 rect.p0.x = 15; 950 rect.p0.y = 3 10;1309 rect.p0.y = 345; 951 1310 rect.p1.x = 130; 952 rect.p1.y = 3 30;1311 rect.p1.y = 365; 953 1312 } 954 1313 955 1314 ui_slider_set_rect(demo.slider, &rect); 956 1315 957 rc = ui_fixed_add(demo. fixed, ui_slider_ctl(demo.slider));1316 rc = ui_fixed_add(demo.bfixed, ui_slider_ctl(demo.slider)); 958 1317 if (rc != EOK) { 959 1318 printf("Error adding control to layout.\n"); … … 961 1320 } 962 1321 1322 rc = ui_scrollbar_create(ui, window, ui_sbd_horiz, &demo.hscrollbar); 1323 if (rc != EOK) { 1324 printf("Error creating scrollbar.\n"); 1325 return rc; 1326 } 1327 1328 ui_scrollbar_set_cb(demo.hscrollbar, &scrollbar_cb, (void *) &demo); 1329 1330 /* FIXME: Auto layout */ 1331 if (ui_is_textmode(ui)) { 1332 rect.p0.x = 4; 1333 rect.p0.y = 22; 1334 rect.p1.x = 42; 1335 rect.p1.y = 23; 1336 } else { 1337 rect.p0.x = 15; 1338 rect.p0.y = 375; 1339 rect.p1.x = 220; 1340 rect.p1.y = 398; 1341 } 1342 1343 ui_scrollbar_set_rect(demo.hscrollbar, &rect); 1344 1345 ui_scrollbar_set_thumb_length(demo.hscrollbar, 1346 ui_scrollbar_trough_length(demo.hscrollbar) / 4); 1347 1348 rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.hscrollbar)); 1349 if (rc != EOK) { 1350 printf("Error adding control to layout.\n"); 1351 return rc; 1352 } 1353 1354 rc = ui_scrollbar_create(ui, window, ui_sbd_vert, &demo.vscrollbar); 1355 if (rc != EOK) { 1356 printf("Error creating button.\n"); 1357 return rc; 1358 } 1359 1360 ui_scrollbar_set_cb(demo.vscrollbar, &scrollbar_cb, (void *) &demo); 1361 1362 /* FIXME: Auto layout */ 1363 if (ui_is_textmode(ui)) { 1364 rect.p0.x = 42; 1365 rect.p0.y = 5; 1366 rect.p1.x = 43; 1367 rect.p1.y = 22; 1368 } else { 1369 rect.p0.x = 220; 1370 rect.p0.y = 88; 1371 rect.p1.x = 243; 1372 rect.p1.y = 375; 1373 } 1374 1375 ui_scrollbar_set_rect(demo.vscrollbar, &rect); 1376 1377 ui_scrollbar_set_thumb_length(demo.vscrollbar, 1378 ui_scrollbar_trough_length(demo.vscrollbar) / 4); 1379 1380 rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.vscrollbar)); 1381 if (rc != EOK) { 1382 printf("Error adding control to layout.\n"); 1383 return rc; 1384 } 1385 1386 ui_tab_add(demo.tbasic, ui_fixed_ctl(demo.bfixed)); 1387 1388 rc = ui_fixed_create(&demo.lfixed); 1389 if (rc != EOK) { 1390 printf("Error creating fixed layout.\n"); 1391 return rc; 1392 } 1393 1394 rc = ui_list_create(window, false, &demo.list); 1395 if (rc != EOK) { 1396 printf("Error creating list.\n"); 1397 return rc; 1398 } 1399 1400 ui_list_entry_attr_init(&eattr); 1401 1402 eattr.caption = "One"; 1403 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1404 if (rc != EOK) { 1405 printf("Error adding list entry.\n"); 1406 return rc; 1407 } 1408 1409 eattr.caption = "Two"; 1410 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1411 if (rc != EOK) { 1412 printf("Error adding list entry.\n"); 1413 return rc; 1414 } 1415 1416 eattr.caption = "Three"; 1417 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1418 if (rc != EOK) { 1419 printf("Error adding list entry.\n"); 1420 return rc; 1421 } 1422 1423 eattr.caption = "Four"; 1424 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1425 if (rc != EOK) { 1426 printf("Error adding list entry.\n"); 1427 return rc; 1428 } 1429 1430 eattr.caption = "Five"; 1431 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1432 if (rc != EOK) { 1433 printf("Error adding list entry.\n"); 1434 return rc; 1435 } 1436 1437 eattr.caption = "Six"; 1438 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1439 if (rc != EOK) { 1440 printf("Error adding list entry.\n"); 1441 return rc; 1442 } 1443 1444 /* FIXME: Auto layout */ 1445 if (ui_is_textmode(ui)) { 1446 rect.p0.x = 4; 1447 rect.p0.y = 5; 1448 rect.p1.x = 41; 1449 rect.p1.y = 10; 1450 } else { 1451 rect.p0.x = 15; 1452 rect.p0.y = 88; 1453 rect.p1.x = 245; 1454 rect.p1.y = 173; 1455 } 1456 1457 ui_list_set_rect(demo.list, &rect); 1458 1459 rc = ui_fixed_add(demo.lfixed, ui_list_ctl(demo.list)); 1460 if (rc != EOK) { 1461 printf("Error adding control to layout.\n"); 1462 return rc; 1463 } 1464 1465 ui_tab_add(demo.tlists, ui_fixed_ctl(demo.lfixed)); 1466 1467 rc = ui_fixed_create(&demo.bars_fixed); 1468 if (rc != EOK) { 1469 printf("Error creating fixed layout.\n"); 1470 return rc; 1471 } 1472 1473 rc = ui_progress_create(ui_res, 0, &demo.progress); 1474 if (rc != EOK) { 1475 printf("Error creating entry.\n"); 1476 return rc; 1477 } 1478 1479 /* FIXME: Auto layout */ 1480 if (ui_is_textmode(ui)) { 1481 rect.p0.x = 4; 1482 rect.p0.y = 5; 1483 rect.p1.x = 42; 1484 rect.p1.y = 6; 1485 } else { 1486 rect.p0.x = 15; 1487 rect.p0.y = 88; 1488 rect.p1.x = 243; 1489 rect.p1.y = 113; 1490 } 1491 1492 ui_progress_set_rect(demo.progress, &rect); 1493 1494 rc = ui_fixed_add(demo.bars_fixed, ui_progress_ctl(demo.progress)); 1495 if (rc != EOK) { 1496 printf("Error adding control to layout.\n"); 1497 return rc; 1498 } 1499 1500 ui_tab_add(demo.tbars, ui_fixed_ctl(demo.bars_fixed)); 1501 963 1502 ui_window_add(window, ui_fixed_ctl(demo.fixed)); 964 1503 1504 demo.timer = fibril_timer_create(NULL); 1505 if (demo.timer == NULL) { 1506 printf("Error creating timer.\n"); 1507 return ENOMEM; 1508 } 1509 1510 fibril_timer_set(demo.timer, 1000 * scrollbar_update_interval_ms, 1511 ui_demo_timer_fun, (void *)&demo); 1512 965 1513 rc = ui_window_paint(window); 966 1514 if (rc != EOK) { … … 970 1518 971 1519 ui_run(ui); 1520 1521 fibril_timer_clear(demo.timer); 1522 fibril_timer_destroy(demo.timer); 972 1523 973 1524 ui_window_destroy(window); … … 1019 1570 int main(int argc, char *argv[]) 1020 1571 { 1021 const char *display_spec = UI_ DISPLAY_DEFAULT;1572 const char *display_spec = UI_ANY_DEFAULT; 1022 1573 errno_t rc; 1023 1574 int i;
Note:
See TracChangeset
for help on using the changeset viewer.
