mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 12:39:23 +02:00
IDE: package editor: draw red line when file is missing
git-svn-id: trunk@45556 -
This commit is contained in:
parent
669a093a53
commit
e648faaa3c
@ -326,6 +326,7 @@ object PackageEditorForm: TPackageEditorForm
|
|||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
RightClickSelect = True
|
RightClickSelect = True
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
|
OnAdvancedCustomDrawItem = ItemsTreeViewAdvancedCustomDrawItem
|
||||||
OnDblClick = ItemsTreeViewDblClick
|
OnDblClick = ItemsTreeViewDblClick
|
||||||
OnDragDrop = ItemsTreeViewDragDrop
|
OnDragDrop = ItemsTreeViewDragDrop
|
||||||
OnDragOver = ItemsTreeViewDragOver
|
OnDragOver = ItemsTreeViewDragOver
|
||||||
|
@ -142,6 +142,7 @@ type
|
|||||||
Typ: TPENodeType;
|
Typ: TPENodeType;
|
||||||
Name: string; // file or package name
|
Name: string; // file or package name
|
||||||
Removed: boolean;
|
Removed: boolean;
|
||||||
|
FileType: TPkgFileType;
|
||||||
Next: TPENodeData;
|
Next: TPENodeData;
|
||||||
constructor Create(aTyp: TPENodeType; aName: string; aRemoved: boolean);
|
constructor Create(aTyp: TPENodeType; aName: string; aRemoved: boolean);
|
||||||
end;
|
end;
|
||||||
@ -222,6 +223,9 @@ type
|
|||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
procedure ItemsPopupMenuPopup(Sender: TObject);
|
procedure ItemsPopupMenuPopup(Sender: TObject);
|
||||||
|
procedure ItemsTreeViewAdvancedCustomDrawItem(Sender: TCustomTreeView;
|
||||||
|
Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
|
||||||
|
var PaintImages, DefaultDraw: Boolean);
|
||||||
procedure ItemsTreeViewDragDrop(Sender, Source: TObject; X, Y: Integer);
|
procedure ItemsTreeViewDragDrop(Sender, Source: TObject; X, Y: Integer);
|
||||||
procedure ItemsTreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
|
procedure ItemsTreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
|
||||||
State: TDragState; var Accept: Boolean);
|
State: TDragState; var Accept: Boolean);
|
||||||
@ -771,6 +775,30 @@ begin
|
|||||||
//debugln(['TPackageEditorForm.FilesPopupMenuPopup END ',ItemsPopupMenu.Items.Count]); PackageEditorMenuRoot.WriteDebugReport(' ',true);
|
//debugln(['TPackageEditorForm.FilesPopupMenuPopup END ',ItemsPopupMenu.Items.Count]); PackageEditorMenuRoot.WriteDebugReport(' ',true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPackageEditorForm.ItemsTreeViewAdvancedCustomDrawItem(
|
||||||
|
Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState;
|
||||||
|
Stage: TCustomDrawStage; var PaintImages, DefaultDraw: Boolean);
|
||||||
|
var
|
||||||
|
NodeData: TPENodeData;
|
||||||
|
r: TRect;
|
||||||
|
y: Integer;
|
||||||
|
begin
|
||||||
|
if Stage=cdPostPaint then begin
|
||||||
|
NodeData:=GetNodeData(Node);
|
||||||
|
if (NodeData<>nil) then begin
|
||||||
|
if (NodeData.Typ=penFile) and (not NodeData.Removed)
|
||||||
|
and (NodeData.FileType<>pftVirtualUnit) and FilenameIsAbsolute(NodeData.Name)
|
||||||
|
and (not FileExistsCached(NodeData.Name))
|
||||||
|
then begin
|
||||||
|
r:=Node.DisplayRect(true);
|
||||||
|
ItemsTreeView.Canvas.Pen.Color:=clRed;
|
||||||
|
y:=(r.Top+r.Bottom) div 2;
|
||||||
|
ItemsTreeView.Canvas.Line(r.Left,y,r.Right,y);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.ItemsTreeViewDragDrop(Sender, Source: TObject; X,
|
procedure TPackageEditorForm.ItemsTreeViewDragDrop(Sender, Source: TObject; X,
|
||||||
Y: Integer);
|
Y: Integer);
|
||||||
var
|
var
|
||||||
@ -2234,6 +2262,7 @@ begin
|
|||||||
for i:=0 to LazPackage.FileCount-1 do begin
|
for i:=0 to LazPackage.FileCount-1 do begin
|
||||||
CurFile:=LazPackage.Files[i];
|
CurFile:=LazPackage.Files[i];
|
||||||
NodeData:=CreateNodeData(penFile,CurFile.Filename,false);
|
NodeData:=CreateNodeData(penFile,CurFile.Filename,false);
|
||||||
|
NodeData.FileType:=CurFile.FileType;
|
||||||
Filename:=CurFile.GetShortFilename(true);
|
Filename:=CurFile.GetShortFilename(true);
|
||||||
if Filename='' then continue;
|
if Filename='' then continue;
|
||||||
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penFile)
|
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penFile)
|
||||||
@ -2247,7 +2276,7 @@ begin
|
|||||||
|
|
||||||
// removed files
|
// removed files
|
||||||
if LazPackage.RemovedFilesCount>0 then begin
|
if LazPackage.RemovedFilesCount>0 then begin
|
||||||
// Create root node for removed dependencies if not done yet.
|
// Create root node for removed files if not done yet.
|
||||||
if FRemovedFilesNode=nil then begin
|
if FRemovedFilesNode=nil then begin
|
||||||
FRemovedFilesNode:=ItemsTreeView.Items.Add(FRequiredPackagesNode,
|
FRemovedFilesNode:=ItemsTreeView.Items.Add(FRequiredPackagesNode,
|
||||||
lisPckEditRemovedFiles);
|
lisPckEditRemovedFiles);
|
||||||
|
Loading…
Reference in New Issue
Block a user