xref: /trunk/main/chart2/source/controller/dialogs/tp_Scale.hxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 #ifndef _CHART2_TP_SCALES_HXX
28 #define _CHART2_TP_SCALES_HXX
29 
30 // header for SfxTabPage
31 #include <sfx2/tabdlg.hxx>
32 // header for class FormattedField
33 #include <svtools/fmtfield.hxx>
34 // header for FixedText
35 #include <vcl/fixed.hxx>
36 // header for CheckBox
37 #include <vcl/button.hxx>
38 // header for MetricField
39 #include <vcl/field.hxx>
40 // header for class ListBox
41 #include <vcl/lstbox.hxx>
42 
43 //.............................................................................
44 namespace chart
45 {
46 //.............................................................................
47 
48 class ScaleTabPage : public SfxTabPage
49 {
50 public:
51     ScaleTabPage( Window* pParent, const SfxItemSet& rInAttrs );
52 
53     static SfxTabPage* Create( Window* pParent, const SfxItemSet& rInAttrs );
54     virtual sal_Bool FillItemSet( SfxItemSet& rOutAttrs );
55     virtual void Reset( const SfxItemSet& rInAttrs );
56     using TabPage::DeactivatePage;
57     virtual int DeactivatePage( SfxItemSet* pItemSet = NULL );
58 
59     void SetNumFormatter( SvNumberFormatter* pFormatter );
60     void SetNumFormat();
61 
62     void ShowAxisOrigin( bool bShowOrigin );
63 
64     virtual void StateChanged( StateChangedType nType );
65 
66 private:
67     FixedLine           aFlScale;
68 
69     CheckBox            aCbxReverse;
70 
71     CheckBox            aCbxLogarithm;
72 
73     FixedText           m_aTxt_AxisType;
74     ListBox             m_aLB_AxisType;
75 
76     FixedText           aTxtMin;
77     FormattedField      aFmtFldMin;
78     CheckBox            aCbxAutoMin;
79 
80     FixedText           aTxtMax;
81     FormattedField      aFmtFldMax;
82     CheckBox            aCbxAutoMax;
83 
84     FixedText           m_aTxt_TimeResolution;
85     ListBox             m_aLB_TimeResolution;
86     CheckBox            m_aCbx_AutoTimeResolution;
87 
88     FixedText           aTxtMain;
89     FormattedField      aFmtFldStepMain;
90     MetricField         m_aMt_MainDateStep;
91     ListBox             m_aLB_MainTimeUnit;
92     CheckBox            aCbxAutoStepMain;
93 
94     FixedText           aTxtHelpCount;
95     FixedText           aTxtHelp;
96     MetricField         aMtStepHelp;
97     ListBox             m_aLB_HelpTimeUnit;
98     CheckBox            aCbxAutoStepHelp;
99 
100     FixedText           aTxtOrigin;
101     FormattedField      aFmtFldOrigin;
102     CheckBox            aCbxAutoOrigin;
103 
104     double              fMin;
105     double              fMax;
106     double              fStepMain;
107     sal_Int32           nStepHelp;
108     double              fOrigin;
109     sal_Int32           m_nTimeResolution;
110     sal_Int32           m_nMainTimeUnit;
111     sal_Int32           m_nHelpTimeUnit;
112     int                 m_nAxisType;
113     bool                m_bAllowDateAxis;
114     SvNumberFormatter*  pNumFormatter;
115 
116     bool                m_bShowAxisOrigin;
117 
118     void AdjustControlPositions();
119     void EnableControls();
120     void PlaceIntervalControlsAccordingToAxisType();
121 
122     DECL_LINK( SelectAxisTypeHdl, void* );
123     DECL_LINK( EnableValueHdl, CheckBox* );
124     DECL_LINK( FmtFieldModifiedHdl, FormattedField* );
125 
126     /** shows a warning window due to an invalid input.
127 
128         @param nResIdMessage
129             The resource identifier that represents the localized warning text.
130             If this is 0, no warning is shown and false is returned.
131 
132         @param pControl
133             If non-NULL, contains a pointer to the control in which the
134             errornous value was in.  This method gives this control the focus
135             and selects its content.
136 
137         @return false, if nResIdMessage was 0, true otherwise
138      */
139     bool ShowWarning( sal_uInt16 nResIdMessage, Control* pControl = NULL );
140 };
141 
142 //.............................................................................
143 } //namespace chart
144 //.............................................................................
145 
146 #endif
147 
148