|
@@ -643,16 +643,20 @@ procedure TProjectManagerFrame.zgProjectsDrawCellText(ACanvas: TCanvas;
|
|
|
const ARect: TRect; const ACoord: TPoint; AGrid: TZJGrid;
|
|
|
const Text: String; var ADefaultDraw: Boolean);
|
|
|
|
|
|
- procedure GetBitmap(AImage: TBitmap);
|
|
|
+ procedure GetBitmap(AImage: TBitmap; ANode: TsdIDTreeNode);
|
|
|
begin
|
|
|
- with stdProjects.IDTree.Items[ACoord.Y - 1] do
|
|
|
- if Rec.ValueByName('Type').AsInteger = 0 then
|
|
|
- if Expanded and HasChildren then
|
|
|
+ if Assigned(ANode) and Assigned(ANode.Rec) then
|
|
|
+ begin
|
|
|
+ if ANode.Rec.ValueByName('Type').AsInteger = 0 then
|
|
|
+ if ANode.Expanded and ANode.HasChildren then
|
|
|
MainForm.Images.GetBitmap(34, AImage)
|
|
|
else
|
|
|
MainForm.Images.GetBitmap(34, AImage)
|
|
|
else
|
|
|
MainForm.Images.GetBitmap(11, AImage);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ AImage := nil;
|
|
|
end;
|
|
|
|
|
|
const
|
|
@@ -662,13 +666,15 @@ var
|
|
|
Img: TBitmap;
|
|
|
Cell: TZjCell;
|
|
|
rImg: TRect;
|
|
|
+ vNode: TsdIDTreeNode;
|
|
|
begin
|
|
|
if (ACoord.X = 1) and (ACoord.Y > zgProjects.FixedRowCount - 1) then
|
|
|
begin
|
|
|
Cell := zgProjects.Cells[ACoord.X, ACoord.Y];
|
|
|
Img := TBitmap.Create;
|
|
|
try
|
|
|
- GetBitmap(Img);
|
|
|
+ vNode := stdProjects.IDTree.Items[ACoord.Y-zgProjects.FixedRowCount];
|
|
|
+ GetBitmap(Img, vNode);
|
|
|
case Cell.Align of
|
|
|
gaTopLeft, gaTopCenter, gaTopRight:
|
|
|
rImg := Rect(ARect.Left + 2, ARect.Top, ARect.Left + rIconWidth, ARect.Top + rIconHeight);
|
|
@@ -870,14 +876,21 @@ procedure TProjectManagerFrame.actnImportExecute(Sender: TObject);
|
|
|
|
|
|
var
|
|
|
sFileName, sProjectName: string;
|
|
|
+ vCur: TsdIDTreeNode;
|
|
|
begin
|
|
|
if SelectFile(sFileName, '.mtf;*.mpf') then
|
|
|
begin
|
|
|
- if SameText(ExtractFileExt(sFileName), '.mtf')
|
|
|
- and (stdProjects.IDTree.Selected.Rec.ValueByName('Type').AsInteger = 0) then
|
|
|
- sProjectName := GetImportProjectName(sFileName, stdProjects.IDTree.Selected)
|
|
|
+ vCur := stdProjects.IDTree.Selected;
|
|
|
+ if Assigned(vCur) then
|
|
|
+ begin
|
|
|
+ if SameText(ExtractFileExt(sFileName), '.mtf')
|
|
|
+ and (vCur.Rec.ValueByName('Type').AsInteger = 0) then
|
|
|
+ sProjectName := GetImportProjectName(sFileName, stdProjects.IDTree.Selected)
|
|
|
+ else
|
|
|
+ sProjectName := GetImportProjectName(sFileName, stdProjects.IDTree.Selected.Parent);
|
|
|
+ end
|
|
|
else
|
|
|
- sProjectName := GetImportProjectName(sFileName, stdProjects.IDTree.Selected.Parent);
|
|
|
+ sProjectName := GetImportProjectName(sFileName, vCur);
|
|
|
|
|
|
Screen.Cursor := crHourGlass;
|
|
|
try
|