#ifndef UIC_TOOLBAR_H
#define UIC_TOOLBAR_H
#include "../ui/toolbar.h"
#include <cx/linked_list.h>
#include <cx/hash_map.h>
#include "menu.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct UiToolbarItemI UiToolbarItemI;
typedef struct UiToolbarItem UiToolbarItem;
typedef struct UiToolbarToggleItem UiToolbarToggleItem;
typedef struct UiToolbarMenuItem UiToolbarMenuItem;
enum UiToolbarItemType {
UI_TOOLBAR_ITEM =
0,
UI_TOOLBAR_TOGGLEITEM,
UI_TOOLBAR_MENU
};
typedef enum UiToolbarItemType UiToolbarItemType;
struct UiToolbarItemI {
UiToolbarItemType type;
};
struct UiToolbarItem {
UiToolbarItemI item;
UiToolbarItemArgs args;
size_t ngroups;
};
struct UiToolbarToggleItem {
UiToolbarItemI item;
UiToolbarToggleItemArgs args;
size_t ngroups;
};
struct UiToolbarMenuItem {
UiToolbarItemI item;
UiMenu menu;
UiToolbarMenuArgs args;
int end;
};
void uic_toolbar_init(
void);
CxMap* uic_get_toolbar_items(
void);
CxList* uic_get_toolbar_defaults(
enum UiToolbarPos pos);
UiBool uic_toolbar_isenabled(
void);
UiToolbarItemI* uic_toolbar_get_item(
const char* name);
UiToolbarMenuItem* uic_get_appmenu(
void);
#ifdef __cplusplus
}
#endif
#endif