xref: /trunk/main/wizards/source/schedule/DlgControl.xba (revision 66b843ff8f1eedd2e69941f1ea52fa080f01ec28)
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
168cdf0e10cSrcweir</script:module>
169