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 //............................................................................
38 //............................................................................
40 //========================================================================
41 //= PushButtonNavigation
42 //========================================================================
43 class PushButtonNavigation
46 ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySet
>
48 sal_Bool m_bIsPushButton
;
52 @param _rxControlModel
53 the control model which is or will be bound
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;
102 sal_Int32
implGetCurrentButtonType() const SAL_THROW(( ::com::sun::star::uno::Exception
));
105 //............................................................................
107 //............................................................................
109 #endif // EXTENSIONS_PROPCTRLR_PUSHBUTTONNAVIGATION_HXX
111 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */