forked from AuroraMiddleware/gtk
9258a7aecb
Thu Feb 5 02:13:08 1998 Tim Janik <timj@gimp.org> * gtk/gtklist.h: * gtk/gtklist.c (gtk_list_remove_items_no_unref): new function to perform the same actions as gtk_list_remove_items, but supply the removed widgets with an additional reference count. * gtk/gtkmain.c (gtk_main_iteration_do): ignore events with event_widget == NULL, since they are bogus events from destroyed GdkWindows, exept for the case where event->type==GDK_PROPERTY_NOTIFY. Always handle expired timeout functions when returning from this function. * gtk/gtkwidget.c (gtk_widget_event): ignore GDK_EXPOSE events if event->window == NULL. Also, if this function couldn't handle the event for any reason (including failing assumptions), make the return value to look as if the event had been handled to avoid further processing (and warnings). * gtk/gtkwidget.h: * gtk/gtkwidget.c: remove gtk_widget_sink, because there is no point in providing such a function. * gdk/gdk.c (gdk_init): changed options `-name' and `-class' to `--name' and `--class', because the old names would confuse getopt(). these arguments have been introduced in the changes from gtk+970916 to gtk+970925 without a ChangeLog entry, changing argument names is painful, it would be nice if people would care about compatibility and consistency in the first place!
103 lines
3.2 KiB
C
103 lines
3.2 KiB
C
/* GTK - The GIMP Toolkit
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the Free
|
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
#ifndef __GTK_LIST_H__
|
|
#define __GTK_LIST_H__
|
|
|
|
|
|
#include <gdk/gdk.h>
|
|
#include <gtk/gtkenums.h>
|
|
#include <gtk/gtkcontainer.h>
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#define GTK_LIST(obj) GTK_CHECK_CAST (obj, gtk_list_get_type (), GtkList)
|
|
#define GTK_LIST_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_list_get_type (), GtkListClass)
|
|
#define GTK_IS_LIST(obj) GTK_CHECK_TYPE (obj, gtk_list_get_type ())
|
|
|
|
|
|
typedef struct _GtkList GtkList;
|
|
typedef struct _GtkListClass GtkListClass;
|
|
|
|
struct _GtkList
|
|
{
|
|
GtkContainer container;
|
|
|
|
GList *children;
|
|
GList *selection;
|
|
|
|
guint32 timer;
|
|
guint16 selection_start_pos;
|
|
guint16 selection_end_pos;
|
|
guint selection_mode : 2;
|
|
guint scroll_direction : 1;
|
|
guint have_grab : 1;
|
|
};
|
|
|
|
struct _GtkListClass
|
|
{
|
|
GtkContainerClass parent_class;
|
|
|
|
void (* selection_changed) (GtkList *list);
|
|
void (* select_child) (GtkList *list,
|
|
GtkWidget *child);
|
|
void (* unselect_child) (GtkList *list,
|
|
GtkWidget *child);
|
|
};
|
|
|
|
|
|
guint gtk_list_get_type (void);
|
|
GtkWidget* gtk_list_new (void);
|
|
void gtk_list_insert_items (GtkList *list,
|
|
GList *items,
|
|
gint position);
|
|
void gtk_list_append_items (GtkList *list,
|
|
GList *items);
|
|
void gtk_list_prepend_items (GtkList *list,
|
|
GList *items);
|
|
void gtk_list_remove_items (GtkList *list,
|
|
GList *items);
|
|
void gtk_list_remove_items_no_unref (GtkList *list,
|
|
GList *items);
|
|
void gtk_list_clear_items (GtkList *list,
|
|
gint start,
|
|
gint end);
|
|
void gtk_list_select_item (GtkList *list,
|
|
gint item);
|
|
void gtk_list_unselect_item (GtkList *list,
|
|
gint item);
|
|
void gtk_list_select_child (GtkList *list,
|
|
GtkWidget *child);
|
|
void gtk_list_unselect_child (GtkList *list,
|
|
GtkWidget *child);
|
|
gint gtk_list_child_position (GtkList *list,
|
|
GtkWidget *child);
|
|
void gtk_list_set_selection_mode (GtkList *list,
|
|
GtkSelectionMode mode);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#endif /* __GTK_LIST_H__ */
|