Reverted revisions r62734, r62733, r62731, r62729, r62728, r62715, r62704 #6343248e4e - changes after MDI commit

git-svn-id: trunk@62738 -
This commit is contained in:
ondrej 2020-03-11 05:47:23 +00:00
parent 396fefee61
commit cef1d45559
5 changed files with 24 additions and 30 deletions

View File

@ -1042,7 +1042,7 @@ begin
end;
// delete not needed items
while fTypePopupMenu.Items.Count>TypeColumn.PickList.Count do
fTypePopupMenu.Items.Delete(fTypePopupMenu.Items.Count-1).Free;
fTypePopupMenu.Items[fTypePopupMenu.Items.Count-1].Free;
XY:=Point(0,0);
i:=TypeColumn.PickList.Count-1;

View File

@ -365,7 +365,7 @@ begin
AddMode(i, Project1.BuildModes[i]);
// remove unused menuitems
while Items.Count > CurIndex do
Items.Delete(Items.Count-1).Free;
Items[Items.Count - 1].Free;
inherited DoPopup(Sender);
end;
@ -448,7 +448,7 @@ begin
end;
// remove unneeded items
while SetDefaultMenuItem.Count>TheIndex do
SetDefaultMenuItem.Delete(SetDefaultMenuItem.Count-1).Free;
SetDefaultMenuItem.Items[SetDefaultMenuItem.Count-1].Free;
end;
class procedure TNewFormUnitToolButton.UpdateHints;

View File

@ -6926,7 +6926,6 @@ var
begin
IDECommandList.ExecuteUpdateEvents;
SrcPopupMenu.Items.Clear;
SourceEditorMenuRoot.MenuItem:=SrcPopupMenu.Items;
RemoveUserDefinedMenuItems;
RemoveContextMenuItems;

View File

@ -152,17 +152,26 @@ begin
//DebugLn('TMenuItem.CreateHandle END ',Name,':',ClassName);
end;
function TMenuItem.Delete(Index: Integer): TMenuItem;
{------------------------------------------------------------------------------
Method: TMenuItem.Delete
Params: Index:
Returns: Nothing
Description of the procedure for the class.
------------------------------------------------------------------------------}
procedure TMenuItem.Delete(Index: Integer);
var
Cur: TMenuItem;
begin
if (Index < 0) or (FItems = nil) or (Index >= GetCount) then
raise EMenuError.Create(SMenuIndexError);
Result := TMenuItem(FItems[Index]);
if Result = nil then
Cur := TMenuItem(FItems[Index]);
if Cur = nil then
raise EMenuError.Create(SMenuItemIsNil);
Result.DestroyHandle;
Cur.DestroyHandle;
FItems.Delete(Index);
Result.FParent := nil;
Result.FOnChange := nil;
Cur.FParent := nil;
Cur.FOnChange := nil;
InvalidateMergedItems;
MenuChanged(Count = 0);
end;
@ -364,29 +373,15 @@ begin
AMenu := GetMenu(Self);
AMergedItems := MergedItems;
// issue #36776
if FItems.Count <> AMergedItems.InvisibleCount + AMergedItems.VisibleCount then
begin
DebugLn(Format('WARNING: TMenuItem.CheckChildrenHandles(%s): items %d invisibleCount %d visibleCount %d',
[dbgsName(Self),FItems.Count, AMergedItems.InvisibleCount, AMergedItems.VisibleCount]));
for i := 0 to FItems.Count - 1 do
if Assigned(FItems[i]) then
DebugLn(Format('Item[%d] %s',[i, dbgsName(TMenuItem(FItems[i]))]));
end;
for i := 0 to AMergedItems.InvisibleCount-1 do
if (FItems.IndexOf(AMergedItems.InvisibleItems[i]) >= 0) and AMergedItems.InvisibleItems[i].HandleAllocated then
if AMergedItems.InvisibleItems[i].HandleAllocated then
AMergedItems.InvisibleItems[i].DestroyHandle;
for i := 0 to AMergedItems.VisibleCount-1 do
begin
if (FItems.IndexOf(AMergedItems.VisibleItems[i]) >= 0) then
begin
if AMergedItems.VisibleItems[i].HandleAllocated and (GetMenu(AMergedItems.VisibleItems[i]) <> AMenu) then
AMergedItems.VisibleItems[i].DestroyHandle;
AMergedItems.VisibleItems[i].HandleNeeded;
end;
if AMergedItems.VisibleItems[i].HandleAllocated and (GetMenu(AMergedItems.VisibleItems[i]) <> AMenu) then
AMergedItems.VisibleItems[i].DestroyHandle;
AMergedItems.VisibleItems[i].HandleNeeded;
end;
end;
@ -1021,7 +1016,7 @@ var
I: Integer;
begin
for I := Count - 1 downto 0 do
Delete(I).Free;
Items[I].Free;
end;
function TMenuItem.HasBitmap: boolean;

View File

@ -265,7 +265,7 @@ type
procedure Add(const AItems: array of TMenuItem);
procedure AddSeparator;
procedure Click; virtual;
function Delete(Index: Integer): TMenuItem;
procedure Delete(Index: Integer);
procedure HandleNeeded; virtual;
procedure Insert(Index: Integer; Item: TMenuItem);
procedure RecreateHandle; virtual;