Reimplement "IDE: Improvements to Tools dialog. Export/import/cloning etc."

git-svn-id: trunk@40965 -
This commit is contained in:
juha 2013-05-01 08:44:38 +00:00
parent f59a82f602
commit d3c8905a70
5 changed files with 232 additions and 109 deletions

View File

@ -2,19 +2,19 @@ object ExternalToolDialog: TExternalToolDialog
Left = 334 Left = 334
Height = 347 Height = 347
Top = 226 Top = 226
Width = 410 Width = 451
ActiveControl = ListBox ActiveControl = ListBox
BorderStyle = bsSizeToolWin BorderStyle = bsSizeToolWin
Caption = 'ExternalToolDialog' Caption = 'ExternalToolDialog'
ClientHeight = 347 ClientHeight = 347
ClientWidth = 410 ClientWidth = 451
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '0.9.29' LCLVersion = '1.1'
object ToolBar: TToolBar object ToolBar: TToolBar
Left = 0 Left = 0
Height = 48 Height = 94
Top = 0 Top = 0
Width = 410 Width = 451
AutoSize = True AutoSize = True
ButtonHeight = 46 ButtonHeight = 46
ButtonWidth = 47 ButtonWidth = 47
@ -24,28 +24,28 @@ object ExternalToolDialog: TExternalToolDialog
ShowHint = True ShowHint = True
TabOrder = 0 TabOrder = 0
object MoveDownButton: TToolButton object MoveDownButton: TToolButton
Left = 283 Left = 1
Top = 2 Top = 48
Caption = 'MoveDownButton' Caption = 'MoveDownButton'
ImageIndex = 4 ImageIndex = 4
OnClick = MoveDownButtonClick OnClick = MoveDownButtonClick
end end
object MoveUpButton: TToolButton object MoveUpButton: TToolButton
Left = 204 Left = 252
Top = 2 Top = 2
Caption = 'MoveUpButton' Caption = 'MoveUpButton'
ImageIndex = 3 ImageIndex = 3
OnClick = MoveUpButtonClick OnClick = MoveUpButtonClick
end end
object EditButton: TToolButton object EditButton: TToolButton
Left = 139 Left = 173
Top = 2 Top = 2
Caption = 'EditButton' Caption = 'EditButton'
ImageIndex = 2 ImageIndex = 2
OnClick = EditButtonClick OnClick = EditButtonClick
end end
object RemoveButton: TToolButton object RemoveButton: TToolButton
Left = 60 Left = 75
Top = 2 Top = 2
Caption = 'RemoveButton' Caption = 'RemoveButton'
ImageIndex = 1 ImageIndex = 1
@ -59,18 +59,31 @@ object ExternalToolDialog: TExternalToolDialog
OnClick = AddButtonClick OnClick = AddButtonClick
end end
object tbSeparator: TToolButton object tbSeparator: TToolButton
Left = 197 Left = 247
Top = 2 Top = 2
Width = 7 Width = 5
Caption = 'tbSeparator' Caption = 'tbSeparator'
Style = tbsDivider Style = tbsDivider
end end
object tbSeparator2: TToolButton
Left = 117
Top = 48
Width = 5
Caption = 'tbSeparator2'
Style = tbsDivider
end
object ExtraButton: TToolButton
Left = 122
Top = 48
Caption = 'ExtraButton'
DropdownMenu = PopupDropdownMenu
end
end end
object ListBox: TListBox object ListBox: TListBox
Left = 0 Left = 0
Height = 261 Height = 215
Top = 48 Top = 94
Width = 410 Width = 451
Align = alClient Align = alClient
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
ItemHeight = 0 ItemHeight = 0
@ -81,9 +94,46 @@ object ExternalToolDialog: TExternalToolDialog
Left = 6 Left = 6
Height = 26 Height = 26
Top = 315 Top = 315
Width = 398 Width = 439
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CancelButton.Name = 'CancelButton'
CancelButton.DefaultCaption = True
TabOrder = 2 TabOrder = 2
ShowButtons = [pbOK, pbCancel, pbHelp] ShowButtons = [pbOK, pbCancel, pbHelp]
ShowBevel = False ShowBevel = False
end end
object PopupDropdownMenu: TPopupMenu
left = 224
top = 48
object MenuItemClone: TMenuItem
Caption = 'MenuItemClone'
OnClick = MenuItemCloneClick
end
object MenuItemSeparator: TMenuItem
Caption = '-'
end
object MenuItemExport: TMenuItem
Caption = 'MenuItemExport'
OnClick = MenuItemExportClick
end
object MenuItemImport: TMenuItem
Caption = 'MenuItemImport'
OnClick = MenuItemImportClick
end
end
object SaveDialog1: TSaveDialog
Options = [ofPathMustExist, ofEnableSizing, ofViewDetail]
left = 312
top = 40
end
object OpenDialog1: TOpenDialog
Options = [ofFileMustExist, ofEnableSizing, ofViewDetail]
left = 384
top = 48
end
end end

