1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD 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 * gtkD 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 gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 /* 25 * Conversion parameters: 26 * inFile = gobject-Generic-values.html 27 * outPack = gobject 28 * outFile = Value 29 * strct = GValue 30 * realStrct= 31 * ctorStrct= 32 * clss = Value 33 * interf = 34 * class Code: Yes 35 * interface Code: No 36 * template for: 37 * extend = 38 * implements: 39 * prefixes: 40 * - g_value_ 41 * omit structs: 42 * - GValue 43 * omit prefixes: 44 * omit code: 45 * - g_value_init 46 * - g_value_reset 47 * omit signals: 48 * imports: 49 * - glib.Str 50 * - gobject.ParamSpec 51 * - gdk.Pixbuf 52 * - glib.Variant 53 * - glib.VariantType 54 * structWrap: 55 * - GParamSpec* -> ParamSpec 56 * - GValue* -> Value 57 * - GVariant* -> Variant 58 * - GVariantType* -> VariantType 59 * module aliases: 60 * local aliases: 61 * overrides: 62 */ 63 64 module gobject.Value; 65 66 public import gtkc.gobjecttypes; 67 68 private import gtkc.gobject; 69 private import glib.ConstructionException; 70 private import gobject.ObjectG; 71 72 private import glib.Str; 73 private import gobject.ParamSpec; 74 private import gdk.Pixbuf; 75 private import glib.Variant; 76 private import glib.VariantType; 77 78 79 80 /** 81 * The GValue structure is basically a variable container that consists 82 * of a type identifier and a specific value of that type. 83 * The type identifier within a GValue structure always determines the 84 * type of the associated value. 85 * To create a undefined GValue structure, simply create a zero-filled 86 * GValue structure. To initialize the GValue, use the g_value_init() 87 * function. A GValue cannot be used until it is initialized. 88 * The basic type operations (such as freeing and copying) are determined 89 * by the GTypeValueTable associated with the type ID stored in the GValue. 90 * Other GValue operations (such as converting values between types) are 91 * provided by this interface. 92 * 93 * The code in the example program below demonstrates GValue's 94 * features. 95 * 96 * $(DDOC_COMMENT example) 97 */ 98 public class Value 99 { 100 101 /** the main Gtk struct */ 102 protected GValue* gValue; 103 104 105 /** Get the main Gtk struct */ 106 public GValue* getValueStruct() 107 { 108 return gValue; 109 } 110 111 112 /** the main Gtk struct as a void* */ 113 protected void* getStruct() 114 { 115 return cast(void*)gValue; 116 } 117 118 /** 119 * Sets our main struct and passes it to the parent class 120 */ 121 public this (GValue* gValue) 122 { 123 this.gValue = gValue; 124 } 125 126 /** */ 127 public this() 128 { 129 this(new GValue); 130 } 131 132 /** */ 133 this(Pixbuf pixbuf) 134 { 135 GValue* v = new GValue; 136 //v.g_type = DUIType.PIXBUF; 137 v.g_type = Pixbuf.getType(); 138 v.data1.v_pointer = cast(void*)(pixbuf.getPixbufStruct()); 139 this(v); 140 } 141 142 /** */ 143 this(string value) 144 { 145 this(); 146 init(GType.STRING); 147 setString(value); 148 } 149 150 /** */ 151 this(int value) 152 { 153 this(); 154 init(GType.INT); 155 setInt(value); 156 } 157 158 /** */ 159 this(float value) 160 { 161 this(); 162 init(GType.FLOAT); 163 setFloat(value); 164 } 165 166 /** */ 167 this(double value) 168 { 169 this(); 170 init(GType.DOUBLE); 171 setDouble(value); 172 } 173 174 /** 175 * Initializes value with the default value of type. 176 * Params: 177 * value = A zero-filled (uninitialized) GValue structure. 178 * g_type = Type the GValue should hold values of. 179 * Returns: 180 * the GValue structure that has been passed in 181 */ 182 public Value init(GType gType) 183 { 184 // GValue* g_value_init (GValue *value, GType g_type); 185 g_value_init(gValue, gType); 186 return this; 187 } 188 189 /** 190 * Clears the current value in value and resets it to the default value 191 * (as if the value had just been initialized). 192 * Params: 193 * value = An initialized GValue structure. 194 * Returns: 195 * the GValue structure that has been passed in 196 */ 197 public Value reset() 198 { 199 // GValue* g_value_reset (GValue *value); 200 g_value_reset(gValue); 201 return this; 202 } 203 204 205 206 /** 207 * GValue provides an abstract container structure which can be 208 * copied, transformed and compared while holding a value of any 209 * (derived) type, which is registered as a GType with a 210 * GTypeValueTable in its GTypeInfo structure. Parameter 211 * specifications for most value types can be created as GParamSpec 212 * derived instances, to implement e.g. GObject properties which 213 * operate on GValue containers. 214 * 215 * Parameter names need to start with a letter (a-z or A-Z). Subsequent 216 * characters can be letters, numbers or a '-'. 217 * All other characters are replaced by a '-' during construction. 218 */ 219 220 /** 221 * Copies the value of src_value into dest_value. 222 * Params: 223 * destValue = An initialized GValue structure of the same type as src_value. 224 */ 225 public void copy(Value destValue) 226 { 227 // void g_value_copy (const GValue *src_value, GValue *dest_value); 228 g_value_copy(gValue, (destValue is null) ? null : destValue.getValueStruct()); 229 } 230 231 /** 232 * Clears the current value in value and "unsets" the type, 233 * this releases all resources associated with this GValue. 234 * An unset value is the same as an uninitialized (zero-filled) 235 * GValue structure. 236 */ 237 public void unset() 238 { 239 // void g_value_unset (GValue *value); 240 g_value_unset(gValue); 241 } 242 243 /** 244 * Sets value from an instantiatable type via the 245 * value_table's collect_value() function. 246 */ 247 public void setInstance(void* instanc) 248 { 249 // void g_value_set_instance (GValue *value, gpointer instance); 250 g_value_set_instance(gValue, instanc); 251 } 252 253 /** 254 * Determines if value will fit inside the size of a pointer value. 255 * This is an internal function introduced mainly for C marshallers. 256 * Returns: TRUE if value will fit inside a pointer value. 257 */ 258 public int fitsPointer() 259 { 260 // gboolean g_value_fits_pointer (const GValue *value); 261 return g_value_fits_pointer(gValue); 262 } 263 264 /** 265 * Returns: the value contents as pointer. This function asserts that g_value_fits_pointer() returned TRUE for the passed in value. This is an internal function introduced mainly for C marshallers. [transfer none] 266 */ 267 public void* peekPointer() 268 { 269 // gpointer g_value_peek_pointer (const GValue *value); 270 return g_value_peek_pointer(gValue); 271 } 272 273 /** 274 * Returns whether a GValue of type src_type can be copied into 275 * a GValue of type dest_type. 276 * Params: 277 * srcType = source type to be copied. 278 * destType = destination type for copying. 279 * Returns: TRUE if g_value_copy() is possible with src_type and dest_type. 280 */ 281 public static int typeCompatible(GType srcType, GType destType) 282 { 283 // gboolean g_value_type_compatible (GType src_type, GType dest_type); 284 return g_value_type_compatible(srcType, destType); 285 } 286 287 /** 288 * Check whether g_value_transform() is able to transform values 289 * of type src_type into values of type dest_type. 290 * Params: 291 * srcType = Source type. 292 * destType = Target type. 293 * Returns: TRUE if the transformation is possible, FALSE otherwise. 294 */ 295 public static int typeTransformable(GType srcType, GType destType) 296 { 297 // gboolean g_value_type_transformable (GType src_type, GType dest_type); 298 return g_value_type_transformable(srcType, destType); 299 } 300 301 /** 302 * Tries to cast the contents of src_value into a type appropriate 303 * to store in dest_value, e.g. to transform a G_TYPE_INT value 304 * into a G_TYPE_FLOAT value. Performing transformations between 305 * value types might incur precision lossage. Especially 306 * transformations into strings might reveal seemingly arbitrary 307 * results and shouldn't be relied upon for production code (such 308 * as rcfile value or object property serialization). 309 * Params: 310 * destValue = Target value. 311 * Returns: Whether a transformation rule was found and could be applied. Upon failing transformations, dest_value is left untouched. 312 */ 313 public int transform(Value destValue) 314 { 315 // gboolean g_value_transform (const GValue *src_value, GValue *dest_value); 316 return g_value_transform(gValue, (destValue is null) ? null : destValue.getValueStruct()); 317 } 318 319 /** 320 * Registers a value transformation function for use in g_value_transform(). 321 * A previously registered transformation function for src_type and dest_type 322 * will be replaced. 323 * Params: 324 * srcType = Source type. 325 * destType = Target type. 326 * transformFunc = a function which transforms values of type src_type 327 * into value of type dest_type 328 */ 329 public static void registerTransformFunc(GType srcType, GType destType, GValueTransform transformFunc) 330 { 331 // void g_value_register_transform_func (GType src_type, GType dest_type, GValueTransform transform_func); 332 g_value_register_transform_func(srcType, destType, transformFunc); 333 } 334 335 /** 336 * Return a newly allocated string, which describes the contents of a 337 * GValue. The main purpose of this function is to describe GValue 338 * contents for debugging output, the way in which the contents are 339 * described may change between different GLib versions. 340 * Returns: Newly allocated string. 341 */ 342 public string gStrdupValueContents() 343 { 344 // gchar * g_strdup_value_contents (const GValue *value); 345 return Str.toString(g_strdup_value_contents(gValue)); 346 } 347 348 /** 349 * Creates a new GParamSpecBoolean instance specifying a G_TYPE_BOOLEAN 350 * property. 351 * See g_param_spec_internal() for details on property names. 352 * Params: 353 * name = canonical name of the property specified 354 * nick = nick name for the property specified 355 * blurb = description of the property specified 356 * defaultValue = default value for the property specified 357 * flags = flags for the property specified 358 * Returns: a newly created parameter specification. [transfer full] 359 */ 360 public static ParamSpec gParamSpecBoolean(string name, string nick, string blurb, int defaultValue, GParamFlags flags) 361 { 362 // GParamSpec * g_param_spec_boolean (const gchar *name, const gchar *nick, const gchar *blurb, gboolean default_value, GParamFlags flags); 363 auto p = g_param_spec_boolean(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), defaultValue, flags); 364 365 if(p is null) 366 { 367 return null; 368 } 369 370 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 371 } 372 373 /** 374 * Set the contents of a G_TYPE_BOOLEAN GValue to v_boolean. 375 * Params: 376 * vBoolean = boolean value to be set 377 */ 378 public void setBoolean(int vBoolean) 379 { 380 // void g_value_set_boolean (GValue *value, gboolean v_boolean); 381 g_value_set_boolean(gValue, vBoolean); 382 } 383 384 /** 385 * Get the contents of a G_TYPE_BOOLEAN GValue. 386 * Returns: boolean contents of value 387 */ 388 public int getBoolean() 389 { 390 // gboolean g_value_get_boolean (const GValue *value); 391 return g_value_get_boolean(gValue); 392 } 393 394 /** 395 * Creates a new GParamSpecChar instance specifying a G_TYPE_CHAR property. 396 * Params: 397 * name = canonical name of the property specified 398 * nick = nick name for the property specified 399 * blurb = description of the property specified 400 * minimum = minimum value for the property specified 401 * maximum = maximum value for the property specified 402 * defaultValue = default value for the property specified 403 * flags = flags for the property specified 404 * Returns: a newly created parameter specification. [transfer full] 405 */ 406 public static ParamSpec gParamSpecChar(string name, string nick, string blurb, byte minimum, byte maximum, byte defaultValue, GParamFlags flags) 407 { 408 // GParamSpec * g_param_spec_char (const gchar *name, const gchar *nick, const gchar *blurb, gint8 minimum, gint8 maximum, gint8 default_value, GParamFlags flags); 409 auto p = g_param_spec_char(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 410 411 if(p is null) 412 { 413 return null; 414 } 415 416 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 417 } 418 419 /** 420 * Warning 421 * g_value_set_char has been deprecated since version 2.32 and should not be used in newly-written code. This function's input type is broken, see g_value_set_schar() 422 * Set the contents of a G_TYPE_CHAR GValue to v_char. 423 * Params: 424 * vChar = character value to be set 425 */ 426 public void setChar(char vChar) 427 { 428 // void g_value_set_char (GValue *value, gchar v_char); 429 g_value_set_char(gValue, vChar); 430 } 431 432 /** 433 * Warning 434 * g_value_get_char has been deprecated since version 2.32 and should not be used in newly-written code. This function's return type is broken, see g_value_get_schar() 435 * Do not use this function; it is broken on platforms where the char 436 * type is unsigned, such as ARM and PowerPC. See g_value_get_schar(). 437 * Get the contents of a G_TYPE_CHAR GValue. 438 * Returns: character contents of value 439 */ 440 public char getChar() 441 { 442 // gchar g_value_get_char (const GValue *value); 443 return g_value_get_char(gValue); 444 } 445 446 /** 447 * Get the contents of a G_TYPE_CHAR GValue. 448 * Since 2.32 449 * Returns: signed 8 bit integer contents of value 450 */ 451 public byte getSchar() 452 { 453 // gint8 g_value_get_schar (const GValue *value); 454 return g_value_get_schar(gValue); 455 } 456 457 /** 458 * Set the contents of a G_TYPE_CHAR GValue to v_char. 459 * Since 2.32 460 * Params: 461 * vChar = signed 8 bit integer to be set 462 */ 463 public void setSchar(byte vChar) 464 { 465 // void g_value_set_schar (GValue *value, gint8 v_char); 466 g_value_set_schar(gValue, vChar); 467 } 468 469 /** 470 * Creates a new GParamSpecUChar instance specifying a G_TYPE_UCHAR property. 471 * Params: 472 * name = canonical name of the property specified 473 * nick = nick name for the property specified 474 * blurb = description of the property specified 475 * minimum = minimum value for the property specified 476 * maximum = maximum value for the property specified 477 * defaultValue = default value for the property specified 478 * flags = flags for the property specified 479 * Returns: a newly created parameter specification. [transfer full] 480 */ 481 public static ParamSpec gParamSpecUchar(string name, string nick, string blurb, ubyte minimum, ubyte maximum, ubyte defaultValue, GParamFlags flags) 482 { 483 // GParamSpec * g_param_spec_uchar (const gchar *name, const gchar *nick, const gchar *blurb, guint8 minimum, guint8 maximum, guint8 default_value, GParamFlags flags); 484 auto p = g_param_spec_uchar(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 485 486 if(p is null) 487 { 488 return null; 489 } 490 491 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 492 } 493 494 /** 495 * Set the contents of a G_TYPE_UCHAR GValue to v_uchar. 496 * Params: 497 * vUchar = unsigned character value to be set 498 */ 499 public void setUchar(char vUchar) 500 { 501 // void g_value_set_uchar (GValue *value, guchar v_uchar); 502 g_value_set_uchar(gValue, vUchar); 503 } 504 505 /** 506 * Get the contents of a G_TYPE_UCHAR GValue. 507 * Returns: unsigned character contents of value 508 */ 509 public char getUchar() 510 { 511 // guchar g_value_get_uchar (const GValue *value); 512 return g_value_get_uchar(gValue); 513 } 514 515 /** 516 * Creates a new GParamSpecInt instance specifying a G_TYPE_INT property. 517 * See g_param_spec_internal() for details on property names. 518 * Params: 519 * name = canonical name of the property specified 520 * nick = nick name for the property specified 521 * blurb = description of the property specified 522 * minimum = minimum value for the property specified 523 * maximum = maximum value for the property specified 524 * defaultValue = default value for the property specified 525 * flags = flags for the property specified 526 * Returns: a newly created parameter specification. [transfer full] 527 */ 528 public static ParamSpec gParamSpecInt(string name, string nick, string blurb, int minimum, int maximum, int defaultValue, GParamFlags flags) 529 { 530 // GParamSpec * g_param_spec_int (const gchar *name, const gchar *nick, const gchar *blurb, gint minimum, gint maximum, gint default_value, GParamFlags flags); 531 auto p = g_param_spec_int(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 532 533 if(p is null) 534 { 535 return null; 536 } 537 538 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 539 } 540 541 /** 542 * Set the contents of a G_TYPE_INT GValue to v_int. 543 * Params: 544 * vInt = integer value to be set 545 */ 546 public void setInt(int vInt) 547 { 548 // void g_value_set_int (GValue *value, gint v_int); 549 g_value_set_int(gValue, vInt); 550 } 551 552 /** 553 * Get the contents of a G_TYPE_INT GValue. 554 * Returns: integer contents of value 555 */ 556 public int getInt() 557 { 558 // gint g_value_get_int (const GValue *value); 559 return g_value_get_int(gValue); 560 } 561 562 /** 563 * Creates a new GParamSpecUInt instance specifying a G_TYPE_UINT property. 564 * See g_param_spec_internal() for details on property names. 565 * Params: 566 * name = canonical name of the property specified 567 * nick = nick name for the property specified 568 * blurb = description of the property specified 569 * minimum = minimum value for the property specified 570 * maximum = maximum value for the property specified 571 * defaultValue = default value for the property specified 572 * flags = flags for the property specified 573 * Returns: a newly created parameter specification. [transfer full] 574 */ 575 public static ParamSpec gParamSpecUint(string name, string nick, string blurb, uint minimum, uint maximum, uint defaultValue, GParamFlags flags) 576 { 577 // GParamSpec * g_param_spec_uint (const gchar *name, const gchar *nick, const gchar *blurb, guint minimum, guint maximum, guint default_value, GParamFlags flags); 578 auto p = g_param_spec_uint(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 579 580 if(p is null) 581 { 582 return null; 583 } 584 585 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 586 } 587 588 /** 589 * Set the contents of a G_TYPE_UINT GValue to v_uint. 590 * Params: 591 * vUint = unsigned integer value to be set 592 */ 593 public void setUint(uint vUint) 594 { 595 // void g_value_set_uint (GValue *value, guint v_uint); 596 g_value_set_uint(gValue, vUint); 597 } 598 599 /** 600 * Get the contents of a G_TYPE_UINT GValue. 601 * Returns: unsigned integer contents of value 602 */ 603 public uint getUint() 604 { 605 // guint g_value_get_uint (const GValue *value); 606 return g_value_get_uint(gValue); 607 } 608 609 /** 610 * Creates a new GParamSpecLong instance specifying a G_TYPE_LONG property. 611 * See g_param_spec_internal() for details on property names. 612 * Params: 613 * name = canonical name of the property specified 614 * nick = nick name for the property specified 615 * blurb = description of the property specified 616 * minimum = minimum value for the property specified 617 * maximum = maximum value for the property specified 618 * defaultValue = default value for the property specified 619 * flags = flags for the property specified 620 * Returns: a newly created parameter specification. [transfer full] 621 */ 622 public static ParamSpec gParamSpecLong(string name, string nick, string blurb, glong minimum, glong maximum, glong defaultValue, GParamFlags flags) 623 { 624 // GParamSpec * g_param_spec_long (const gchar *name, const gchar *nick, const gchar *blurb, glong minimum, glong maximum, glong default_value, GParamFlags flags); 625 auto p = g_param_spec_long(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 626 627 if(p is null) 628 { 629 return null; 630 } 631 632 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 633 } 634 635 /** 636 * Set the contents of a G_TYPE_LONG GValue to v_long. 637 * Params: 638 * vLong = long integer value to be set 639 */ 640 public void setLong(glong vLong) 641 { 642 // void g_value_set_long (GValue *value, glong v_long); 643 g_value_set_long(gValue, vLong); 644 } 645 646 /** 647 * Get the contents of a G_TYPE_LONG GValue. 648 * Returns: long integer contents of value 649 */ 650 public glong getLong() 651 { 652 // glong g_value_get_long (const GValue *value); 653 return g_value_get_long(gValue); 654 } 655 656 /** 657 * Creates a new GParamSpecULong instance specifying a G_TYPE_ULONG 658 * property. 659 * See g_param_spec_internal() for details on property names. 660 * Params: 661 * name = canonical name of the property specified 662 * nick = nick name for the property specified 663 * blurb = description of the property specified 664 * minimum = minimum value for the property specified 665 * maximum = maximum value for the property specified 666 * defaultValue = default value for the property specified 667 * flags = flags for the property specified 668 * Returns: a newly created parameter specification. [transfer full] 669 */ 670 public static ParamSpec gParamSpecUlong(string name, string nick, string blurb, gulong minimum, gulong maximum, gulong defaultValue, GParamFlags flags) 671 { 672 // GParamSpec * g_param_spec_ulong (const gchar *name, const gchar *nick, const gchar *blurb, gulong minimum, gulong maximum, gulong default_value, GParamFlags flags); 673 auto p = g_param_spec_ulong(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 674 675 if(p is null) 676 { 677 return null; 678 } 679 680 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 681 } 682 683 /** 684 * Set the contents of a G_TYPE_ULONG GValue to v_ulong. 685 * Params: 686 * vUlong = unsigned long integer value to be set 687 */ 688 public void setUlong(gulong vUlong) 689 { 690 // void g_value_set_ulong (GValue *value, gulong v_ulong); 691 g_value_set_ulong(gValue, vUlong); 692 } 693 694 /** 695 * Get the contents of a G_TYPE_ULONG GValue. 696 * Returns: unsigned long integer contents of value 697 */ 698 public gulong getUlong() 699 { 700 // gulong g_value_get_ulong (const GValue *value); 701 return g_value_get_ulong(gValue); 702 } 703 704 /** 705 * Creates a new GParamSpecInt64 instance specifying a G_TYPE_INT64 property. 706 * See g_param_spec_internal() for details on property names. 707 * Params: 708 * name = canonical name of the property specified 709 * nick = nick name for the property specified 710 * blurb = description of the property specified 711 * minimum = minimum value for the property specified 712 * maximum = maximum value for the property specified 713 * defaultValue = default value for the property specified 714 * flags = flags for the property specified 715 * Returns: a newly created parameter specification. [transfer full] 716 */ 717 public static ParamSpec gParamSpecInt64(string name, string nick, string blurb, long minimum, long maximum, long defaultValue, GParamFlags flags) 718 { 719 // GParamSpec * g_param_spec_int64 (const gchar *name, const gchar *nick, const gchar *blurb, gint64 minimum, gint64 maximum, gint64 default_value, GParamFlags flags); 720 auto p = g_param_spec_int64(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 721 722 if(p is null) 723 { 724 return null; 725 } 726 727 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 728 } 729 730 /** 731 * Set the contents of a G_TYPE_INT64 GValue to v_int64. 732 * Params: 733 * vInt64 = 64bit integer value to be set 734 */ 735 public void setInt64(long vInt64) 736 { 737 // void g_value_set_int64 (GValue *value, gint64 v_int64); 738 g_value_set_int64(gValue, vInt64); 739 } 740 741 /** 742 * Get the contents of a G_TYPE_INT64 GValue. 743 * Returns: 64bit integer contents of value 744 */ 745 public long getInt64() 746 { 747 // gint64 g_value_get_int64 (const GValue *value); 748 return g_value_get_int64(gValue); 749 } 750 751 /** 752 * Creates a new GParamSpecUInt64 instance specifying a G_TYPE_UINT64 753 * property. 754 * See g_param_spec_internal() for details on property names. 755 * Params: 756 * name = canonical name of the property specified 757 * nick = nick name for the property specified 758 * blurb = description of the property specified 759 * minimum = minimum value for the property specified 760 * maximum = maximum value for the property specified 761 * defaultValue = default value for the property specified 762 * flags = flags for the property specified 763 * Returns: a newly created parameter specification. [transfer full] 764 */ 765 public static ParamSpec gParamSpecUint64(string name, string nick, string blurb, ulong minimum, ulong maximum, ulong defaultValue, GParamFlags flags) 766 { 767 // GParamSpec * g_param_spec_uint64 (const gchar *name, const gchar *nick, const gchar *blurb, guint64 minimum, guint64 maximum, guint64 default_value, GParamFlags flags); 768 auto p = g_param_spec_uint64(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 769 770 if(p is null) 771 { 772 return null; 773 } 774 775 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 776 } 777 778 /** 779 * Set the contents of a G_TYPE_UINT64 GValue to v_uint64. 780 * Params: 781 * vUint64 = unsigned 64bit integer value to be set 782 */ 783 public void setUint64(ulong vUint64) 784 { 785 // void g_value_set_uint64 (GValue *value, guint64 v_uint64); 786 g_value_set_uint64(gValue, vUint64); 787 } 788 789 /** 790 * Get the contents of a G_TYPE_UINT64 GValue. 791 * Returns: unsigned 64bit integer contents of value 792 */ 793 public ulong getUint64() 794 { 795 // guint64 g_value_get_uint64 (const GValue *value); 796 return g_value_get_uint64(gValue); 797 } 798 799 /** 800 * Creates a new GParamSpecFloat instance specifying a G_TYPE_FLOAT property. 801 * See g_param_spec_internal() for details on property names. 802 * Params: 803 * name = canonical name of the property specified 804 * nick = nick name for the property specified 805 * blurb = description of the property specified 806 * minimum = minimum value for the property specified 807 * maximum = maximum value for the property specified 808 * defaultValue = default value for the property specified 809 * flags = flags for the property specified 810 * Returns: a newly created parameter specification. [transfer full] 811 */ 812 public static ParamSpec gParamSpecFloat(string name, string nick, string blurb, float minimum, float maximum, float defaultValue, GParamFlags flags) 813 { 814 // GParamSpec * g_param_spec_float (const gchar *name, const gchar *nick, const gchar *blurb, gfloat minimum, gfloat maximum, gfloat default_value, GParamFlags flags); 815 auto p = g_param_spec_float(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 816 817 if(p is null) 818 { 819 return null; 820 } 821 822 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 823 } 824 825 /** 826 * Set the contents of a G_TYPE_FLOAT GValue to v_float. 827 * Params: 828 * vFloat = float value to be set 829 */ 830 public void setFloat(float vFloat) 831 { 832 // void g_value_set_float (GValue *value, gfloat v_float); 833 g_value_set_float(gValue, vFloat); 834 } 835 836 /** 837 * Get the contents of a G_TYPE_FLOAT GValue. 838 * Returns: float contents of value 839 */ 840 public float getFloat() 841 { 842 // gfloat g_value_get_float (const GValue *value); 843 return g_value_get_float(gValue); 844 } 845 846 /** 847 * Creates a new GParamSpecDouble instance specifying a G_TYPE_DOUBLE 848 * property. 849 * See g_param_spec_internal() for details on property names. 850 * Params: 851 * name = canonical name of the property specified 852 * nick = nick name for the property specified 853 * blurb = description of the property specified 854 * minimum = minimum value for the property specified 855 * maximum = maximum value for the property specified 856 * defaultValue = default value for the property specified 857 * flags = flags for the property specified 858 * Returns: a newly created parameter specification. [transfer full] 859 */ 860 public static ParamSpec gParamSpecDouble(string name, string nick, string blurb, double minimum, double maximum, double defaultValue, GParamFlags flags) 861 { 862 // GParamSpec * g_param_spec_double (const gchar *name, const gchar *nick, const gchar *blurb, gdouble minimum, gdouble maximum, gdouble default_value, GParamFlags flags); 863 auto p = g_param_spec_double(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minimum, maximum, defaultValue, flags); 864 865 if(p is null) 866 { 867 return null; 868 } 869 870 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 871 } 872 873 /** 874 * Set the contents of a G_TYPE_DOUBLE GValue to v_double. 875 * Params: 876 * vDouble = double value to be set 877 */ 878 public void setDouble(double vDouble) 879 { 880 // void g_value_set_double (GValue *value, gdouble v_double); 881 g_value_set_double(gValue, vDouble); 882 } 883 884 /** 885 * Get the contents of a G_TYPE_DOUBLE GValue. 886 * Returns: double contents of value 887 */ 888 public double getDouble() 889 { 890 // gdouble g_value_get_double (const GValue *value); 891 return g_value_get_double(gValue); 892 } 893 894 /** 895 * Creates a new GParamSpecEnum instance specifying a G_TYPE_ENUM 896 * property. 897 * See g_param_spec_internal() for details on property names. 898 * Params: 899 * name = canonical name of the property specified 900 * nick = nick name for the property specified 901 * blurb = description of the property specified 902 * enumType = a GType derived from G_TYPE_ENUM 903 * defaultValue = default value for the property specified 904 * flags = flags for the property specified 905 * Returns: a newly created parameter specification. [transfer full] 906 */ 907 public static ParamSpec gParamSpecEnum(string name, string nick, string blurb, GType enumType, int defaultValue, GParamFlags flags) 908 { 909 // GParamSpec * g_param_spec_enum (const gchar *name, const gchar *nick, const gchar *blurb, GType enum_type, gint default_value, GParamFlags flags); 910 auto p = g_param_spec_enum(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), enumType, defaultValue, flags); 911 912 if(p is null) 913 { 914 return null; 915 } 916 917 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 918 } 919 920 /** 921 * Set the contents of a G_TYPE_ENUM GValue to v_enum. 922 * Params: 923 * vEnum = enum value to be set 924 */ 925 public void setEnum(int vEnum) 926 { 927 // void g_value_set_enum (GValue *value, gint v_enum); 928 g_value_set_enum(gValue, vEnum); 929 } 930 931 /** 932 * Get the contents of a G_TYPE_ENUM GValue. 933 * Returns: enum contents of value 934 */ 935 public int getEnum() 936 { 937 // gint g_value_get_enum (const GValue *value); 938 return g_value_get_enum(gValue); 939 } 940 941 /** 942 * Creates a new GParamSpecFlags instance specifying a G_TYPE_FLAGS 943 * property. 944 * See g_param_spec_internal() for details on property names. 945 * Params: 946 * name = canonical name of the property specified 947 * nick = nick name for the property specified 948 * blurb = description of the property specified 949 * flagsType = a GType derived from G_TYPE_FLAGS 950 * defaultValue = default value for the property specified 951 * flags = flags for the property specified 952 * Returns: a newly created parameter specification. [transfer full] 953 */ 954 public static ParamSpec gParamSpecFlags(string name, string nick, string blurb, GType flagsType, uint defaultValue, GParamFlags flags) 955 { 956 // GParamSpec * g_param_spec_flags (const gchar *name, const gchar *nick, const gchar *blurb, GType flags_type, guint default_value, GParamFlags flags); 957 auto p = g_param_spec_flags(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), flagsType, defaultValue, flags); 958 959 if(p is null) 960 { 961 return null; 962 } 963 964 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 965 } 966 967 /** 968 * Set the contents of a G_TYPE_FLAGS GValue to v_flags. 969 * Params: 970 * vFlags = flags value to be set 971 */ 972 public void setFlags(uint vFlags) 973 { 974 // void g_value_set_flags (GValue *value, guint v_flags); 975 g_value_set_flags(gValue, vFlags); 976 } 977 978 /** 979 * Get the contents of a G_TYPE_FLAGS GValue. 980 * Returns: flags contents of value 981 */ 982 public uint getFlags() 983 { 984 // guint g_value_get_flags (const GValue *value); 985 return g_value_get_flags(gValue); 986 } 987 988 /** 989 * Creates a new GParamSpecString instance. 990 * See g_param_spec_internal() for details on property names. 991 * Params: 992 * name = canonical name of the property specified 993 * nick = nick name for the property specified 994 * blurb = description of the property specified 995 * defaultValue = default value for the property specified 996 * flags = flags for the property specified 997 * Returns: a newly created parameter specification. [transfer full] 998 */ 999 public static ParamSpec gParamSpecString(string name, string nick, string blurb, string defaultValue, GParamFlags flags) 1000 { 1001 // GParamSpec * g_param_spec_string (const gchar *name, const gchar *nick, const gchar *blurb, const gchar *default_value, GParamFlags flags); 1002 auto p = g_param_spec_string(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), Str.toStringz(defaultValue), flags); 1003 1004 if(p is null) 1005 { 1006 return null; 1007 } 1008 1009 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1010 } 1011 1012 /** 1013 * Set the contents of a G_TYPE_STRING GValue to v_string. 1014 * Params: 1015 * vString = caller-owned string to be duplicated for the GValue. [allow-none] 1016 */ 1017 public void setString(string vString) 1018 { 1019 // void g_value_set_string (GValue *value, const gchar *v_string); 1020 g_value_set_string(gValue, Str.toStringz(vString)); 1021 } 1022 1023 /** 1024 * Set the contents of a G_TYPE_STRING GValue to v_string. 1025 * The string is assumed to be static, and is thus not duplicated 1026 * when setting the GValue. 1027 * Params: 1028 * vString = static string to be set. [allow-none] 1029 */ 1030 public void setStaticString(string vString) 1031 { 1032 // void g_value_set_static_string (GValue *value, const gchar *v_string); 1033 g_value_set_static_string(gValue, Str.toStringz(vString)); 1034 } 1035 1036 /** 1037 * Sets the contents of a G_TYPE_STRING GValue to v_string. 1038 * Since 2.4 1039 * Params: 1040 * vString = string to take ownership of. [allow-none] 1041 */ 1042 public void takeString(string vString) 1043 { 1044 // void g_value_take_string (GValue *value, gchar *v_string); 1045 g_value_take_string(gValue, Str.toStringz(vString)); 1046 } 1047 1048 /** 1049 * Warning 1050 * g_value_set_string_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_string() instead. 1051 * This is an internal function introduced mainly for C marshallers. 1052 * Params: 1053 * vString = duplicated unowned string to be set. [allow-none] 1054 */ 1055 public void setStringTakeOwnership(string vString) 1056 { 1057 // void g_value_set_string_take_ownership (GValue *value, gchar *v_string); 1058 g_value_set_string_take_ownership(gValue, Str.toStringz(vString)); 1059 } 1060 1061 /** 1062 * Get the contents of a G_TYPE_STRING GValue. 1063 * Returns: string content of value 1064 */ 1065 public string getString() 1066 { 1067 // const gchar * g_value_get_string (const GValue *value); 1068 return Str.toString(g_value_get_string(gValue)); 1069 } 1070 1071 /** 1072 * Get a copy the contents of a G_TYPE_STRING GValue. 1073 * Returns: a newly allocated copy of the string content of value 1074 */ 1075 public string dupString() 1076 { 1077 // gchar * g_value_dup_string (const GValue *value); 1078 return Str.toString(g_value_dup_string(gValue)); 1079 } 1080 1081 /** 1082 * Creates a new GParamSpecParam instance specifying a G_TYPE_PARAM 1083 * property. 1084 * See g_param_spec_internal() for details on property names. 1085 * Params: 1086 * name = canonical name of the property specified 1087 * nick = nick name for the property specified 1088 * blurb = description of the property specified 1089 * paramType = a GType derived from G_TYPE_PARAM 1090 * flags = flags for the property specified 1091 * Returns: a newly created parameter specification. [transfer full] 1092 */ 1093 public static ParamSpec gParamSpecParam(string name, string nick, string blurb, GType paramType, GParamFlags flags) 1094 { 1095 // GParamSpec * g_param_spec_param (const gchar *name, const gchar *nick, const gchar *blurb, GType param_type, GParamFlags flags); 1096 auto p = g_param_spec_param(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), paramType, flags); 1097 1098 if(p is null) 1099 { 1100 return null; 1101 } 1102 1103 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1104 } 1105 1106 /** 1107 * Set the contents of a G_TYPE_PARAM GValue to param. 1108 * Params: 1109 * param = the GParamSpec to be set. [allow-none] 1110 */ 1111 public void setParam(ParamSpec param) 1112 { 1113 // void g_value_set_param (GValue *value, GParamSpec *param); 1114 g_value_set_param(gValue, (param is null) ? null : param.getParamSpecStruct()); 1115 } 1116 1117 /** 1118 * Sets the contents of a G_TYPE_PARAM GValue to param and takes 1119 * over the ownership of the callers reference to param; the caller 1120 * doesn't have to unref it any more. 1121 * Since 2.4 1122 * Params: 1123 * param = the GParamSpec to be set. [allow-none] 1124 */ 1125 public void takeParam(ParamSpec param) 1126 { 1127 // void g_value_take_param (GValue *value, GParamSpec *param); 1128 g_value_take_param(gValue, (param is null) ? null : param.getParamSpecStruct()); 1129 } 1130 1131 /** 1132 * Warning 1133 * g_value_set_param_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_param() instead. 1134 * This is an internal function introduced mainly for C marshallers. 1135 * Params: 1136 * param = the GParamSpec to be set. [allow-none] 1137 */ 1138 public void setParamTakeOwnership(ParamSpec param) 1139 { 1140 // void g_value_set_param_take_ownership (GValue *value, GParamSpec *param); 1141 g_value_set_param_take_ownership(gValue, (param is null) ? null : param.getParamSpecStruct()); 1142 } 1143 1144 /** 1145 * Get the contents of a G_TYPE_PARAM GValue. 1146 * Returns: GParamSpec content of value. [transfer none] 1147 */ 1148 public ParamSpec getParam() 1149 { 1150 // GParamSpec * g_value_get_param (const GValue *value); 1151 auto p = g_value_get_param(gValue); 1152 1153 if(p is null) 1154 { 1155 return null; 1156 } 1157 1158 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1159 } 1160 1161 /** 1162 * Get the contents of a G_TYPE_PARAM GValue, increasing its 1163 * reference count. 1164 * Returns: GParamSpec content of value, should be unreferenced when no longer needed. 1165 */ 1166 public ParamSpec dupParam() 1167 { 1168 // GParamSpec * g_value_dup_param (const GValue *value); 1169 auto p = g_value_dup_param(gValue); 1170 1171 if(p is null) 1172 { 1173 return null; 1174 } 1175 1176 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1177 } 1178 1179 /** 1180 * Creates a new GParamSpecBoxed instance specifying a G_TYPE_BOXED 1181 * derived property. 1182 * See g_param_spec_internal() for details on property names. 1183 * Params: 1184 * name = canonical name of the property specified 1185 * nick = nick name for the property specified 1186 * blurb = description of the property specified 1187 * boxedType = G_TYPE_BOXED derived type of this property 1188 * flags = flags for the property specified 1189 * Returns: a newly created parameter specification. [transfer full] 1190 */ 1191 public static ParamSpec gParamSpecBoxed(string name, string nick, string blurb, GType boxedType, GParamFlags flags) 1192 { 1193 // GParamSpec * g_param_spec_boxed (const gchar *name, const gchar *nick, const gchar *blurb, GType boxed_type, GParamFlags flags); 1194 auto p = g_param_spec_boxed(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), boxedType, flags); 1195 1196 if(p is null) 1197 { 1198 return null; 1199 } 1200 1201 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1202 } 1203 1204 /** 1205 * Set the contents of a G_TYPE_BOXED derived GValue to v_boxed. 1206 * Params: 1207 * vBoxed = boxed value to be set. [allow-none] 1208 */ 1209 public void setBoxed(void* vBoxed) 1210 { 1211 // void g_value_set_boxed (GValue *value, gconstpointer v_boxed); 1212 g_value_set_boxed(gValue, vBoxed); 1213 } 1214 1215 /** 1216 * Set the contents of a G_TYPE_BOXED derived GValue to v_boxed. 1217 * The boxed value is assumed to be static, and is thus not duplicated 1218 * when setting the GValue. 1219 * Params: 1220 * vBoxed = static boxed value to be set. [allow-none] 1221 */ 1222 public void setStaticBoxed(void* vBoxed) 1223 { 1224 // void g_value_set_static_boxed (GValue *value, gconstpointer v_boxed); 1225 g_value_set_static_boxed(gValue, vBoxed); 1226 } 1227 1228 /** 1229 * Sets the contents of a G_TYPE_BOXED derived GValue to v_boxed 1230 * and takes over the ownership of the callers reference to v_boxed; 1231 * the caller doesn't have to unref it any more. 1232 * Since 2.4 1233 * Params: 1234 * vBoxed = duplicated unowned boxed value to be set. [allow-none] 1235 */ 1236 public void takeBoxed(void* vBoxed) 1237 { 1238 // void g_value_take_boxed (GValue *value, gconstpointer v_boxed); 1239 g_value_take_boxed(gValue, vBoxed); 1240 } 1241 1242 /** 1243 * Warning 1244 * g_value_set_boxed_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_boxed() instead. 1245 * This is an internal function introduced mainly for C marshallers. 1246 * Params: 1247 * vBoxed = duplicated unowned boxed value to be set. [allow-none] 1248 */ 1249 public void setBoxedTakeOwnership(void* vBoxed) 1250 { 1251 // void g_value_set_boxed_take_ownership (GValue *value, gconstpointer v_boxed); 1252 g_value_set_boxed_take_ownership(gValue, vBoxed); 1253 } 1254 1255 /** 1256 * Get the contents of a G_TYPE_BOXED derived GValue. 1257 * Returns: boxed contents of value. [transfer none] 1258 */ 1259 public void* getBoxed() 1260 { 1261 // gpointer g_value_get_boxed (const GValue *value); 1262 return g_value_get_boxed(gValue); 1263 } 1264 1265 /** 1266 * Get the contents of a G_TYPE_BOXED derived GValue. Upon getting, 1267 * the boxed value is duplicated and needs to be later freed with 1268 * g_boxed_free(), e.g. like: g_boxed_free (G_VALUE_TYPE (value), 1269 * return_value); 1270 * Returns: boxed contents of value 1271 */ 1272 public void* dupBoxed() 1273 { 1274 // gpointer g_value_dup_boxed (const GValue *value); 1275 return g_value_dup_boxed(gValue); 1276 } 1277 1278 /** 1279 * Creates a new GParamSpecPointer instance specifying a pointer property. 1280 * See g_param_spec_internal() for details on property names. 1281 * Params: 1282 * name = canonical name of the property specified 1283 * nick = nick name for the property specified 1284 * blurb = description of the property specified 1285 * flags = flags for the property specified 1286 * Returns: a newly created parameter specification. [transfer full] 1287 */ 1288 public static ParamSpec gParamSpecPointer(string name, string nick, string blurb, GParamFlags flags) 1289 { 1290 // GParamSpec * g_param_spec_pointer (const gchar *name, const gchar *nick, const gchar *blurb, GParamFlags flags); 1291 auto p = g_param_spec_pointer(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), flags); 1292 1293 if(p is null) 1294 { 1295 return null; 1296 } 1297 1298 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1299 } 1300 1301 /** 1302 * Set the contents of a pointer GValue to v_pointer. 1303 * Params: 1304 * vPointer = pointer value to be set 1305 */ 1306 public void setPointer(void* vPointer) 1307 { 1308 // void g_value_set_pointer (GValue *value, gpointer v_pointer); 1309 g_value_set_pointer(gValue, vPointer); 1310 } 1311 1312 /** 1313 * Get the contents of a pointer GValue. 1314 * Returns: pointer contents of value. [transfer none] 1315 */ 1316 public void* getPointer() 1317 { 1318 // gpointer g_value_get_pointer (const GValue *value); 1319 return g_value_get_pointer(gValue); 1320 } 1321 1322 /** 1323 * Creates a new GParamSpecBoxed instance specifying a G_TYPE_OBJECT 1324 * derived property. 1325 * See g_param_spec_internal() for details on property names. 1326 * Params: 1327 * name = canonical name of the property specified 1328 * nick = nick name for the property specified 1329 * blurb = description of the property specified 1330 * objectType = G_TYPE_OBJECT derived type of this property 1331 * flags = flags for the property specified 1332 * Returns: a newly created parameter specification. [transfer full] 1333 */ 1334 public static ParamSpec gParamSpecObject(string name, string nick, string blurb, GType objectType, GParamFlags flags) 1335 { 1336 // GParamSpec * g_param_spec_object (const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags); 1337 auto p = g_param_spec_object(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), objectType, flags); 1338 1339 if(p is null) 1340 { 1341 return null; 1342 } 1343 1344 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1345 } 1346 1347 /** 1348 * Set the contents of a G_TYPE_OBJECT derived GValue to v_object. 1349 * g_value_set_object() increases the reference count of v_object 1350 * (the GValue holds a reference to v_object). If you do not wish 1351 * to increase the reference count of the object (i.e. you wish to 1352 * pass your current reference to the GValue because you no longer 1353 * need it), use g_value_take_object() instead. 1354 * It is important that your GValue holds a reference to v_object (either its 1355 * own, or one it has taken) to ensure that the object won't be destroyed while 1356 * the GValue still exists). 1357 * Params: 1358 * vObject = object value to be set. [type GObject.Object][allow-none] 1359 */ 1360 public void setObject(void* vObject) 1361 { 1362 // void g_value_set_object (GValue *value, gpointer v_object); 1363 g_value_set_object(gValue, vObject); 1364 } 1365 1366 /** 1367 * Sets the contents of a G_TYPE_OBJECT derived GValue to v_object 1368 * and takes over the ownership of the callers reference to v_object; 1369 * the caller doesn't have to unref it any more (i.e. the reference 1370 * count of the object is not increased). 1371 * If you want the GValue to hold its own reference to v_object, use 1372 * g_value_set_object() instead. 1373 * Since 2.4 1374 * Params: 1375 * vObject = object value to be set. [allow-none] 1376 */ 1377 public void takeObject(void* vObject) 1378 { 1379 // void g_value_take_object (GValue *value, gpointer v_object); 1380 g_value_take_object(gValue, vObject); 1381 } 1382 1383 /** 1384 * Warning 1385 * g_value_set_object_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_object() instead. 1386 * This is an internal function introduced mainly for C marshallers. 1387 * Params: 1388 * vObject = object value to be set. [allow-none] 1389 */ 1390 public void setObjectTakeOwnership(void* vObject) 1391 { 1392 // void g_value_set_object_take_ownership (GValue *value, gpointer v_object); 1393 g_value_set_object_take_ownership(gValue, vObject); 1394 } 1395 1396 /** 1397 * Get the contents of a G_TYPE_OBJECT derived GValue. 1398 * Returns: object contents of value. [type GObject.Object][transfer none] 1399 */ 1400 public void* getObject() 1401 { 1402 // gpointer g_value_get_object (const GValue *value); 1403 return g_value_get_object(gValue); 1404 } 1405 1406 /** 1407 * Get the contents of a G_TYPE_OBJECT derived GValue, increasing 1408 * its reference count. If the contents of the GValue are NULL, then 1409 * NULL will be returned. 1410 * Returns: object content of value, should be unreferenced when no longer needed. [type GObject.Object][transfer full] 1411 */ 1412 public void* dupObject() 1413 { 1414 // gpointer g_value_dup_object (const GValue *value); 1415 return g_value_dup_object(gValue); 1416 } 1417 1418 /** 1419 * Creates a new GParamSpecUnichar instance specifying a G_TYPE_UINT 1420 * property. GValue structures for this property can be accessed with 1421 * g_value_set_uint() and g_value_get_uint(). 1422 * See g_param_spec_internal() for details on property names. 1423 * Params: 1424 * name = canonical name of the property specified 1425 * nick = nick name for the property specified 1426 * blurb = description of the property specified 1427 * defaultValue = default value for the property specified 1428 * flags = flags for the property specified 1429 * Returns: a newly created parameter specification. [transfer full] 1430 */ 1431 public static ParamSpec gParamSpecUnichar(string name, string nick, string blurb, gunichar defaultValue, GParamFlags flags) 1432 { 1433 // GParamSpec * g_param_spec_unichar (const gchar *name, const gchar *nick, const gchar *blurb, gunichar default_value, GParamFlags flags); 1434 auto p = g_param_spec_unichar(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), defaultValue, flags); 1435 1436 if(p is null) 1437 { 1438 return null; 1439 } 1440 1441 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1442 } 1443 1444 /** 1445 * Creates a new GParamSpecValueArray instance specifying a 1446 * G_TYPE_VALUE_ARRAY property. G_TYPE_VALUE_ARRAY is a 1447 * G_TYPE_BOXED type, as such, GValue structures for this property 1448 * can be accessed with g_value_set_boxed() and g_value_get_boxed(). 1449 * See g_param_spec_internal() for details on property names. 1450 * Params: 1451 * name = canonical name of the property specified 1452 * nick = nick name for the property specified 1453 * blurb = description of the property specified 1454 * elementSpec = a GParamSpec describing the elements contained in 1455 * arrays of this property, may be NULL 1456 * flags = flags for the property specified 1457 * Returns: a newly created parameter specification 1458 */ 1459 public static ParamSpec gParamSpecValueArray(string name, string nick, string blurb, ParamSpec elementSpec, GParamFlags flags) 1460 { 1461 // GParamSpec * g_param_spec_value_array (const gchar *name, const gchar *nick, const gchar *blurb, GParamSpec *element_spec, GParamFlags flags); 1462 auto p = g_param_spec_value_array(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), (elementSpec is null) ? null : elementSpec.getParamSpecStruct(), flags); 1463 1464 if(p is null) 1465 { 1466 return null; 1467 } 1468 1469 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1470 } 1471 1472 /** 1473 * Creates a new property of type GParamSpecOverride. This is used 1474 * to direct operations to another paramspec, and will not be directly 1475 * useful unless you are implementing a new base type similar to GObject. 1476 * Since 2.4 1477 * Params: 1478 * name = the name of the property. 1479 * overridden = The property that is being overridden 1480 * Returns: the newly created GParamSpec 1481 */ 1482 public static ParamSpec gParamSpecOverride(string name, ParamSpec overridden) 1483 { 1484 // GParamSpec * g_param_spec_override (const gchar *name, GParamSpec *overridden); 1485 auto p = g_param_spec_override(Str.toStringz(name), (overridden is null) ? null : overridden.getParamSpecStruct()); 1486 1487 if(p is null) 1488 { 1489 return null; 1490 } 1491 1492 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1493 } 1494 1495 /** 1496 * Creates a new GParamSpecGType instance specifying a 1497 * G_TYPE_GTYPE property. 1498 * See g_param_spec_internal() for details on property names. 1499 * Since 2.10 1500 * Params: 1501 * name = canonical name of the property specified 1502 * nick = nick name for the property specified 1503 * blurb = description of the property specified 1504 * isAType = a GType whose subtypes are allowed as values 1505 * of the property (use G_TYPE_NONE for any type) 1506 * flags = flags for the property specified 1507 * Returns: a newly created parameter specification. [transfer full] 1508 */ 1509 public static ParamSpec gParamSpecGtype(string name, string nick, string blurb, GType isAType, GParamFlags flags) 1510 { 1511 // GParamSpec * g_param_spec_gtype (const gchar *name, const gchar *nick, const gchar *blurb, GType is_a_type, GParamFlags flags); 1512 auto p = g_param_spec_gtype(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), isAType, flags); 1513 1514 if(p is null) 1515 { 1516 return null; 1517 } 1518 1519 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1520 } 1521 1522 /** 1523 * Get the contents of a G_TYPE_GTYPE GValue. 1524 * Since 2.12 1525 * Returns: the GType stored in value 1526 */ 1527 public GType getGtype() 1528 { 1529 // GType g_value_get_gtype (const GValue *value); 1530 return g_value_get_gtype(gValue); 1531 } 1532 1533 /** 1534 * Set the contents of a G_TYPE_GTYPE GValue to v_gtype. 1535 * Since 2.12 1536 * Params: 1537 * vGtype = GType to be set 1538 */ 1539 public void setGtype(GType vGtype) 1540 { 1541 // void g_value_set_gtype (GValue *value, GType v_gtype); 1542 g_value_set_gtype(gValue, vGtype); 1543 } 1544 1545 /** 1546 * Creates a new GParamSpecVariant instance specifying a GVariant 1547 * property. 1548 * If default_value is floating, it is consumed. 1549 * See g_param_spec_internal() for details on property names. 1550 * Since 2.26 1551 * Params: 1552 * name = canonical name of the property specified 1553 * nick = nick name for the property specified 1554 * blurb = description of the property specified 1555 * type = a GVariantType 1556 * defaultValue = a GVariant of type type to 1557 * use as the default value, or NULL. [allow-none][transfer full] 1558 * flags = flags for the property specified 1559 * Returns: the newly created GParamSpec. [transfer full] 1560 */ 1561 public static ParamSpec gParamSpecVariant(string name, string nick, string blurb, VariantType type, Variant defaultValue, GParamFlags flags) 1562 { 1563 // GParamSpec * g_param_spec_variant (const gchar *name, const gchar *nick, const gchar *blurb, const GVariantType *type, GVariant *default_value, GParamFlags flags); 1564 auto p = g_param_spec_variant(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), (type is null) ? null : type.getVariantTypeStruct(), (defaultValue is null) ? null : defaultValue.getVariantStruct(), flags); 1565 1566 if(p is null) 1567 { 1568 return null; 1569 } 1570 1571 return ObjectG.getDObject!(ParamSpec)(cast(GParamSpec*) p); 1572 } 1573 1574 /** 1575 * Get the contents of a variant GValue. 1576 * Since 2.26 1577 * Returns: variant contents of value 1578 */ 1579 public Variant getVariant() 1580 { 1581 // GVariant * g_value_get_variant (const GValue *value); 1582 auto p = g_value_get_variant(gValue); 1583 1584 if(p is null) 1585 { 1586 return null; 1587 } 1588 1589 return ObjectG.getDObject!(Variant)(cast(GVariant*) p); 1590 } 1591 1592 /** 1593 * Get the contents of a variant GValue, increasing its refcount. 1594 * Since 2.26 1595 * Returns: variant contents of value, should be unrefed using g_variant_unref() when no longer needed 1596 */ 1597 public Variant dupVariant() 1598 { 1599 // GVariant * g_value_dup_variant (const GValue *value); 1600 auto p = g_value_dup_variant(gValue); 1601 1602 if(p is null) 1603 { 1604 return null; 1605 } 1606 1607 return ObjectG.getDObject!(Variant)(cast(GVariant*) p); 1608 } 1609 1610 /** 1611 * Set the contents of a variant GValue to variant. 1612 * If the variant is floating, it is consumed. 1613 * Since 2.26 1614 * Params: 1615 * variant = a GVariant, or NULL. [allow-none] 1616 */ 1617 public void setVariant(Variant variant) 1618 { 1619 // void g_value_set_variant (GValue *value, GVariant *variant); 1620 g_value_set_variant(gValue, (variant is null) ? null : variant.getVariantStruct()); 1621 } 1622 1623 /** 1624 * Set the contents of a variant GValue to variant, and takes over 1625 * the ownership of the caller's reference to variant; 1626 * the caller doesn't have to unref it any more (i.e. the reference 1627 * count of the variant is not increased). 1628 * If variant was floating then its floating reference is converted to 1629 * a hard reference. 1630 * If you want the GValue to hold its own reference to variant, use 1631 * g_value_set_variant() instead. 1632 * This is an internal function introduced mainly for C marshallers. 1633 * Since 2.26 1634 * Params: 1635 * variant = a GVariant, or NULL. [allow-none] 1636 */ 1637 public void takeVariant(Variant variant) 1638 { 1639 // void g_value_take_variant (GValue *value, GVariant *variant); 1640 g_value_take_variant(gValue, (variant is null) ? null : variant.getVariantStruct()); 1641 } 1642 }