diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | bd9e6617827818fd043452c08c606f07b78014a0 (patch) | |
tree | 425bb4c3168f9c02f10150f235d2cb998dcc6108 /umbrello/umbrello/toolbarstatefactory.h | |
download | tdesdk-bd9e6617827818fd043452c08c606f07b78014a0.tar.gz tdesdk-bd9e6617827818fd043452c08c606f07b78014a0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdesdk@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'umbrello/umbrello/toolbarstatefactory.h')
-rw-r--r-- | umbrello/umbrello/toolbarstatefactory.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/umbrello/umbrello/toolbarstatefactory.h b/umbrello/umbrello/toolbarstatefactory.h new file mode 100644 index 00000000..b5c1ee4c --- /dev/null +++ b/umbrello/umbrello/toolbarstatefactory.h @@ -0,0 +1,53 @@ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * copyright (C) 2004-2006 * + * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> * + ***************************************************************************/ + +#ifndef TOOLBARSTATEFACTORY_H +#define TOOLBARSTATEFACTORY_H + +#include "toolbarstate.h" + +#include "worktoolbar.h" + +#define NR_OF_TOOLBAR_STATES 4 + +class UMLView; + + +/** + * The ToolBarStateFactory keeps track of all the toolbar states. For the first + * request, the factory creates a new state object. The next requests to this + * object, this factory will return the existing object. + * + * States that inherit from the ToolBarStatePool share multiple toolbar states. + * Therefore the setButton function is called. Internally the shared state object + * determines the exact behavior by itself. + */ +class ToolBarStateFactory +{ +public: + // constructor. + ToolBarStateFactory(UMLView* umlView); + + // Destructor + virtual ~ToolBarStateFactory(); + + ToolBarState* getState(const WorkToolBar::ToolBar_Buttons &toolbarButton); + +protected: + int getKey(const WorkToolBar::ToolBar_Buttons &toolbarButton) const; + +protected: + ToolBarState* states[NR_OF_TOOLBAR_STATES]; + + UMLView* m_pUMLView; +}; + +#endif //TOOLBARSTATEFACTORY_H |