git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.cxIntl5@2 153d478c-8cf9-1c4a-9078-3a687f347812
119 lines
3.0 KiB
ObjectPascal
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.
|