1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sc.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski #undef SC_DLLIMPLEMENTATION
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
32*b1cdbd2cSJim Jagielski
33*b1cdbd2cSJim Jagielski #include <svl/zforlist.hxx>
34*b1cdbd2cSJim Jagielski #include <vcl/msgbox.hxx>
35*b1cdbd2cSJim Jagielski #include <limits.h>
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski #include "scresid.hxx"
38*b1cdbd2cSJim Jagielski #include "document.hxx"
39*b1cdbd2cSJim Jagielski #include "miscdlgs.hrc"
40*b1cdbd2cSJim Jagielski
41*b1cdbd2cSJim Jagielski #define _FILLDLG_CXX
42*b1cdbd2cSJim Jagielski #include "filldlg.hxx"
43*b1cdbd2cSJim Jagielski #undef _FILLDLG_CXX
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski
47*b1cdbd2cSJim Jagielski //============================================================================
48*b1cdbd2cSJim Jagielski // class ScFillSeriesDlg
49*b1cdbd2cSJim Jagielski
50*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
51*b1cdbd2cSJim Jagielski
ScFillSeriesDlg(Window * pParent,ScDocument & rDocument,FillDir eFillDir,FillCmd eFillCmd,FillDateCmd eFillDateCmd,String aStartStr,double fStep,double fMax,sal_uInt16 nPossDir)52*b1cdbd2cSJim Jagielski ScFillSeriesDlg::ScFillSeriesDlg( Window* pParent,
53*b1cdbd2cSJim Jagielski ScDocument& rDocument,
54*b1cdbd2cSJim Jagielski FillDir eFillDir,
55*b1cdbd2cSJim Jagielski FillCmd eFillCmd,
56*b1cdbd2cSJim Jagielski FillDateCmd eFillDateCmd,
57*b1cdbd2cSJim Jagielski String aStartStr,
58*b1cdbd2cSJim Jagielski double fStep,
59*b1cdbd2cSJim Jagielski double fMax,
60*b1cdbd2cSJim Jagielski sal_uInt16 nPossDir )
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielski : ModalDialog ( pParent, ScResId( RID_SCDLG_FILLSERIES ) ),
63*b1cdbd2cSJim Jagielski
64*b1cdbd2cSJim Jagielski aFtStartVal ( this, ScResId( FT_START_VALUE ) ),
65*b1cdbd2cSJim Jagielski aEdStartVal ( this, ScResId( ED_START_VALUES ) ),
66*b1cdbd2cSJim Jagielski aStartStrVal ( aStartStr),
67*b1cdbd2cSJim Jagielski
68*b1cdbd2cSJim Jagielski aFtEndVal ( this, ScResId( FT_END_VALUE ) ),
69*b1cdbd2cSJim Jagielski aEdEndVal ( this, ScResId( ED_END_VALUES ) ),
70*b1cdbd2cSJim Jagielski
71*b1cdbd2cSJim Jagielski aFtIncrement ( this, ScResId( FT_INCREMENT ) ),
72*b1cdbd2cSJim Jagielski aEdIncrement ( this, ScResId( ED_INCREMENT ) ),
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski aFlDirection ( this, ScResId( FL_DIRECTION ) ),
75*b1cdbd2cSJim Jagielski aBtnDown ( this, ScResId( BTN_BOTTOM ) ),
76*b1cdbd2cSJim Jagielski aBtnRight ( this, ScResId( BTN_RIGHT ) ),
77*b1cdbd2cSJim Jagielski aBtnUp ( this, ScResId( BTN_TOP ) ),
78*b1cdbd2cSJim Jagielski aBtnLeft ( this, ScResId( BTN_LEFT ) ),
79*b1cdbd2cSJim Jagielski aFlSep1 ( this, ScResId( FL_SEP1 ) ),
80*b1cdbd2cSJim Jagielski aFlType ( this, ScResId( FL_TYPE ) ),
81*b1cdbd2cSJim Jagielski aBtnArithmetic ( this, ScResId( BTN_ARITHMETIC ) ),
82*b1cdbd2cSJim Jagielski aBtnGeometric ( this, ScResId( BTN_GEOMETRIC ) ),
83*b1cdbd2cSJim Jagielski aBtnDate ( this, ScResId( BTN_DATE ) ),
84*b1cdbd2cSJim Jagielski aBtnAutoFill ( this, ScResId( BTN_AUTOFILL ) ),
85*b1cdbd2cSJim Jagielski aFlSep2 ( this, ScResId( FL_SEP2 ) ),
86*b1cdbd2cSJim Jagielski aFlTimeUnit ( this, ScResId( FL_TIME_UNIT ) ),
87*b1cdbd2cSJim Jagielski aBtnDay ( this, ScResId( BTN_DAY ) ),
88*b1cdbd2cSJim Jagielski aBtnDayOfWeek ( this, ScResId( BTN_DAY_OF_WEEK ) ),
89*b1cdbd2cSJim Jagielski aBtnMonth ( this, ScResId( BTN_MONTH ) ),
90*b1cdbd2cSJim Jagielski aBtnYear ( this, ScResId( BTN_YEAR ) ),
91*b1cdbd2cSJim Jagielski
92*b1cdbd2cSJim Jagielski aBtnOk ( this, ScResId( BTN_OK ) ),
93*b1cdbd2cSJim Jagielski aBtnCancel ( this, ScResId( BTN_CANCEL ) ),
94*b1cdbd2cSJim Jagielski aBtnHelp ( this, ScResId( BTN_HELP ) ),
95*b1cdbd2cSJim Jagielski errMsgInvalidVal( ScResId( STR_VALERR ) ),
96*b1cdbd2cSJim Jagielski rDoc ( rDocument ),
97*b1cdbd2cSJim Jagielski theFillDir ( eFillDir ),
98*b1cdbd2cSJim Jagielski theFillCmd ( eFillCmd ),
99*b1cdbd2cSJim Jagielski theFillDateCmd ( eFillDateCmd ),
100*b1cdbd2cSJim Jagielski fIncrement ( fStep ),
101*b1cdbd2cSJim Jagielski fEndVal ( fMax )
102*b1cdbd2cSJim Jagielski {
103*b1cdbd2cSJim Jagielski Init( nPossDir );
104*b1cdbd2cSJim Jagielski FreeResource();
105*b1cdbd2cSJim Jagielski }
106*b1cdbd2cSJim Jagielski
107*b1cdbd2cSJim Jagielski
108*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
109*b1cdbd2cSJim Jagielski
~ScFillSeriesDlg()110*b1cdbd2cSJim Jagielski __EXPORT ScFillSeriesDlg::~ScFillSeriesDlg()
111*b1cdbd2cSJim Jagielski {
112*b1cdbd2cSJim Jagielski }
113*b1cdbd2cSJim Jagielski
114*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
115*b1cdbd2cSJim Jagielski
SetEdStartValEnabled(sal_Bool bFlag)116*b1cdbd2cSJim Jagielski void ScFillSeriesDlg::SetEdStartValEnabled(sal_Bool bFlag)
117*b1cdbd2cSJim Jagielski {
118*b1cdbd2cSJim Jagielski bStartValFlag=bFlag;
119*b1cdbd2cSJim Jagielski if(bFlag)
120*b1cdbd2cSJim Jagielski {
121*b1cdbd2cSJim Jagielski aFtStartVal.Enable();
122*b1cdbd2cSJim Jagielski aEdStartVal.Enable();
123*b1cdbd2cSJim Jagielski }
124*b1cdbd2cSJim Jagielski else
125*b1cdbd2cSJim Jagielski {
126*b1cdbd2cSJim Jagielski aFtStartVal.Disable();
127*b1cdbd2cSJim Jagielski aEdStartVal.Disable();
128*b1cdbd2cSJim Jagielski }
129*b1cdbd2cSJim Jagielski }
130*b1cdbd2cSJim Jagielski
131*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
132*b1cdbd2cSJim Jagielski
Init(sal_uInt16 nPossDir)133*b1cdbd2cSJim Jagielski void ScFillSeriesDlg::Init( sal_uInt16 nPossDir )
134*b1cdbd2cSJim Jagielski {
135*b1cdbd2cSJim Jagielski aBtnOk.SetClickHdl ( LINK( this, ScFillSeriesDlg, OKHdl ) );
136*b1cdbd2cSJim Jagielski aBtnArithmetic.SetClickHdl ( LINK( this, ScFillSeriesDlg, DisableHdl ) );
137*b1cdbd2cSJim Jagielski aBtnGeometric.SetClickHdl ( LINK( this, ScFillSeriesDlg, DisableHdl ) );
138*b1cdbd2cSJim Jagielski aBtnDate.SetClickHdl ( LINK( this, ScFillSeriesDlg, DisableHdl ) );
139*b1cdbd2cSJim Jagielski aBtnAutoFill.SetClickHdl ( LINK( this, ScFillSeriesDlg, DisableHdl ) );
140*b1cdbd2cSJim Jagielski
141*b1cdbd2cSJim Jagielski if( nPossDir == FDS_OPT_NONE )
142*b1cdbd2cSJim Jagielski {
143*b1cdbd2cSJim Jagielski aBtnLeft.Disable();
144*b1cdbd2cSJim Jagielski aBtnRight.Disable();
145*b1cdbd2cSJim Jagielski aBtnDown.Disable();
146*b1cdbd2cSJim Jagielski aBtnUp.Disable();
147*b1cdbd2cSJim Jagielski }
148*b1cdbd2cSJim Jagielski
149*b1cdbd2cSJim Jagielski if( nPossDir == FDS_OPT_HORZ )
150*b1cdbd2cSJim Jagielski {
151*b1cdbd2cSJim Jagielski aBtnDown.Disable();
152*b1cdbd2cSJim Jagielski aBtnUp.Disable();
153*b1cdbd2cSJim Jagielski }
154*b1cdbd2cSJim Jagielski
155*b1cdbd2cSJim Jagielski if( nPossDir == FDS_OPT_VERT )
156*b1cdbd2cSJim Jagielski {
157*b1cdbd2cSJim Jagielski aBtnLeft.Disable();
158*b1cdbd2cSJim Jagielski aBtnRight.Disable();
159*b1cdbd2cSJim Jagielski }
160*b1cdbd2cSJim Jagielski
161*b1cdbd2cSJim Jagielski switch ( theFillDir )
162*b1cdbd2cSJim Jagielski {
163*b1cdbd2cSJim Jagielski case FILL_TO_LEFT: aBtnLeft.Check(); break;
164*b1cdbd2cSJim Jagielski case FILL_TO_RIGHT: aBtnRight.Check(); break;
165*b1cdbd2cSJim Jagielski case FILL_TO_BOTTOM: aBtnDown.Check(); break;
166*b1cdbd2cSJim Jagielski case FILL_TO_TOP: aBtnUp.Check(); break;
167*b1cdbd2cSJim Jagielski default:
168*b1cdbd2cSJim Jagielski break;
169*b1cdbd2cSJim Jagielski }
170*b1cdbd2cSJim Jagielski
171*b1cdbd2cSJim Jagielski switch ( theFillCmd )
172*b1cdbd2cSJim Jagielski {
173*b1cdbd2cSJim Jagielski case FILL_LINEAR:
174*b1cdbd2cSJim Jagielski aBtnArithmetic.Check();
175*b1cdbd2cSJim Jagielski DisableHdl( &aBtnArithmetic );
176*b1cdbd2cSJim Jagielski break;
177*b1cdbd2cSJim Jagielski case FILL_GROWTH:
178*b1cdbd2cSJim Jagielski aBtnGeometric.Check();
179*b1cdbd2cSJim Jagielski DisableHdl( &aBtnGeometric );
180*b1cdbd2cSJim Jagielski break;
181*b1cdbd2cSJim Jagielski case FILL_DATE:
182*b1cdbd2cSJim Jagielski aBtnDate.Check();
183*b1cdbd2cSJim Jagielski DisableHdl( &aBtnDate );
184*b1cdbd2cSJim Jagielski break;
185*b1cdbd2cSJim Jagielski case FILL_AUTO:
186*b1cdbd2cSJim Jagielski aBtnAutoFill.Check();
187*b1cdbd2cSJim Jagielski DisableHdl( &aBtnAutoFill );
188*b1cdbd2cSJim Jagielski break;
189*b1cdbd2cSJim Jagielski default:
190*b1cdbd2cSJim Jagielski break;
191*b1cdbd2cSJim Jagielski }
192*b1cdbd2cSJim Jagielski
193*b1cdbd2cSJim Jagielski switch ( theFillDateCmd )
194*b1cdbd2cSJim Jagielski {
195*b1cdbd2cSJim Jagielski case FILL_DAY: aBtnDay.Check(); break;
196*b1cdbd2cSJim Jagielski case FILL_WEEKDAY: aBtnDayOfWeek.Check(); break;
197*b1cdbd2cSJim Jagielski case FILL_MONTH: aBtnMonth.Check(); break;
198*b1cdbd2cSJim Jagielski case FILL_YEAR: aBtnYear.Check(); break;
199*b1cdbd2cSJim Jagielski default:
200*b1cdbd2cSJim Jagielski break;
201*b1cdbd2cSJim Jagielski }
202*b1cdbd2cSJim Jagielski
203*b1cdbd2cSJim Jagielski fStartVal = MAXDOUBLE;
204*b1cdbd2cSJim Jagielski /*
205*b1cdbd2cSJim Jagielski String aStartTxt;
206*b1cdbd2cSJim Jagielski if ( fStartVal != MAXDOUBLE )
207*b1cdbd2cSJim Jagielski rDoc.GetFormatTable()->GetInputLineString( fStartVal, 0, aStartTxt );
208*b1cdbd2cSJim Jagielski aEdStartVal.SetText( aStartTxt );
209*b1cdbd2cSJim Jagielski */
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski aEdStartVal.SetText( aStartStrVal);
212*b1cdbd2cSJim Jagielski
213*b1cdbd2cSJim Jagielski String aIncrTxt;
214*b1cdbd2cSJim Jagielski rDoc.GetFormatTable()->GetInputLineString( fIncrement, 0, aIncrTxt );
215*b1cdbd2cSJim Jagielski aEdIncrement.SetText( aIncrTxt );
216*b1cdbd2cSJim Jagielski
217*b1cdbd2cSJim Jagielski String aEndTxt;
218*b1cdbd2cSJim Jagielski if ( fEndVal != MAXDOUBLE )
219*b1cdbd2cSJim Jagielski rDoc.GetFormatTable()->GetInputLineString( fEndVal, 0, aEndTxt );
220*b1cdbd2cSJim Jagielski aEdEndVal.SetText( aEndTxt );
221*b1cdbd2cSJim Jagielski
222*b1cdbd2cSJim Jagielski bStartValFlag=sal_False;
223*b1cdbd2cSJim Jagielski
224*b1cdbd2cSJim Jagielski aFlSep1.SetStyle( aFlSep1.GetStyle() | WB_VERT );
225*b1cdbd2cSJim Jagielski aFlSep2.SetStyle( aFlSep2.GetStyle() | WB_VERT );
226*b1cdbd2cSJim Jagielski }
227*b1cdbd2cSJim Jagielski
228*b1cdbd2cSJim Jagielski
229*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
230*b1cdbd2cSJim Jagielski
CheckStartVal()231*b1cdbd2cSJim Jagielski sal_Bool __EXPORT ScFillSeriesDlg::CheckStartVal()
232*b1cdbd2cSJim Jagielski {
233*b1cdbd2cSJim Jagielski sal_Bool bValOk = sal_False;
234*b1cdbd2cSJim Jagielski sal_uInt32 nKey = 0;
235*b1cdbd2cSJim Jagielski String aStr( aEdStartVal.GetText() );
236*b1cdbd2cSJim Jagielski
237*b1cdbd2cSJim Jagielski if ( aStr.Len() == 0 || aBtnAutoFill.IsChecked())
238*b1cdbd2cSJim Jagielski {
239*b1cdbd2cSJim Jagielski fStartVal = MAXDOUBLE;
240*b1cdbd2cSJim Jagielski bValOk = sal_True;
241*b1cdbd2cSJim Jagielski }
242*b1cdbd2cSJim Jagielski else
243*b1cdbd2cSJim Jagielski bValOk = rDoc.GetFormatTable()->IsNumberFormat( aStr, nKey, fStartVal );
244*b1cdbd2cSJim Jagielski
245*b1cdbd2cSJim Jagielski return bValOk;
246*b1cdbd2cSJim Jagielski }
247*b1cdbd2cSJim Jagielski
248*b1cdbd2cSJim Jagielski
249*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
250*b1cdbd2cSJim Jagielski
CheckIncrementVal()251*b1cdbd2cSJim Jagielski sal_Bool __EXPORT ScFillSeriesDlg::CheckIncrementVal()
252*b1cdbd2cSJim Jagielski {
253*b1cdbd2cSJim Jagielski sal_uInt32 nKey = 0;
254*b1cdbd2cSJim Jagielski String aStr( aEdIncrement.GetText() );
255*b1cdbd2cSJim Jagielski
256*b1cdbd2cSJim Jagielski return rDoc.GetFormatTable()->IsNumberFormat( aStr, nKey, fIncrement );
257*b1cdbd2cSJim Jagielski }
258*b1cdbd2cSJim Jagielski
259*b1cdbd2cSJim Jagielski
260*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
261*b1cdbd2cSJim Jagielski
CheckEndVal()262*b1cdbd2cSJim Jagielski sal_Bool __EXPORT ScFillSeriesDlg::CheckEndVal()
263*b1cdbd2cSJim Jagielski {
264*b1cdbd2cSJim Jagielski sal_Bool bValOk = sal_False;
265*b1cdbd2cSJim Jagielski sal_uInt32 nKey = 0;
266*b1cdbd2cSJim Jagielski String aStr( aEdEndVal.GetText() );
267*b1cdbd2cSJim Jagielski
268*b1cdbd2cSJim Jagielski if ( aStr.Len() == 0 )
269*b1cdbd2cSJim Jagielski {
270*b1cdbd2cSJim Jagielski fEndVal = (fIncrement < 0) ? -MAXDOUBLE : MAXDOUBLE;
271*b1cdbd2cSJim Jagielski bValOk = sal_True;
272*b1cdbd2cSJim Jagielski }
273*b1cdbd2cSJim Jagielski else
274*b1cdbd2cSJim Jagielski bValOk = rDoc.GetFormatTable()->IsNumberFormat( aStr, nKey, fEndVal );
275*b1cdbd2cSJim Jagielski
276*b1cdbd2cSJim Jagielski return bValOk;
277*b1cdbd2cSJim Jagielski }
278*b1cdbd2cSJim Jagielski
279*b1cdbd2cSJim Jagielski
280*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
281*b1cdbd2cSJim Jagielski // Handler:
282*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
283*b1cdbd2cSJim Jagielski
IMPL_LINK(ScFillSeriesDlg,DisableHdl,Button *,pBtn)284*b1cdbd2cSJim Jagielski IMPL_LINK( ScFillSeriesDlg, DisableHdl, Button *, pBtn )
285*b1cdbd2cSJim Jagielski {
286*b1cdbd2cSJim Jagielski if ( pBtn == &aBtnDate )
287*b1cdbd2cSJim Jagielski {
288*b1cdbd2cSJim Jagielski aBtnDay.Enable();
289*b1cdbd2cSJim Jagielski aBtnDayOfWeek.Enable();
290*b1cdbd2cSJim Jagielski aBtnMonth.Enable();
291*b1cdbd2cSJim Jagielski aBtnYear.Enable();
292*b1cdbd2cSJim Jagielski aFlTimeUnit.Enable();
293*b1cdbd2cSJim Jagielski }
294*b1cdbd2cSJim Jagielski else
295*b1cdbd2cSJim Jagielski {
296*b1cdbd2cSJim Jagielski aBtnDay.Disable();
297*b1cdbd2cSJim Jagielski aBtnDayOfWeek.Disable();
298*b1cdbd2cSJim Jagielski aBtnMonth.Disable();
299*b1cdbd2cSJim Jagielski aBtnYear.Disable();
300*b1cdbd2cSJim Jagielski aFlTimeUnit.Disable();
301*b1cdbd2cSJim Jagielski }
302*b1cdbd2cSJim Jagielski
303*b1cdbd2cSJim Jagielski if ( pBtn != &aBtnAutoFill )
304*b1cdbd2cSJim Jagielski {
305*b1cdbd2cSJim Jagielski aFtIncrement.Enable();
306*b1cdbd2cSJim Jagielski aEdIncrement.Enable();
307*b1cdbd2cSJim Jagielski aFtEndVal.Enable();
308*b1cdbd2cSJim Jagielski aEdEndVal.Enable();
309*b1cdbd2cSJim Jagielski }
310*b1cdbd2cSJim Jagielski else
311*b1cdbd2cSJim Jagielski {
312*b1cdbd2cSJim Jagielski aFtIncrement.Disable();
313*b1cdbd2cSJim Jagielski aEdIncrement.Disable();
314*b1cdbd2cSJim Jagielski aFtEndVal.Disable();
315*b1cdbd2cSJim Jagielski aEdEndVal.Disable();
316*b1cdbd2cSJim Jagielski }
317*b1cdbd2cSJim Jagielski return 0;
318*b1cdbd2cSJim Jagielski }
319*b1cdbd2cSJim Jagielski
320*b1cdbd2cSJim Jagielski
321*b1cdbd2cSJim Jagielski //----------------------------------------------------------------------------
322*b1cdbd2cSJim Jagielski
IMPL_LINK(ScFillSeriesDlg,OKHdl,void *,EMPTYARG)323*b1cdbd2cSJim Jagielski IMPL_LINK( ScFillSeriesDlg, OKHdl, void *, EMPTYARG )
324*b1cdbd2cSJim Jagielski {
325*b1cdbd2cSJim Jagielski if ( aBtnLeft.IsChecked() ) theFillDir = FILL_TO_LEFT;
326*b1cdbd2cSJim Jagielski else if ( aBtnRight.IsChecked() ) theFillDir = FILL_TO_RIGHT;
327*b1cdbd2cSJim Jagielski else if ( aBtnDown.IsChecked() ) theFillDir = FILL_TO_BOTTOM;
328*b1cdbd2cSJim Jagielski else if ( aBtnUp.IsChecked() ) theFillDir = FILL_TO_TOP;
329*b1cdbd2cSJim Jagielski
330*b1cdbd2cSJim Jagielski if ( aBtnArithmetic.IsChecked() ) theFillCmd = FILL_LINEAR;
331*b1cdbd2cSJim Jagielski else if ( aBtnGeometric.IsChecked() ) theFillCmd = FILL_GROWTH;
332*b1cdbd2cSJim Jagielski else if ( aBtnDate.IsChecked() ) theFillCmd = FILL_DATE;
333*b1cdbd2cSJim Jagielski else if ( aBtnAutoFill.IsChecked() ) theFillCmd = FILL_AUTO;
334*b1cdbd2cSJim Jagielski
335*b1cdbd2cSJim Jagielski if ( aBtnDay.IsChecked() ) theFillDateCmd = FILL_DAY;
336*b1cdbd2cSJim Jagielski else if ( aBtnDayOfWeek.IsChecked() ) theFillDateCmd = FILL_WEEKDAY;
337*b1cdbd2cSJim Jagielski else if ( aBtnMonth.IsChecked() ) theFillDateCmd = FILL_MONTH;
338*b1cdbd2cSJim Jagielski else if ( aBtnYear.IsChecked() ) theFillDateCmd = FILL_YEAR;
339*b1cdbd2cSJim Jagielski
340*b1cdbd2cSJim Jagielski sal_Bool bAllOk = sal_True;
341*b1cdbd2cSJim Jagielski Edit* pEdWrong = NULL;
342*b1cdbd2cSJim Jagielski if ( !CheckStartVal() )
343*b1cdbd2cSJim Jagielski {
344*b1cdbd2cSJim Jagielski bAllOk = sal_False;
345*b1cdbd2cSJim Jagielski pEdWrong = &aEdStartVal;
346*b1cdbd2cSJim Jagielski }
347*b1cdbd2cSJim Jagielski else if ( !CheckIncrementVal() )
348*b1cdbd2cSJim Jagielski {
349*b1cdbd2cSJim Jagielski bAllOk = sal_False;
350*b1cdbd2cSJim Jagielski pEdWrong = &aEdIncrement;
351*b1cdbd2cSJim Jagielski }
352*b1cdbd2cSJim Jagielski else if ( !CheckEndVal() )
353*b1cdbd2cSJim Jagielski {
354*b1cdbd2cSJim Jagielski bAllOk = sal_False;
355*b1cdbd2cSJim Jagielski pEdWrong = &aEdEndVal;
356*b1cdbd2cSJim Jagielski }
357*b1cdbd2cSJim Jagielski if ( bAllOk )
358*b1cdbd2cSJim Jagielski EndDialog( RET_OK );
359*b1cdbd2cSJim Jagielski else
360*b1cdbd2cSJim Jagielski {
361*b1cdbd2cSJim Jagielski ErrorBox( this,
362*b1cdbd2cSJim Jagielski WinBits( WB_OK | WB_DEF_OK ),
363*b1cdbd2cSJim Jagielski errMsgInvalidVal
364*b1cdbd2cSJim Jagielski ).Execute();
365*b1cdbd2cSJim Jagielski pEdWrong->GrabFocus();
366*b1cdbd2cSJim Jagielski }
367*b1cdbd2cSJim Jagielski
368*b1cdbd2cSJim Jagielski return 0;
369*b1cdbd2cSJim Jagielski }
370*b1cdbd2cSJim Jagielski
371*b1cdbd2cSJim Jagielski
372*b1cdbd2cSJim Jagielski
373*b1cdbd2cSJim Jagielski
374