diff options
Diffstat (limited to 'extensions/source/propctrlr/eventhandler.cxx')
-rw-r--r-- | extensions/source/propctrlr/eventhandler.cxx | 123 |
1 files changed, 58 insertions, 65 deletions
diff --git a/extensions/source/propctrlr/eventhandler.cxx b/extensions/source/propctrlr/eventhandler.cxx index 5939110d0ede..7e4ca0747cb4 100644 --- a/extensions/source/propctrlr/eventhandler.cxx +++ b/extensions/source/propctrlr/eventhandler.cxx @@ -59,12 +59,13 @@ #include <rtl/ref.hxx> #include <rtl/ustrbuf.hxx> #include <svx/svxdlg.hxx> -#include <tools/diagnose_ex.h> +#include <comphelper/diagnose_ex.hxx> #include <map> #include <algorithm> #include <iterator> #include <string_view> +#include <utility> namespace pcr { @@ -98,7 +99,6 @@ namespace pcr using ::com::sun::star::form::runtime::FormController; using ::com::sun::star::form::runtime::XFormController; using ::com::sun::star::beans::UnknownPropertyException; - using ::com::sun::star::uno::makeAny; using ::com::sun::star::container::NoSuchElementException; using ::com::sun::star::beans::XPropertySetInfo; using ::com::sun::star::container::XNameReplace; @@ -117,34 +117,28 @@ namespace pcr using com::sun::star::uri::UriReferenceFactory; using com::sun::star::uri::XUriReferenceFactory; using com::sun::star::uri::XVndSunStarScriptUrlReference; - using ::com::sun::star::lang::XEventListener; namespace PropertyControlType = css::inspection::PropertyControlType; namespace PropertyAttribute = css::beans::PropertyAttribute; namespace FormComponentType = css::form::FormComponentType; - EventDescription::EventDescription( EventId _nId, const char* _pListenerNamespaceAscii, const char* _pListenerClassAsciiName, - const char* _pListenerMethodAsciiName, TranslateId pDisplayNameResId, const OUString& _sHelpId, const OString& _sUniqueBrowseId ) + EventDescription::EventDescription( EventId _nId, std::u16string_view listenerClassName, + std::u16string_view listenerMethodName, TranslateId pDisplayNameResId, OUString _sHelpId, OString _sUniqueBrowseId ) :sDisplayName(PcrRes( pDisplayNameResId )) - ,sListenerMethodName( OUString::createFromAscii( _pListenerMethodAsciiName ) ) - ,sHelpId( _sHelpId ) - ,sUniqueBrowseId( _sUniqueBrowseId ) + ,sListenerClassName( listenerClassName ) + ,sListenerMethodName( listenerMethodName ) + ,sHelpId(std::move( _sHelpId )) + ,sUniqueBrowseId(std::move( _sUniqueBrowseId )) ,nId( _nId ) { - OUStringBuffer aQualifiedListenerClass; - aQualifiedListenerClass.append( "com.sun.star." ); - aQualifiedListenerClass.appendAscii( _pListenerNamespaceAscii ); - aQualifiedListenerClass.append( "." ); - aQualifiedListenerClass.appendAscii( _pListenerClassAsciiName ); - sListenerClassName = aQualifiedListenerClass.makeStringAndClear(); } namespace { - #define DESCRIBE_EVENT( map, asciinamespace, asciilistener, asciimethod, id_postfix ) \ + #define DESCRIBE_EVENT( map, listener, method, id_postfix ) \ map.emplace( \ - asciimethod, \ - EventDescription( ++nEventId, asciinamespace, asciilistener, asciimethod, RID_STR_EVT_##id_postfix, HID_EVT_##id_postfix, UID_BRWEVT_##id_postfix ) ) + u"" method##_ustr, \ + EventDescription( ++nEventId, u"com.sun.star." listener, u"" method, RID_STR_EVT_##id_postfix, HID_EVT_##id_postfix, UID_BRWEVT_##id_postfix ) ) bool lcl_getEventDescriptionForMethod( const OUString& _rMethodName, EventDescription& _out_rDescription ) { @@ -152,39 +146,39 @@ namespace pcr EventMap aMap; sal_Int32 nEventId = 0; - DESCRIBE_EVENT(aMap, "form", "XApproveActionListener", "approveAction", APPROVEACTIONPERFORMED); - DESCRIBE_EVENT(aMap, "awt", "XActionListener", "actionPerformed", ACTIONPERFORMED); - DESCRIBE_EVENT(aMap, "form", "XChangeListener", "changed", CHANGED); - DESCRIBE_EVENT(aMap, "awt", "XTextListener", "textChanged", TEXTCHANGED); - DESCRIBE_EVENT(aMap, "awt", "XItemListener", "itemStateChanged", ITEMSTATECHANGED); - DESCRIBE_EVENT(aMap, "awt", "XFocusListener", "focusGained", FOCUSGAINED); - DESCRIBE_EVENT(aMap, "awt", "XFocusListener", "focusLost", FOCUSLOST); - DESCRIBE_EVENT(aMap, "awt", "XKeyListener", "keyPressed", KEYTYPED); - DESCRIBE_EVENT(aMap, "awt", "XKeyListener", "keyReleased", KEYUP); - DESCRIBE_EVENT(aMap, "awt", "XMouseListener", "mouseEntered", MOUSEENTERED); - DESCRIBE_EVENT(aMap, "awt", "XMouseMotionListener", "mouseDragged", MOUSEDRAGGED); - DESCRIBE_EVENT(aMap, "awt", "XMouseMotionListener", "mouseMoved", MOUSEMOVED); - DESCRIBE_EVENT(aMap, "awt", "XMouseListener", "mousePressed", MOUSEPRESSED); - DESCRIBE_EVENT(aMap, "awt", "XMouseListener", "mouseReleased", MOUSERELEASED); - DESCRIBE_EVENT(aMap, "awt", "XMouseListener", "mouseExited", MOUSEEXITED); - DESCRIBE_EVENT(aMap, "form", "XResetListener", "approveReset", APPROVERESETTED); - DESCRIBE_EVENT(aMap, "form", "XResetListener", "resetted", RESETTED); - DESCRIBE_EVENT(aMap, "form", "XSubmitListener", "approveSubmit", SUBMITTED); - DESCRIBE_EVENT(aMap, "form", "XUpdateListener", "approveUpdate", BEFOREUPDATE); - DESCRIBE_EVENT(aMap, "form", "XUpdateListener", "updated", AFTERUPDATE); - DESCRIBE_EVENT(aMap, "form", "XLoadListener", "loaded", LOADED); - DESCRIBE_EVENT(aMap, "form", "XLoadListener", "reloading", RELOADING); - DESCRIBE_EVENT(aMap, "form", "XLoadListener", "reloaded", RELOADED); - DESCRIBE_EVENT(aMap, "form", "XLoadListener", "unloading", UNLOADING); - DESCRIBE_EVENT(aMap, "form", "XLoadListener", "unloaded", UNLOADED); - DESCRIBE_EVENT(aMap, "form", "XConfirmDeleteListener", "confirmDelete", CONFIRMDELETE); - DESCRIBE_EVENT(aMap, "sdb", "XRowSetApproveListener", "approveRowChange", APPROVEROWCHANGE); - DESCRIBE_EVENT(aMap, "sdbc", "XRowSetListener", "rowChanged", ROWCHANGE); - DESCRIBE_EVENT(aMap, "sdb", "XRowSetApproveListener", "approveCursorMove", POSITIONING); - DESCRIBE_EVENT(aMap, "sdbc", "XRowSetListener", "cursorMoved", POSITIONED); - DESCRIBE_EVENT(aMap, "form", "XDatabaseParameterListener", "approveParameter", APPROVEPARAMETER); - DESCRIBE_EVENT(aMap, "sdb", "XSQLErrorListener", "errorOccured", ERROROCCURRED); - DESCRIBE_EVENT(aMap, "awt", "XAdjustmentListener", "adjustmentValueChanged", ADJUSTMENTVALUECHANGED); + DESCRIBE_EVENT(aMap, "form.XApproveActionListener", "approveAction", APPROVEACTIONPERFORMED); + DESCRIBE_EVENT(aMap, "awt.XActionListener", "actionPerformed", ACTIONPERFORMED); + DESCRIBE_EVENT(aMap, "form.XChangeListener", "changed", CHANGED); + DESCRIBE_EVENT(aMap, "awt.XTextListener", "textChanged", TEXTCHANGED); + DESCRIBE_EVENT(aMap, "awt.XItemListener", "itemStateChanged", ITEMSTATECHANGED); + DESCRIBE_EVENT(aMap, "awt.XFocusListener", "focusGained", FOCUSGAINED); + DESCRIBE_EVENT(aMap, "awt.XFocusListener", "focusLost", FOCUSLOST); + DESCRIBE_EVENT(aMap, "awt.XKeyListener", "keyPressed", KEYTYPED); + DESCRIBE_EVENT(aMap, "awt.XKeyListener", "keyReleased", KEYUP); + DESCRIBE_EVENT(aMap, "awt.XMouseListener", "mouseEntered", MOUSEENTERED); + DESCRIBE_EVENT(aMap, "awt.XMouseMotionListener", "mouseDragged", MOUSEDRAGGED); + DESCRIBE_EVENT(aMap, "awt.XMouseMotionListener", "mouseMoved", MOUSEMOVED); + DESCRIBE_EVENT(aMap, "awt.XMouseListener", "mousePressed", MOUSEPRESSED); + DESCRIBE_EVENT(aMap, "awt.XMouseListener", "mouseReleased", MOUSERELEASED); + DESCRIBE_EVENT(aMap, "awt.XMouseListener", "mouseExited", MOUSEEXITED); + DESCRIBE_EVENT(aMap, "form.XResetListener", "approveReset", APPROVERESETTED); + DESCRIBE_EVENT(aMap, "form.XResetListener", "resetted", RESETTED); + DESCRIBE_EVENT(aMap, "form.XSubmitListener", "approveSubmit", SUBMITTED); + DESCRIBE_EVENT(aMap, "form.XUpdateListener", "approveUpdate", BEFOREUPDATE); + DESCRIBE_EVENT(aMap, "form.XUpdateListener", "updated", AFTERUPDATE); + DESCRIBE_EVENT(aMap, "form.XLoadListener", "loaded", LOADED); + DESCRIBE_EVENT(aMap, "form.XLoadListener", "reloading", RELOADING); + DESCRIBE_EVENT(aMap, "form.XLoadListener", "reloaded", RELOADED); + DESCRIBE_EVENT(aMap, "form.XLoadListener", "unloading", UNLOADING); + DESCRIBE_EVENT(aMap, "form.XLoadListener", "unloaded", UNLOADED); + DESCRIBE_EVENT(aMap, "form.XConfirmDeleteListener", "confirmDelete", CONFIRMDELETE); + DESCRIBE_EVENT(aMap, "sdb.XRowSetApproveListener", "approveRowChange", APPROVEROWCHANGE); + DESCRIBE_EVENT(aMap, "sdbc.XRowSetListener", "rowChanged", ROWCHANGE); + DESCRIBE_EVENT(aMap, "sdb.XRowSetApproveListener", "approveCursorMove", POSITIONING); + DESCRIBE_EVENT(aMap, "sdbc.XRowSetListener", "cursorMoved", POSITIONED); + DESCRIBE_EVENT(aMap, "form.XDatabaseParameterListener", "approveParameter", APPROVEPARAMETER); + DESCRIBE_EVENT(aMap, "sdb.XSQLErrorListener", "errorOccured", ERROROCCURRED); + DESCRIBE_EVENT(aMap, "awt.XAdjustmentListener", "adjustmentValueChanged", ADJUSTMENTVALUECHANGED); return aMap; }(); @@ -237,11 +231,11 @@ namespace pcr sal_Int32 nPrefixLen = aScriptEvent.ScriptCode.indexOf( ':' ); OSL_ENSURE( nPrefixLen > 0, "lcl_getAssignedScriptEvent: illegal location!" ); - OUString sLocation = aScriptEvent.ScriptCode.copy( 0, nPrefixLen ); - OUString sMacroPath = aScriptEvent.ScriptCode.copy( nPrefixLen + 1 ); + std::u16string_view sLocation = aScriptEvent.ScriptCode.subView( 0, nPrefixLen ); + std::u16string_view sMacroPath = aScriptEvent.ScriptCode.subView( nPrefixLen + 1 ); aScriptEvent.ScriptCode = - "vnd.sun.star.script:" + + OUString::Concat("vnd.sun.star.script:") + sMacroPath + "?language=Basic&location=" + sLocation; @@ -275,7 +269,7 @@ namespace pcr OSL_PRECOND( _rxIntrospection.is(), "lcl_addListenerTypesFor_throw: this will crash!" ); Reference< XIntrospectionAccess > xIntrospectionAccess( - _rxIntrospection->inspect( makeAny( _rxComponent ) ), UNO_SET_THROW ); + _rxIntrospection->inspect( Any( _rxComponent ) ), UNO_SET_THROW ); const Sequence< Type > aListeners( xIntrospectionAccess->getSupportedListeners() ); @@ -381,7 +375,7 @@ namespace pcr comphelper::makePropertyValue("Script", aDescriptor.ScriptCode) }; - return makeAny( aScriptDescriptor ); + return Any( aScriptDescriptor ); } Sequence< OUString > SAL_CALL EventHolder::getElementNames( ) @@ -511,7 +505,7 @@ namespace pcr } } - return makeAny( aPropertyValue ); + return Any( aPropertyValue ); } void SAL_CALL EventHandler::setPropertyValue( const OUString& _rPropertyName, const Any& _rValue ) @@ -568,7 +562,7 @@ namespace pcr // there is no need for this code... aAssignedScript.ScriptCode = sNewScriptCode; - return makeAny( aAssignedScript ); + return Any( aAssignedScript ); } Any SAL_CALL EventHandler::convertToControlValue( const OUString& /*_rPropertyName*/, const Any& _rPropertyValue, const Type& _rControlValueType ) @@ -608,8 +602,7 @@ namespace pcr OSL_ENSURE( !sLocation.isEmpty(), "EventHandler::convertToControlValue: unexpected: no location!" ); if ( !sLocation.isEmpty() ) { - aComposeBuffer.append( sLocation ); - aComposeBuffer.append( ", " ); + aComposeBuffer.append( sLocation + ", " ); } // language @@ -629,7 +622,7 @@ namespace pcr } } - return makeAny( sScript ); + return Any( sScript ); } PropertyState SAL_CALL EventHandler::getPropertyState( const OUString& /*_rPropertyName*/ ) @@ -802,7 +795,7 @@ namespace pcr // set the new "property value" setPropertyValue( lcl_getEventPropertyName( event.second.sListenerClassName, event.second.sListenerMethodName ), - makeAny( aScriptDescriptor ) + Any( aScriptDescriptor ) ); } } @@ -973,14 +966,14 @@ namespace pcr namespace { - bool lcl_endsWith( const OUString& _rText, const OUString& _rCheck ) + bool lcl_endsWith( std::u16string_view _rText, std::u16string_view _rCheck ) { - sal_Int32 nTextLen = _rText.getLength(); - sal_Int32 nCheckLen = _rCheck.getLength(); + size_t nTextLen = _rText.size(); + size_t nCheckLen = _rCheck.size(); if ( nCheckLen > nTextLen ) return false; - return _rText.indexOf( _rCheck ) == ( nTextLen - nCheckLen ); + return _rText.find( _rCheck ) == ( nTextLen - nCheckLen ); } } |