1
#ifndef _RCC_UI_INTERNAL_H
2
#define _RCC_UI_INTERNAL_H
4
#include "../src/librcc.h"
7
typedef unsigned int rcc_ui_id;
8
typedef void *rcc_ui_internal;
9
typedef void *rcc_ui_menu_internal;
11
enum rcc_ui_menu_type_t {
12
RCC_UI_MENU_LANGUAGE = 0,
18
typedef enum rcc_ui_menu_type_t rcc_ui_menu_type;
20
struct rcc_ui_menu_context_t {
25
rcc_ui_menu_type type;
28
rcc_ui_menu_internal internal;
30
typedef struct rcc_ui_menu_context_t rcc_ui_menu_context_s;
31
typedef struct rcc_ui_menu_context_t *rcc_ui_menu_context;
33
struct rcc_ui_context_t {
36
rcc_ui_menu_context language;
37
rcc_ui_menu_context engine;
38
rcc_ui_menu_context *charsets;
39
rcc_ui_menu_context *options;
41
rcc_ui_internal internal;
43
rcc_language_name *language_names;
44
rcc_option_name *option_names;
46
rcc_ui_frame language_frame;
47
rcc_ui_frame charset_frame;
48
rcc_ui_frame engine_frame;
52
typedef struct rcc_ui_context_t rcc_ui_contexts_s;
55
rcc_ui_internal rccUiCreateInternal(rcc_ui_context ctx);
56
void rccUiFreeInternal(rcc_ui_context ctx);
58
rcc_ui_widget rccUiMenuCreateWidget(rcc_ui_menu_context ctx);
59
void rccUiMenuDestroyWidget(rcc_ui_menu_context ctx);
60
int rccUiMenuConfigureWidget(rcc_ui_menu_context ctx);
62
rcc_ui_id rccUiMenuGet(rcc_ui_menu_context ctx);
63
int rccUiMenuSet(rcc_ui_menu_context ctx, rcc_ui_id id);
65
rcc_ui_box rccUiBoxCreate(rcc_ui_menu_context ctx, const char *title);
66
rcc_ui_frame rccUiFrameCreate(rcc_ui_context ctx, const char *title);
67
int rccUiFrameAdd(rcc_ui_frame frame, rcc_ui_box box);
68
rcc_ui_page rccUiPageCreate(rcc_ui_context ctx, const char *title);
69
int rccUiPageAdd(rcc_ui_page page, rcc_ui_frame frame);
71
#endif /* _RCC_UI_INTERNAL_H */