Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/uidemo/uidemo.c

    ref4d684 r80d4aea  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4444#include <ui/image.h>
    4545#include <ui/label.h>
    46 #include <ui/list.h>
     46#include <ui/menubar.h>
     47#include <ui/menuentry.h>
    4748#include <ui/menu.h>
    48 #include <ui/menubar.h>
    49 #include <ui/menudd.h>
    50 #include <ui/menuentry.h>
    5149#include <ui/msgdialog.h>
    5250#include <ui/pbutton.h>
    5351#include <ui/promptdialog.h>
    5452#include <ui/resource.h>
    55 #include <ui/selectdialog.h>
    56 #include <ui/tab.h>
    57 #include <ui/tabset.h>
    5853#include <ui/ui.h>
    5954#include <ui/window.h>
     
    9085static ui_slider_cb_t slider_cb = {
    9186        .moved = slider_moved
    92 };
    93 
    94 static void scrollbar_up(ui_scrollbar_t *, void *);
    95 static void scrollbar_down(ui_scrollbar_t *, void *);
    96 static void scrollbar_page_up(ui_scrollbar_t *, void *);
    97 static void scrollbar_page_down(ui_scrollbar_t *, void *);
    98 static void scrollbar_moved(ui_scrollbar_t *, void *, gfx_coord_t);
    99 
    100 static ui_scrollbar_cb_t scrollbar_cb = {
    101         .up = scrollbar_up,
    102         .down = scrollbar_down,
    103         .page_up = scrollbar_page_up,
    104         .page_down = scrollbar_page_down,
    105         .moved = scrollbar_moved
    10687};
    10788
     
    11091static void uidemo_file_exit(ui_menu_entry_t *, void *);
    11192static void uidemo_edit_modify(ui_menu_entry_t *, void *);
    112 static void uidemo_edit_insert_character(ui_menu_entry_t *, void *);
    11393
    11494static void file_dialog_bok(ui_file_dialog_t *, void *, const char *);
     
    130110        .bcancel = prompt_dialog_bcancel,
    131111        .close = prompt_dialog_close
    132 };
    133 
    134 static void select_dialog_bok(ui_select_dialog_t *, void *, void *);
    135 static void select_dialog_bcancel(ui_select_dialog_t *, void *);
    136 static void select_dialog_close(ui_select_dialog_t *, void *);
    137 
    138 static ui_select_dialog_cb_t select_dialog_cb = {
    139         .bok = select_dialog_bok,
    140         .bcancel = select_dialog_bcancel,
    141         .close = select_dialog_close
    142112};
    143113
     
    245215}
    246216
    247 /** Scrollbar up button pressed.
    248  *
    249  * @param scrollbar Scrollbar
    250  * @param arg Argument (demo)
    251  */
    252 static void scrollbar_up(ui_scrollbar_t *scrollbar, void *arg)
    253 {
    254         gfx_coord_t pos;
    255 
    256         pos = ui_scrollbar_get_pos(scrollbar);
    257         ui_scrollbar_set_pos(scrollbar, pos - 1);
    258 
    259         pos = ui_scrollbar_get_pos(scrollbar);
    260         scrollbar_moved(scrollbar, arg, pos);
    261 }
    262 
    263 /** Scrollbar down button pressed.
    264  *
    265  * @param scrollbar Scrollbar
    266  * @param arg Argument (demo)
    267  */
    268 static void scrollbar_down(ui_scrollbar_t *scrollbar, void *arg)
    269 {
    270         gfx_coord_t pos;
    271 
    272         pos = ui_scrollbar_get_pos(scrollbar);
    273         ui_scrollbar_set_pos(scrollbar, pos + 1);
    274 
    275         pos = ui_scrollbar_get_pos(scrollbar);
    276         scrollbar_moved(scrollbar, arg, pos);
    277 }
    278 
    279 /** Scrollbar page up event.
    280  *
    281  * @param scrollbar Scrollbar
    282  * @param arg Argument (demo)
    283  */
    284 static void scrollbar_page_up(ui_scrollbar_t *scrollbar, void *arg)
    285 {
    286         gfx_coord_t pos;
    287 
    288         pos = ui_scrollbar_get_pos(scrollbar);
    289         ui_scrollbar_set_pos(scrollbar, pos -
    290             ui_scrollbar_trough_length(scrollbar) / 4);
    291 
    292         pos = ui_scrollbar_get_pos(scrollbar);
    293         scrollbar_moved(scrollbar, arg, pos);
    294 }
    295 
    296 /** Scrollbar page down event.
    297  *
    298  * @param scrollbar Scrollbar
    299  * @param arg Argument (demo)
    300  */
    301 static void scrollbar_page_down(ui_scrollbar_t *scrollbar, void *arg)
    302 {
    303         gfx_coord_t pos;
    304 
    305         pos = ui_scrollbar_get_pos(scrollbar);
    306         ui_scrollbar_set_pos(scrollbar, pos +
    307             ui_scrollbar_trough_length(scrollbar) / 4);
    308 
    309         pos = ui_scrollbar_get_pos(scrollbar);
    310         scrollbar_moved(scrollbar, arg, pos);
    311 }
    312 
    313 /** Scrollbar was moved.
    314  *
    315  * @param scrollbar Scrollbar
    316  * @param arg Argument (demo)
    317  * @param pos Position
    318  */
    319 static void scrollbar_moved(ui_scrollbar_t *scrollbar, void *arg,
    320     gfx_coord_t pos)
    321 {
    322         ui_demo_t *demo = (ui_demo_t *) arg;
    323         char *str;
    324         errno_t rc;
    325         int rv;
    326 
    327         rv = asprintf(&str, "Scrollbar: %d of %d", (int) pos,
    328             ui_scrollbar_move_length(scrollbar));
    329         if (rv < 0) {
    330                 printf("Out of memory.\n");
    331                 return;
    332         }
    333 
    334         rc = ui_entry_set_text(demo->entry, str);
    335         if (rc != EOK)
    336                 printf("Error changing entry text.\n");
    337         (void) ui_entry_paint(demo->entry);
    338 
    339         free(str);
    340 }
    341 
    342217/** Display a message window.
    343218 *
     
    445320        rc = ui_prompt_dialog_create(demo->ui, &pdparams, &dialog);
    446321        if (rc != EOK) {
    447                 printf("Error creating prompt dialog.\n");
     322                printf("Error creating message dialog.\n");
    448323                return;
    449324        }
    450325
    451326        ui_prompt_dialog_set_cb(dialog, &prompt_dialog_cb, demo);
    452 }
    453 
    454 /** Edit / Insert Character menu entry selected.
    455  *
    456  * @param mentry Menu entry
    457  * @param arg Argument (demo)
    458  */
    459 static void uidemo_edit_insert_character(ui_menu_entry_t *mentry, void *arg)
    460 {
    461         ui_demo_t *demo = (ui_demo_t *) arg;
    462         ui_select_dialog_params_t sdparams;
    463         ui_select_dialog_t *dialog;
    464         ui_list_entry_attr_t attr;
    465         errno_t rc;
    466 
    467         ui_select_dialog_params_init(&sdparams);
    468         sdparams.caption = "Insert Character";
    469         sdparams.prompt = "Select character to insert";
    470 
    471         rc = ui_select_dialog_create(demo->ui, &sdparams, &dialog);
    472         if (rc != EOK) {
    473                 printf("Error creating select dialog.\n");
    474                 return;
    475         }
    476 
    477         ui_list_entry_attr_init(&attr);
    478         attr.caption = "Dollar sign ($)";
    479         attr.arg = (void *)'$';
    480         rc = ui_select_dialog_append(dialog, &attr);
    481         if (rc != EOK) {
    482                 printf("Error appending entry to list.\n");
    483                 return;
    484         }
    485 
    486         ui_list_entry_attr_init(&attr);
    487         attr.caption = "Hash sign (#)";
    488         attr.arg = (void *)'#';
    489         rc = ui_select_dialog_append(dialog, &attr);
    490         if (rc != EOK) {
    491                 printf("Error appending entry to list.\n");
    492                 return;
    493         }
    494 
    495         ui_list_entry_attr_init(&attr);
    496         attr.caption = "Question mark (?)";
    497         attr.arg = (void *)'?';
    498         rc = ui_select_dialog_append(dialog, &attr);
    499         if (rc != EOK) {
    500                 printf("Error appending entry to list.\n");
    501                 return;
    502         }
    503 
    504         ui_select_dialog_set_cb(dialog, &select_dialog_cb, demo);
    505 
    506         (void) ui_select_dialog_paint(dialog);
    507327}
    508328
     
    593413/** Prompt dialog cancel button press.
    594414 *
    595  * @param dialog Prompt dialog
     415 * @param dialog File dialog
    596416 * @param arg Argument (ui_demo_t *)
    597417 */
     
    606426/** Prompt dialog close request.
    607427 *
    608  * @param dialog Prompt dialog
     428 * @param dialog File dialog
    609429 * @param arg Argument (ui_demo_t *)
    610430 */
     
    615435        (void) demo;
    616436        ui_prompt_dialog_destroy(dialog);
    617 }
    618 
    619 /** Select dialog OK button press.
    620  *
    621  * @param dialog Select dialog
    622  * @param arg Argument (ui_demo_t *)
    623  * @param text Submitted text
    624  */
    625 static void select_dialog_bok(ui_select_dialog_t *dialog, void *arg,
    626     void *earg)
    627 {
    628         ui_demo_t *demo = (ui_demo_t *) arg;
    629         char str[2];
    630 
    631         ui_select_dialog_destroy(dialog);
    632         str[0] = (char)(intptr_t)earg;
    633         str[1] = '\0';
    634         (void) ui_entry_insert_str(demo->entry, str);
    635 }
    636 
    637 /** Select dialog cancel button press.
    638  *
    639  * @param dialog Select dialog
    640  * @param arg Argument (ui_demo_t *)
    641  */
    642 static void select_dialog_bcancel(ui_select_dialog_t *dialog, void *arg)
    643 {
    644         ui_demo_t *demo = (ui_demo_t *) arg;
    645 
    646         (void) demo;
    647         ui_select_dialog_destroy(dialog);
    648 }
    649 
    650 /** Select dialog close request.
    651  *
    652  * @param dialog Select dialog
    653  * @param arg Argument (ui_demo_t *)
    654  */
    655 static void select_dialog_close(ui_select_dialog_t *dialog, void *arg)
    656 {
    657         ui_demo_t *demo = (ui_demo_t *) arg;
    658 
    659         (void) demo;
    660         ui_select_dialog_destroy(dialog);
    661437}
    662438
     
    710486        ui_menu_entry_t *mexit;
    711487        ui_menu_entry_t *mmodify;
    712         ui_menu_entry_t *minsert_char;
    713488        ui_menu_entry_t *mabout;
    714         ui_list_entry_attr_t eattr;
    715489        errno_t rc;
    716490
     
    726500        ui_wnd_params_init(&params);
    727501        params.caption = "UI Demo";
    728         params.style |= ui_wds_maximize_btn | ui_wds_resizable;
     502        params.style |= ui_wds_resizable;
    729503
    730504        /* FIXME: Auto layout */
     
    732506                params.rect.p0.x = 0;
    733507                params.rect.p0.y = 0;
    734                 params.rect.p1.x = 46;
    735                 params.rect.p1.y = 25;
     508                params.rect.p1.x = 44;
     509                params.rect.p1.y = 21;
    736510        } else {
    737511                params.rect.p0.x = 0;
    738512                params.rect.p0.y = 0;
    739                 params.rect.p1.x = 255;
    740                 params.rect.p1.y = 410;
     513                params.rect.p1.x = 220;
     514                params.rect.p1.y = 350;
    741515        }
    742516
     
    765539        }
    766540
    767         rc = ui_menu_dd_create(demo.mbar, "~F~ile", NULL, &demo.mfile);
    768         if (rc != EOK) {
    769                 printf("Error creating menu.\n");
    770                 return rc;
    771         }
    772 
    773         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);
    774548        if (rc != EOK) {
    775549                printf("Error creating menu.\n");
     
    779553        ui_menu_entry_set_cb(mmsg, uidemo_file_message, (void *) &demo);
    780554
    781         rc = ui_menu_entry_create(demo.mfile, "~L~oad", "", &mload);
     555        rc = ui_menu_entry_create(demo.mfile, "Load", "", &mload);
    782556        if (rc != EOK) {
    783557                printf("Error creating menu.\n");
     
    787561        ui_menu_entry_set_cb(mload, uidemo_file_load, (void *) &demo);
    788562
    789         rc = ui_menu_entry_create(demo.mfile, "~F~oo", "Ctrl-Alt-Del", &mfoo);
    790         if (rc != EOK) {
    791                 printf("Error creating menu.\n");
    792                 return rc;
    793         }
    794 
    795         rc = ui_menu_entry_create(demo.mfile, "~B~ar", "", &mbar);
    796         if (rc != EOK) {
    797                 printf("Error creating menu.\n");
    798                 return rc;
    799         }
    800 
    801         rc = ui_menu_entry_create(demo.mfile, "F~o~obar", "", &mfoobar);
    802         if (rc != EOK) {
    803                 printf("Error creating menu.\n");
    804                 return rc;
    805         }
    806 
    807         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        }
    808580
    809581        rc = ui_menu_entry_sep_create(demo.mfile, &msep);
     
    813585        }
    814586
    815         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);
    816588        if (rc != EOK) {
    817589                printf("Error creating menu.\n");
     
    821593        ui_menu_entry_set_cb(mexit, uidemo_file_exit, (void *) &demo);
    822594
    823         rc = ui_menu_dd_create(demo.mbar, "~E~dit", NULL, &demo.medit);
    824         if (rc != EOK) {
    825                 printf("Error creating menu.\n");
    826                 return rc;
    827         }
    828 
    829         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);
    830602        if (rc != EOK) {
    831603                printf("Error creating menu.\n");
     
    835607        ui_menu_entry_set_cb(mmodify, uidemo_edit_modify, (void *) &demo);
    836608
    837         rc = ui_menu_entry_create(demo.medit, "~I~nsert Character",
    838             "", &minsert_char);
    839         if (rc != EOK) {
    840                 printf("Error creating menu.\n");
    841                 return rc;
    842         }
    843 
    844         ui_menu_entry_set_cb(minsert_char, uidemo_edit_insert_character,
    845             (void *) &demo);
    846 
    847         rc = ui_menu_dd_create(demo.mbar, "~P~references", NULL,
    848             &demo.mpreferences);
    849         if (rc != EOK) {
    850                 printf("Error creating menu.\n");
    851                 return rc;
    852         }
    853 
    854         rc = ui_menu_dd_create(demo.mbar, "~H~elp", NULL, &demo.mhelp);
    855         if (rc != EOK) {
    856                 printf("Error creating menu.\n");
    857                 return rc;
    858         }
    859 
    860         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);
    861622        if (rc != EOK) {
    862623                printf("Error creating menu.\n");
     
    873634                rect.p0.x = 4;
    874635                rect.p0.y = 30;
    875                 rect.p1.x = 251;
     636                rect.p1.x = 216;
    876637                rect.p1.y = 52;
    877638        }
    878 
    879639        ui_menu_bar_set_rect(demo.mbar, &rect);
    880640
     
    885645        }
    886646
    887         rc = ui_tab_set_create(ui_res, &demo.tabset);
    888         if (rc != EOK) {
    889                 printf("Error creating tab set.\n");
     647        rc = ui_entry_create(window, "", &demo.entry);
     648        if (rc != EOK) {
     649                printf("Error creating entry.\n");
    890650                return rc;
    891651        }
     
    894654        if (ui_is_textmode(ui)) {
    895655                rect.p0.x = 2;
    896                 rect.p0.y = 2;
    897                 rect.p1.x = 44;
    898                 rect.p1.y = 24;
    899         } else {
    900                 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;
    901661                rect.p0.y = 53;
    902                 rect.p1.x = 250;
    903                 rect.p1.y = 405;
    904         }
    905 
    906         ui_tab_set_set_rect(demo.tabset, &rect);
    907 
    908         rc = ui_tab_create(demo.tabset, "Basic", &demo.tbasic);
    909         if (rc != EOK) {
    910                 printf("Error creating tab.\n");
    911                 return rc;
    912         }
    913 
    914         rc = ui_tab_create(demo.tabset, "Lists", &demo.tlists);
    915         if (rc != EOK) {
    916                 printf("Error creating tab.\n");
    917                 return rc;
    918         }
    919 
    920         rc = ui_fixed_add(demo.fixed, ui_tab_set_ctl(demo.tabset));
    921         if (rc != EOK) {
    922                 printf("Error adding control to layout.\n");
    923                 return rc;
    924         }
    925 
    926         rc = ui_fixed_create(&demo.bfixed);
    927         if (rc != EOK) {
    928                 printf("Error creating fixed layout.\n");
    929                 return rc;
    930         }
    931 
    932         rc = ui_entry_create(window, "", &demo.entry);
    933         if (rc != EOK) {
    934                 printf("Error creating entry.\n");
    935                 return rc;
    936         }
    937 
    938         /* FIXME: Auto layout */
    939         if (ui_is_textmode(ui)) {
    940                 rect.p0.x = 4;
    941                 rect.p0.y = 5;
    942                 rect.p1.x = 41;
    943                 rect.p1.y = 6;
    944         } else {
    945                 rect.p0.x = 15;
    946                 rect.p0.y = 88;
    947662                rect.p1.x = 205;
    948                 rect.p1.y = 113;
     663                rect.p1.y = 78;
    949664        }
    950665
     
    952667        ui_entry_set_halign(demo.entry, gfx_halign_center);
    953668
    954         rc = ui_fixed_add(demo.bfixed, ui_entry_ctl(demo.entry));
     669        rc = ui_fixed_add(demo.fixed, ui_entry_ctl(demo.entry));
    955670        if (rc != EOK) {
    956671                printf("Error adding control to layout.\n");
     
    966681        /* FIXME: Auto layout */
    967682        if (ui_is_textmode(ui)) {
    968                 rect.p0.x = 4;
    969                 rect.p0.y = 7;
    970                 rect.p1.x = 41;
    971                 rect.p1.y = 8;
     683                rect.p0.x = 2;
     684                rect.p0.y = 5;
     685                rect.p1.x = 42;
     686                rect.p1.y = 6;
    972687        } else {
    973688                rect.p0.x = 60;
    974                 rect.p0.y = 123;
     689                rect.p0.y = 88;
    975690                rect.p1.x = 160;
    976                 rect.p1.y = 136;
     691                rect.p1.y = 101;
    977692        }
    978693
     
    980695        ui_label_set_halign(demo.label, gfx_halign_center);
    981696
    982         rc = ui_fixed_add(demo.bfixed, ui_label_ctl(demo.label));
     697        rc = ui_fixed_add(demo.fixed, ui_label_ctl(demo.label));
    983698        if (rc != EOK) {
    984699                printf("Error adding control to layout.\n");
     
    996711        /* FIXME: Auto layout */
    997712        if (ui_is_textmode(ui)) {
    998                 rect.p0.x = 4;
    999                 rect.p0.y = 9;
    1000                 rect.p1.x = 15;
    1001                 rect.p1.y = 10;
     713                rect.p0.x = 2;
     714                rect.p0.y = 7;
     715                rect.p1.x = 12;
     716                rect.p1.y = 8;
    1002717        } else {
    1003718                rect.p0.x = 15;
    1004                 rect.p0.y = 146;
     719                rect.p0.y = 111;
    1005720                rect.p1.x = 105;
    1006                 rect.p1.y = 174;
     721                rect.p1.y = 139;
    1007722        }
    1008723
     
    1011726        ui_pbutton_set_default(demo.pb1, true);
    1012727
    1013         rc = ui_fixed_add(demo.bfixed, ui_pbutton_ctl(demo.pb1));
     728        rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb1));
    1014729        if (rc != EOK) {
    1015730                printf("Error adding control to layout.\n");
     
    1026741
    1027742        if (ui_is_textmode(ui)) {
    1028                 rect.p0.x = 30;
    1029                 rect.p0.y = 9;
    1030                 rect.p1.x = 41;
    1031                 rect.p1.y = 10;
     743                rect.p0.x = 32;
     744                rect.p0.y = 7;
     745                rect.p1.x = 42;
     746                rect.p1.y = 8;
    1032747        } else {
    1033748                rect.p0.x = 115;
    1034                 rect.p0.y = 146;
     749                rect.p0.y = 111;
    1035750                rect.p1.x = 205;
    1036                 rect.p1.y = 174;
     751                rect.p1.y = 139;
    1037752        }
    1038753
    1039754        ui_pbutton_set_rect(demo.pb2, &rect);
    1040755
    1041         rc = ui_fixed_add(demo.bfixed, ui_pbutton_ctl(demo.pb2));
     756        rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb2));
    1042757        if (rc != EOK) {
    1043758                printf("Error adding control to layout.\n");
     
    1049764                bparams.rect.p0.x = 0;
    1050765                bparams.rect.p0.y = 0;
    1051                 bparams.rect.p1.x = 37;
     766                bparams.rect.p1.x = 40;
    1052767                bparams.rect.p1.y = 2;
    1053768        } else {
     
    1073788
    1074789        if (ui_is_textmode(ui)) {
    1075                 off.x = 4;
    1076                 off.y = 11;
     790                off.x = 2;
     791                off.y = 9;
    1077792        } else {
    1078793                off.x = 15;
    1079                 off.y = 190;
     794                off.y = 155;
    1080795        }
    1081796
     
    1091806        ui_image_set_rect(demo.image, &rect);
    1092807
    1093         rc = ui_fixed_add(demo.bfixed, ui_image_ctl(demo.image));
     808        rc = ui_fixed_add(demo.fixed, ui_image_ctl(demo.image));
    1094809        if (rc != EOK) {
    1095810                printf("Error adding control to layout.\n");
     
    1107822        /* FIXME: Auto layout */
    1108823        if (ui_is_textmode(ui)) {
    1109                 rect.p0.x = 4;
    1110                 rect.p0.y = 14;
    1111                 rect.p1.x = 14;
    1112                 rect.p1.y = 15;
     824                rect.p0.x = 2;
     825                rect.p0.y = 12;
     826                rect.p1.x = 12;
     827                rect.p1.y = 13;
    1113828        } else {
    1114829                rect.p0.x = 15;
    1115                 rect.p0.y = 225;
     830                rect.p0.y = 190;
    1116831                rect.p1.x = 140;
    1117                 rect.p1.y = 245;
     832                rect.p1.y = 210;
    1118833        }
    1119834
    1120835        ui_checkbox_set_rect(demo.checkbox, &rect);
    1121836
    1122         rc = ui_fixed_add(demo.bfixed, ui_checkbox_ctl(demo.checkbox));
     837        rc = ui_fixed_add(demo.fixed, ui_checkbox_ctl(demo.checkbox));
    1123838        if (rc != EOK) {
    1124839                printf("Error adding control to layout.\n");
     
    1144859        /* FIXME: Auto layout */
    1145860        if (ui_is_textmode(ui)) {
    1146                 rect.p0.x = 4;
    1147                 rect.p0.y = 16;
    1148                 rect.p1.x = 14;
    1149                 rect.p1.y = 17;
     861                rect.p0.x = 2;
     862                rect.p0.y = 14;
     863                rect.p1.x = 12;
     864                rect.p1.y = 15;
    1150865        } else {
    1151866                rect.p0.x = 15;
    1152                 rect.p0.y = 255;
     867                rect.p0.y = 220;
    1153868                rect.p1.x = 140;
    1154                 rect.p1.y = 275;
     869                rect.p1.y = 240;
    1155870        }
    1156871        ui_rbutton_set_rect(demo.rbleft, &rect);
    1157872
    1158         rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbleft));
     873        rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbleft));
    1159874        if (rc != EOK) {
    1160875                printf("Error adding control to layout.\n");
     
    1171886        /* FIXME: Auto layout */
    1172887        if (ui_is_textmode(ui)) {
    1173                 rect.p0.x = 4;
    1174                 rect.p0.y = 17;
    1175                 rect.p1.x = 14;
    1176                 rect.p1.y = 18;
     888                rect.p0.x = 2;
     889                rect.p0.y = 15;
     890                rect.p1.x = 12;
     891                rect.p1.y = 16;
    1177892        } else {
    1178893                rect.p0.x = 15;
    1179                 rect.p0.y = 285;
     894                rect.p0.y = 250;
    1180895                rect.p1.x = 140;
    1181                 rect.p1.y = 305;
     896                rect.p1.y = 270;
    1182897        }
    1183898        ui_rbutton_set_rect(demo.rbcenter, &rect);
    1184899        ui_rbutton_select(demo.rbcenter);
    1185900
    1186         rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbcenter));
     901        rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbcenter));
    1187902        if (rc != EOK) {
    1188903                printf("Error adding control to layout.\n");
     
    1199914        /* FIXME: Auto layout */
    1200915        if (ui_is_textmode(ui)) {
    1201                 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;
    1202945                rect.p0.y = 18;
    1203                 rect.p1.x = 14;
     946                rect.p1.x = 12;
    1204947                rect.p1.y = 19;
    1205948        } else {
    1206949                rect.p0.x = 15;
    1207                 rect.p0.y = 315;
    1208                 rect.p1.x = 140;
    1209                 rect.p1.y = 335;
    1210         }
    1211         ui_rbutton_set_rect(demo.rbright, &rect);
    1212 
    1213         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));
    1214958        if (rc != EOK) {
    1215959                printf("Error adding control to layout.\n");
    1216960                return rc;
    1217961        }
    1218 
    1219         rc = ui_slider_create(ui_res, &demo.slider);
    1220         if (rc != EOK) {
    1221                 printf("Error creating button.\n");
    1222                 return rc;
    1223         }
    1224 
    1225         ui_slider_set_cb(demo.slider, &slider_cb, (void *) &demo);
    1226 
    1227         /* FIXME: Auto layout */
    1228         if (ui_is_textmode(ui)) {
    1229                 rect.p0.x = 4;
    1230                 rect.p0.y = 20;
    1231                 rect.p1.x = 32;
    1232                 rect.p1.y = 21;
    1233         } else {
    1234                 rect.p0.x = 15;
    1235                 rect.p0.y = 345;
    1236                 rect.p1.x = 130;
    1237                 rect.p1.y = 365;
    1238         }
    1239 
    1240         ui_slider_set_rect(demo.slider, &rect);
    1241 
    1242         rc = ui_fixed_add(demo.bfixed, ui_slider_ctl(demo.slider));
    1243         if (rc != EOK) {
    1244                 printf("Error adding control to layout.\n");
    1245                 return rc;
    1246         }
    1247 
    1248         rc = ui_scrollbar_create(ui, window, ui_sbd_horiz, &demo.hscrollbar);
    1249         if (rc != EOK) {
    1250                 printf("Error creating scrollbar.\n");
    1251                 return rc;
    1252         }
    1253 
    1254         ui_scrollbar_set_cb(demo.hscrollbar, &scrollbar_cb, (void *) &demo);
    1255 
    1256         /* FIXME: Auto layout */
    1257         if (ui_is_textmode(ui)) {
    1258                 rect.p0.x = 4;
    1259                 rect.p0.y = 22;
    1260                 rect.p1.x = 42;
    1261                 rect.p1.y = 23;
    1262         } else {
    1263                 rect.p0.x = 15;
    1264                 rect.p0.y = 375;
    1265                 rect.p1.x = 220;
    1266                 rect.p1.y = 398;
    1267         }
    1268 
    1269         ui_scrollbar_set_rect(demo.hscrollbar, &rect);
    1270 
    1271         ui_scrollbar_set_thumb_length(demo.hscrollbar,
    1272             ui_scrollbar_trough_length(demo.hscrollbar) / 4);
    1273 
    1274         rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.hscrollbar));
    1275         if (rc != EOK) {
    1276                 printf("Error adding control to layout.\n");
    1277                 return rc;
    1278         }
    1279 
    1280         rc = ui_scrollbar_create(ui, window, ui_sbd_vert, &demo.vscrollbar);
    1281         if (rc != EOK) {
    1282                 printf("Error creating button.\n");
    1283                 return rc;
    1284         }
    1285 
    1286         ui_scrollbar_set_cb(demo.vscrollbar, &scrollbar_cb, (void *) &demo);
    1287 
    1288         /* FIXME: Auto layout */
    1289         if (ui_is_textmode(ui)) {
    1290                 rect.p0.x = 42;
    1291                 rect.p0.y = 5;
    1292                 rect.p1.x = 43;
    1293                 rect.p1.y = 22;
    1294         } else {
    1295                 rect.p0.x = 220;
    1296                 rect.p0.y = 88;
    1297                 rect.p1.x = 243;
    1298                 rect.p1.y = 375;
    1299         }
    1300 
    1301         ui_scrollbar_set_rect(demo.vscrollbar, &rect);
    1302 
    1303         ui_scrollbar_set_thumb_length(demo.vscrollbar,
    1304             ui_scrollbar_trough_length(demo.vscrollbar) / 4);
    1305 
    1306         rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.vscrollbar));
    1307         if (rc != EOK) {
    1308                 printf("Error adding control to layout.\n");
    1309                 return rc;
    1310         }
    1311 
    1312         ui_tab_add(demo.tbasic, ui_fixed_ctl(demo.bfixed));
    1313 
    1314         rc = ui_fixed_create(&demo.lfixed);
    1315         if (rc != EOK) {
    1316                 printf("Error creating fixed layout.\n");
    1317                 return rc;
    1318         }
    1319 
    1320         rc = ui_list_create(window, false, &demo.list);
    1321         if (rc != EOK) {
    1322                 printf("Error creating list.\n");
    1323                 return rc;
    1324         }
    1325 
    1326         ui_list_entry_attr_init(&eattr);
    1327 
    1328         eattr.caption = "One";
    1329         rc = ui_list_entry_append(demo.list, &eattr, NULL);
    1330         if (rc != EOK) {
    1331                 printf("Error adding list entry.\n");
    1332                 return rc;
    1333         }
    1334 
    1335         eattr.caption = "Two";
    1336         rc = ui_list_entry_append(demo.list, &eattr, NULL);
    1337         if (rc != EOK) {
    1338                 printf("Error adding list entry.\n");
    1339                 return rc;
    1340         }
    1341 
    1342         eattr.caption = "Three";
    1343         rc = ui_list_entry_append(demo.list, &eattr, NULL);
    1344         if (rc != EOK) {
    1345                 printf("Error adding list entry.\n");
    1346                 return rc;
    1347         }
    1348 
    1349         eattr.caption = "Four";
    1350         rc = ui_list_entry_append(demo.list, &eattr, NULL);
    1351         if (rc != EOK) {
    1352                 printf("Error adding list entry.\n");
    1353                 return rc;
    1354         }
    1355 
    1356         eattr.caption = "Five";
    1357         rc = ui_list_entry_append(demo.list, &eattr, NULL);
    1358         if (rc != EOK) {
    1359                 printf("Error adding list entry.\n");
    1360                 return rc;
    1361         }
    1362 
    1363         eattr.caption = "Six";
    1364         rc = ui_list_entry_append(demo.list, &eattr, NULL);
    1365         if (rc != EOK) {
    1366                 printf("Error adding list entry.\n");
    1367                 return rc;
    1368         }
    1369 
    1370         /* FIXME: Auto layout */
    1371         if (ui_is_textmode(ui)) {
    1372                 rect.p0.x = 4;
    1373                 rect.p0.y = 5;
    1374                 rect.p1.x = 41;
    1375                 rect.p1.y = 10;
    1376         } else {
    1377                 rect.p0.x = 15;
    1378                 rect.p0.y = 88;
    1379                 rect.p1.x = 245;
    1380                 rect.p1.y = 173;
    1381         }
    1382 
    1383         ui_list_set_rect(demo.list, &rect);
    1384 
    1385         rc = ui_fixed_add(demo.lfixed, ui_list_ctl(demo.list));
    1386         if (rc != EOK) {
    1387                 printf("Error adding control to layout.\n");
    1388                 return rc;
    1389         }
    1390 
    1391         ui_tab_add(demo.tlists, ui_fixed_ctl(demo.lfixed));
    1392962
    1393963        ui_window_add(window, ui_fixed_ctl(demo.fixed));
     
    14491019int main(int argc, char *argv[])
    14501020{
    1451         const char *display_spec = UI_ANY_DEFAULT;
     1021        const char *display_spec = UI_DISPLAY_DEFAULT;
    14521022        errno_t rc;
    14531023        int i;
Note: See TracChangeset for help on using the changeset viewer.