summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sfx2/bindings.hxx8
-rw-r--r--sfx2/source/control/bindings.cxx45
2 files changed, 46 insertions, 7 deletions
diff --git a/include/sfx2/bindings.hxx b/include/sfx2/bindings.hxx
index ad31b6a16ead..ddae1342c723 100644
--- a/include/sfx2/bindings.hxx
+++ b/include/sfx2/bindings.hxx
@@ -28,18 +28,13 @@
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/frame/XDispatchRecorderSupplier.hpp>
-#include <vector>
-
// some other includes
-
#include <sfx2/viewfrm.hxx>
-
// forwards, typedefs, declarations
-
class SystemWindow;
class SfxSlot;
class SfxSlotServer;
@@ -54,8 +49,7 @@ class SfxWorkWindow;
class SfxUnoControllerItem;
struct SfxFoundCache_Impl;
class SfxFoundCacheArr_Impl;
-
-typedef std::vector<SfxUnoControllerItem*> SfxUnoControllerArr_Impl;
+class SfxUnoControllerArr_Impl;
enum class SfxCallMode : sal_uInt16
{
diff --git a/sfx2/source/control/bindings.cxx b/sfx2/source/control/bindings.cxx
index db5ff606d31b..76fca49b6390 100644
--- a/sfx2/source/control/bindings.cxx
+++ b/sfx2/source/control/bindings.cxx
@@ -127,6 +127,51 @@ public:
}
};
+class SfxUnoControllerArr_Impl
+{
+ typedef std::vector<SfxUnoControllerItem*> DataType;
+ DataType maData;
+
+public:
+
+ typedef DataType::iterator iterator;
+
+ iterator begin()
+ {
+ return maData.begin();
+ }
+
+ iterator end()
+ {
+ return maData.end();
+ }
+
+ void erase( iterator it )
+ {
+ maData.erase(it);
+ }
+
+ SfxUnoControllerItem* operator[] ( size_t i )
+ {
+ return maData[i];
+ }
+
+ const SfxUnoControllerItem* operator[] ( size_t i ) const
+ {
+ return maData[i];
+ }
+
+ size_t size() const
+ {
+ return maData.size();
+ }
+
+ void push_back( SfxUnoControllerItem* p )
+ {
+ maData.push_back(p);
+ }
+};
+
class SfxAsyncExec_Impl
{
::com::sun::star::util::URL aCommand;