Bump for 3.6-28
[LibreOffice.git] / extensions / source / propctrlr / pushbuttonnavigation.hxx
blobd192326279d95d81a511ff83752c57a50cdbaaf6
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #ifndef EXTENSIONS_PROPCTRLR_PUSHBUTTONNAVIGATION_HXX
30 #define EXTENSIONS_PROPCTRLR_PUSHBUTTONNAVIGATION_HXX
32 #include <com/sun/star/beans/XPropertySet.hpp>
33 #include <com/sun/star/beans/PropertyState.hpp>
35 //............................................................................
36 namespace pcr
38 //............................................................................
40 //========================================================================
41 //= PushButtonNavigation
42 //========================================================================
43 class PushButtonNavigation
45 protected:
46 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
47 m_xControlModel;
48 sal_Bool m_bIsPushButton;
50 public:
51 /** ctor
52 @param _rxControlModel
53 the control model which is or will be bound
55 PushButtonNavigation(
56 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel
59 /** returns the current value of the "ButtonType" property, taking into account
60 the "virtual" button types such as "move-to-next-record button".
62 ::com::sun::star::uno::Any
63 getCurrentButtonType() const SAL_THROW(());
65 /** sets the current value of the "ButtonType" property, taking into account
66 the "virtual" button types such as "move-to-next-record button".
68 void setCurrentButtonType( const ::com::sun::star::uno::Any& _rValue ) const SAL_THROW(());
70 /** retrieves the current state of the "ButtonType" property, taking into account
71 the "virtual" button types such as "move-to-next-record button".
73 ::com::sun::star::beans::PropertyState
74 getCurrentButtonTypeState( ) const SAL_THROW(());
76 /** returns the current value of the "TargetURL" property, taking into account
77 that some URLs are special values caused by "virtual" ButtonTypes
79 ::com::sun::star::uno::Any
80 getCurrentTargetURL() const SAL_THROW(());
82 /** sets the current value of the "TargetURL" property, taking into account
83 that some URLs are special values caused by "virtual" ButtonTypes
85 void setCurrentTargetURL( const ::com::sun::star::uno::Any& _rValue ) const SAL_THROW(());
87 /** retrieves the current state of the "TargetURL" property, taking into account
88 that some URLs are special values caused by "virtual" ButtonTypes
90 ::com::sun::star::beans::PropertyState
91 getCurrentTargetURLState( ) const SAL_THROW(());
93 /** determines whether the current button tpye is FormButtonType_URL
95 bool currentButtonTypeIsOpenURL() const;
97 /** determines whether the TargetURL property does currently denote a non-empty string
99 bool hasNonEmptyCurrentTargetURL() const;
101 private:
102 sal_Int32 implGetCurrentButtonType() const SAL_THROW(( ::com::sun::star::uno::Exception ));
105 //............................................................................
106 } // namespace pcr
107 //............................................................................
109 #endif // EXTENSIONS_PROPCTRLR_PUSHBUTTONNAVIGATION_HXX
111 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */