diff options
Diffstat (limited to 'formula')
27 files changed, 297 insertions, 153 deletions
diff --git a/formula/inc/formula/FormulaOpCodeMapperObj.hxx b/formula/inc/formula/FormulaOpCodeMapperObj.hxx index fe50c22139..ee69919e55 100644 --- a/formula/inc/formula/FormulaOpCodeMapperObj.hxx +++ b/formula/inc/formula/FormulaOpCodeMapperObj.hxx @@ -86,4 +86,4 @@ private: #endif // FORMULA_FORMULAOPCODEMAPPER_HXX_INCLUDED -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file diff --git a/formula/inc/formula/IFunctionDescription.hxx b/formula/inc/formula/IFunctionDescription.hxx index eeb3f47db0..49e9595c40 100644 --- a/formula/inc/formula/IFunctionDescription.hxx +++ b/formula/inc/formula/IFunctionDescription.hxx @@ -93,7 +93,7 @@ namespace formula virtual void fillVisibleArgumentMapping(::std::vector<USHORT>& _rArguments) const = 0; virtual void initArgumentInfo() const = 0; virtual ::rtl::OUString getSignature() const = 0; - virtual long getHelpId() const = 0; + virtual rtl::OString getHelpId() const = 0; // parameter virtual sal_uInt32 getParameterCount() const = 0; diff --git a/formula/inc/formula/formdata.hxx b/formula/inc/formula/formdata.hxx index 369468eb68..035cb0ca86 100644 --- a/formula/inc/formula/formdata.hxx +++ b/formula/inc/formula/formdata.hxx @@ -54,7 +54,7 @@ public: inline USHORT GetEdFocus() const { return nEdFocus; } inline const String& GetUndoStr() const { return aUndoStr; } inline BOOL GetMatrixFlag()const{ return bMatrix;} - inline ULONG GetUniqueId()const { return nUniqueId;} + inline rtl::OString GetUniqueId()const { return aUniqueId;} inline const Selection& GetSelection()const { return aSelection;} inline void SetMode( USHORT nNew ) { nMode = nNew; } @@ -65,7 +65,7 @@ public: inline void SetEdFocus( USHORT nNew ) { nEdFocus = nNew; } inline void SetUndoStr( const String& rNew ) { aUndoStr = rNew; } inline void SetMatrixFlag(BOOL bNew) { bMatrix=bNew;} - inline void SetUniqueId(ULONG nNew) { nUniqueId=nNew;} + inline void SetUniqueId(const rtl::OString nNew) { aUniqueId=nNew;} inline void SetSelection(const Selection& aSel) { aSelection=aSel;} protected: void Reset(); @@ -82,7 +82,7 @@ private: USHORT nEdFocus; String aUndoStr; BOOL bMatrix; - ULONG nUniqueId; + rtl::OString aUniqueId; Selection aSelection; }; diff --git a/formula/inc/formula/formula.hxx b/formula/inc/formula/formula.hxx index 17c30517dc..7ae44931bf 100644 --- a/formula/inc/formula/formula.hxx +++ b/formula/inc/formula/formula.hxx @@ -80,8 +80,8 @@ protected: ::std::pair<RefButton*,RefEdit*> RefInputStartBefore( RefEdit* pEdit, RefButton* pButton = NULL ); void RefInputStartAfter( RefEdit* pEdit, RefButton* pButton = NULL ); void RefInputDoneAfter( BOOL bForced = FALSE ); - ULONG FindFocusWin(Window *pWin); - void SetFocusWin(Window *pWin,ULONG nUniqueId); + rtl::OString FindFocusWin(Window *pWin); + void SetFocusWin(Window *pWin,const rtl::OString& nUniqueId); void HighlightFunctionParas(const String& aFormula); void SetMeText(const String& _sText); @@ -129,8 +129,8 @@ protected: ::std::pair<RefButton*,RefEdit*> RefInputStartBefore( RefEdit* pEdit, RefButton* pButton = NULL ); void RefInputStartAfter( RefEdit* pEdit, RefButton* pButton = NULL ); void RefInputDoneAfter( BOOL bForced = FALSE ); - ULONG FindFocusWin(Window *pWin); - void SetFocusWin(Window *pWin,ULONG nUniqueId); + rtl::OString FindFocusWin(Window *pWin); + void SetFocusWin(Window *pWin,const rtl::OString& nUniqueId); void HighlightFunctionParas(const String& aFormula); void SetMeText(const String& _sText); diff --git a/formula/inc/formula/funcutl.hxx b/formula/inc/formula/funcutl.hxx index 6f7d23d3d3..41e12e03f1 100644 --- a/formula/inc/formula/funcutl.hxx +++ b/formula/inc/formula/funcutl.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite diff --git a/formula/inc/formula/intruref.hxx b/formula/inc/formula/intruref.hxx new file mode 100644 index 0000000000..640ce14e4b --- /dev/null +++ b/formula/inc/formula/intruref.hxx @@ -0,0 +1,101 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef FORMULA_INTRUREF_HXX +#define FORMULA_INTRUREF_HXX + +namespace formula +{ + +/** A simple intrusive refcounting template, not thread safe, but therefore + also a bit faster than boost's smart_ptr or uno::Reference equivalents, and + the type to be refcounted has full control over its behavior. + + Mainly used in formula compiler and interpreter context, e.g. ScTokenRef, + ScMatrixRef. + + Type T must implement methods IncRef() and DecRef(), in case typename T is + const they must be const as well and the reference counter be mutable. + */ +template< typename T > class SimpleIntrusiveReference +{ + T* p; +public: + inline SimpleIntrusiveReference() : p(0) {} + inline SimpleIntrusiveReference( const SimpleIntrusiveReference& r ) + { + p = r.p; + if ( p ) + p->IncRef(); + } + inline SimpleIntrusiveReference( T *t ) + { + p = t; + if ( p ) + t->IncRef(); + } + inline void Clear() + { + if ( p ) + { + p->DecRef(); + p = 0; + } + } + inline ~SimpleIntrusiveReference() + { + if ( p ) + p->DecRef(); + } + inline SimpleIntrusiveReference& operator=( T* t ) + { + if ( t ) + t->IncRef(); + if ( p ) + p->DecRef(); + p = t; + return *this; + } + inline SimpleIntrusiveReference& operator=( const SimpleIntrusiveReference& r ) + { + *this = r.p; + return *this; + } + inline bool Is() const { return p != 0; } + inline bool operator ! () const { return p == 0; } + inline T* operator&() const { return p; } + inline T* operator->() const { return p; } + inline T& operator*() const { return *p; } + inline operator T*() const { return p; } + inline T* get() const { return p; } +}; +// ============================================================================= +} // formula +// ============================================================================= + +#endif // SC_INTRUREF_HXX + diff --git a/formula/inc/helpids.hrc b/formula/inc/helpids.hrc index dfd7403f8d..c2f6903517 100644 --- a/formula/inc/helpids.hrc +++ b/formula/inc/helpids.hrc @@ -27,36 +27,26 @@ #ifndef FORMULA_HELPID_HRC #define FORMULA_HELPID_HRC -#ifndef _SOLAR_HRC -#include <svl/solar.hrc> // HID_FORMULA_START -#endif - -#define HID_FORMULADLG_FORMULA (HID_FORMULA_START + 0) -#define HID_FORMULA_FAP_FORMULA (HID_FORMULA_START + 1) -#define HID_FORMULA_FAP_STRUCT (HID_FORMULA_START + 2) -#define HID_FORMULA_FAP_PAGE (HID_FORMULA_START + 3) -#define HID_FORMULA_FAP_EDIT1 (HID_FORMULA_START + 4) -#define HID_FORMULA_FAP_EDIT2 (HID_FORMULA_START + 5) -#define HID_FORMULA_FAP_EDIT3 (HID_FORMULA_START + 6) -#define HID_FORMULA_FAP_EDIT4 (HID_FORMULA_START + 7) -#define HID_FORMULA_FAP_BTN_FX1 (HID_FORMULA_START + 8) -#define HID_FORMULA_FAP_BTN_FX2 (HID_FORMULA_START + 9) -#define HID_FORMULA_FAP_BTN_FX3 (HID_FORMULA_START +10) -#define HID_FORMULA_FAP_BTN_FX4 (HID_FORMULA_START +11) -#define HID_FORMULA_FAP_BTN_REF1 (HID_FORMULA_START +12) -#define HID_FORMULA_FAP_BTN_REF2 (HID_FORMULA_START +13) -#define HID_FORMULA_FAP_BTN_REF3 (HID_FORMULA_START +14) -#define HID_FORMULA_FAP_BTN_REF4 (HID_FORMULA_START +15) -#define HID_FORMULA_LB_CATEGORY (HID_FORMULA_START +16) -#define HID_FORMULA_LB_FUNCTION (HID_FORMULA_START +17) -#define HID_FORMULATAB_FUNCTION (HID_FORMULA_START +18) -#define HID_FORMULATAB_STRUCT (HID_FORMULA_START +19) - - -#if HID_FORMULATAB_STRUCT > HID_FORMULA_END -#error Help-Id Ueberlauf in #file, #line -#endif -// don't forget to update the file util/hidother.src +#define HID_FORMULADLG_FORMULA "FORMULA_HID_FORMULADLG_FORMULA" +#define HID_FORMULA_FAP_FORMULA "FORMULA_HID_FORMULA_FAP_FORMULA" +#define HID_FORMULA_FAP_STRUCT "FORMULA_HID_FORMULA_FAP_STRUCT" +#define HID_FORMULA_FAP_PAGE "FORMULA_HID_FORMULA_FAP_PAGE" +#define HID_FORMULA_FAP_EDIT1 "FORMULA_HID_FORMULA_FAP_EDIT1" +#define HID_FORMULA_FAP_EDIT2 "FORMULA_HID_FORMULA_FAP_EDIT2" +#define HID_FORMULA_FAP_EDIT3 "FORMULA_HID_FORMULA_FAP_EDIT3" +#define HID_FORMULA_FAP_EDIT4 "FORMULA_HID_FORMULA_FAP_EDIT4" +#define HID_FORMULA_FAP_BTN_FX1 "FORMULA_HID_FORMULA_FAP_BTN_FX1" +#define HID_FORMULA_FAP_BTN_FX2 "FORMULA_HID_FORMULA_FAP_BTN_FX2" +#define HID_FORMULA_FAP_BTN_FX3 "FORMULA_HID_FORMULA_FAP_BTN_FX3" +#define HID_FORMULA_FAP_BTN_FX4 "FORMULA_HID_FORMULA_FAP_BTN_FX4" +#define HID_FORMULA_FAP_BTN_REF1 "FORMULA_HID_FORMULA_FAP_BTN_REF1" +#define HID_FORMULA_FAP_BTN_REF2 "FORMULA_HID_FORMULA_FAP_BTN_REF2" +#define HID_FORMULA_FAP_BTN_REF3 "FORMULA_HID_FORMULA_FAP_BTN_REF3" +#define HID_FORMULA_FAP_BTN_REF4 "FORMULA_HID_FORMULA_FAP_BTN_REF4" +#define HID_FORMULA_LB_CATEGORY "FORMULA_HID_FORMULA_LB_CATEGORY" +#define HID_FORMULA_LB_FUNCTION "FORMULA_HID_FORMULA_LB_FUNCTION" +#define HID_FORMULATAB_FUNCTION "FORMULA_HID_FORMULATAB_FUNCTION" +#define HID_FORMULATAB_STRUCT "FORMULA_HID_FORMULATAB_STRUCT" #endif //FORMULA_HELPID_HRC diff --git a/formula/inc/makefile.mk b/formula/inc/makefile.mk index dfe7226e08..586d86f218 100644 --- a/formula/inc/makefile.mk +++ b/formula/inc/makefile.mk @@ -40,8 +40,8 @@ TARGET=inc .IF "$(ENABLE_PCH)"!="" ALLTAR : \ - $(SLO)$/precompiled.pch \ - $(SLO)$/precompiled_ex.pch - + $(SLO)$/precompiled.pch \ + $(SLO)$/precompiled_ex.pch + .ENDIF # "$(ENABLE_PCH)"!="" diff --git a/formula/prj/build.lst b/formula/prj/build.lst index f26377c457..109a798ea3 100644 --- a/formula/prj/build.lst +++ b/formula/prj/build.lst @@ -1,4 +1,4 @@ -fml formula : BOOST:boost comphelper svx NULL +fml formula : BOOST:boost LIBXSLT:libxslt comphelper svx NULL fml formula usr1 - all fml_mkout NULL fml formula\inc nmake - all fml_inc NULL fml formula\source\core\api nmake - all fml_api fml_inc NULL diff --git a/formula/prj/d.lst b/formula/prj/d.lst index c80df46d31..0fe5a1fe71 100644 --- a/formula/prj/d.lst +++ b/formula/prj/d.lst @@ -34,3 +34,4 @@ mkdir: %_DEST%\inc%_EXT%\formula +..\%__SRC%\misc\for.component %_DEST%\xml%_EXT%\for.component diff --git a/formula/source/core/api/services.cxx b/formula/source/core/api/services.cxx index 3bcfbf7052..0d1df59c76 100644 --- a/formula/source/core/api/services.cxx +++ b/formula/source/core/api/services.cxx @@ -67,12 +67,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( *envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } -SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( - void * serviceManager, void * registryKey) -{ - return cppu::component_writeInfoHelper( - serviceManager, registryKey, entries); -} } // extern "C" /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/source/core/resource/makefile.mk b/formula/source/core/resource/makefile.mk index 96e2dfd5a8..7efbdea778 100644 --- a/formula/source/core/resource/makefile.mk +++ b/formula/source/core/resource/makefile.mk @@ -39,7 +39,7 @@ TARGET=core_resource SRS1NAME=core_strings SRC1FILES= \ - core_resource.src + core_resource.src SLOFILES= $(EXCEPTIONSFILES) EXCEPTIONSFILES= $(SLO)$/core_resource.obj diff --git a/formula/source/ui/dlg/FormulaHelper.cxx b/formula/source/ui/dlg/FormulaHelper.cxx index 7da397f8f1..331aa938a5 100644 --- a/formula/source/ui/dlg/FormulaHelper.cxx +++ b/formula/source/ui/dlg/FormulaHelper.cxx @@ -51,7 +51,7 @@ namespace formula virtual void fillVisibleArgumentMapping(::std::vector<USHORT>& ) const {} virtual void initArgumentInfo() const {} virtual ::rtl::OUString getSignature() const { return ::rtl::OUString(); } - virtual long getHelpId() const { return 0; } + virtual rtl::OString getHelpId() const { return ""; } virtual sal_uInt32 getParameterCount() const { return 0; } virtual ::rtl::OUString getParameterName(sal_uInt32 ) const { return ::rtl::OUString(); } virtual ::rtl::OUString getParameterDescription(sal_uInt32 ) const { return ::rtl::OUString(); } diff --git a/formula/source/ui/dlg/formdlgs.src b/formula/source/ui/dlg/formdlgs.src index 7955fdd473..9b2852cc0c 100644 --- a/formula/source/ui/dlg/formdlgs.src +++ b/formula/source/ui/dlg/formdlgs.src @@ -1,7 +1,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -143,6 +143,7 @@ ModalDialog RID_FORMULADLG_FORMULA_MODAL Moveable = TRUE ; TabControl TC_FUNCTION { + HelpID = "formula:TabControl:RID_FORMULADLG_FORMULA_MODAL:TC_FUNCTION"; Pos = MAP_APPFONT ( 6 , 5 ) ; Size = MAP_APPFONT ( 102 , 199 ) ; PageList = @@ -229,6 +230,7 @@ ModalDialog RID_FORMULADLG_FORMULA_MODAL }; CheckBox BTN_MATRIX { + HelpID = "formula:CheckBox:RID_FORMULADLG_FORMULA_MODAL:BTN_MATRIX"; Pos = MAP_APPFONT ( 6 , 208 ) ; Size = MAP_APPFONT ( 50 , 10 ) ; TabStop = TRUE ; @@ -236,12 +238,14 @@ ModalDialog RID_FORMULADLG_FORMULA_MODAL }; Edit ED_REF { + HelpID = "formula:Edit:RID_FORMULADLG_FORMULA_MODAL:ED_REF"; Border = TRUE ; Pos = MAP_APPFONT ( 76 , 205 ) ; Size = MAP_APPFONT ( 66 , 12 ) ; }; ImageButton RB_REF { + HelpID = "formula:ImageButton:RID_FORMULADLG_FORMULA_MODAL:RB_REF"; Pos = MAP_APPFONT ( 144 , 205 ) ; Size = MAP_APPFONT ( 13 , 15 ) ; TabStop = FALSE ; @@ -261,6 +265,7 @@ ModalDialog RID_FORMULADLG_FORMULA_MODAL }; PushButton BTN_BACKWARD { + HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA_MODAL:BTN_BACKWARD"; Pos = MAP_APPFONT ( 171 , 208 ) ; Size = MAP_APPFONT ( 45 , 14 ) ; TabStop = TRUE ; @@ -268,6 +273,7 @@ ModalDialog RID_FORMULADLG_FORMULA_MODAL }; PushButton BTN_FORWARD { + HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA_MODAL:BTN_FORWARD"; Pos = MAP_APPFONT ( 219 , 208 ) ; Size = MAP_APPFONT ( 45 , 14 ) ; TabStop = TRUE ; @@ -304,6 +310,7 @@ ModelessDialog RID_FORMULADLG_FORMULA Moveable = TRUE ; TabControl TC_FUNCTION { + HelpID = "formula:TabControl:RID_FORMULADLG_FORMULA:TC_FUNCTION"; Pos = MAP_APPFONT ( 6 , 5 ) ; Size = MAP_APPFONT ( 102 , 199 ) ; PageList = @@ -390,6 +397,7 @@ ModelessDialog RID_FORMULADLG_FORMULA }; CheckBox BTN_MATRIX { + HelpID = "formula:CheckBox:RID_FORMULADLG_FORMULA:BTN_MATRIX"; Pos = MAP_APPFONT ( 6 , 208 ) ; Size = MAP_APPFONT ( 50 , 10 ) ; TabStop = TRUE ; @@ -397,12 +405,14 @@ ModelessDialog RID_FORMULADLG_FORMULA }; Edit ED_REF { + HelpID = "formula:Edit:RID_FORMULADLG_FORMULA:ED_REF"; Border = TRUE ; Pos = MAP_APPFONT ( 76 , 205 ) ; Size = MAP_APPFONT ( 66 , 12 ) ; }; ImageButton RB_REF { + HelpID = "formula:ImageButton:RID_FORMULADLG_FORMULA:RB_REF"; Pos = MAP_APPFONT ( 144 , 205 ) ; Size = MAP_APPFONT ( 13 , 15 ) ; TabStop = FALSE ; @@ -422,6 +432,7 @@ ModelessDialog RID_FORMULADLG_FORMULA }; PushButton BTN_BACKWARD { + HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA:BTN_BACKWARD"; Pos = MAP_APPFONT ( 171 , 208 ) ; Size = MAP_APPFONT ( 45 , 14 ) ; TabStop = TRUE ; @@ -429,6 +440,7 @@ ModelessDialog RID_FORMULADLG_FORMULA }; PushButton BTN_FORWARD { + HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA:BTN_FORWARD"; Pos = MAP_APPFONT ( 219 , 208 ) ; Size = MAP_APPFONT ( 45 , 14 ) ; TabStop = TRUE ; diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx index e6d9715f8c..91af7363c6 100644 --- a/formula/source/ui/dlg/formula.cxx +++ b/formula/source/ui/dlg/formula.cxx @@ -144,7 +144,7 @@ namespace formula void PreNotify( NotifyEvent& rNEvt ); RefEdit* GetCurrRefEdit(); - ULONG FindFocusWin(Window *pWin); + rtl::OString FindFocusWin(Window *pWin); const FormulaHelper& GetFormulaHelper() const; uno::Reference< sheet::XFormulaOpCodeMapper > GetFormulaOpCodeMapper() const; @@ -227,11 +227,11 @@ namespace formula FormulaHelper m_aFormulaHelper; - SmartId m_aSmartEditHelpId; + rtl::OString m_aEditHelpId; - ULONG nOldHelp; - ULONG nOldUnique; - ULONG nActivWinId; + rtl::OString aOldHelp; + rtl::OString aOldUnique; + rtl::OString aActivWinId; BOOL bIsShutDown; @@ -301,7 +301,6 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent aTxtOk ( aBtnEnd.GetText() ), m_aFormulaHelper(_pFunctionMgr), // - nActivWinId (0), bIsShutDown (FALSE), nEdFocus (0), pFuncDesc (NULL), @@ -315,8 +314,8 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent aRefBtn.Hide(); pMEdit = aMEFormula.GetEdit(); - m_aSmartEditHelpId = pMEdit->GetSmartHelpId(); - pMEdit->SetSmartUniqueId(m_aSmartEditHelpId); + m_aEditHelpId = pMEdit->GetHelpId(); + pMEdit->SetUniqueId( m_aEditHelpId ); bEditFlag=FALSE; bStructUpdate=TRUE; @@ -332,8 +331,8 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent aTabCtrl.SetTabPage( TP_FUNCTION, pFuncPage); aTabCtrl.SetTabPage( TP_STRUCT, pStructPage); - nOldHelp = pParent->GetHelpId(); // HelpId from resource always for "Page 1" - nOldUnique = pParent->GetUniqueId(); + aOldHelp = pParent->GetHelpId(); // HelpId aus Resource immer fuer "Seite 1" + aOldUnique = pParent->GetUniqueId(); aFtResult.Show( _bSupportResult ); aWndResult.Show( _bSupportResult ); @@ -409,27 +408,27 @@ void FormulaDlg_Impl::PreNotify( NotifyEvent& rNEvt ) Window* pWin=rNEvt.GetWindow(); if(pWin!=NULL) { - nActivWinId = pWin->GetUniqueId(); - if(nActivWinId==0) + aActivWinId = pWin->GetUniqueId(); + if(aActivWinId.getLength()==0) { Window* pParent=pWin->GetParent(); while(pParent!=NULL) { - nActivWinId=pParent->GetUniqueId(); + aActivWinId=pParent->GetUniqueId(); - if(nActivWinId!=0) break; + if(aActivWinId.getLength()!=0) break; pParent=pParent->GetParent(); } } - if(nActivWinId!=0) + if(aActivWinId.getLength()) { FormEditData* pData = m_pHelper->getFormEditData(); if (pData && !aTimer.IsActive()) // it won't be destroyed over Close; { - pData->SetUniqueId(nActivWinId); + pData->SetUniqueId(aActivWinId); } } } @@ -824,8 +823,8 @@ void FormulaDlg_Impl::FillListboxes() aNewTitle = aTitle1; // HelpId for 1. page is the one from the resource - m_pParent->SetHelpId( nOldHelp ); - m_pParent->SetUniqueId( nOldUnique ); + m_pParent->SetHelpId( aOldHelp ); + m_pParent->SetUniqueId( aOldUnique ); } // ----------------------------------------------------------------------------- void FormulaDlg_Impl::FillControls(BOOL &rbNext, BOOL &rbPrev) @@ -861,9 +860,9 @@ void FormulaDlg_Impl::FillControls(BOOL &rbNext, BOOL &rbPrev) aFtEditName.SetText( pFuncDesc->getFunctionName() ); aFtEditName.Show(); pParaWin->Show(); - const long nHelpId = pFuncDesc->getHelpId(); - if ( nHelpId ) - pMEdit->SetSmartHelpId(SmartId(nHelpId)); + const rtl::OString aHelpId = pFuncDesc->getHelpId(); + if ( aHelpId.getLength() ) + pMEdit->SetHelpId(aHelpId); } xub_StrLen nOldStart, nOldEnd; @@ -919,7 +918,7 @@ void FormulaDlg_Impl::FillControls(BOOL &rbNext, BOOL &rbPrev) else { aFtEditName.SetText(String()); - pMEdit->SetSmartHelpId(m_aSmartEditHelpId); + pMEdit->SetHelpId( m_aEditHelpId ); } // Test, ob vorne/hinten noch mehr Funktionen sind @@ -1754,20 +1753,20 @@ BOOL FormulaDlg_Impl::UpdateParaWin(Selection& _rSelection) } return pTheRefEdit == NULL; } -ULONG FormulaDlg_Impl::FindFocusWin(Window *pWin) +rtl::OString FormulaDlg_Impl::FindFocusWin(Window *pWin) { - ULONG nUniqueId=0; + rtl::OString aUniqueId; if(pWin->HasFocus()) { - nUniqueId=pWin->GetUniqueId(); - if(nUniqueId==0) + aUniqueId=pWin->GetUniqueId(); + if(aUniqueId.getLength()==0) { Window* pParent=pWin->GetParent(); while(pParent!=NULL) { - nUniqueId=pParent->GetUniqueId(); + aUniqueId=pParent->GetUniqueId(); - if(nUniqueId!=0) break; + if(aUniqueId.getLength()!=0) break; pParent=pParent->GetParent(); } @@ -1780,11 +1779,11 @@ ULONG FormulaDlg_Impl::FindFocusWin(Window *pWin) for(USHORT i=0;i<nCount;i++) { Window* pChild=pWin->GetChild(i); - nUniqueId=FindFocusWin(pChild); - if(nUniqueId>0) break; + aUniqueId=FindFocusWin(pChild); + if(aUniqueId.getLength()>0) break; } } - return nUniqueId; + return aUniqueId; } void FormulaDlg_Impl::SetEdSelection() @@ -1889,12 +1888,12 @@ void FormulaModalDialog::RefInputDoneAfter( BOOL bForced ) m_pImpl->RefInputDoneAfter( bForced ); } -ULONG FormulaModalDialog::FindFocusWin(Window *pWin) +rtl::OString FormulaModalDialog::FindFocusWin(Window *pWin) { return m_pImpl->FindFocusWin( pWin ); } -void FormulaModalDialog::SetFocusWin(Window *pWin,ULONG nUniqueId) +void FormulaModalDialog::SetFocusWin(Window *pWin,const rtl::OString& nUniqueId) { if(pWin->GetUniqueId()==nUniqueId) { @@ -1971,8 +1970,8 @@ FormulaDlg::FormulaDlg( SfxBindings* pB, SfxChildWindow* pCW, ,_pHelper,_pFunctionMgr,_pDlg)) { FreeResource(); - if(GetHelpId()==0) //Hack which hides the HelpId for a model Dialog in SfxModelessDialog - SetHelpId(GetUniqueId()); //and will be changed in a UniqueId, + if(!GetHelpId().getLength()) //Hack which hides the HelpId for a model Dialog in SfxModelessDialog + SetHelpId(GetUniqueId()); //and will be changed into a UniqueId //at this point we reverse it. SetText(m_pImpl->aTitle1); } @@ -2043,12 +2042,12 @@ void FormulaDlg::RefInputDoneAfter( BOOL bForced ) m_pImpl->RefInputDoneAfter( bForced ); } -ULONG FormulaDlg::FindFocusWin(Window *pWin) +rtl::OString FormulaDlg::FindFocusWin(Window *pWin) { return m_pImpl->FindFocusWin( pWin ); } -void FormulaDlg::SetFocusWin(Window *pWin,ULONG nUniqueId) +void FormulaDlg::SetFocusWin(Window *pWin,const rtl::OString& nUniqueId) { if(pWin->GetUniqueId()==nUniqueId) { @@ -2119,7 +2118,7 @@ IMPL_LINK( FormulaDlg, UpdateFocusHdl, Timer*, EMPTYARG ) if (pData) // won't be destroyed over Close; { m_pImpl->m_pHelper->setReferenceInput(pData); - ULONG nUniqueId=pData->GetUniqueId(); + rtl::OString nUniqueId(pData->GetUniqueId()); SetFocusWin(this,nUniqueId); } return 0; @@ -2145,7 +2144,7 @@ void FormEditData::Reset() nOffset = 0; nEdFocus = 0; bMatrix =FALSE; - nUniqueId=0; + aUniqueId=rtl::OString(); aSelection.Min()=0; aSelection.Max()=0; aUndoStr.Erase(); @@ -2174,7 +2173,7 @@ const FormEditData& FormEditData::operator=( const FormEditData& r ) nEdFocus = r.nEdFocus; aUndoStr = r.aUndoStr; bMatrix = r.bMatrix ; - nUniqueId = r.nUniqueId; + aUniqueId = r.aUniqueId; aSelection = r.aSelection; return *this; } diff --git a/formula/source/ui/dlg/funcpage.cxx b/formula/source/ui/dlg/funcpage.cxx index 98534e1663..cd5c40b22b 100644 --- a/formula/source/ui/dlg/funcpage.cxx +++ b/formula/source/ui/dlg/funcpage.cxx @@ -103,8 +103,8 @@ FuncPage::FuncPage(Window* pParent,const IFunctionManager* _pFunctionManager): m_pFunctionManager(_pFunctionManager) { FreeResource(); - m_aSmartHelpId = aLbFunction.GetSmartHelpId(); - aLbFunction.SetSmartUniqueId(m_aSmartHelpId); + m_aHelpId = aLbFunction.GetHelpId(); + aLbFunction.SetUniqueId(m_aHelpId); InitLRUList(); @@ -191,15 +191,15 @@ IMPL_LINK( FuncPage, SelHdl, ListBox*, pLb ) const IFunctionDescription* pDesc = GetFuncDesc( GetFunction() ); if ( pDesc ) { - const long nHelpId = pDesc->getHelpId(); - if ( nHelpId ) - aLbFunction.SetSmartHelpId(SmartId(nHelpId)); + const rtl::OString sHelpId = pDesc->getHelpId(); + if ( sHelpId.getLength() ) + aLbFunction.SetHelpId(sHelpId); } aSelectionLink.Call(this); } else { - aLbFunction.SetSmartHelpId(m_aSmartHelpId); + aLbFunction.SetHelpId(m_aHelpId); UpdateFunctionList(); } return 0; diff --git a/formula/source/ui/dlg/funcpage.hxx b/formula/source/ui/dlg/funcpage.hxx index 29b0de6299..a80abe9a1a 100644 --- a/formula/source/ui/dlg/funcpage.hxx +++ b/formula/source/ui/dlg/funcpage.hxx @@ -83,7 +83,7 @@ private: m_pFunctionManager; ::std::vector< TFunctionDesc > aLRUList; - SmartId m_aSmartHelpId; + rtl::OString m_aHelpId; void impl_addFunctions(const IFunctionCategory* _pCategory); diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx index 79b7ea0277..0a16ac6143 100644 --- a/formula/source/ui/dlg/funcutl.cxx +++ b/formula/source/ui/dlg/funcutl.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -759,8 +759,8 @@ EditBox::EditBox( Window* pParent, const ResId& rResId ) // #105582# the HelpId from the resource must be set for the MultiLineEdit, // not for the control that contains it. - pMEdit->SetSmartHelpId( GetSmartHelpId() ); - SetSmartHelpId( SmartId() ); + pMEdit->SetHelpId( GetHelpId() ); + SetHelpId( "" ); } EditBox::~EditBox() diff --git a/formula/source/ui/dlg/makefile.mk b/formula/source/ui/dlg/makefile.mk index 688e169d26..f1e7a18d7a 100644 --- a/formula/source/ui/dlg/makefile.mk +++ b/formula/source/ui/dlg/makefile.mk @@ -43,21 +43,21 @@ BMP_IN=$(PRJ)$/res SRS1NAME=$(TARGET) SRC1FILES = \ - formdlgs.src \ - parawin.src + formdlgs.src \ + parawin.src # ... object files ............................ EXCEPTIONSFILES= \ - $(SLO)$/formula.obj \ - $(SLO)$/FormulaHelper.obj \ - $(SLO)$/parawin.obj \ - $(SLO)$/funcutl.obj \ - $(SLO)$/funcpage.obj \ - $(SLO)$/structpg.obj - + $(SLO)$/formula.obj \ + $(SLO)$/FormulaHelper.obj \ + $(SLO)$/parawin.obj \ + $(SLO)$/funcutl.obj \ + $(SLO)$/funcpage.obj \ + $(SLO)$/structpg.obj + SLOFILES= \ - $(EXCEPTIONSFILES) + $(EXCEPTIONSFILES) # --- Targets ---------------------------------- diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx index 597959d95a..84c4af811e 100644 --- a/formula/source/ui/dlg/parawin.cxx +++ b/formula/source/ui/dlg/parawin.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -289,15 +289,15 @@ void ParaWin::SetFunctionDesc(const IFunctionDescription* pFDesc) { SetEditDesc(aDefaultString); } - long nHelpId = pFuncDesc->getHelpId(); nArgs = pFuncDesc->getSuppressedArgumentCount(); pFuncDesc->fillVisibleArgumentMapping(aVisibleArgMapping); aSlider.Hide(); - SetHelpId( nHelpId ); - aEdArg1.SetHelpId( nHelpId ); - aEdArg2.SetHelpId( nHelpId ); - aEdArg3.SetHelpId( nHelpId ); - aEdArg4.SetHelpId( nHelpId ); + rtl::OString sHelpId = pFuncDesc->getHelpId(); + SetHelpId( sHelpId ); + aEdArg1.SetHelpId( sHelpId ); + aEdArg2.SetHelpId( sHelpId ); + aEdArg3.SetHelpId( sHelpId ); + aEdArg4.SetHelpId( sHelpId ); // Unique-IDs muessen gleich bleiben fuer Automatisierung SetUniqueId( HID_FORMULA_FAP_PAGE ); diff --git a/formula/source/ui/dlg/parawin.hrc b/formula/source/ui/dlg/parawin.hrc index 2f8ec808a6..04c7e61000 100644 --- a/formula/source/ui/dlg/parawin.hrc +++ b/formula/source/ui/dlg/parawin.hrc @@ -1,7 +1,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite diff --git a/formula/source/ui/dlg/parawin.src b/formula/source/ui/dlg/parawin.src index 7fff42bc9c..08d92551b6 100644 --- a/formula/source/ui/dlg/parawin.src +++ b/formula/source/ui/dlg/parawin.src @@ -1,7 +1,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -68,6 +68,7 @@ TabPage RID_FORMULATAB_PARAMETER { + HelpID = "formula:TabPage:RID_FORMULATAB_PARAMETER"; Border = FALSE; Size = MAP_APPFONT( 203, 128 ); DialogControl = TRUE; @@ -119,10 +120,18 @@ TabPage RID_FORMULATAB_PARAMETER HelpId=HID_FORMULA_FAP_BTN_FX4; FXBUTTONBLOCK ( 109 ) }; - Edit ED_ARG1 { ED_ARGBLOCK ( 64 ) }; - Edit ED_ARG2 { ED_ARGBLOCK ( 79 ) }; - Edit ED_ARG3 { ED_ARGBLOCK ( 94 ) }; - Edit ED_ARG4 { ED_ARGBLOCK ( 109 ) }; + Edit ED_ARG1 { ED_ARGBLOCK ( 64 ) + HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG1"; + }; + Edit ED_ARG2 { ED_ARGBLOCK ( 79 ) + HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG2"; + }; + Edit ED_ARG3 { ED_ARGBLOCK ( 94 ) + HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG3"; + }; + Edit ED_ARG4 { ED_ARGBLOCK ( 109 ) + HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG4"; + }; ImageButton RB_ARG1 { diff --git a/formula/source/ui/dlg/structpg.cxx b/formula/source/ui/dlg/structpg.cxx index 7ef6743ba1..07271cd6cb 100644 --- a/formula/source/ui/dlg/structpg.cxx +++ b/formula/source/ui/dlg/structpg.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -107,7 +107,7 @@ StructPage::StructPage(Window* pParent): maImgError ( ModuleRes( BMP_STR_ERROR ) ), pSelectedToken ( NULL ) { - aTlbStruct.SetWindowBits(WB_HASLINES|WB_CLIPCHILDREN| + aTlbStruct.SetStyle(aTlbStruct.GetStyle()|WB_HASLINES|WB_CLIPCHILDREN| WB_HASBUTTONS|WB_HSCROLL|WB_NOINITIALSELECTION); aTlbStruct.SetNodeDefaultImages(); diff --git a/formula/source/ui/inc/ForResId.hrc b/formula/source/ui/inc/ForResId.hrc index afa944f25d..f3f59888ce 100644 --- a/formula/source/ui/inc/ForResId.hrc +++ b/formula/source/ui/inc/ForResId.hrc @@ -1,7 +1,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite diff --git a/formula/util/for.component b/formula/util/for.component new file mode 100644 index 0000000000..99a1adfbf9 --- /dev/null +++ b/formula/util/for.component @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--********************************************************************** +* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2000, 2010 Oracle and/or its affiliates. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +* +**********************************************************************--> + +<component loader="com.sun.star.loader.SharedLibrary" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="simple.formula.FormulaOpCodeMapperObj"> + <service name="com.sun.star.sheet.FormulaOpCodeMapper"/> + </implementation> +</component> diff --git a/formula/util/hidother.src b/formula/util/hidother.src index 8f56afa1cd..a6d3111b5b 100644 --- a/formula/util/hidother.src +++ b/formula/util/hidother.src @@ -27,10 +27,6 @@ #include "../inc/helpids.hrc" -#ifndef _SBASLTID_HRC -#include <svx/svxids.hrc> -#endif - hidspecial HID_FORMULADLG_FORMULA { HelpId = HID_FORMULADLG_FORMULA; }; hidspecial HID_FORMULA_FAP_FORMULA { HelpId = HID_FORMULA_FAP_FORMULA; }; hidspecial HID_FORMULA_FAP_STRUCT { HelpId = HID_FORMULA_FAP_STRUCT; }; diff --git a/formula/util/makefile.mk b/formula/util/makefile.mk index 7ae30b007d..9f4682ac44 100644 --- a/formula/util/makefile.mk +++ b/formula/util/makefile.mk @@ -42,8 +42,8 @@ GEN_HID_OTHER=TRUE LIB1TARGET=$(SLB)$/$(TARGET).lib LIB1FILES=\ - $(SLB)$/core_resource.lib \ - $(SLB)$/core_api.lib + $(SLB)$/core_resource.lib \ + $(SLB)$/core_api.lib SHL1TARGET=$(TARGET)$(DLLPOSTFIX) @@ -69,7 +69,7 @@ DEFLIB1NAME=$(TARGET) # --- .res file ---------------------------------------------------------- RES1FILELIST=\ - $(SRS)$/core_strings.srs + $(SRS)$/core_strings.srs RESLIB1NAME=$(TARGET) RESLIB1IMAGES=$(PRJ)$/res @@ -79,34 +79,34 @@ RESLIB1SRSFILES=$(RES1FILELIST) # --- formula UI core (forui) ----------------------------------- LIB2TARGET=$(SLB)$/$(TARGET2).lib LIB2FILES=\ - $(SLB)$/uidlg.lib \ - $(SLB)$/ui_resource.lib + $(SLB)$/uidlg.lib \ + $(SLB)$/ui_resource.lib SHL2TARGET=$(TARGET2)$(DLLPOSTFIX) SHL2STDLIBS= \ - $(SFXLIB) \ - $(SVTOOLLIB) \ - $(SVLLIB) \ - $(VCLLIB) \ - $(UNOTOOLSLIB) \ - $(TOOLSLIB) \ - $(CPPULIB) \ - $(SO2LIB) \ - $(CPPUHELPERLIB) \ - $(SALLIB) - + $(SFXLIB) \ + $(SVTOOLLIB) \ + $(SVLLIB) \ + $(VCLLIB) \ + $(UNOTOOLSLIB) \ + $(TOOLSLIB) \ + $(CPPULIB) \ + $(SO2LIB) \ + $(CPPUHELPERLIB) \ + $(SALLIB) + .IF "$(GUI)"=="OS2" SHL2STDLIBS+= \ - $(LB)$/ifor.lib + $(LB)$/ifor.lib SHL2DEPN=$(LB)$/i$(TARGET).lib .ELIF "$(GUI)"!="WNT" || "$(COM)"=="GCC" SHL2STDLIBS+= \ - -lfor$(DLLPOSTFIX) + -lfor$(DLLPOSTFIX) SHL2DEPN=$(SHL1TARGETN) .ELSE SHL2STDLIBS+= \ - $(LB)$/ifor.lib + $(LB)$/ifor.lib SHL2DEPN=$(LB)$/i$(TARGET).lib .ENDIF @@ -124,7 +124,7 @@ SHL2USE_EXPORTS=name # --- .res file ---------------------------------------------------------- RES2FILELIST=\ - $(SRS)$/uidlg.srs + $(SRS)$/uidlg.srs RESLIB2NAME=$(TARGET2) @@ -136,3 +136,11 @@ RESLIB2SRSFILES=$(RES2FILELIST) .INCLUDE : target.mk + +ALLTAR : $(MISC)/for.component + +$(MISC)/for.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ + for.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ + $(SOLARENV)/bin/createcomponent.xslt for.component |