Componentes.Terceros.cxIntl5/official/6.0.0/Source/cxIntl_Editor.pas
2007-12-16 18:18:32 +00:00

119 lines
3.0 KiB
ObjectPascal

unit cxIntl_Editor;
{
Design ime Editor for the TcxIntl 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 Francisco Armando Dueñas Rodríguez
fduenas@cancun.gob.mx
fduenas@flashmail.com
Component : TcxInternational
Programmed by Jörg Pfander for Dev Express
http://www.FreeDevExpressAddons.com
}
{$I cxVer.inc}
interface
uses
{$IFDEF DELPHI6}
DesignIntF, DesignEditors,
{$IFDEF VCL}
VCLEditors,
{$ENDIF}
{$ELSE}
DsgnIntf,
{$ENDIF}
cxIntl, Dialogs, IniFiles;
type
TcxIntl_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(TcxIntl, TcxIntl_Editor);
end;
{ TcxIntl_Editor }
procedure TcxIntl_Editor.ExecuteVerb(Index: Integer);
begin
inherited;
case Index of
0: LoadFromFile;
{$IFDEF VCL}
1: SaveToFile;
{$ENDIF}
end;
end;
function TcxIntl_Editor.GetVerb(Index: Integer): string;
begin
case Index of
0: Result := 'Load strings from file...';
1: Result := 'Save strings to file...';
end;
end;
function TcxIntl_Editor.GetVerbCount: Integer;
begin
Result := 2;
end;
procedure TcxIntl_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
tcxIntl(Component).LoadFromFile(LoadFromFileDlg.FileName);
end;
LoadFromFileDlg.Free;
end;
procedure TcxIntl_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
tcxIntl(Component).SaveToFile(SaveToFileDlg.FileName);
end;
SaveToFileDlg.Free;
end;
end.