LibreOffice Module sw (master)  1
fldref.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 #ifndef INCLUDED_SW_SOURCE_UI_FLDUI_FLDREF_HXX
20 #define INCLUDED_SW_SOURCE_UI_FLDUI_FLDREF_HXX
21 
22 #include <sfx2/tabdlg.hxx>
23 
24 #include "fldpage.hxx"
26 #include <IDocumentListItems.hxx>
27 class SwTextNode;
28 
30 {
31  OUString sBookmarkText;
32  OUString sFootnoteText;
33  OUString sEndnoteText;
34  // #i83479#
35  OUString sHeadingText;
36  OUString sNumItemText;
37 
40 
41  // selected text node in the listbox for headings and numbered items
42  // in order to restore selection after update of selection listbox
44  // fallback, if previously selected text node doesn't exist anymore
46 
47  std::unique_ptr<weld::TreeView> m_xTypeLB;
48  std::unique_ptr<weld::Widget> m_xSelection;
49  std::unique_ptr<weld::TreeView> m_xSelectionLB;
50  // #i83479#
51  std::unique_ptr<weld::TreeView> m_xSelectionToolTipLB;
52  std::unique_ptr<weld::Widget> m_xFormat;
53  std::unique_ptr<weld::TreeView> m_xFormatLB;
54  std::unique_ptr<weld::Label> m_xNameFT;
55  std::unique_ptr<weld::Entry> m_xNameED;
56  std::unique_ptr<weld::Entry> m_xValueED;
57  std::unique_ptr<weld::Entry> m_xFilterED;
58 
59  DECL_LINK(TypeHdl, weld::TreeView&, void);
60  DECL_LINK(SubTypeListBoxHdl, weld::TreeView&, void);
61  DECL_LINK(SubTypeTreeListBoxHdl, weld::TreeView&, void);
62  DECL_LINK(ModifyHdl, weld::Entry&, void);
63  DECL_LINK(ModifyHdl_Impl, weld::Entry&, void);
64 
65  void SubTypeHdl();
66 
67  void UpdateSubType(const OUString& filterString);
68 
69  static bool MatchSubstring( const OUString& list_string, const OUString& substr );
70 
71  sal_Int32 FillFormatLB(sal_uInt16 nTypeId);
72 
73  // #i83479#
74  void SaveSelectedTextNode();
75 
76 protected:
77  virtual sal_uInt16 GetGroup() override;
78 
79 public:
81  virtual ~SwFieldRefPage() override;
82 
83  static VclPtr<SfxTabPage> Create(TabPageParent pParent, const SfxItemSet* rAttrSet);
84 
85  virtual bool FillItemSet( SfxItemSet* rSet ) override;
86  virtual void Reset( const SfxItemSet* rSet ) override;
87 
88  virtual void FillUserData() override;
89 };
90 
91 #endif
92 
93 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
IDocumentListItems::tSortedNodeNumList maNumItems
Definition: fldref.hxx:39
static VclPtr< SfxTabPage > Create(TabPageParent pParent, const SfxItemSet *rAttrSet)
Definition: fldref.cxx:1087
OUString sNumItemText
Definition: fldref.hxx:36
virtual sal_uInt16 GetGroup() override
Definition: fldref.cxx:1093
std::unique_ptr< weld::Entry > m_xValueED
Definition: fldref.hxx:56
const SfxItemSet * pSet
IDocumentOutlineNodes::tSortedOutlineNodeList maOutlineNodes
Definition: fldref.hxx:38
void SubTypeHdl()
Definition: fldref.cxx:423
void SaveSelectedTextNode()
Definition: fldref.cxx:122
std::unique_ptr< weld::Entry > m_xFilterED
Definition: fldref.hxx:57
virtual ~SwFieldRefPage() override
Definition: fldref.cxx:111
std::unique_ptr< weld::Widget > m_xSelection
Definition: fldref.hxx:48
std::unique_ptr< weld::Widget > m_xFormat
Definition: fldref.hxx:52
const SwTextNode * mpSavedSelectedTextNode
Definition: fldref.hxx:43
virtual bool FillItemSet(SfxItemSet *rSet) override
Definition: fldref.cxx:907
std::vector< const SwNodeNum * > tSortedNodeNumList
std::unique_ptr< weld::TreeView > m_xSelectionToolTipLB
Definition: fldref.hxx:51
static bool MatchSubstring(const OUString &list_string, const OUString &substr)
Definition: fldref.cxx:711
DECL_LINK(TypeHdl, weld::TreeView &, void)
virtual void Reset(const SfxItemSet *rSet) override
Definition: fldref.cxx:153
void UpdateSubType(const OUString &filterString)
Definition: fldref.cxx:467
OUString sFootnoteText
Definition: fldref.hxx:32
std::unique_ptr< weld::Label > m_xNameFT
Definition: fldref.hxx:54
OUString sBookmarkText
Definition: fldref.hxx:31
OUString sHeadingText
Definition: fldref.hxx:35
SwTextNode is a paragraph in the document model.
Definition: ndtxt.hxx:79
std::unique_ptr< weld::TreeView > m_xFormatLB
Definition: fldref.hxx:53
std::vector< const SwTextNode * > tSortedOutlineNodeList
SwFieldRefPage(TabPageParent pParent, const SfxItemSet *pSet)
Definition: fldref.cxx:54
virtual void FillUserData() override
Definition: fldref.cxx:1098
std::unique_ptr< weld::TreeView > m_xTypeLB
Definition: fldref.hxx:47
sal_Int32 FillFormatLB(sal_uInt16 nTypeId)
Definition: fldref.cxx:750
OUString sEndnoteText
Definition: fldref.hxx:33
size_t mnSavedSelectedPos
Definition: fldref.hxx:45
std::unique_ptr< weld::TreeView > m_xSelectionLB
Definition: fldref.hxx:49
std::unique_ptr< weld::Entry > m_xNameED
Definition: fldref.hxx:55