xref: /AOO41X/main/sd/source/ui/inc/tpoption.hxx (revision cbe4a5e32dd06077057875dd5ecd4d8f1991662a)
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 
24 #ifndef _SD_TPOPTION_HXX
25 #define _SD_TPOPTION_HXX
26 
27 
28 #ifndef _LSTBOX_HXX //autogen
29 #include <vcl/lstbox.hxx>
30 #endif
31 #ifndef _GROUP_HXX //autogen
32 #include <vcl/group.hxx>
33 #endif
34 #ifndef _FIXED_HXX //autogen
35 #include <vcl/fixed.hxx>
36 #endif
37 #ifndef _FIELD_HXX //autogen
38 #include <vcl/field.hxx>
39 #endif
40 #ifndef _BUTTON_HXX //autogen
41 #include <vcl/button.hxx>
42 #endif
43 #include <svtools/stdctrl.hxx>
44 #include <sfx2/tabdlg.hxx>
45 #include <svx/optgrid.hxx>
46 
47 /*************************************************************************
48 |*
49 |* Optionen-Tab-Page: Snap
50 |*
51 \************************************************************************/
52 class SdTpOptionsSnap : public SvxGridTabPage
53 {
54 public:
55             SdTpOptionsSnap( Window* pParent, const SfxItemSet& rInAttrs  );
56             ~SdTpOptionsSnap();
57 
58     static  SfxTabPage* Create( Window*, const SfxItemSet& );
59     virtual sal_Bool FillItemSet( SfxItemSet& );
60     virtual void Reset( const SfxItemSet & );
61 
62 //    virtual void ActivatePage( const SfxItemSet& rSet );
63 //    virtual int  DeactivatePage( SfxItemSet* pSet );
64 };
65 /*************************************************************************
66 |*
67 |* Optionen-Tab-Page: Contents (Inhalte)
68 |*
69 \************************************************************************/
70 class SdTpOptionsContents : public SfxTabPage
71 {
72 private:
73     FixedLine    aGrpDisplay;
74     CheckBox    aCbxRuler;
75     CheckBox    aCbxDragStripes;
76     CheckBox    aCbxHandlesBezier;
77     CheckBox    aCbxMoveOutline;
78 
79 
80 public:
81             SdTpOptionsContents( Window* pParent, const SfxItemSet& rInAttrs  );
82             ~SdTpOptionsContents();
83 
84     static  SfxTabPage* Create( Window*, const SfxItemSet& );
85     virtual sal_Bool FillItemSet( SfxItemSet& );
86     virtual void Reset( const SfxItemSet & );
87 };
88 
89 /*************************************************************************
90 |*
91 |* Optionen-Tab-Page: View
92 |*
93 \************************************************************************/
94 class SdModule;
95 class SdTpOptionsMisc : public SfxTabPage
96 {
97  friend class SdOptionsDlg;
98  friend class SdModule;
99 
100 private:
101     FixedLine   aGrpText;
102     CheckBox    aCbxQuickEdit;
103     CheckBox    aCbxPickThrough;
104 
105     FixedLine   aGrpProgramStart;
106     CheckBox    aCbxStartWithTemplate;
107 
108     FixedLine   aGrpSettings;
109     CheckBox    aCbxMasterPageCache;
110     CheckBox    aCbxCopy;
111     CheckBox    aCbxMarkedHitMovesAlways;
112     CheckBox    aCbxCrookNoContortion;
113 
114     FixedText   aTxtMetric;
115     ListBox     aLbMetric;
116     FixedText   aTxtTabstop;
117     MetricField aMtrFldTabstop;
118 
119     CheckBox    aCbxStartWithActualPage;
120     CheckBox    aCbxStartWithPresenterScreen;
121     FixedLine   aGrpStartWithActualPage;
122     FixedLine   aTxtCompatibility;
123     CheckBox    aCbxUsePrinterMetrics;
124     CheckBox    aCbxCompatibility;
125 
126     //Scale
127     FixedLine       aGrpScale;
128     FixedText       aFtScale;
129     ComboBox        aCbScale;
130 
131     FixedText       aFtOriginal;
132     FixedText       aFtEquivalent;
133 
134     FixedText       aFtPageWidth;
135     FixedInfo       aFiInfo1;
136     MetricField     aMtrFldOriginalWidth;
137 
138     FixedText       aFtPageHeight;
139     FixedInfo       aFiInfo2;
140     MetricField     aMtrFldOriginalHeight;
141 
142     MetricField     aMtrFldInfo1;
143     MetricField     aMtrFldInfo2;
144 
145     sal_uInt32          nWidth;
146     sal_uInt32          nHeight;
147     String          aInfo1;
148     String          aInfo2;
149 
150     SfxMapUnit          ePoolUnit;
151 
152     String          GetScale( sal_Int32 nX, sal_Int32 nY );
153     sal_Bool            SetScale( const String& aScale, sal_Int32& rX, sal_Int32& rY );
154 
155     DECL_LINK( ModifyScaleHdl, void * );
156     DECL_LINK( ModifyOriginalScaleHdl, void * );
157     DECL_LINK( SelectMetricHdl_Impl, ListBox * );
158 
159     /** Enable or disable the controls in the compatibility section of the
160         'general' tab page depending on whether there is at least one
161         document.
162     */
163     void UpdateCompatibilityControls (void);
164 
165 protected:
166     virtual void ActivatePage( const SfxItemSet& rSet );
167     virtual int DeactivatePage( SfxItemSet* pSet );
168 
169 public:
170             SdTpOptionsMisc( Window* pParent, const SfxItemSet& rInAttrs  );
171             ~SdTpOptionsMisc();
172 
173     static  SfxTabPage* Create( Window*, const SfxItemSet& );
174     virtual sal_Bool FillItemSet( SfxItemSet& );
175     virtual void Reset( const SfxItemSet & );
176 
177     /** Hide Impress specific controls, make Draw specific controls visible
178         and arrange the visible controls.  Do not call this method or the
179         <member>SetImpressMode()</member> method more than once.
180     */
181     void SetDrawMode (void);
182 
183     /** Hide Draw specific controls, make Impress specific controls visible
184         and arrange the visible controls.  Do not call this method or the
185         <member>SetDrawMode()</member> method more than once.
186     */
187     void SetImpressMode (void);
188     virtual void        PageCreated (SfxAllItemSet aSet);
189 
190     using TabPage::ActivatePage;
191     using TabPage::DeactivatePage;
192     using OutputDevice::SetDrawMode;
193 
194 };
195 
196 
197 #endif // _SD_TPOPTION_HXX
198 
199