Ardour  8.7-14-g57a6773833
gtkhandlebox.h
Go to the documentation of this file.
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3  * Copyright (C) 1998 Elliot Lee
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20 
21 /*
22  * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
23  * file for a list of people on the GTK+ Team. See the ChangeLog
24  * files for a list of changes. These files are distributed with
25  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
26  */
27 
28 /* The GtkHandleBox is to allow widgets to be dragged in and out of
29  * their parents.
30  */
31 
32 #ifndef __GTK_HANDLE_BOX_H__
33 #define __GTK_HANDLE_BOX_H__
34 
35 
36 #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
37 #error "Only <gtk/gtk.h> can be included directly."
38 #endif
39 
40 #include <gtk/gtkbin.h>
41 
42 
43 G_BEGIN_DECLS
44 
45 #define GTK_TYPE_HANDLE_BOX (gtk_handle_box_get_type ())
46 #define GTK_HANDLE_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_HANDLE_BOX, GtkHandleBox))
47 #define GTK_HANDLE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_HANDLE_BOX, GtkHandleBoxClass))
48 #define GTK_IS_HANDLE_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_HANDLE_BOX))
49 #define GTK_IS_HANDLE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HANDLE_BOX))
50 #define GTK_HANDLE_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_HANDLE_BOX, GtkHandleBoxClass))
51 
52 
53 typedef struct _GtkHandleBox GtkHandleBox;
55 
57 {
59 
60  GdkWindow *GSEAL (bin_window); /* parent window for children */
61  GdkWindow *GSEAL (float_window);
62  GtkShadowType GSEAL (shadow_type);
63  guint GSEAL (handle_position) : 2;
64  guint GSEAL (float_window_mapped) : 1;
65  guint GSEAL (child_detached) : 1;
66  guint GSEAL (in_drag) : 1;
67  guint GSEAL (shrink_on_detach) : 1;
68 
69  signed int GSEAL (snap_edge : 3); /* -1 == unset */
70 
71  /* Variables used during a drag
72  */
73  gint GSEAL (deskoff_x); /* Offset between root relative coords */
74  gint GSEAL (deskoff_y); /* and deskrelative coords */
75 
76  GtkAllocation GSEAL (attach_allocation);
77  GtkAllocation GSEAL (float_allocation);
78 };
79 
81 {
83 
84  void (*child_attached) (GtkHandleBox *handle_box,
85  GtkWidget *child);
86  void (*child_detached) (GtkHandleBox *handle_box,
87  GtkWidget *child);
88 
89  /* Padding for future expansion */
90  void (*_gtk_reserved1) (void);
91  void (*_gtk_reserved2) (void);
92  void (*_gtk_reserved3) (void);
93  void (*_gtk_reserved4) (void);
94 };
95 
96 
97 GType gtk_handle_box_get_type (void) G_GNUC_CONST;
100  GtkShadowType type);
106  GtkPositionType edge);
109 
110 G_END_DECLS
111 
112 #endif /* __GTK_HANDLE_BOX_H__ */
GtkPositionType
Definition: gtkenums.h:313
GtkShadowType
Definition: gtkenums.h:390
gboolean gtk_handle_box_get_child_detached(GtkHandleBox *handle_box)
GtkPositionType gtk_handle_box_get_handle_position(GtkHandleBox *handle_box)
GType gtk_handle_box_get_type(void) G_GNUC_CONST
void gtk_handle_box_set_shadow_type(GtkHandleBox *handle_box, GtkShadowType type)
GtkWidget * gtk_handle_box_new(void)
GtkShadowType gtk_handle_box_get_shadow_type(GtkHandleBox *handle_box)
GtkPositionType gtk_handle_box_get_snap_edge(GtkHandleBox *handle_box)
void gtk_handle_box_set_snap_edge(GtkHandleBox *handle_box, GtkPositionType edge)
void gtk_handle_box_set_handle_position(GtkHandleBox *handle_box, GtkPositionType position)
Definition: gtkbin.h:52
void(* _gtk_reserved3)(void)
Definition: gtkhandlebox.h:92
void(* _gtk_reserved2)(void)
Definition: gtkhandlebox.h:91
void(* _gtk_reserved1)(void)
Definition: gtkhandlebox.h:90
void(* child_attached)(GtkHandleBox *handle_box, GtkWidget *child)
Definition: gtkhandlebox.h:84
void(* child_detached)(GtkHandleBox *handle_box, GtkWidget *child)
Definition: gtkhandlebox.h:86
GtkBinClass parent_class
Definition: gtkhandlebox.h:82
void(* _gtk_reserved4)(void)
Definition: gtkhandlebox.h:93
GtkShadowType GSEAL(shadow_type)
GtkAllocation GSEAL(attach_allocation)
gint GSEAL(deskoff_x)
gint GSEAL(deskoff_y)
GtkAllocation GSEAL(float_allocation)
GdkWindow * GSEAL(float_window)
guint GSEAL(handle_position) guint GSEAL(float_window_mapped) guint GSEAL(child_detached) guint GSEAL(in_drag) guint GSEAL(shrink_on_detach) signed int GSEAL(snap_edge :3)
GdkWindow * GSEAL(bin_window)