From ecde167da74c86bc047aaf84c5e548cf65a5da98 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sat, 7 Jun 2008 20:34:49 +0200 Subject: Initial commit --- libgtk_kylix/GTKDialogs.pas | 248 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 libgtk_kylix/GTKDialogs.pas (limited to 'libgtk_kylix/GTKDialogs.pas') diff --git a/libgtk_kylix/GTKDialogs.pas b/libgtk_kylix/GTKDialogs.pas new file mode 100644 index 0000000..eb24ccc --- /dev/null +++ b/libgtk_kylix/GTKDialogs.pas @@ -0,0 +1,248 @@ +(* + GTK-Kylix Library: GTKDialogs - Special purpose dialogs + Version 0.7.0 (last updated 2006-02-05) + Copyright (C) 2006 Tomas Bzatek + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307 USA. + +*) + +unit GTKDialogs; +{ $WEAKPACKAGEUNIT} + +interface + +uses gtk2, gdk2, glib2, Classes, GTKControls, GTKConsts, GTKUtils, GTKClasses, GTKForms; + + +type + +(****************************************** TGTKFILESELECTIONDIALOG *************************************************************) + TGTKFileSelectionDialog = class(TGTKDialog) + private + function GetFileName: string; + function GetShowFileOpButtons: boolean; + function GetMultiSelect: boolean; + procedure SetFileName(Value: string); + procedure SetShowFileOpButtons(Value: boolean); + procedure SetMultiSelect(Value: boolean); + protected + public + constructor Create(AOwner: TComponent); override; + constructor CreateWithTitle(AOwner: TComponent; const Title: string); + destructor Destroy; override; + published + property FileName: string read GetFileName write SetFileName; + property ShowFileOpButtons: boolean read GetShowFileOpButtons write SetShowFileOpButtons; + property MultiSelect: boolean read GetMultiSelect write SetMultiSelect; + end; + +(****************************************** TGTKCOLORSELECTIONDIALOG ************************************************************) + TGTKColorSelectionDialog = class(TGTKDialog) + private + function GetShowOpacity: boolean; + procedure SetShowOpacity(Value: boolean); + function GetShowPalette: boolean; + procedure SetShowPalette(Value: boolean); + function GetColor: TGDKColor; + procedure SetColor(Value: TGDKColor); + protected + public + constructor Create(AOwner: TComponent); override; + constructor CreateWithTitle(AOwner: TComponent; const Title: string); + destructor Destroy; override; + property Color: TGDKColor read GetColor write SetColor; + published + property ShowOpacity: boolean read GetShowOpacity write SetShowOpacity; + property ShowPalette: boolean read GetShowPalette write SetShowPalette; + end; + +(****************************************** TGTKFONTSELECTIONDIALOG *************************************************************) + TGTKFontSelectionDialog = class(TGTKDialog) + private + function GetFontName: string; + procedure SetFontName(Value: string); + function GetPreviewText: string; + procedure SetPreviewText(Value: string); + protected + public + constructor Create(AOwner: TComponent); override; + constructor CreateWithTitle(AOwner: TComponent; const Title: string); + destructor Destroy; override; + published + property FontName: string read GetFontName write SetFontName; + property PreviewText: string read GetPreviewText write SetPreviewText; + end; + +(********************************************************************************************************************************) +(********************************************************************************************************************************) +implementation + +uses SysUtils, DateUtils; + + +(********************************************************************************************************************************) +(********************************************************************************************************************************) +constructor TGTKFileSelectionDialog.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FWidget := gtk_file_selection_new(nil); + Show; +end; + +constructor TGTKFileSelectionDialog.CreateWithTitle(AOwner: TComponent; const Title: string); +begin + inherited Create(AOwner); + FWidget := gtk_file_selection_new(StringToPgchar(Title)); + Show; +end; + +destructor TGTKFileSelectionDialog.Destroy; +begin + inherited Destroy; +end; + +function TGTKFileSelectionDialog.GetFileName: string; +begin + Result := string(gtk_file_selection_get_filename(PGtkFileSelection(FWidget))); +end; + +procedure TGTKFileSelectionDialog.SetFileName(Value: string); +begin + gtk_file_selection_set_filename(PGtkFileSelection(FWidget), PChar(Value)); +end; + +function TGTKFileSelectionDialog.GetShowFileOpButtons: boolean; +var b: Boolean; +begin + g_object_get(FWidget, 'show-fileops', @b, nil); + Result := b; +end; + +procedure TGTKFileSelectionDialog.SetShowFileOpButtons(Value: boolean); +begin + if Value then gtk_file_selection_show_fileop_buttons(PGtkFileSelection(FWidget)) + else gtk_file_selection_hide_fileop_buttons(PGtkFileSelection(FWidget)); +end; + +function TGTKFileSelectionDialog.GetMultiSelect: boolean; +begin + Result := gtk_file_selection_get_select_multiple(PGtkFileSelection(FWidget)); +end; + +procedure TGTKFileSelectionDialog.SetMultiSelect(Value: boolean); +begin + gtk_file_selection_set_select_multiple(PGtkFileSelection(FWidget), Value); +end; + +(********************************************************************************************************************************) +(********************************************************************************************************************************) +constructor TGTKColorSelectionDialog.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FWidget := gtk_color_selection_dialog_new(nil); + Show; +end; + +constructor TGTKColorSelectionDialog.CreateWithTitle(AOwner: TComponent; const Title: string); +begin + inherited Create(AOwner); + FWidget := gtk_color_selection_dialog_new(StringToPgchar(Title)); + Show; +end; + +destructor TGTKColorSelectionDialog.Destroy; +begin + inherited Destroy; +end; + +function TGTKColorSelectionDialog.GetShowOpacity: boolean; +begin + Result := gtk_color_selection_get_has_opacity_control(PGtkColorSelection(PGtkColorSelectionDialog(FWidget)^.colorsel)); +end; + +procedure TGTKColorSelectionDialog.SetShowOpacity(Value: boolean); +begin + gtk_color_selection_set_has_opacity_control(PGtkColorSelection(PGtkColorSelectionDialog(FWidget)^.colorsel), Value); +end; + +function TGTKColorSelectionDialog.GetShowPalette: boolean; +begin + Result := gtk_color_selection_get_has_palette(PGtkColorSelection(PGtkColorSelectionDialog(FWidget)^.colorsel)); +end; + +procedure TGTKColorSelectionDialog.SetShowPalette(Value: boolean); +begin + gtk_color_selection_set_has_palette(PGtkColorSelection(PGtkColorSelectionDialog(FWidget)^.colorsel), Value); +end; + +function TGTKColorSelectionDialog.GetColor: TGDKColor; +var Col: gdk2.TGDkColor; +begin + gtk_color_selection_get_current_color(PGtkColorSelection(PGtkColorSelectionDialog(FWidget)^.colorsel), @Col); + Result := PGdkColorToGDKColor(@Col); +end; + +procedure TGTKColorSelectionDialog.SetColor(Value: TGDKColor); +var Col: PGDkColor; +begin + Col := GDKColorToPGdkColor(Value); + gtk_color_selection_set_current_color(PGtkColorSelection(PGtkColorSelectionDialog(FWidget)^.colorsel), Col); +end; + +(********************************************************************************************************************************) +(********************************************************************************************************************************) +constructor TGTKFontSelectionDialog.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FWidget := gtk_font_selection_dialog_new(nil); + Show; +end; + +constructor TGTKFontSelectionDialog.CreateWithTitle(AOwner: TComponent; const Title: string); +begin + inherited Create(AOwner); + FWidget := gtk_font_selection_dialog_new(StringToPgchar(Title)); + Show; +end; + +destructor TGTKFontSelectionDialog.Destroy; +begin + inherited Destroy; +end; + +function TGTKFontSelectionDialog.GetFontName: string; +begin + Result := PgcharToString(gtk_font_selection_dialog_get_font_name(PGtkFontSelectionDialog(FWidget))); +end; + +procedure TGTKFontSelectionDialog.SetFontName(Value: string); +begin + gtk_font_selection_dialog_set_font_name(PGtkFontSelectionDialog(FWidget), StringToPgchar(Value)); +end; + +function TGTKFontSelectionDialog.GetPreviewText: string; +begin + Result := PgcharToString(gtk_font_selection_dialog_get_preview_text(PGtkFontSelectionDialog(FWidget))); +end; + +procedure TGTKFontSelectionDialog.SetPreviewText(Value: string); +begin + gtk_font_selection_dialog_set_preview_text(PGtkFontSelectionDialog(FWidget), StringToPgchar(Value)); +end; + +(********************************************************************************************************************************) +end. -- cgit v1.2.3