Main Page | Compound List | File List | Compound Members | File Members

librccui.h

Go to the documentation of this file.
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 ************************************ Names *************************************
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 /* page & boxes */
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 ************************************ API ***************************************
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 /* _LIBRCC_UI_H */

Generated on Wed Jul 20 12:37:00 2005 for LibRCC by doxygen 1.3.3