1*2d785d7eSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*2d785d7eSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*2d785d7eSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*2d785d7eSAndrew Rist  * distributed with this work for additional information
6*2d785d7eSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*2d785d7eSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*2d785d7eSAndrew Rist  * "License"); you may not use this file except in compliance
9*2d785d7eSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*2d785d7eSAndrew Rist  *
11*2d785d7eSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*2d785d7eSAndrew Rist  *
13*2d785d7eSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*2d785d7eSAndrew Rist  * software distributed under the License is distributed on an
15*2d785d7eSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*2d785d7eSAndrew Rist  * KIND, either express or implied.  See the License for the
17*2d785d7eSAndrew Rist  * specific language governing permissions and limitations
18*2d785d7eSAndrew Rist  * under the License.
19*2d785d7eSAndrew Rist  *
20*2d785d7eSAndrew Rist  *************************************************************/
21*2d785d7eSAndrew Rist 
22*2d785d7eSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef FORMS_COMPONENT_NAVIGATION_BAR_HXX
25cdf0e10cSrcweir #define FORMS_COMPONENT_NAVIGATION_BAR_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "FormComponent.hxx"
28cdf0e10cSrcweir #include <com/sun/star/io/XPersistObject.hpp>
29cdf0e10cSrcweir #include <comphelper/proparrhlp.hxx>
30cdf0e10cSrcweir #include <comphelper/propertycontainerhelper.hxx>
31cdf0e10cSrcweir #include <cppuhelper/implbase1.hxx>
32cdf0e10cSrcweir #include <cppuhelper/interfacecontainer.hxx>
33cdf0e10cSrcweir #include <com/sun/star/container/XSet.hpp>
34cdf0e10cSrcweir #include <com/sun/star/container/XContainer.hpp>
35cdf0e10cSrcweir #include "formcontrolfont.hxx"
36cdf0e10cSrcweir 
37cdf0e10cSrcweir #include <set>
38cdf0e10cSrcweir 
39cdf0e10cSrcweir //.........................................................................
40cdf0e10cSrcweir namespace frm
41cdf0e10cSrcweir {
42cdf0e10cSrcweir //.........................................................................
43cdf0e10cSrcweir 
44cdf0e10cSrcweir     //==================================================================
45cdf0e10cSrcweir     // ONavigationBarModel
46cdf0e10cSrcweir     //==================================================================
47cdf0e10cSrcweir     typedef ::cppu::ImplHelper1 <   ::com::sun::star::awt::XControlModel
48cdf0e10cSrcweir                                 > ONavigationBarModel_BASE;
49cdf0e10cSrcweir 
50cdf0e10cSrcweir     class ONavigationBarModel
51cdf0e10cSrcweir                         :public OControlModel
52cdf0e10cSrcweir                         ,public FontControlModel
53cdf0e10cSrcweir                         ,public OPropertyContainerHelper
54cdf0e10cSrcweir                         ,public ONavigationBarModel_BASE
55cdf0e10cSrcweir     {
56cdf0e10cSrcweir         // <properties>
57cdf0e10cSrcweir         ::com::sun::star::uno::Any          m_aTabStop;
58cdf0e10cSrcweir     	::com::sun::star::uno::Any          m_aBackgroundColor;
59cdf0e10cSrcweir         ::rtl::OUString                     m_sDefaultControl;
60cdf0e10cSrcweir         ::rtl::OUString                     m_sHelpText;
61cdf0e10cSrcweir         ::rtl::OUString                     m_sHelpURL;
62cdf0e10cSrcweir         sal_Int16                           m_nIconSize;
63cdf0e10cSrcweir         sal_Int16                           m_nBorder;
64cdf0e10cSrcweir         sal_Int32                           m_nDelay;
65cdf0e10cSrcweir         sal_Bool                            m_bEnabled;
66cdf0e10cSrcweir         sal_Bool                            m_bEnableVisible;
67cdf0e10cSrcweir         sal_Bool                            m_bShowPosition;
68cdf0e10cSrcweir         sal_Bool                            m_bShowNavigation;
69cdf0e10cSrcweir         sal_Bool                            m_bShowActions;
70cdf0e10cSrcweir         sal_Bool                            m_bShowFilterSort;
71cdf0e10cSrcweir         sal_Int16                           m_nWritingMode;
72cdf0e10cSrcweir         sal_Int16                           m_nContextWritingMode;
73cdf0e10cSrcweir         // </properties>
74cdf0e10cSrcweir 
75cdf0e10cSrcweir     public:
76cdf0e10cSrcweir         DECLARE_DEFAULT_LEAF_XTOR( ONavigationBarModel );
77cdf0e10cSrcweir 
78cdf0e10cSrcweir         // XServiceInfo - static version
79cdf0e10cSrcweir         static	::rtl::OUString	SAL_CALL getImplementationName_Static();
80cdf0e10cSrcweir         static	::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames_Static();
81cdf0e10cSrcweir         static	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL Create( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
82cdf0e10cSrcweir 
83cdf0e10cSrcweir     protected:
84cdf0e10cSrcweir         // UNO
85cdf0e10cSrcweir         DECLARE_UNO3_AGG_DEFAULTS( ONavigationBarModel, OControlModel );
86cdf0e10cSrcweir         virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw (::com::sun::star::uno::RuntimeException);
87cdf0e10cSrcweir 
88cdf0e10cSrcweir         // XServiceInfo
89cdf0e10cSrcweir         virtual ::rtl::OUString	SAL_CALL getImplementationName()  throw(::com::sun::star::uno::RuntimeException);
90cdf0e10cSrcweir         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()  throw(::com::sun::star::uno::RuntimeException);
91cdf0e10cSrcweir 
92cdf0e10cSrcweir         // XTypeProvider
93cdf0e10cSrcweir         DECLARE_XTYPEPROVIDER()
94cdf0e10cSrcweir 
95cdf0e10cSrcweir         // OComponentHelper
96cdf0e10cSrcweir         virtual void SAL_CALL disposing();
97cdf0e10cSrcweir 
98cdf0e10cSrcweir         // XPersistObject
99cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getServiceName() throw ( ::com::sun::star::uno::RuntimeException);
100cdf0e10cSrcweir         virtual void SAL_CALL write(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream>& _rxOutStream) throw ( ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
101cdf0e10cSrcweir         virtual void SAL_CALL read(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream>& _rxInStream) throw ( ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
102cdf0e10cSrcweir 
103cdf0e10cSrcweir         // XPropertySet
104cdf0e10cSrcweir         virtual void SAL_CALL getFastPropertyValue(::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const;
105cdf0e10cSrcweir         virtual sal_Bool SAL_CALL convertFastPropertyValue(::com::sun::star::uno::Any& rConvertedValue, ::com::sun::star::uno::Any& rOldValue,
106cdf0e10cSrcweir                                               sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue )
107cdf0e10cSrcweir                                             throw(::com::sun::star::lang::IllegalArgumentException);
108cdf0e10cSrcweir         virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue) throw ( ::com::sun::star::uno::Exception);
109cdf0e10cSrcweir 
110cdf0e10cSrcweir         // XPropertyState
111cdf0e10cSrcweir         virtual ::com::sun::star::uno::Any getPropertyDefaultByHandle( sal_Int32 nHandle ) const;
112cdf0e10cSrcweir 
113cdf0e10cSrcweir         // OControlModel's property handling
114cdf0e10cSrcweir 	    virtual void describeFixedProperties(
115cdf0e10cSrcweir             ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& /* [out] */ _rProps
116cdf0e10cSrcweir         ) const;
117cdf0e10cSrcweir 
118cdf0e10cSrcweir         // prevent method hiding
119cdf0e10cSrcweir         using OControlModel::disposing;
120cdf0e10cSrcweir         using OControlModel::getFastPropertyValue;
121cdf0e10cSrcweir 
122cdf0e10cSrcweir     protected:
123cdf0e10cSrcweir         DECLARE_XCLONEABLE();
124cdf0e10cSrcweir 
125cdf0e10cSrcweir     private:
126cdf0e10cSrcweir         void implInitPropertyContainer();
127cdf0e10cSrcweir     };
128cdf0e10cSrcweir 
129cdf0e10cSrcweir //.........................................................................
130cdf0e10cSrcweir }   // namespace frm
131cdf0e10cSrcweir //.........................................................................
132cdf0e10cSrcweir 
133cdf0e10cSrcweir #endif // FORMS_COMPONENT_NAVIGATION_BAR_HXX
134cdf0e10cSrcweir 
135