BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
glewidgets.h
Go to the documentation of this file.
00001  #ifndef __GLE_WIDGETS_H__
00002 #define __GLE_WIDGETS_H__
00003 #include <gtk/gtk.h>
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif /* __cplusplus */
00007 
00008 /* GTK - The GIMP Toolkit
00009  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
00010  *
00011  * GtkWrapBox: Wrapping box widget
00012  * Copyright (C) 1999 Tim Janik
00013  *
00014  * This library is free software; you can redistribute it and/or
00015  * modify it under the terms of the GNU Library General Public
00016  * License as published by the Free Software Foundation; either
00017  * version 2 of the License, or (at your option) any later version.
00018  *
00019  * This library is distributed in the hope that it will be useful,
00020  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00022  * Library General Public License for more details.
00023  *
00024  * You should have received a copy of the GNU Library General Public
00025  * License along with this library; if not, write to the
00026  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00027  * Boston, MA 02111-1307, USA.
00028  */
00029 #ifndef __GTK_WRAP_BOX_H__
00030 #define __GTK_WRAP_BOX_H__
00031 
00032 
00033 /* #include <gdk/gdk.h> */
00034 /* #include <gtk/gtkcontainer.h> */
00035 
00036 
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif /* __cplusplus */
00040 
00041 
00042 /* --- type macros --- */
00043 #define GTK_TYPE_WRAP_BOX            (gtk_wrap_box_get_type ())
00044 #define GTK_WRAP_BOX(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_WRAP_BOX, GtkWrapBox))
00045 #define GTK_WRAP_BOX_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_WRAP_BOX, GtkWrapBoxClass))
00046 #define GTK_IS_WRAP_BOX(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_WRAP_BOX))
00047 #define GTK_IS_WRAP_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WRAP_BOX))
00048 #define GTK_WRAP_BOX_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_WRAP_BOX, GtkWrapBoxClass))
00049 
00050 
00051 /* --- typedefs --- */
00052 typedef struct _GtkWrapBox      GtkWrapBox;
00053 typedef struct _GtkWrapBoxClass GtkWrapBoxClass;
00054 typedef struct _GtkWrapBoxChild GtkWrapBoxChild;
00055 
00056 /* --- GtkWrapBox --- */
00057 struct _GtkWrapBox
00058 {
00059   GtkContainer     container;
00060 
00061   guint            homogeneous : 1;
00062   guint            justify : 4;
00063   guint            line_justify : 4;
00064   guint8           hspacing;
00065   guint8           vspacing;
00066   guint16          n_children;
00067   GtkWrapBoxChild *children;
00068   gfloat           aspect_ratio; /* 1/256..256 */
00069   guint            child_limit;
00070 };
00071 struct _GtkWrapBoxClass
00072 {
00073   GtkContainerClass parent_class;
00074 
00075   GSList* (*rlist_line_children) (GtkWrapBox       *wbox,
00076                                   GtkWrapBoxChild **child_p,
00077                                   GtkAllocation    *area,
00078                                   guint            *max_child_size,
00079                                   gboolean         *expand_line);
00080 };
00081 struct _GtkWrapBoxChild
00082 {
00083   GtkWidget *widget;
00084   guint      hexpand : 1;
00085   guint      hfill : 1;
00086   guint      vexpand : 1;
00087   guint      vfill : 1;
00088   guint      wrapped : 1;
00089 
00090   GtkWrapBoxChild *next;
00091 };
00092 #define GTK_JUSTIFY_TOP    GTK_JUSTIFY_LEFT
00093 #define GTK_JUSTIFY_BOTTOM GTK_JUSTIFY_RIGHT
00094 
00095 
00096 /* --- prototypes --- */
00097 GtkType    gtk_wrap_box_get_type            (void);
00098 void       gtk_wrap_box_set_homogeneous     (GtkWrapBox      *wbox,
00099                                              gboolean         homogeneous);
00100 void       gtk_wrap_box_set_hspacing        (GtkWrapBox      *wbox,
00101                                              guint            hspacing);
00102 void       gtk_wrap_box_set_vspacing        (GtkWrapBox      *wbox,
00103                                              guint            vspacing);
00104 void       gtk_wrap_box_set_justify         (GtkWrapBox      *wbox,
00105                                              GtkJustification justify);
00106 void       gtk_wrap_box_set_line_justify    (GtkWrapBox      *wbox,
00107                                              GtkJustification line_justify);
00108 void       gtk_wrap_box_set_aspect_ratio    (GtkWrapBox      *wbox,
00109                                              gfloat           aspect_ratio);
00110 void       gtk_wrap_box_pack                (GtkWrapBox      *wbox,
00111                                              GtkWidget       *child,
00112                                              gboolean         hexpand,
00113                                              gboolean         hfill,
00114                                              gboolean         vexpand,
00115                                              gboolean         vfill);
00116 void       gtk_wrap_box_pack_wrapped        (GtkWrapBox      *wbox,
00117                                              GtkWidget       *child,
00118                                              gboolean         hexpand,
00119                                              gboolean         hfill,
00120                                              gboolean         vexpand,
00121                                              gboolean         vfill,
00122                                              gboolean         wrapped);
00123 void       gtk_wrap_box_reorder_child       (GtkWrapBox      *wbox,
00124                                              GtkWidget       *child,
00125                                              gint             position);
00126 void       gtk_wrap_box_query_child_packing (GtkWrapBox      *wbox,
00127                                              GtkWidget       *child,
00128                                              gboolean        *hexpand,
00129                                              gboolean        *hfill,
00130                                              gboolean        *vexpand,
00131                                              gboolean        *vfill,
00132                                              gboolean        *wrapped);
00133 void       gtk_wrap_box_set_child_packing   (GtkWrapBox      *wbox,
00134                                              GtkWidget       *child,
00135                                              gboolean         hexpand,
00136                                              gboolean         hfill,
00137                                              gboolean         vexpand,
00138                                              gboolean         vfill,
00139                                              gboolean         wrapped);
00140 guint*     gtk_wrap_box_query_line_lengths  (GtkWrapBox      *wbox,
00141                                              guint           *n_lines);
00142 
00143 
00144 
00145 #ifdef __cplusplus
00146 }
00147 #endif /* __cplusplus */
00148 
00149 
00150 #endif /* __GTK_WRAP_BOX_H__ */
00151 /* GTK - The GIMP Toolkit
00152  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
00153  *
00154  * GtkHWrapBox: Horizontal wrapping box widget
00155  * Copyright (C) 1999 Tim Janik
00156  *
00157  * This library is free software; you can redistribute it and/or
00158  * modify it under the terms of the GNU Library General Public
00159  * License as published by the Free Software Foundation; either
00160  * version 2 of the License, or (at your option) any later version.
00161  *
00162  * This library is distributed in the hope that it will be useful,
00163  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00164  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00165  * Library General Public License for more details.
00166  *
00167  * You should have received a copy of the GNU Library General Public
00168  * License along with this library; if not, write to the
00169  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00170  * Boston, MA 02111-1307, USA.
00171  */
00172 #ifndef __GTK_HWRAP_BOX_H__
00173 #define __GTK_HWRAP_BOX_H__
00174 
00175 
00176 /* #include <gle/gtkwrapbox.h> */
00177 
00178 
00179 #ifdef __cplusplus
00180 extern "C" {
00181 #endif /* __cplusplus */
00182 
00183 
00184 /* --- type macros --- */
00185 #define GTK_TYPE_HWRAP_BOX            (gtk_hwrap_box_get_type ())
00186 #define GTK_HWRAP_BOX(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_HWRAP_BOX, GtkHWrapBox))
00187 #define GTK_HWRAP_BOX_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_HWRAP_BOX, GtkHWrapBoxClass))
00188 #define GTK_IS_HWRAP_BOX(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_HWRAP_BOX))
00189 #define GTK_IS_HWRAP_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HWRAP_BOX))
00190 #define GTK_HWRAP_BOX_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_HWRAP_BOX, GtkHWrapBoxClass))
00191 
00192 
00193 /* --- typedefs --- */
00194 typedef struct _GtkHWrapBox      GtkHWrapBox;
00195 typedef struct _GtkHWrapBoxClass GtkHWrapBoxClass;
00196 
00197 
00198 /* --- GtkHWrapBox --- */
00199 struct _GtkHWrapBox
00200 {
00201   GtkWrapBox parent_widget;
00202 
00203   /*<h2v-off>*/
00204   guint      max_child_width;
00205   guint      max_child_height;
00206   /*<h2v-on>*/
00207 };
00208 
00209 struct _GtkHWrapBoxClass
00210 {
00211   GtkWrapBoxClass parent_class;
00212 };
00213 
00214 
00215 /* --- prototypes --- */
00216 GtkType    gtk_hwrap_box_get_type           (void);
00217 GtkWidget* gtk_hwrap_box_new                (gboolean homogeneous);
00218 
00219 
00220 #ifdef __cplusplus
00221 }
00222 #endif /* __cplusplus */
00223 
00224 
00225 #endif /* __GTK_HWRAP_BOX_H__ */
00226 /* GTK - The GIMP Toolkit
00227  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
00228  *
00229  * GtkVWrapBox: Vertical wrapping box widget
00230  * Copyright (C) 1999 Tim Janik
00231  *
00232  * This library is free software; you can redistribute it and/or
00233  * modify it under the terms of the GNU Library General Public
00234  * License as published by the Free Software Foundation; either
00235  * version 2 of the License, or (at your option) any later version.
00236  *
00237  * This library is distributed in the hope that it will be useful,
00238  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00239  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00240  * Library General Public License for more details.
00241  *
00242  * You should have received a copy of the GNU Library General Public
00243  * License along with this library; if not, write to the
00244  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00245  * Boston, MA 02111-1307, USA.
00246  */
00247 #ifndef __GTK_VWRAP_BOX_H__
00248 #define __GTK_VWRAP_BOX_H__
00249 
00250 
00251 /* #include <gle/gtkwrapbox.h> */
00252 
00253 
00254 #ifdef __cplusplus
00255 extern "C" {
00256 #endif /* __cplusplus */
00257 
00258 
00259 /* --- type macros --- */
00260 #define GTK_TYPE_VWRAP_BOX            (gtk_vwrap_box_get_type ())
00261 #define GTK_VWRAP_BOX(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_VWRAP_BOX, GtkVWrapBox))
00262 #define GTK_VWRAP_BOX_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VWRAP_BOX, GtkVWrapBoxClass))
00263 #define GTK_IS_VWRAP_BOX(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_VWRAP_BOX))
00264 #define GTK_IS_VWRAP_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VWRAP_BOX))
00265 #define GTK_VWRAP_BOX_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_VWRAP_BOX, GtkVWrapBoxClass))
00266 
00267 
00268 /* --- typedefs --- */
00269 typedef struct _GtkVWrapBox      GtkVWrapBox;
00270 typedef struct _GtkVWrapBoxClass GtkVWrapBoxClass;
00271 
00272 
00273 /* --- GtkVWrapBox --- */
00274 struct _GtkVWrapBox
00275 {
00276   GtkWrapBox parent_widget;
00277 
00278   /*<h2v-off>*/
00279   guint      max_child_width;
00280   guint      max_child_height;
00281   /*<h2v-on>*/
00282 };
00283 
00284 struct _GtkVWrapBoxClass
00285 {
00286   GtkWrapBoxClass parent_class;
00287 };
00288 
00289 
00290 /* --- prototypes --- */
00291 GtkType    gtk_vwrap_box_get_type           (void);
00292 GtkWidget* gtk_vwrap_box_new                (gboolean homogeneous);
00293 
00294 
00295 #ifdef __cplusplus
00296 }
00297 #endif /* __cplusplus */
00298 
00299 
00300 #endif /* __GTK_VWRAP_BOX_H__ */
00301 #ifdef __cplusplus
00302 }
00303 #endif /* __cplusplus */
00304 #endif /* __GLE_WIDGETS_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines