/* * "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., 59 Temple * Place, Suite 330, Boston, MA, 02111-1307, USA * * Este programa está nomeado como gui.c e possui 88 linhas de código. * * Contatos: * * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) * licinio@bb.com.br (Licínio Luis Branco) * kraucer@bb.com.br (Kraucer Fernandes Mazuco) * macmiranda@bb.com.br (Marco Aurélio Caldas Miranda) * */ #include "rx3270.h" /*---[ Statics ]----------------------------------------------------------------------------------*/ GtkWidget *getWidget(LONG Argc, RXSTRING Argv[]) { GtkWidget *widget = NULL; Trace("%s(%s)",__FUNCTION__,Argv[Argc].strptr); if(sscanf(Argv[Argc].strptr, "%p", &widget) != 1) return NULL; Trace("Widget: %p (is widget: %s)",widget,GTK_IS_WIDGET(widget) ? "yes" : "no"); if(!widget) return NULL; if(!GTK_IS_WIDGET(widget)) return NULL; return widget; } GtkMessageType getMessageDialogType(const char *arg) { static const struct _msgtype { const gchar *name; GtkMessageType type; } msgtype[] = { { "INFO", GTK_MESSAGE_INFO }, { "WARNING", GTK_MESSAGE_WARNING }, { "QUESTION", GTK_MESSAGE_QUESTION }, { "ERROR", GTK_MESSAGE_ERROR } }; int f; for(f = 0; f < G_N_ELEMENTS(msgtype); f++) { if(!g_ascii_strncasecmp(msgtype[f].name,arg,strlen(msgtype[f].name))) { Trace("Messagetype: %s (%d)",msgtype[f].name,(int) msgtype[f].type); return msgtype[f].type; } } return GTK_MESSAGE_OTHER; } RexxReturnCode RetGtkResponse(PRXSTRING Retstr, GtkResponseType type) { static const struct _rsptype { GtkResponseType type; const gchar *ret; } rsptype[] = { { GTK_RESPONSE_NONE, "NONE" }, { GTK_RESPONSE_REJECT, "REJECT" }, { GTK_RESPONSE_ACCEPT, "ACCEPT" }, { GTK_RESPONSE_DELETE_EVENT, "DELETED" }, { GTK_RESPONSE_OK, "OK" }, { GTK_RESPONSE_CANCEL, "CANCEL" }, { GTK_RESPONSE_CLOSE, "CLOSE" }, { GTK_RESPONSE_YES, "YES" }, { GTK_RESPONSE_NO, "NO" }, { GTK_RESPONSE_APPLY, "APPLY" }, { GTK_RESPONSE_HELP, "HELP" }, }; int f; for(f=0;f