summaryrefslogtreecommitdiffstats
path: root/umbrello/umbrello/toolbarstatefactory.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitbd9e6617827818fd043452c08c606f07b78014a0 (patch)
tree425bb4c3168f9c02f10150f235d2cb998dcc6108 /umbrello/umbrello/toolbarstatefactory.h
downloadtdesdk-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.h53
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