1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski #ifndef _UNOSRCH_HXX 24*b1cdbd2cSJim Jagielski #define _UNOSRCH_HXX 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski #include <com/sun/star/util/XPropertyReplace.hpp> 27*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XServiceInfo.hpp> 28*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XUnoTunnel.hpp> 29*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase3.hxx> // helper for implementations 30*b1cdbd2cSJim Jagielski #include <tools/string.hxx> 31*b1cdbd2cSJim Jagielski 32*b1cdbd2cSJim Jagielski /****************************************************************************** 33*b1cdbd2cSJim Jagielski * 34*b1cdbd2cSJim Jagielski ******************************************************************************/ 35*b1cdbd2cSJim Jagielski class SfxItemPropertySet; 36*b1cdbd2cSJim Jagielski class SwXTextDocument; 37*b1cdbd2cSJim Jagielski class SwSearchProperties_Impl; 38*b1cdbd2cSJim Jagielski class SfxItemSet; 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski namespace com{namespace sun{namespace star{namespace util{ 41*b1cdbd2cSJim Jagielski struct SearchOptions; 42*b1cdbd2cSJim Jagielski }}}} 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski /*-----------------19.12.97 12:58------------------- 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski --------------------------------------------------*/ 48*b1cdbd2cSJim Jagielski class SwXTextSearch : public cppu::WeakImplHelper3 49*b1cdbd2cSJim Jagielski < 50*b1cdbd2cSJim Jagielski ::com::sun::star::util::XPropertyReplace, 51*b1cdbd2cSJim Jagielski ::com::sun::star::lang::XServiceInfo, 52*b1cdbd2cSJim Jagielski ::com::sun::star::lang::XUnoTunnel 53*b1cdbd2cSJim Jagielski > 54*b1cdbd2cSJim Jagielski { 55*b1cdbd2cSJim Jagielski friend class SwXTextDocument; 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski String sSearchText; 58*b1cdbd2cSJim Jagielski String sReplaceText; 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski SwSearchProperties_Impl* pSearchProperties; 61*b1cdbd2cSJim Jagielski SwSearchProperties_Impl* pReplaceProperties; 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski const SfxItemPropertySet* m_pPropSet; 65*b1cdbd2cSJim Jagielski sal_Bool bAll : 1; 66*b1cdbd2cSJim Jagielski sal_Bool bWord : 1; 67*b1cdbd2cSJim Jagielski sal_Bool bBack : 1; 68*b1cdbd2cSJim Jagielski sal_Bool bExpr : 1; 69*b1cdbd2cSJim Jagielski sal_Bool bCase : 1; 70*b1cdbd2cSJim Jagielski // sal_Bool bInSel: 1; // wie geht Suchen in Selektionen? 71*b1cdbd2cSJim Jagielski sal_Bool bStyles:1; 72*b1cdbd2cSJim Jagielski sal_Bool bSimilarity : 1; 73*b1cdbd2cSJim Jagielski sal_Bool bLevRelax :1; 74*b1cdbd2cSJim Jagielski sal_Int16 nLevExchange; 75*b1cdbd2cSJim Jagielski sal_Int16 nLevAdd; 76*b1cdbd2cSJim Jagielski sal_Int16 nLevRemove; 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski sal_Bool bIsValueSearch :1; 79*b1cdbd2cSJim Jagielski protected: 80*b1cdbd2cSJim Jagielski virtual ~SwXTextSearch(); 81*b1cdbd2cSJim Jagielski public: 82*b1cdbd2cSJim Jagielski SwXTextSearch(); 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski 86*b1cdbd2cSJim Jagielski static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId(); 87*b1cdbd2cSJim Jagielski 88*b1cdbd2cSJim Jagielski //XUnoTunnel 89*b1cdbd2cSJim Jagielski virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException); 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski //XSearchDescriptor 92*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL getSearchString( ) throw(::com::sun::star::uno::RuntimeException); 93*b1cdbd2cSJim Jagielski virtual void SAL_CALL setSearchString( const ::rtl::OUString& aString ) throw(::com::sun::star::uno::RuntimeException); 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski //XReplaceDescriptor 96*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL getReplaceString(void) throw( ::com::sun::star::uno::RuntimeException ); 97*b1cdbd2cSJim Jagielski virtual void SAL_CALL setReplaceString(const ::rtl::OUString& aReplaceString) throw( ::com::sun::star::uno::RuntimeException ); 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski //XPropertySet 100*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); 101*b1cdbd2cSJim Jagielski virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); 102*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); 103*b1cdbd2cSJim Jagielski virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); 104*b1cdbd2cSJim Jagielski virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); 105*b1cdbd2cSJim Jagielski virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); 106*b1cdbd2cSJim Jagielski virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski //XPropertyReplace 109*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL getValueSearch(void) throw( ::com::sun::star::uno::RuntimeException ); 110*b1cdbd2cSJim Jagielski virtual void SAL_CALL setValueSearch(sal_Bool ValueSearch_) throw( ::com::sun::star::uno::RuntimeException ); 111*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > SAL_CALL getSearchAttributes(void) throw( ::com::sun::star::uno::RuntimeException ); 112*b1cdbd2cSJim Jagielski virtual void SAL_CALL setSearchAttributes(const ::com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& aSearchAttribs) throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException ); 113*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > SAL_CALL getReplaceAttributes(void) throw( ::com::sun::star::uno::RuntimeException ); 114*b1cdbd2cSJim Jagielski virtual void SAL_CALL setReplaceAttributes(const ::com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& aSearchAttribs) throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException ); 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski //XServiceInfo 117*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException ); 118*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL supportsService(const ::rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException ); 119*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski void FillSearchItemSet(SfxItemSet& rSet) const; 122*b1cdbd2cSJim Jagielski void FillReplaceItemSet(SfxItemSet& rSet) const; 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski sal_Bool HasSearchAttributes() const; 125*b1cdbd2cSJim Jagielski sal_Bool HasReplaceAttributes() const; 126*b1cdbd2cSJim Jagielski 127*b1cdbd2cSJim Jagielski void FillSearchOptions( ::com::sun::star::util::SearchOptions& 128*b1cdbd2cSJim Jagielski rSearchOpt ) const; 129*b1cdbd2cSJim Jagielski }; 130*b1cdbd2cSJim Jagielski 131*b1cdbd2cSJim Jagielski #endif 132*b1cdbd2cSJim Jagielski 133