From 03b30baf2871ad8890ee9a267a7684531100788e Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Tue, 23 Jul 2013 01:07:53 +0000 Subject: [PATCH] Ajustando linefeeds, iniciando modernizacao do dialogo de hostname --- src/include/lib3270.h | 3 ++- src/include/lib3270/log.h | 4 ++-- src/include/pw3270/hllapi.h | 70 +++++++++++++++++++++++++++++++++++----------------------------------- src/include/pw3270/ipcpackets.h | 251 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------- src/include/pw3270/v3270.h | 2 +- src/lib3270/host.c | 2 +- src/lib3270/kybd.c | 4 ++-- src/lib3270/macros.c | 4 ++-- src/lib3270/screen.c | 4 ++-- src/lib3270/selection.c | 6 +++--- src/lib3270/toggles.c | 12 ++++++++---- src/plugins/rx3270/rx3270.h | 20 +++++++++++--------- src/pw3270/actions.c | 8 ++++---- src/pw3270/common/config.c | 1 - src/pw3270/filetransfer.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------- src/pw3270/hostdialog.c | 36 ++++++++++++++++++++++++------------ src/pw3270/main.c | 6 +++--- src/pw3270/plugin.c | 60 ++++++++++++++++++++++++++++++------------------------------ src/pw3270/print.c | 1 + src/pw3270/trace.c | 304 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------- src/pw3270/uiparser/button.c | 26 +++++++++++++------------- src/pw3270/uiparser/keypad.c | 42 +++++++++++++++++++++--------------------- src/pw3270/uiparser/keypad.h | 10 +++++----- src/pw3270/uiparser/private.h | 2 +- src/pw3270/v3270/macros.c | 78 +++++++++++++++++++++++++++++++++++++++--------------------------------------- 25 files changed, 548 insertions(+), 526 deletions(-) diff --git a/src/include/lib3270.h b/src/include/lib3270.h index 35658c7..fa26f2b 100644 --- a/src/include/lib3270.h +++ b/src/include/lib3270.h @@ -567,7 +567,8 @@ * @param h Session handle. * @param ix Toggle id. * @param value New toggle state (non zero for true). - * * @returns 0 if the toggle is already at the state, 1 if the toggle was changed; < 0 on invalid toggle id + * + * @returns 0 if the toggle is already at the state, 1 if the toggle was changed; < 0 on invalid toggle id */ LIB3270_EXPORT int lib3270_set_toggle(H3270 *h, LIB3270_TOGGLE ix, int value); diff --git a/src/include/lib3270/log.h b/src/include/lib3270/log.h index e30005b..c9b31c3 100644 --- a/src/include/lib3270/log.h +++ b/src/include/lib3270/log.h @@ -49,7 +49,7 @@ #define trace(x, ...) // __VA_ARGS__ #else - + #ifdef __cplusplus extern "C" { #endif @@ -65,7 +65,7 @@ #else #define trace(x, ...) // __VA_ARGS__ #endif - + #ifdef __cplusplus } #endif diff --git a/src/include/pw3270/hllapi.h b/src/include/pw3270/hllapi.h index ffd04af..2295b94 100644 --- a/src/include/pw3270/hllapi.h +++ b/src/include/pw3270/hllapi.h @@ -42,9 +42,9 @@ extern "C" { /* Function codes */ #define HLLAPI_CMD_CONNECTPS 1 /**< connect presentation space */ - #define HLLAPI_CMD_DISCONNECTPS 2 /**< disconnect presentation space */ + #define HLLAPI_CMD_DISCONNECTPS 2 /**< disconnect presentation space */ #define HLLAPI_CMD_INPUTSTRING 3 /**< send string */ - #define HLLAPI_CMD_WAIT 4 /**< Wait if the session is waiting for a host response */ + #define HLLAPI_CMD_WAIT 4 /**< Wait if the session is waiting for a host response */ #define HLLAPI_CMD_COPYPS 5 /**< Copies the contents of the presentation space into a string buffer. */ #define HLLAPI_CMD_SEARCHPS 6 /**< Search the presentation space for a specified string. */ #define HLLAPI_CMD_QUERYCURSOR 7 /**< Determines the location of the cursor in the presentation space. */ @@ -58,49 +58,49 @@ extern "C" { /* Result codes */ - #define HLLAPI_STATUS_SUCCESS 0 /**< Good return code */ + #define HLLAPI_STATUS_SUCCESS 0 /**< Good return code */ #define HLLAPI_STATUS_DISCONNECTED 1 /**< The presentation space was not valid or not connected. */ - #define HLLAPI_STATUS_BAD_PARAMETER 2 /**< An incorrect option was specified. */ - #define HLLAPI_STATUS_TIMEOUT 4 /**< Timeout */ + #define HLLAPI_STATUS_BAD_PARAMETER 2 /**< An incorrect option was specified. */ + #define HLLAPI_STATUS_TIMEOUT 4 /**< Timeout */ #define HLLAPI_STATUS_KEYBOARD_LOCKED 5 /**< The keyboard is locked. */ - #define HLLAPI_STATUS_UNAVAILABLE 11 /**< Resource unavailable at this time */ + #define HLLAPI_STATUS_UNAVAILABLE 11 /**< Resource unavailable at this time */ #define HLLAPI_STATUS_SYSTEM_ERROR 9 /**< A system error occurred */ #define HLLAPI_STATUS_WAITING HLLAPI_STATUS_TIMEOUT #ifdef _WIN32 - // http://www.mingw.org/wiki/Visual_Basic_DLL - __declspec (dllexport) int __stdcall hllapi(const LPWORD func, LPSTR str, LPWORD length, LPWORD rc); - + // http://www.mingw.org/wiki/Visual_Basic_DLL + __declspec (dllexport) int __stdcall hllapi(const LPWORD func, LPSTR str, LPWORD length, LPWORD rc); + __declspec (dllexport) DWORD __stdcall hllapi_init(LPSTR mode); - __declspec (dllexport) DWORD __stdcall hllapi_deinit(void); - - __declspec (dllexport) DWORD __stdcall hllapi_get_revision(void); - __declspec (dllexport) DWORD __stdcall hllapi_get_datadir(LPSTR datadir); - - __declspec (dllexport) DWORD __stdcall hllapi_connect(LPSTR uri, WORD wait); - __declspec (dllexport) DWORD __stdcall hllapi_disconnect(void); - __declspec (dllexport) DWORD __stdcall hllapi_get_message_id(void); - __declspec (dllexport) DWORD __stdcall hllapi_is_connected(void); - __declspec (dllexport) DWORD __stdcall hllapi_get_state(void); - __declspec (dllexport) DWORD __stdcall hllapi_get_screen_at(WORD row, WORD col, LPSTR buffer); - __declspec (dllexport) DWORD __stdcall hllapi_get_screen(WORD pos, LPSTR buffer, WORD len); - __declspec (dllexport) DWORD __stdcall hllapi_enter(void); - __declspec (dllexport) DWORD __stdcall hllapi_set_text_at(WORD row, WORD col, LPSTR text); + __declspec (dllexport) DWORD __stdcall hllapi_deinit(void); + + __declspec (dllexport) DWORD __stdcall hllapi_get_revision(void); + __declspec (dllexport) DWORD __stdcall hllapi_get_datadir(LPSTR datadir); + + __declspec (dllexport) DWORD __stdcall hllapi_connect(LPSTR uri, WORD wait); + __declspec (dllexport) DWORD __stdcall hllapi_disconnect(void); + __declspec (dllexport) DWORD __stdcall hllapi_get_message_id(void); + __declspec (dllexport) DWORD __stdcall hllapi_is_connected(void); + __declspec (dllexport) DWORD __stdcall hllapi_get_state(void); + __declspec (dllexport) DWORD __stdcall hllapi_get_screen_at(WORD row, WORD col, LPSTR buffer); + __declspec (dllexport) DWORD __stdcall hllapi_get_screen(WORD pos, LPSTR buffer, WORD len); + __declspec (dllexport) DWORD __stdcall hllapi_enter(void); + __declspec (dllexport) DWORD __stdcall hllapi_set_text_at(WORD row, WORD col, LPSTR text); __declspec (dllexport) DWORD __stdcall hllapi_cmp_text_at(WORD row, WORD col, LPSTR text); __declspec (dllexport) DWORD __stdcall hllapi_emulate_input(LPSTR buffer, WORD len, WORD pasting); - __declspec (dllexport) DWORD __stdcall hllapi_wait_for_ready(WORD seconds); - __declspec (dllexport) DWORD __stdcall hllapi_wait(WORD seconds); - __declspec (dllexport) DWORD __stdcall hllapi_pfkey(WORD key); - __declspec (dllexport) DWORD __stdcall hllapi_pakey(WORD key); - __declspec (dllexport) DWORD __stdcall hllapi_setcursor(WORD key); - __declspec (dllexport) DWORD __stdcall hllapi_getcursor(); - __declspec (dllexport) DWORD __stdcall hllapi_erase_eof(void); - __declspec (dllexport) DWORD __stdcall hllapi_print(void); - -#else - - #error NOT IMPLEMENTED + __declspec (dllexport) DWORD __stdcall hllapi_wait_for_ready(WORD seconds); + __declspec (dllexport) DWORD __stdcall hllapi_wait(WORD seconds); + __declspec (dllexport) DWORD __stdcall hllapi_pfkey(WORD key); + __declspec (dllexport) DWORD __stdcall hllapi_pakey(WORD key); + __declspec (dllexport) DWORD __stdcall hllapi_setcursor(WORD key); + __declspec (dllexport) DWORD __stdcall hllapi_getcursor(); + __declspec (dllexport) DWORD __stdcall hllapi_erase_eof(void); + __declspec (dllexport) DWORD __stdcall hllapi_print(void); + +#else + + #error NOT IMPLEMENTED #endif // _WIN32 diff --git a/src/include/pw3270/ipcpackets.h b/src/include/pw3270/ipcpackets.h index 2e0ceb0..27db5cc 100644 --- a/src/include/pw3270/ipcpackets.h +++ b/src/include/pw3270/ipcpackets.h @@ -27,138 +27,141 @@ * */ - typedef enum _hllapi_packet - { - HLLAPI_PACKET_CONNECT, - HLLAPI_PACKET_DISCONNECT, - HLLAPI_PACKET_GET_PROGRAM_MESSAGE, - HLLAPI_PACKET_GET_TEXT_AT_OFFSET, - HLLAPI_PACKET_GET_TEXT_AT, - HLLAPI_PACKET_SET_TEXT_AT, - HLLAPI_PACKET_CMP_TEXT_AT, - HLLAPI_PACKET_ENTER, - HLLAPI_PACKET_PFKEY, - HLLAPI_PACKET_PAKEY, - HLLAPI_PACKET_SET_CURSOR_POSITION, - HLLAPI_PACKET_GET_CURSOR_POSITION, - HLLAPI_PACKET_INPUT_STRING, + typedef enum _hllapi_packet + { + HLLAPI_PACKET_CONNECT, + HLLAPI_PACKET_DISCONNECT, + HLLAPI_PACKET_GET_PROGRAM_MESSAGE, + HLLAPI_PACKET_GET_TEXT_AT_OFFSET, + HLLAPI_PACKET_GET_TEXT_AT, + HLLAPI_PACKET_SET_TEXT_AT, + HLLAPI_PACKET_CMP_TEXT_AT, + HLLAPI_PACKET_ENTER, + HLLAPI_PACKET_PFKEY, + HLLAPI_PACKET_PAKEY, + HLLAPI_PACKET_SET_CURSOR_POSITION, + HLLAPI_PACKET_GET_CURSOR_POSITION, + HLLAPI_PACKET_INPUT_STRING, HLLAPI_PACKET_IS_CONNECTED, HLLAPI_PACKET_SET_CURSOR, HLLAPI_PACKET_GET_CURSOR, HLLAPI_PACKET_EMULATE_INPUT, HLLAPI_PACKET_ERASE_EOF, - HLLAPI_PACKET_PRINT, - HLLAPI_PACKET_GET_CSTATE, - HLLAPI_PACKET_IS_READY, HLLAPI_PACKET_SET_TOGGLE, - HLLAPI_PACKET_FIELD_START, + HLLAPI_PACKET_PRINT, + HLLAPI_PACKET_GET_CSTATE, + HLLAPI_PACKET_IS_READY, + HLLAPI_PACKET_SET_TOGGLE, + HLLAPI_PACKET_FIELD_START, HLLAPI_PACKET_FIELD_LEN, HLLAPI_PACKET_NEXT_UNPROTECTED, - HLLAPI_PACKET_QUIT, - - HLLAPI_PACKET_INVALID - - } HLLAPI_PACKET; - -#pragma pack(1) - -struct hllapi_packet_result -{ - int rc; -}; - -struct hllapi_packet_text_result -{ - int rc; - char text[1]; -}; - -struct hllapi_packet_query -{ - unsigned char packet_id; -}; - -struct hllapi_packet_connect -{ - unsigned char packet_id; - unsigned char wait; - char hostname[1]; -}; - -struct hllapi_packet_keycode -{ - unsigned char packet_id; - unsigned short keycode; -}; - -struct hllapi_packet_cursor -{ - unsigned char packet_id; - unsigned short row; - unsigned short col; -}; - -struct hllapi_packet_text -{ - unsigned char packet_id; - char text[1]; -}; - -struct hllapi_packet_at -{ - unsigned char packet_id; - unsigned short row; - unsigned short col; - unsigned short len; -}; - -struct hllapi_packet_text_at -{ - unsigned char packet_id; - unsigned short row; - unsigned short col; - char text[1]; -}; - -struct hllapi_packet_query_at -{ - unsigned char packet_id; - unsigned short row; - unsigned short col; - unsigned short len; -}; - -struct hllapi_packet_wait -{ - unsigned char packet_id; - int timeout; -}; - -struct hllapi_packet_addr -{ - unsigned char packet_id; - unsigned short addr; -}; - -struct hllapi_packet_query_offset -{ - unsigned char packet_id; - unsigned short addr; - unsigned short len; -}; - -struct hllapi_packet_emulate_input -{ + HLLAPI_PACKET_QUIT, + + HLLAPI_PACKET_INVALID + + } HLLAPI_PACKET; + +#pragma pack(1) + +struct hllapi_packet_result +{ + int rc; +}; + +struct hllapi_packet_text_result +{ + int rc; + char text[1]; +}; + +struct hllapi_packet_query +{ + unsigned char packet_id; +}; + +struct hllapi_packet_connect +{ + unsigned char packet_id; + unsigned char wait; + char hostname[1]; +}; + +struct hllapi_packet_keycode +{ + unsigned char packet_id; + unsigned short keycode; +}; + +struct hllapi_packet_cursor +{ + unsigned char packet_id; + unsigned short row; + unsigned short col; +}; + +struct hllapi_packet_text +{ + unsigned char packet_id; + char text[1]; +}; + +struct hllapi_packet_at +{ + unsigned char packet_id; + unsigned short row; + unsigned short col; + unsigned short len; +}; + +struct hllapi_packet_text_at +{ + unsigned char packet_id; + unsigned short row; + unsigned short col; + char text[1]; +}; + +struct hllapi_packet_query_at +{ + unsigned char packet_id; + unsigned short row; + unsigned short col; + unsigned short len; +}; + +struct hllapi_packet_wait +{ + unsigned char packet_id; + int timeout; +}; + +struct hllapi_packet_addr +{ + unsigned char packet_id; + unsigned short addr; +}; + +struct hllapi_packet_query_offset +{ + unsigned char packet_id; + unsigned short addr; + unsigned short len; +}; + +struct hllapi_packet_emulate_input +{ unsigned char packet_id; unsigned short len; unsigned char pasting; - char text[1]; -}; - struct hllapi_packet_set -{ + char text[1]; +}; + +struct hllapi_packet_set +{ unsigned char packet_id; - unsigned short id; unsigned short value; -}; - - -#pragma pack() - + unsigned short id; + unsigned short value; +}; + + +#pragma pack() + diff --git a/src/include/pw3270/v3270.h b/src/include/pw3270/v3270.h index b80e075..d242213 100644 --- a/src/include/pw3270/v3270.h +++ b/src/include/pw3270/v3270.h @@ -175,7 +175,7 @@ LIB3270_EXPORT gchar * v3270_get_copy(GtkWidget *widget); LIB3270_EXPORT void v3270_set_copy(GtkWidget *widget, const gchar *text); - LIB3270_EXPORT int v3270_run_script(GtkWidget *widget, const gchar *script); + LIB3270_EXPORT int v3270_run_script(GtkWidget *widget, const gchar *script); LIB3270_EXPORT gchar * v3270_get_text(GtkWidget *widget,int offset, int len); LIB3270_EXPORT gchar * v3270_get_region(GtkWidget *widget, gint start_pos, gint end_pos, gboolean all); diff --git a/src/lib3270/host.c b/src/lib3270/host.c index 8a3a7a7..a970cb6 100644 --- a/src/lib3270/host.c +++ b/src/lib3270/host.c @@ -496,7 +496,7 @@ static void try_reconnect(H3270 *session) LIB3270_EXPORT int lib3270_disconnect(H3270 *h) { - host_disconnect(h,0); + host_disconnect(h,0); return 0; } diff --git a/src/lib3270/kybd.c b/src/lib3270/kybd.c index ac00510..f088af4 100644 --- a/src/lib3270/kybd.c +++ b/src/lib3270/kybd.c @@ -1007,8 +1007,8 @@ LIB3270_EXPORT int lib3270_input_string(H3270 *hSession, const unsigned char *st str++; } - screen_update(hSession,0,hSession->rows*hSession->cols); - + screen_update(hSession,0,hSession->rows*hSession->cols); + return 0; } diff --git a/src/lib3270/macros.c b/src/lib3270/macros.c index 77b4122..ecf63ff 100644 --- a/src/lib3270/macros.c +++ b/src/lib3270/macros.c @@ -330,8 +330,8 @@ int f; CHECK_SESSION_HANDLE(session); - - trace("macro(%s)",argv[0]); + + trace("macro(%s)",argv[0]); // Get the number of arguments for(argc = 0; argv[argc]; argc++); diff --git a/src/lib3270/screen.c b/src/lib3270/screen.c index fe0ec75..4f412b5 100644 --- a/src/lib3270/screen.c +++ b/src/lib3270/screen.c @@ -388,8 +388,8 @@ LIB3270_EXPORT int lib3270_get_cursor_address(H3270 *h) LIB3270_EXPORT int lib3270_set_cursor_address(H3270 *h, int baddr) { CHECK_SESSION_HANDLE(h); - - trace("%s(%d)",__FUNCTION__,baddr); + + trace("%s(%d)",__FUNCTION__,baddr); if(h->selected && !lib3270_get_toggle(h,LIB3270_TOGGLE_KEEP_SELECTED)) lib3270_unselect(h); diff --git a/src/lib3270/selection.c b/src/lib3270/selection.c index d8b7405..2cdbcfb 100644 --- a/src/lib3270/selection.c +++ b/src/lib3270/selection.c @@ -488,9 +488,9 @@ LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len) } maxlen = (h->rows * (h->cols+1)) - offset; - if(maxlen <= 0 || offset < 0) - { - errno = EINVAL; + if(maxlen <= 0 || offset < 0) + { + errno = EINVAL; return NULL; } diff --git a/src/lib3270/toggles.c b/src/lib3270/toggles.c index 7e260f3..8e34990 100644 --- a/src/lib3270/toggles.c +++ b/src/lib3270/toggles.c @@ -105,9 +105,11 @@ static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGG session->update_toggle(session,ix,t->value,TT_INTERACTIVE,toggle_names[ix]); } - LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE ix, int value) + +LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE ix, int value) { - char v = value ? True : False; struct lib3270_toggle * t; + char v = value ? True : False; + struct lib3270_toggle * t; CHECK_SESSION_HANDLE(session); @@ -118,9 +120,11 @@ static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGG if(v == t->value) return 0; - t->value = v; - toggle_notify(session,t,ix); return 1; + t->value = v; + + toggle_notify(session,t,ix); + return 1; } LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE ix) diff --git a/src/plugins/rx3270/rx3270.h b/src/plugins/rx3270/rx3270.h index 015af55..ecae8bf 100644 --- a/src/plugins/rx3270/rx3270.h +++ b/src/plugins/rx3270/rx3270.h @@ -33,15 +33,15 @@ #include - #ifdef HAVE_OOREXXAPI_H - #ifdef WIN32 - #define _SSIZE_T_DEFINED + #ifdef HAVE_OOREXXAPI_H + #ifdef WIN32 + #define _SSIZE_T_DEFINED #endif - #include + #include #else #error Only Rexx 4 #endif - + #include #include #include @@ -101,7 +101,8 @@ REXX_METHOD_PROTOTYPE(rx3270_method_set_cursor_addr); REXX_METHOD_PROTOTYPE(rx3270_method_enter); REXX_METHOD_PROTOTYPE(rx3270_method_pfkey); - REXX_METHOD_PROTOTYPE(rx3270_method_pakey); REXX_METHOD_PROTOTYPE(rx3270_method_get_text); + REXX_METHOD_PROTOTYPE(rx3270_method_pakey); + REXX_METHOD_PROTOTYPE(rx3270_method_get_text); REXX_METHOD_PROTOTYPE(rx3270_method_get_text_at); REXX_METHOD_PROTOTYPE(rx3270_method_set_text_at); REXX_METHOD_PROTOTYPE(rx3270_method_cmp_text_at); @@ -130,8 +131,8 @@ /* #if defined (HAVE_GNUC_VISIBILITY) - class __attribute__((visibility("default"))) rx3270 -#elif defined(WIN32) + class __attribute__((visibility("default"))) rx3270 +#elif defined(WIN32) class __declspec (dllexport) rx3270 #else #error NOT_IMPLEMENTED @@ -209,7 +210,8 @@ virtual int pfkey(int key) = 0; virtual int pakey(int key) = 0; - virtual char * get_text_at(int row, int col, size_t sz) = 0; virtual char * get_text(int baddr, size_t len) = 0; + virtual char * get_text_at(int row, int col, size_t sz) = 0; + virtual char * get_text(int baddr, size_t len) = 0; virtual int cmp_text_at(int row, int col, const char *text) = 0; virtual int set_text_at(int row, int col, const char *str) = 0; virtual int emulate_input(const char *str) = 0; diff --git a/src/pw3270/actions.c b/src/pw3270/actions.c index 1168562..f471225 100644 --- a/src/pw3270/actions.c +++ b/src/pw3270/actions.c @@ -860,10 +860,10 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash return action; } - + static void action_text_script(GtkAction *action, GtkWidget *widget) -{ - v3270_run_script(widget,g_object_get_data(G_OBJECT(action),"script_text")); +{ + v3270_run_script(widget,g_object_get_data(G_OBJECT(action),"script_text")); } void ui_connect_text_script(GtkWidget *widget, GtkAction *action, const gchar *script_text, GError **error) @@ -871,7 +871,7 @@ void ui_connect_text_script(GtkWidget *widget, GtkAction *action, const gchar *s gchar *base = g_strstrip(g_strdup(script_text)); gchar *text = g_strdup(base); g_free(base); - + gtk_action_set_sensitive(action,TRUE); g_object_set_data_full(G_OBJECT(action),"script_text",text,g_free); g_signal_connect(action,"activate",G_CALLBACK(action_text_script),widget); diff --git a/src/pw3270/common/config.c b/src/pw3270/common/config.c index 180b3a2..8f3efdc 100644 --- a/src/pw3270/common/config.c +++ b/src/pw3270/common/config.c @@ -348,7 +348,6 @@ { data[datalen+1] = 0; ret = g_strdup((const gchar *) data); - trace("datalen=%d",datalen); } else if(def) { diff --git a/src/pw3270/filetransfer.c b/src/pw3270/filetransfer.c index 12fab7d..cfeeb03 100644 --- a/src/pw3270/filetransfer.c +++ b/src/pw3270/filetransfer.c @@ -129,11 +129,11 @@ static gboolean is_dialog_ok(GtkEditable *editable, struct ftdialog *dlg) const gchar *remote = gtk_entry_get_text(GTK_ENTRY(dlg->file[1])); int f; - if(!*remote) + if(!*remote) return FALSE; - + if(!(dlg->option&LIB3270_FT_OPTION_RECEIVE)) - { + { // Sending file, should have local and remote filenames if(!( *local && g_file_test(local,G_FILE_TEST_EXISTS))) return FALSE; @@ -156,34 +156,34 @@ static gboolean is_dialog_ok(GtkEditable *editable, struct ftdialog *dlg) return TRUE; } - + static void check_remote_filename(GtkEditable *editable, struct ftdialog *dlg) -{ -#if GTK_CHECK_VERSION(3,2,0) - if(!gtk_entry_get_text_length(dlg->file[0])) - { - gchar *basename = g_path_get_basename(gtk_entry_get_text(GTK_ENTRY(editable))); - gchar *filename = g_build_filename(g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS),basename,NULL); - gtk_entry_set_placeholder_text(dlg->file[0],filename); - g_free(filename); - g_free(basename); - } -#endif // GTK(3,2) +{ +#if GTK_CHECK_VERSION(3,2,0) + if(!gtk_entry_get_text_length(dlg->file[0])) + { + gchar *basename = g_path_get_basename(gtk_entry_get_text(GTK_ENTRY(editable))); + gchar *filename = g_build_filename(g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS),basename,NULL); + gtk_entry_set_placeholder_text(dlg->file[0],filename); + g_free(filename); + g_free(basename); + } +#endif // GTK(3,2) gtk_widget_set_sensitive(dlg->ready,is_dialog_ok(editable,dlg)); -} +} static void check_entry(GtkEditable *editable, struct ftdialog *dlg) -{ +{ gtk_widget_set_sensitive(dlg->ready,is_dialog_ok(editable,dlg)); } - -static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ftdialog *dlg, GtkTable *table) -{ + +static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ftdialog *dlg, GtkTable *table) +{ static const gchar * label_text[] = { N_( "_Local file name:" ), N_( "_Host file name:" ) }; - static const gchar * attr[] = { "local", "remote" }; - - GtkWidget * entry = gtk_entry_new(); - GtkWidget * label = gtk_label_new_with_mnemonic(gettext(label_text[ix])); + static const gchar * attr[] = { "local", "remote" }; + + GtkWidget * entry = gtk_entry_new(); + GtkWidget * label = gtk_label_new_with_mnemonic(gettext(label_text[ix])); gchar * val; gtk_misc_set_alignment(GTK_MISC(label),0,.5); @@ -200,9 +200,9 @@ static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ft gtk_label_set_mnemonic_widget(GTK_LABEL(label),entry); gtk_table_attach(GTK_TABLE(table),entry,1,3,row,row+1,GTK_EXPAND|GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,2,2); - - return GTK_ENTRY(entry); -} + + return GTK_ENTRY(entry); +} static void add_file_fields(GObject *action, struct ftdialog *dlg) { @@ -210,26 +210,26 @@ static void add_file_fields(GObject *action, struct ftdialog *dlg) GtkWidget * widget; gtk_container_set_border_width(GTK_CONTAINER(table),2); - - if(dlg->option&LIB3270_FT_OPTION_RECEIVE) - { - // Receiving file, first the remote filename - dlg->file[1] = add_filename_entry(action,1,0,dlg,table); - - dlg->file[0] = add_filename_entry(action,0,1,dlg,table); + + if(dlg->option&LIB3270_FT_OPTION_RECEIVE) + { + // Receiving file, first the remote filename + dlg->file[1] = add_filename_entry(action,1,0,dlg,table); + + dlg->file[0] = add_filename_entry(action,0,1,dlg,table); widget = gtk_button_new_with_mnemonic( _( "_Browse" ) ); g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(browse_file),dlg); gtk_table_attach(GTK_TABLE(table),widget,3,4,1,2,0,0,2,2); - } - else - { - // Sending file, first the local filename - dlg->file[0] = add_filename_entry(action,0,0,dlg,table); + } + else + { + // Sending file, first the local filename + dlg->file[0] = add_filename_entry(action,0,0,dlg,table); widget = gtk_button_new_with_mnemonic( _( "_Browse" ) ); g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(browse_file),dlg); gtk_table_attach(GTK_TABLE(table),widget,3,4,0,1,0,0,2,2); - - dlg->file[1] = add_filename_entry(action,1,1,dlg,table); + + dlg->file[1] = add_filename_entry(action,1,1,dlg,table); } gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg->dialog))),GTK_WIDGET(table),FALSE,FALSE,2); @@ -394,19 +394,19 @@ static void run_ft_dialog(GObject *action, GtkWidget *widget, struct ftdialog *d H3270FT * ft = NULL; const char * msg = NULL; int f; - int parm[G_N_ELEMENTS(dlg->parm)]; - const gchar * remote_filename; - + int parm[G_N_ELEMENTS(dlg->parm)]; + const gchar * remote_filename; + g_signal_connect(G_OBJECT(dlg->file[0]),"changed",G_CALLBACK(check_entry),dlg); g_signal_connect(G_OBJECT(dlg->file[1]),"changed",G_CALLBACK(check_remote_filename),dlg); - for(f=0;f<2;f++) + for(f=0;f<2;f++) gtk_widget_set_sensitive(dlg->ready,is_dialog_ok(GTK_EDITABLE(dlg->file[f]),dlg)); gtk_widget_show_all(dlg->dialog); for(f=0;fparm);f++) - { + { if(dlg->parm[f]) { gchar *val = get_attribute(action,dlg,gtk_widget_get_name(GTK_WIDGET(dlg->parm[f]))); @@ -439,21 +439,21 @@ static void run_ft_dialog(GObject *action, GtkWidget *widget, struct ftdialog *d { parm[f] = 0; } - } - - remote_filename = gtk_entry_get_text(dlg->file[1]); - + } + + remote_filename = gtk_entry_get_text(dlg->file[1]); + set_string_to_config(dlg->name,"local","%s",gtk_entry_get_text(dlg->file[0])); set_string_to_config(dlg->name,"remote","%s",remote_filename); - - if(!gtk_entry_get_text_length(dlg->file[0])) - { - // Local filename wasn´t set, create a new one - gchar *basename = g_path_get_basename(remote_filename); - gchar *filename = g_build_filename(g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS),basename,NULL); - gtk_entry_set_text(dlg->file[0],filename); - g_free(filename); - g_free(basename); + + if(!gtk_entry_get_text_length(dlg->file[0])) + { + // Local filename wasn´t set, create a new one + gchar *basename = g_path_get_basename(remote_filename); + gchar *filename = g_build_filename(g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS),basename,NULL); + gtk_entry_set_text(dlg->file[0],filename); + g_free(filename); + g_free(basename); } ft = lib3270_ft_new( v3270_get_session(widget), diff --git a/src/pw3270/hostdialog.c b/src/pw3270/hostdialog.c index 85bdbee..bee09a4 100644 --- a/src/pw3270/hostdialog.c +++ b/src/pw3270/hostdialog.c @@ -117,8 +117,8 @@ void hostname_action(GtkAction *action, GtkWidget *widget) { - const gchar * title = g_object_get_data(G_OBJECT(action),"title"); - gchar * cfghost = get_string_from_config("host","uri",""); + const gchar * title = g_object_get_data(G_OBJECT(action),"title"); + gchar * cfghost = get_string_from_config("host","uri",""); gchar * hostname; gchar * ptr; gboolean again = TRUE; @@ -145,19 +145,31 @@ { - GtkWidget * label; + // Host info - GtkTable version + struct _line + { + const gchar * label; + GtkWidget * widget; + GtkAttachOptions xoptions; + } line[] = + { + { N_( "_Hostname:" ), GTK_WIDGET(host), GTK_EXPAND|GTK_FILL }, + { N_( "_Port:" ), GTK_WIDGET(port), GTK_FILL } + }; - label = gtk_label_new_with_mnemonic( _("_Hostname:") ); - gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(host)); - gtk_table_attach(table,label,0,1,0,1,0,0,5,0); - gtk_table_attach(table,GTK_WIDGET(host), 1,2,0,1,GTK_EXPAND|GTK_FILL,0,0,0); + int f; - label = gtk_label_new_with_mnemonic( _( "_Port:" ) ); - gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(port)); - gtk_table_attach(table, label, 2,3,0,1,0,0,5,0); - gtk_table_attach(table,GTK_WIDGET(port), 3,4,0,1,GTK_FILL,0,0,0); + for(f=0;f #include + #include #define AUTO_FONT_SIZE 1 diff --git a/src/pw3270/trace.c b/src/pw3270/trace.c index b8178f9..2951543 100644 --- a/src/pw3270/trace.c +++ b/src/pw3270/trace.c @@ -27,8 +27,8 @@ * */ - #include - + #include + #define ENABLE_NLS #define GETTEXT_PACKAGE PACKAGE_NAME @@ -43,69 +43,69 @@ #endif // HAVE_SYSLOG /*--[ Widget definition ]----------------------------------------------------------------------------*/ - + G_BEGIN_DECLS struct _pw3270_traceClass { GtkWindowClass parent_class; }; - + struct _pw3270_trace { - GtkWindow parent; - GtkAdjustment * scroll; - GtkTextBuffer * text; - GtkWidget * entry; - GtkWidget * button; + GtkWindow parent; + GtkAdjustment * scroll; + GtkTextBuffer * text; + GtkWidget * entry; + GtkWidget * button; gchar **line; - guint log_handler; + guint log_handler; gboolean * enabled; - gboolean destroy_on_close; - }; - - const GtkWindowClass * pw3270_trace_get_parent_class(void); - + gboolean destroy_on_close; + }; + + const GtkWindowClass * pw3270_trace_get_parent_class(void); + G_END_DECLS G_DEFINE_TYPE(pw3270_trace, pw3270_trace, GTK_TYPE_WINDOW); /*--[ Implement ]------------------------------------------------------------------------------------*/ - + const GtkWindowClass * pw3270_trace_get_parent_class(void) { trace("%s",__FUNCTION__); return GTK_WINDOW_CLASS(pw3270_trace_parent_class); } - - static void activate_default(GtkWindow *window) - { - pw3270_trace * hwnd = PW3270_TRACE(window); - - trace("%s",__FUNCTION__); + + static void activate_default(GtkWindow *window) + { + pw3270_trace * hwnd = PW3270_TRACE(window); + + trace("%s",__FUNCTION__); if(hwnd->enabled) { - if(*hwnd->line) - g_free(*hwnd->line); - - *hwnd->line = g_strdup(gtk_entry_get_text(GTK_ENTRY(hwnd->entry))); - - gtk_widget_set_sensitive(hwnd->entry,FALSE); - gtk_widget_set_sensitive(hwnd->button,FALSE); - + if(*hwnd->line) + g_free(*hwnd->line); + + *hwnd->line = g_strdup(gtk_entry_get_text(GTK_ENTRY(hwnd->entry))); + + gtk_widget_set_sensitive(hwnd->entry,FALSE); + gtk_widget_set_sensitive(hwnd->button,FALSE); + *hwnd->enabled = FALSE; } - - } - + + } + #if GTK_CHECK_VERSION(3,0,0) static void destroy(GtkWidget *widget) #else static void destroy(GtkObject *widget) #endif { - pw3270_trace * hwnd = PW3270_TRACE(widget); + pw3270_trace * hwnd = PW3270_TRACE(widget); if(hwnd->log_handler) { @@ -113,43 +113,43 @@ static void destroy(GtkObject *widget) hwnd->log_handler = 0; } - if(hwnd->line) + if(hwnd->line) *hwnd->line = NULL; - if(hwnd->enabled) + if(hwnd->enabled) *hwnd->enabled = FALSE; - } - - static gboolean delete_event(GtkWidget *widget, GdkEventAny *event) - { + } + + static gboolean delete_event(GtkWidget *widget, GdkEventAny *event) + { pw3270_trace * hwnd = PW3270_TRACE(widget); - + trace("%s destroy=%s",__FUNCTION__,hwnd->destroy_on_close ? "Yes" : "No"); if(hwnd->line) *hwnd->line = NULL; - if(hwnd->enabled) + if(hwnd->enabled) *hwnd->enabled = FALSE; if(hwnd->destroy_on_close) return FALSE; gtk_widget_hide(widget); - return TRUE; - } - + return TRUE; + } + static void pw3270_trace_class_init(pw3270_traceClass *klass) { GtkWindowClass * window_class = GTK_WINDOW_CLASS(klass); GtkWidgetClass * widget_class = GTK_WIDGET_CLASS(klass); - - trace("%s",__FUNCTION__); - - window_class->activate_default = activate_default; - widget_class->delete_event = delete_event; - + + trace("%s",__FUNCTION__); + + window_class->activate_default = activate_default; + widget_class->delete_event = delete_event; + #if GTK_CHECK_VERSION(3,0,0) { widget_class->destroy = destroy; @@ -162,12 +162,12 @@ static void destroy(GtkObject *widget) #endif // GTK3 } - - static void activate(GtkButton *button, GtkWindow *window) - { - trace("%s",__FUNCTION__); - activate_default(window); - } + + static void activate(GtkButton *button, GtkWindow *window) + { + trace("%s",__FUNCTION__); + activate_default(window); + } static void menu_save(GtkWidget *button, pw3270_trace *window) { @@ -223,12 +223,12 @@ static void destroy(GtkObject *widget) gtk_widget_destroy(dialog); - } + } static void menu_close(GtkWidget *button, GtkWidget *window) { gtk_widget_destroy(window); - } + } struct submenu { @@ -318,17 +318,17 @@ static void destroy(GtkObject *widget) #endif // HAVE_SYSLOG } - + static void pw3270_trace_init(pw3270_trace *window) - { - GtkWidget * widget; - GtkWidget * view; + { + GtkWidget * widget; + GtkWidget * view; #if GTK_CHECK_VERSION(3,0,0) GtkWidget * vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL,0); #else GtkWidget * vbox = gtk_vbox_new(FALSE,0); #endif // GTK_CHECK_VERSION - gchar * fontname = get_string_from_config("trace", "fontname", "Monospace 8"); + gchar * fontname = get_string_from_config("trace", "fontname", "Monospace 8"); PangoFontDescription * fontdesc = pango_font_description_from_string("Monospace 8"); g_free(fontname); @@ -347,54 +347,54 @@ static void destroy(GtkObject *widget) build_menu(widget, window, GTK_STOCK_FILE, filemenu, G_N_ELEMENTS(filemenu)); - gtk_box_pack_start(GTK_BOX(vbox),widget,FALSE,TRUE,0); + gtk_box_pack_start(GTK_BOX(vbox),widget,FALSE,TRUE,0); } - - // Trace container - widget = gtk_scrolled_window_new(NULL,NULL); - window->scroll = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(widget)); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); - view = gtk_text_view_new(); - -#if GTK_CHECK_VERSION(3,0,0) - gtk_widget_override_font(GTK_WIDGET(view), fontdesc); + + // Trace container + widget = gtk_scrolled_window_new(NULL,NULL); + window->scroll = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(widget)); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); + view = gtk_text_view_new(); + +#if GTK_CHECK_VERSION(3,0,0) + gtk_widget_override_font(GTK_WIDGET(view), fontdesc); #else - gtk_widget_modify_font(GTK_WIDGET(view), fontdesc); + gtk_widget_modify_font(GTK_WIDGET(view), fontdesc); #endif // GTK_CHECK_VERSION window->text = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); - gtk_text_view_set_editable(GTK_TEXT_VIEW(view), TRUE); - -#if GTK_CHECK_VERSION(3,8,0) - gtk_container_add(GTK_CONTAINER(widget),view); -#else - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(widget),view); -#endif // GTK_CHECK_VERSION - gtk_box_pack_start(GTK_BOX(vbox),widget,TRUE,TRUE,0); - - // Edit box + gtk_text_view_set_editable(GTK_TEXT_VIEW(view), TRUE); + +#if GTK_CHECK_VERSION(3,8,0) + gtk_container_add(GTK_CONTAINER(widget),view); +#else + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(widget),view); +#endif // GTK_CHECK_VERSION + gtk_box_pack_start(GTK_BOX(vbox),widget,TRUE,TRUE,0); + + // Edit box #if GTK_CHECK_VERSION(3,0,0) - widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); + widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); #else - widget = gtk_hbox_new(FALSE,0); + widget = gtk_hbox_new(FALSE,0); #endif // GTK_CHECK_VERSION - gtk_box_pack_start(GTK_BOX(widget),gtk_label_new( _( "Command:" )),FALSE,TRUE,4); - window->entry = gtk_entry_new(); - gtk_box_pack_start(GTK_BOX(widget),window->entry,TRUE,TRUE,4); - gtk_widget_set_sensitive(window->entry,FALSE); - g_signal_connect(G_OBJECT(window->entry),"activate",G_CALLBACK(activate),window); - - window->button = gtk_button_new_from_stock(GTK_STOCK_OK); - gtk_box_pack_end(GTK_BOX(widget),window->button,FALSE,FALSE,4); - gtk_widget_set_sensitive(window->button,FALSE); - gtk_button_set_focus_on_click(GTK_BUTTON(window->button),FALSE); - - g_signal_connect(G_OBJECT(window->button),"clicked",G_CALLBACK(activate),window); - - gtk_box_pack_start(GTK_BOX(vbox),widget,FALSE,TRUE,0); - - gtk_widget_show_all(vbox); - + gtk_box_pack_start(GTK_BOX(widget),gtk_label_new( _( "Command:" )),FALSE,TRUE,4); + window->entry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(widget),window->entry,TRUE,TRUE,4); + gtk_widget_set_sensitive(window->entry,FALSE); + g_signal_connect(G_OBJECT(window->entry),"activate",G_CALLBACK(activate),window); + + window->button = gtk_button_new_from_stock(GTK_STOCK_OK); + gtk_box_pack_end(GTK_BOX(widget),window->button,FALSE,FALSE,4); + gtk_widget_set_sensitive(window->button,FALSE); + gtk_button_set_focus_on_click(GTK_BUTTON(window->button),FALSE); + + g_signal_connect(G_OBJECT(window->button),"clicked",G_CALLBACK(activate),window); + + gtk_box_pack_start(GTK_BOX(vbox),widget,FALSE,TRUE,0); + + gtk_widget_show_all(vbox); + gtk_container_add(GTK_CONTAINER(window),vbox); pango_font_description_free(fontdesc); @@ -403,65 +403,65 @@ static void destroy(GtkObject *widget) trace("Log handler set to %d",window->log_handler); } - + GtkWidget * pw3270_trace_new(void) { return g_object_new(PW3270_TYPE_TRACE, NULL); } - - void pw3270_trace_vprintf(GtkWidget *widget, const char *fmt, va_list args) - { - GtkTextIter itr; - gchar * msg; - pw3270_trace * hwnd = PW3270_TRACE(widget); - - gtk_text_buffer_get_end_iter(hwnd->text,&itr); - - msg = g_strdup_vprintf(fmt,args); - gtk_text_buffer_insert(hwnd->text,&itr,msg,strlen(msg)); - g_free(msg); - - gtk_text_buffer_get_end_iter(hwnd->text,&itr); - -#if GTK_CHECK_VERSION(2,14,0) - gtk_adjustment_set_value(hwnd->scroll,gtk_adjustment_get_upper(hwnd->scroll)); -#else - gtk_adjustment_set_value(hwnd->scroll,(GTK_ADJUSTMENT(hwnd->scroll))->upper); -#endif // - - } - - void pw3270_trace_printf(GtkWidget *widget, const char *fmt, ... ) - { + + void pw3270_trace_vprintf(GtkWidget *widget, const char *fmt, va_list args) + { + GtkTextIter itr; + gchar * msg; + pw3270_trace * hwnd = PW3270_TRACE(widget); + + gtk_text_buffer_get_end_iter(hwnd->text,&itr); + + msg = g_strdup_vprintf(fmt,args); + gtk_text_buffer_insert(hwnd->text,&itr,msg,strlen(msg)); + g_free(msg); + + gtk_text_buffer_get_end_iter(hwnd->text,&itr); + +#if GTK_CHECK_VERSION(2,14,0) + gtk_adjustment_set_value(hwnd->scroll,gtk_adjustment_get_upper(hwnd->scroll)); +#else + gtk_adjustment_set_value(hwnd->scroll,(GTK_ADJUSTMENT(hwnd->scroll))->upper); +#endif // + + } + + void pw3270_trace_printf(GtkWidget *widget, const char *fmt, ... ) + { va_list arg_ptr; va_start(arg_ptr, fmt); pw3270_trace_vprintf(widget,fmt,arg_ptr); va_end(arg_ptr); } - - LIB3270_EXPORT gchar * pw3270_trace_get_command(GtkWidget *widget) - { - pw3270_trace * hwnd = PW3270_TRACE(widget); - gchar * line = NULL; - gboolean enabled = TRUE; - - hwnd->line = &line; - hwnd->enabled = &enabled; - - gtk_window_present(GTK_WINDOW(widget)); - gtk_widget_set_sensitive(hwnd->entry,TRUE); - gtk_widget_set_sensitive(hwnd->button,TRUE); - gtk_widget_grab_focus(hwnd->entry); - - while(enabled) - { + + LIB3270_EXPORT gchar * pw3270_trace_get_command(GtkWidget *widget) + { + pw3270_trace * hwnd = PW3270_TRACE(widget); + gchar * line = NULL; + gboolean enabled = TRUE; + + hwnd->line = &line; + hwnd->enabled = &enabled; + + gtk_window_present(GTK_WINDOW(widget)); + gtk_widget_set_sensitive(hwnd->entry,TRUE); + gtk_widget_set_sensitive(hwnd->button,TRUE); + gtk_widget_grab_focus(hwnd->entry); + + while(enabled) + { gtk_main_iteration(); - } + } + + hwnd->line = NULL; + hwnd->enabled = NULL; - hwnd->line = NULL; - hwnd->enabled = NULL; - - return line; + return line; } LIB3270_EXPORT void pw3270_trace_set_destroy_on_close(GtkWidget *widget,gboolean on) diff --git a/src/pw3270/uiparser/button.c b/src/pw3270/uiparser/button.c index 1bde9b7..e849774 100644 --- a/src/pw3270/uiparser/button.c +++ b/src/pw3270/uiparser/button.c @@ -1,4 +1,4 @@ - + /* * "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 @@ -28,14 +28,14 @@ * */ - #include "keypad.h" + #include "keypad.h" #include /*--[ Globals ]--------------------------------------------------------------------------------------*/ - - + + /*--[ Implement ]------------------------------------------------------------------------------------*/ - + GtkReliefStyle ui_get_relief(const gchar **names, const gchar **values, GtkReliefStyle def) { @@ -69,10 +69,10 @@ { gtk_action_activate(action); } - + static void button_script(GtkButton *button, GtkWidget *widget) - { - v3270_run_script(widget,g_object_get_data(G_OBJECT(button),"script_text")); + { + v3270_run_script(widget,g_object_get_data(G_OBJECT(button),"script_text")); } void keypad_button_start(GMarkupParseContext *context, const gchar **names,const gchar **values, GError **error, struct keypad *keypad) @@ -113,11 +113,11 @@ GTK_WIDGET_UNSET_FLAGS(widget,GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS(widget,GTK_CAN_DEFAULT); #endif // GTK(2,18) - + gtk_button_set_relief(GTK_BUTTON(widget),ui_get_relief(names, values, keypad->relief)); gtk_button_set_alignment(GTK_BUTTON(widget),0.5,0.5); gtk_button_set_focus_on_click(GTK_BUTTON(widget),FALSE); - + if(name) action = ui_get_action(info->center_widget,name,info->actions,names,values,error); @@ -127,9 +127,9 @@ g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(button_clicked),action); } else - { - keypad->widget = widget; - gtk_widget_set_sensitive(widget,FALSE); + { + keypad->widget = widget; + gtk_widget_set_sensitive(widget,FALSE); g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(button_script),info->center_widget); } } diff --git a/src/pw3270/uiparser/keypad.c b/src/pw3270/uiparser/keypad.c index d40c395..d205b4b 100644 --- a/src/pw3270/uiparser/keypad.c +++ b/src/pw3270/uiparser/keypad.c @@ -27,7 +27,7 @@ * */ - #include "keypad.h" + #include "keypad.h" /*--[ Implement ]------------------------------------------------------------------------------------*/ @@ -68,8 +68,8 @@ } static void element_end(GMarkupParseContext *context, const gchar *element_name, struct keypad *keypad, GError **error) - { - keypad->widget = NULL; + { + keypad->widget = NULL; // trace("%s: %s",__FUNCTION__,element_name); } @@ -105,28 +105,28 @@ return UI_ATTR_DIRECTION_NONE; } - - static void element_text(GMarkupParseContext *context, const gchar *text, gsize sz, struct keypad *keypad, GError **error) - { - if(keypad->widget) - { + + static void element_text(GMarkupParseContext *context, const gchar *text, gsize sz, struct keypad *keypad, GError **error) + { + if(keypad->widget) + { gchar *base = g_strstrip(g_strdup(text)); gchar *text = g_strdup(base); - g_free(base); - - if(*text) - { + g_free(base); + + if(*text) + { gtk_widget_set_sensitive(keypad->widget,TRUE); g_object_set_data_full(G_OBJECT(keypad->widget),"script_text",text,g_free); - } - else - { - g_free(text); - } - - } - - } + } + else + { + g_free(text); + } + + } + + } GObject * ui_create_keypad(GMarkupParseContext *context,GtkAction *action,struct parser *info,const gchar **names, const gchar **values, GError **error) { diff --git a/src/pw3270/uiparser/keypad.h b/src/pw3270/uiparser/keypad.h index e79b67c..bfac96c 100644 --- a/src/pw3270/uiparser/keypad.h +++ b/src/pw3270/uiparser/keypad.h @@ -26,7 +26,7 @@ * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) * */ - + #include #include "private.h" @@ -53,10 +53,10 @@ GtkWidget * table; GtkReliefStyle relief; UI_ATTR_DIRECTION pos; - GList * rows; - - GtkWidget * widget; - + GList * rows; + + GtkWidget * widget; + }; G_GNUC_INTERNAL void keypad_button_start(GMarkupParseContext *context, const gchar **names,const gchar **values, GError **error, struct keypad *keypad); diff --git a/src/pw3270/uiparser/private.h b/src/pw3270/uiparser/private.h index a4f43a5..aa7c901 100644 --- a/src/pw3270/uiparser/private.h +++ b/src/pw3270/uiparser/private.h @@ -93,7 +93,7 @@ int ui_parse_file(struct parser *info, const gchar *filename); void ui_action_set_options(GtkAction *action, struct parser *info, const gchar **names, const gchar **values, GError **error); - + G_GNUC_INTERNAL GtkReliefStyle ui_get_relief(const gchar **names, const gchar **values, GtkReliefStyle def); GObject * ui_get_element(struct parser *info, GtkAction *action, enum ui_element id, const gchar **names, const gchar **values, GError **error); diff --git a/src/pw3270/v3270/macros.c b/src/pw3270/v3270/macros.c index 2d11a5c..da44c56 100644 --- a/src/pw3270/v3270/macros.c +++ b/src/pw3270/v3270/macros.c @@ -29,46 +29,46 @@ * macmiranda@bb.com.br (Marco Aurélio Caldas Miranda) * */ - + #include "private.h" #include - + /*--[ Implement ]------------------------------------------------------------------------------------*/ - - static int v3270_macro_copy(GtkWidget *widget, int argc, const char **argv) - { + + static int v3270_macro_copy(GtkWidget *widget, int argc, const char **argv) + { v3270_copy(widget, V3270_SELECT_TEXT, FALSE); - return 0; + return 0; } - - static int v3270_macro_append(GtkWidget *widget, int argc, const char **argv) - { + + static int v3270_macro_append(GtkWidget *widget, int argc, const char **argv) + { v3270_copy_append(widget); - return 0; + return 0; } - static int run_macro(GtkWidget *widget, int argc, const char **argv) - { + static int run_macro(GtkWidget *widget, int argc, const char **argv) + { #define V3270_MACRO( name ) { #name, v3270_macro_ ## name } - + static const struct _list { const char *name; int (*exec)(GtkWidget *widget, int argc, const char **argv); - } list[] = - { - V3270_MACRO( copy ), - V3270_MACRO( append ), + } list[] = + { + V3270_MACRO( copy ), + V3270_MACRO( append ), }; int f; - gchar *rsp; - - for(f=0;fhost,argv); if(rsp) @@ -76,21 +76,21 @@ g_free(rsp); return 0; } - - return -1; + + return -1; } - int v3270_run_script(GtkWidget *widget, const gchar *script) -{ - gchar **ln; + int v3270_run_script(GtkWidget *widget, const gchar *script) +{ + gchar **ln; int f; - - if(!script) - return 0; - + + if(!script) + return 0; + g_return_val_if_fail(GTK_IS_V3270(widget),EINVAL); - - ln = g_strsplit(script,"\n",-1); + + ln = g_strsplit(script,"\n",-1); for(f=0;ln[f];f++) { @@ -100,7 +100,7 @@ if(g_shell_parse_argv(g_strstrip(ln[f]),&argc,&argv,&error)) { - run_macro(widget, argc, (const char **) argv); + run_macro(widget, argc, (const char **) argv); } else { @@ -113,8 +113,8 @@ } - g_strfreev(ln); - + g_strfreev(ln); + return 0; -} +} -- libgit2 0.21.2