blob: 9437552c6d63d22dbd628a343354e39be7b7ddf0 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef _SVX_FMGROUP_HXX
#define _SVX_FMGROUP_HXX
#ifndef _SVX_FMCPONT_HXX
#include "fmcpont.hxx"
#endif
#ifndef __DBFORM_HXX
#include <dbform.hxx>
#endif
DECLARE_LIST( FmCtrlModelList, XInterface* );
struct FmXGroupModel_Impl;
//==================================================================
// FmXGroupModel
//==================================================================
class FmXGroupModel : public XBoundControl,
public XLoadListener,
public XPropertyChangeListener,
public XGroup,
public FmXControlModel
{
FmFormControlMap aControlMap;
friend Reflection* FmXGroupModel_getReflection();
FmXGroupModel_Impl* pGroupModelData; // Properties
public:
FmXGroupModel();
virtual ~FmXGroupModel();
// UNO Anbindung
SMART_UNO_DECLARATION( FmXGroupModel, FmXControlModel );
virtual XInterface* queryInterface(UsrUik);
virtual XIdlClassRef getIdlClass();
// XGroup
virtual sal_Int32 getFormControlCount();
virtual XFormControlRef getFormControlByName( const XubString& sName ) const;
virtual XFormControlRef getFormControlByIndex( sal_Int32 Index ) const;
virtual void appendFormControl( const XFormControlRef& FormControl );
virtual XFormControlRef removeFormControl( const XFormControlRef& FormControl );
// XFormControl
virtual void setParent( const XFormRef& Parent );
// XEventListener
virtual void disposing( const EventObject& Source );
// XPropertiesChangeListener
virtual void propertyChange( const PropertyChangeEvent& evt );
// XLoadListener
virtual void loaded( const EventObject& rEvent );
virtual void unloaded( const EventObject& rEvent );
// XBoundControl
virtual void addBoundControlListener( const XBoundControlListenerRef& l );
virtual void removeBoundControlListener( const XBoundControlListenerRef& l );
// XPersistObject
virtual XubString getServiceName( void ) const;
virtual void write( const XObjectOutputStreamRef& OutStream );
virtual void read( const XObjectInputStreamRef& InStream );
// PropertySetInterface
virtual FmXPropertySetInfo* createPropertySetInfo() const;
virtual sal_Bool setPropertyValue( sal_uInt16 nId, const XubString& aPropertyName,
const UsrAny& aValue,
PropertyChangeEventSequence* pSeq,
sal_Int32 nIndex );
virtual UsrAny getPropertyValue( sal_uInt16 nId, const XubString& aPropertyName ) const;
virtual void addPropertyChangeListener( const XubString& aPropertyName, const XPropertyChangeListenerRef& aListener );
virtual void removePropertyChangeListener( const XubString& aPropertyName, const XPropertyChangeListenerRef& aListener );
};
//==================================================================
// FmXGroupModelInfo
// Properties:
//==================================================================
class FmXGroupModelInfo : public FmXControlModelInfo
{
friend class FmXGroupModel;
protected:
FmXGroupModelInfo( const FmXGroupModel* pCp );
virtual void fillProperties( sal_uInt32& nIndex, PropertySequence& aSeq ) const;
};
#endif // _SVX_FMGROUP_HXX