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 SC_VBA_XLINEFORMAT_HXX
24 #define SC_VBA_XLINEFORMAT_HXX
25 
26 #include <com/sun/star/drawing/XShape.hpp>
27 #include <com/sun/star/beans/XPropertySet.hpp>
28 #include <ooo/vba/msforms/XLineFormat.hpp>
29 #include <vbahelper/vbahelperinterface.hxx>
30 
31 typedef InheritedHelperInterfaceImpl1< ov::msforms::XLineFormat > ScVbaLineFormat_BASE;
32 
33 class ScVbaLineFormat : public ScVbaLineFormat_BASE
34 {
35 private:
36     css::uno::Reference< css::drawing::XShape > m_xShape;
37     css::uno::Reference< css::beans::XPropertySet > m_xPropertySet;
38     sal_Int32 m_nLineDashStyle;
39     double m_nLineWeight;
40 protected:
41     virtual rtl::OUString& getServiceImplName();
42     virtual css::uno::Sequence<rtl::OUString> getServiceNames();
43     sal_Int32 convertLineStartEndNameToArrowheadStyle( rtl::OUString sLineName );
44     rtl::OUString convertArrowheadStyleToLineStartEndName( sal_Int32 nArrowheadStyle ) throw (css::uno::RuntimeException);
45     sal_Int32 calculateArrowheadSize();
46 public:
47     ScVbaLineFormat( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::drawing::XShape > xShape );
48 
49     // Attributes
50     virtual sal_Int32 SAL_CALL getBeginArrowheadStyle() throw (css::uno::RuntimeException);
51     virtual void SAL_CALL setBeginArrowheadStyle( sal_Int32 _beginarrowheadstyle ) throw (css::uno::RuntimeException);
52     virtual sal_Int32 SAL_CALL getBeginArrowheadLength() throw (css::uno::RuntimeException);
53     virtual void SAL_CALL setBeginArrowheadLength( sal_Int32 _beginarrowheadlength ) throw (css::uno::RuntimeException);
54     virtual sal_Int32 SAL_CALL getBeginArrowheadWidth() throw (css::uno::RuntimeException);
55     virtual void SAL_CALL setBeginArrowheadWidth( sal_Int32 _beginarrowheadwidth ) throw (css::uno::RuntimeException);
56     virtual sal_Int32 SAL_CALL getEndArrowheadStylel() throw (css::uno::RuntimeException);
57     virtual void SAL_CALL setEndArrowheadStylel( sal_Int32 _endarrowheadstylel ) throw (css::uno::RuntimeException);
58     virtual sal_Int32 SAL_CALL getEndArrowheadLength() throw (css::uno::RuntimeException);
59     virtual void SAL_CALL setEndArrowheadLength( sal_Int32 _endarrowheadlength ) throw (css::uno::RuntimeException);
60     virtual sal_Int32 SAL_CALL getEndArrowheadWidth() throw (css::uno::RuntimeException);
61     virtual void SAL_CALL setEndArrowheadWidth( sal_Int32 _endarrowheadwidth ) throw (css::uno::RuntimeException);
62     virtual double SAL_CALL getWeight() throw (css::uno::RuntimeException);
63     virtual void SAL_CALL setWeight( double _weight ) throw (css::uno::RuntimeException);
64     virtual sal_Bool SAL_CALL getVisible() throw (css::uno::RuntimeException);
65     virtual void SAL_CALL setVisible( sal_Bool _visible ) throw (css::uno::RuntimeException);
66     virtual double SAL_CALL getTransparency() throw (css::uno::RuntimeException);
67     virtual void SAL_CALL setTransparency( double _transparency ) throw (css::uno::RuntimeException);
68     virtual sal_Int16 SAL_CALL getStyle() throw (css::uno::RuntimeException);
69     virtual void SAL_CALL setStyle( sal_Int16 _style ) throw (css::uno::RuntimeException);
70     virtual sal_Int32 SAL_CALL getDashStyle() throw (css::uno::RuntimeException);
71     virtual void SAL_CALL setDashStyle( sal_Int32 _dashstyle ) throw (css::uno::RuntimeException);
72 
73     // Methods
74     virtual css::uno::Reference< ov::msforms::XColorFormat > SAL_CALL BackColor() throw (css::uno::RuntimeException);
75     virtual css::uno::Reference< ov::msforms::XColorFormat > SAL_CALL ForeColor() throw (css::uno::RuntimeException);
76 };
77 
78 #endif//SC_VBA_XLINEFORMAT_HXX
79