View File

@ -40,13 +40,13 @@ uses
MemCheck, MemCheck,
{$ENDIF} {$ENDIF}
Classes, SysUtils, Process, LCLType, LCLProc, Controls, Forms, Classes, SysUtils, Process, LCLType, LCLProc, Controls, Forms,
Buttons, StdCtrls, ComCtrls, Dialogs, ExtCtrls, ButtonPanel, Buttons, StdCtrls, ComCtrls, Dialogs, ExtCtrls, ButtonPanel, Menus,
LazConfigStorage, FileProcs, UTF8Process, LazConfigStorage, FileProcs, UTF8Process,
IDEExternToolIntf, IDEImagesIntf, IDEDialogs, IDEHelpIntf, IDECommands, IDEExternToolIntf, IDEImagesIntf, IDEDialogs, IDEHelpIntf, IDECommands,
CompOptsIntf, ProjectIntf, CompOptsIntf, ProjectIntf,
EnvironmentOpts, EnvironmentOpts,
ExtToolEditDlg, KeyMapping, TransferMacros, IDEProcs, ExtToolEditDlg, KeyMapping, TransferMacros, IDEProcs,
InfoBuild, CompilerOptions, OutputFilter, LazarusIDEStrConsts; InfoBuild, CompilerOptions, OutputFilter, LazarusIDEStrConsts, IDEOptionDefs;
const const
MaxExtTools = ecExtToolLast-ecExtToolFirst+1; MaxExtTools = ecExtToolLast-ecExtToolFirst+1;
@ -104,6 +104,13 @@ type
TExternalToolDialog = class(TForm) TExternalToolDialog = class(TForm)
ButtonPanel: TButtonPanel; ButtonPanel: TButtonPanel;
ListBox: TListBox; ListBox: TListBox;
MenuItemImport: TMenuItem;
MenuItemExport: TMenuItem;
MenuItemSeparator: TMenuItem;
MenuItemClone: TMenuItem;
OpenDialog1: TOpenDialog;
PopupDropdownMenu: TPopupMenu;
SaveDialog1: TSaveDialog;
ToolBar: TToolBar; ToolBar: TToolBar;
AddButton: TToolButton; AddButton: TToolButton;
RemoveButton: TToolButton; RemoveButton: TToolButton;
@ -111,8 +118,13 @@ type
tbSeparator: TToolButton; tbSeparator: TToolButton;
MoveUpButton: TToolButton; MoveUpButton: TToolButton;
MoveDownButton: TToolButton; MoveDownButton: TToolButton;
tbSeparator2: TToolButton;
ExtraButton: TToolButton;
procedure AddButtonClick(Sender: TObject); procedure AddButtonClick(Sender: TObject);
procedure HelpButtonClick(Sender: TObject); procedure HelpButtonClick(Sender: TObject);
procedure MenuItemCloneClick(Sender: TObject);
procedure MenuItemExportClick(Sender: TObject);
procedure MenuItemImportClick(Sender: TObject);
procedure RemoveButtonClick(Sender: TObject); procedure RemoveButtonClick(Sender: TObject);
procedure EditButtonClick(Sender: TObject); procedure EditButtonClick(Sender: TObject);
procedure MoveUpButtonClick(Sender: TObject); procedure MoveUpButtonClick(Sender: TObject);
@ -345,7 +357,8 @@ begin
try try
CheckIfFileIsExecutable(Filename); CheckIfFileIsExecutable(Filename);
TheProcess := TOutputFilterProcess.Create(nil); TheProcess := TOutputFilterProcess.Create(nil);
TheProcess.CommandLine := Filename+' '+Params; TheProcess.Executable := FileName;
TheProcess.Parameters.Text := Params;
TheProcess.Options:= [poUsePipes,poStdErrToOutPut]; TheProcess.Options:= [poUsePipes,poStdErrToOutPut];
if ExtTool.HideMainForm then if ExtTool.HideMainForm then
TheProcess.ShowWindow := swoHide TheProcess.ShowWindow := swoHide
@ -528,6 +541,11 @@ begin
MoveUpButton.Caption:=lisUp; MoveUpButton.Caption:=lisUp;
MoveDownButton.Caption:=lisDown; MoveDownButton.Caption:=lisDown;
ExtraButton.Caption:=lisMoreSub;
MenuItemClone.Caption:=lisClone;
MenuItemExport.Caption:=lisDlgExport;
MenuItemImport.Caption:=lisDlgImport;
ButtonPanel.HelpButton.OnClick := @HelpButtonClick; ButtonPanel.HelpButton.OnClick := @HelpButtonClick;
AddButton.ImageIndex := IDEImages.LoadImage(16, 'laz_add'); AddButton.ImageIndex := IDEImages.LoadImage(16, 'laz_add');
@ -604,6 +622,48 @@ begin
LazarusHelp.ShowHelpForIDEControl(Self); LazarusHelp.ShowHelpForIDEControl(Self);
end; end;
procedure TExternalToolDialog.MenuItemCloneClick(Sender: TObject);
var
NewTool, OldTool : TExternalToolOptions;
begin
If Listbox.ItemIndex <> -1 Then Begin
OldTool := fExtToolList.Items[Listbox.ItemIndex];
If Assigned(OldTool) Then Begin
NewTool := TExternalToolOptions.Create;
NewTool.Assign(OldTool);
fExtToolList.Add(NewTool);
Listbox.Items.Add(ToolDescription(fExtToolList.Count-1));
end;
end;
end;
procedure TExternalToolDialog.MenuItemExportClick(Sender: TObject);
Var
FileConfig : TXMLOptionsStorage;
begin
If SaveDialog1.Execute Then Begin
FileConfig := TXMLOptionsStorage.Create(SaveDialog1.FileName, False);
fExtToolList.Save(FileConfig);
FileConfig.WriteToDisk;
FreeAndNil(FileConfig);
end;
end;
procedure TExternalToolDialog.MenuItemImportClick(Sender: TObject);
Var
FileConfig : TXMLOptionsStorage;
NewToolList : TExternalToolList;
begin
If OpenDialog1.Execute Then Begin
NewToolList := TExternalToolList.Create;
FileConfig := TXMLOptionsStorage.Create(OpenDialog1.FileName, True);
NewToolList.Load(FileConfig);
SetExtToolList(NewToolList);
FreeAndNil(FileConfig);
FreeAndNil(NewToolList);
end;
end;
procedure TExternalToolDialog.RemoveButtonClick(Sender: TObject); procedure TExternalToolDialog.RemoveButtonClick(Sender: TObject);
begin begin
if Listbox.ItemIndex<0 then exit; if Listbox.ItemIndex<0 then exit;

