diff options
Diffstat (limited to 'libgtk_kylix/GTKForms.pas')
| -rw-r--r-- | libgtk_kylix/GTKForms.pas | 50 |
1 files changed, 16 insertions, 34 deletions
diff --git a/libgtk_kylix/GTKForms.pas b/libgtk_kylix/GTKForms.pas index a3572b6..b1467db 100644 --- a/libgtk_kylix/GTKForms.pas +++ b/libgtk_kylix/GTKForms.pas @@ -1,6 +1,5 @@ (* GTK-Kylix Library: GTKForms - Basic windows (TGTKForm, TGTKDialog), TGTKApplication, TGDKScreen - Version 0.6.28 (last updated 2008-10-12) Copyright (C) 2007 Tomas Bzatek <tbzatek@users.sourceforge.net> This library is free software; you can redistribute it and/or @@ -24,7 +23,7 @@ unit GTKForms; interface -uses gtk2, gdk2, lazglib2, lazgobject2, Classes, SysUtils, GTKControls, GTKConsts; +uses lazglib2, lazgobject2, lazgdk3, lazgtk3, Classes, SysUtils, GTKControls, GTKConsts; type // Some basic types PCharArray = array[0..0] of PChar; @@ -109,7 +108,6 @@ type // Some basic types property Default: TGTKControl write SetDefault; public FAccelGroup: PGtkAccelGroup; - Tooltips: TGTKTooltips; constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Release; @@ -144,9 +142,7 @@ type // Some basic types private FButtons: TMessageButtons; FOnResponse: TGTKDialogResponseEvent; - function GetShowSeparator: boolean; procedure SetButtons(Value: TMessageButtons); - procedure SetShowSeparator(Value: boolean); procedure SetModalResult(Value: TMessageButton); procedure SetDefaultButton(Value: TMessageButton); procedure SetParentForm(Value: TCustomGTKForm); @@ -159,7 +155,6 @@ type // Some basic types procedure SetResponseSensitive(ButtonID: integer; Sensitive: boolean); published property Buttons: TMessageButtons read FButtons write SetButtons default []; - property ShowSeparator: boolean read GetShowSeparator write SetShowSeparator; property ModalResult: TMessageButton write SetModalResult; property DefaultButton: TMessageButton write SetDefaultButton; property Caption; @@ -275,7 +270,7 @@ begin Result := not TCustomGTKForm(user_data).Close; end; -procedure TCustomGTKForm_show(anobject : PGtkObject; user_data: pgpointer); cdecl; +procedure TCustomGTKForm_show(widget: PGtkWidget; user_data: gpointer); cdecl; begin if Assigned(TCustomGTKForm(user_data).FOnShow) then TCustomGTKForm(user_data).FOnShow(TCustomGTKForm(user_data)); end; @@ -288,7 +283,6 @@ end; constructor TCustomGTKForm.Create(AOwner: TComponent); begin inherited Create(AOwner); - Tooltips := TGTKTooltips.Create(Self); FOnClose := nil; FOnCloseQuery := nil; FOnDestroy := nil; @@ -304,7 +298,6 @@ begin if Assigned(FOnDestroy) then FOnDestroy(Self); except end; - Tooltips.Free; if not Application.Terminated then gtk_widget_destroy(FWidget); inherited Destroy; end; @@ -409,7 +402,7 @@ end; procedure TCustomGTKForm.SetWindowTypeHint(Value: TGDKWindowTypeHint); begin - gtk_window_set_type_hint(PGtkWindow(FWidget), gdk2.TGdkWindowTypeHint(Value)); + gtk_window_set_type_hint(PGtkWindow(FWidget), lazgdk3.TGdkWindowTypeHint(Value)); end; function TCustomGTKForm.GetWindowState: TGDKWindowState; @@ -689,9 +682,8 @@ end; function TGTKApplication_MessageBox_key_press_event(widget: PGtkWidget; event: PGdkEventKey; user_data : gpointer): gboolean; cdecl; begin Result := False; - if event^.keyval = GDK_ESCAPE then begin - gtk_dialog_response(PGtkDialog(widget), integer(user_data)); -// Beep; + if event^.keyval = GDK_KEY_Escape then begin + gtk_dialog_response(PGtkDialog(widget), TGtkResponseType(guint(user_data))); Result := True; end; end; @@ -717,14 +709,14 @@ begin Result := Escape; Exit; end; - Dialog := gtk_message_dialog_new(ParentWindow, GTK_DIALOG_MODAL or GTK_DIALOG_DESTROY_WITH_PARENT, TMessageStyleID[Integer(Style)], - GTK_BUTTONS_NONE, '%s', PChar(Text)); + Dialog := gtk_message_dialog_new(ParentWindow, [GTK_DIALOG_MODAL, GTK_DIALOG_DESTROY_WITH_PARENT], TMessageStyleID[Integer(Style)], + GTK_BUTTONS_NONE, '%s', [PChar(Text)]); for i := 1 to NumMessageButtons do if TMessageButton(i - 1) in Buttons - then gtk_dialog_add_button(PGtkDialog(Dialog), MessageButtonID[i], i); + then gtk_dialog_add_button(PGtkDialog(Dialog), MessageButtonID[i], TGtkResponseType(i)); if Escape <> mbNone then g_signal_connect_data(PGObject(Dialog), 'key-press-event', TGCallback(@TGTKApplication_MessageBox_key_press_event), Pointer(Ord(Escape) + 1{MessageButtonID[Ord(Escape)]}), nil, G_CONNECT_DEFAULT); - if Default <> mbNone then gtk_dialog_set_default_response(PGtkDialog(Dialog), Ord(Default)); + if Default <> mbNone then gtk_dialog_set_default_response(PGtkDialog(Dialog), TGtkResponseType(Ord(Default))); Result := TMessageButton(gtk_dialog_run(PGtkDialog(Dialog)) - 1); gtk_widget_destroy(Dialog); end; @@ -795,8 +787,8 @@ begin g_signal_connect_data(PGObject(FWidget), 'delete-event', TGCallback(@TCustomGTKForm_delete_event), Self, nil, G_CONNECT_DEFAULT); g_signal_connect_data(PGObject(FWidget), 'show', TGCallback(@TCustomGTKForm_show), Self, nil, G_CONNECT_DEFAULT); g_signal_connect_data(PGObject(FWidget), 'response', TGCallback(@TGTKDialog_response_event), Self, nil, G_CONNECT_DEFAULT); - ClientArea := TGTKVBox.CreateLinked(Self, PGtkDialog(FWidget)^.vbox); - ActionArea := TGTKHBox.CreateLinked(Self, PGtkDialog(FWidget)^.action_area); + ClientArea := TGTKVBox.CreateLinked(Self, gtk_dialog_get_content_area(PGtkDialog(FWidget))); + ActionArea := TGTKHBox.CreateLinked(Self, gtk_dialog_get_action_area(PGtkDialog(FWidget))); FButtons := []; Visible := False; SetResizeable(True); @@ -815,37 +807,27 @@ var i: integer; begin for i := 1 to NumMessageButtons do if TMessageButton(i - 1) in Value - then gtk_dialog_add_button(PGtkDialog(FWidget), MessageButtonID[i], i - 1); -end; - -function TGTKDialog.GetShowSeparator: boolean; -begin - Result := gtk_dialog_get_has_separator(PGtkDialog(FWidget)); -end; - -procedure TGTKDialog.SetShowSeparator(Value: boolean); -begin - gtk_dialog_set_has_separator(PGtkDialog(FWidget), Value); + then gtk_dialog_add_button(PGtkDialog(FWidget), MessageButtonID[i], TGtkResponseType(i - 1)); end; procedure TGTKDialog.SetModalResult(Value: TMessageButton); begin - gtk_dialog_response(PGtkDialog(FWidget), Integer(Value)); + gtk_dialog_response(PGtkDialog(FWidget), TGtkResponseType(Integer(Value))); end; procedure TGTKDialog.SetDefaultButton(Value: TMessageButton); begin - gtk_dialog_set_default_response(PGtkDialog(FWidget), Integer(Value)); + gtk_dialog_set_default_response(PGtkDialog(FWidget), TGtkResponseType(Integer(Value))); end; procedure TGTKDialog.AddButton(ButtonCaption: string; ButtonID: integer); begin - gtk_dialog_add_button(PGtkDialog(FWidget), PChar(ButtonCaption), ButtonID); + gtk_dialog_add_button(PGtkDialog(FWidget), PChar(ButtonCaption), TGtkResponseType(ButtonID)); end; procedure TGTKDialog.SetResponseSensitive(ButtonID: integer; Sensitive: boolean); begin - gtk_dialog_set_response_sensitive(PGtkDialog(FWidget), ButtonID, Sensitive); + gtk_dialog_set_response_sensitive(PGtkDialog(FWidget), TGtkResponseType(ButtonID), Sensitive); end; procedure TGTKDialog.SetParentForm(Value: TCustomGTKForm); |
