00001 #ifndef _LIBRCC_UI_H
00002 #define _LIBRCC_UI_H
00003
00004 #include <librcc.h>
00005
00006 #ifdef __cplusplus
00007 extern "C" {
00008 #endif
00009
00010 typedef struct rcc_ui_context_t *rcc_ui_context;
00011
00012
00013
00014
00015
00016 struct rcc_name_t {
00017 const char *sn;
00018 const char *name;
00019 };
00020 typedef struct rcc_name_t rcc_name;
00021
00022 typedef const char *rcc_option_value_name;
00023 typedef rcc_option_value_name *rcc_option_value_names;
00024
00025 struct rcc_option_name_t {
00026 rcc_option option;
00027 const char *name;
00028 rcc_option_value_names value_names;
00029 };
00030 typedef struct rcc_option_name_t rcc_option_name;
00031
00032 int rccUiSetLanguageNames(rcc_ui_context ctx, rcc_name *names);
00033 int rccUiSetCharsetNames(rcc_ui_context ctx, rcc_name *names);
00034 int rccUiSetEngineNames(rcc_ui_context ctx, rcc_name *names);
00035
00036 int rccUiSetOptionNames(rcc_ui_context ctx, rcc_option_name *names);
00037 int rccUiSetClassNames(rcc_ui_context ctx);
00038
00039
00040 typedef const char *rcc_ui_box_name;
00041 struct rcc_ui_language_frame_name_t {
00042 const char *title;
00043 rcc_ui_box_name language;
00044 };
00045 typedef struct rcc_ui_language_frame_name_t rcc_ui_language_frame_name;
00046 struct rcc_ui_charset_frame_name_t {
00047 const char *title;
00048 };
00049 typedef struct rcc_ui_charset_frame_name_t rcc_ui_charset_frame_name;
00050 struct rcc_ui_engine_frame_name_t {
00051 const char *title;
00052 rcc_ui_box_name engine;
00053 };
00054 typedef struct rcc_ui_engine_frame_name_t rcc_ui_engine_frame_name;
00055 struct rcc_ui_page_name_t {
00056 const char *title;
00057 rcc_ui_language_frame_name language;
00058 rcc_ui_charset_frame_name charset;
00059 rcc_ui_engine_frame_name engine;
00060 };
00061 typedef struct rcc_ui_page_name_t rcc_ui_page_name;
00062
00063 rcc_ui_page_name *rccUiGetDefaultPageName();
00064
00065
00066
00067
00068
00069
00070 typedef void *rcc_ui_widget;
00071 typedef void *rcc_ui_box;
00072 typedef void *rcc_ui_frame;
00073 typedef void *rcc_ui_page;
00074
00078 int rccUiInit();
00084 void rccUiFree();
00085
00093 rcc_ui_context rccUiCreateContext(rcc_context rccctx);
00099 void rccUiFreeContext(rcc_ui_context ctx);
00100
00106 int rccUiRestoreLanguage(rcc_ui_context ctx);
00112 int rccUiRestore(rcc_ui_context ctx);
00118 int rccUiUpdate(rcc_ui_context ctx);
00119
00120 rcc_ui_widget rccUiGetLanguageMenu(rcc_ui_context ctx);
00121 rcc_ui_widget rccUiGetCharsetMenu(rcc_ui_context ctx, rcc_class_id id);
00122 rcc_ui_widget rccUiGetEngineMenu(rcc_ui_context ctx);
00123 rcc_ui_widget rccUiGetOptionMenu(rcc_ui_context ctx, rcc_option option);
00124
00125 rcc_ui_box rccUiGetLanguageBox(rcc_ui_context ctx, const char *title);
00126 rcc_ui_box rccUiGetCharsetBox(rcc_ui_context ctx, rcc_class_id id, const char *title);
00127 rcc_ui_box rccUiGetEngineBox(rcc_ui_context ctx, const char *title);
00128 rcc_ui_box rccUiGetOptionBox(rcc_ui_context ctx, rcc_option option, const char *title);
00129
00130 rcc_ui_frame rccUiGetLanguageFrame(rcc_ui_context ctx, rcc_ui_language_frame_name *name);
00131 rcc_ui_frame rccUiGetCharsetsFrame(rcc_ui_context ctx, rcc_ui_charset_frame_name *name);
00132 rcc_ui_frame rccUiGetEngineFrame(rcc_ui_context ctx, rcc_ui_engine_frame_name *name);
00133
00142 rcc_ui_page rccUiGetPage(rcc_ui_context ctx, rcc_ui_page_name *name);
00143
00144 #ifdef __cplusplus
00145 }
00146 #endif
00147
00148 #endif