View File

@ -1,10 +1,10 @@
object ExternalToolOptionDlg: TExternalToolOptionDlg object ExternalToolOptionDlg: TExternalToolOptionDlg
Left = 348 Left = 348
Height = 501 Height = 592
Top = 210 Top = 119
Width = 661 Width = 661
Caption = 'ExternalToolOptionDlg' Caption = 'ExternalToolOptionDlg'
ClientHeight = 501 ClientHeight = 592
ClientWidth = 661 ClientWidth = 661
Constraints.MinHeight = 350 Constraints.MinHeight = 350
Constraints.MinWidth = 350 Constraints.MinWidth = 350
@ -12,15 +12,15 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '0.9.29' LCLVersion = '1.1'
object TitleLabel: TLabel object TitleLabel: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = TitleEdit AnchorSideTop.Control = TitleEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 14 Height = 15
Top = 9 Top = 10
Width = 46 Width = 59
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'TitleLabel' Caption = 'TitleLabel'
ParentColor = False ParentColor = False
@ -30,21 +30,21 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideTop.Control = FilenameEdit AnchorSideTop.Control = FilenameEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 14 Height = 15
Top = 36 Top = 39
Width = 68 Width = 88
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'FilenameLabel' Caption = 'FilenameLabel'
ParentColor = False ParentColor = False
end end
object ParametersLabel: TLabel object ParametersLabel: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ParametersEdit AnchorSideTop.Control = MemoParameters
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 14 Height = 15
Top = 63 Top = 102
Width = 81 Width = 105
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'ParametersLabel' Caption = 'ParametersLabel'
ParentColor = False ParentColor = False
@ -54,9 +54,9 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideTop.Control = WorkingDirEdit AnchorSideTop.Control = WorkingDirEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 14 Height = 15
Top = 90 Top = 164
Width = 78 Width = 99
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'WorkingDirLabel' Caption = 'WorkingDirLabel'
ParentColor = False ParentColor = False
@ -66,7 +66,7 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 128 Left = 128
Height = 21 Height = 23
Top = 6 Top = 6
Width = 527 Width = 527
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -80,9 +80,9 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = OpenButton AnchorSideRight.Control = OpenButton
Left = 128 Left = 128
Height = 21 Height = 23
Top = 33 Top = 35
Width = 483 Width = 496
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
@ -95,10 +95,10 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = FilenameEdit AnchorSideBottom.Control = FilenameEdit
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 617 Left = 630
Height = 21 Height = 23
Top = 33 Top = 35
Width = 38 Width = 25
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Right = 6 BorderSpacing.Right = 6
@ -108,36 +108,20 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
ShowHint = True ShowHint = True
TabOrder = 2 TabOrder = 2
end end
object ParametersEdit: TEdit object WorkingDirEdit: TEdit
AnchorSideLeft.Control = TitleEdit AnchorSideLeft.Control = TitleEdit
AnchorSideTop.Control = FilenameEdit AnchorSideTop.Control = MemoParameters
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 128 Left = 128
Height = 21 Height = 23
Top = 60 Top = 160
Width = 527 Width = 527
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
TabOrder = 3 TabOrder = 3
Text = 'ParametersEdit'
end
object WorkingDirEdit: TEdit
AnchorSideLeft.Control = TitleEdit
AnchorSideTop.Control = ParametersEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 128
Height = 21
Top = 87
Width = 527
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Right = 6
TabOrder = 4
Text = 'WorkingDirEdit' Text = 'WorkingDirEdit'
end end
object OptionsGroupBox: TGroupBox object OptionsGroupBox: TGroupBox
@ -147,8 +131,8 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 105 Height = 124
Top = 114 Top = 189
Width = 649 Width = 649
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
@ -156,14 +140,14 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
Caption = 'OptionsGroupBox' Caption = 'OptionsGroupBox'
ChildSizing.Layout = cclTopToBottomThenLeftToRight ChildSizing.Layout = cclTopToBottomThenLeftToRight
ChildSizing.ControlsPerLine = 5 ChildSizing.ControlsPerLine = 5
ClientHeight = 87 ClientHeight = 95
ClientWidth = 645 ClientWidth = 643
TabOrder = 5 TabOrder = 4
object OptionScanOutputForFPCMessagesCheckBox: TCheckBox object OptionScanOutputForFPCMessagesCheckBox: TCheckBox
Left = 6 Left = 6
Height = 17 Height = 21
Top = 6 Top = 6
Width = 242 Width = 316
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'OptionScanOutputForFPCMessagesCheckBox' Caption = 'OptionScanOutputForFPCMessagesCheckBox'
TabOrder = 0 TabOrder = 0
@ -172,9 +156,9 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 6 Left = 6
Height = 17 Height = 21
Top = 29 Top = 33
Width = 242 Width = 316
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'OptionScanOutputForMakeMessagesCheckBox' Caption = 'OptionScanOutputForMakeMessagesCheckBox'
TabOrder = 1 TabOrder = 1
@ -185,7 +169,7 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 29 Height = 29
Top = 52 Top = 60
Width = 323 Width = 323
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'ScannersButton' Caption = 'ScannersButton'
@ -196,10 +180,10 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideLeft.Control = OptionScanOutputForFPCMessagesCheckBox AnchorSideLeft.Control = OptionScanOutputForFPCMessagesCheckBox
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = OptionScanOutputForFPCMessagesCheckBox AnchorSideTop.Control = OptionScanOutputForFPCMessagesCheckBox
Left = 254 Left = 328
Height = 17 Height = 21
Top = 6 Top = 6
Width = 101 Width = 135
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'chkHideMainForm' Caption = 'chkHideMainForm'
TabOrder = 3 TabOrder = 3
@ -212,15 +196,15 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideRight.Control = OptionsGroupBox AnchorSideRight.Control = OptionsGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 25 Height = 78
Top = 225 Top = 319
Width = 649 Width = 649
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'KeyGroupBox' Caption = 'KeyGroupBox'
Constraints.MinHeight = 25 Constraints.MinHeight = 25
TabOrder = 6 TabOrder = 5
end end
object MacrosGroupbox: TGroupBox object MacrosGroupbox: TGroupBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
@ -230,15 +214,15 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonPanel AnchorSideBottom.Control = ButtonPanel
Left = 6 Left = 6
Height = 207 Height = 151
Top = 256 Top = 403
Width = 649 Width = 649
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'MacrosGroupbox' Caption = 'MacrosGroupbox'
ClientHeight = 189 ClientHeight = 122
ClientWidth = 645 ClientWidth = 643
TabOrder = 7 TabOrder = 6
object MacrosListbox: TListBox object MacrosListbox: TListBox
AnchorSideLeft.Control = MacrosGroupbox AnchorSideLeft.Control = MacrosGroupbox
AnchorSideTop.Control = MacrosInsertButton AnchorSideTop.Control = MacrosInsertButton
@ -246,9 +230,9 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideBottom.Control = MacrosGroupbox AnchorSideBottom.Control = MacrosGroupbox
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 6 Left = 6
Height = 181 Height = 114
Top = 2 Top = 2
Width = 506 Width = 489
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
@ -262,10 +246,10 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
AnchorSideTop.Control = MacrosGroupbox AnchorSideTop.Control = MacrosGroupbox
AnchorSideRight.Control = MacrosGroupbox AnchorSideRight.Control = MacrosGroupbox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 518 Left = 501
Height = 23 Height = 24
Top = 2 Top = 2
Width = 121 Width = 136
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Top = 2 BorderSpacing.Top = 2
@ -279,22 +263,42 @@ object ExternalToolOptionDlg: TExternalToolOptionDlg
object ButtonPanel: TButtonPanel object ButtonPanel: TButtonPanel
Left = 6 Left = 6
Height = 26 Height = 26
Top = 469 Top = 560
Width = 649 Width = 649
OKButton.Name = 'OKButton' OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
OKButton.OnClick = OKButtonClick OKButton.OnClick = OKButtonClick
HelpButton.Name = 'HelpButton' HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
HelpButton.OnClick = HelpButtonClick HelpButton.OnClick = HelpButtonClick
CloseButton.Name = 'CloseButton' CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CloseButton.Enabled = False CloseButton.Enabled = False
CancelButton.Name = 'CancelButton' CancelButton.Name = 'CancelButton'
TabOrder = 8 CancelButton.DefaultCaption = True
TabOrder = 7
ShowButtons = [pbOK, pbCancel, pbHelp] ShowButtons = [pbOK, pbCancel, pbHelp]
ShowBevel = False ShowBevel = False
end end
object MemoParameters: TMemo
AnchorSideLeft.Control = TitleEdit
AnchorSideTop.Control = FilenameEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 128
Height = 90
Top = 64
Width = 527
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Right = 6
ScrollBars = ssAutoBoth
TabOrder = 8
end
object OpenDialog: TOpenDialog object OpenDialog: TOpenDialog
Options = [ofPathMustExist, ofFileMustExist, ofEnableSizing, ofViewDetail] Options = [ofPathMustExist, ofFileMustExist, ofEnableSizing, ofViewDetail]
left = 88 left = 80
top = 32 top = 56
end end
end end

