Changeset 7a05d924 in mainline for uspace/app/taskbar
- Timestamp:
- 2022-10-20T08:05:06Z (3 years ago)
- Branches:
- master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7cc30e9
- Parents:
- 1766326
- git-author:
- Jiri Svoboda <jiri@…> (2022-10-19 18:04:42)
- git-committer:
- Jiri Svoboda <jiri@…> (2022-10-20 08:05:06)
- Location:
- uspace/app/taskbar
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/taskbar/taskbar.c
r1766326 r7a05d924 174 174 } 175 175 176 rc = wndlist_a ppend(taskbar->wndlist, "Text Editor");177 if (rc != EOK) { 178 printf("Error a dding window list entry.\n");176 rc = wndlist_attach_wm(taskbar->wndlist, taskbar->wndmgt); 177 if (rc != EOK) { 178 printf("Error attaching window management service.\n"); 179 179 goto error; 180 180 } -
uspace/app/taskbar/types/wndlist.h
r1766326 r7a05d924 42 42 #include <ui/fixed.h> 43 43 #include <ui/resource.h> 44 #include <wndmgt.h> 44 45 45 46 /** Taskbar window list entry */ … … 69 70 /** Window list entries (of wndlist_entry_t) */ 70 71 list_t entries; 72 73 /** Window management service */ 74 wndmgt_t *wndmgt; 71 75 } wndlist_t; 72 76 -
uspace/app/taskbar/wndlist.c
r1766326 r7a05d924 49 49 * @param res UI resource 50 50 * @param fixed Fixed layout to which buttons will be added 51 * @param wndmgt Window management service 51 52 * @param rwndlist Place to store pointer to new window list 52 53 * @return @c EOK on success or an error code … … 71 72 error: 72 73 return rc; 74 } 73 75 76 /** Attach window management service to window list. 77 * 78 * @param wndlist Window list 79 * @param rwndlist Place to store pointer to new window list 80 * @return @c EOK on success or an error code 81 */ 82 errno_t wndlist_attach_wm(wndlist_t *wndlist, wndmgt_t *wndmgt) 83 { 84 errno_t rc; 85 wndmgt_window_list_t *wlist = NULL; 86 wndmgt_window_info_t *winfo = NULL; 87 sysarg_t i; 88 89 rc = wndmgt_get_window_list(wndmgt, &wlist); 90 if (rc != EOK) 91 goto error; 92 93 for (i = 0; i < wlist->nwindows; i++) { 94 rc = wndmgt_get_window_info(wndmgt, wlist->windows[i], 95 &winfo); 96 if (rc != EOK) 97 goto error; 98 99 rc = wndlist_append(wndlist, winfo->caption); 100 if (rc != EOK) { 101 wndmgt_free_window_info(winfo); 102 goto error; 103 } 104 105 wndmgt_free_window_info(winfo); 106 } 107 108 wndlist->wndmgt = wndmgt; 109 return EOK; 110 error: 111 if (wlist != NULL) 112 wndmgt_free_window_list(wlist); 113 return rc; 74 114 } 75 115 … … 90 130 wndlist_entry_t *entry = NULL; 91 131 gfx_rect_t rect; 132 size_t nentries; 92 133 errno_t rc; 134 135 /* Number of existing entries */ 136 nentries = list_count(&wndlist->entries); 93 137 94 138 entry = calloc(1, sizeof(wndlist_entry_t)); … … 103 147 104 148 if (ui_resource_is_textmode(wndlist->res)) { 105 rect.p0.x = 9;149 rect.p0.x = 17 * nentries + 9; 106 150 rect.p0.y = 0; 107 rect.p1.x = 25;151 rect.p1.x = 17 * nentries + 25; 108 152 rect.p1.y = 1; 109 153 } else { 110 rect.p0.x = 90;154 rect.p0.x = 145 * nentries + 90; 111 155 rect.p0.y = 3; 112 rect.p1.x = 230;156 rect.p1.x = 145 * nentries + 230; 113 157 rect.p1.y = 29; 114 158 } -
uspace/app/taskbar/wndlist.h
r1766326 r7a05d924 40 40 #include <ui/fixed.h> 41 41 #include <ui/resource.h> 42 #include <wndmgt.h> 42 43 #include "types/wndlist.h" 43 44 44 45 extern errno_t wndlist_create(ui_resource_t *, ui_fixed_t *, wndlist_t **); 46 extern errno_t wndlist_attach_wm(wndlist_t *, wndmgt_t *); 45 47 extern void wndlist_destroy(wndlist_t *); 46 48 extern errno_t wndlist_append(wndlist_t *, const char *);
Note:
See TracChangeset
for help on using the changeset viewer.