mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-10-30 02:21:26 +01:00
IDE: Add a dedicated button for LclWidgetType macro in "Additions and Overrides" page.
git-svn-id: trunk@45086 -
This commit is contained in:
parent
761b0905cc
commit
b7f34fb2ec
@ -6,8 +6,8 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame
|
|||||||
ClientHeight = 429
|
ClientHeight = 429
|
||||||
ClientWidth = 550
|
ClientWidth = 550
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
DesignLeft = 307
|
DesignLeft = 414
|
||||||
DesignTop = 162
|
DesignTop = 101
|
||||||
object BMMatrixToolBar: TToolBar
|
object BMMatrixToolBar: TToolBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 26
|
Height = 26
|
||||||
@ -18,80 +18,93 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame
|
|||||||
List = True
|
List = True
|
||||||
ShowCaptions = True
|
ShowCaptions = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object BMMMoveUpToolButton: TToolButton
|
object BMMMoveUpButton: TToolButton
|
||||||
Left = 1
|
Left = 1
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Up'
|
Caption = 'Up'
|
||||||
OnClick = BMMMoveUpToolButtonClick
|
OnClick = BMMMoveUpButtonClick
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
end
|
end
|
||||||
object BMMMoveDownToolButton: TToolButton
|
object BMMMoveDownButton: TToolButton
|
||||||
Left = 24
|
Left = 26
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Down'
|
Caption = 'Down'
|
||||||
OnClick = BMMMoveDownToolButtonClick
|
OnClick = BMMMoveDownButtonClick
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
end
|
end
|
||||||
object BMMUndoToolButton: TToolButton
|
object BMMUndoButton: TToolButton
|
||||||
Left = 73
|
Left = 78
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Undo'
|
Caption = 'Undo'
|
||||||
OnClick = BMMUndoToolButtonClick
|
OnClick = BMMUndoButtonClick
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
end
|
end
|
||||||
object BMMRedoToolButton: TToolButton
|
object BMMRedoToolButton: TToolButton
|
||||||
Left = 110
|
Left = 119
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Redo'
|
Caption = 'Redo'
|
||||||
OnClick = BMMRedoToolButtonClick
|
OnClick = BMMRedoToolButtonClick
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
end
|
end
|
||||||
object BMMDeleteToolButton: TToolButton
|
object BMMDeleteButton: TToolButton
|
||||||
Left = 207
|
Left = 408
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Delete'
|
Caption = 'Delete'
|
||||||
OnClick = BMMDeleteToolButtonClick
|
OnClick = BMMDeleteButtonClick
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
end
|
end
|
||||||
object ToolButton1: TToolButton
|
object ToolButton1: TToolButton
|
||||||
Left = 63
|
Left = 68
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 10
|
Width = 10
|
||||||
Caption = 'ToolButton1'
|
Caption = 'ToolButton1'
|
||||||
Style = tbsSeparator
|
Style = tbsSeparator
|
||||||
end
|
end
|
||||||
object ToolButton2: TToolButton
|
object ToolButton2: TToolButton
|
||||||
Left = 145
|
Left = 158
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 10
|
Width = 10
|
||||||
Caption = 'ToolButton2'
|
Caption = 'ToolButton2'
|
||||||
Style = tbsSeparator
|
Style = tbsSeparator
|
||||||
end
|
end
|
||||||
object ToolButton3: TToolButton
|
object ToolButton3: TToolButton
|
||||||
Left = 197
|
Left = 398
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 10
|
Width = 10
|
||||||
Caption = 'ToolButton3'
|
Caption = 'ToolButton3'
|
||||||
Style = tbsSeparator
|
Style = tbsSeparator
|
||||||
end
|
end
|
||||||
object BMMAddToolButton: TToolButton
|
object BMMAddOtherButton: TToolButton
|
||||||
Left = 155
|
Left = 315
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Add'
|
Caption = 'Add Other'
|
||||||
DropdownMenu = BMMAddPopupMenu
|
DropdownMenu = BMMAddOtherPopupMenu
|
||||||
OnClick = BMMAddToolButtonClick
|
OnClick = BMMAddOtherButtonClick
|
||||||
Style = tbsDropDown
|
Style = tbsDropDown
|
||||||
end
|
end
|
||||||
|
object BMMAddLclWidgetButton: TToolButton
|
||||||
|
Left = 168
|
||||||
|
Top = 0
|
||||||
|
Caption = 'Add LCLWidgetType'
|
||||||
|
OnClick = BMMAddLclWidgetButtonClick
|
||||||
|
Style = tbsDropDown
|
||||||
|
end
|
||||||
|
object ToolButton4: TToolButton
|
||||||
|
Left = 305
|
||||||
|
Top = 0
|
||||||
|
Width = 10
|
||||||
|
Caption = 'ToolButton4'
|
||||||
|
Style = tbsSeparator
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object BMMAddPopupMenu: TPopupMenu
|
object BMMAddOtherPopupMenu: TPopupMenu
|
||||||
OnPopup = BMMAddPopupMenuPopup
|
left = 240
|
||||||
left = 232
|
top = 117
|
||||||
top = 93
|
|
||||||
object BMMNewCustomOptionMenuItem: TMenuItem
|
object BMMNewCustomOptionMenuItem: TMenuItem
|
||||||
Caption = 'New Custom Option'
|
Caption = 'New Custom Option'
|
||||||
OnClick = BMMNewCustomOptionMenuItemClick
|
OnClick = BMMNewCustomOptionMenuItemClick
|
||||||
@ -109,4 +122,12 @@ object CompOptModeMatrixFrame: TCompOptModeMatrixFrame
|
|||||||
OnClick = BMMNewTargetMenuItemClick
|
OnClick = BMMNewTargetMenuItemClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object BMMAddLclWidgetPopupMenu: TPopupMenu
|
||||||
|
left = 240
|
||||||
|
top = 64
|
||||||
|
object BMMLCLWidgetTypeMenuItem: TMenuItem
|
||||||
|
Caption = 'Set LCLWidgetType'
|
||||||
|
OnClick = BMMNewTargetMenuItemClick
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -46,40 +46,44 @@ type
|
|||||||
{ TCompOptModeMatrixFrame }
|
{ TCompOptModeMatrixFrame }
|
||||||
|
|
||||||
TCompOptModeMatrixFrame = class(TAbstractIDEOptionsEditor)
|
TCompOptModeMatrixFrame = class(TAbstractIDEOptionsEditor)
|
||||||
|
BMMAddLclWidgetPopupMenu: TPopupMenu;
|
||||||
BMMatrixToolBar: TToolBar;
|
BMMatrixToolBar: TToolBar;
|
||||||
BMMDeleteToolButton: TToolButton;
|
BMMDeleteButton: TToolButton;
|
||||||
BMMMoveDownToolButton: TToolButton;
|
BMMMoveDownButton: TToolButton;
|
||||||
BMMMoveUpToolButton: TToolButton;
|
BMMMoveUpButton: TToolButton;
|
||||||
|
BMMLCLWidgetTypeMenuItem: TMenuItem;
|
||||||
BMMRedoToolButton: TToolButton;
|
BMMRedoToolButton: TToolButton;
|
||||||
BMMUndoToolButton: TToolButton;
|
BMMUndoButton: TToolButton;
|
||||||
BMMNewCustomOptionMenuItem: TMenuItem;
|
BMMNewCustomOptionMenuItem: TMenuItem;
|
||||||
BMMAddPopupMenu: TPopupMenu;
|
BMMAddOtherPopupMenu: TPopupMenu;
|
||||||
BMMNewTargetMenuItem: TMenuItem;
|
BMMNewTargetMenuItem: TMenuItem;
|
||||||
BMMAddToolButton: TToolButton;
|
BMMAddOtherButton: TToolButton;
|
||||||
BMMNewIDEMacroMenuItem: TMenuItem;
|
BMMNewIDEMacroMenuItem: TMenuItem;
|
||||||
BMMNewOutDirMenuItem: TMenuItem;
|
BMMNewOutDirMenuItem: TMenuItem;
|
||||||
ToolButton1: TToolButton;
|
ToolButton1: TToolButton;
|
||||||
ToolButton2: TToolButton;
|
ToolButton2: TToolButton;
|
||||||
ToolButton3: TToolButton;
|
ToolButton3: TToolButton;
|
||||||
procedure BMMDeleteToolButtonClick(Sender: TObject);
|
BMMAddLclWidgetButton: TToolButton;
|
||||||
procedure BMMMoveDownToolButtonClick(Sender: TObject);
|
ToolButton4: TToolButton;
|
||||||
procedure BMMMoveUpToolButtonClick(Sender: TObject);
|
procedure BMMDeleteButtonClick(Sender: TObject);
|
||||||
procedure BMMAddPopupMenuPopup(Sender: TObject);
|
procedure BMMMoveDownButtonClick(Sender: TObject);
|
||||||
|
procedure BMMMoveUpButtonClick(Sender: TObject);
|
||||||
procedure BMMNewIDEMacroMenuItemClick(Sender: TObject);
|
procedure BMMNewIDEMacroMenuItemClick(Sender: TObject);
|
||||||
procedure BMMNewOutDirMenuItemClick(Sender: TObject);
|
procedure BMMNewOutDirMenuItemClick(Sender: TObject);
|
||||||
procedure BMMRedoToolButtonClick(Sender: TObject);
|
procedure BMMRedoToolButtonClick(Sender: TObject);
|
||||||
procedure BMMUndoToolButtonClick(Sender: TObject);
|
procedure BMMUndoButtonClick(Sender: TObject);
|
||||||
procedure BMMNewCustomOptionMenuItemClick(Sender: TObject);
|
procedure BMMNewCustomOptionMenuItemClick(Sender: TObject);
|
||||||
procedure BMMNewTargetMenuItemClick(Sender: TObject);
|
procedure BMMNewTargetMenuItemClick(Sender: TObject);
|
||||||
procedure BMMAddToolButtonClick(Sender: TObject);
|
procedure BMMAddLclWidgetButtonClick(Sender: TObject);
|
||||||
|
procedure BMMAddOtherButtonClick(Sender: TObject);
|
||||||
procedure GridEditingDone(Sender: TObject);
|
procedure GridEditingDone(Sender: TObject);
|
||||||
procedure GridGetCellHightlightColor(Sender: TObject; aCol, aRow: integer;
|
procedure GridGetCellHightlightColor(Sender: TObject; aCol, aRow: integer;
|
||||||
var aColor: TColor);
|
var aColor: TColor);
|
||||||
procedure GridSelection(Sender: TObject; {%H-}aCol, {%H-}aRow: Integer);
|
procedure GridSelection(Sender: TObject; {%H-}aCol, {%H-}aRow: Integer);
|
||||||
procedure GridSetEditText(Sender: TObject; ACol, ARow: Integer;
|
procedure GridSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
|
||||||
const Value: string);
|
|
||||||
procedure GridShowHint(Sender: TObject; HintInfo: PHintInfo);
|
procedure GridShowHint(Sender: TObject; HintInfo: PHintInfo);
|
||||||
procedure OnAddMacroMenuItemClick(Sender: TObject);
|
procedure OnAddMacroMenuItemClick(Sender: TObject);
|
||||||
|
procedure OnAddLCLWidgetTypeClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
FErrorColor: TColor;
|
FErrorColor: TColor;
|
||||||
FGrid: TGroupedMatrixControl;
|
FGrid: TGroupedMatrixControl;
|
||||||
@ -95,7 +99,10 @@ type
|
|||||||
fOldSessionOptions: TBuildMatrixOptions;
|
fOldSessionOptions: TBuildMatrixOptions;
|
||||||
fCaptionPatternMacroName: string;
|
fCaptionPatternMacroName: string;
|
||||||
fCaptionPatternMacroValue: string;
|
fCaptionPatternMacroValue: string;
|
||||||
|
procedure AddLCLWidgetTypeValues(ParentMenu: TPopupMenu; Mcr: TLazBuildMacro);
|
||||||
|
procedure AddMacroValues(ParentMI: TMenuItem; Mcr: TLazBuildMacro);
|
||||||
procedure DoWriteSettings;
|
procedure DoWriteSettings;
|
||||||
|
procedure FillMenus;
|
||||||
procedure MoveRow(Direction: integer);
|
procedure MoveRow(Direction: integer);
|
||||||
procedure UpdateButtons;
|
procedure UpdateButtons;
|
||||||
function AddTarget(StorageGroup: TGroupedMatrixGroup): TGroupedMatrixGroup;
|
function AddTarget(StorageGroup: TGroupedMatrixGroup): TGroupedMatrixGroup;
|
||||||
@ -395,8 +402,8 @@ begin
|
|||||||
UpdateButtons;
|
UpdateButtons;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.GridSetEditText(Sender: TObject; ACol,
|
procedure TCompOptModeMatrixFrame.GridSetEditText(Sender: TObject; ACol, ARow: Integer;
|
||||||
ARow: Integer; const Value: string);
|
const Value: string);
|
||||||
var
|
var
|
||||||
MatRow: TGroupedMatrixRow;
|
MatRow: TGroupedMatrixRow;
|
||||||
ValueRow: TGroupedMatrixValue;
|
ValueRow: TGroupedMatrixValue;
|
||||||
@ -476,12 +483,22 @@ begin
|
|||||||
CreateNewOption(BuildMatrixOptionTypeCaption(bmotIDEMacro),MacroName+':='+Value);
|
CreateNewOption(BuildMatrixOptionTypeCaption(bmotIDEMacro),MacroName+':='+Value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCompOptModeMatrixFrame.OnAddLCLWidgetTypeClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
ValueMenuItem: TMenuItem;
|
||||||
|
Value: String;
|
||||||
|
begin
|
||||||
|
ValueMenuItem:=Sender as TMenuItem;
|
||||||
|
Value:=GetCaptionValue(ValueMenuItem.Caption,fCaptionPatternMacroValue);
|
||||||
|
CreateNewOption(BuildMatrixOptionTypeCaption(bmotIDEMacro),'LCLWidgetType:='+Value);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.BMMNewCustomOptionMenuItemClick(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.BMMNewCustomOptionMenuItemClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
CreateNewOption(BuildMatrixOptionTypeCaption(bmotCustom),BuildMatrixDefaultValue(bmotCustom));
|
CreateNewOption(BuildMatrixOptionTypeCaption(bmotCustom),BuildMatrixDefaultValue(bmotCustom));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.BMMUndoToolButtonClick(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.BMMUndoButtonClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Grid.Undo;
|
Grid.Undo;
|
||||||
UpdateGridStorageGroups;
|
UpdateGridStorageGroups;
|
||||||
@ -493,12 +510,20 @@ begin
|
|||||||
CreateNewTarget;
|
CreateNewTarget;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.BMMAddToolButtonClick(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.BMMAddLclWidgetButtonClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
p: TPoint;
|
p: TPoint;
|
||||||
begin
|
begin
|
||||||
p:=BMMAddToolButton.ClientToScreen(Point(0,BMMAddToolButton.Height));
|
p:=BMMAddLclWidgetButton.ClientToScreen(Point(0,BMMAddLclWidgetButton.Height));
|
||||||
BMMAddPopupMenu.PopUp(p.x,p.y);
|
BMMAddLclWidgetPopupMenu.PopUp(p.x,p.y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCompOptModeMatrixFrame.BMMAddOtherButtonClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
p: TPoint;
|
||||||
|
begin
|
||||||
|
p:=BMMAddOtherButton.ClientToScreen(Point(0,BMMAddOtherButton.Height));
|
||||||
|
BMMAddOtherPopupMenu.PopUp(p.x,p.y);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.GridEditingDone(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.GridEditingDone(Sender: TObject);
|
||||||
@ -545,52 +570,84 @@ begin
|
|||||||
UpdateButtons;
|
UpdateButtons;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.BMMMoveUpToolButtonClick(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.BMMMoveUpButtonClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MoveRow(-1);
|
MoveRow(-1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.BMMAddPopupMenuPopup(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.AddLCLWidgetTypeValues(ParentMenu: TPopupMenu; Mcr: TLazBuildMacro);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
|
ValueMI: TMenuItem;
|
||||||
|
begin
|
||||||
|
if Mcr.Values<>nil then begin
|
||||||
|
for i:=0 to Mcr.Values.Count-1 do begin
|
||||||
|
if i=ParentMenu.Items.Count then
|
||||||
|
ParentMenu.Items.Add(TMenuItem.Create(Self));
|
||||||
|
ValueMI:=ParentMenu.Items[i];
|
||||||
|
ValueMI.Caption:=Format(fCaptionPatternMacroValue,[Mcr.Values[i]]);
|
||||||
|
ValueMI.OnClick:=@OnAddLCLWidgetTypeClick;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCompOptModeMatrixFrame.AddMacroValues(ParentMI: TMenuItem; Mcr: TLazBuildMacro);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
ValueMI: TMenuItem;
|
||||||
|
begin
|
||||||
|
if Mcr.Values<>nil then begin
|
||||||
|
for i:=0 to Mcr.Values.Count-1 do begin
|
||||||
|
if i=ParentMI.Count then
|
||||||
|
ParentMI.Add(TMenuItem.Create(Self));
|
||||||
|
ValueMI:=ParentMI.Items[i];
|
||||||
|
ValueMI.Caption:=Format(fCaptionPatternMacroValue,[Mcr.Values[i]]);
|
||||||
|
ValueMI.OnClick:=@OnAddMacroMenuItemClick;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCompOptModeMatrixFrame.FillMenus;
|
||||||
|
var
|
||||||
|
i, j: Integer;
|
||||||
Pkg: TLazPackage;
|
Pkg: TLazPackage;
|
||||||
Macros: TLazBuildMacros;
|
Macros: TLazBuildMacros;
|
||||||
j: Integer;
|
|
||||||
Macro: TLazBuildMacro;
|
Macro: TLazBuildMacro;
|
||||||
|
LCLWidgetTypeMacro: TLazBuildMacro;
|
||||||
List: TStringList;
|
List: TStringList;
|
||||||
MenuIndex: Integer;
|
MenuIndex: Integer;
|
||||||
MacroMenuItem: TMenuItem;
|
MacroMenuItem: TMenuItem;
|
||||||
ValueMenuItem: TMenuItem;
|
|
||||||
begin
|
begin
|
||||||
|
LCLWidgetTypeMacro:=Nil;
|
||||||
List:=TStringList.Create;
|
List:=TStringList.Create;
|
||||||
try
|
try
|
||||||
|
// First collect all macros from all used packages to a sorted list.
|
||||||
for i:=0 to PackageGraph.Count-1 do begin
|
for i:=0 to PackageGraph.Count-1 do begin
|
||||||
Pkg:=PackageGraph[i];
|
Pkg:=PackageGraph[i];
|
||||||
Macros:=Pkg.CompilerOptions.BuildMacros;
|
Macros:=Pkg.CompilerOptions.BuildMacros;
|
||||||
for j:=0 to Macros.Count-1 do begin
|
for j:=0 to Macros.Count-1 do begin
|
||||||
Macro:=Macros[j];
|
Macro:=Macros[j];
|
||||||
if not IsValidIdent(Macro.Identifier) then continue;
|
if Macro.Identifier = 'LCLWidgetType' then
|
||||||
List.AddObject(Macro.Identifier,Macro);
|
LCLWidgetTypeMacro:=Macro
|
||||||
|
else if IsValidIdent(Macro.Identifier) then
|
||||||
|
List.AddObject(Macro.Identifier,Macro);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
List.Sort;
|
List.Sort;
|
||||||
|
// LCLWidgetType gets its own button.
|
||||||
|
BMMAddLclWidgetButton.Visible:=Assigned(LCLWidgetTypeMacro);
|
||||||
|
if Assigned(LCLWidgetTypeMacro) then
|
||||||
|
AddLCLWidgetTypeValues(BMMAddLclWidgetPopupMenu, LCLWidgetTypeMacro);
|
||||||
|
// Place other macros to the popup menu opened from "Add" button.
|
||||||
MenuIndex:=BMMNewTargetMenuItem.MenuIndex;
|
MenuIndex:=BMMNewTargetMenuItem.MenuIndex;
|
||||||
for i:=0 to List.Count-1 do begin
|
for i:=0 to List.Count-1 do begin
|
||||||
inc(MenuIndex);
|
inc(MenuIndex);
|
||||||
Macro:=TLazBuildMacro(List.Objects[i]);
|
Macro:=TLazBuildMacro(List.Objects[i]);
|
||||||
if BMMAddPopupMenu.Items.Count=MenuIndex then
|
if BMMAddOtherPopupMenu.Items.Count=MenuIndex then
|
||||||
BMMAddPopupMenu.Items.Add(TMenuItem.Create(Self));
|
BMMAddOtherPopupMenu.Items.Add(TMenuItem.Create(Self));
|
||||||
MacroMenuItem:=BMMAddPopupMenu.Items[MenuIndex];
|
MacroMenuItem:=BMMAddOtherPopupMenu.Items[MenuIndex];
|
||||||
MacroMenuItem.Caption:=Format(fCaptionPatternMacroName,[Macro.Identifier]);
|
MacroMenuItem.Caption:=Format(fCaptionPatternMacroName,[Macro.Identifier]);
|
||||||
if Macro.Values<>nil then begin
|
AddMacroValues(MacroMenuItem, Macro);
|
||||||
for j:=0 to Macro.Values.Count-1 do begin
|
|
||||||
if j=MacroMenuItem.Count then
|
|
||||||
MacroMenuItem.Add(TMenuItem.Create(Self));
|
|
||||||
ValueMenuItem:=MacroMenuItem.Items[j];
|
|
||||||
ValueMenuItem.Caption:=Format(fCaptionPatternMacroValue,[Macro.Values[j]]);
|
|
||||||
ValueMenuItem.OnClick:=@OnAddMacroMenuItemClick;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
List.Free;
|
List.Free;
|
||||||
@ -607,12 +664,12 @@ begin
|
|||||||
CreateNewOption(BuildMatrixOptionTypeCaption(bmotOutDir),BuildMatrixDefaultValue(bmotOutDir));
|
CreateNewOption(BuildMatrixOptionTypeCaption(bmotOutDir),BuildMatrixDefaultValue(bmotOutDir));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.BMMMoveDownToolButtonClick(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.BMMMoveDownButtonClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MoveRow(1);
|
MoveRow(1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCompOptModeMatrixFrame.BMMDeleteToolButtonClick(Sender: TObject);
|
procedure TCompOptModeMatrixFrame.BMMDeleteButtonClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
aRow: Integer;
|
aRow: Integer;
|
||||||
MatRow: TGroupedMatrixRow;
|
MatRow: TGroupedMatrixRow;
|
||||||
@ -640,15 +697,15 @@ begin
|
|||||||
MatRow:=nil;
|
MatRow:=nil;
|
||||||
|
|
||||||
// allow to delete targets and value rows
|
// allow to delete targets and value rows
|
||||||
BMMDeleteToolButton.Enabled:=(MatRow<>nil) and (MatRow.Group<>nil);
|
BMMDeleteButton.Enabled:=(MatRow<>nil) and (MatRow.Group<>nil);
|
||||||
//
|
//
|
||||||
BMMUndoToolButton.Enabled:=Grid.CanUndo;
|
BMMUndoButton.Enabled:=Grid.CanUndo;
|
||||||
BMMRedoToolButton.Enabled:=Grid.CanRedo;
|
BMMRedoToolButton.Enabled:=Grid.CanRedo;
|
||||||
// move up/down
|
// move up/down
|
||||||
BMMMoveUpToolButton.Enabled:=(MatRow<>nil) and (MatRow.Group<>nil)
|
BMMMoveUpButton.Enabled:=(MatRow<>nil) and (MatRow.Group<>nil)
|
||||||
and ((MatRow.GetPreviousSibling<>nil)
|
and ((MatRow.GetPreviousSibling<>nil)
|
||||||
or (MatRow.GetTopLvlItem.GetPreviousSibling<>nil));
|
or (MatRow.GetTopLvlItem.GetPreviousSibling<>nil));
|
||||||
BMMMoveDownToolButton.Enabled:=(MatRow<>nil) and (MatRow.Group<>nil)
|
BMMMoveDownButton.Enabled:=(MatRow<>nil) and (MatRow.Group<>nil)
|
||||||
and (MatRow.GetNextSkipChildren<>nil);
|
and (MatRow.GetNextSkipChildren<>nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1059,24 +1116,22 @@ begin
|
|||||||
|
|
||||||
BMMatrixToolBar.Images:=IDEImages.Images_16;
|
BMMatrixToolBar.Images:=IDEImages.Images_16;
|
||||||
|
|
||||||
BMMMoveUpToolButton.ShowCaption:=false;
|
BMMMoveUpButton.ShowCaption:=false;
|
||||||
BMMMoveUpToolButton.ImageIndex:=IDEImages.LoadImage(16,'arrow_up');
|
BMMMoveUpButton.ImageIndex:=IDEImages.LoadImage(16,'arrow_up');
|
||||||
BMMMoveUpToolButton.Hint:=lisMMMoveSelectedItemUp;
|
BMMMoveUpButton.Hint:=lisMMMoveSelectedItemUp;
|
||||||
|
|
||||||
BMMMoveDownToolButton.ShowCaption:=false;
|
BMMMoveDownButton.ShowCaption:=false;
|
||||||
BMMMoveDownToolButton.ImageIndex:=IDEImages.LoadImage(16,'arrow_down');
|
BMMMoveDownButton.ImageIndex:=IDEImages.LoadImage(16,'arrow_down');
|
||||||
BMMMoveDownToolButton.Hint:=lisMMMoveSelectedItemDown;
|
BMMMoveDownButton.Hint:=lisMMMoveSelectedItemDown;
|
||||||
|
|
||||||
BMMUndoToolButton.Caption:=lisUndo;
|
BMMUndoButton.Caption:=lisUndo;
|
||||||
BMMUndoToolButton.Hint:=lisMMUndoLastChangeToThisGrid;
|
BMMUndoButton.Hint:=lisMMUndoLastChangeToThisGrid;
|
||||||
|
|
||||||
BMMRedoToolButton.Caption:=lisRedo;
|
BMMRedoToolButton.Caption:=lisRedo;
|
||||||
BMMRedoToolButton.Hint:=lisMMRedoLastUndoToThisGrid;
|
BMMRedoToolButton.Hint:=lisMMRedoLastUndoToThisGrid;
|
||||||
|
|
||||||
BMMAddToolButton.Caption:=lisAdd;
|
BMMDeleteButton.Caption:=lisDelete;
|
||||||
|
BMMDeleteButton.Hint:=lisMMDeleteTheSelectedTargetOrOption;
|
||||||
BMMDeleteToolButton.Caption:=lisDelete;
|
|
||||||
BMMDeleteToolButton.Hint:=lisMMDeleteTheSelectedTargetOrOption;
|
|
||||||
|
|
||||||
BMMNewTargetMenuItem.Caption:=lisMMNewTarget;
|
BMMNewTargetMenuItem.Caption:=lisMMNewTarget;
|
||||||
BMMNewTargetMenuItem.Hint:=lisMMCreateANewGroupOfOptions;
|
BMMNewTargetMenuItem.Hint:=lisMMCreateANewGroupOfOptions;
|
||||||
@ -1088,7 +1143,11 @@ begin
|
|||||||
fCaptionPatternMacroName:=lisMMSetS;
|
fCaptionPatternMacroName:=lisMMSetS;
|
||||||
fCaptionPatternMacroValue:=lisMMValueS;
|
fCaptionPatternMacroValue:=lisMMValueS;
|
||||||
|
|
||||||
|
BMMAddLclWidgetButton.Caption:=Format(fCaptionPatternMacroName,['LCLWidgetType']);
|
||||||
|
BMMAddOtherButton.Caption:=lisAdd;
|
||||||
|
|
||||||
UpdateButtons;
|
UpdateButtons;
|
||||||
|
FillMenus;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TCompOptModeMatrixFrame.Destroy;
|
destructor TCompOptModeMatrixFrame.Destroy;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user