From ea28e89dde40350821964ab8f014862cfab793cd Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 22 Oct 2019 15:17:20 -0300 Subject: [PATCH] Implementing menu model object. --- src/include/pw3270/menu.h | 13 ++++++++++++- src/objects/menu/menu.cbp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/objects/menu/model.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 src/objects/menu/menu.cbp create mode 100644 src/objects/menu/model.c diff --git a/src/include/pw3270/menu.h b/src/include/pw3270/menu.h index ba29bc8..25e3455 100644 --- a/src/include/pw3270/menu.h +++ b/src/include/pw3270/menu.h @@ -28,7 +28,7 @@ */ /** - * @brief Declares the pw3270 Menu widgets. + * @brief Declares the pw3270 Menu Objects. * */ @@ -40,6 +40,17 @@ G_BEGIN_DECLS + #define PW3270_TYPE_MENU_MODEL (pw3270MenuModel_get_type()) + #define PW3270_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), PW3270_TYPE_MENU_MODEL, pw3270MenuModel)) + #define PW3270_MENU_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PW3270_TYPE_MENU_MODEL, pw3270MenuModelClass)) + #define PW3270_IS_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), PW3270_TYPE_MENU_MODEL)) + #define PW3270_IS_MENU_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PW3270_TYPE_MENU_MODEL)) + #define PW3270_MENU_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PW3270_TYPE_MENU_MODEL, pw3270MenuModelClass)) + + typedef struct _pw3270MenuModel pw3270MenuModel; + typedef struct _pw3270MenuModelClass pw3270MenuModelClass; + + GMenuModel * pw3270_menu_model_new(void); G_END_DECLS diff --git a/src/objects/menu/menu.cbp b/src/objects/menu/menu.cbp new file mode 100644 index 0000000..2c2d763 --- /dev/null +++ b/src/objects/menu/menu.cbp @@ -0,0 +1,53 @@ + + + + + + diff --git a/src/objects/menu/model.c b/src/objects/menu/model.c new file mode 100644 index 0000000..4adbee4 --- /dev/null +++ b/src/objects/menu/model.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 + + struct _pw3270MenuModel { + GMenuModel parent; + + }; + + struct _pw3270MenuModelClass { + GMenuModelClass parent_class; + + }; + + + void pw3270MenuModel_class_init(pw3270MenuModel *klass) { + + } + + void pw3270MenuModel_init(pw3270MenuModel *model) { + + } + + GMenuModel * pw3270_menu_model_new(void) { + + pw3270MenuModel * model = (pw3270MenuModel *) g_object_new(PW3270_TYPE_MENU_MODEL, NULL); + + + + return G_MENU_MODEL(model); + } -- libgit2 0.21.2