gtklabel.pp 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. {
  2. }
  3. {****************************************************************************
  4. Interface
  5. ****************************************************************************}
  6. {$ifdef read_interface}
  7. type
  8. PGtkLabelWord = pointer;
  9. PGtkLabel = ^TGtkLabel;
  10. TGtkLabel = record
  11. misc : TGtkMisc;
  12. thelabel : Pgchar;
  13. label_wc : PGdkWChar;
  14. pattern : Pgchar;
  15. words : PGtkLabelWord;
  16. flag0 : longint;
  17. wrap : gboolean;
  18. end;
  19. const
  20. bm_TGtkLabel_max_width = $FFFF;
  21. bp_TGtkLabel_max_width = 0;
  22. bm_TGtkLabel_jtype = $30000;
  23. bp_TGtkLabel_jtype = 16;
  24. function max_width(var a : TGtkLabel) : guint;
  25. procedure set_max_width(var a : TGtkLabel; __max_width : guint);
  26. function jtype(var a : TGtkLabel) : guint;
  27. procedure set_jtype(var a : TGtkLabel; __jtype : guint);
  28. type
  29. PGtkLabelClass = ^TGtkLabelClass;
  30. TGtkLabelClass = record
  31. parent_class : TGtkMiscClass;
  32. end;
  33. Type
  34. GTK_LABEL=PGtkLabel;
  35. GTK_LABEL_CLASS=PGtkLabelClass;
  36. function GTK_LABEL_TYPE:TGtkType;cdecl;external gtkdll name 'gtk_label_get_type';
  37. function GTK_IS_LABEL(obj:pointer):boolean;
  38. function GTK_IS_LABEL_CLASS(klass:pointer):boolean;
  39. function gtk_label_get_type:TGtkType;cdecl;external gtkdll name 'gtk_label_get_type';
  40. function gtk_label_new (str:pchar):PGtkWidget;cdecl;external gtkdll name 'gtk_label_new';
  41. procedure gtk_label_set_text(theLabel: PGtkLabel; str:pchar);cdecl;external gtkdll name 'gtk_label_set_text';
  42. procedure gtk_label_set_justify(thelabel:PGtkLabel; jtype:TGtkJustification);cdecl;external gtkdll name 'gtk_label_set_justify';
  43. procedure gtk_label_set_pattern(thelabel:PGtkLabel; pattern:Pgchar);cdecl;external gtkdll name 'gtk_label_set_pattern';
  44. procedure gtk_label_set_line_wrap(thelabel:PGtkLabel; wrap:gboolean);cdecl;external gtkdll name 'gtk_label_set_line_wrap';
  45. procedure gtk_label_get(thelabel:PGtkLabel; str:ppchar);cdecl;external gtkdll name 'gtk_label_get';
  46. function gtk_label_parse_uline(thelabel:PGtkLabel;thestring:Pgchar):guint;cdecl;external gtkdll name 'gtk_label_parse_uline';
  47. {$endif read_interface}
  48. {****************************************************************************
  49. Implementation
  50. ****************************************************************************}
  51. {$ifdef read_implementation}
  52. function max_width(var a : TGtkLabel) : guint;
  53. begin
  54. max_width:=(a.flag0 and bm_TGtkLabel_max_width) shr bp_TGtkLabel_max_width;
  55. end;
  56. procedure set_max_width(var a : TGtkLabel; __max_width : guint);
  57. begin
  58. a.flag0:=a.flag0 or ((__max_width shl bp_TGtkLabel_max_width) and bm_TGtkLabel_max_width);
  59. end;
  60. function jtype(var a : TGtkLabel) : guint;
  61. begin
  62. jtype:=(a.flag0 and bm_TGtkLabel_jtype) shr bp_TGtkLabel_jtype;
  63. end;
  64. procedure set_jtype(var a : TGtkLabel; __jtype : guint);
  65. begin
  66. a.flag0:=a.flag0 or ((__jtype shl bp_TGtkLabel_jtype) and bm_TGtkLabel_jtype);
  67. end;
  68. function GTK_IS_LABEL(obj:pointer):boolean;
  69. begin
  70. GTK_IS_LABEL:=(obj<>nil) and GTK_IS_LABEL_CLASS(PGtkTypeObject(obj)^.klass);
  71. end;
  72. function GTK_IS_LABEL_CLASS(klass:pointer):boolean;
  73. begin
  74. GTK_IS_LABEL_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_LABEL_TYPE);
  75. end;
  76. {$endif read_implementation}