Allow the user to use the popup list like a menu.

Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcombo.[ch]: Allow the user to use the popup list
	like a menu.

	* gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
	to gtkitem.c so dragging can also work in lists.

	* gtk/gtklist.[ch]: Track child enter events and use
	those to allow dragging the selection.

Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Try enabling background pixmaps for editable text
	widgets.  There is a bit of flashing, but not too bad. If you
	don't want the flashing, you can always not set a background
	pixmap.

Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Fixed a bug where the drawn level
	was being messed up when the text was scrolled
	during a deletion.
This commit is contained in:
Owen Taylor
1998-04-30 15:18:19 +00:00
committed by Owen Taylor
parent 32e8dc45b0
commit 8850ce814d
14 changed files with 415 additions and 104 deletions

View File

@ -55,10 +55,6 @@ static void gtk_menu_item_draw (GtkWidget *widget,
GdkRectangle *area);
static gint gtk_menu_item_expose (GtkWidget *widget,
GdkEventExpose *event);
static gint gtk_menu_item_enter (GtkWidget *widget,
GdkEventCrossing *event);
static gint gtk_menu_item_leave (GtkWidget *widget,
GdkEventCrossing *event);
static void gtk_real_menu_item_select (GtkItem *item);
static void gtk_real_menu_item_deselect (GtkItem *item);
static gint gtk_menu_item_select_timeout (gpointer data);
@ -129,8 +125,6 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
widget_class->remove_accelerator = gtk_menu_item_remove_accel;
widget_class->draw = gtk_menu_item_draw;
widget_class->expose_event = gtk_menu_item_expose;
widget_class->enter_notify_event = gtk_menu_item_enter;
widget_class->leave_notify_event = gtk_menu_item_leave;
widget_class->show_all = gtk_menu_item_show_all;
widget_class->hide_all = gtk_menu_item_hide_all;
@ -595,28 +589,6 @@ gtk_menu_item_expose (GtkWidget *widget,
return FALSE;
}
static gint
gtk_menu_item_enter (GtkWidget *widget,
GdkEventCrossing *event)
{
g_return_val_if_fail (widget != NULL, FALSE);
g_return_val_if_fail (GTK_IS_MENU_ITEM (widget), FALSE);
g_return_val_if_fail (event != NULL, FALSE);
return gtk_widget_event (widget->parent, (GdkEvent*) event);
}
static gint
gtk_menu_item_leave (GtkWidget *widget,
GdkEventCrossing *event)
{
g_return_val_if_fail (widget != NULL, FALSE);
g_return_val_if_fail (GTK_IS_MENU_ITEM (widget), FALSE);
g_return_val_if_fail (event != NULL, FALSE);
return gtk_widget_event (widget->parent, (GdkEvent*) event);
}
static void
gtk_real_menu_item_select (GtkItem *item)
{