Changeset dc5c303 in mainline for uspace/app/uidemo/uidemo.c


Ignore:
Timestamp:
2023-12-28T13:59:23Z (14 months ago)
Author:
GitHub <noreply@…>
Children:
6b66de6b
Parents:
42c2e65 (diff), f87ff8e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
boba-buba <120932204+boba-buba@…> (2023-12-28 13:59:23)
git-committer:
GitHub <noreply@…> (2023-12-28 13:59:23)
Message:

Merge branch 'master' into topic/packet-capture

File:
1 edited

Legend:

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

    r42c2e65 rdc5c303  
    4545#include <ui/label.h>
    4646#include <ui/list.h>
     47#include <ui/menu.h>
    4748#include <ui/menubar.h>
     49#include <ui/menudd.h>
    4850#include <ui/menuentry.h>
    49 #include <ui/menu.h>
    5051#include <ui/msgdialog.h>
    5152#include <ui/pbutton.h>
    5253#include <ui/promptdialog.h>
    5354#include <ui/resource.h>
     55#include <ui/selectdialog.h>
    5456#include <ui/tab.h>
    5557#include <ui/tabset.h>
     
    108110static void uidemo_file_exit(ui_menu_entry_t *, void *);
    109111static void uidemo_edit_modify(ui_menu_entry_t *, void *);
     112static void uidemo_edit_insert_character(ui_menu_entry_t *, void *);
    110113
    111114static void file_dialog_bok(ui_file_dialog_t *, void *, const char *);
     
    127130        .bcancel = prompt_dialog_bcancel,
    128131        .close = prompt_dialog_close
     132};
     133
     134static void select_dialog_bok(ui_select_dialog_t *, void *, void *);
     135static void select_dialog_bcancel(ui_select_dialog_t *, void *);
     136static void select_dialog_close(ui_select_dialog_t *, void *);
     137
     138static ui_select_dialog_cb_t select_dialog_cb = {
     139        .bok = select_dialog_bok,
     140        .bcancel = select_dialog_bcancel,
     141        .close = select_dialog_close
    129142};
    130143
     
    275288        pos = ui_scrollbar_get_pos(scrollbar);
    276289        ui_scrollbar_set_pos(scrollbar, pos -
    277             ui_scrollbar_through_length(scrollbar) / 4);
     290            ui_scrollbar_trough_length(scrollbar) / 4);
    278291
    279292        pos = ui_scrollbar_get_pos(scrollbar);
     
    292305        pos = ui_scrollbar_get_pos(scrollbar);
    293306        ui_scrollbar_set_pos(scrollbar, pos +
    294             ui_scrollbar_through_length(scrollbar) / 4);
     307            ui_scrollbar_trough_length(scrollbar) / 4);
    295308
    296309        pos = ui_scrollbar_get_pos(scrollbar);
     
    432445        rc = ui_prompt_dialog_create(demo->ui, &pdparams, &dialog);
    433446        if (rc != EOK) {
    434                 printf("Error creating message dialog.\n");
     447                printf("Error creating prompt dialog.\n");
    435448                return;
    436449        }
    437450
    438451        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 */
     459static 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);
    439507}
    440508
     
    525593/** Prompt dialog cancel button press.
    526594 *
    527  * @param dialog File dialog
     595 * @param dialog Prompt dialog
    528596 * @param arg Argument (ui_demo_t *)
    529597 */
     
    538606/** Prompt dialog close request.
    539607 *
    540  * @param dialog File dialog
     608 * @param dialog Prompt dialog
    541609 * @param arg Argument (ui_demo_t *)
    542610 */
     
    547615        (void) demo;
    548616        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 */
     625static 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 */
     642static 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 */
     655static 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);
    549661}
    550662
     
    598710        ui_menu_entry_t *mexit;
    599711        ui_menu_entry_t *mmodify;
     712        ui_menu_entry_t *minsert_char;
    600713        ui_menu_entry_t *mabout;
    601714        ui_list_entry_attr_t eattr;
     
    652765        }
    653766
    654         rc = ui_menu_create(demo.mbar, "~F~ile", &demo.mfile);
     767        rc = ui_menu_dd_create(demo.mbar, "~F~ile", NULL, &demo.mfile);
    655768        if (rc != EOK) {
    656769                printf("Error creating menu.\n");
     
    692805        }
    693806
     807        ui_menu_entry_set_disabled(mfoobar, true);
     808
    694809        rc = ui_menu_entry_sep_create(demo.mfile, &msep);
    695810        if (rc != EOK) {
     
    706821        ui_menu_entry_set_cb(mexit, uidemo_file_exit, (void *) &demo);
    707822
    708         rc = ui_menu_create(demo.mbar, "~E~dit", &demo.medit);
     823        rc = ui_menu_dd_create(demo.mbar, "~E~dit", NULL, &demo.medit);
    709824        if (rc != EOK) {
    710825                printf("Error creating menu.\n");
     
    720835        ui_menu_entry_set_cb(mmodify, uidemo_edit_modify, (void *) &demo);
    721836
    722         rc = ui_menu_create(demo.mbar, "~P~references", &demo.mpreferences);
     837        rc = ui_menu_entry_create(demo.medit, "~I~nsert Character",
     838            "", &minsert_char);
    723839        if (rc != EOK) {
    724840                printf("Error creating menu.\n");
     
    726842        }
    727843
    728         rc = ui_menu_create(demo.mbar, "~H~elp", &demo.mhelp);
     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);
    729855        if (rc != EOK) {
    730856                printf("Error creating menu.\n");
     
    11441270
    11451271        ui_scrollbar_set_thumb_length(demo.hscrollbar,
    1146             ui_scrollbar_through_length(demo.hscrollbar) / 4);
     1272            ui_scrollbar_trough_length(demo.hscrollbar) / 4);
    11471273
    11481274        rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.hscrollbar));
     
    11761302
    11771303        ui_scrollbar_set_thumb_length(demo.vscrollbar,
    1178             ui_scrollbar_through_length(demo.vscrollbar) / 4);
     1304            ui_scrollbar_trough_length(demo.vscrollbar) / 4);
    11791305
    11801306        rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.vscrollbar));
Note: See TracChangeset for help on using the changeset viewer.