Changeset ec50d65e in mainline for uspace/lib/ui/src/menubar.c


Ignore:
Timestamp:
2024-06-22T09:13:30Z (11 days ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
49aaa0e
Parents:
743f2cdd
git-author:
Jiri Svoboda <jiri@…> (2024-06-22 09:12:48)
git-committer:
Jiri Svoboda <jiri@…> (2024-06-22 09:13:30)
Message:

Editor needs to hide cursor when menu bar is activated

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/src/menubar.c

    r743f2cdd rec50d65e  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    6666static ui_evclaim_t ui_menu_bar_ctl_kbd_event(void *, kbd_event_t *);
    6767static ui_evclaim_t ui_menu_bar_ctl_pos_event(void *, pos_event_t *);
     68static void ui_menu_bar_activate_ev(ui_menu_bar_t *);
     69static void ui_menu_bar_deactivate_ev(ui_menu_bar_t *);
    6870
    6971/** Menu bar control ops */
     
    131133        ui_control_delete(mbar->control);
    132134        free(mbar);
     135}
     136
     137/** Set menu bar callbacks.
     138 *
     139 * @param mbar Menu bar
     140 * @param cb Callbacks
     141 * @param arg Callback argument
     142 */
     143void ui_menu_bar_set_cb(ui_menu_bar_t *mbar, ui_menu_bar_cb_t *cb, void *arg)
     144{
     145        mbar->cb = cb;
     146        mbar->arg = arg;
    133147}
    134148
     
    288302                }
    289303
     304                if (!mbar->active)
     305                        ui_menu_bar_activate_ev(mbar);
    290306                mbar->active = true;
    291307        } else {
     308                if (mbar->active)
     309                        ui_menu_bar_deactivate_ev(mbar);
    292310                mbar->active = false;
    293311        }
     
    640658
    641659        (void) ui_menu_bar_paint(mbar);
     660        ui_menu_bar_activate_ev(mbar);
    642661}
    643662
     
    649668{
    650669        ui_menu_bar_select(mbar, NULL, false, 0);
     670        ui_menu_bar_deactivate_ev(mbar);
    651671}
    652672
     
    700720}
    701721
     722/** Send menu bar activate event.
     723 *
     724 * @param mbar Menu bar
     725 */
     726static void ui_menu_bar_activate_ev(ui_menu_bar_t *mbar)
     727{
     728        if (mbar->cb != NULL && mbar->cb->activate != NULL)
     729                mbar->cb->activate(mbar, mbar->arg);
     730}
     731
     732/** Send menu bar deactivate event.
     733 *
     734 * @param mbar Menu bar
     735 */
     736static void ui_menu_bar_deactivate_ev(ui_menu_bar_t *mbar)
     737{
     738        if (mbar->cb != NULL && mbar->cb->deactivate != NULL)
     739                mbar->cb->deactivate(mbar, mbar->arg);
     740}
     741
    702742/** @}
    703743 */
Note: See TracChangeset for help on using the changeset viewer.