Changes in uspace/app/uidemo/uidemo.c [08499f0:80d4aea] in mainline
- File:
-
- 1 edited
-
uspace/app/uidemo/uidemo.c (modified) (40 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/uidemo/uidemo.c
r08499f0 r80d4aea 1 1 /* 2 * Copyright (c) 202 6Jiri Svoboda2 * Copyright (c) 2021 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 33 33 */ 34 34 35 #include <fibril_synch.h>36 35 #include <gfx/bitmap.h> 37 36 #include <gfx/coord.h> … … 45 44 #include <ui/image.h> 46 45 #include <ui/label.h> 47 #include <ui/list.h> 46 #include <ui/menubar.h> 47 #include <ui/menuentry.h> 48 48 #include <ui/menu.h> 49 #include <ui/menubar.h>50 #include <ui/menudd.h>51 #include <ui/menuentry.h>52 49 #include <ui/msgdialog.h> 53 50 #include <ui/pbutton.h> 54 51 #include <ui/promptdialog.h> 55 52 #include <ui/resource.h> 56 #include <ui/selectdialog.h>57 #include <ui/tab.h>58 #include <ui/tabset.h>59 53 #include <ui/ui.h> 60 54 #include <ui/window.h> 61 55 #include "uidemo.h" 62 56 63 enum {64 scrollbar_update_interval_ms = 1000,65 ui_demo_progress_step = 1766 };67 68 57 static errno_t bitmap_moire(gfx_bitmap_t *, gfx_coord_t, gfx_coord_t); 69 58 … … 98 87 }; 99 88 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_moved112 };113 114 89 static void uidemo_file_load(ui_menu_entry_t *, void *); 115 90 static void uidemo_file_message(ui_menu_entry_t *, void *); 116 static void uidemo_file_confirmation(ui_menu_entry_t *, void *);117 91 static void uidemo_file_exit(ui_menu_entry_t *, void *); 118 92 static void uidemo_edit_modify(ui_menu_entry_t *, void *); 119 static void uidemo_edit_insert_character(ui_menu_entry_t *, void *);120 93 121 94 static void file_dialog_bok(ui_file_dialog_t *, void *, const char *); … … 137 110 .bcancel = prompt_dialog_bcancel, 138 111 .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_close149 112 }; 150 113 … … 252 215 } 253 216 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. 217 /** Display a message window. 350 218 * 351 219 * @param demo UI demo … … 422 290 } 423 291 424 /** File / Confirmation menu entry selected.425 *426 * @param mentry Menu entry427 * @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 450 292 /** File / Exit menu entry selected. 451 293 * … … 478 320 rc = ui_prompt_dialog_create(demo->ui, &pdparams, &dialog); 479 321 if (rc != EOK) { 480 printf("Error creating promptdialog.\n");322 printf("Error creating message dialog.\n"); 481 323 return; 482 324 } 483 325 484 326 ui_prompt_dialog_set_cb(dialog, &prompt_dialog_cb, demo); 485 }486 487 /** Edit / Insert Character menu entry selected.488 *489 * @param mentry Menu entry490 * @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);540 327 } 541 328 … … 626 413 /** Prompt dialog cancel button press. 627 414 * 628 * @param dialog Promptdialog415 * @param dialog File dialog 629 416 * @param arg Argument (ui_demo_t *) 630 417 */ … … 639 426 /** Prompt dialog close request. 640 427 * 641 * @param dialog Promptdialog428 * @param dialog File dialog 642 429 * @param arg Argument (ui_demo_t *) 643 430 */ … … 648 435 (void) demo; 649 436 ui_prompt_dialog_destroy(dialog); 650 }651 652 /** Select dialog OK button press.653 *654 * @param dialog Select dialog655 * @param arg Argument (ui_demo_t *)656 * @param text Submitted text657 */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 dialog673 * @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 dialog686 * @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);694 437 } 695 438 … … 720 463 (void) demo; 721 464 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);746 465 } 747 466 … … 767 486 ui_menu_entry_t *mexit; 768 487 ui_menu_entry_t *mmodify; 769 ui_menu_entry_t *minsert_char;770 488 ui_menu_entry_t *mabout; 771 ui_list_entry_attr_t eattr;772 489 errno_t rc; 773 490 … … 783 500 ui_wnd_params_init(¶ms); 784 501 params.caption = "UI Demo"; 785 params.style |= ui_wds_ maximize_btn | ui_wds_resizable;502 params.style |= ui_wds_resizable; 786 503 787 504 /* FIXME: Auto layout */ … … 789 506 params.rect.p0.x = 0; 790 507 params.rect.p0.y = 0; 791 params.rect.p1.x = 4 6;792 params.rect.p1.y = 2 5;508 params.rect.p1.x = 44; 509 params.rect.p1.y = 21; 793 510 } else { 794 511 params.rect.p0.x = 0; 795 512 params.rect.p0.y = 0; 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); 513 params.rect.p1.x = 220; 514 params.rect.p1.y = 350; 515 } 802 516 803 517 rc = ui_window_create(ui, ¶ms, &window); … … 825 539 } 826 540 827 rc = ui_menu_ dd_create(demo.mbar, "~F~ile", NULL, &demo.mfile);828 if (rc != EOK) { 829 printf("Error creating menu.\n"); 830 return rc; 831 } 832 833 rc = ui_menu_entry_create(demo.mfile, " ~M~essage", "", &mmsg);541 rc = ui_menu_create(demo.mbar, "File", &demo.mfile); 542 if (rc != EOK) { 543 printf("Error creating menu.\n"); 544 return rc; 545 } 546 547 rc = ui_menu_entry_create(demo.mfile, "Message", "", &mmsg); 834 548 if (rc != EOK) { 835 549 printf("Error creating menu.\n"); … … 839 553 ui_menu_entry_set_cb(mmsg, uidemo_file_message, (void *) &demo); 840 554 841 rc = ui_menu_entry_create(demo.mfile, "~C~onfirmation", "", &mmsg); 842 if (rc != EOK) { 843 printf("Error creating menu.\n"); 844 return rc; 845 } 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); 555 rc = ui_menu_entry_create(demo.mfile, "Load", "", &mload); 850 556 if (rc != EOK) { 851 557 printf("Error creating menu.\n"); … … 855 561 ui_menu_entry_set_cb(mload, uidemo_file_load, (void *) &demo); 856 562 857 rc = ui_menu_entry_create(demo.mfile, "~F~oo", "Ctrl-Alt-Del", &mfoo); 858 if (rc != EOK) { 859 printf("Error creating menu.\n"); 860 return rc; 861 } 862 863 rc = ui_menu_entry_create(demo.mfile, "~B~ar", "", &mbar); 864 if (rc != EOK) { 865 printf("Error creating menu.\n"); 866 return rc; 867 } 868 869 rc = ui_menu_entry_create(demo.mfile, "F~o~obar", "", &mfoobar); 870 if (rc != EOK) { 871 printf("Error creating menu.\n"); 872 return rc; 873 } 874 875 ui_menu_entry_set_disabled(mfoobar, true); 563 rc = ui_menu_entry_create(demo.mfile, "Foo", "Ctrl-Alt-Del", &mfoo); 564 if (rc != EOK) { 565 printf("Error creating menu.\n"); 566 return rc; 567 } 568 569 rc = ui_menu_entry_create(demo.mfile, "Bar", "", &mbar); 570 if (rc != EOK) { 571 printf("Error creating menu.\n"); 572 return rc; 573 } 574 575 rc = ui_menu_entry_create(demo.mfile, "Foobar", "", &mfoobar); 576 if (rc != EOK) { 577 printf("Error creating menu.\n"); 578 return rc; 579 } 876 580 877 581 rc = ui_menu_entry_sep_create(demo.mfile, &msep); … … 881 585 } 882 586 883 rc = ui_menu_entry_create(demo.mfile, "E ~x~it", "Alt-F4", &mexit);587 rc = ui_menu_entry_create(demo.mfile, "Exit", "Alt-F4", &mexit); 884 588 if (rc != EOK) { 885 589 printf("Error creating menu.\n"); … … 889 593 ui_menu_entry_set_cb(mexit, uidemo_file_exit, (void *) &demo); 890 594 891 rc = ui_menu_ dd_create(demo.mbar, "~E~dit", NULL, &demo.medit);892 if (rc != EOK) { 893 printf("Error creating menu.\n"); 894 return rc; 895 } 896 897 rc = ui_menu_entry_create(demo.medit, " ~M~odify", "", &mmodify);595 rc = ui_menu_create(demo.mbar, "Edit", &demo.medit); 596 if (rc != EOK) { 597 printf("Error creating menu.\n"); 598 return rc; 599 } 600 601 rc = ui_menu_entry_create(demo.medit, "Modify", "", &mmodify); 898 602 if (rc != EOK) { 899 603 printf("Error creating menu.\n"); … … 903 607 ui_menu_entry_set_cb(mmodify, uidemo_edit_modify, (void *) &demo); 904 608 905 rc = ui_menu_entry_create(demo.medit, "~I~nsert Character", 906 "", &minsert_char); 907 if (rc != EOK) { 908 printf("Error creating menu.\n"); 909 return rc; 910 } 911 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); 917 if (rc != EOK) { 918 printf("Error creating menu.\n"); 919 return rc; 920 } 921 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); 609 rc = ui_menu_create(demo.mbar, "Preferences", &demo.mpreferences); 610 if (rc != EOK) { 611 printf("Error creating menu.\n"); 612 return rc; 613 } 614 615 rc = ui_menu_create(demo.mbar, "Help", &demo.mhelp); 616 if (rc != EOK) { 617 printf("Error creating menu.\n"); 618 return rc; 619 } 620 621 rc = ui_menu_entry_create(demo.mhelp, "About", "Ctrl-H, F1", &mabout); 929 622 if (rc != EOK) { 930 623 printf("Error creating menu.\n"); … … 941 634 rect.p0.x = 4; 942 635 rect.p0.y = 30; 943 rect.p1.x = 2 51;636 rect.p1.x = 216; 944 637 rect.p1.y = 52; 945 638 } 946 947 639 ui_menu_bar_set_rect(demo.mbar, &rect); 948 640 … … 953 645 } 954 646 955 rc = ui_ tab_set_create(ui_res, &demo.tabset);956 if (rc != EOK) { 957 printf("Error creating tab set.\n");647 rc = ui_entry_create(window, "", &demo.entry); 648 if (rc != EOK) { 649 printf("Error creating entry.\n"); 958 650 return rc; 959 651 } … … 962 654 if (ui_is_textmode(ui)) { 963 655 rect.p0.x = 2; 964 rect.p0.y = 2;965 rect.p1.x = 4 4;966 rect.p1.y = 24;967 } else { 968 rect.p0.x = 8;656 rect.p0.y = 3; 657 rect.p1.x = 42; 658 rect.p1.y = 4; 659 } else { 660 rect.p0.x = 15; 969 661 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 1006 rc = ui_entry_create(window, "", &demo.entry);1007 if (rc != EOK) {1008 printf("Error creating entry.\n");1009 return rc;1010 }1011 1012 /* FIXME: Auto layout */1013 if (ui_is_textmode(ui)) {1014 rect.p0.x = 4;1015 rect.p0.y = 5;1016 rect.p1.x = 41;1017 rect.p1.y = 6;1018 } else {1019 rect.p0.x = 15;1020 rect.p0.y = 88;1021 662 rect.p1.x = 205; 1022 rect.p1.y = 113;663 rect.p1.y = 78; 1023 664 } 1024 665 … … 1026 667 ui_entry_set_halign(demo.entry, gfx_halign_center); 1027 668 1028 rc = ui_fixed_add(demo. bfixed, ui_entry_ctl(demo.entry));669 rc = ui_fixed_add(demo.fixed, ui_entry_ctl(demo.entry)); 1029 670 if (rc != EOK) { 1030 671 printf("Error adding control to layout.\n"); … … 1040 681 /* FIXME: Auto layout */ 1041 682 if (ui_is_textmode(ui)) { 1042 rect.p0.x = 4;1043 rect.p0.y = 7;1044 rect.p1.x = 4 1;1045 rect.p1.y = 8;683 rect.p0.x = 2; 684 rect.p0.y = 5; 685 rect.p1.x = 42; 686 rect.p1.y = 6; 1046 687 } else { 1047 688 rect.p0.x = 60; 1048 rect.p0.y = 123;689 rect.p0.y = 88; 1049 690 rect.p1.x = 160; 1050 rect.p1.y = 1 36;691 rect.p1.y = 101; 1051 692 } 1052 693 … … 1054 695 ui_label_set_halign(demo.label, gfx_halign_center); 1055 696 1056 rc = ui_fixed_add(demo. bfixed, ui_label_ctl(demo.label));697 rc = ui_fixed_add(demo.fixed, ui_label_ctl(demo.label)); 1057 698 if (rc != EOK) { 1058 699 printf("Error adding control to layout.\n"); … … 1070 711 /* FIXME: Auto layout */ 1071 712 if (ui_is_textmode(ui)) { 1072 rect.p0.x = 4;1073 rect.p0.y = 9;1074 rect.p1.x = 1 5;1075 rect.p1.y = 10;713 rect.p0.x = 2; 714 rect.p0.y = 7; 715 rect.p1.x = 12; 716 rect.p1.y = 8; 1076 717 } else { 1077 718 rect.p0.x = 15; 1078 rect.p0.y = 1 46;719 rect.p0.y = 111; 1079 720 rect.p1.x = 105; 1080 rect.p1.y = 1 74;721 rect.p1.y = 139; 1081 722 } 1082 723 … … 1085 726 ui_pbutton_set_default(demo.pb1, true); 1086 727 1087 rc = ui_fixed_add(demo. bfixed, ui_pbutton_ctl(demo.pb1));728 rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb1)); 1088 729 if (rc != EOK) { 1089 730 printf("Error adding control to layout.\n"); … … 1100 741 1101 742 if (ui_is_textmode(ui)) { 1102 rect.p0.x = 3 0;1103 rect.p0.y = 9;1104 rect.p1.x = 4 1;1105 rect.p1.y = 10;743 rect.p0.x = 32; 744 rect.p0.y = 7; 745 rect.p1.x = 42; 746 rect.p1.y = 8; 1106 747 } else { 1107 748 rect.p0.x = 115; 1108 rect.p0.y = 1 46;749 rect.p0.y = 111; 1109 750 rect.p1.x = 205; 1110 rect.p1.y = 1 74;751 rect.p1.y = 139; 1111 752 } 1112 753 1113 754 ui_pbutton_set_rect(demo.pb2, &rect); 1114 755 1115 rc = ui_fixed_add(demo. bfixed, ui_pbutton_ctl(demo.pb2));756 rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb2)); 1116 757 if (rc != EOK) { 1117 758 printf("Error adding control to layout.\n"); … … 1123 764 bparams.rect.p0.x = 0; 1124 765 bparams.rect.p0.y = 0; 1125 bparams.rect.p1.x = 37;766 bparams.rect.p1.x = 40; 1126 767 bparams.rect.p1.y = 2; 1127 768 } else { … … 1147 788 1148 789 if (ui_is_textmode(ui)) { 1149 off.x = 4;1150 off.y = 11;790 off.x = 2; 791 off.y = 9; 1151 792 } else { 1152 793 off.x = 15; 1153 off.y = 1 90;794 off.y = 155; 1154 795 } 1155 796 … … 1165 806 ui_image_set_rect(demo.image, &rect); 1166 807 1167 rc = ui_fixed_add(demo. bfixed, ui_image_ctl(demo.image));808 rc = ui_fixed_add(demo.fixed, ui_image_ctl(demo.image)); 1168 809 if (rc != EOK) { 1169 810 printf("Error adding control to layout.\n"); … … 1181 822 /* FIXME: Auto layout */ 1182 823 if (ui_is_textmode(ui)) { 1183 rect.p0.x = 4;1184 rect.p0.y = 1 4;1185 rect.p1.x = 1 4;1186 rect.p1.y = 1 5;824 rect.p0.x = 2; 825 rect.p0.y = 12; 826 rect.p1.x = 12; 827 rect.p1.y = 13; 1187 828 } else { 1188 829 rect.p0.x = 15; 1189 rect.p0.y = 225;830 rect.p0.y = 190; 1190 831 rect.p1.x = 140; 1191 rect.p1.y = 2 45;832 rect.p1.y = 210; 1192 833 } 1193 834 1194 835 ui_checkbox_set_rect(demo.checkbox, &rect); 1195 836 1196 rc = ui_fixed_add(demo. bfixed, ui_checkbox_ctl(demo.checkbox));837 rc = ui_fixed_add(demo.fixed, ui_checkbox_ctl(demo.checkbox)); 1197 838 if (rc != EOK) { 1198 839 printf("Error adding control to layout.\n"); … … 1218 859 /* FIXME: Auto layout */ 1219 860 if (ui_is_textmode(ui)) { 1220 rect.p0.x = 4;1221 rect.p0.y = 1 6;1222 rect.p1.x = 1 4;1223 rect.p1.y = 1 7;861 rect.p0.x = 2; 862 rect.p0.y = 14; 863 rect.p1.x = 12; 864 rect.p1.y = 15; 1224 865 } else { 1225 866 rect.p0.x = 15; 1226 rect.p0.y = 2 55;867 rect.p0.y = 220; 1227 868 rect.p1.x = 140; 1228 rect.p1.y = 2 75;869 rect.p1.y = 240; 1229 870 } 1230 871 ui_rbutton_set_rect(demo.rbleft, &rect); 1231 872 1232 rc = ui_fixed_add(demo. bfixed, ui_rbutton_ctl(demo.rbleft));873 rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbleft)); 1233 874 if (rc != EOK) { 1234 875 printf("Error adding control to layout.\n"); … … 1245 886 /* FIXME: Auto layout */ 1246 887 if (ui_is_textmode(ui)) { 1247 rect.p0.x = 4;1248 rect.p0.y = 1 7;1249 rect.p1.x = 1 4;1250 rect.p1.y = 1 8;888 rect.p0.x = 2; 889 rect.p0.y = 15; 890 rect.p1.x = 12; 891 rect.p1.y = 16; 1251 892 } else { 1252 893 rect.p0.x = 15; 1253 rect.p0.y = 2 85;894 rect.p0.y = 250; 1254 895 rect.p1.x = 140; 1255 rect.p1.y = 305;896 rect.p1.y = 270; 1256 897 } 1257 898 ui_rbutton_set_rect(demo.rbcenter, &rect); 1258 899 ui_rbutton_select(demo.rbcenter); 1259 900 1260 rc = ui_fixed_add(demo. bfixed, ui_rbutton_ctl(demo.rbcenter));901 rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbcenter)); 1261 902 if (rc != EOK) { 1262 903 printf("Error adding control to layout.\n"); … … 1273 914 /* FIXME: Auto layout */ 1274 915 if (ui_is_textmode(ui)) { 1275 rect.p0.x = 4; 916 rect.p0.x = 2; 917 rect.p0.y = 16; 918 rect.p1.x = 12; 919 rect.p1.y = 17; 920 } else { 921 rect.p0.x = 15; 922 rect.p0.y = 280; 923 rect.p1.x = 140; 924 rect.p1.y = 300; 925 } 926 ui_rbutton_set_rect(demo.rbright, &rect); 927 928 rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbright)); 929 if (rc != EOK) { 930 printf("Error adding control to layout.\n"); 931 return rc; 932 } 933 934 rc = ui_slider_create(ui_res, "Slide!", &demo.slider); 935 if (rc != EOK) { 936 printf("Error creating button.\n"); 937 return rc; 938 } 939 940 ui_slider_set_cb(demo.slider, &slider_cb, (void *) &demo); 941 942 /* FIXME: Auto layout */ 943 if (ui_is_textmode(ui)) { 944 rect.p0.x = 2; 1276 945 rect.p0.y = 18; 1277 rect.p1.x = 1 4;946 rect.p1.x = 12; 1278 947 rect.p1.y = 19; 1279 948 } else { 1280 949 rect.p0.x = 15; 1281 rect.p0.y = 315; 1282 rect.p1.x = 140; 1283 rect.p1.y = 335; 1284 } 1285 ui_rbutton_set_rect(demo.rbright, &rect); 1286 1287 rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbright)); 950 rect.p0.y = 310; 951 rect.p1.x = 130; 952 rect.p1.y = 330; 953 } 954 955 ui_slider_set_rect(demo.slider, &rect); 956 957 rc = ui_fixed_add(demo.fixed, ui_slider_ctl(demo.slider)); 1288 958 if (rc != EOK) { 1289 959 printf("Error adding control to layout.\n"); … … 1291 961 } 1292 962 1293 rc = ui_slider_create(ui_res, &demo.slider);1294 if (rc != EOK) {1295 printf("Error creating button.\n");1296 return rc;1297 }1298 1299 ui_slider_set_cb(demo.slider, &slider_cb, (void *) &demo);1300 1301 /* FIXME: Auto layout */1302 if (ui_is_textmode(ui)) {1303 rect.p0.x = 4;1304 rect.p0.y = 20;1305 rect.p1.x = 32;1306 rect.p1.y = 21;1307 } else {1308 rect.p0.x = 15;1309 rect.p0.y = 345;1310 rect.p1.x = 130;1311 rect.p1.y = 365;1312 }1313 1314 ui_slider_set_rect(demo.slider, &rect);1315 1316 rc = ui_fixed_add(demo.bfixed, ui_slider_ctl(demo.slider));1317 if (rc != EOK) {1318 printf("Error adding control to layout.\n");1319 return rc;1320 }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 1502 963 ui_window_add(window, ui_fixed_ctl(demo.fixed)); 1503 964 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 1513 965 rc = ui_window_paint(window); 1514 966 if (rc != EOK) { … … 1518 970 1519 971 ui_run(ui); 1520 1521 fibril_timer_clear(demo.timer);1522 fibril_timer_destroy(demo.timer);1523 972 1524 973 ui_window_destroy(window); … … 1570 1019 int main(int argc, char *argv[]) 1571 1020 { 1572 const char *display_spec = UI_ ANY_DEFAULT;1021 const char *display_spec = UI_DISPLAY_DEFAULT; 1573 1022 errno_t rc; 1574 1023 int i;
Note:
See TracChangeset
for help on using the changeset viewer.
