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 _CHART2_TP_AXISPOSITIONS_HXX
24 #define _CHART2_TP_AXISPOSITIONS_HXX
25 
26 // header for SfxTabPage
27 #include <sfx2/tabdlg.hxx>
28 #include <svtools/fmtfield.hxx>
29 #include <vcl/fixed.hxx>
30 #include <vcl/button.hxx>
31 #include <vcl/field.hxx>
32 #include <vcl/lstbox.hxx>
33 //class SvNumberFormatter;
34 
35 //.............................................................................
36 namespace chart
37 {
38 //.............................................................................
39 
40 class AxisPositionsTabPage : public SfxTabPage
41 {
42 public:
43 	AxisPositionsTabPage( Window* pParent, const SfxItemSet& rInAttrs );
44 
45 	static SfxTabPage* Create( Window* pParent, const SfxItemSet& rInAttrs );
46 	virtual sal_Bool FillItemSet( SfxItemSet& rOutAttrs );
47 	virtual void Reset( const SfxItemSet& rInAttrs );
48     using TabPage::DeactivatePage;
49 	virtual int DeactivatePage( SfxItemSet* pItemSet = NULL );
50 
51 	void SetNumFormatter( SvNumberFormatter* pFormatter );
52 
53     void SetCrossingAxisIsCategoryAxis( bool bCrossingAxisIsCategoryAxis );
54     void SetCategories( const ::com::sun::star::uno::Sequence< rtl::OUString >& rCategories );
55 
56     void SupportAxisPositioning( bool bSupportAxisPositioning );
57 
58 private: //methods:
59     DECL_LINK( CrossesAtSelectHdl, void* );
60     DECL_LINK( PlaceLabelsSelectHdl, void* );
61 
62 private: //member:
63     FixedLine           m_aFL_AxisLine;
64     FixedText           m_aFT_CrossesAt;
65     ListBox             m_aLB_CrossesAt;
66     FormattedField      m_aED_CrossesAt;
67     ComboBox            m_aED_CrossesAtCategory;
68     CheckBox			m_aCB_AxisBetweenCategories;
69 
70     FixedLine       m_aFL_Labels;
71     FixedText       m_aFT_PlaceLabels;
72     ListBox         m_aLB_PlaceLabels;
73     FixedText       m_aFT_LabelDistance;
74     FormattedField  m_aED_LabelDistance;
75 
76     FixedLine   m_aFL_Ticks;
77 
78     FixedText   m_aFT_Major;
79     CheckBox    m_aCB_TicksInner;
80 	CheckBox    m_aCB_TicksOuter;
81 
82     FixedText   m_aFT_Minor;
83 	CheckBox    m_aCB_MinorInner;
84 	CheckBox    m_aCB_MinorOuter;
85 
86     FixedLine   m_aFL_Vertical;
87     FixedText   m_aFT_PlaceTicks;
88     ListBox     m_aLB_PlaceTicks;
89 
90     FixedLine   m_aFL_Grids;
91     CheckBox    m_aCB_MajorGrid;
92     PushButton  m_aPB_MajorGrid;
93     CheckBox    m_aCB_MinorGrid;
94     PushButton  m_aPB_MinorGrid;
95 
96 	SvNumberFormatter*	m_pNumFormatter;
97 
98     bool    m_bCrossingAxisIsCategoryAxis;
99     ::com::sun::star::uno::Sequence< rtl::OUString > m_aCategories;
100 
101     bool    m_bSupportAxisPositioning;
102 };
103 
104 //.............................................................................
105 } //namespace chart
106 //.............................................................................
107 
108 #endif
109