Added aqua_speed for rite geo 50 tryker
[ryzomcore.git] / nel / tools / 3d / object_viewer / dialog_stack.h
blob807043f10241bf873147b00fe526d28989225b4b
1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
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.
8 //
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
28 class CDialogStack
30 public:
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) ;
38 ~CDialogStack()
40 for (std::vector<CWnd *>::iterator it = _WndList.begin() ; it != _WndList.end() ; ++it)
42 (*it)->DestroyWindow() ;
43 delete *it ;
47 protected:
49 std::vector<CWnd *> _WndList ;
51 } ;
53 #endif