diff options
author | Jochen Nitschke <j.nitschke+logerrit@ok.de> | 2016-07-27 17:58:35 +0200 |
---|---|---|
committer | Jochen Nitschke <j.nitschke+logerrit@ok.de> | 2016-08-03 12:15:04 +0000 |
commit | 700bcdbd467e5f116e967f7ab6657fdbc7933e56 (patch) | |
tree | c7748f32f06a8443a63ee762aaf69277da187caa /sc/source/ui/vba | |
parent | 219a4707ee8a90f87b91f4ddebe26d9c62b9ff62 (diff) |
sc: replace REGISTER_..._EVENT macros with lambdas
Change-Id: Ie4aef0c2e5cb89626e3549599b055a1d3ce4054b
Reviewed-on: https://gerrit.libreoffice.org/27506
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Diffstat (limited to 'sc/source/ui/vba')
-rw-r--r-- | sc/source/ui/vba/vbaeventshelper.cxx | 69 |
1 files changed, 33 insertions, 36 deletions
diff --git a/sc/source/ui/vba/vbaeventshelper.cxx b/sc/source/ui/vba/vbaeventshelper.cxx index da68267b1ea5..8778b33402b5 100644 --- a/sc/source/ui/vba/vbaeventshelper.cxx +++ b/sc/source/ui/vba/vbaeventshelper.cxx @@ -528,47 +528,44 @@ ScVbaEventsHelper::ScVbaEventsHelper( const uno::Sequence< uno::Any >& rArgs, co if( !mxModel.is() || !mpDocShell || !mpDoc ) return; -#define REGISTER_EVENT( eventid, moduletype, classname, eventname, cancelindex, worksheet ) \ - registerEventHandler( eventid, moduletype, classname "_" eventname, cancelindex, uno::Any( worksheet ) ) -#define REGISTER_AUTO_EVENT( eventid, eventname ) \ - REGISTER_EVENT( AUTO_##eventid, script::ModuleType::NORMAL, "Auto", eventname, -1, false ) -#define REGISTER_WORKBOOK_EVENT( eventid, eventname, cancelindex ) \ - REGISTER_EVENT( WORKBOOK_##eventid, script::ModuleType::DOCUMENT, "Workbook", eventname, cancelindex, false ) -#define REGISTER_WORKSHEET_EVENT( eventid, eventname, cancelindex ) \ - REGISTER_EVENT( WORKSHEET_##eventid, script::ModuleType::DOCUMENT, "Worksheet", eventname, cancelindex, true ); \ - REGISTER_EVENT( (USERDEFINED_START + WORKSHEET_##eventid), script::ModuleType::DOCUMENT, "Workbook", "Sheet" eventname, (((cancelindex) >= 0) ? ((cancelindex) + 1) : -1), false ) - // global - REGISTER_AUTO_EVENT( OPEN, "Open" ); - REGISTER_AUTO_EVENT( CLOSE, "Close" ); + auto registerAutoEvent = [this](sal_Int32 nID, const sal_Char* sName) + { registerEventHandler(nID, script::ModuleType::NORMAL, (OString("Auto_").concat(sName)).getStr(), -1, uno::Any(false)); }; + registerAutoEvent(AUTO_OPEN, "Open"); + registerAutoEvent(AUTO_CLOSE, "Close"); // Workbook - REGISTER_WORKBOOK_EVENT( ACTIVATE, "Activate", -1 ); - REGISTER_WORKBOOK_EVENT( DEACTIVATE, "Deactivate", -1 ); - REGISTER_WORKBOOK_EVENT( OPEN, "Open", -1 ); - REGISTER_WORKBOOK_EVENT( BEFORECLOSE, "BeforeClose", 0 ); - REGISTER_WORKBOOK_EVENT( BEFOREPRINT, "BeforePrint", 0 ); - REGISTER_WORKBOOK_EVENT( BEFORESAVE, "BeforeSave", 1 ); - REGISTER_WORKBOOK_EVENT( AFTERSAVE, "AfterSave", -1 ); - REGISTER_WORKBOOK_EVENT( NEWSHEET, "NewSheet", -1 ); - REGISTER_WORKBOOK_EVENT( WINDOWACTIVATE, "WindowActivate", -1 ); - REGISTER_WORKBOOK_EVENT( WINDOWDEACTIVATE, "WindowDeactivate", -1 ); - REGISTER_WORKBOOK_EVENT( WINDOWRESIZE, "WindowResize", -1 ); + auto registerWorkbookEvent = [this](sal_Int32 nID, const sal_Char* sName, sal_Int32 nCancelIndex) + { registerEventHandler(nID, script::ModuleType::DOCUMENT, (OString("Workbook_").concat(sName)).getStr(), nCancelIndex, uno::Any(false)); }; + registerWorkbookEvent( WORKBOOK_ACTIVATE, "Activate", -1 ); + registerWorkbookEvent( WORKBOOK_DEACTIVATE, "Deactivate", -1 ); + registerWorkbookEvent( WORKBOOK_OPEN, "Open", -1 ); + registerWorkbookEvent( WORKBOOK_BEFORECLOSE, "BeforeClose", 0 ); + registerWorkbookEvent( WORKBOOK_BEFOREPRINT, "BeforePrint", 0 ); + registerWorkbookEvent( WORKBOOK_BEFORESAVE, "BeforeSave", 1 ); + registerWorkbookEvent( WORKBOOK_AFTERSAVE, "AfterSave", -1 ); + registerWorkbookEvent( WORKBOOK_NEWSHEET, "NewSheet", -1 ); + registerWorkbookEvent( WORKBOOK_WINDOWACTIVATE, "WindowActivate", -1 ); + registerWorkbookEvent( WORKBOOK_WINDOWDEACTIVATE, "WindowDeactivate", -1 ); + registerWorkbookEvent( WORKBOOK_WINDOWRESIZE, "WindowResize", -1 ); // Worksheet events. All events have a corresponding workbook event. - REGISTER_WORKSHEET_EVENT( ACTIVATE, "Activate", -1 ); - REGISTER_WORKSHEET_EVENT( DEACTIVATE, "Deactivate", -1 ); - REGISTER_WORKSHEET_EVENT( BEFOREDOUBLECLICK, "BeforeDoubleClick", 1 ); - REGISTER_WORKSHEET_EVENT( BEFORERIGHTCLICK, "BeforeRightClick", 1 ); - REGISTER_WORKSHEET_EVENT( CALCULATE, "Calculate", -1 ); - REGISTER_WORKSHEET_EVENT( CHANGE, "Change", -1 ); - REGISTER_WORKSHEET_EVENT( SELECTIONCHANGE, "SelectionChange", -1 ); - REGISTER_WORKSHEET_EVENT( FOLLOWHYPERLINK, "FollowHyperlink", -1 ); - -#undef REGISTER_WORKSHEET_EVENT -#undef REGISTER_WORKBOOK_EVENT -#undef REGISTER_AUTO_EVENT -#undef REGISTER_EVENT + auto registerWorksheetEvent = [this](sal_Int32 nID, const sal_Char* sName, sal_Int32 nCancelIndex) + { + registerEventHandler(nID, script::ModuleType::DOCUMENT, (OString("Worksheet_").concat(sName)).getStr(), + nCancelIndex, uno::Any(true)); + registerEventHandler(USERDEFINED_START + nID, script::ModuleType::DOCUMENT, + (OString("Workbook_Worksheet").concat(sName)).getStr(), + ((nCancelIndex >= 0) ? (nCancelIndex + 1) : -1), uno::Any(false)); + }; + registerWorksheetEvent( WORKSHEET_ACTIVATE, "Activate", -1 ); + registerWorksheetEvent( WORKSHEET_DEACTIVATE, "Deactivate", -1 ); + registerWorksheetEvent( WORKSHEET_BEFOREDOUBLECLICK, "BeforeDoubleClick", 1 ); + registerWorksheetEvent( WORKSHEET_BEFORERIGHTCLICK, "BeforeRightClick", 1 ); + registerWorksheetEvent( WORKSHEET_CALCULATE, "Calculate", -1 ); + registerWorksheetEvent( WORKSHEET_CHANGE, "Change", -1 ); + registerWorksheetEvent( WORKSHEET_SELECTIONCHANGE, "SelectionChange", -1 ); + registerWorksheetEvent( WORKSHEET_FOLLOWHYPERLINK, "FollowHyperlink", -1 ); } ScVbaEventsHelper::~ScVbaEventsHelper() |