xref: /trunk/main/sc/source/ui/vba/vbahyperlink.hxx (revision 38d50f7b)
1*38d50f7bSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*38d50f7bSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*38d50f7bSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*38d50f7bSAndrew Rist  * distributed with this work for additional information
6*38d50f7bSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*38d50f7bSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*38d50f7bSAndrew Rist  * "License"); you may not use this file except in compliance
9*38d50f7bSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*38d50f7bSAndrew Rist  *
11*38d50f7bSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*38d50f7bSAndrew Rist  *
13*38d50f7bSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*38d50f7bSAndrew Rist  * software distributed under the License is distributed on an
15*38d50f7bSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*38d50f7bSAndrew Rist  * KIND, either express or implied.  See the License for the
17*38d50f7bSAndrew Rist  * specific language governing permissions and limitations
18*38d50f7bSAndrew Rist  * under the License.
19*38d50f7bSAndrew Rist  *
20*38d50f7bSAndrew Rist  *************************************************************/
21*38d50f7bSAndrew Rist 
22*38d50f7bSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SC_VBA_HYPERLINK_HXX
25cdf0e10cSrcweir #define SC_VBA_HYPERLINK_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <ooo/vba/excel/XHyperlink.hpp>
28cdf0e10cSrcweir #include <com/sun/star/table/XCell.hpp>
29cdf0e10cSrcweir #include <com/sun/star/beans/XPropertySet.hpp>
30cdf0e10cSrcweir #include <ooo/vba/excel/XRange.hpp>
31cdf0e10cSrcweir 
32cdf0e10cSrcweir #include <vbahelper/vbahelperinterface.hxx>
33cdf0e10cSrcweir 
34cdf0e10cSrcweir typedef InheritedHelperInterfaceImpl1< ov::excel::XHyperlink > HyperlinkImpl_BASE;
35cdf0e10cSrcweir 
36cdf0e10cSrcweir class ScVbaHyperlink : public HyperlinkImpl_BASE
37cdf0e10cSrcweir {
38cdf0e10cSrcweir public:
39cdf0e10cSrcweir     ScVbaHyperlink(
40cdf0e10cSrcweir         const css::uno::Sequence< css::uno::Any >& rArgs,
41cdf0e10cSrcweir         const css::uno::Reference< css::uno::XComponentContext >& rxContext ) throw (css::lang::IllegalArgumentException);
42cdf0e10cSrcweir 
43cdf0e10cSrcweir     ScVbaHyperlink(
44cdf0e10cSrcweir         const css::uno::Reference< ov::XHelperInterface >& rxAnchor,
45cdf0e10cSrcweir         const css::uno::Reference< css::uno::XComponentContext >& rxContext,
46cdf0e10cSrcweir         const css::uno::Any& rAddress, const css::uno::Any& rSubAddress,
47cdf0e10cSrcweir         const css::uno::Any& rScreenTip, const css::uno::Any& rTextToDisplay ) throw (css::uno::RuntimeException);
48cdf0e10cSrcweir 
49cdf0e10cSrcweir     virtual ~ScVbaHyperlink();
50cdf0e10cSrcweir 
51cdf0e10cSrcweir     // Attributes
52cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException);
53cdf0e10cSrcweir     virtual void SAL_CALL setName( const ::rtl::OUString& rName ) throw (css::uno::RuntimeException);
54cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAddress() throw (css::uno::RuntimeException);
55cdf0e10cSrcweir     virtual void SAL_CALL setAddress( const ::rtl::OUString& rAddress ) throw (css::uno::RuntimeException);
56cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getSubAddress() throw (css::uno::RuntimeException);
57cdf0e10cSrcweir     virtual void SAL_CALL setSubAddress( const ::rtl::OUString& rSubAddress ) throw (css::uno::RuntimeException);
58cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getScreenTip() throw (css::uno::RuntimeException);
59cdf0e10cSrcweir     virtual void SAL_CALL setScreenTip( const ::rtl::OUString& rScreenTip ) throw (css::uno::RuntimeException);
60cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getTextToDisplay() throw (css::uno::RuntimeException);
61cdf0e10cSrcweir     virtual void SAL_CALL setTextToDisplay( const ::rtl::OUString& rTextToDisplay ) throw (css::uno::RuntimeException);
62cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getType() throw (css::uno::RuntimeException);
63cdf0e10cSrcweir     virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getRange() throw (css::uno::RuntimeException);
64cdf0e10cSrcweir     virtual css::uno::Reference< ov::msforms::XShape > SAL_CALL getShape() throw (css::uno::RuntimeException);
65cdf0e10cSrcweir 
66cdf0e10cSrcweir     // XHelperInterface
67cdf0e10cSrcweir     VBAHELPER_DECL_XHELPERINTERFACE
68cdf0e10cSrcweir 
69cdf0e10cSrcweir private:
70cdf0e10cSrcweir     typedef ::std::pair< ::rtl::OUString, ::rtl::OUString > UrlComponents;
71cdf0e10cSrcweir 
72cdf0e10cSrcweir     void ensureTextField() throw (css::uno::RuntimeException);
73cdf0e10cSrcweir     UrlComponents getUrlComponents() throw (css::uno::RuntimeException);
74cdf0e10cSrcweir     void setUrlComponents( const UrlComponents& rUrlComp ) throw (css::uno::RuntimeException);
75cdf0e10cSrcweir 
76cdf0e10cSrcweir private:
77cdf0e10cSrcweir     css::uno::Reference< css::table::XCell > mxCell;
78cdf0e10cSrcweir     css::uno::Reference< css::beans::XPropertySet > mxTextField;
79cdf0e10cSrcweir     ::rtl::OUString maScreenTip;
80cdf0e10cSrcweir     long mnType;
81cdf0e10cSrcweir };
82cdf0e10cSrcweir 
83cdf0e10cSrcweir #endif /* SC_VBA_HYPERLINK_HXX */
84cdf0e10cSrcweir 
85