in RxMDI new procedure - CloseAll - close all child forms

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2563 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2012-10-16 19:17:14 +00:00
parent fcaa4dab01
commit 4eddaf1aca

View File

@ -67,6 +67,7 @@ type
procedure ScrollRigthExecute(Sender: TObject); procedure ScrollRigthExecute(Sender: TObject);
procedure ShowHiddenBtnOnResize; procedure ShowHiddenBtnOnResize;
procedure ChildWindowsShowLast; procedure ChildWindowsShowLast;
procedure DoCloseAll(AIgnoreBtn:TRxMDIButton);
protected protected
procedure Paint; override; procedure Paint; override;
procedure Resize; override; procedure Resize; override;
@ -124,6 +125,7 @@ type
procedure ChildWindowsAdd(F:TForm); procedure ChildWindowsAdd(F:TForm);
procedure ChildWindowsCreate(var AForm; FC:TFormClass); procedure ChildWindowsCreate(var AForm; FC:TFormClass);
procedure ChildWindowsUpdateCaption(F:TForm); procedure ChildWindowsUpdateCaption(F:TForm);
procedure CloseAll;
property CurrentChildWindow:TForm read FCurrentChildWindow write SetCurrentChildWindow; property CurrentChildWindow:TForm read FCurrentChildWindow write SetCurrentChildWindow;
published published
@ -340,6 +342,12 @@ begin
end; end;
end; end;
procedure TRxMDIPanel.CloseAll;
begin
if Assigned(FTaskPanel) then
FTaskPanel.DoCloseAll(nil);
end;
{ TRxMDITasks } { TRxMDITasks }
@ -427,6 +435,17 @@ begin
Invalidate; Invalidate;
end; end;
procedure TRxMDITasks.DoCloseAll(AIgnoreBtn: TRxMDIButton);
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is TRxMDIButton) and (TRxMDIButton(Components[i]) <> AIgnoreBtn) then
TRxMDIButton(Components[i]).DoCloseMenu(nil);
end;
end;
procedure TRxMDITasks.Paint; procedure TRxMDITasks.Paint;
var var
i:integer; i:integer;
@ -616,24 +635,12 @@ end;
procedure TRxMDIButton.DoCloseAllMenu(Sender: TObject); procedure TRxMDIButton.DoCloseAllMenu(Sender: TObject);
begin begin
{ if Assigned(WindowTabs) then FNavPanel.DoCloseAll(nil);
CloseAllWindowTabs;}
end; end;
procedure TRxMDIButton.DoCloseAllExcepThisMenu(Sender: TObject); procedure TRxMDIButton.DoCloseAllExcepThisMenu(Sender: TObject);
var
i:integer;
F:TForm;
begin begin
{ if Assigned(WindowTabs) then FNavPanel.DoCloseAll(Self);
begin
for i:=WindowTabs.WindowCount-1 downto 0 do
begin
F:=WindowTabs.Item[i];
if F<>FNavForm then
F.Close;
end;
end;}
end; end;
procedure TRxMDIButton.DoActivateMenu(Sender: TObject); procedure TRxMDIButton.DoActivateMenu(Sender: TObject);