summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/o3tl/enumarray.hxx7
-rw-r--r--include/sfx2/event.hxx2
-rw-r--r--include/unotools/eventcfg.hxx90
3 files changed, 41 insertions, 58 deletions
diff --git a/include/o3tl/enumarray.hxx b/include/o3tl/enumarray.hxx
index 777e205b8cf5..355e674a5e77 100644
--- a/include/o3tl/enumarray.hxx
+++ b/include/o3tl/enumarray.hxx
@@ -70,6 +70,8 @@ public:
iterator begin() { return iterator(*this, 0); }
iterator end() { return iterator(*this, size()); }
+ V* data() { return detail_values; }
+
//private:
V detail_values[max_index + 1];
};
@@ -83,6 +85,10 @@ public:
typedef enumarray_iterator<EA> self_type;
typedef typename EA::value_type value_type;
typedef typename EA::key_type key_type;
+ typedef std::bidirectional_iterator_tag iterator_category; //should be random access, but that would require define subtraction operators on the enums
+ typedef typename EA::key_type difference_type;
+ typedef typename EA::value_type* pointer;
+ typedef typename EA::value_type& reference;
enumarray_iterator(EA& b, size_t start_pos)
: m_buf(b), m_pos(start_pos) {}
@@ -90,6 +96,7 @@ public:
value_type *operator->() { return &(operator*()); }
self_type &operator++() { ++m_pos; return *this; }
bool operator!=(const self_type& other) { return &m_buf != &other.m_buf || m_pos != other.m_pos; }
+ bool operator==(const self_type& other) { return &m_buf == &other.m_buf && m_pos == other.m_pos; }
};
}; // namespace o3tl
diff --git a/include/sfx2/event.hxx b/include/sfx2/event.hxx
index 5b4970d571e4..dbb0fa77c24d 100644
--- a/include/sfx2/event.hxx
+++ b/include/sfx2/event.hxx
@@ -121,7 +121,7 @@ public:
const css::uno::Reference< css::frame::XController2 >& xController )
: SfxViewEventHint(
SFX_EVENT_PRINTDOC,
- GlobalEventConfig::GetEventName( STR_EVENT_PRINTDOC ),
+ GlobalEventConfig::GetEventName( GlobalEventId::PRINTDOC ),
pObj,
xController )
, mnPrintableState( nEvent )
diff --git a/include/unotools/eventcfg.hxx b/include/unotools/eventcfg.hxx
index d1cc6fe95e30..ff11795e20f3 100644
--- a/include/unotools/eventcfg.hxx
+++ b/include/unotools/eventcfg.hxx
@@ -29,65 +29,41 @@
#include <unordered_map>
#include <vector>
-#define STR_EVENT_STARTAPP 0
-#define STR_EVENT_CLOSEAPP 1
-#define STR_EVENT_DOCCREATED 2
-#define STR_EVENT_CREATEDOC 3
-#define STR_EVENT_LOADFINISHED 4
-#define STR_EVENT_OPENDOC 5
-#define STR_EVENT_PREPARECLOSEDOC 6
-#define STR_EVENT_CLOSEDOC 7
-#define STR_EVENT_SAVEDOC 8
-#define STR_EVENT_SAVEDOCDONE 9
-#define STR_EVENT_SAVEDOCFAILED 10
-#define STR_EVENT_SAVEASDOC 11
-#define STR_EVENT_SAVEASDOCDONE 12
-#define STR_EVENT_SAVEASDOCFAILED 13
-#define STR_EVENT_SAVETODOC 14
-#define STR_EVENT_SAVETODOCDONE 15
-#define STR_EVENT_SAVETODOCFAILED 16
-#define STR_EVENT_ACTIVATEDOC 17
-#define STR_EVENT_DEACTIVATEDOC 18
-#define STR_EVENT_PRINTDOC 19
-#define STR_EVENT_VIEWCREATED 20
-#define STR_EVENT_PREPARECLOSEVIEW 21
-#define STR_EVENT_CLOSEVIEW 22
-#define STR_EVENT_MODIFYCHANGED 23
-#define STR_EVENT_TITLECHANGED 24
-#define STR_EVENT_VISAREACHANGED 25
-#define STR_EVENT_MODECHANGED 26
-#define STR_EVENT_STORAGECHANGED 27
-
-typedef std::unordered_map< OUString, OUString, OUStringHash, std::equal_to< OUString > > EventBindingHash;
-typedef std::vector< css::uno::WeakReference< css::frame::XFrame > > FrameVector;
-typedef std::vector< OUString > SupportedEventsVector;
-
-class GlobalEventConfig_Impl : public utl::ConfigItem
+enum class GlobalEventId
{
-private:
- EventBindingHash m_eventBindingHash;
- FrameVector m_lFrames;
- SupportedEventsVector m_supportedEvents;
-
- void initBindingInfo();
-
- virtual void ImplCommit() SAL_OVERRIDE;
-
-public:
- GlobalEventConfig_Impl( );
- virtual ~GlobalEventConfig_Impl( );
-
- void Notify( const com::sun::star::uno::Sequence<OUString>& aPropertyNames) SAL_OVERRIDE;
-
- void SAL_CALL replaceByName( const OUString& aName, const ::com::sun::star::uno::Any& aElement ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames( ) throw (::com::sun::star::uno::RuntimeException);
- bool SAL_CALL hasByName( const OUString& aName ) throw (::com::sun::star::uno::RuntimeException);
- ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
- bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
- OUString GetEventName( sal_Int32 nID );
+ STARTAPP,
+ CLOSEAPP,
+ DOCCREATED,
+ CREATEDOC,
+ LOADFINISHED,
+ OPENDOC,
+ PREPARECLOSEDOC,
+ CLOSEDOC,
+ SAVEDOC,
+ SAVEDOCDONE,
+ SAVEDOCFAILED,
+ SAVEASDOC,
+ SAVEASDOCDONE,
+ SAVEASDOCFAILED,
+ SAVETODOC,
+ SAVETODOCDONE,
+ SAVETODOCFAILED,
+ ACTIVATEDOC,
+ DEACTIVATEDOC,
+ PRINTDOC,
+ VIEWCREATED,
+ PREPARECLOSEVIEW,
+ CLOSEVIEW,
+ MODIFYCHANGED,
+ TITLECHANGED,
+ VISAREACHANGED,
+ MODECHANGED,
+ STORAGECHANGED,
+ LAST = STORAGECHANGED
};
+class GlobalEventConfig_Impl;
+
class UNOTOOLS_DLLPUBLIC GlobalEventConfig:
public ::cppu::WeakImplHelper2 < ::com::sun::star::document::XEventsSupplier, ::com::sun::star::container::XNameReplace >
{
@@ -103,7 +79,7 @@ class UNOTOOLS_DLLPUBLIC GlobalEventConfig:
sal_Bool SAL_CALL hasByName( const OUString& aName ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
- static OUString GetEventName( sal_Int32 nID );
+ static OUString GetEventName( GlobalEventId nID );
private:
static GlobalEventConfig_Impl* m_pImpl;