1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3*3e02b54dSAndrew Rist<!--***********************************************************
4*3e02b54dSAndrew Rist *
5*3e02b54dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
6*3e02b54dSAndrew Rist * or more contributor license agreements.  See the NOTICE file
7*3e02b54dSAndrew Rist * distributed with this work for additional information
8*3e02b54dSAndrew Rist * regarding copyright ownership.  The ASF licenses this file
9*3e02b54dSAndrew Rist * to you under the Apache License, Version 2.0 (the
10*3e02b54dSAndrew Rist * "License"); you may not use this file except in compliance
11*3e02b54dSAndrew Rist * with the License.  You may obtain a copy of the License at
12*3e02b54dSAndrew Rist *
13*3e02b54dSAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
14*3e02b54dSAndrew Rist *
15*3e02b54dSAndrew Rist * Unless required by applicable law or agreed to in writing,
16*3e02b54dSAndrew Rist * software distributed under the License is distributed on an
17*3e02b54dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18*3e02b54dSAndrew Rist * KIND, either express or implied.  See the License for the
19*3e02b54dSAndrew Rist * specific language governing permissions and limitations
20*3e02b54dSAndrew Rist * under the License.
21*3e02b54dSAndrew Rist *
22*3e02b54dSAndrew Rist ***********************************************************-->
23cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="DlgControl" script:language="StarBasic">Option Explicit
24cdf0e10cSrcweir
25cdf0e10cSrcweirDim CalBitmap As Object
26cdf0e10cSrcweirPublic bSelectByMouseMove as Boolean
27cdf0e10cSrcweirPublic fHeightCorrFactor as Double
28cdf0e10cSrcweirPublic fWidthCorrFactor as Double
29cdf0e10cSrcweir
30cdf0e10cSrcweir
31cdf0e10cSrcweir
32cdf0e10cSrcweirSub Main()
33cdf0e10cSrcweir	Call CalAutopilotTable()
34cdf0e10cSrcweirEnd Sub
35cdf0e10cSrcweir
36cdf0e10cSrcweir
37cdf0e10cSrcweirSub CalcmdDeleteSelect()
38cdf0e10cSrcweirDim MsgBoxResult as Integer
39cdf0e10cSrcweirDim bDoEnable as Boolean
40cdf0e10cSrcweirDim iSel as Integer
41cdf0e10cSrcweirDim MaxIndex as Integer
42cdf0e10cSrcweir	If Ubound(DlgCalModel.lstOwnData.SelectedItems()) &gt; -1 Then
43cdf0e10cSrcweir		MsgBoxResult = MsgBox(cCalSubcmdDeleteSelect_DeleteSelEntry$, 4+32, cCalSubcmdDeleteSelect_DeleteSelEntryTitle$)
44cdf0e10cSrcweir		If MsgBoxResult = 6 Then
45cdf0e10cSrcweir			iSel = DlgCalModel.lstOwnData.SelectedItems(0)
46cdf0e10cSrcweir			DlgCalModel.lstOwnData.StringItemList() = RemoveSelected(DlgCalModel.lstOwnData)
47cdf0e10cSrcweir			&apos; Flag to store the new data
48cdf0e10cSrcweir			bCalOwnDataChanged = True
49cdf0e10cSrcweir			bDoEnable = Ubound(DlgCalModel.lstOwnData.StringItemList()) &gt; -1
50cdf0e10cSrcweir			DlgCalModel.cmdDelete.Enabled = bDoEnable
51cdf0e10cSrcweir			If bDoEnable Then
52cdf0e10cSrcweir				MaxIndex = Ubound(DlgCalModel.lstOwnData.StringItemList())
53cdf0e10cSrcweir				If iSel &gt; MaxIndex Then
54cdf0e10cSrcweir					iSel = MaxIndex
55cdf0e10cSrcweir				End If
56cdf0e10cSrcweir				DlgCalendar.GetControl(&quot;lstOwnData&quot;).SelectItemPos(iSel, True)
57cdf0e10cSrcweir				CalUpdateNewEventFrame()
58cdf0e10cSrcweir			Else
59cdf0e10cSrcweir				Call CalClearInputMask()
60cdf0e10cSrcweir			End If
61cdf0e10cSrcweir		End If
62cdf0e10cSrcweir	End If
63cdf0e10cSrcweirEnd Sub
64cdf0e10cSrcweir
65cdf0e10cSrcweir
66cdf0e10cSrcweirSub CalSaveOwnEventControls()
67cdf0e10cSrcweir	With DlgCalModel
68cdf0e10cSrcweir		.txtOwnEventDay.Tag = .txtOwnEventDay.Value
69cdf0e10cSrcweir		.txtOwnEventMonth.Tag = .txtOwnEventMonth.Text
70cdf0e10cSrcweir	End With
71cdf0e10cSrcweirEnd Sub
72cdf0e10cSrcweir
73cdf0e10cSrcweir
74cdf0e10cSrcweirSub CalMouseMoved(aEvent as object)
75cdf0e10cSrcweirDim ListIndex as Integer
76cdf0e10cSrcweir	Select Case sCurLangLocale
77cdf0e10cSrcweir		Case  cLANGUAGE_GERMAN
78cdf0e10cSrcweir			If bSelectByMouseMove Then
79cdf0e10cSrcweir&apos;				oStatusLine.SetText(&quot;Position: &quot; &amp; aEvent.X &amp; &quot; ; &quot; &amp; aEvent.Y)
80cdf0e10cSrcweir				ListIndex = CalGetGermanLandAtMousePos(CInt(aEvent.X/fWidthCorrFactor), CInt(aEvent.Y/fHeightCorrFactor))
81cdf0e10cSrcweir				DlgCalendar.GetControl(&quot;lstHolidays&quot;).SelectItemPos(ListIndex, True)
82cdf0e10cSrcweir			End If
83cdf0e10cSrcweir	End Select
84cdf0e10cSrcweirEnd Sub
85cdf0e10cSrcweir
86cdf0e10cSrcweir
87cdf0e10cSrcweirSub SelectState(aEvent as Object)
88cdf0e10cSrcweirDim ListIndex as Integer
89cdf0e10cSrcweir	Select Case sCurLangLocale
90cdf0e10cSrcweir		Case  cLANGUAGE_GERMAN
91cdf0e10cSrcweir			If aEvent.ClickCount &gt;= 1 Then
92cdf0e10cSrcweir				ListIndex = CalGetGermanLandAtMousePos(CInt(aEvent.X/fWidthCorrFactor), CInt(aEvent.Y/fHeightCorrFactor))
93cdf0e10cSrcweir			DlgCalendar.GetControl(&quot;lstHolidays&quot;).SelectItemPos(ListIndex, True)
94cdf0e10cSrcweir			bSelectByMouseMove = False
95cdf0e10cSrcweir		End If
96cdf0e10cSrcweir	End Select
97cdf0e10cSrcweirEnd Sub
98cdf0e10cSrcweir
99cdf0e10cSrcweir
100cdf0e10cSrcweirSub MouseLeavesImage
101cdf0e10cSrcweir	bSelectbyMouseMove = True
102cdf0e10cSrcweirEnd Sub
103cdf0e10cSrcweir
104cdf0e10cSrcweir
105cdf0e10cSrcweirSub CalClearInputMask()
106cdf0e10cSrcweirDim NullList() as String
107cdf0e10cSrcweir	With DlgCalModel
108cdf0e10cSrcweir		.txtEvent.Text = &quot;&quot;
109cdf0e10cSrcweir		.txtOwnEventDay.SetPropertyToDefault(&quot;Value&quot;)
110cdf0e10cSrcweir		.cmdInsert.Enabled = False
111cdf0e10cSrcweir	End With
112cdf0e10cSrcweir	If Ubound(DlgCalModel.lstOwnData.StringItemList()) &gt; -1 Then
113cdf0e10cSrcweir		If Ubound(DlgCalModel.lstOwnData.SelectedItems()) = -1 Then
114cdf0e10cSrcweir			DlgCalendar.GetControl(&quot;lstOwnData&quot;).SelectItemPos(0,True)
115cdf0e10cSrcweir			CalUpdateNewEventFrame()
116cdf0e10cSrcweir		End If
117cdf0e10cSrcweir	End If
118cdf0e10cSrcweirEnd Sub
119cdf0e10cSrcweir
120cdf0e10cSrcweir
121cdf0e10cSrcweirSub CalmdSwitchOwnDataOrGeneral()
122cdf0e10cSrcweir	If DlgCalModel.Step = 1 Then
123cdf0e10cSrcweir		DlgCalModel.Step = 2
124cdf0e10cSrcweir		DlgCalModel.cmdOwnData.Label = cCalSubcmdSwitchOwnDataOrGeneral_Back$
125cdf0e10cSrcweir		DlgCalModel.cmdInsert.Enabled = DlgCalModel.txtEvent.Text &lt;&gt; &quot;&quot;
126cdf0e10cSrcweir&apos;		ToggleYearBox()
127cdf0e10cSrcweir	Else
128cdf0e10cSrcweir		dim bla as boolean
129cdf0e10cSrcweir		DlgCalModel.Step = 1
130cdf0e10cSrcweir		DlgCalendar.GetControl(&quot;lblHolidays&quot;).Visible = sCurLangLocale  = cLANGUAGE_GERMAN
131cdf0e10cSrcweir		DlgCalendar.GetControl(&quot;lstHolidays&quot;).Visible = sCurLangLocale  = cLANGUAGE_GERMAN
132cdf0e10cSrcweir		DlgCalModel.cmdOwnData.Label = cCalSubcmdSwitchOwnDataOrGeneral_OwnData$
133cdf0e10cSrcweir	End If
134cdf0e10cSrcweirEnd Sub
135cdf0e10cSrcweir
136cdf0e10cSrcweir
137cdf0e10cSrcweirSub ToggleInsertButton()
138cdf0e10cSrcweir	DlgCalModel.cmdInsert.Enabled = LTrim(DlgCalModel.txtEvent.Text) &lt;&gt; &quot;&quot;
139cdf0e10cSrcweirEnd Sub
140cdf0e10cSrcweir
141cdf0e10cSrcweir
142cdf0e10cSrcweirSub CalUpdateNewEventFrame()
143cdf0e10cSrcweirDim bDoEnable as Boolean
144cdf0e10cSrcweirDim sSelectedItem
145cdf0e10cSrcweirDim ListIndex as Integer
146cdf0e10cSrcweirDim MaxSelIndex as Integer
147cdf0e10cSrcweirDim CurEvMonth as Integer
148cdf0e10cSrcweirDim CurEvDay as Integer
149cdf0e10cSrcweirDim DateStr as String
150cdf0e10cSrcweir	bDoEnable = False
151cdf0e10cSrcweir	With DlgCalModel
152cdf0e10cSrcweir		MaxSelIndex = Ubound(DlgCalModel.lstOwnData.SelectedItems())
153cdf0e10cSrcweir		If MaxSelIndex &gt; -1 Then
154cdf0e10cSrcweir			ListIndex = .lstOwnData.SelectedItems(MaxSelIndex)
155cdf0e10cSrcweir			.txtEvent.Text = CalGetNameofEvent(ListIndex)
156cdf0e10cSrcweir			If GetSelectedDateUnits(CurEvDay, CurEvMonth, ListIndex) &lt;&gt; SBDATEUNDEFINED Then
157cdf0e10cSrcweir				.txtOwnEventDay.Value = CurEvDay
158cdf0e10cSrcweir				DlgCalendar.GetControl(&quot;lstOwnEventMonth&quot;).SelectItemPos(CurEvMonth-1, True)
159cdf0e10cSrcweir				.cmdDelete.Enabled = True
160cdf0e10cSrcweir				.cmdInsert.Enabled = True
161cdf0e10cSrcweir			Else
162cdf0e10cSrcweir				Call CalClearInputMask()
163cdf0e10cSrcweir				.cmdDelete.Enabled = True
164cdf0e10cSrcweir			End If
165cdf0e10cSrcweir		End If
166cdf0e10cSrcweir	End With
167cdf0e10cSrcweirEnd Sub
168*3e02b54dSAndrew Rist</script:module>
169