diff options
Diffstat (limited to 'svx/source/inc/filtnav.hxx')
-rw-r--r-- | svx/source/inc/filtnav.hxx | 84 |
1 files changed, 48 insertions, 36 deletions
diff --git a/svx/source/inc/filtnav.hxx b/svx/source/inc/filtnav.hxx index ce382a1986bc..ce845b7cdea0 100644 --- a/svx/source/inc/filtnav.hxx +++ b/svx/source/inc/filtnav.hxx @@ -30,10 +30,12 @@ #ifndef _SVX_FILTNAV_HXX #define _SVX_FILTNAV_HXX -#include <com/sun/star/awt/XTextComponent.hpp> #include <com/sun/star/form/XForm.hpp> +#include <com/sun/star/form/runtime/XFormController.hpp> +#include <com/sun/star/form/runtime/XFilterController.hpp> #include <svl/lstner.hxx> #include <svl/brdcst.hxx> + #include <vcl/window.hxx> #include <sfx2/childwin.hxx> #include <svl/poolitem.hxx> @@ -93,8 +95,7 @@ public: class FmParentData : public FmFilterData { protected: - ::std::vector<FmFilterData*> m_aChilds; - + ::std::vector< FmFilterData* > m_aChildren; public: TYPEINFO(); @@ -103,28 +104,34 @@ public: {} virtual ~FmParentData(); - ::std::vector<FmFilterData*>& GetChilds() {return m_aChilds;} + ::std::vector< FmFilterData* >& GetChildren() { return m_aChildren; } }; //======================================================================== // Item representing the forms and subforms class FmFormItem : public FmParentData { - ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > m_xController; - sal_Int32 m_nCurrent; + ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > m_xController; + ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFilterController > m_xFilterController; public: TYPEINFO(); - FmFormItem(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory):FmParentData(_rxFactory,NULL, ::rtl::OUString()){} - FmFormItem(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory,FmParentData* _pParent, - const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > & _xController, - const ::rtl::OUString& _rText):FmParentData(_rxFactory,_pParent, _rText) - ,m_xController(_xController) - ,m_nCurrent(0){} - - const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > & GetController(){return m_xController;} - void SetCurrentPosition(sal_Int32 nCurrent){m_nCurrent = nCurrent;} - sal_Int32 GetCurrentPosition() const {return m_nCurrent;} + + FmFormItem( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory,FmParentData* _pParent, + const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > & _xController, + const ::rtl::OUString& _rText) + :FmParentData( _rxFactory, _pParent, _rText ) + ,m_xController( _xController ) + ,m_xFilterController( _xController, ::com::sun::star::uno::UNO_QUERY_THROW ) + { + } + + inline const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController >& + GetController() { return m_xController; } + + inline const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFilterController >& + GetFilterController() { return m_xFilterController; } + virtual Image GetImage( BmpColorMode _eMode = BMP_COLOR_NORMAL ) const; }; @@ -136,26 +143,28 @@ public: FmFilterItems(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory):FmParentData(_rxFactory,NULL, ::rtl::OUString()){} FmFilterItems(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory,FmFormItem* pParent, const ::rtl::OUString& rText ):FmParentData(_rxFactory,pParent, rText){} - FmFilterItem* Find(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent > & xText) const; + FmFilterItem* Find( const ::sal_Int32 _nFilterComponentIndex ) const; virtual Image GetImage( BmpColorMode _eMode = BMP_COLOR_NORMAL ) const; }; //======================================================================== class FmFilterItem : public FmFilterData { - ::rtl::OUString m_aFieldName; - ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent > m_xText; + ::rtl::OUString m_aFieldName; + const sal_Int32 m_nComponentIndex; public: TYPEINFO(); - FmFilterItem(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory, - FmFilterItems* pParent, - const ::rtl::OUString& aFieldName, - const ::rtl::OUString& aCondition, - const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent > & xText); + FmFilterItem( + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory, + FmFilterItems* pParent, + const ::rtl::OUString& aFieldName, + const ::rtl::OUString& aCondition, + const sal_Int32 _nComponentIndex + ); const ::rtl::OUString& GetFieldName() const {return m_aFieldName;} - const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent > & GetTextComponent() const {return m_xText;} + sal_Int32 GetComponentIndex() const { return m_nComponentIndex; } virtual Image GetImage( BmpColorMode _eMode = BMP_COLOR_NORMAL ) const; }; @@ -167,9 +176,9 @@ class FmFilterModel : public FmParentData { friend class FmFilterAdapter; - ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > m_xControllers; - ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > m_xController; - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB; + ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > m_xControllers; + ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > m_xController; + ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB; FmFilterAdapter* m_pAdapter; FmFilterItems* m_pCurrentItems; @@ -178,7 +187,7 @@ public: FmFilterModel(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory); virtual ~FmFilterModel(); - void Update(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > & xControllers, const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > & xCurrent); + void Update(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > & xControllers, const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > & xCurrent); void Clear(); sal_Bool ValidateText(FmFilterItem* pItem, UniString& rText, UniString& rErrorMsg) const; void Append(FmFilterItems* pItems, FmFilterItem* pFilterItem); @@ -190,17 +199,17 @@ public: ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() const { return m_xORB; } const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > & GetControllers() const {return m_xControllers;} - const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > & GetCurrentController() const {return m_xController;} - void SetCurrentController(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > & xController); + const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > & GetCurrentController() const {return m_xController;} + void SetCurrentController(const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > & xController); void Remove(FmFilterData* pFilterItem); - void AppendFilterItems(FmFormItem* pItem); - void CheckIntegrity(FmParentData* pItem); + void AppendFilterItems( FmFormItem& _rItem ); + void EnsureEmptyFilterRows( FmParentData& _rItem ); protected: void Insert(const ::std::vector<FmFilterData*>::iterator& rPos, FmFilterData* pFilterItem); - void Remove(const ::std::vector<FmFilterData*>::iterator& rPos, FmFilterData* pFilterItem); - FmFormItem* Find(const ::std::vector<FmFilterData*>& rItems, const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > & xController) const; + void Remove( const ::std::vector<FmFilterData*>::iterator& rPos ); + FmFormItem* Find(const ::std::vector<FmFilterData*>& rItems, const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > & xController) const; FmFormItem* Find(const ::std::vector<FmFilterData*>& rItems, const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& xForm) const; void Update(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > & xControllers, FmParentData* pParent); }; @@ -267,7 +276,10 @@ public: FmFilterNavigator( Window* pParent ); virtual ~FmFilterNavigator(); - void UpdateContent(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > & xControllers, const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > & xCurrent); + void UpdateContent( + const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > & xControllers, + const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > & xCurrent + ); const FmFilterModel* GetFilterModel() const {return m_pModel;} protected: |