gwenhywfar 5.14.1
gtk3/libtest.c
Go to the documentation of this file.
1/***************************************************************************
2 begin : Sun May 16 2010
3 copyright : (C) 2010 by Martin Preuss
4 email : martin@libchipcard.de
5
6 ***************************************************************************
7 * Please see toplevel file COPYING for license details *
8 ***************************************************************************/
9
10
11#include "config.h" /* for OS_WIN32 */
12
13#include "gtk3_gui.h"
16
17#include <gwenhywfar/gwenhywfar.h>
18#include <gwenhywfar/gui.h>
19#include <gwenhywfar/dialog.h>
20#include <gwenhywfar/debug.h>
21
22#include <unistd.h>
23#include <locale.h>
24
25
26
27
28
29int test1(int argc, char **argv)
30{
31 GWEN_GUI *gui;
32 int rv;
33 GWEN_DIALOG *dlg;
34
35 rv=GWEN_Init();
36 if (rv) {
37 DBG_ERROR_ERR(0, rv);
38 return 2;
39 }
40
42
43 setlocale(LC_ALL, "");
44 gtk_init(&argc, &argv);
45
46 /* create GUI */
47 gui=Gtk3_Gui_new();
48 GWEN_Gui_SetGui(gui);
49
50 dlg=Dlg_Test1_new();
51 if (dlg==NULL) {
52 fprintf(stderr, "Could not create dialog.\n");
53 return 2;
54 }
55
56 rv=GWEN_Gui_ExecDialog(dlg, 0);
57 fprintf(stderr, "Result: %d\n", rv);
58
59 return 0;
60}
61
62
63
64
65
66int test2(int argc, char **argv)
67{
68 int rv;
69 uint32_t id1;
70 uint32_t id2;
71 uint64_t i1;
72 uint64_t i2;
73 GWEN_GUI *gui;
74
75 setlocale(LC_ALL, "");
76 gtk_init(&argc, &argv);
77
78 gui=Gtk3_Gui_new();
79 GWEN_Gui_SetGui(gui);
80
84 "Progress-Title",
85 "<html>"
86 "<p><b>This</b> is an example <i>text</i>..</p>"
87 "<p>As you can see <font color=red>colors</font> can "
88 "be used.</p>"
89 "</html>",
90 10,
91 0);
92 for (i1=1; i1<=10; i1++) {
93 char numbuf[128];
94
95 snprintf(numbuf, sizeof(numbuf)-1, "Step %d\n", (int)i1);
100 "2nd progress",
101 "Starting 2nd progress...",
102 10,
103 id1);
104 for (i2=1; i2<=10; i2++) {
105 sleep(1);
106 fprintf(stderr, "Advancing %d/%d\n", (int)i1, (int)i2);
107 rv=GWEN_Gui_ProgressAdvance(id2, i2);
108 if (rv==GWEN_ERROR_USER_ABORTED) {
109 fprintf(stderr, "Aborted by user (2)\n");
110 break;
111 }
112 }
114
115 rv=GWEN_Gui_ProgressAdvance(id1, i1);
116 if (rv==GWEN_ERROR_USER_ABORTED) {
117 fprintf(stderr, "Aborted by user (1)\n");
118 break;
119 }
120 }
121
123
124 return 0;
125}
126
127
128
129int test3(int argc, char **argv)
130{
131 GWEN_GUI *gui;
132 int rv;
133 GWEN_DIALOG *dlg;
134
135 rv=GWEN_Init();
136 if (rv) {
137 DBG_ERROR_ERR(0, rv);
138 return 2;
139 }
140
142
143 setlocale(LC_ALL, "");
144 gtk_init(&argc, &argv);
145
146 /* create GUI */
147 gui=Gtk3_Gui_new();
148 GWEN_Gui_SetGui(gui);
149
150 dlg=Dlg_Test2_new();
151 if (dlg==NULL) {
152 fprintf(stderr, "Could not create dialog.\n");
153 return 2;
154 }
155
156 rv=GWEN_Gui_ExecDialog(dlg, 0);
157 fprintf(stderr, "Result: %d\n", rv);
158
159 return 0;
160}
161
162
163
164
165
166int main(int argc, char **argv)
167{
168 if (argc>1) {
169 if (strcasecmp(argv[1], "1")==0)
170 return test1(argc, argv);
171 else if (strcasecmp(argv[1], "2")==0)
172 return test2(argc, argv);
173 else if (strcasecmp(argv[1], "3")==0)
174 return test3(argc, argv);
175 }
176 return test1(argc, argv);
177}
178
179
#define NULL
Definition binreloc.c:300
#define DBG_ERROR_ERR(dbg_logger, dbg_err)
Definition debug.h:113
struct GWEN_DIALOG GWEN_DIALOG
Definition dialog.h:54
GWEN_DIALOG * Dlg_Test2_new()
Definition dlg_test2.c:94
GWEN_DIALOG * Dlg_Test1_new()
Definition dlg_test.c:293
#define GWEN_ERROR_USER_ABORTED
Definition error.h:65
int main(int argc, char **argv)
int test3(int argc, char **argv)
int test2(int argc, char **argv)
GWEN_GUI * Gtk3_Gui_new()
Definition gtk3_gui.c:38
void GWEN_Gui_SetGui(GWEN_GUI *gui)
Definition gui.c:170
GWENHYWFAR_API int GWEN_Gui_ExecDialog(GWEN_DIALOG *dlg, uint32_t guiid)
#define GWEN_GUI_PROGRESS_DELAY
Definition gui.h:192
#define GWEN_GUI_PROGRESS_KEEP_OPEN
Definition gui.h:198
GWENHYWFAR_API uint32_t GWEN_Gui_ProgressStart(uint32_t progressFlags, const char *title, const char *text, uint64_t total, uint32_t guiid)
GWENHYWFAR_API int GWEN_Gui_ProgressEnd(uint32_t id)
GWENHYWFAR_API int GWEN_Gui_ProgressLog(uint32_t id, GWEN_LOGGER_LEVEL level, const char *text)
#define GWEN_GUI_PROGRESS_SHOW_ABORT
Definition gui.h:194
#define GWEN_GUI_PROGRESS_SHOW_LOG
Definition gui.h:193
GWENHYWFAR_API int GWEN_Gui_ProgressAdvance(uint32_t id, uint32_t progress)
struct GWEN_GUI GWEN_GUI
Definition gui.h:176
int GWEN_Init(void)
Definition gwenhywfar.c:92
int test1()
Definition libtest.m:63
void GWEN_Logger_SetLevel(const char *logDomain, GWEN_LOGGER_LEVEL l)
Definition logger.c:472
@ GWEN_LoggerLevel_Notice
Definition logger.h:67
@ GWEN_LoggerLevel_Info
Definition logger.h:68