Commit 10e28095e63fe5cc60e1f538c91aebe55de1c211

Authored by Perry Werneck
1 parent c94997e7
Exists in master and in 1 other branch develop

Starting implementation of abstract class for settings/preferences

dialogs.
src/dialogs/settings.c 0 → 100644
... ... @@ -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 + }
... ...
src/include/v3270/settings.h 0 → 100644
... ... @@ -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" />
... ...