Subversion Repositories Kolibri OS

Rev

Rev 9587 | Rev 9810 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
8796 turbocat 1
#ifndef KOLIBRI_DIALOG_H
2
#define KOLIBRI_DIALOG_H
3
 
4
#include 
9620 turbocat 5
 
8796 turbocat 6
#define NOT_SUCCESS 0
7
#define SUCCESS 1
8
 
9
char sz_com_area_name[]    = "FFFFFFFF_open_dialog";
9587 vitalkrilo 10
char sz_dir_default_path[] = "/sys";
11
char sz_start_path[]       = "/sys/File managers/opendial";
8796 turbocat 12
 
13
char cd_com_area_name[]    = "FFFFFFFF_color_dialog";
9587 vitalkrilo 14
char cd_start_path[]       = "/sys/colrdial";
8796 turbocat 15
 
16
enum open_dialog_mode {
17
    OPEN,
18
    SAVE,
19
    SELECT
20
};
21
 
22
typedef struct {
23
	unsigned int size;
24
	unsigned char end;
25
}od_filter __attribute__ ((__packed__));
26
 
27
typedef struct {
28
    unsigned int mode;
29
    char* procinfo;
30
    char* com_area_name;
31
    unsigned int com_area;
32
    char* opendir_path;
33
    char* dir_default_path;
34
    char* start_path;
35
    void (*draw_window)();
36
    unsigned int status;
37
    char* openfile_path;
38
    char* filename_area;
39
    od_filter* filter_area;
40
    unsigned short x_size;
41
    unsigned short x_start;
42
    unsigned short y_size;
43
    unsigned short y_start;
44
}open_dialog __attribute__ ((__packed__));
45
 
46
 
47
typedef struct{
48
    unsigned int type;
49
    char* procinfo;
50
    char* com_area_name;
51
    unsigned int com_area;
52
    char* start_path;
53
    void (*draw_window)(void);
54
    unsigned int status;
55
    unsigned short x_size;
56
    unsigned short x_start;
57
    unsigned short y_size;
58
    unsigned short y_start;
59
    unsigned int color_type;
60
    unsigned int color;
61
}color_dialog __attribute__ ((__packed__));
62
 
63
void fake_on_redraw(void) {}
64
 
65
open_dialog* kolibri_new_open_dialog(unsigned int mode, unsigned short tlx, unsigned short tly, unsigned short x_size, unsigned short y_size)
66
{
67
    open_dialog *new_opendialog = (open_dialog *)malloc(sizeof(open_dialog));
68
    od_filter *new_od_filter = (od_filter *)malloc(sizeof(od_filter));
69
    char *plugin_path = (char *)calloc(4096, sizeof(char));
70
	char *openfile_path = (char *)calloc(4096, sizeof(char));
71
	char *proc_info = (char *)calloc(1024, sizeof(char));
72
	char *filename_area = (char *)calloc(256, sizeof(char));
73
 
74
	new_od_filter -> size = 0;
75
	new_od_filter -> end = 0;
76
 
77
	new_opendialog -> mode = mode;
78
	new_opendialog -> procinfo = proc_info;
79
	new_opendialog -> com_area_name = sz_com_area_name;
80
	new_opendialog -> com_area = 0;
81
	new_opendialog -> opendir_path = plugin_path;
82
	new_opendialog -> dir_default_path = sz_dir_default_path;
83
	new_opendialog -> start_path = sz_start_path;
84
	new_opendialog -> draw_window = &fake_on_redraw;
85
	new_opendialog -> status = 0;
86
	new_opendialog -> openfile_path = openfile_path;
87
	new_opendialog -> filename_area = filename_area;
88
	new_opendialog -> filter_area = new_od_filter;
89
	new_opendialog -> x_size = x_size;
90
	new_opendialog -> x_start = tlx;
91
	new_opendialog -> y_size = y_size;
92
	new_opendialog -> y_start = tly;
93
	return new_opendialog;
94
}
95
 
96
void cd_fake_on_redraw(void) {}
97
 
98
color_dialog* kolibri_new_color_dialog(unsigned int type, unsigned short tlx, unsigned short tly, unsigned short x_size, unsigned short y_size)
99
{
100
    color_dialog *new_colordialog = (color_dialog *)malloc(sizeof(color_dialog));
101
    char *proc_info = (char *)calloc(1024, sizeof(char));
102
 
103
	new_colordialog -> type = type;
104
	new_colordialog -> procinfo = proc_info;
105
	new_colordialog -> com_area_name = cd_com_area_name;
106
	new_colordialog -> com_area = 0;
107
	new_colordialog -> start_path = cd_start_path;
108
	new_colordialog -> draw_window = &cd_fake_on_redraw;
109
	new_colordialog -> status = 0;
110
	new_colordialog -> x_size = x_size;
111
	new_colordialog -> x_start = tlx;
112
	new_colordialog -> y_size = y_size;
113
	new_colordialog -> y_start = tly;
114
	new_colordialog -> color_type = 0;
115
	new_colordialog -> color = 0;
116
	return new_colordialog;
117
}
118
 
9620 turbocat 119
void kolibri_dialog_init();
8796 turbocat 120
 
9620 turbocat 121
extern void __stdcall (*OpenDialog_init)(open_dialog *);
122
extern void __stdcall (*OpenDialog_start)(open_dialog *);
8796 turbocat 123
 
9620 turbocat 124
extern void __stdcall (*ColorDialog_init)(color_dialog *);
125
extern void __stdcall (*ColorDialog_start)(color_dialog *);
9558 turbocat 126
 
8796 turbocat 127
#endif