View File

@ -69,6 +69,7 @@ type
TExternalToolOptionDlg = class(TForm) TExternalToolOptionDlg = class(TForm)
ButtonPanel: TButtonPanel; ButtonPanel: TButtonPanel;
MemoParameters: TMemo;
ScannersButton: TButton; ScannersButton: TButton;
TitleLabel: TLabel; TitleLabel: TLabel;
TitleEdit: TEdit; TitleEdit: TEdit;
@ -77,7 +78,6 @@ type
OpenDialog: TOpenDialog; OpenDialog: TOpenDialog;
OpenButton:TButton; OpenButton:TButton;
ParametersLabel: TLabel; ParametersLabel: TLabel;
ParametersEdit: TEdit;
WorkingDirLabel: TLabel; WorkingDirLabel: TLabel;
WorkingDirEdit: TEdit; WorkingDirEdit: TEdit;
OptionsGroupBox: TGroupBox; OptionsGroupBox: TGroupBox;
@ -161,7 +161,7 @@ procedure TExternalToolOptionDlg.SaveToOptions;
begin begin
fOptions.Title:=TitleEdit.Text; fOptions.Title:=TitleEdit.Text;
fOptions.Filename:=FilenameEdit.Text; fOptions.Filename:=FilenameEdit.Text;
fOptions.CmdLineParams:=ParametersEdit.Text; fOptions.CmdLineParams:=MemoParameters.Lines.Text;
fOptions.WorkingDirectory:=WorkingDirEdit.Text; fOptions.WorkingDirectory:=WorkingDirEdit.Text;
fOptions.Key:=fKeyBox.Key; fOptions.Key:=fKeyBox.Key;
fOptions.Shift:=fKeyBox.ShiftState; fOptions.Shift:=fKeyBox.ShiftState;
@ -208,7 +208,7 @@ procedure TExternalToolOptionDlg.LoadFromOptions;
begin begin
TitleEdit.Text:=fOptions.Title; TitleEdit.Text:=fOptions.Title;
FilenameEdit.Text:=fOptions.Filename; FilenameEdit.Text:=fOptions.Filename;
ParametersEdit.Text:=fOptions.CmdLineParams; MemoParameters.Lines.Text:=fOptions.CmdLineParams;
WorkingDirEdit.Text:=fOptions.WorkingDirectory; WorkingDirEdit.Text:=fOptions.WorkingDirectory;
fKeyBox.Key:=fOptions.Key; fKeyBox.Key:=fOptions.Key;
fKeyBox.ShiftState:=fOptions.Shift; fKeyBox.ShiftState:=fOptions.Shift;
@ -336,8 +336,8 @@ begin
end; end;
procedure TExternalToolOptionDlg.MacrosInsertButtonClick(Sender: TObject); procedure TExternalToolOptionDlg.MacrosInsertButtonClick(Sender: TObject);
var i: integer; var i, ALine: integer;
s: string; s, AStr: string;
begin begin
i:=MacrosListbox.ItemIndex; i:=MacrosListbox.ItemIndex;
if i<0 then exit; if i<0 then exit;
@ -345,7 +345,11 @@ begin
s:='$('+fTransferMacros[i].Name+')' s:='$('+fTransferMacros[i].Name+')'
else else
s:='$'+fTransferMacros[i].Name+'()'; s:='$'+fTransferMacros[i].Name+'()';
ParametersEdit.Text:=ParametersEdit.Text+s; ALine := MemoParameters.CaretPos.Y;
If MemoParameters.Lines.Count = 0 Then
MemoParameters.Lines.Add('');
AStr := MemoParameters.Lines[Aline];
MemoParameters.Lines[Aline] := AStr + s;
end; end;
procedure TExternalToolOptionDlg.MacrosListboxClick(Sender: TObject); procedure TExternalToolOptionDlg.MacrosListboxClick(Sender: TObject);

