| /************************************************************** |
| * |
| * 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 _SWUI_CNTTAB_HXX |
| #define _SWUI_CNTTAB_HXX |
| |
| #include <svx/stddlg.hxx> |
| |
| #ifndef _BUTTON_HXX //autogen |
| #include <vcl/button.hxx> |
| #endif |
| |
| #ifndef _EDIT_HXX //autogen |
| #include <vcl/edit.hxx> |
| #endif |
| |
| #ifndef _FIXED_HXX //autogen |
| #include <vcl/fixed.hxx> |
| #endif |
| |
| #ifndef _FIELD_HXX //autogen |
| #include <vcl/field.hxx> |
| #endif |
| #include <vcl/lstbox.hxx> |
| #include <sfx2/tabdlg.hxx> |
| |
| #include "tox.hxx" |
| #include <tools/list.hxx> |
| #include <toxmgr.hxx> |
| #include <svx/checklbx.hxx> |
| #include <tools/resary.hxx> |
| #include <svtools/svtreebx.hxx> |
| #include <vcl/menubtn.hxx> |
| #include <svx/langbox.hxx> |
| #include <cnttab.hxx> |
| class SwWrtShell; |
| class SwTOXMgr; |
| namespace com{namespace sun{namespace star{ |
| namespace text{ |
| class XTextSection; |
| class XDocumentIndex; |
| } |
| }}} |
| |
| //----------------------------------------------------------------------------- |
| struct SwIndexSections_Impl |
| { |
| com::sun::star::uno::Reference< com::sun::star::text::XTextSection > xContainerSection; |
| com::sun::star::uno::Reference< com::sun::star::text::XDocumentIndex > xDocumentIndex; |
| }; |
| |
| //----------------------------------------------------------------------------- |
| class SwOneExampleFrame; |
| struct SwIndexSections_Impl; |
| |
| class SwMultiTOXTabDialog : public SfxTabDialog |
| { |
| Window aExampleContainerWIN; |
| Window aExampleWIN; |
| CheckBox aShowExampleCB; |
| SwTOXMgr* pMgr; |
| SwWrtShell& rSh; |
| |
| SwOneExampleFrame* pExampleFrame; |
| |
| SwTOXDescription** pDescArr; // |
| SwForm** pFormArr; // |
| SwIndexSections_Impl** pxIndexSectionsArr; |
| |
| SwTOXBase* pParamTOXBase; |
| |
| CurTOXType eCurrentTOXType; |
| |
| String sUserDefinedIndex; |
| sal_uInt16 nTypeCount; |
| sal_uInt16 nInitialTOXType; |
| |
| sal_Bool bEditTOX; |
| sal_Bool bExampleCreated; |
| sal_Bool bGlobalFlag; |
| |
| virtual short Ok(); |
| SwTOXDescription* CreateTOXDescFromTOXBase(const SwTOXBase*pCurTOX); |
| |
| DECL_LINK(CreateExample_Hdl, void* ); |
| DECL_LINK(ShowPreviewHdl, CheckBox*); |
| |
| public: |
| SwMultiTOXTabDialog(Window* pParent, const SfxItemSet& rSet, |
| SwWrtShell &rShell, |
| SwTOXBase* pCurTOX, sal_uInt16 nToxType = USHRT_MAX, |
| sal_Bool bGlobal = sal_False); |
| ~SwMultiTOXTabDialog(); |
| |
| virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ); |
| |
| SwForm* GetForm(CurTOXType eType); |
| |
| CurTOXType GetCurrentTOXType() const { return eCurrentTOXType;} |
| void SetCurrentTOXType(CurTOXType eSet) |
| { |
| eCurrentTOXType = eSet; |
| } |
| |
| void UpdateExample(); |
| sal_Bool IsTOXEditMode() const { return bEditTOX;} |
| |
| SwWrtShell& GetWrtShell() {return rSh;} |
| |
| SwTOXDescription& GetTOXDescription(CurTOXType eTOXTypes); |
| void CreateOrUpdateExample( |
| TOXTypes nTOXIndex, sal_uInt16 nPage = 0, sal_uInt16 nCurLevel = USHRT_MAX); |
| |
| static sal_Bool IsNoNum(SwWrtShell& rSh, const String& rName); |
| }; |
| /* -----------------14.07.99 12:17------------------- |
| |
| --------------------------------------------------*/ |
| class IndexEntryRessource; |
| class IndexEntrySupplierWrapper; |
| |
| class SwTOXSelectTabPage : public SfxTabPage |
| { |
| FixedLine aTypeTitleFL; |
| FixedText aTitleFT; |
| Edit aTitleED; |
| FixedText aTypeFT; |
| ListBox aTypeLB; |
| CheckBox aReadOnlyCB; |
| |
| FixedLine aAreaFL; |
| FixedText aAreaFT; |
| ListBox aAreaLB; |
| FixedText aLevelFT; //content, user |
| NumericField aLevelNF; //content, user |
| |
| //content |
| FixedLine aCreateFromFL; // content, user, illustration |
| CheckBox aFromHeadingsCB; |
| // PushButton aChapterDlgPB; //#outline level,removed by zhaojianwei |
| CheckBox aAddStylesCB; |
| PushButton aAddStylesPB; |
| Point aAddStylesPosDef; |
| Point aAddStylesPosUser; |
| //user |
| CheckBox aFromTablesCB; |
| CheckBox aFromFramesCB; |
| CheckBox aFromGraphicsCB; |
| CheckBox aFromOLECB; |
| CheckBox aLevelFromChapterCB; |
| |
| //illustration + table |
| RadioButton aFromCaptionsRB; |
| RadioButton aFromObjectNamesRB; |
| |
| //illustration and tables |
| FixedText aCaptionSequenceFT; |
| ListBox aCaptionSequenceLB; |
| FixedText aDisplayTypeFT; |
| ListBox aDisplayTypeLB; |
| |
| //all but illustration and table |
| CheckBox aTOXMarksCB; |
| |
| // |
| |
| //index only |
| FixedLine aIdxOptionsFL; |
| CheckBox aCollectSameCB; |
| CheckBox aUseFFCB; |
| CheckBox aUseDashCB; |
| CheckBox aCaseSensitiveCB; |
| CheckBox aInitialCapsCB; |
| CheckBox aKeyAsEntryCB; |
| CheckBox aFromFileCB; |
| MenuButton aAutoMarkPB; |
| |
| // object only |
| SwOLENames aFromNames; |
| SvxCheckListBox aFromObjCLB; |
| FixedLine aFromObjFL; |
| |
| CheckBox aSequenceCB; |
| FixedText aBracketFT; |
| ListBox aBracketLB; |
| FixedLine aAuthorityFormatFL; |
| |
| //all |
| FixedLine aSortOptionsFL; |
| FixedText aLanguageFT; |
| SvxLanguageBox aLanguageLB; |
| FixedText aSortAlgorithmFT; |
| ListBox aSortAlgorithmLB; |
| |
| IndexEntryRessource* pIndexRes; |
| |
| Point aCBLeftPos1; |
| Point aCBLeftPos2; |
| Point aCBLeftPos3; |
| |
| String aStyleArr[MAXLEVEL]; |
| String sAutoMarkURL; |
| String sAutoMarkType; |
| String sAddStyleUser; |
| String sAddStyleContent; |
| |
| const IndexEntrySupplierWrapper* pIndexEntryWrapper; |
| |
| sal_Bool bFirstCall; |
| |
| DECL_LINK(TOXTypeHdl, ListBox* ); |
| DECL_LINK(TOXAreaHdl, ListBox* ); |
| // DECL_LINK(ChapterHdl, PushButton* ); //#outline level,removed by zhaojianwei |
| DECL_LINK(AddStylesHdl, PushButton* ); |
| DECL_LINK(MenuEnableHdl, Menu*); |
| DECL_LINK(MenuExecuteHdl, Menu*); |
| DECL_LINK(LanguageHdl, ListBox*); |
| |
| DECL_LINK(CheckBoxHdl, CheckBox* ); |
| DECL_LINK(RadioButtonHdl, RadioButton* ); |
| DECL_LINK(ModifyHdl, void*); |
| |
| void ApplyTOXDescription(); |
| void FillTOXDescription(); |
| |
| using SfxTabPage::ActivatePage; |
| using SfxTabPage::DeactivatePage; |
| |
| public: |
| SwTOXSelectTabPage(Window* pParent, const SfxItemSet& rAttrSet); |
| ~SwTOXSelectTabPage(); |
| |
| virtual sal_Bool FillItemSet( SfxItemSet& ); |
| virtual void Reset( const SfxItemSet& ); |
| |
| virtual void ActivatePage( const SfxItemSet& ); |
| virtual int DeactivatePage( SfxItemSet* pSet = 0 ); |
| |
| static SfxTabPage* Create( Window* pParent, |
| const SfxItemSet& rAttrSet); |
| |
| void SelectType(TOXTypes eSet); //preset TOXType, GlobalDoc |
| void SetWrtShell(SwWrtShell& rSh); |
| }; |
| /* -----------------16.06.99 08:33------------------- |
| |
| --------------------------------------------------*/ |
| |
| DECLARE_LIST(TOXControlList, Control*) |
| |
| class SwTOXEdit; |
| class SwTOXButton; |
| class SwTOXEntryTabPage; |
| |
| class SwTokenWindow : public Window |
| { |
| ImageButton aLeftScrollWin; |
| Window aCtrlParentWin; |
| ImageButton aRightScrollWin; |
| TOXControlList aControlList; |
| SwForm* pForm; |
| sal_uInt16 nLevel; |
| sal_Bool bValid; |
| String aButtonTexts[TOKEN_END]; // Text of the buttons |
| String aButtonHelpTexts[TOKEN_END]; // QuickHelpText of the buttons |
| String sCharStyle; |
| Link aButtonSelectedHdl; |
| Control* pActiveCtrl; |
| Link aModifyHdl; |
| String accessibleName; |
| String sAdditionalAccnameString1; |
| String sAdditionalAccnameString2; |
| String sAdditionalAccnameString3; |
| |
| SwTOXEntryTabPage* m_pParent; |
| |
| DECL_LINK(EditResize, Edit*); |
| DECL_LINK(NextItemHdl, SwTOXEdit* ); |
| DECL_LINK(TbxFocusHdl, SwTOXEdit* ); |
| DECL_LINK(NextItemBtnHdl, SwTOXButton* ); |
| DECL_LINK(TbxFocusBtnHdl, SwTOXButton* ); |
| DECL_LINK(ScrollHdl, ImageButton* ); |
| |
| void SetActiveControl(Control* pSet); |
| |
| Control* InsertItem(const String& rText, const SwFormToken& aToken); |
| void AdjustPositions(); |
| void AdjustScrolling(); |
| void MoveControls(long nOffset); |
| |
| public: |
| SwTokenWindow(SwTOXEntryTabPage* pParent, const ResId& rResId); |
| ~SwTokenWindow(); |
| |
| void SetForm(SwForm& rForm, sal_uInt16 nLevel); |
| sal_uInt16 GetLastLevel()const {return nLevel;}; |
| |
| sal_Bool IsValid() const {return bValid;} |
| |
| void SetInvalid() {bValid = sal_False;} |
| |
| String GetPattern() const; |
| |
| void SetButtonSelectedHdl(const Link& rLink) |
| { aButtonSelectedHdl = rLink;} |
| |
| void SetModifyHdl(const Link& rLink){aModifyHdl = rLink;} |
| |
| Control* GetActiveControl() |
| { return pActiveCtrl;} |
| |
| void InsertAtSelection(const String& rText, const SwFormToken& aToken); |
| void RemoveControl(SwTOXButton* pDel, sal_Bool bInternalCall = sal_False); |
| |
| sal_Bool Contains(FormTokenType) const; |
| |
| sal_Bool DetermineLinkStart(); |
| |
| //helper for pattern buttons and edits |
| sal_Bool CreateQuickHelp(Control* pCtrl, |
| const SwFormToken& rToken, const HelpEvent& ); |
| |
| virtual void Resize(); |
| virtual void GetFocus(); |
| void SetFocus2theAllBtn(); |
| private: |
| sal_uInt32 GetControlIndex(FormTokenType eType, const Control* pCurControl) const; |
| }; |
| /* -----------------------------23.12.99 14:16-------------------------------- |
| |
| ---------------------------------------------------------------------------*/ |
| class SwTOXEntryTabPage; |
| class SwIdxTreeListBox : public SvTreeListBox |
| { |
| SwTOXEntryTabPage* pParent; |
| |
| virtual void RequestHelp( const HelpEvent& rHEvt ); |
| public: |
| SwIdxTreeListBox(SwTOXEntryTabPage* pPar, const ResId& rResId); |
| }; |
| |
| /* -----------------16.06.99 12:49------------------- |
| |
| --------------------------------------------------*/ |
| class SwTOXEntryTabPage : public SfxTabPage |
| { |
| FixedText aLevelFT; |
| SwIdxTreeListBox aLevelLB; |
| |
| FixedLine aEntryFL; |
| FixedText aTokenFT; |
| SwTokenWindow aTokenWIN; |
| PushButton aAllLevelsPB; |
| |
| PushButton aEntryNoPB; |
| PushButton aEntryPB; |
| PushButton aTabPB; |
| PushButton aChapterInfoPB; |
| PushButton aPageNoPB; |
| PushButton aHyperLinkPB; |
| |
| ListBox aAuthFieldsLB; |
| PushButton aAuthInsertPB; |
| PushButton aAuthRemovePB; |
| |
| FixedText aCharStyleFT; |
| ListBox aCharStyleLB; // character style of the current token |
| PushButton aEditStylePB; |
| |
| FixedText aChapterEntryFT; |
| ListBox aChapterEntryLB; // type of chapter info |
| |
| FixedText aNumberFormatFT; |
| ListBox aNumberFormatLB; //!< format for numbering (E#) |
| |
| FixedText aEntryOutlineLevelFT; //!< Fixed text, for i53420 |
| NumericField aEntryOutlineLevelNF; //!< level to evaluate outline level to, for i53420 |
| FixedText aFillCharFT; |
| ComboBox aFillCharCB; // fill char for tab stop |
| FixedText aTabPosFT; |
| MetricField aTabPosMF; // tab stop position |
| CheckBox aAutoRightCB; |
| FixedLine aFormatFL; |
| |
| CheckBox aRelToStyleCB; // position relative to the right margin of the para style |
| FixedText aMainEntryStyleFT; |
| ListBox aMainEntryStyleLB; // character style of main entries in indexes |
| CheckBox aAlphaDelimCB; |
| CheckBox aCommaSeparatedCB; |
| |
| RadioButton aSortDocPosRB; |
| RadioButton aSortContentRB; |
| FixedLine aSortingFL; |
| |
| FixedText aFirstKeyFT; |
| ListBox aFirstKeyLB; |
| ImageRadioButton aFirstSortUpRB; |
| ImageRadioButton aFirstSortDownRB; |
| |
| FixedText aSecondKeyFT; |
| ListBox aSecondKeyLB; |
| ImageRadioButton aSecondSortUpRB; |
| ImageRadioButton aSecondSortDownRB; |
| |
| FixedText aThirdKeyFT; |
| ListBox aThirdKeyLB; |
| ImageRadioButton aThirdSortUpRB; |
| ImageRadioButton aThirdSortDownRB; |
| |
| FixedLine aSortKeyFL; |
| |
| String sDelimStr; |
| String sLevelStr; |
| String sAuthTypeStr; |
| |
| String sNoCharStyle; |
| String sNoCharSortKey; |
| Point aButtonPositions[5]; |
| SwForm* m_pCurrentForm; |
| |
| Point aRelToStylePos; |
| Point aRelToStyleIdxPos; |
| Size aLevelFLSize; |
| |
| CurTOXType aLastTOXType; |
| sal_Bool bInLevelHdl; |
| |
| Point aChapterEntryFTPosition; //!< holds position of ChapterEntryFT control, |
| //to be used in moving the element among different tokens |
| Point aEntryOutlineLevelFTPosition;//!< holds position ofrEntryOutlineLevelFT control |
| sal_Int32 nBiasToEntryPoint; |
| |
| DECL_LINK(StyleSelectHdl, ListBox*); |
| DECL_LINK(EditStyleHdl, PushButton*); |
| DECL_LINK(InsertTokenHdl, PushButton*); |
| DECL_LINK(LevelHdl, SvTreeListBox*); |
| DECL_LINK(AutoRightHdl, CheckBox*); |
| DECL_LINK(TokenSelectedHdl, SwFormToken*); |
| DECL_LINK(TabPosHdl, MetricField*); |
| DECL_LINK(FillCharHdl, ComboBox*); |
| DECL_LINK(RemoveInsertAuthHdl, PushButton*); |
| DECL_LINK(SortKeyHdl, RadioButton*); |
| DECL_LINK(ChapterInfoHdl, ListBox*); |
| DECL_LINK(ChapterInfoOutlineHdl, NumericField*); |
| DECL_LINK(NumberFormatHdl, ListBox*); |
| |
| DECL_LINK(AllLevelsHdl, PushButton*); |
| |
| void EnableButtons(); |
| void WriteBackLevel(); |
| void UpdateDescriptor(); |
| DECL_LINK(ModifyHdl, void*); |
| |
| using SfxTabPage::ActivatePage; |
| using SfxTabPage::DeactivatePage; |
| |
| public: |
| SwTOXEntryTabPage(Window* pParent, const SfxItemSet& rAttrSet); |
| ~SwTOXEntryTabPage(); |
| |
| virtual sal_Bool FillItemSet( SfxItemSet& ); |
| virtual void Reset( const SfxItemSet& ); |
| virtual void ActivatePage( const SfxItemSet& ); |
| virtual int DeactivatePage( SfxItemSet* pSet = 0 ); |
| |
| static SfxTabPage* Create( Window* pParent, |
| const SfxItemSet& rAttrSet); |
| void SetWrtShell(SwWrtShell& rSh); |
| |
| String GetLevelHelp(sal_uInt16 nLevel) const; |
| |
| void PreTokenButtonRemoved(const SwFormToken& rToken); |
| void SetFocus2theAllBtn(); |
| virtual long Notify( NotifyEvent& rNEvt ); |
| }; |
| /* -----------------05.07.99 13:00------------------- |
| |
| --------------------------------------------------*/ |
| class SwTOXStylesTabPage : public SfxTabPage |
| { |
| FixedLine aFormatFL; |
| FixedText aLevelFT2; |
| ListBox aLevelLB; |
| ImageButton aAssignBT; |
| FixedText aTemplateFT; |
| ListBox aParaLayLB; |
| PushButton aStdBT; |
| PushButton aEditStyleBT; |
| |
| SwForm* m_pCurrentForm; |
| // void UpdatePattern(); |
| |
| DECL_LINK( EditStyleHdl, Button *); |
| DECL_LINK( StdHdl, Button * ); |
| DECL_LINK( EnableSelectHdl, ListBox * ); |
| DECL_LINK( DoubleClickHdl, Button * ); |
| DECL_LINK( AssignHdl, Button * ); |
| DECL_LINK( ModifyHdl, void*); |
| |
| SwForm& GetForm() |
| { |
| SwMultiTOXTabDialog* pDlg = (SwMultiTOXTabDialog*)GetTabDialog(); |
| return *pDlg->GetForm(pDlg->GetCurrentTOXType()); |
| } |
| |
| using SfxTabPage::ActivatePage; |
| using SfxTabPage::DeactivatePage; |
| |
| public: |
| SwTOXStylesTabPage(Window* pParent, const SfxItemSet& rAttrSet); |
| ~SwTOXStylesTabPage(); |
| |
| virtual sal_Bool FillItemSet( SfxItemSet& ); |
| virtual void Reset( const SfxItemSet& ); |
| |
| virtual void ActivatePage( const SfxItemSet& ); |
| virtual int DeactivatePage( SfxItemSet* pSet = 0 ); |
| |
| static SfxTabPage* Create( Window* pParent, |
| const SfxItemSet& rAttrSet); |
| |
| }; |
| |
| #endif // _SWUI_CNTTAB_HXX |
| |