Changeset 6aa85c1 in mainline for uspace/app/nav/nav.c


Ignore:
Timestamp:
2021-10-25T00:32:45Z (3 years ago)
Author:
jxsvoboda <5887334+jxsvoboda@…>
Branches:
master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b36ebb42
Parents:
5d466a1
git-author:
Jiri Svoboda <jiri@…> (2021-10-03 17:39:36)
git-committer:
jxsvoboda <5887334+jxsvoboda@…> (2021-10-25 00:32:45)
Message:

Add panel class and add unit tests for all classes

File:
1 edited

Legend:

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

    r5d466a1 r6aa85c1  
    4646#include "nav.h"
    4747
    48 static errno_t navigator_create(const char *, navigator_t **);
    49 static void navigator_destroy(navigator_t *);
    50 
    5148static void wnd_close(ui_window_t *, void *);
    5249
     
    7370 * @return EOK on success or ane error code
    7471 */
    75 static errno_t navigator_create(const char *display_spec,
     72errno_t navigator_create(const char *display_spec,
    7673    navigator_t **rnavigator)
    7774{
     
    111108        ui_window_add(navigator->window, ui_fixed_ctl(navigator->fixed));
    112109
    113         rc = nav_menu_create(navigator, &navigator->menu);
     110        rc = nav_menu_create(navigator->window, &navigator->menu);
    114111        if (rc != EOK)
    115112                goto error;
     113
     114        rc = ui_fixed_add(navigator->fixed, nav_menu_ctl(navigator->menu));
     115        if (rc != EOK) {
     116                printf("Error adding control to layout.\n");
     117                return rc;
     118        }
    116119
    117120        rc = ui_window_paint(navigator->window);
     
    128131}
    129132
    130 static void navigator_destroy(navigator_t *navigator)
     133void navigator_destroy(navigator_t *navigator)
    131134{
     135        ui_fixed_remove(navigator->fixed, nav_menu_ctl(navigator->menu));
     136
    132137        if (navigator->menu != NULL)
    133138                nav_menu_destroy(navigator->menu);
     
    140145
    141146/** Run navigator on the specified display. */
    142 static errno_t navigator_run(const char *display_spec)
     147errno_t navigator_run(const char *display_spec)
    143148{
    144149        navigator_t *navigator;
     
    155160}
    156161
    157 static void print_syntax(void)
    158 {
    159         printf("Syntax: nav [-d <display-spec>]\n");
    160 }
    161 
    162 int main(int argc, char *argv[])
    163 {
    164         const char *display_spec = UI_CONSOLE_DEFAULT;
    165         errno_t rc;
    166         int i;
    167 
    168         i = 1;
    169         while (i < argc && argv[i][0] == '-') {
    170                 if (str_cmp(argv[i], "-d") == 0) {
    171                         ++i;
    172                         if (i >= argc) {
    173                                 printf("Argument missing.\n");
    174                                 print_syntax();
    175                                 return 1;
    176                         }
    177 
    178                         display_spec = argv[i++];
    179                 } else {
    180                         printf("Invalid option '%s'.\n", argv[i]);
    181                         print_syntax();
    182                         return 1;
    183                 }
    184         }
    185 
    186         if (i < argc) {
    187                 print_syntax();
    188                 return 1;
    189         }
    190 
    191         rc = navigator_run(display_spec);
    192         if (rc != EOK)
    193                 return 1;
    194 
    195         return 0;
    196 }
    197 
    198162/** @}
    199163 */
Note: See TracChangeset for help on using the changeset viewer.