summaryrefslogtreecommitdiffhomepage
path: root/mixgtk/mixgtk_input.c
diff options
context:
space:
mode:
authorjaortega <jaortega>2001-03-13 22:21:16 +0000
committerjaortega <jaortega>2001-03-13 22:21:16 +0000
commit3ab6797d68162c6094964ad0c5c7e194bee06b80 (patch)
treee81f7121a98cbddb5509a0e10631c409a89b62d6 /mixgtk/mixgtk_input.c
parentde46b4f1ddd7ed43bf8988e65234c9e33ef1e51d (diff)
downloadmdk-3ab6797d68162c6094964ad0c5c7e194bee06b80.tar.gz
mdk-3ab6797d68162c6094964ad0c5c7e194bee06b80.tar.bz2
minor changes
Diffstat (limited to 'mixgtk/mixgtk_input.c')
-rw-r--r--mixgtk/mixgtk_input.c42
1 files changed, 13 insertions, 29 deletions
diff --git a/mixgtk/mixgtk_input.c b/mixgtk/mixgtk_input.c
index 8f4a777..fa98056 100644
--- a/mixgtk/mixgtk_input.c
+++ b/mixgtk/mixgtk_input.c
@@ -1,7 +1,7 @@
/* -*-c-*- -------------- mixgtk_input.c :
* Implementation of the functions declared in mixgtk_input.h
* ------------------------------------------------------------------
- * Last change: Time-stamp: "01/03/13 01:27:32 jose"
+ * Last change: Time-stamp: "01/03/13 08:31:20 jose"
* ------------------------------------------------------------------
* Copyright (C) 2001 Free Software Foundation, Inc.
*
@@ -21,6 +21,7 @@
*
*/
+#include <ctype.h>
#include <stdlib.h>
#include "mixgtk_widgets.h"
#include "mixgtk_input.h"
@@ -34,7 +35,6 @@ static const gchar *WGT_NAMES_[SIZE_] = {
"word_b4", "word_b5", "word_decimal", "word_reset", "word_ok"
};
-
static GtkDialog *dialog_;
static GtkWidget *childs_[SIZE_];
static input_callback_t callback_;
@@ -53,8 +53,8 @@ mixgtk_input_init (void)
childs_[k] = mixgtk_widget_factory_get_by_name (WGT_NAMES_[k]);
g_return_val_if_fail (childs_[k] != NULL, FALSE);
}
-
return TRUE;
+
}
static void
@@ -71,7 +71,7 @@ set_word_ (mix_word_t word)
for (k = 1; k < 6; ++k)
{
mix_byte_t b = mix_word_get_byte (word, k);
- snprintf (BUFFER, SIZE, "%02d", (int)b);
+ snprintf (BUFFER, SIZE, "%d", (int)b);
gtk_entry_set_text (GTK_ENTRY (childs_[SIGN_ + k]), BUFFER);
}
}
@@ -105,32 +105,29 @@ mixgtk_input_short (const gchar *message, mix_short_t def,
gtk_widget_hide (childs_[B1_]);
gtk_widget_hide (childs_[B2_]);
gtk_widget_hide (childs_[B3_]);
- /* gtk_widget_draw (GTK_WIDGET (dialog_));*/
}
#include <gdk/gdkkeysyms.h>
/* dec and bytes input handler */
-void
+gboolean
on_word_dec_key_press (GtkWidget *dec, GdkEvent *event, gpointer *data)
{
GdkEventKey *key = (GdkEventKey *)event;
- if (key->string && strlen (key->string) > 0)
+ if (key->string && strlen (key->string) > 0 && !iscntrl (key->string[0]))
{
gchar *text = gtk_entry_get_text (GTK_ENTRY (childs_[DEC_]));
gint val = atoi (text);
set_word_ (mix_word_new (val));
}
- if (key->keyval == GDK_KP_Tab || key->keyval == GDK_Tab ||
- key->keyval == GDK_ISO_Left_Tab)
- gtk_window_set_focus (GTK_WINDOW (dialog_), childs_[SIGN_]);
+ return FALSE;
}
-void
+gboolean
on_word_byte_key_press (GtkWidget *widget, GdkEvent *event, gpointer *data)
{
GdkEventKey *key = (GdkEventKey *)event;
- if (key->string && strlen (key->string) > 0)
+ if (key->string && strlen (key->string) > 0 && !iscntrl (key->string[0]))
{
mix_byte_t bytes[5];
gint k;
@@ -147,20 +144,14 @@ on_word_byte_key_press (GtkWidget *widget, GdkEvent *event, gpointer *data)
if (s && s[0] == '-') mix_word_reverse_sign (w);
set_word_ (w);
}
- if (key->keyval == GDK_KP_Tab || key->keyval == GDK_Tab ||
- key->keyval == GDK_ISO_Left_Tab)
- {
- gint k = 0;
- while (widget != childs_[k]) ++k;
- gtk_window_set_focus (GTK_WINDOW (dialog_), childs_[(k + 1)%SIZE_]);
- }
+ return FALSE;
}
-void
+gboolean
on_word_sign_key_press (GtkWidget *widget, GdkEvent *event, gpointer *data)
{
GdkEventKey *key = (GdkEventKey *)event;
- if (key->string && strlen (key->string) > 0)
+ if (key->string && strlen (key->string) > 0 && !iscntrl (key->string[0]))
{
gchar s = key->string[0];
gchar *txt = gtk_entry_get_text (GTK_ENTRY (childs_[SIGN_]));
@@ -173,9 +164,7 @@ on_word_sign_key_press (GtkWidget *widget, GdkEvent *event, gpointer *data)
set_word_ (mix_word_negative (w));
}
}
- if (key->keyval == GDK_KP_Tab || key->keyval == GDK_Tab ||
- key->keyval == GDK_ISO_Left_Tab)
- gtk_window_set_focus (GTK_WINDOW (dialog_), childs_[B1_]);
+ return FALSE;
}
void
@@ -198,8 +187,3 @@ on_word_reset_clicked (GtkWidget *w, gpointer *data)
{
set_word_ (MIX_WORD_ZERO);
}
-
-
-
-
-