1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
/* IupGetParam Example in C
Shows a dialog with all the possible fields.
*/
#include <stdlib.h>
#include <stdio.h>
#include <iup.h>
#include <iupcontrols.h>
static int param_action(Ihandle* dialog, int param_index, void* user_data)
{
switch(param_index)
{
case -1:
printf("IupGetParam - OK\n");
break;
case -2:
printf("IupGetParam - Map\n");
break;
case -3:
printf("IupGetParam - Cancel\n");
break;
case -4:
printf("IupGetParam - Help\n");
break;
// case 1:
// return 0;
default:
{
Ihandle* param;
char param_str[50];
sprintf(param_str, "PARAM%d", param_index);
param = (Ihandle*)IupGetAttribute(dialog, param_str);
printf("%s = %s\n", param_str, IupGetAttribute(param, "VALUE"));
break;
}
}
return 1;
}
void GetParamTest(void)
{
int pboolean = 1;
int pinteger = 3456;
float preal = 3.543f;
int pinteger2 = 192;
float preal2 = 0.5f;
float pangle = 90;
char pstring[100] = "string text";
char pcolor[100] = "255 0 128";
int plist = 2;
char pstring2[200] = "second text\nsecond line";
char file_name[500] = "test.jpg";
if (!IupGetParam("Title", param_action, 0,
"Bt %u[, MyCancel, Help!]\n"
"Boolean: %b[No,Yes]\n"
"Integer: %i\n"
"Real 1: %r\n"
"Sep1 %t\n"
"Integer: %i[0,255]\n"
"Real 2: %r[-1.5,1.5,0.05]\n"
"Sep2 %t\n"
"Angle: %a[0,360]\n"
"String: %s\n"
"List: %l|item1|item2|item3|\n"
"File: %f[OPEN|*.bmp;*.jpg|CURRENT|NO|NO]\n"
"Color: %c{Color Tip}\n"
"Sep3 %t\n"
"Multiline: %m\n",
&pboolean, &pinteger, &preal, &pinteger2, &preal2, &pangle, pstring, &plist, file_name, pcolor, pstring2, NULL))
return;
IupMessagef("IupGetParam",
"Boolean Value: %d\n"
"Integer: %d\n"
"Real 1: %g\n"
"Integer: %d\n"
"Real 2: %g\n"
"Angle: %g\n"
"String: %s\n"
"List Index: %d\n"
"FileName: %s\n"
"Color: %s\n"
"Multiline: %s",
pboolean, pinteger, (double)preal, pinteger2, (double)preal2, (double)pangle, pstring, plist, file_name, pcolor, pstring2);
}
#ifndef BIG_TEST
int main(int argc, char* argv[])
{
IupOpen(&argc, &argv);
GetParamTest();
IupMainLoop();
IupClose();
return EXIT_SUCCESS;
}
#endif
|