1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: RadioButton.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _FORMS_RADIOBUTTON_HXX_
32 #define _FORMS_RADIOBUTTON_HXX_
34 #include "refvaluecomponent.hxx"
36 //.........................................................................
40 //==================================================================
42 //==================================================================
43 class ORadioButtonModel
:public OReferenceValueComponent
46 DECLARE_DEFAULT_LEAF_XTOR( ORadioButtonModel
);
49 IMPLEMENTATION_NAME(ORadioButtonModel
);
50 virtual StringSequence SAL_CALL
getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException
);
53 virtual void SAL_CALL
setFastPropertyValue_NoBroadcast( sal_Int32 nHandle
, const ::com::sun::star::uno::Any
& rValue
)
54 throw (::com::sun::star::uno::Exception
);
57 virtual ::rtl::OUString SAL_CALL
getServiceName() throw(::com::sun::star::uno::RuntimeException
);
59 write(const ::com::sun::star::uno::Reference
< ::com::sun::star::io::XObjectOutputStream
>& _rxOutStream
) throw(::com::sun::star::io::IOException
, ::com::sun::star::uno::RuntimeException
);
61 read(const ::com::sun::star::uno::Reference
< ::com::sun::star::io::XObjectInputStream
>& _rxInStream
) throw(::com::sun::star::io::IOException
, ::com::sun::star::uno::RuntimeException
);
63 // OPropertyChangeListener
64 virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent
& evt
) throw(::com::sun::star::uno::RuntimeException
);
66 // OControlModel's property handling
67 virtual void describeFixedProperties(
68 ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::Property
>& /* [out] */ _rProps
72 // OBoundControlModel overridables
73 virtual ::com::sun::star::uno::Any
74 translateDbColumnToControlValue( );
75 virtual sal_Bool
commitControlValueToDbColumn( bool _bPostReset
);
76 virtual ::com::sun::star::uno::Any
77 translateExternalValueToControlValue( const ::com::sun::star::uno::Any
& _rExternalValue
) const;
80 void SetSiblingPropsTo(const ::rtl::OUString
& rPropName
, const ::com::sun::star::uno::Any
& rValue
);
82 DECLARE_XCLONEABLE( );
85 /** sets the given value as new State at the aggregate
87 our mutex is aquired exactly once
89 void setNewAggregateState( const ::com::sun::star::uno::Any
& _rValue
);
91 void setControlSource();
94 //==================================================================
95 // ORadioButtonControl
96 //==================================================================
97 class ORadioButtonControl
: public OBoundControl
100 ORadioButtonControl(const ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XMultiServiceFactory
>& _rxFactory
);
103 IMPLEMENTATION_NAME(ORadioButtonControl
);
104 virtual StringSequence SAL_CALL
getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException
);
108 virtual void SAL_CALL
createPeer(const ::com::sun::star::uno::Reference
<starawt::XToolkit
>& Toolkit
, const ::com::sun::star::uno::Reference
<starawt::XWindowPeer
>& Parent
) throw (::com::sun::star::uno::RuntimeException
);
111 //.........................................................................
113 //.........................................................................
115 #endif // _FORMS_RADIOBUTTON_HXX_