sc/source/ui/vba/vbaeventshelper.cxx |   69 ++++++++++++++++-------------------
 1 file changed, 33 insertions(+), 36 deletions(-)

New commits:
commit 700bcdbd467e5f116e967f7ab6657fdbc7933e56
Author: Jochen Nitschke <[email protected]>
Date:   Wed Jul 27 17:58:35 2016 +0200

    sc: replace REGISTER_..._EVENT macros with lambdas
    
    Change-Id: Ie4aef0c2e5cb89626e3549599b055a1d3ce4054b
    Reviewed-on: https://gerrit.libreoffice.org/27506
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Jochen Nitschke <[email protected]>

diff --git a/sc/source/ui/vba/vbaeventshelper.cxx 
b/sc/source/ui/vba/vbaeventshelper.cxx
index da68267..8778b33 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()
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to