Commit 10e28095e63fe5cc60e1f538c91aebe55de1c211
1 parent
c94997e7
Exists in
master
and in
1 other branch
Starting implementation of abstract class for settings/preferences
dialogs.
Showing
3 changed files
with
151 additions
and
3 deletions
Show diff stats
... | ... | @@ -0,0 +1,77 @@ |
1 | +/* | |
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | |
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | |
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | |
5 | + * | |
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | |
7 | + * | |
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | |
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | |
10 | + * Free Software Foundation. | |
11 | + * | |
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | |
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | |
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | |
15 | + * obter mais detalhes. | |
16 | + * | |
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | |
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin | |
19 | + * St, Fifth Floor, Boston, MA 02110-1301 USA | |
20 | + * | |
21 | + * Este programa está nomeado como - e possui - linhas de código. | |
22 | + * | |
23 | + * Contatos: | |
24 | + * | |
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | |
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | |
27 | + * | |
28 | + */ | |
29 | + | |
30 | + #include "private.h" | |
31 | + #include <v3270/settings.h> | |
32 | + #include <lib3270/log.h> | |
33 | + | |
34 | + G_DEFINE_TYPE(V3270Settings, V3270Settings, GTK_TYPE_GRID); | |
35 | + | |
36 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | |
37 | + | |
38 | +static void apply(GtkWidget *widget, GtkWidget *terminal) | |
39 | +{ | |
40 | + | |
41 | +} | |
42 | + | |
43 | +static void revert(GtkWidget *widget, GtkWidget *terminal) | |
44 | +{ | |
45 | + | |
46 | +} | |
47 | + | |
48 | +static void V3270Settings_class_init(V3270SettingsClass *klass) | |
49 | +{ | |
50 | + klass->apply = apply; | |
51 | + klass->revert = revert; | |
52 | +} | |
53 | + | |
54 | +static void V3270Settings_init(V3270Settings *widget) | |
55 | +{ | |
56 | + widget->terminal = NULL; | |
57 | +} | |
58 | + | |
59 | +LIB3270_EXPORT void v3270_settings_set_terminal_widget(GtkWidget *widget, GtkWidget *terminal) | |
60 | +{ | |
61 | + g_return_if_fail(GTK_IS_V3270(terminal)); | |
62 | + g_return_if_fail(GTK_IS_V3270_SETTINGS(widget)); | |
63 | + | |
64 | + GTK_V3270_SETTINGS(widget)->terminal = terminal; | |
65 | +} | |
66 | + | |
67 | + LIB3270_EXPORT void v3270_settings_apply(GtkWidget *widget) | |
68 | + { | |
69 | + g_return_if_fail(GTK_IS_V3270_SETTINGS(widget)); | |
70 | + GTK_V3270_SETTINGS_GET_CLASS(widget)->apply(widget,GTK_V3270_SETTINGS(widget)->terminal); | |
71 | + } | |
72 | + | |
73 | + LIB3270_EXPORT void v3270_settings_revert(GtkWidget *widget) | |
74 | + { | |
75 | + g_return_if_fail(GTK_IS_V3270_SETTINGS(widget)); | |
76 | + GTK_V3270_SETTINGS_GET_CLASS(widget)->revert(widget,GTK_V3270_SETTINGS(widget)->terminal); | |
77 | + } | ... | ... |
... | ... | @@ -0,0 +1,70 @@ |
1 | +/* | |
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | |
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | |
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | |
5 | + * | |
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | |
7 | + * | |
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | |
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | |
10 | + * Free Software Foundation. | |
11 | + * | |
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | |
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | |
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | |
15 | + * obter mais detalhes. | |
16 | + * | |
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | |
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin | |
19 | + * St, Fifth Floor, Boston, MA 02110-1301 USA | |
20 | + * | |
21 | + * Este programa está nomeado como - e possui - linhas de código. | |
22 | + * | |
23 | + * Contatos: | |
24 | + * | |
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | |
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | |
27 | + * | |
28 | + */ | |
29 | + | |
30 | +#ifndef V3270SETTINGS_H_INCLUDED | |
31 | + | |
32 | + #define V3270SETTINGS_H_INCLUDED 1 | |
33 | + | |
34 | + #include <gtk/gtk.h> | |
35 | + | |
36 | + G_BEGIN_DECLS | |
37 | + | |
38 | +/*--[ Progress widget ]------------------------------------------------------------------------------*/ | |
39 | + | |
40 | + #define GTK_TYPE_V3270_SETTINGS (V3270Settings_get_type ()) | |
41 | + #define GTK_V3270_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_V3270_SETTINGS, V3270Settings)) | |
42 | + #define GTK_V3270_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_V3270_SETTINGS, V3270SettingsClass)) | |
43 | + #define GTK_IS_V3270_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_V3270_SETTINGS)) | |
44 | + #define GTK_IS_V3270_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_V3270_SETTINGS)) | |
45 | + #define GTK_V3270_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_V3270_SETTINGS, V3270SettingsClass)) | |
46 | + | |
47 | + typedef struct _V3270Settings { | |
48 | + GtkGrid parent; | |
49 | + GtkWidget * terminal; | |
50 | + } V3270Settings; | |
51 | + | |
52 | + typedef struct _V3270SettingsClass { | |
53 | + GtkGridClass parent_class; | |
54 | + | |
55 | + void (*apply)(GtkWidget *widget, GtkWidget *terminal); | |
56 | + void (*revert)(GtkWidget *widget, GtkWidget *terminal); | |
57 | + | |
58 | + } V3270SettingsClass; | |
59 | + | |
60 | +/*--[ Prototypes ]-----------------------------------------------------------------------------------*/ | |
61 | + | |
62 | + LIB3270_EXPORT void v3270_settings_set_terminal_widget(GtkWidget *widget, GtkWidget *terminal); | |
63 | + LIB3270_EXPORT void v3270_settings_apply(GtkWidget *widget); | |
64 | + LIB3270_EXPORT void v3270_settings_revert(GtkWidget *widget); | |
65 | + | |
66 | + LIB3270_EXPORT void v3270_settings_dialog_run(GtkWidget *widget, GtkWidget *terminal); | |
67 | + | |
68 | + G_END_DECLS | |
69 | + | |
70 | +#endif // V3270SETTINGS_H_INCLUDED | ... | ... |
v3270.cbp
... | ... | @@ -60,9 +60,6 @@ |
60 | 60 | <Unit filename="src/dialogs/linux/select.c"> |
61 | 61 | <Option compilerVar="CC" /> |
62 | 62 | </Unit> |
63 | - <Unit filename="src/dialogs/pastefile.c"> | |
64 | - <Option compilerVar="CC" /> | |
65 | - </Unit> | |
66 | 63 | <Unit filename="src/dialogs/popups.c"> |
67 | 64 | <Option compilerVar="CC" /> |
68 | 65 | </Unit> |
... | ... | @@ -93,6 +90,9 @@ |
93 | 90 | <Unit filename="src/dialogs/security.c"> |
94 | 91 | <Option compilerVar="CC" /> |
95 | 92 | </Unit> |
93 | + <Unit filename="src/dialogs/settings.c"> | |
94 | + <Option compilerVar="CC" /> | |
95 | + </Unit> | |
96 | 96 | <Unit filename="src/dialogs/settingsdialog.c"> |
97 | 97 | <Option compilerVar="CC" /> |
98 | 98 | </Unit> |
... | ... | @@ -167,6 +167,7 @@ |
167 | 167 | <Unit filename="src/include/v3270/ftprogress.h" /> |
168 | 168 | <Unit filename="src/include/v3270/print.h" /> |
169 | 169 | <Unit filename="src/include/v3270/security.h" /> |
170 | + <Unit filename="src/include/v3270/settings.h" /> | |
170 | 171 | <Unit filename="src/include/v3270/trace.h" /> |
171 | 172 | <Unit filename="src/selection/copy.c"> |
172 | 173 | <Option compilerVar="CC" /> | ... | ... |