Changeset e0e612b in mainline for uspace/app/taskbar


Ignore:
Timestamp:
2022-10-07T08:38:50Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0761448
Parents:
c77cfd8
git-author:
Jiri Svoboda <jiri@…> (2022-10-06 18:38:37)
git-committer:
Jiri Svoboda <jiri@…> (2022-10-07 08:38:50)
Message:

Add window list to taskbar (with one dummy entry so far)

Location:
uspace/app/taskbar
Files:
4 added
5 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/taskbar/meson.build

    rc77cfd8 re0e612b  
    3232        'main.c',
    3333        'taskbar.c',
     34        'wndlist.c',
    3435)
    3536
     
    3738        'clock.c',
    3839        'taskbar.c',
     40        'wndlist.c',
    3941        'test/clock.c',
    4042        'test/main.c',
    4143        'test/taskbar.c',
     44        'test/wndlist.c',
    4245)
  • uspace/app/taskbar/taskbar.c

    rc77cfd8 re0e612b  
    4444#include "clock.h"
    4545#include "taskbar.h"
     46#include "wndlist.h"
    4647
    4748static void wnd_close(ui_window_t *, void *);
     
    135136        }
    136137
    137         rc = ui_label_create(ui_res, "Task bar!", &taskbar->label);
     138        rc = ui_label_create(ui_res, "HelenOS", &taskbar->label);
    138139        if (rc != EOK) {
    139140                printf("Error creating label.\n");
     
    142143
    143144        ui_window_get_app_rect(taskbar->window, &rect);
     145        if (ui_is_textmode(taskbar->ui)) {
     146                rect.p0.x += 1;
     147        } else {
     148                rect.p0.x += 10;
     149        }
    144150        ui_label_set_rect(taskbar->label, &rect);
    145         ui_label_set_halign(taskbar->label, gfx_halign_center);
     151        ui_label_set_halign(taskbar->label, gfx_halign_left);
    146152        ui_label_set_valign(taskbar->label, gfx_valign_center);
    147153
     
    150156                printf("Error adding control to layout.\n");
    151157                ui_label_destroy(taskbar->label);
     158                goto error;
     159        }
     160
     161        rc = wndlist_create(ui_res, taskbar->fixed, &taskbar->wndlist);
     162        if (rc != EOK) {
     163                printf("Error creating window list.\n");
     164                goto error;
     165        }
     166
     167        rc = wndlist_append(taskbar->wndlist, "Text Editor");
     168        if (rc != EOK) {
     169                printf("Error adding window list entry.\n");
    152170                goto error;
    153171        }
     
    191209        if (taskbar->clock != NULL)
    192210                taskbar_clock_destroy(taskbar->clock);
     211        if (taskbar->wndlist != NULL)
     212                wndlist_destroy(taskbar->wndlist);
    193213        if (taskbar->window != NULL)
    194214                ui_window_destroy(taskbar->window);
  • uspace/app/taskbar/taskbar.h

    rc77cfd8 re0e612b  
    11/*
    2  * Copyright (c) 2020 Jiri Svoboda
     2 * Copyright (c) 2022 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4040#include "types/taskbar.h"
    4141
    42 errno_t taskbar_create(const char *display_spec, taskbar_t **);
    43 void taskbar_destroy(taskbar_t *);
     42extern errno_t taskbar_create(const char *display_spec, taskbar_t **);
     43extern void taskbar_destroy(taskbar_t *);
    4444
    4545#endif
  • uspace/app/taskbar/test/main.c

    rc77cfd8 re0e612b  
    3333PCUT_IMPORT(clock);
    3434PCUT_IMPORT(taskbar);
     35PCUT_IMPORT(wndlist);
    3536
    3637PCUT_MAIN();
  • uspace/app/taskbar/types/taskbar.h

    rc77cfd8 re0e612b  
    4242#include <ui/window.h>
    4343#include "clock.h"
     44#include "wndlist.h"
    4445
    4546/** Task bar */
    46 typedef struct {
     47typedef struct taskbar {
    4748        /** User interface */
    4849        ui_t *ui;
     
    5253        ui_fixed_t *fixed;
    5354        ui_label_t *label;
     55        /** Window list */
     56        wndlist_t *wndlist;
    5457        /** Clock */
    5558        taskbar_clock_t *clock;
Note: See TracChangeset for help on using the changeset viewer.