View File

@ -51,7 +51,6 @@ resourcestring
lisRemove = 'Remove'; lisRemove = 'Remove';
lisBtnRemove = '&Remove'; lisBtnRemove = '&Remove';
lisRename = 'Rename'; lisRename = 'Rename';
lisRenameShowResult = 'Show list of renamed Identifiers';
lisReplace = 'Replace'; lisReplace = 'Replace';
lisBtnReplace = '&Replace'; lisBtnReplace = '&Replace';
lisBtnDlgReplace = '&Replace ...'; lisBtnDlgReplace = '&Replace ...';
@ -67,14 +66,10 @@ resourcestring
lisFile = 'File'; lisFile = 'File';
lisNew = 'New'; lisNew = 'New';
lisClose = 'Close'; lisClose = 'Close';
lrsRescanLplFiles = 'Rescan lpl files';
lrsPLDDeleteSelected = 'Delete selected';
lisBtnClose = '&Close'; lisBtnClose = '&Close';
lisOk = 'OK'; lisOk = 'OK';
lisMenuOk = '&OK'; lisMenuOk = '&OK';
lisCancel = 'Cancel'; lisCancel = 'Cancel';
lisImportPackageListXml = 'Import package list (*.xml)';
lisExportPackageListXml = 'Export package list (*.xml)';
lisNo = 'No'; lisNo = 'No';
lisContinue = 'Continue'; lisContinue = 'Continue';
lisBreak = 'Break'; lisBreak = 'Break';
@ -114,7 +109,19 @@ resourcestring
lisStop = 'Stop'; lisStop = 'Stop';
lisLess = 'Less'; lisLess = 'Less';
lisMore = 'More'; lisMore = 'More';
lisMoreSub = 'More >>';
lisDefault = 'Default'; lisDefault = 'Default';
lisClone = 'Clone';
lisExport = 'Export';
lisDlgExport = 'Export ...';
lisImport = 'Import';
lisDlgImport = 'Import ...';
lisImportPackageListXml = 'Import package list (*.xml)';
lisExportPackageListXml = 'Export package list (*.xml)';
lrsRescanLplFiles = 'Rescan lpl files';
lrsPLDDeleteSelected = 'Delete selected';
lisRenameShowResult = 'Show list of renamed Identifiers';
// errors // errors
lisErrInvalidOption = 'Invalid option at position %d: "%s"'; lisErrInvalidOption = 'Invalid option at position %d: "%s"';
@ -2391,7 +2398,6 @@ resourcestring
lisCollapseAllUnits = 'Collapse all units'; lisCollapseAllUnits = 'Collapse all units';
lisExpandAllClasses = 'Expand all classes'; lisExpandAllClasses = 'Expand all classes';
lisCollapseAllClasses = 'Collapse all classes'; lisCollapseAllClasses = 'Collapse all classes';
lisExport = 'Export ...';
lisBegins = 'begins'; lisBegins = 'begins';
lisIdentifierBeginsWith = 'Identifier begins with ...'; lisIdentifierBeginsWith = 'Identifier begins with ...';
lisUnitNameBeginsWith = 'Unit name begins with ...'; lisUnitNameBeginsWith = 'Unit name begins with ...';
@ -5645,7 +5651,6 @@ resourcestring
lisDeleteSelectedMacro = 'Delete selected macro?'; lisDeleteSelectedMacro = 'Delete selected macro?';
lisSaveMacroAs = 'Save macro as'; lisSaveMacroAs = 'Save macro as';
lisLoadMacroFrom = 'Load macro from'; lisLoadMacroFrom = 'Load macro from';
lisImport = 'Import ...';
lisProjectMacro = 'Project'; lisProjectMacro = 'Project';
lisNewRecordedMacrosNotToBeSaved = 'New recorded macros. Not to be saved'; lisNewRecordedMacrosNotToBeSaved = 'New recorded macros. Not to be saved';
lisSavedWithProjectSession = 'Saved with project session'; lisSavedWithProjectSession = 'Saved with project session';