Changeset 1eaead4 in mainline for uspace/app/uidemo/uidemo.c


Ignore:
Timestamp:
2023-02-07T16:11:53Z (15 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0366d09d
Parents:
7c5320c
Message:

Tab set control

This allows to expand the space available in a dialog window
using stacking, with individual tabs that can be activated
by clicking the handle.

File:
1 edited

Legend:

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

    r7c5320c r1eaead4  
    11/*
    2  * Copyright (c) 2022 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    5151#include <ui/promptdialog.h>
    5252#include <ui/resource.h>
     53#include <ui/tab.h>
     54#include <ui/tabset.h>
    5355#include <ui/ui.h>
    5456#include <ui/window.h>
     
    615617                params.rect.p0.x = 0;
    616618                params.rect.p0.y = 0;
    617                 params.rect.p1.x = 44;
    618                 params.rect.p1.y = 23;
     619                params.rect.p1.x = 46;
     620                params.rect.p1.y = 25;
    619621        } else {
    620622                params.rect.p0.x = 0;
    621623                params.rect.p0.y = 0;
    622                 params.rect.p1.x = 250;
    623                 params.rect.p1.y = 370;
     624                params.rect.p1.x = 255;
     625                params.rect.p1.y = 410;
    624626        }
    625627
     
    743745                rect.p0.x = 4;
    744746                rect.p0.y = 30;
    745                 rect.p1.x = 216;
     747                rect.p1.x = 251;
    746748                rect.p1.y = 52;
    747749        }
     750
    748751        ui_menu_bar_set_rect(demo.mbar, &rect);
    749752
     
    754757        }
    755758
     759        rc = ui_tab_set_create(ui_res, &demo.tabset);
     760        if (rc != EOK) {
     761                printf("Error creating tab set.\n");
     762                return rc;
     763        }
     764
     765        /* FIXME: Auto layout */
     766        if (ui_is_textmode(ui)) {
     767                rect.p0.x = 2;
     768                rect.p0.y = 2;
     769                rect.p1.x = 44;
     770                rect.p1.y = 24;
     771        } else {
     772                rect.p0.x = 8;
     773                rect.p0.y = 53;
     774                rect.p1.x = 250;
     775                rect.p1.y = 405;
     776        }
     777
     778        ui_tab_set_set_rect(demo.tabset, &rect);
     779
     780        rc = ui_tab_create(demo.tabset, "Basic", &demo.tbasic);
     781        if (rc != EOK) {
     782                printf("Error creating tab.\n");
     783                return rc;
     784        }
     785
     786        rc = ui_tab_create(demo.tabset, "Lists", &demo.tlists);
     787        if (rc != EOK) {
     788                printf("Error creating tab.\n");
     789                return rc;
     790        }
     791
     792        rc = ui_fixed_add(demo.fixed, ui_tab_set_ctl(demo.tabset));
     793        if (rc != EOK) {
     794                printf("Error adding control to layout.\n");
     795                return rc;
     796        }
     797
     798        rc = ui_fixed_create(&demo.bfixed);
     799        if (rc != EOK) {
     800                printf("Error creating fixed layout.\n");
     801                return rc;
     802        }
     803
    756804        rc = ui_entry_create(window, "", &demo.entry);
    757805        if (rc != EOK) {
     
    762810        /* FIXME: Auto layout */
    763811        if (ui_is_textmode(ui)) {
    764                 rect.p0.x = 2;
    765                 rect.p0.y = 3;
    766                 rect.p1.x = 39;
    767                 rect.p1.y = 4;
     812                rect.p0.x = 4;
     813                rect.p0.y = 5;
     814                rect.p1.x = 41;
     815                rect.p1.y = 6;
    768816        } else {
    769817                rect.p0.x = 15;
    770                 rect.p0.y = 53;
     818                rect.p0.y = 88;
    771819                rect.p1.x = 205;
    772                 rect.p1.y = 78;
     820                rect.p1.y = 113;
    773821        }
    774822
     
    776824        ui_entry_set_halign(demo.entry, gfx_halign_center);
    777825
    778         rc = ui_fixed_add(demo.fixed, ui_entry_ctl(demo.entry));
     826        rc = ui_fixed_add(demo.bfixed, ui_entry_ctl(demo.entry));
    779827        if (rc != EOK) {
    780828                printf("Error adding control to layout.\n");
     
    790838        /* FIXME: Auto layout */
    791839        if (ui_is_textmode(ui)) {
    792                 rect.p0.x = 2;
    793                 rect.p0.y = 5;
    794                 rect.p1.x = 42;
    795                 rect.p1.y = 6;
     840                rect.p0.x = 4;
     841                rect.p0.y = 7;
     842                rect.p1.x = 41;
     843                rect.p1.y = 8;
    796844        } else {
    797845                rect.p0.x = 60;
    798                 rect.p0.y = 88;
     846                rect.p0.y = 123;
    799847                rect.p1.x = 160;
    800                 rect.p1.y = 101;
     848                rect.p1.y = 136;
    801849        }
    802850
     
    804852        ui_label_set_halign(demo.label, gfx_halign_center);
    805853
    806         rc = ui_fixed_add(demo.fixed, ui_label_ctl(demo.label));
     854        rc = ui_fixed_add(demo.bfixed, ui_label_ctl(demo.label));
    807855        if (rc != EOK) {
    808856                printf("Error adding control to layout.\n");
     
    820868        /* FIXME: Auto layout */
    821869        if (ui_is_textmode(ui)) {
    822                 rect.p0.x = 2;
    823                 rect.p0.y = 7;
    824                 rect.p1.x = 12;
    825                 rect.p1.y = 8;
     870                rect.p0.x = 4;
     871                rect.p0.y = 9;
     872                rect.p1.x = 15;
     873                rect.p1.y = 10;
    826874        } else {
    827875                rect.p0.x = 15;
    828                 rect.p0.y = 111;
     876                rect.p0.y = 146;
    829877                rect.p1.x = 105;
    830                 rect.p1.y = 139;
     878                rect.p1.y = 174;
    831879        }
    832880
     
    835883        ui_pbutton_set_default(demo.pb1, true);
    836884
    837         rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb1));
     885        rc = ui_fixed_add(demo.bfixed, ui_pbutton_ctl(demo.pb1));
    838886        if (rc != EOK) {
    839887                printf("Error adding control to layout.\n");
     
    850898
    851899        if (ui_is_textmode(ui)) {
    852                 rect.p0.x = 29;
    853                 rect.p0.y = 7;
    854                 rect.p1.x = 39;
    855                 rect.p1.y = 8;
     900                rect.p0.x = 30;
     901                rect.p0.y = 9;
     902                rect.p1.x = 41;
     903                rect.p1.y = 10;
    856904        } else {
    857905                rect.p0.x = 115;
    858                 rect.p0.y = 111;
     906                rect.p0.y = 146;
    859907                rect.p1.x = 205;
    860                 rect.p1.y = 139;
     908                rect.p1.y = 174;
    861909        }
    862910
    863911        ui_pbutton_set_rect(demo.pb2, &rect);
    864912
    865         rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb2));
     913        rc = ui_fixed_add(demo.bfixed, ui_pbutton_ctl(demo.pb2));
    866914        if (rc != EOK) {
    867915                printf("Error adding control to layout.\n");
     
    897945
    898946        if (ui_is_textmode(ui)) {
    899                 off.x = 2;
    900                 off.y = 9;
     947                off.x = 4;
     948                off.y = 11;
    901949        } else {
    902950                off.x = 15;
    903                 off.y = 155;
     951                off.y = 190;
    904952        }
    905953
     
    915963        ui_image_set_rect(demo.image, &rect);
    916964
    917         rc = ui_fixed_add(demo.fixed, ui_image_ctl(demo.image));
     965        rc = ui_fixed_add(demo.bfixed, ui_image_ctl(demo.image));
    918966        if (rc != EOK) {
    919967                printf("Error adding control to layout.\n");
     
    931979        /* FIXME: Auto layout */
    932980        if (ui_is_textmode(ui)) {
    933                 rect.p0.x = 2;
    934                 rect.p0.y = 12;
    935                 rect.p1.x = 12;
    936                 rect.p1.y = 13;
     981                rect.p0.x = 4;
     982                rect.p0.y = 14;
     983                rect.p1.x = 14;
     984                rect.p1.y = 15;
    937985        } else {
    938986                rect.p0.x = 15;
    939                 rect.p0.y = 190;
     987                rect.p0.y = 225;
    940988                rect.p1.x = 140;
    941                 rect.p1.y = 210;
     989                rect.p1.y = 245;
    942990        }
    943991
    944992        ui_checkbox_set_rect(demo.checkbox, &rect);
    945993
    946         rc = ui_fixed_add(demo.fixed, ui_checkbox_ctl(demo.checkbox));
     994        rc = ui_fixed_add(demo.bfixed, ui_checkbox_ctl(demo.checkbox));
    947995        if (rc != EOK) {
    948996                printf("Error adding control to layout.\n");
     
    9681016        /* FIXME: Auto layout */
    9691017        if (ui_is_textmode(ui)) {
    970                 rect.p0.x = 2;
    971                 rect.p0.y = 14;
    972                 rect.p1.x = 12;
    973                 rect.p1.y = 15;
     1018                rect.p0.x = 4;
     1019                rect.p0.y = 16;
     1020                rect.p1.x = 14;
     1021                rect.p1.y = 17;
    9741022        } else {
    9751023                rect.p0.x = 15;
    976                 rect.p0.y = 220;
     1024                rect.p0.y = 255;
    9771025                rect.p1.x = 140;
    978                 rect.p1.y = 240;
     1026                rect.p1.y = 275;
    9791027        }
    9801028        ui_rbutton_set_rect(demo.rbleft, &rect);
    9811029
    982         rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbleft));
     1030        rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbleft));
    9831031        if (rc != EOK) {
    9841032                printf("Error adding control to layout.\n");
     
    9951043        /* FIXME: Auto layout */
    9961044        if (ui_is_textmode(ui)) {
    997                 rect.p0.x = 2;
    998                 rect.p0.y = 15;
    999                 rect.p1.x = 12;
    1000                 rect.p1.y = 16;
     1045                rect.p0.x = 4;
     1046                rect.p0.y = 17;
     1047                rect.p1.x = 14;
     1048                rect.p1.y = 18;
    10011049        } else {
    10021050                rect.p0.x = 15;
    1003                 rect.p0.y = 250;
     1051                rect.p0.y = 285;
    10041052                rect.p1.x = 140;
    1005                 rect.p1.y = 270;
     1053                rect.p1.y = 305;
    10061054        }
    10071055        ui_rbutton_set_rect(demo.rbcenter, &rect);
    10081056        ui_rbutton_select(demo.rbcenter);
    10091057
    1010         rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbcenter));
     1058        rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbcenter));
    10111059        if (rc != EOK) {
    10121060                printf("Error adding control to layout.\n");
     
    10231071        /* FIXME: Auto layout */
    10241072        if (ui_is_textmode(ui)) {
    1025                 rect.p0.x = 2;
    1026                 rect.p0.y = 16;
    1027                 rect.p1.x = 12;
    1028                 rect.p1.y = 17;
     1073                rect.p0.x = 4;
     1074                rect.p0.y = 18;
     1075                rect.p1.x = 14;
     1076                rect.p1.y = 19;
    10291077        } else {
    10301078                rect.p0.x = 15;
    1031                 rect.p0.y = 280;
     1079                rect.p0.y = 315;
    10321080                rect.p1.x = 140;
    1033                 rect.p1.y = 300;
     1081                rect.p1.y = 335;
    10341082        }
    10351083        ui_rbutton_set_rect(demo.rbright, &rect);
    10361084
    1037         rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbright));
     1085        rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbright));
    10381086        if (rc != EOK) {
    10391087                printf("Error adding control to layout.\n");
     
    10511099        /* FIXME: Auto layout */
    10521100        if (ui_is_textmode(ui)) {
    1053                 rect.p0.x = 2;
    1054                 rect.p0.y = 18;
    1055                 rect.p1.x = 28;
    1056                 rect.p1.y = 19;
     1101                rect.p0.x = 4;
     1102                rect.p0.y = 20;
     1103                rect.p1.x = 32;
     1104                rect.p1.y = 21;
    10571105        } else {
    10581106                rect.p0.x = 15;
    1059                 rect.p0.y = 310;
     1107                rect.p0.y = 345;
    10601108                rect.p1.x = 130;
    1061                 rect.p1.y = 330;
     1109                rect.p1.y = 365;
    10621110        }
    10631111
    10641112        ui_slider_set_rect(demo.slider, &rect);
    10651113
    1066         rc = ui_fixed_add(demo.fixed, ui_slider_ctl(demo.slider));
     1114        rc = ui_fixed_add(demo.bfixed, ui_slider_ctl(demo.slider));
    10671115        if (rc != EOK) {
    10681116                printf("Error adding control to layout.\n");
     
    10801128        /* FIXME: Auto layout */
    10811129        if (ui_is_textmode(ui)) {
    1082                 rect.p0.x = 2;
    1083                 rect.p0.y = 20;
    1084                 rect.p1.x = 40;
    1085                 rect.p1.y = 21;
     1130                rect.p0.x = 4;
     1131                rect.p0.y = 22;
     1132                rect.p1.x = 42;
     1133                rect.p1.y = 23;
    10861134        } else {
    10871135                rect.p0.x = 15;
    1088                 rect.p0.y = 340;
     1136                rect.p0.y = 375;
    10891137                rect.p1.x = 220;
    1090                 rect.p1.y = 363;
     1138                rect.p1.y = 398;
    10911139        }
    10921140
     
    10961144            ui_scrollbar_through_length(demo.hscrollbar) / 4);
    10971145
    1098         rc = ui_fixed_add(demo.fixed, ui_scrollbar_ctl(demo.hscrollbar));
     1146        rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.hscrollbar));
    10991147        if (rc != EOK) {
    11001148                printf("Error adding control to layout.\n");
     
    11121160        /* FIXME: Auto layout */
    11131161        if (ui_is_textmode(ui)) {
    1114                 rect.p0.x = 40;
    1115                 rect.p0.y = 3;
    1116                 rect.p1.x = 41;
    1117                 rect.p1.y = 20;
     1162                rect.p0.x = 42;
     1163                rect.p0.y = 5;
     1164                rect.p1.x = 43;
     1165                rect.p1.y = 22;
    11181166        } else {
    11191167                rect.p0.x = 220;
    1120                 rect.p0.y = 53;
     1168                rect.p0.y = 88;
    11211169                rect.p1.x = 243;
    1122                 rect.p1.y = 340;
     1170                rect.p1.y = 375;
    11231171        }
    11241172
     
    11281176            ui_scrollbar_through_length(demo.vscrollbar) / 4);
    11291177
    1130         rc = ui_fixed_add(demo.fixed, ui_scrollbar_ctl(demo.vscrollbar));
    1131         if (rc != EOK) {
    1132                 printf("Error adding control to layout.\n");
    1133                 return rc;
    1134         }
     1178        rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.vscrollbar));
     1179        if (rc != EOK) {
     1180                printf("Error adding control to layout.\n");
     1181                return rc;
     1182        }
     1183
     1184        ui_tab_add(demo.tbasic, ui_fixed_ctl(demo.bfixed));
    11351185
    11361186        ui_window_add(window, ui_fixed_ctl(demo.fixed));
Note: See TracChangeset for help on using the changeset viewer.