mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 20:39:09 +02:00
IDE: use TreeView also for flat component list. Allows use of one FilterEdit for all views. Improve interaction with comp palette.
git-svn-id: trunk@41880 -
This commit is contained in:
parent
2ec180ab41
commit
52a80e24b4
@ -3,7 +3,6 @@ object ComponentListForm: TComponentListForm
|
|||||||
Height = 467
|
Height = 467
|
||||||
Top = 40
|
Top = 40
|
||||||
Width = 300
|
Width = 300
|
||||||
ActiveControl = ListFilterEd
|
|
||||||
Caption = 'Components'
|
Caption = 'Components'
|
||||||
ClientHeight = 467
|
ClientHeight = 467
|
||||||
ClientWidth = 300
|
ClientWidth = 300
|
||||||
@ -44,22 +43,18 @@ object ComponentListForm: TComponentListForm
|
|||||||
ClientHeight = 366
|
ClientHeight = 366
|
||||||
ClientWidth = 294
|
ClientWidth = 294
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object ComponentsListbox: TListBox
|
object ListTree: TTreeView
|
||||||
Left = 2
|
Left = 2
|
||||||
Height = 362
|
Height = 362
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 290
|
Width = 290
|
||||||
Align = alClient
|
Align = alClient
|
||||||
ItemHeight = 0
|
DefaultItemHeight = 18
|
||||||
OnClick = ComponentsClick
|
|
||||||
OnDblClick = ComponentsDblClick
|
|
||||||
OnDrawItem = ComponentsListboxDrawItem
|
|
||||||
OnKeyDown = ComponentsListboxKeyDown
|
|
||||||
ScrollWidth = 286
|
|
||||||
Sorted = True
|
|
||||||
Style = lbOwnerDrawFixed
|
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
TopIndex = -1
|
OnClick = ComponentsClick
|
||||||
|
OnCustomDrawItem = TreeCustomDrawItem
|
||||||
|
OnDblClick = ComponentsDblClick
|
||||||
|
OnKeyDown = TreeKeyDown
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -87,9 +82,10 @@ object ComponentListForm: TComponentListForm
|
|||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
ShowLines = False
|
ShowLines = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
OnClick = ComponentsClick
|
||||||
OnCustomDrawItem = TreeCustomDrawItem
|
OnCustomDrawItem = TreeCustomDrawItem
|
||||||
OnDblClick = ComponentsDblClick
|
OnDblClick = ComponentsDblClick
|
||||||
OnKeyDown = PalletteTreeKeyDown
|
OnKeyDown = TreeKeyDown
|
||||||
Options = [tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowRoot, tvoToolTips, tvoNoDoubleClickExpand, tvoThemedDraw]
|
Options = [tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowRoot, tvoToolTips, tvoNoDoubleClickExpand, tvoThemedDraw]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -117,9 +113,10 @@ object ComponentListForm: TComponentListForm
|
|||||||
Align = alClient
|
Align = alClient
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
OnClick = ComponentsClick
|
||||||
OnCustomDrawItem = TreeCustomDrawItem
|
OnCustomDrawItem = TreeCustomDrawItem
|
||||||
OnDblClick = ComponentsDblClick
|
OnDblClick = ComponentsDblClick
|
||||||
OnKeyDown = InheritanceTreeKeyDown
|
OnKeyDown = TreeKeyDown
|
||||||
Options = [tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoNoDoubleClickExpand, tvoThemedDraw]
|
Options = [tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoNoDoubleClickExpand, tvoThemedDraw]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -148,25 +145,6 @@ object ComponentListForm: TComponentListForm
|
|||||||
Caption = 'LabelSearch'
|
Caption = 'LabelSearch'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object ListFilterEd: TListFilterEdit
|
|
||||||
AnchorSideLeft.Control = LabelSearch
|
|
||||||
AnchorSideLeft.Side = asrBottom
|
|
||||||
AnchorSideTop.Control = LabelSearch
|
|
||||||
AnchorSideTop.Side = asrCenter
|
|
||||||
Left = 82
|
|
||||||
Height = 24
|
|
||||||
Top = 2
|
|
||||||
Width = 169
|
|
||||||
UseFormActivate = True
|
|
||||||
ButtonWidth = 23
|
|
||||||
NumGlyphs = 1
|
|
||||||
BorderSpacing.Left = 5
|
|
||||||
Font.Color = clBtnShadow
|
|
||||||
MaxLength = 0
|
|
||||||
ParentFont = False
|
|
||||||
TabOrder = 0
|
|
||||||
FilteredListbox = ComponentsListbox
|
|
||||||
end
|
|
||||||
object TreeFilterEd: TTreeFilterEdit
|
object TreeFilterEd: TTreeFilterEdit
|
||||||
AnchorSideLeft.Control = LabelSearch
|
AnchorSideLeft.Control = LabelSearch
|
||||||
AnchorSideLeft.Side = asrBottom
|
AnchorSideLeft.Side = asrBottom
|
||||||
@ -181,7 +159,8 @@ object ComponentListForm: TComponentListForm
|
|||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
MaxLength = 0
|
MaxLength = 0
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
|
FilteredTreeview = ListTree
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object ButtonPanel: TPanel
|
object ButtonPanel: TPanel
|
||||||
|
@ -43,11 +43,10 @@ type
|
|||||||
{ TComponentListForm }
|
{ TComponentListForm }
|
||||||
|
|
||||||
TComponentListForm = class(TForm)
|
TComponentListForm = class(TForm)
|
||||||
|
ListTree: TTreeView;
|
||||||
UseAndCloseButton: TBitBtn;
|
UseAndCloseButton: TBitBtn;
|
||||||
ButtonPanel: TPanel;
|
ButtonPanel: TPanel;
|
||||||
LabelSearch: TLabel;
|
LabelSearch: TLabel;
|
||||||
ComponentsListbox: TListBox;
|
|
||||||
ListFilterEd: TListFilterEdit;
|
|
||||||
PageControl: TPageControl;
|
PageControl: TPageControl;
|
||||||
Panel3: TPanel;
|
Panel3: TPanel;
|
||||||
Panel5: TPanel;
|
Panel5: TPanel;
|
||||||
@ -63,20 +62,19 @@ type
|
|||||||
procedure UseAndCloseButtonClick(Sender: TObject);
|
procedure UseAndCloseButtonClick(Sender: TObject);
|
||||||
procedure ComponentsDblClick(Sender: TObject);
|
procedure ComponentsDblClick(Sender: TObject);
|
||||||
procedure ComponentsClick(Sender: TObject);
|
procedure ComponentsClick(Sender: TObject);
|
||||||
procedure ComponentsListboxDrawItem(Control: TWinControl; Index: Integer;
|
//procedure ComponentsListboxDrawItem(Control: TWinControl; Index: Integer;
|
||||||
ARect: TRect; State: TOwnerDrawState);
|
// ARect: TRect; State: TOwnerDrawState);
|
||||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
procedure TreeCustomDrawItem(Sender: TCustomTreeView;
|
procedure TreeCustomDrawItem(Sender: TCustomTreeView;
|
||||||
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
|
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
|
||||||
procedure ComponentsListboxKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
|
||||||
procedure InheritanceTreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
|
||||||
procedure PageControlChange(Sender: TObject);
|
procedure PageControlChange(Sender: TObject);
|
||||||
procedure PalletteTreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure TreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
procedure UpdateComponentSelection(Sender: TObject);
|
procedure UpdateComponentSelection(Sender: TObject);
|
||||||
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
private
|
private
|
||||||
PrevPageIndex: Integer;
|
PrevPageIndex: Integer;
|
||||||
FComponentList: TRegisteredCompList;
|
FComponentList: TRegisteredCompList;
|
||||||
|
FKeepSelected: Boolean;
|
||||||
procedure ClearSelection;
|
procedure ClearSelection;
|
||||||
procedure ComponentWasAdded;
|
procedure ComponentWasAdded;
|
||||||
procedure FindAllLazarusComponents;
|
procedure FindAllLazarusComponents;
|
||||||
@ -101,11 +99,11 @@ begin
|
|||||||
inherited Create(AOwner);
|
inherited Create(AOwner);
|
||||||
FComponentList := TRegisteredCompList.Create;
|
FComponentList := TRegisteredCompList.Create;
|
||||||
UseAndCloseButton.Caption := lisUseAndClose;
|
UseAndCloseButton.Caption := lisUseAndClose;
|
||||||
ComponentsListBox.ItemHeight := ComponentPaletteImageHeight + 1;
|
ListTree.DefaultItemHeight := ComponentPaletteImageHeight + 1;
|
||||||
InheritanceTree.DefaultItemHeight:= ComponentPaletteImageHeight + 1;
|
InheritanceTree.DefaultItemHeight:= ComponentPaletteImageHeight + 1;
|
||||||
PalletteTree.DefaultItemHeight := ComponentPaletteImageHeight + 1;
|
PalletteTree.DefaultItemHeight := ComponentPaletteImageHeight + 1;
|
||||||
|
|
||||||
//Translations..
|
//Translations
|
||||||
LabelSearch.Caption := lisMenuFind;
|
LabelSearch.Caption := lisMenuFind;
|
||||||
Caption := lisCmpLstComponents;
|
Caption := lisCmpLstComponents;
|
||||||
TabSheetListBox.Caption := lisCmpLstList;
|
TabSheetListBox.Caption := lisCmpLstList;
|
||||||
@ -115,11 +113,9 @@ begin
|
|||||||
//PLEASE add a defaultpage property in TPagecontrol
|
//PLEASE add a defaultpage property in TPagecontrol
|
||||||
PrevPageIndex := -1;
|
PrevPageIndex := -1;
|
||||||
PageControl.ActivePage := TabSheetListBox;
|
PageControl.ActivePage := TabSheetListBox;
|
||||||
TreeFilterEd.Visible := False;
|
|
||||||
|
|
||||||
FindAllLazarusComponents;
|
FindAllLazarusComponents;
|
||||||
UpdateComponentSelection(nil);
|
UpdateComponentSelection(nil);
|
||||||
ListFilterEd.InvalidateFilter;
|
TreeFilterEd.InvalidateFilter;
|
||||||
IDEComponentPalette.AddHandlerComponentAdded(@ComponentWasAdded);
|
IDEComponentPalette.AddHandlerComponentAdded(@ComponentWasAdded);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -139,26 +135,18 @@ end;
|
|||||||
|
|
||||||
procedure TComponentListForm.ClearSelection;
|
procedure TComponentListForm.ClearSelection;
|
||||||
begin
|
begin
|
||||||
if ComponentsListbox.IsVisible then
|
ListTree.Selected := Nil;
|
||||||
ComponentsListbox.ItemIndex := -1
|
PalletteTree.Selected := Nil;
|
||||||
else if PalletteTree.IsVisible then
|
InheritanceTree.Selected := Nil;
|
||||||
PalletteTree.Selected := Nil
|
|
||||||
else if InheritanceTree.IsVisible then
|
|
||||||
InheritanceTree.Selected := Nil;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TComponentListForm.GetSelectedComponent: TRegisteredComponent;
|
function TComponentListForm.GetSelectedComponent: TRegisteredComponent;
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
begin
|
||||||
Result:=nil;
|
Result:=nil;
|
||||||
if ComponentsListbox.IsVisible then
|
if ListTree.IsVisible then
|
||||||
begin
|
begin
|
||||||
i := ComponentsListbox.ItemIndex;
|
if Assigned(ListTree.Selected) then
|
||||||
if i>=0 then begin
|
Result := TRegisteredComponent(ListTree.Selected.Data);
|
||||||
Result := TRegisteredComponent(ComponentsListbox.Items.Objects[i]);
|
|
||||||
DebugLn(['*** Getting component ', Result.ComponentClass.ClassName, ' from index ', i]);
|
|
||||||
end;
|
|
||||||
end
|
end
|
||||||
else if PalletteTree.IsVisible then
|
else if PalletteTree.IsVisible then
|
||||||
begin
|
begin
|
||||||
@ -211,7 +199,7 @@ procedure TComponentListForm.UpdateComponentSelection(Sender: TObject);
|
|||||||
var
|
var
|
||||||
AComponent: TRegisteredComponent;
|
AComponent: TRegisteredComponent;
|
||||||
AClassName: string;
|
AClassName: string;
|
||||||
AClassList, List: TStringlist;
|
AClassList, List: TStringList;
|
||||||
i, j, AIndex: Integer;
|
i, j, AIndex: Integer;
|
||||||
ANode: TTreeNode;
|
ANode: TTreeNode;
|
||||||
AClass: TClass;
|
AClass: TClass;
|
||||||
@ -219,18 +207,18 @@ begin
|
|||||||
if [csDestroying,csLoading]*ComponentState<>[] then exit;
|
if [csDestroying,csLoading]*ComponentState<>[] then exit;
|
||||||
Screen.Cursor := crHourGlass;
|
Screen.Cursor := crHourGlass;
|
||||||
try
|
try
|
||||||
//First tabsheet (ComponentsListbox)
|
//First tabsheet (List)
|
||||||
ComponentsListbox.Items.BeginUpdate;
|
ListTree.BeginUpdate;
|
||||||
try
|
try
|
||||||
ComponentsListbox.Items.Clear;
|
ListTree.Items.Clear;
|
||||||
for i := 0 to FComponentList.Count-1 do
|
for i := 0 to FComponentList.Count-1 do
|
||||||
begin
|
begin
|
||||||
AComponent := FComponentList[i];
|
AComponent := FComponentList[i];
|
||||||
AClassName := AComponent.ComponentClass.ClassName;
|
AClassName := AComponent.ComponentClass.ClassName;
|
||||||
ListFilterEd.Items.AddObject(AClassName, AComponent);
|
ANode := ListTree.Items.AddChildObject(Nil, AClassName, AComponent);
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
ComponentsListbox.Items.EndUpdate;
|
ListTree.EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//Second tabsheet (palette layout)
|
//Second tabsheet (palette layout)
|
||||||
@ -254,8 +242,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
//Third tabsheet (component inheritence)
|
//Third tabsheet (component inheritence)
|
||||||
List := TStringlist.Create;
|
List := TStringList.Create;
|
||||||
AClassList := TStringlist.Create;
|
AClassList := TStringList.Create;
|
||||||
InheritanceTree.Items.BeginUpdate;
|
InheritanceTree.Items.BeginUpdate;
|
||||||
try
|
try
|
||||||
InheritanceTree.Items.Clear;
|
InheritanceTree.Items.Clear;
|
||||||
@ -306,7 +294,7 @@ begin
|
|||||||
Screen.Cursor := crDefault;
|
Screen.Cursor := crDefault;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
{
|
||||||
procedure TComponentListForm.ComponentsListboxDrawItem(Control: TWinControl;
|
procedure TComponentListForm.ComponentsListboxDrawItem(Control: TWinControl;
|
||||||
Index: Integer; ARect: TRect; State: TOwnerDrawState);
|
Index: Integer; ARect: TRect; State: TOwnerDrawState);
|
||||||
var
|
var
|
||||||
@ -337,7 +325,7 @@ begin
|
|||||||
ARect.Top+(ARect.Bottom-ARect.Top-TxtH) div 2, CurStr);
|
ARect.Top+(ARect.Bottom-ARect.Top-TxtH) div 2, CurStr);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
}
|
||||||
procedure TComponentListForm.TreeCustomDrawItem(Sender: TCustomTreeView;
|
procedure TComponentListForm.TreeCustomDrawItem(Sender: TCustomTreeView;
|
||||||
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
|
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
|
||||||
var
|
var
|
||||||
@ -384,13 +372,13 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentListForm.ComponentsDblClick(Sender: TObject);
|
procedure TComponentListForm.ComponentsDblClick(Sender: TObject);
|
||||||
// This is used for all 3 lists / treeviews
|
// This is used for all 3 treeviews
|
||||||
begin
|
begin
|
||||||
UseAndCloseButtonClick(nil); // Select and close this form
|
UseAndCloseButtonClick(nil); // Select and close this form
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentListForm.ComponentsClick(Sender: TObject);
|
procedure TComponentListForm.ComponentsClick(Sender: TObject);
|
||||||
// This is used for all 3 lists / treeviews
|
// This is used for all 3 treeviews
|
||||||
var
|
var
|
||||||
AComponent: TRegisteredComponent;
|
AComponent: TRegisteredComponent;
|
||||||
begin
|
begin
|
||||||
@ -400,22 +388,7 @@ begin
|
|||||||
UpdateButtonState;
|
UpdateButtonState;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentListForm.ComponentsListboxKeyDown(Sender: TObject;
|
procedure TComponentListForm.TreeKeyDown(Sender: TObject;
|
||||||
var Key: Word; Shift: TShiftState);
|
|
||||||
begin
|
|
||||||
if Key = VK_RETURN then
|
|
||||||
if (ComponentsListbox.ItemIndex >= 0) then
|
|
||||||
ComponentsDblClick(Sender);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TComponentListForm.PalletteTreeKeyDown(Sender: TObject;
|
|
||||||
var Key: Word; Shift: TShiftState);
|
|
||||||
begin
|
|
||||||
if Key = VK_RETURN then
|
|
||||||
ComponentsDblClick(Sender);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TComponentListForm.InheritanceTreeKeyDown(Sender: TObject;
|
|
||||||
var Key: Word; Shift: TShiftState);
|
var Key: Word; Shift: TShiftState);
|
||||||
begin
|
begin
|
||||||
if Key = VK_RETURN then
|
if Key = VK_RETURN then
|
||||||
@ -428,41 +401,23 @@ begin
|
|||||||
'TComponentListForm.PageControlChange: PageControl.PageIndex = PrevPageIndex = %d',
|
'TComponentListForm.PageControlChange: PageControl.PageIndex = PrevPageIndex = %d',
|
||||||
[PrevPageIndex]));
|
[PrevPageIndex]));
|
||||||
case PageControl.PageIndex of
|
case PageControl.PageIndex of
|
||||||
0: begin
|
0: TreeFilterEd.FilteredTreeview := ListTree;
|
||||||
ListFilterEd.Visible := True;
|
1: TreeFilterEd.FilteredTreeview := PalletteTree;
|
||||||
ListFilterEd.SetFocus;
|
2: TreeFilterEd.FilteredTreeview := InheritanceTree;
|
||||||
if PrevPageIndex > 0 then
|
|
||||||
ListFilterEd.Text := TreeFilterEd.Text;
|
|
||||||
ListFilterEd.InvalidateFilter;
|
|
||||||
TreeFilterEd.Visible := False;
|
|
||||||
end;
|
|
||||||
1: begin
|
|
||||||
TreeFilterEd.Visible := True;
|
|
||||||
TreeFilterEd.FilteredTreeview := PalletteTree;
|
|
||||||
TreeFilterEd.SetFocus;
|
|
||||||
if PrevPageIndex <= 0 then
|
|
||||||
TreeFilterEd.Text := ListFilterEd.Text;
|
|
||||||
TreeFilterEd.InvalidateFilter;
|
|
||||||
ListFilterEd.Visible := False;
|
|
||||||
end;
|
|
||||||
2: begin
|
|
||||||
TreeFilterEd.Visible := True;
|
|
||||||
TreeFilterEd.FilteredTreeview := InheritanceTree;
|
|
||||||
TreeFilterEd.SetFocus;
|
|
||||||
if PrevPageIndex <= 0 then
|
|
||||||
TreeFilterEd.Text := ListFilterEd.Text;
|
|
||||||
TreeFilterEd.InvalidateFilter;
|
|
||||||
ListFilterEd.Visible := False;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
TreeFilterEd.InvalidateFilter;
|
||||||
PrevPageIndex := PageControl.PageIndex;
|
PrevPageIndex := PageControl.PageIndex;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentListForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
procedure TComponentListForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
begin
|
begin
|
||||||
// Using a dock manager...
|
if Parent=nil then begin
|
||||||
if Parent<>nil then
|
ClearSelection;
|
||||||
begin
|
if not fKeepSelected then
|
||||||
|
IDEComponentPalette.Selected := Nil;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
// Using a dock manager...
|
||||||
CloseAction := caNone;
|
CloseAction := caNone;
|
||||||
//todo: helper function in DockManager or IDEDockMaster for closing forms.
|
//todo: helper function in DockManager or IDEDockMaster for closing forms.
|
||||||
// Only close the window if it's floating.
|
// Only close the window if it's floating.
|
||||||
@ -474,13 +429,14 @@ begin
|
|||||||
TCustomForm(HostDockSite).Close;
|
TCustomForm(HostDockSite).Close;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
FKeepSelected := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentListForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure TComponentListForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
//Close the form on escape key like every other IDE dialog does
|
//Close the form on escape key like every other IDE dialog does
|
||||||
begin
|
begin
|
||||||
if (Key=VK_ESCAPE) and (Parent=nil) then
|
if Key=VK_ESCAPE then
|
||||||
UseAndCloseButtonClick(nil);
|
Close;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentListForm.UseAndCloseButtonClick(Sender: TObject);
|
procedure TComponentListForm.UseAndCloseButtonClick(Sender: TObject);
|
||||||
@ -491,11 +447,9 @@ begin
|
|||||||
AComponent := GetSelectedComponent;
|
AComponent := GetSelectedComponent;
|
||||||
if AComponent<>nil then begin
|
if AComponent<>nil then begin
|
||||||
IDEComponentPalette.Selected := AComponent;
|
IDEComponentPalette.Selected := AComponent;
|
||||||
ClearSelection;
|
FKeepSelected := True;
|
||||||
Close;
|
Close;
|
||||||
end;
|
end;
|
||||||
// IDEComponentPalette.Selected := nil; // Remove component selection from palette.
|
|
||||||
// Close;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
Loading…
Reference in New Issue
Block a user