1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef DIALOG_STACK_H
19 #define DIALOG_STACK_H
22 /** this helps to record dynamically created window or dialog
23 * Just deriv from this and call the method pushWnd to register a new window
24 * They'll be deleted in the dtor
31 void pushWnd(CWnd
*wnd
)
33 // a window must be registered only once
34 nlassert(std::find(_WndList
.begin(), _WndList
.end() , wnd
) == _WndList
.end()) ;
35 _WndList
.push_back(wnd
) ;
40 for (std::vector
<CWnd
*>::iterator it
= _WndList
.begin() ; it
!= _WndList
.end() ; ++it
)
42 (*it
)->DestroyWindow() ;
49 std::vector
<CWnd
*> _WndList
;