gtkdialog.inc 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. { Parameters for dialog construction }
  7. { call gtk_window_set_modal (win, TRUE) }
  8. { call gtk_window_set_destroy_with_parent () }
  9. { no separator bar above buttons }
  10. PGtkDialogFlags = ^TGtkDialogFlags;
  11. TGtkDialogFlags = longint;
  12. { Convenience enum to use for response_id's. Positive values are
  13. totally user-interpreted. GTK will sometimes return
  14. GTK_RESPONSE_NONE if no response_id is available.
  15. Typical usage is:
  16. if (gtk_dialog_run(dialog) = GTK_RESPONSE_ACCEPT) then
  17. DoSomethingOnSuccess;
  18. }
  19. { GTK returns this if a response widget has no response_id,
  20. or if the dialog gets programmatically hidden or destroyed.
  21. }
  22. { GTK won't return these unless you pass them in
  23. as the response for an action widget. They are
  24. for your convenience.
  25. }
  26. { If the dialog is deleted. }
  27. { These are returned from GTK dialogs, and you can also use them
  28. yourself if you like.
  29. }
  30. PGtkResponseType = ^TGtkResponseType;
  31. TGtkResponseType = longint;
  32. {< private > }
  33. PGtkDialog = ^TGtkDialog;
  34. TGtkDialog = record
  35. window : TGtkWindow;
  36. vbox : PGtkWidget;
  37. action_area : PGtkWidget;
  38. separator : PGtkWidget;
  39. end;
  40. { Keybinding signals }
  41. { Padding for future expansion }
  42. PGtkDialogClass = ^TGtkDialogClass;
  43. TGtkDialogClass = record
  44. parent_class : TGtkWindowClass;
  45. response : procedure (dialog:PGtkDialog; response_id:gint); cdecl;
  46. close : procedure (dialog:PGtkDialog); cdecl;
  47. _gtk_reserved1 : procedure ; cdecl;
  48. _gtk_reserved2 : procedure ; cdecl;
  49. _gtk_reserved3 : procedure ; cdecl;
  50. _gtk_reserved4 : procedure ; cdecl;
  51. end;
  52. {$ENDIF read_interface_types}
  53. //------------------------------------------------------------------------------
  54. {$IFDEF read_interface_rest}
  55. const
  56. GTK_DIALOG_MODAL = 1 shl 0;
  57. GTK_DIALOG_DESTROY_WITH_PARENT = 1 shl 1;
  58. GTK_DIALOG_NO_SEPARATOR = 1 shl 2;
  59. GTK_RESPONSE_NONE = -(1);
  60. GTK_RESPONSE_REJECT = -(2);
  61. GTK_RESPONSE_ACCEPT = -(3);
  62. GTK_RESPONSE_DELETE_EVENT = -(4);
  63. GTK_RESPONSE_OK = -(5);
  64. GTK_RESPONSE_CANCEL = -(6);
  65. GTK_RESPONSE_CLOSE = -(7);
  66. GTK_RESPONSE_YES = -(8);
  67. GTK_RESPONSE_NO = -(9);
  68. GTK_RESPONSE_APPLY = -(10);
  69. GTK_RESPONSE_HELP = -(11);
  70. function GTK_TYPE_DIALOG : GType;
  71. function GTK_DIALOG(obj: pointer) : PGtkDialog;
  72. function GTK_DIALOG_CLASS(klass: pointer) : PGtkDialogClass;
  73. function GTK_IS_DIALOG(obj: pointer) : boolean;
  74. function GTK_IS_DIALOG_CLASS(klass: pointer) : boolean;
  75. function GTK_DIALOG_GET_CLASS(obj: pointer) : PGtkDialogClass;
  76. function gtk_dialog_get_type:TGtkType; cdecl; external gtklib;
  77. function gtk_dialog_new:PGtkWidget; cdecl; external gtklib;
  78. {$IFNDEF KYLIX}
  79. function gtk_dialog_new_with_buttons(title:Pgchar; parent:PGtkWindow; flags:TGtkDialogFlags; first_button_text:Pgchar; args:array of const):PGtkWidget; cdecl; overload; external gtklib;
  80. function gtk_dialog_new_with_buttons(title:Pgchar; parent:PGtkWindow; flags:TGtkDialogFlags; first_button_text:Pgchar):PGtkWidget; cdecl; overload; external gtklib;
  81. {$ELSE}
  82. function gtk_dialog_new_with_buttons(title:Pgchar; parent:PGtkWindow; flags:TGtkDialogFlags; first_button_text:Pgchar):PGtkWidget; varargs; cdecl; external gtklib;
  83. {$ENDIF}
  84. procedure gtk_dialog_add_action_widget(dialog:PGtkDialog; child:PGtkWidget; response_id:gint); cdecl; external gtklib;
  85. function gtk_dialog_add_button(dialog:PGtkDialog; button_text:Pgchar; response_id:gint):PGtkWidget; cdecl; external gtklib;
  86. {$IFNDEF KYLIX}
  87. procedure gtk_dialog_add_buttons(dialog:PGtkDialog; first_button_text:Pgchar; args:array of const); overload; cdecl; external gtklib;
  88. procedure gtk_dialog_add_buttons(dialog:PGtkDialog; first_button_text:Pgchar); cdecl; overload; external gtklib;
  89. {$ELSE}
  90. procedure gtk_dialog_add_buttons(dialog:PGtkDialog; first_button_text:Pgchar); varargs; cdecl; external gtklib;
  91. {$ENDIF}
  92. procedure gtk_dialog_set_response_sensitive(dialog:PGtkDialog; response_id:gint; setting:gboolean); cdecl; external gtklib;
  93. procedure gtk_dialog_set_default_response(dialog:PGtkDialog; response_id:gint); cdecl; external gtklib;
  94. procedure gtk_dialog_set_has_separator(dialog:PGtkDialog; setting:gboolean); cdecl; external gtklib;
  95. function gtk_dialog_get_has_separator(dialog:PGtkDialog):gboolean; cdecl; external gtklib;
  96. { Emit response signal }
  97. procedure gtk_dialog_response(dialog:PGtkDialog; response_id:gint); cdecl; external gtklib;
  98. { Returns response_id }
  99. function gtk_dialog_run(dialog:PGtkDialog):gint; cdecl; external gtklib;
  100. {$ENDIF read_interface_rest}
  101. //------------------------------------------------------------------------------
  102. {$IFDEF read_implementation}
  103. function GTK_TYPE_DIALOG : GType;
  104. begin
  105. GTK_TYPE_DIALOG:=gtk_dialog_get_type;
  106. end;
  107. function GTK_DIALOG(obj: pointer) : PGtkDialog;
  108. begin
  109. GTK_DIALOG:=PGtkDialog(GTK_CHECK_CAST(obj,GTK_TYPE_DIALOG));
  110. end;
  111. function GTK_DIALOG_CLASS(klass: pointer) : PGtkDialogClass;
  112. begin
  113. GTK_DIALOG_CLASS:=PGtkDialogClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_DIALOG));
  114. end;
  115. function GTK_IS_DIALOG(obj: pointer) : boolean;
  116. begin
  117. GTK_IS_DIALOG:=GTK_CHECK_TYPE(obj,GTK_TYPE_DIALOG);
  118. end;
  119. function GTK_IS_DIALOG_CLASS(klass: pointer) : boolean;
  120. begin
  121. GTK_IS_DIALOG_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_DIALOG);
  122. end;
  123. function GTK_DIALOG_GET_CLASS(obj: pointer) : PGtkDialogClass;
  124. begin
  125. GTK_DIALOG_GET_CLASS:=PGtkDialogClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_DIALOG));
  126. end;
  127. {$ENDIF read_implementation}
  128. // included by gtk2.pas