From d95ed4b5dff6c1ca7a154df9216dffe4f6b70b6a Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 18 Oct 2019 17:00:52 -0300 Subject: [PATCH] Starting the terminal widget. --- src/widgets/terminal/init.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ src/widgets/terminal/private.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/widgets/terminal/terminal.cbp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/widgets/window/core.c | 58 ---------------------------------------------------------- src/widgets/window/init.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/widgets/window/window.cbp | 2 +- 6 files changed, 216 insertions(+), 59 deletions(-) create mode 100644 src/widgets/terminal/init.c create mode 100644 src/widgets/terminal/private.h create mode 100644 src/widgets/terminal/terminal.cbp delete mode 100644 src/widgets/window/core.c create mode 100644 src/widgets/window/init.c diff --git a/src/widgets/terminal/init.c b/src/widgets/terminal/init.c new file mode 100644 index 0000000..49971e7 --- /dev/null +++ b/src/widgets/terminal/init.c @@ -0,0 +1,49 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como - e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include "private.h" + + G_DEFINE_TYPE(pw3270Terminal, pw3270Terminal, GTK_TYPE_V3270); + + static void pw3270Terminal_class_init(pw3270TerminalClass *klass) { + + } + + static void pw3270Terminal_init(pw3270Terminal *widget) { + + + } + + GtkWidget * pw3270_application_window_new(GtkApplication * application) { + + g_return_val_if_fail(GTK_IS_APPLICATION(application), NULL); + return g_object_new(PW3270_TYPE_APPLICATION_WINDOW, "application", application, NULL); + + } + diff --git a/src/widgets/terminal/private.h b/src/widgets/terminal/private.h new file mode 100644 index 0000000..db480cb --- /dev/null +++ b/src/widgets/terminal/private.h @@ -0,0 +1,62 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como - e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + +#ifndef PRIVATE_H_INCLUDED + + #define PRIVATE_H_INCLUDED + + #include + + #ifndef GETTEXT_PACKAGE + #define GETTEXT_PACKAGE PACKAGE_NAME + #endif + + #include + #include + #include + + #include + #include + #include + #include + + struct _pwTerminalWindow { + + v3270 parent; + + + }; + + struct _pw3270TerminalWindowClass { + + v3270Class parent_class; + + }; + +#endif // PRIVATE_H_INCLUDED diff --git a/src/widgets/terminal/terminal.cbp b/src/widgets/terminal/terminal.cbp new file mode 100644 index 0000000..f4e7561 --- /dev/null +++ b/src/widgets/terminal/terminal.cbp @@ -0,0 +1,46 @@ + + + + + + diff --git a/src/widgets/window/core.c b/src/widgets/window/core.c deleted file mode 100644 index 4a22dd1..0000000 --- a/src/widgets/window/core.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Este programa está nomeado como - e possui - linhas de código. - * - * Contatos: - * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * - */ - - #include "private.h" - - G_DEFINE_TYPE(pw3270ApplicationWindow, pw3270ApplicationWindow, GTK_TYPE_APPLICATION_WINDOW); - - static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *klass) { - - } - - static void pw3270ApplicationWindow_init(pw3270ApplicationWindow *widget) { - - widget->notebook = GTK_NOTEBOOK(gtk_notebook_new()); - - gtk_notebook_set_show_tabs(widget->notebook,FALSE); - gtk_notebook_set_show_border(widget->notebook, FALSE); - - widget->terminal = pw3270_terminal_new(GTK_WIDGET(widget)); - - gtk_container_add(GTK_CONTAINER(widget),GTK_WIDGET(widget->notebook)); - gtk_widget_show_all(GTK_WIDGET(widget)); - - } - - GtkWidget * pw3270_application_window_new(GtkApplication * application) { - - g_return_val_if_fail(GTK_IS_APPLICATION(application), NULL); - return g_object_new(PW3270_TYPE_APPLICATION_WINDOW, "application", application, NULL); - - } - diff --git a/src/widgets/window/init.c b/src/widgets/window/init.c new file mode 100644 index 0000000..4a22dd1 --- /dev/null +++ b/src/widgets/window/init.c @@ -0,0 +1,58 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como - e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include "private.h" + + G_DEFINE_TYPE(pw3270ApplicationWindow, pw3270ApplicationWindow, GTK_TYPE_APPLICATION_WINDOW); + + static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *klass) { + + } + + static void pw3270ApplicationWindow_init(pw3270ApplicationWindow *widget) { + + widget->notebook = GTK_NOTEBOOK(gtk_notebook_new()); + + gtk_notebook_set_show_tabs(widget->notebook,FALSE); + gtk_notebook_set_show_border(widget->notebook, FALSE); + + widget->terminal = pw3270_terminal_new(GTK_WIDGET(widget)); + + gtk_container_add(GTK_CONTAINER(widget),GTK_WIDGET(widget->notebook)); + gtk_widget_show_all(GTK_WIDGET(widget)); + + } + + GtkWidget * pw3270_application_window_new(GtkApplication * application) { + + g_return_val_if_fail(GTK_IS_APPLICATION(application), NULL); + return g_object_new(PW3270_TYPE_APPLICATION_WINDOW, "application", application, NULL); + + } + diff --git a/src/widgets/window/window.cbp b/src/widgets/window/window.cbp index 5d6dde6..b55292d 100644 --- a/src/widgets/window/window.cbp +++ b/src/widgets/window/window.cbp @@ -40,7 +40,7 @@ - + -- libgit2 0.21.2