diff options
Diffstat (limited to 'ui/librccui.h')
-rw-r--r-- | ui/librccui.h | 93 |
1 files changed, 64 insertions, 29 deletions
diff --git a/ui/librccui.h b/ui/librccui.h index 5a8d034..e526c0a 100644 --- a/ui/librccui.h +++ b/ui/librccui.h @@ -7,13 +7,71 @@ extern "C" { #endif +typedef struct rcc_ui_context_t *rcc_ui_context; + +/******************************************************************************* +************************************ Names ************************************* +*******************************************************************************/ + +struct rcc_name_t { + const char *sn; + const char *name; +}; +typedef struct rcc_name_t rcc_name; + +typedef const char *rcc_option_value_name; +typedef rcc_option_value_name *rcc_option_value_names; + +struct rcc_option_name_t { + rcc_option option; + const char *name; + rcc_option_value_names value_names; +}; +typedef struct rcc_option_name_t rcc_option_name; + +int rccUiSetLanguageNames(rcc_ui_context ctx, rcc_name *names); +int rccUiSetCharsetNames(rcc_ui_context ctx, rcc_name *names); +int rccUiSetEngineNames(rcc_ui_context ctx, rcc_name *names); + +int rccUiSetOptionNames(rcc_ui_context ctx, rcc_option_name *names); +int rccUiSetClassNames(rcc_ui_context ctx); + +/* page & boxes */ +typedef const char *rcc_ui_box_name; +struct rcc_ui_language_frame_name_t { + const char *title; + rcc_ui_box_name language; +}; +typedef struct rcc_ui_language_frame_name_t rcc_ui_language_frame_name; +struct rcc_ui_charset_frame_name_t { + const char *title; +}; +typedef struct rcc_ui_charset_frame_name_t rcc_ui_charset_frame_name; +struct rcc_ui_engine_frame_name_t { + const char *title; + rcc_ui_box_name engine; +}; +typedef struct rcc_ui_engine_frame_name_t rcc_ui_engine_frame_name; +struct rcc_ui_page_name_t { + const char *title; + rcc_ui_language_frame_name language; + rcc_ui_charset_frame_name charset; + rcc_ui_engine_frame_name engine; +}; +typedef struct rcc_ui_page_name_t rcc_ui_page_name; + +rcc_ui_page_name *rccUiGetDefaultPageName(); + + +/******************************************************************************* +************************************ API *************************************** +*******************************************************************************/ + typedef void *rcc_ui_widget; typedef void *rcc_ui_box; typedef void *rcc_ui_frame; typedef void *rcc_ui_page; -typedef struct rcc_ui_context_t *rcc_ui_context; - int rccUiInit(); void rccUiFree(); @@ -34,34 +92,11 @@ rcc_ui_box rccUiGetCharsetBox(rcc_ui_context ctx, rcc_class_id id, const char *t rcc_ui_box rccUiGetEngineBox(rcc_ui_context ctx, const char *title); rcc_ui_box rccUiGetOptionBox(rcc_ui_context ctx, rcc_option option, const char *title); -rcc_ui_frame rccUiGetLanguageFrame(rcc_ui_context ctx, const char *title); -rcc_ui_frame rccUiGetCharsetsFrame(rcc_ui_context ctx, const char *title); -rcc_ui_frame rccUiGetEngineFrame(rcc_ui_context ctx, const char *title); +rcc_ui_frame rccUiGetLanguageFrame(rcc_ui_context ctx, rcc_ui_language_frame_name *name); +rcc_ui_frame rccUiGetCharsetsFrame(rcc_ui_context ctx, rcc_ui_charset_frame_name *name); +rcc_ui_frame rccUiGetEngineFrame(rcc_ui_context ctx, rcc_ui_engine_frame_name *name); -rcc_ui_page rccUiGetPage(rcc_ui_context ctx, const char *title, const char *language_title, const char *charset_title, const char *engine_title); - -/******************************************************************************* -************************************ Names ************************************* -*******************************************************************************/ - -struct rcc_language_name_t { - const char *sn; - const char *name; -}; -typedef struct rcc_language_name_t rcc_language_name; - -typedef const char *rcc_option_value_name; -typedef rcc_option_value_name *rcc_option_value_names; - -struct rcc_option_name_t { - rcc_option option; - const char *name; - rcc_option_value_names value_names; -}; -typedef struct rcc_option_name_t rcc_option_name; - -int rccUiSetLanguageNames(rcc_ui_context ctx, rcc_language_name *names); -int rccUiSetOptionNames(rcc_ui_context ctx, rcc_option_name *names); +rcc_ui_page rccUiGetPage(rcc_ui_context ctx, rcc_ui_page_name *name); #ifdef __cplusplus } |