LibRCC
librccui.h
Go to the documentation of this file.
1 /*
2  LibRCC - public interface
3 
4  Copyright (C) 2005-2008 Suren A. Chilingaryan <csa@dside.dyndns.org>
5 
6  This library is free software; you can redistribute it and/or modify it
7  under the terms of the GNU Lesser General Public License version 2.1 or later
8  as published by the Free Software Foundation.
9 
10  This library is distributed in the hope that it will be useful, but WITHOUT
11  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #ifndef _LIBRCC_UI_H
21 #define _LIBRCC_UI_H
22 
23 #include <librcc.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 typedef struct rcc_ui_context_t *rcc_ui_context;
30 
31 /*******************************************************************************
32 ************************************ Names *************************************
33 *******************************************************************************/
34 
35 struct rcc_name_t {
36  const char *sn;
37  const char *name;
38 };
39 typedef struct rcc_name_t rcc_name;
40 
41 typedef const char *rcc_option_value_name;
42 typedef rcc_option_value_name *rcc_option_value_names;
43 
46  const char *name;
47  rcc_option_value_names value_names;
48 };
50 
51 int rccUiSetLanguageNames(rcc_ui_context ctx, rcc_name *names);
52 int rccUiSetCharsetNames(rcc_ui_context ctx, rcc_name *names);
53 int rccUiSetEngineNames(rcc_ui_context ctx, rcc_name *names);
54 
55 int rccUiSetOptionNames(rcc_ui_context ctx, rcc_option_name *names);
56 int rccUiSetClassNames(rcc_ui_context ctx);
57 
58 /* page & boxes */
59 typedef const char *rcc_ui_box_name;
61  const char *title;
62  rcc_ui_box_name language;
63 };
66  const char *title;
67 };
70  const char *title;
71  rcc_ui_box_name engine;
72 };
75  const char *title;
79 };
81 
83 
84 const char *rccUiGetLanguageName(rcc_ui_context ctx, rcc_language_id language_id);
85 const char *rccUiGetClassName(rcc_ui_context ctx, rcc_class_id class_id);
86 const char *rccUiGetCharsetName(rcc_ui_context ctx, rcc_language_id language_id, rcc_class_id class_id, rcc_charset_id charset_id);
87 const char *rccUiGetEngineName(rcc_ui_context ctx, rcc_language_id language_id, rcc_engine_id engine_id);
88 const char *rccUiGetOptionName(rcc_ui_context ctx, rcc_option option);
89 const char *rccUiGetOptionValueName(rcc_ui_context ctx, rcc_option option, rcc_option_value value);
90 
91 /*******************************************************************************
92 ************************************ API ***************************************
93 *******************************************************************************/
94 
95 typedef void *rcc_ui_widget;
96 typedef void *rcc_ui_box;
97 typedef void *rcc_ui_frame;
98 typedef void *rcc_ui_page;
99 
103 int rccUiInit();
109 void rccUiFree();
110 
118 rcc_ui_context rccUiCreateContext(rcc_context rccctx);
124 void rccUiFreeContext(rcc_ui_context ctx);
125 
126 int rccUiHideOption(rcc_ui_context ctx, rcc_option option);
127 int rccUiUnHideOption(rcc_ui_context ctx, rcc_option option);
128 
134 int rccUiRestoreLanguage(rcc_ui_context ctx);
140 int rccUiRestore(rcc_ui_context ctx);
146 int rccUiUpdate(rcc_ui_context ctx);
147 
148 rcc_ui_widget rccUiGetLanguageMenu(rcc_ui_context ctx);
149 rcc_ui_widget rccUiGetCharsetMenu(rcc_ui_context ctx, rcc_class_id id);
150 rcc_ui_widget rccUiGetEngineMenu(rcc_ui_context ctx);
151 rcc_ui_widget rccUiGetOptionMenu(rcc_ui_context ctx, rcc_option option);
152 
153 rcc_ui_box rccUiGetLanguageBox(rcc_ui_context ctx, const char *title);
154 rcc_ui_box rccUiGetCharsetBox(rcc_ui_context ctx, rcc_class_id id, const char *title);
155 rcc_ui_box rccUiGetEngineBox(rcc_ui_context ctx, const char *title);
156 rcc_ui_box rccUiGetOptionBox(rcc_ui_context ctx, rcc_option option, const char *title);
157 
158 rcc_ui_frame rccUiGetLanguageFrame(rcc_ui_context ctx, rcc_ui_language_frame_name *name);
159 rcc_ui_frame rccUiGetCharsetsFrame(rcc_ui_context ctx, rcc_ui_charset_frame_name *name);
160 rcc_ui_frame rccUiGetEngineFrame(rcc_ui_context ctx, rcc_ui_engine_frame_name *name);
161 
170 rcc_ui_page rccUiGetPage(rcc_ui_context ctx, rcc_ui_page_name *name);
171 
172 #ifdef __cplusplus
173 }
174 #endif
175 
176 #endif /* _LIBRCC_UI_H */
int rccUiRestoreLanguage(rcc_ui_context ctx)
void * rcc_ui_frame
Definition: librccui.h:97
int rcc_option_value
Definition: librcc.h:436
rcc_ui_widget rccUiGetLanguageMenu(rcc_ui_context ctx)
rcc_ui_page rccUiGetPage(rcc_ui_context ctx, rcc_ui_page_name *name)
int rccUiSetClassNames(rcc_ui_context ctx)
rcc_option option
Definition: librccui.h:45
rcc_ui_charset_frame_name charset
Definition: librccui.h:77
Definition: librccui.h:44
const char * rccUiGetLanguageName(rcc_ui_context ctx, rcc_language_id language_id)
int rccUiSetCharsetNames(rcc_ui_context ctx, rcc_name *names)
rcc_ui_language_frame_name language
Definition: librccui.h:76
const char * rccUiGetOptionName(rcc_ui_context ctx, rcc_option option)
rcc_ui_box rccUiGetCharsetBox(rcc_ui_context ctx, rcc_class_id id, const char *title)
Definition: librccui.h:60
const char * rcc_ui_box_name
Definition: librccui.h:59
void * rcc_ui_widget
Definition: librccui.h:95
const char * rccUiGetEngineName(rcc_ui_context ctx, rcc_language_id language_id, rcc_engine_id engine_id)
const char * rccUiGetOptionValueName(rcc_ui_context ctx, rcc_option option, rcc_option_value value)
const char * name
Definition: librccui.h:46
struct rcc_context_t * rcc_context
Definition: librcc.h:78
rcc_ui_widget rccUiGetOptionMenu(rcc_ui_context ctx, rcc_option option)
Definition: librccui.h:35
int rccUiSetOptionNames(rcc_ui_context ctx, rcc_option_name *names)
rcc_ui_engine_frame_name engine
Definition: librccui.h:78
const char * sn
Definition: librccui.h:36
const char * rcc_option_value_name
Definition: librccui.h:41
Definition: librccui.h:74
unsigned char rcc_charset_id
Definition: librcc.h:58
rcc_ui_page_name * rccUiGetDefaultPageName()
rcc_ui_box_name engine
Definition: librccui.h:71
rcc_ui_context rccUiCreateContext(rcc_context rccctx)
void * rcc_ui_page
Definition: librccui.h:98
const char * title
Definition: librccui.h:70
rcc_ui_widget rccUiGetEngineMenu(rcc_ui_context ctx)
void * rcc_ui_box
Definition: librccui.h:96
Definition: librccui.h:69
rcc_ui_box rccUiGetOptionBox(rcc_ui_context ctx, rcc_option option, const char *title)
int rccUiSetLanguageNames(rcc_ui_context ctx, rcc_name *names)
rcc_option_value_name * rcc_option_value_names
Definition: librccui.h:42
unsigned char rcc_engine_id
Definition: librcc.h:71
const char * name
Definition: librccui.h:37
int rcc_class_id
Definition: librcc.h:75
int rccUiHideOption(rcc_ui_context ctx, rcc_option option)
int rccUiUpdate(rcc_ui_context ctx)
const char * title
Definition: librccui.h:75
const char * rccUiGetCharsetName(rcc_ui_context ctx, rcc_language_id language_id, rcc_class_id class_id, rcc_charset_id charset_id)
unsigned char rcc_language_id
Definition: librcc.h:43
int rccUiRestore(rcc_ui_context ctx)
int rccUiSetEngineNames(rcc_ui_context ctx, rcc_name *names)
rcc_ui_frame rccUiGetCharsetsFrame(rcc_ui_context ctx, rcc_ui_charset_frame_name *name)
rcc_ui_box rccUiGetLanguageBox(rcc_ui_context ctx, const char *title)
enum rcc_option_t rcc_option
rcc_ui_frame rccUiGetEngineFrame(rcc_ui_context ctx, rcc_ui_engine_frame_name *name)
const char * title
Definition: librccui.h:61
int rccUiInit()
int rccUiUnHideOption(rcc_ui_context ctx, rcc_option option)
rcc_ui_frame rccUiGetLanguageFrame(rcc_ui_context ctx, rcc_ui_language_frame_name *name)
Definition: librccui.h:65
void rccUiFreeContext(rcc_ui_context ctx)
rcc_ui_widget rccUiGetCharsetMenu(rcc_ui_context ctx, rcc_class_id id)
rcc_ui_box rccUiGetEngineBox(rcc_ui_context ctx, const char *title)
struct rcc_ui_context_t * rcc_ui_context
Definition: librccui.h:29
void rccUiFree()
const char * rccUiGetClassName(rcc_ui_context ctx, rcc_class_id class_id)
rcc_option_value_names value_names
Definition: librccui.h:47
const char * title
Definition: librccui.h:66
rcc_ui_box_name language
Definition: librccui.h:62