1 /* 2 * This file is part of d-handy. 3 * 4 * d-handy is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * d-handy 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 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with d-handy; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 module handy.c.types; 20 21 public import gdk.c.types; 22 public import gio.c.types; 23 public import glib.c.types; 24 public import gobject.c.types; 25 public import gtk.c.types; 26 public import pango.c.types; 27 28 29 public enum HdyArrowsDirection 30 { 31 /** 32 * Arrows point upwards 33 */ 34 UP = 0, 35 /** 36 * Arrows point to the left 37 */ 38 DOWN = 1, 39 /** 40 * Arrows point to the right 41 */ 42 LEFT = 2, 43 /** 44 * Arrows point downwards 45 */ 46 RIGHT = 3, 47 } 48 alias HdyArrowsDirection ArrowsDirection; 49 50 public enum HdyCenteringPolicy 51 { 52 /** 53 * Keep the title centered when possible 54 */ 55 LOOSE = 0, 56 /** 57 * Keep the title centered at all cost 58 */ 59 STRICT = 1, 60 } 61 alias HdyCenteringPolicy CenteringPolicy; 62 63 /** 64 * Represents the fold of widgets and other objects which can be switched 65 * between folded and unfolded state on the fly, like HdyLeaflet. 66 */ 67 public enum HdyFold 68 { 69 /** 70 * The element isn't folded 71 */ 72 UNFOLDED = 0, 73 /** 74 * The element is folded 75 */ 76 FOLDED = 1, 77 } 78 alias HdyFold Fold; 79 80 /** 81 * These enumeration values describe the possible transitions between pages in a 82 * #HdyLeaflet widget. 83 * 84 * New values may be added to this enumeration over time. 85 */ 86 public enum HdyLeafletChildTransitionType 87 { 88 /** 89 * No transition 90 */ 91 NONE = 0, 92 /** 93 * A cross-fade 94 */ 95 CROSSFADE = 1, 96 /** 97 * Slide from left, right, up or down according to the orientation, text direction and the children order 98 */ 99 SLIDE = 2, 100 /** 101 * Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order 102 */ 103 OVER = 3, 104 /** 105 * Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order 106 */ 107 UNDER = 4, 108 } 109 alias HdyLeafletChildTransitionType LeafletChildTransitionType; 110 111 /** 112 * These enumeration values describe the possible transitions between pages in a 113 * #HdyLeaflet widget. 114 * 115 * New values may be added to this enumeration over time. 116 */ 117 public enum HdyLeafletModeTransitionType 118 { 119 /** 120 * No transition 121 */ 122 NONE = 0, 123 /** 124 * Slide from left, right, up or down according to the orientation, text direction and the children order 125 */ 126 SLIDE = 1, 127 } 128 alias HdyLeafletModeTransitionType LeafletModeTransitionType; 129 130 /** 131 * These enumeration values describe the possible page indicator styles in a 132 * #HdyPaginator widget. 133 * 134 * New values may be added to this enumeration over time. 135 */ 136 public enum HdyPaginatorIndicatorStyle 137 { 138 /** 139 * No indicators 140 */ 141 NONE = 0, 142 /** 143 * Each page is represented by a dot. Active dot gradually becomes larger and more opaque. 144 */ 145 DOTS = 1, 146 /** 147 * Each page is represented by a thin and long line, and active view is shown with another line that moves between them 148 */ 149 LINES = 2, 150 } 151 alias HdyPaginatorIndicatorStyle PaginatorIndicatorStyle; 152 153 /** 154 * These enumeration values describe the possible transitions between children 155 * in a #HdySqueezer widget. 156 */ 157 public enum HdySqueezerTransitionType 158 { 159 /** 160 * No transition 161 */ 162 NONE = 0, 163 /** 164 * A cross-fade 165 */ 166 CROSSFADE = 1, 167 } 168 alias HdySqueezerTransitionType SqueezerTransitionType; 169 170 public enum HdyViewSwitcherPolicy 171 { 172 /** 173 * Automatically adapt to the best fitting mode 174 */ 175 AUTO = 0, 176 /** 177 * Force the narrow mode 178 */ 179 NARROW = 1, 180 /** 181 * Force the wide mode 182 */ 183 WIDE = 2, 184 } 185 alias HdyViewSwitcherPolicy ViewSwitcherPolicy; 186 187 struct HdyActionRow 188 { 189 HdyPreferencesRow parentInstance; 190 } 191 192 struct HdyActionRowClass 193 { 194 /** 195 * The parent class 196 */ 197 GtkListBoxRowClass parentClass; 198 /** */ 199 extern(C) void function(HdyActionRow* self) activate; 200 } 201 202 struct HdyArrows 203 { 204 GtkDrawingArea parentInstance; 205 } 206 207 struct HdyArrowsClass 208 { 209 /** 210 * The parent class 211 */ 212 GtkDrawingAreaClass parentClass; 213 } 214 215 struct HdyColumn; 216 217 struct HdyColumnClass 218 { 219 GtkBinClass parentClass; 220 } 221 222 struct HdyComboRow 223 { 224 HdyActionRow parentInstance; 225 } 226 227 struct HdyComboRowClass 228 { 229 /** 230 * The parent class 231 */ 232 HdyActionRowClass parentClass; 233 } 234 235 struct HdyDialer 236 { 237 GtkBin parentInstance; 238 } 239 240 struct HdyDialerButton 241 { 242 GtkButton parentInstance; 243 } 244 245 struct HdyDialerButtonClass 246 { 247 GtkButtonClass parentClass; 248 } 249 250 struct HdyDialerClass 251 { 252 /** 253 * The parent class 254 */ 255 GtkBinClass parentClass; 256 /** */ 257 extern(C) void function(HdyDialer* self, const(char)* number) submitted; 258 } 259 260 struct HdyDialerCycleButton 261 { 262 HdyDialerButton parentInstance; 263 } 264 265 struct HdyDialerCycleButtonClass 266 { 267 /** 268 * The parent classqn 269 */ 270 HdyDialerButtonClass parentClass; 271 /** */ 272 extern(C) void function(HdyDialerCycleButton* self) cycleStart; 273 /** */ 274 extern(C) void function(HdyDialerCycleButton* self) cycleEnd; 275 } 276 277 struct HdyDialog 278 { 279 GtkDialog parentInstance; 280 } 281 282 struct HdyDialogClass 283 { 284 GtkDialogClass parentClass; 285 } 286 287 struct HdyEnumValueObject; 288 289 struct HdyEnumValueObjectClass 290 { 291 GObjectClass parentClass; 292 } 293 294 struct HdyExpanderRow 295 { 296 HdyActionRow parentInstance; 297 } 298 299 struct HdyExpanderRowClass 300 { 301 /** 302 * The parent class 303 */ 304 HdyActionRowClass parentClass; 305 } 306 307 struct HdyHeaderBar 308 { 309 GtkContainer parentInstance; 310 } 311 312 struct HdyHeaderBarClass 313 { 314 /** 315 * The parent class 316 */ 317 GtkContainerClass parentClass; 318 } 319 320 struct HdyHeaderGroup 321 { 322 GObject parentInstance; 323 } 324 325 struct HdyHeaderGroupClass 326 { 327 /** 328 * The parent class 329 */ 330 GObjectClass parentClass; 331 } 332 333 struct HdyLeaflet 334 { 335 GtkContainer parentInstance; 336 } 337 338 struct HdyLeafletClass 339 { 340 /** 341 * The parent class 342 */ 343 GtkContainerClass parentClass; 344 /** */ 345 extern(C) void function(HdyLeaflet* self) todo; 346 } 347 348 struct HdyPaginator; 349 350 struct HdyPaginatorClass 351 { 352 GtkEventBoxClass parentClass; 353 } 354 355 struct HdyPreferencesGroup 356 { 357 GtkBox parentInstance; 358 } 359 360 struct HdyPreferencesGroupClass 361 { 362 /** 363 * The parent class 364 */ 365 GtkBoxClass parentClass; 366 } 367 368 struct HdyPreferencesPage 369 { 370 GtkScrolledWindow parentInstance; 371 } 372 373 struct HdyPreferencesPageClass 374 { 375 /** 376 * The parent class 377 */ 378 GtkScrolledWindowClass parentClass; 379 } 380 381 struct HdyPreferencesRow 382 { 383 GtkListBoxRow parentInstance; 384 } 385 386 struct HdyPreferencesRowClass 387 { 388 /** 389 * The parent class 390 */ 391 GtkListBoxRowClass parentClass; 392 } 393 394 struct HdyPreferencesWindow 395 { 396 GtkWindow parentInstance; 397 } 398 399 struct HdyPreferencesWindowClass 400 { 401 /** 402 * The parent class 403 */ 404 GtkWindowClass parentClass; 405 } 406 407 struct HdySearchBar 408 { 409 GtkBin parentInstance; 410 } 411 412 struct HdySearchBarClass 413 { 414 GtkBinClass parentClass; 415 } 416 417 struct HdySqueezer 418 { 419 GtkContainer parentInstance; 420 } 421 422 struct HdySqueezerClass 423 { 424 /** 425 * The parent class 426 */ 427 GtkContainerClass parentClass; 428 } 429 430 struct HdyTitleBar; 431 432 struct HdyTitleBarClass 433 { 434 GtkBinClass parentClass; 435 } 436 437 struct HdyValueObject; 438 439 struct HdyValueObjectClass 440 { 441 GObjectClass parentClass; 442 } 443 444 struct HdyViewSwitcher 445 { 446 GtkBox parentInstance; 447 } 448 449 struct HdyViewSwitcherBar 450 { 451 GtkBin parentInstance; 452 } 453 454 struct HdyViewSwitcherBarClass 455 { 456 GtkBinClass parentClass; 457 } 458 459 struct HdyViewSwitcherClass 460 { 461 GtkBoxClass parentClass; 462 } 463 464 /** 465 * Called for combo rows that are bound to an enumeration with 466 * hdy_combo_row_set_for_enum() for each value from that enumeration. 467 * 468 * Params: 469 * value = the value from the enum from which to get a name 470 * userData = user data 471 * 472 * Returns: a newly allocated displayable name that represents @value 473 */ 474 public alias extern(C) char* function(HdyEnumValueObject* value, void* userData) HdyComboRowGetEnumValueNameFunc; 475 476 /** 477 * Called for combo rows that are bound to a #GListModel with 478 * hdy_combo_row_bind_name_model() for each item that gets added to the model. 479 * 480 * Params: 481 * item = the item from the model from which to get a name 482 * userData = user data 483 * 484 * Returns: a newly allocated displayable name that represents @item 485 */ 486 public alias extern(C) char* function(void* item, void* userData) HdyComboRowGetNameFunc;