mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-08 04:35:57 +02:00
IDE: clean package dependencies: select all, select none
git-svn-id: trunk@40771 -
This commit is contained in:
parent
a5be13c6ff
commit
4cd89917de
@ -5665,6 +5665,7 @@ resourcestring
|
|||||||
+'dependencies are not needed, because of the automatic transitivity '
|
+'dependencies are not needed, because of the automatic transitivity '
|
||||||
+'between package dependencies.';
|
+'between package dependencies.';
|
||||||
lisPkgDeleteDependencies = 'Delete dependencies';
|
lisPkgDeleteDependencies = 'Delete dependencies';
|
||||||
|
lisPkgClearSelection = 'Clear Selection';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
@ -10,35 +10,19 @@ object CleanPkgDepsDlg: TCleanPkgDepsDlg
|
|||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
LCLVersion = '1.1'
|
LCLVersion = '1.1'
|
||||||
object ButtonPanel1: TButtonPanel
|
|
||||||
Left = 6
|
|
||||||
Height = 36
|
|
||||||
Top = 338
|
|
||||||
Width = 510
|
|
||||||
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 = 0
|
|
||||||
ShowButtons = [pbOK, pbCancel]
|
|
||||||
end
|
|
||||||
object TransitivityGroupBox: TGroupBox
|
object TransitivityGroupBox: TGroupBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 332
|
Height = 338
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 522
|
Width = 522
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Caption = 'TransitivityGroupBox'
|
Caption = 'TransitivityGroupBox'
|
||||||
ClientHeight = 315
|
ClientHeight = 321
|
||||||
ClientWidth = 518
|
ClientWidth = 518
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
object TransitivityTreeView: TTreeView
|
object TransitivityTreeView: TTreeView
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 300
|
Height = 306
|
||||||
Top = 15
|
Top = 15
|
||||||
Width = 518
|
Width = 518
|
||||||
Align = alClient
|
Align = alClient
|
||||||
@ -59,4 +43,63 @@ object CleanPkgDepsDlg: TCleanPkgDepsDlg
|
|||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object BtnPanel: TPanel
|
||||||
|
Left = 0
|
||||||
|
Height = 42
|
||||||
|
Top = 338
|
||||||
|
Width = 522
|
||||||
|
Align = alBottom
|
||||||
|
AutoSize = True
|
||||||
|
ChildSizing.LeftRightSpacing = 6
|
||||||
|
ChildSizing.TopBottomSpacing = 6
|
||||||
|
ChildSizing.HorizontalSpacing = 6
|
||||||
|
ClientHeight = 42
|
||||||
|
ClientWidth = 522
|
||||||
|
TabOrder = 1
|
||||||
|
object DeleteSelectedBitBtn: TBitBtn
|
||||||
|
Left = 308
|
||||||
|
Height = 28
|
||||||
|
Top = 7
|
||||||
|
Width = 134
|
||||||
|
Align = alRight
|
||||||
|
AutoSize = True
|
||||||
|
Caption = 'DeleteSelectedBitBtn'
|
||||||
|
ModalResult = 1
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object CancelBitBtn: TBitBtn
|
||||||
|
Left = 448
|
||||||
|
Height = 28
|
||||||
|
Top = 7
|
||||||
|
Width = 67
|
||||||
|
Align = alRight
|
||||||
|
AutoSize = True
|
||||||
|
Cancel = True
|
||||||
|
Default = True
|
||||||
|
DefaultCaption = True
|
||||||
|
Kind = bkCancel
|
||||||
|
ModalResult = 2
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object SelectAllBitBtn: TBitBtn
|
||||||
|
Left = 88
|
||||||
|
Height = 28
|
||||||
|
Top = 7
|
||||||
|
Width = 75
|
||||||
|
Align = alLeft
|
||||||
|
Caption = 'SelectAllBitBtn'
|
||||||
|
OnClick = SelectAllBitBtnClick
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
object SelectNoneBitBtn: TBitBtn
|
||||||
|
Left = 7
|
||||||
|
Height = 28
|
||||||
|
Top = 7
|
||||||
|
Width = 75
|
||||||
|
Align = alLeft
|
||||||
|
Caption = 'SelectNoneBitBtn'
|
||||||
|
OnClick = SelectNoneBitBtnClick
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -29,7 +29,7 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, contnrs, FileUtil, AvgLvlTree, LazLogger, LvlGraphCtrl,
|
Classes, SysUtils, contnrs, FileUtil, AvgLvlTree, LazLogger, LvlGraphCtrl,
|
||||||
Forms, Controls, Graphics, Dialogs, ButtonPanel, ComCtrls, ExtCtrls, StdCtrls,
|
Forms, Controls, Graphics, Dialogs, ButtonPanel, ComCtrls, ExtCtrls, StdCtrls,
|
||||||
LazarusIDEStrConsts, Project, PackageDefs, IDEImagesIntf;
|
Buttons, LazarusIDEStrConsts, Project, PackageDefs, IDEImagesIntf;
|
||||||
|
|
||||||
const
|
const
|
||||||
CPDProjectName = '-Project-';
|
CPDProjectName = '-Project-';
|
||||||
@ -46,13 +46,18 @@ type
|
|||||||
{ TCleanPkgDepsDlg }
|
{ TCleanPkgDepsDlg }
|
||||||
|
|
||||||
TCleanPkgDepsDlg = class(TForm)
|
TCleanPkgDepsDlg = class(TForm)
|
||||||
ButtonPanel1: TButtonPanel;
|
CancelBitBtn: TBitBtn;
|
||||||
|
DeleteSelectedBitBtn: TBitBtn;
|
||||||
|
BtnPanel: TPanel;
|
||||||
|
SelectAllBitBtn: TBitBtn;
|
||||||
|
SelectNoneBitBtn: TBitBtn;
|
||||||
TransitivityGroupBox: TGroupBox;
|
TransitivityGroupBox: TGroupBox;
|
||||||
TransitivityLabel: TLabel;
|
TransitivityLabel: TLabel;
|
||||||
TransitivityTreeView: TTreeView;
|
TransitivityTreeView: TTreeView;
|
||||||
procedure ButtonPanel1OKButtonClick(Sender: TObject);
|
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure SelectAllBitBtnClick(Sender: TObject);
|
||||||
|
procedure SelectNoneBitBtnClick(Sender: TObject);
|
||||||
procedure TransitivityTreeViewMouseDown(Sender: TObject;
|
procedure TransitivityTreeViewMouseDown(Sender: TObject;
|
||||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
private
|
private
|
||||||
@ -141,8 +146,10 @@ begin
|
|||||||
TransitivityLabel.Caption:=
|
TransitivityLabel.Caption:=
|
||||||
lisPkgTheFollowingDependenciesAreNotNeededBecauseOfTheAu;
|
lisPkgTheFollowingDependenciesAreNotNeededBecauseOfTheAu;
|
||||||
TransitivityTreeView.Images:=IDEImages.Images_16;
|
TransitivityTreeView.Images:=IDEImages.Images_16;
|
||||||
ButtonPanel1.OKButton.Caption:=lisPkgDeleteDependencies;
|
|
||||||
ButtonPanel1.OKButton.OnClick:=@ButtonPanel1OKButtonClick;
|
SelectAllBitBtn.Caption:=lisMenuSelectAll;
|
||||||
|
SelectNoneBitBtn.Caption:=lisPkgClearSelection;
|
||||||
|
DeleteSelectedBitBtn.Caption:=lisPkgDeleteDependencies;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCleanPkgDepsDlg.FormDestroy(Sender: TObject);
|
procedure TCleanPkgDepsDlg.FormDestroy(Sender: TObject);
|
||||||
@ -150,6 +157,22 @@ begin
|
|||||||
ClearTreeData;
|
ClearTreeData;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCleanPkgDepsDlg.SelectAllBitBtnClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
for i:=0 to TransitivityTreeView.Items.Count-1 do
|
||||||
|
TVNodeChecked[TransitivityTreeView.Items[i]]:=true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCleanPkgDepsDlg.SelectNoneBitBtnClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
for i:=0 to TransitivityTreeView.Items.Count-1 do
|
||||||
|
TVNodeChecked[TransitivityTreeView.Items[i]]:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCleanPkgDepsDlg.TransitivityTreeViewMouseDown(Sender: TObject;
|
procedure TCleanPkgDepsDlg.TransitivityTreeViewMouseDown(Sender: TObject;
|
||||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
var
|
var
|
||||||
@ -164,11 +187,13 @@ end;
|
|||||||
|
|
||||||
function TCleanPkgDepsDlg.GetTVNodeChecked(TVNode: TTreeNode): boolean;
|
function TCleanPkgDepsDlg.GetTVNodeChecked(TVNode: TTreeNode): boolean;
|
||||||
begin
|
begin
|
||||||
Result:=(TVNode<>nil) and (TVNode.ImageIndex=ImgIndexDelete);
|
Result:=(TVNode<>nil) and (TVNode.Data<>nil) and (TVNode.ImageIndex=ImgIndexDelete);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCleanPkgDepsDlg.SetTVNodeChecked(TVNode: TTreeNode; AValue: boolean);
|
procedure TCleanPkgDepsDlg.SetTVNodeChecked(TVNode: TTreeNode; AValue: boolean);
|
||||||
begin
|
begin
|
||||||
|
if TVNode.Data=nil then exit;
|
||||||
|
if TVNodeChecked[TVNode]=AValue then exit;
|
||||||
if AValue then
|
if AValue then
|
||||||
TVNode.ImageIndex:=ImgIndexDelete
|
TVNode.ImageIndex:=ImgIndexDelete
|
||||||
else
|
else
|
||||||
@ -177,10 +202,6 @@ begin
|
|||||||
UpdateButtons;
|
UpdateButtons;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCleanPkgDepsDlg.ButtonPanel1OKButtonClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCleanPkgDepsDlg.SetOwners(AValue: TFPList);
|
procedure TCleanPkgDepsDlg.SetOwners(AValue: TFPList);
|
||||||
begin
|
begin
|
||||||
if FOwners=AValue then Exit;
|
if FOwners=AValue then Exit;
|
||||||
@ -238,7 +259,7 @@ begin
|
|||||||
if TVNodeChecked[TVNode] then
|
if TVNodeChecked[TVNode] then
|
||||||
CheckCnt+=1;
|
CheckCnt+=1;
|
||||||
end;
|
end;
|
||||||
ButtonPanel1.OKButton.Enabled:=CheckCnt>0;
|
DeleteSelectedBitBtn.Enabled:=CheckCnt>0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCleanPkgDepsDlg.AddTransitivities(NodeCaption: string;
|
procedure TCleanPkgDepsDlg.AddTransitivities(NodeCaption: string;
|
||||||
|
@ -178,6 +178,9 @@ begin
|
|||||||
end else begin
|
end else begin
|
||||||
Pkg:=PackageGraph.FindPackageWithName(Info.Owner,nil);
|
Pkg:=PackageGraph.FindPackageWithName(Info.Owner,nil);
|
||||||
if Pkg<>nil then begin
|
if Pkg<>nil then begin
|
||||||
|
// open package editor
|
||||||
|
if Assigned(OnOpenPackage) then
|
||||||
|
OnOpenPackage(Self,Pkg);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user