| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef FORMULA_PARAWIN_HXX |
| #define FORMULA_PARAWIN_HXX |
| |
| #include <svtools/stdctrl.hxx> |
| #include <svtools/svmedit.hxx> |
| #include <vcl/lstbox.hxx> |
| #include <vcl/group.hxx> |
| #include <vcl/tabpage.hxx> |
| #include <vcl/tabctrl.hxx> |
| #include <vcl/scrbar.hxx> |
| |
| #include <vector> |
| #include "formula/funcutl.hxx" |
| #include "ControlHelper.hxx" |
| #include "ModuleHelper.hxx" |
| |
| namespace formula |
| { |
| //============================================================================ |
| #define NOT_FOUND 0xffff |
| //============================================================================ |
| class IFunctionDescription; |
| class IControlReferenceHandler; |
| |
| class ParaWin : public TabPage |
| { |
| private: |
| OModuleClient m_aModuleClient; |
| Link aScrollLink; |
| Link aFxLink; |
| Link aArgModifiedLink; |
| |
| ::std::vector<sal_uInt16> aVisibleArgMapping; |
| const IFunctionDescription* pFuncDesc; |
| IControlReferenceHandler* pMyParent; |
| sal_uInt16 nArgs; // unsuppressed arguments |
| Font aFntBold; |
| Font aFntLight; |
| |
| FixedInfo aFtEditDesc; |
| FixedText aFtArgName; |
| FixedInfo aFtArgDesc; |
| |
| ImageButton aBtnFx1; |
| FixedText aFtArg1; |
| ArgEdit aEdArg1; |
| RefButton aRefBtn1; |
| |
| ImageButton aBtnFx2; |
| FixedText aFtArg2; |
| ArgEdit aEdArg2; |
| RefButton aRefBtn2; |
| |
| ImageButton aBtnFx3; |
| FixedText aFtArg3; |
| ArgEdit aEdArg3; |
| RefButton aRefBtn3; |
| |
| ImageButton aBtnFx4; |
| FixedText aFtArg4; |
| ArgEdit aEdArg4; |
| RefButton aRefBtn4; |
| |
| ScrollBar aSlider; |
| String m_sOptional; |
| String m_sRequired; |
| sal_Bool bRefMode; |
| |
| sal_uInt16 nEdFocus; |
| sal_uInt16 nActiveLine; |
| |
| ArgInput aArgInput[4]; |
| String aDefaultString; |
| ::std::vector<String> |
| aParaArray; |
| |
| DECL_LINK( ScrollHdl, ScrollBar* ); |
| DECL_LINK( ModifyHdl, ArgInput* ); |
| DECL_LINK( GetEdFocusHdl, ArgInput* ); |
| DECL_LINK( GetFxFocusHdl, ArgInput* ); |
| DECL_LINK( GetFxHdl, ArgInput* ); |
| |
| protected: |
| |
| virtual void SliderMoved(); |
| virtual void ArgumentModified(); |
| virtual void FxClick(); |
| |
| void InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, ImageButton& rBtnFx, |
| ArgEdit& rEdArg, RefButton& rRefBtn); |
| |
| void DelParaArray(); |
| void SetArgumentDesc(const String& aText); |
| void SetArgumentText(const String& aText); |
| |
| |
| void SetArgName (sal_uInt16 no,const String &aArg); |
| void SetArgNameFont (sal_uInt16 no,const Font&); |
| void SetArgVal (sal_uInt16 no,const String &aArg); |
| |
| void HideParaLine(sal_uInt16 no); |
| void ShowParaLine(sal_uInt16 no); |
| void UpdateArgDesc( sal_uInt16 nArg ); |
| void UpdateArgInput( sal_uInt16 nOffset, sal_uInt16 i ); |
| |
| public: |
| ParaWin(Window* pParent,IControlReferenceHandler* _pDlg,Point aPos); |
| ~ParaWin(); |
| |
| void SetFunctionDesc(const IFunctionDescription* pFDesc); |
| void SetArgumentOffset(sal_uInt16 nOffset); |
| void SetEditDesc(const String& aText); |
| void UpdateParas(); |
| void ClearAll(); |
| |
| sal_Bool IsRefMode() {return bRefMode;} |
| void SetRefMode(sal_Bool bFlag) {bRefMode=bFlag;} |
| |
| sal_uInt16 GetActiveLine(); |
| void SetActiveLine(sal_uInt16 no); |
| RefEdit* GetActiveEdit(); |
| String GetActiveArgName(); |
| |
| String GetArgument(sal_uInt16 no); |
| void SetArgument(sal_uInt16 no, const String& aString); |
| void SetArgumentFonts(const Font&aBoldFont,const Font&aLightFont); |
| |
| void SetEdFocus(sal_uInt16 nEditLine); //Sichtbare Editzeilen |
| sal_uInt16 GetSliderPos(); |
| void SetSliderPos(sal_uInt16 nSliderPos); |
| |
| void SetScrollHdl( const Link& rLink ) { aScrollLink = rLink; } |
| const Link& GetScrollHdl() const { return aScrollLink; } |
| |
| void SetArgModifiedHdl( const Link& rLink ) { aArgModifiedLink = rLink; } |
| const Link& GetArgModifiedHdl() const { return aArgModifiedLink; } |
| |
| void SetFxHdl( const Link& rLink ) { aFxLink = rLink; } |
| const Link& GetFxHdl() const { return aFxLink; } |
| }; |
| |
| |
| |
| } // formula |
| |
| #endif // FORMULA_PARAWIN_HXX |
| |