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: fmgroup.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 ************************************************************************/
30 #ifndef _SVX_FMGROUP_HXX
31 #define _SVX_FMGROUP_HXX
33 #ifndef _SVX_FMCPONT_HXX
34 #include "fmcpont.hxx"
41 DECLARE_LIST( FmCtrlModelList
, XInterface
* );
43 struct FmXGroupModel_Impl
;
45 //==================================================================
47 //==================================================================
48 class FmXGroupModel
: public XBoundControl
,
50 public XPropertyChangeListener
,
52 public FmXControlModel
54 FmFormControlMap aControlMap
;
56 friend Reflection
* FmXGroupModel_getReflection();
57 FmXGroupModel_Impl
* pGroupModelData
; // Properties
61 virtual ~FmXGroupModel();
64 SMART_UNO_DECLARATION( FmXGroupModel
, FmXControlModel
);
65 virtual XInterface
* queryInterface(UsrUik
);
66 virtual XIdlClassRef
getIdlClass();
69 virtual INT32
getFormControlCount();
70 virtual XFormControlRef
getFormControlByName( const XubString
& sName
) const;
71 virtual XFormControlRef
getFormControlByIndex( INT32 Index
) const;
72 virtual void appendFormControl( const XFormControlRef
& FormControl
);
73 virtual XFormControlRef
removeFormControl( const XFormControlRef
& FormControl
);
76 virtual void setParent( const XFormRef
& Parent
);
79 virtual void disposing( const EventObject
& Source
);
81 // XPropertiesChangeListener
82 virtual void propertyChange( const PropertyChangeEvent
& evt
);
85 virtual void loaded( const EventObject
& rEvent
);
86 virtual void unloaded( const EventObject
& rEvent
);
89 virtual void addBoundControlListener( const XBoundControlListenerRef
& l
);
90 virtual void removeBoundControlListener( const XBoundControlListenerRef
& l
);
93 virtual XubString
getServiceName( void ) const;
94 virtual void write( const XObjectOutputStreamRef
& OutStream
);
95 virtual void read( const XObjectInputStreamRef
& InStream
);
97 // PropertySetInterface
98 virtual FmXPropertySetInfo
* createPropertySetInfo() const;
99 virtual BOOL
setPropertyValue( UINT16 nId
, const XubString
& aPropertyName
,
100 const UsrAny
& aValue
,
101 PropertyChangeEventSequence
* pSeq
,
103 virtual UsrAny
getPropertyValue( UINT16 nId
, const XubString
& aPropertyName
) const;
104 virtual void addPropertyChangeListener( const XubString
& aPropertyName
, const XPropertyChangeListenerRef
& aListener
);
105 virtual void removePropertyChangeListener( const XubString
& aPropertyName
, const XPropertyChangeListenerRef
& aListener
);
108 //==================================================================
111 //==================================================================
112 class FmXGroupModelInfo
: public FmXControlModelInfo
114 friend class FmXGroupModel
;
117 FmXGroupModelInfo( const FmXGroupModel
* pCp
);
118 virtual void fillProperties( UINT32
& nIndex
, PropertySequence
& aSeq
) const;
122 #endif // _SVX_FMGROUP_HXX