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>
16 #include <sfx2/tabdlg.hxx>
17 #include <svtools/simptabl.hxx>
18 #include <vcl/edit.hxx>
21 #include <boost/scoped_ptr.hpp>
22 #include <boost/shared_ptr.hpp>
24 namespace svx
{ class OptHeaderTabListBox
; }
25 class CuiAboutConfigTabPage
;
26 class CuiAboutConfigValueDialog
;
29 class CuiCustomMultilineEdit
: public Edit
33 CuiCustomMultilineEdit( Window
* pParent
, WinBits nStyle
)
34 : Edit( pParent
, nStyle
)
38 virtual void KeyInput( const KeyEvent
& rKeyEvent
) SAL_OVERRIDE
;
39 virtual Size
GetOptimalSize() const SAL_OVERRIDE
;
42 class CuiAboutConfigTabPage
: public ModalDialog
45 SvSimpleTableContainer
* m_pPrefCtrl
;
46 PushButton
* m_pResetBtn
;
47 PushButton
* m_pEditBtn
;
49 std::vector
< boost::shared_ptr
< Prop_Impl
> > m_vectorOfModified
;
50 boost::scoped_ptr
< SvSimpleTable
> m_pPrefBox
;
52 void AddToModifiedVector( const boost::shared_ptr
< Prop_Impl
>& rProp
);
53 std::vector
< OUString
> commaStringToSequence( const OUString
& rCommaSepString
);
55 DECL_LINK( StandardHdl_Impl
, void * );
56 DECL_LINK( ResetBtnHdl_Impl
, void * );
59 CuiAboutConfigTabPage(Window
* pParent
);
60 void InsertEntry(const OUString
& rProp
, const OUString
& rStatus
, const OUString
& rType
, const OUString
& rValue
);
62 void FillItems(const com::sun::star::uno::Reference
<com::sun::star::container::XNameAccess
>& xNameAccess
);
63 com::sun::star::uno::Reference
< com::sun::star::container::XNameAccess
> getConfigAccess( const OUString
& sNodePath
, bool bUpdate
);
67 class CuiAboutConfigValueDialog
: public ModalDialog
70 CuiCustomMultilineEdit
* m_pEDValue
;
73 CuiAboutConfigValueDialog( Window
* pWindow
, const OUString
& rValue
, int limit
= 0);
77 return m_pEDValue
->GetText();
83 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */