1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
10 #ifndef INCLUDED_CUI_SOURCE_OPTIONS_OPTABOUTCONFIG_HXX
11 #define INCLUDED_CUI_SOURCE_OPTIONS_OPTABOUTCONFIG_HXX
13 #include <com/sun/star/container/XNameAccess.hpp>
14 #include <com/sun/star/beans/NamedValue.hpp>
15 #include <com/sun/star/util/SearchOptions.hpp>
17 #include <sfx2/tabdlg.hxx>
18 #include <svtools/simptabl.hxx>
19 #include <vcl/edit.hxx>
22 #include <boost/scoped_ptr.hpp>
23 #include <boost/shared_ptr.hpp>
25 namespace svx
{ class OptHeaderTabListBox
; }
26 class CuiAboutConfigTabPage
;
27 class CuiAboutConfigValueDialog
;
30 class CuiCustomMultilineEdit
: public Edit
34 CuiCustomMultilineEdit( vcl::Window
* pParent
, WinBits nStyle
)
35 : Edit( pParent
, nStyle
)
39 virtual void KeyInput( const KeyEvent
& rKeyEvent
) SAL_OVERRIDE
;
40 virtual Size
GetOptimalSize() const SAL_OVERRIDE
;
43 class CuiAboutConfigTabPage
: public ModelessDialog
46 VclPtr
<SvSimpleTableContainer
> m_pPrefCtrl
;
47 VclPtr
<PushButton
> m_pResetBtn
;
48 VclPtr
<PushButton
> m_pEditBtn
;
49 VclPtr
<PushButton
> m_pSearchBtn
;
50 VclPtr
<Edit
> m_pSearchEdit
;
52 std::vector
< boost::shared_ptr
< Prop_Impl
> > m_vectorOfModified
;
53 VclPtr
< SvSimpleTable
> m_pPrefBox
;
56 ::com::sun::star::util::SearchOptions m_options
;
57 SvTreeListEntries m_prefBoxEntries
;
59 void AddToModifiedVector( const boost::shared_ptr
< Prop_Impl
>& rProp
);
60 static std::vector
< OUString
> commaStringToSequence( const OUString
& rCommaSepString
);
62 DECL_LINK( StandardHdl_Impl
, void * );
63 DECL_LINK( ResetBtnHdl_Impl
, void * );
64 DECL_LINK( SearchHdl_Impl
, void* );
67 CuiAboutConfigTabPage(vcl::Window
* pParent
);
68 virtual ~CuiAboutConfigTabPage();
69 virtual void dispose() SAL_OVERRIDE
;
70 void InsertEntry(const OUString
& rProp
, const OUString
& rStatus
, const OUString
& rType
, const OUString
& rValue
);
72 void FillItems(const com::sun::star::uno::Reference
<com::sun::star::container::XNameAccess
>& xNameAccess
);
73 static com::sun::star::uno::Reference
< com::sun::star::container::XNameAccess
> getConfigAccess( const OUString
& sNodePath
, bool bUpdate
);
77 class CuiAboutConfigValueDialog
: public ModalDialog
80 VclPtr
<CuiCustomMultilineEdit
> m_pEDValue
;
83 CuiAboutConfigValueDialog( vcl::Window
* pWindow
, const OUString
& rValue
, int limit
= 0);
84 virtual ~CuiAboutConfigValueDialog();
85 virtual void dispose() SAL_OVERRIDE
;
89 return m_pEDValue
->GetText();
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */