BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
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__ */