mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
implement grab_focus() and editable_enters() for other search widgets
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6903 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
a19c61ac98
commit
ff42bc9386
@ -31,6 +31,8 @@
|
||||
|
||||
#define d(x)
|
||||
|
||||
static void editable_enters (GNCSearchCoreType *fe, GnomeDialog *dialog);
|
||||
static void grab_focus (GNCSearchCoreType *fe);
|
||||
static GNCSearchCoreType *clone(GNCSearchCoreType *fe);
|
||||
static gboolean validate (GNCSearchCoreType *fe);
|
||||
static GtkWidget *get_widget(GNCSearchCoreType *fe);
|
||||
@ -43,6 +45,7 @@ static void gnc_search_double_finalise (GtkObject *obj);
|
||||
#define _PRIVATE(x) (((GNCSearchDouble *)(x))->priv)
|
||||
|
||||
struct _GNCSearchDoublePrivate {
|
||||
GtkWidget * entry;
|
||||
};
|
||||
|
||||
static GNCSearchCoreTypeClass *parent_class;
|
||||
@ -87,6 +90,8 @@ gnc_search_double_class_init (GNCSearchDoubleClass *class)
|
||||
object_class->finalize = gnc_search_double_finalise;
|
||||
|
||||
/* override methods */
|
||||
gnc_search_core_type->editable_enters = editable_enters;
|
||||
gnc_search_core_type->grab_focus = grab_focus;
|
||||
gnc_search_core_type->validate = validate;
|
||||
gnc_search_core_type->get_widget = get_widget;
|
||||
gnc_search_core_type->get_predicate = get_predicate;
|
||||
@ -217,6 +222,31 @@ make_menu (GNCSearchCoreType *fe)
|
||||
return opmenu;
|
||||
}
|
||||
|
||||
static void
|
||||
grab_focus (GNCSearchCoreType *fe)
|
||||
{
|
||||
GNCSearchDouble *fi = (GNCSearchDouble *)fe;
|
||||
|
||||
g_return_if_fail (fi);
|
||||
g_return_if_fail (IS_GNCSEARCH_DOUBLE (fi));
|
||||
|
||||
if (fi->priv->entry)
|
||||
gtk_widget_grab_focus (fi->priv->entry);
|
||||
}
|
||||
|
||||
static void
|
||||
editable_enters (GNCSearchCoreType *fe, GnomeDialog *dialog)
|
||||
{
|
||||
GNCSearchDouble *fi = (GNCSearchDouble *)fe;
|
||||
|
||||
g_return_if_fail (fi);
|
||||
g_return_if_fail (IS_GNCSEARCH_DOUBLE (fi));
|
||||
g_return_if_fail (dialog);
|
||||
|
||||
if (fi->priv->entry)
|
||||
gnome_dialog_editable_enters (dialog, GTK_EDITABLE (fi->priv->entry));
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
get_widget (GNCSearchCoreType *fe)
|
||||
{
|
||||
@ -238,6 +268,7 @@ get_widget (GNCSearchCoreType *fe)
|
||||
gnc_amount_edit_set_damount (GNC_AMOUNT_EDIT (entry), fi->value);
|
||||
gtk_signal_connect (GTK_OBJECT (entry), "amount_changed", entry_changed, fe);
|
||||
gtk_box_pack_start (GTK_BOX (box), entry, FALSE, FALSE, 3);
|
||||
fi->priv->entry = gnc_amount_edit_gtk_entry (GNC_AMOUNT_EDIT (entry));
|
||||
|
||||
/* And return the box */
|
||||
return box;
|
||||
|
@ -31,6 +31,8 @@
|
||||
|
||||
#define d(x)
|
||||
|
||||
static void editable_enters (GNCSearchCoreType *fe, GnomeDialog *dialog);
|
||||
static void grab_focus (GNCSearchCoreType *fe);
|
||||
static GNCSearchCoreType *clone(GNCSearchCoreType *fe);
|
||||
static gboolean validate (GNCSearchCoreType *fe);
|
||||
static GtkWidget *get_widget(GNCSearchCoreType *fe);
|
||||
@ -43,6 +45,7 @@ static void gnc_search_int64_finalise (GtkObject *obj);
|
||||
#define _PRIVATE(x) (((GNCSearchInt64 *)(x))->priv)
|
||||
|
||||
struct _GNCSearchInt64Private {
|
||||
GtkWidget *entry;
|
||||
};
|
||||
|
||||
static GNCSearchCoreTypeClass *parent_class;
|
||||
@ -87,6 +90,8 @@ gnc_search_int64_class_init (GNCSearchInt64Class *class)
|
||||
object_class->finalize = gnc_search_int64_finalise;
|
||||
|
||||
/* override methods */
|
||||
gnc_search_core_type->editable_enters = editable_enters;
|
||||
gnc_search_core_type->grab_focus = grab_focus;
|
||||
gnc_search_core_type->validate = validate;
|
||||
gnc_search_core_type->get_widget = get_widget;
|
||||
gnc_search_core_type->get_predicate = get_predicate;
|
||||
@ -219,6 +224,31 @@ make_menu (GNCSearchCoreType *fe)
|
||||
return opmenu;
|
||||
}
|
||||
|
||||
static void
|
||||
grab_focus (GNCSearchCoreType *fe)
|
||||
{
|
||||
GNCSearchInt64 *fi = (GNCSearchInt64 *)fe;
|
||||
|
||||
g_return_if_fail (fi);
|
||||
g_return_if_fail (IS_GNCSEARCH_INT64 (fi));
|
||||
|
||||
if (fi->priv->entry)
|
||||
gtk_widget_grab_focus (fi->priv->entry);
|
||||
}
|
||||
|
||||
static void
|
||||
editable_enters (GNCSearchCoreType *fe, GnomeDialog *dialog)
|
||||
{
|
||||
GNCSearchInt64 *fi = (GNCSearchInt64 *)fe;
|
||||
|
||||
g_return_if_fail (fi);
|
||||
g_return_if_fail (IS_GNCSEARCH_INT64 (fi));
|
||||
g_return_if_fail (dialog);
|
||||
|
||||
if (fi->priv->entry)
|
||||
gnome_dialog_editable_enters (dialog, GTK_EDITABLE (fi->priv->entry));
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
get_widget (GNCSearchCoreType *fe)
|
||||
{
|
||||
@ -244,6 +274,7 @@ get_widget (GNCSearchCoreType *fe)
|
||||
}
|
||||
gtk_signal_connect (GTK_OBJECT (entry), "amount_changed", entry_changed, fe);
|
||||
gtk_box_pack_start (GTK_BOX (box), entry, FALSE, FALSE, 3);
|
||||
fi->priv->entry = gnc_amount_edit_gtk_entry (GNC_AMOUNT_EDIT (entry));
|
||||
|
||||
/* And return the box */
|
||||
return box;
|
||||
|
@ -31,6 +31,8 @@
|
||||
|
||||
#define d(x)
|
||||
|
||||
static void editable_enters (GNCSearchCoreType *fe, GnomeDialog *dialog);
|
||||
static void grab_focus (GNCSearchCoreType *fe);
|
||||
static GNCSearchCoreType *clone(GNCSearchCoreType *fe);
|
||||
static gboolean validate (GNCSearchCoreType *fe);
|
||||
static GtkWidget *get_widget(GNCSearchCoreType *fe);
|
||||
@ -44,6 +46,7 @@ static void gnc_search_numeric_finalise (GtkObject *obj);
|
||||
|
||||
struct _GNCSearchNumericPrivate {
|
||||
gboolean is_debcred;
|
||||
GtkWidget * entry;
|
||||
};
|
||||
|
||||
static GNCSearchCoreTypeClass *parent_class;
|
||||
@ -88,6 +91,8 @@ gnc_search_numeric_class_init (GNCSearchNumericClass *class)
|
||||
object_class->finalize = gnc_search_numeric_finalise;
|
||||
|
||||
/* override methods */
|
||||
gnc_search_core_type->editable_enters = editable_enters;
|
||||
gnc_search_core_type->grab_focus = grab_focus;
|
||||
gnc_search_core_type->validate = validate;
|
||||
gnc_search_core_type->get_widget = get_widget;
|
||||
gnc_search_core_type->get_predicate = get_predicate;
|
||||
@ -290,6 +295,31 @@ make_option_menu (GNCSearchCoreType *fe)
|
||||
return opmenu;
|
||||
}
|
||||
|
||||
static void
|
||||
grab_focus (GNCSearchCoreType *fe)
|
||||
{
|
||||
GNCSearchNumeric *fi = (GNCSearchNumeric *)fe;
|
||||
|
||||
g_return_if_fail (fi);
|
||||
g_return_if_fail (IS_GNCSEARCH_NUMERIC (fi));
|
||||
|
||||
if (fi->priv->entry)
|
||||
gtk_widget_grab_focus (fi->priv->entry);
|
||||
}
|
||||
|
||||
static void
|
||||
editable_enters (GNCSearchCoreType *fe, GnomeDialog *dialog)
|
||||
{
|
||||
GNCSearchNumeric *fi = (GNCSearchNumeric *)fe;
|
||||
|
||||
g_return_if_fail (fi);
|
||||
g_return_if_fail (IS_GNCSEARCH_NUMERIC (fi));
|
||||
g_return_if_fail (dialog);
|
||||
|
||||
if (fi->priv->entry)
|
||||
gnome_dialog_editable_enters (dialog, GTK_EDITABLE (fi->priv->entry));
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
get_widget (GNCSearchCoreType *fe)
|
||||
{
|
||||
@ -315,6 +345,7 @@ get_widget (GNCSearchCoreType *fe)
|
||||
gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (entry), fi->value);
|
||||
gtk_signal_connect (GTK_OBJECT (entry), "amount_changed", entry_changed, fe);
|
||||
gtk_box_pack_start (GTK_BOX (box), entry, FALSE, FALSE, 3);
|
||||
fi->priv->entry = gnc_amount_edit_gtk_entry (GNC_AMOUNT_EDIT (entry));
|
||||
|
||||
/* And return the box */
|
||||
return box;
|
||||
|
Loading…
Reference in New Issue
Block a user