Componentes.Terceros.cxIntl.../internal/3.0.2/x.36/Sources/cxIntlPS3_Editor.pas

114 lines
2.9 KiB
ObjectPascal

unit cxIntlPS3_Editor;
{
Design ime Editor for the TcxIntlPrintSys3 component:
Desciption: Saves and loads strings from INI files at design time
by a the context menu of the component (right-clik on the component icon)
Editor Added by Fabio Maulo
fabiomaulo@yahoo.com.ar
Refer to
Programmed by Jörg Pfander for Dev Express
http://www.FreeDevExpressAddons.com
}
{$I dxPSVer.inc}
interface
uses
{$IFDEF DELPHI6}
DesignIntF, DesignEditors,
VCLEditors,
{$ELSE}
DsgnIntf,
{$ENDIF}
cxIntlPrintSys3, Dialogs, IniFiles;
type
TcxIntlPS3_Editor = class(TComponentEditor)
private
procedure SaveToFile;
procedure LoadFromFile;
protected
public
procedure ExecuteVerb(Index: Integer); override;
function GetVerb(Index: Integer): string; override;
function GetVerbCount: Integer; override;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponentEditor(TcxIntlPrintSys3, TcxIntlPS3_Editor);
end;
{ TcxIntl_Editor }
procedure TcxIntlPS3_Editor.ExecuteVerb(Index: Integer);
begin
inherited;
case Index of
0: LoadFromFile;
1: SaveToFile;
end;
end;
function TcxIntlPS3_Editor.GetVerb(Index: Integer): string;
begin
case Index of
0: Result := 'Load strings from Ini File...';
1: Result := 'Save strings to Ini File...';
end;
end;
function TcxIntlPS3_Editor.GetVerbCount: Integer;
begin
Result := 2;
end;
procedure TcxIntlPS3_Editor.LoadFromFile;
var LoadFromFileDlg:TOpenDialog;
begin
LoadFromFileDlg := TOpenDialog.Create(nil);
LoadFromFileDlg.DefaultExt := 'ini';
LoadFromFileDlg.Filter := 'INI Files (*.ini)|*.ini|'+
'LNG Files (*.lng)|*.txt|'+
'ASCII Text Files (*.txt)|*.txt|'+
'All files (*.*)|*.*';
LoadFromFileDlg.FilterIndex := 1;
LoadFromFileDlg.Options := [ofExtensionDifferent, ofPathMustExist,
ofFileMustExist, ofEnableSizing];
LoadFromFileDlg.Title := 'Load strings from file...';
if LoadFromFileDlg.Execute then
begin
TcxIntlPrintSys3(Component).LoadFromFile(LoadFromFileDlg.FileName);
end;
LoadFromFileDlg.Free;
end;
procedure TcxIntlPS3_Editor.SaveToFile;
var SaveToFileDlg:TSaveDialog;
begin
SaveToFileDlg := TSaveDialog.Create(nil);
SaveToFileDlg.DefaultExt := 'ini';
SaveToFileDlg.Filter := 'INI Files (*.ini)|*.ini|'+
'LNG Files (*.lng)|*.txt|'+
'ASCII Text Files (*.txt)|*.txt|'+
'All files (*.*)|*.*';
SaveToFileDlg.FilterIndex := 1;
SaveToFileDlg.Options := [ofExtensionDifferent, ofPathMustExist,
ofEnableSizing, ofOverwritePrompt];
SaveToFileDlg.Title := 'Save strings to file...';
if SaveToFileDlg.Execute then
begin
TcxIntlPrintSys3(Component).SaveToFile(SaveToFileDlg.FileName);
end;
SaveToFileDlg.Free;
end;
end.