xref: /trunk/main/sw/source/ui/vba/vbafind.hxx (revision 1d2dbeb0)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef SW_VBA_FIND_HXX
24 #define SW_VBA_FIND_HXX
25 
26 #include <ooo/vba/word/XFind.hpp>
27 #include <vbahelper/vbahelperinterface.hxx>
28 #include <cppuhelper/implbase1.hxx>
29 #include <com/sun/star/text/XTextRange.hpp>
30 #include <com/sun/star/util/XReplaceable.hpp>
31 #include <com/sun/star/util/XPropertyReplace.hpp>
32 #include <com/sun/star/text/XTextViewCursor.hpp>
33 #include <com/sun/star/text/XTextCursor.hpp>
34 #include <com/sun/star/view/XSelectionSupplier.hpp>
35 
36 typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XFind > SwVbaFind_BASE;
37 
38 class SwVbaFind : public SwVbaFind_BASE
39 {
40 private:
41     css::uno::Reference< css::frame::XModel > mxModel;
42     css::uno::Reference< css::text::XTextRange > mxTextRange;
43     css::uno::Reference< css::util::XReplaceable > mxReplaceable;
44     css::uno::Reference< css::util::XPropertyReplace> mxPropertyReplace;
45     css::uno::Reference< css::text::XTextViewCursor> mxTVC;
46     css::uno::Reference< css::view::XSelectionSupplier> mxSelSupp;
47     sal_Bool mbReplace;
48     sal_Int32 mnReplaceType;
49     sal_Int32 mnWrap;
50 
51 private:
52     sal_Bool InRange( const css::uno::Reference< css::text::XTextRange >& xCurrentRange ) throw ( css::uno::RuntimeException );
53     sal_Bool InEqualRange( const css::uno::Reference< css::text::XTextRange >& xCurrentRange ) throw ( css::uno::RuntimeException );
54     void SetReplace( sal_Int32 type );
55     void SetReplaceWith( const rtl::OUString& rText ) throw ( css::uno::RuntimeException );
56     rtl::OUString GetReplaceWith() throw ( css::uno::RuntimeException );
57 #ifdef TOMORROW
58     rtl::OUString ReplaceWildcards( const rtl::OUString& rText ) throw ( css::uno::RuntimeException );
59 #endif
60     css::uno::Reference< css::text::XTextRange > FindOneElement() throw ( css::uno::RuntimeException );
61     sal_Bool SearchReplace() throw ( css::uno::RuntimeException );
62 
63 public:
64 	SwVbaFind( const css::uno::Reference< ooo::vba::XHelperInterface >& rParent, const css::uno::Reference< css::uno::XComponentContext >& rContext, const css::uno::Reference< css::frame::XModel >& xModel, const css::uno::Reference< css::text::XTextRange >& xTextRange ) throw ( css::uno::RuntimeException );
65 	virtual ~SwVbaFind();
66 
67     // Attributes
68     virtual ::rtl::OUString SAL_CALL getText() throw (css::uno::RuntimeException);
69     virtual void SAL_CALL setText( const ::rtl::OUString& _text ) throw (css::uno::RuntimeException);
70     virtual css::uno::Any SAL_CALL getReplacement() throw (css::uno::RuntimeException);
71     virtual void SAL_CALL setReplacement( const css::uno::Any& _replacement ) throw (css::uno::RuntimeException);
72     virtual ::sal_Bool SAL_CALL getForward() throw (css::uno::RuntimeException);
73     virtual void SAL_CALL setForward( ::sal_Bool _forward ) throw (css::uno::RuntimeException);
74     virtual ::sal_Int32 SAL_CALL getWrap() throw (css::uno::RuntimeException);
75     virtual void SAL_CALL setWrap( ::sal_Int32 _wrap ) throw (css::uno::RuntimeException);
76     virtual ::sal_Bool SAL_CALL getFormat() throw (css::uno::RuntimeException);
77     virtual void SAL_CALL setFormat( ::sal_Bool _format ) throw (css::uno::RuntimeException);
78     virtual ::sal_Bool SAL_CALL getMatchCase() throw (css::uno::RuntimeException);
79     virtual void SAL_CALL setMatchCase( ::sal_Bool _matchcase ) throw (css::uno::RuntimeException);
80     virtual ::sal_Bool SAL_CALL getMatchWholeWord() throw (css::uno::RuntimeException);
81     virtual void SAL_CALL setMatchWholeWord( ::sal_Bool _matchwholeword ) throw (css::uno::RuntimeException);
82     virtual ::sal_Bool SAL_CALL getMatchWildcards() throw (css::uno::RuntimeException);
83     virtual void SAL_CALL setMatchWildcards( ::sal_Bool _matchwildcards ) throw (css::uno::RuntimeException);
84     virtual ::sal_Bool SAL_CALL getMatchSoundsLike() throw (css::uno::RuntimeException);
85     virtual void SAL_CALL setMatchSoundsLike( ::sal_Bool _matchsoundslike ) throw (css::uno::RuntimeException);
86     virtual ::sal_Bool SAL_CALL getMatchAllWordForms() throw (css::uno::RuntimeException);
87     virtual void SAL_CALL setMatchAllWordForms( ::sal_Bool _matchallwordforms ) throw (css::uno::RuntimeException);
88     virtual css::uno::Any SAL_CALL getStyle() throw (css::uno::RuntimeException);
89     virtual void SAL_CALL setStyle( const css::uno::Any& _style ) throw (css::uno::RuntimeException);
90 
91     // Methods
92     virtual ::sal_Bool SAL_CALL Execute( const css::uno::Any& FindText, const css::uno::Any& MatchCase, const css::uno::Any& MatchWholeWord, const css::uno::Any& MatchWildcards, const css::uno::Any& MatchSoundsLike, const css::uno::Any& MatchAllWordForms, const css::uno::Any& Forward, const css::uno::Any& Wrap, const css::uno::Any& Format, const css::uno::Any& ReplaceWith, const css::uno::Any& Replace, const css::uno::Any& MatchKashida, const css::uno::Any& MatchDiacritics, const css::uno::Any& MatchAlefHamza, const css::uno::Any& MatchControl, const css::uno::Any& MatchPrefix, const css::uno::Any& MatchSuffix, const css::uno::Any& MatchPhrase, const css::uno::Any& IgnoreSpace, const css::uno::Any& IgnorePunct ) throw (css::uno::RuntimeException);
93     virtual void SAL_CALL ClearFormatting(  ) throw (css::uno::RuntimeException);
94 
95 	// XHelperInterface
96 	virtual rtl::OUString& getServiceImplName();
97 	virtual css::uno::Sequence<rtl::OUString> getServiceNames();
98 };
99 #endif /* SW_VBA_FIND_HXX */
100