home *** CD-ROM | disk | FTP | other *** search
/ Kompuutteri Kaikille K-CD 2002 #3 / K-CD_2002-03.iso / OpenOffice / f_0031 / DlgControl.xba < prev    next >
Extensible Markup Language  |  2001-10-12  |  6KB  |  203 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
  3. <script:module xmlns:script="http://openoffice.org/2000/script" script:name="DlgControl" script:language="StarBasic">Option Explicit
  4.  
  5. Dim CalBitmap As Object
  6. Public bSelectByMouseMove as Boolean
  7.  
  8. ' Todo: Adjustmentlistener an der Scrollbar anmelden
  9.  
  10. Sub Main()
  11.     Call CalAutopilotTable()
  12. End Sub
  13.  
  14.  
  15. Sub CalcmdDeleteSelect()
  16. Dim MsgBoxResult as Integer
  17.     If Ubound(DlgCalModel.lstOwnData.SelectedItems()) > -1 Then
  18.         MsgBoxResult = MsgBox(cCalSubcmdDeleteSelect_DeleteSelEntry$, 4+32, cCalSubcmdDeleteSelect_DeleteSelEntryTitle$)
  19.         If MsgBoxResult = 6 Then
  20.             DlgCalModel.lstOwnData.StringItemList() = RemoveSelected(DlgCalModel.lstOwnData)
  21.             ' Flag zum Speichern der neuen Daten.
  22.             bCalOwnDataChanged = True
  23.             DlgCalModel.cmdDelete.Enabled = Ubound(DlgCalModel.lstOwnData.StringItemList()) > -1
  24.             Call CalClearInputMask()
  25.         End If
  26.     End If
  27. End Sub
  28.  
  29.  
  30. Sub CalSaveOwnEventControls()
  31.     With DlgCalModel
  32.         .txtOwnEventDay.Tag = .txtOwnEventDay.Value
  33.         .txtOwnEventMonth.Tag = .txtOwnEventMonth.Text
  34.         .DlgCalModel.txtOwnEventYear.Tag = DlgCalModel.txtOwnEventYear.Value
  35.     End With
  36. End Sub
  37.  
  38.  
  39.  
  40. 'Sub ModIntTextBox (txtYear As Object, ByVal nMax%, ByVal nMin%, ByVal sDefault$, IncFactor as Integer)
  41. '    Dim nActVal&
  42. '    nActVal& = Val(txtYear.Text)
  43. '    If ((0 = nActVal&) Or (nMax% < nActVal&) Or (nMin% > nActVal&)) Then 
  44. '        Beep
  45. '        txtYear.Text = sDefault$
  46. '        Exit Sub
  47. '    End If
  48. '    If IncFactor = 1 Then
  49. '        If nMax% > nActVal& Then
  50. '            txtYear.Text = Trim(Str(nActVal& + 1))
  51. '        Else
  52. '            Beep
  53. '            txtYear.Text = nMax%
  54. '        End if
  55. '    ElseIf IncFactor = -1 Then
  56. '        If nMin% < nActVal& Then
  57. '            txtYear.Text = Trim(Str(nActVal& - 1))
  58. '        Else
  59. '            Beep
  60. '            txtYear.Text = nMin%
  61. '        End if
  62. '    End If
  63. 'End Sub
  64.  
  65.  
  66.  
  67. Sub ToggleYearBox()
  68. ' Falls der RadioButton f├╝r einen Jahreskalender angeklickt
  69. ' worden ist, m├╝ssen die Controls f├╝r den Monat Disabled
  70. ' werden, da ihre Werte in einer Jahrestabelle aufgehen.
  71.     With DlgCalModel
  72.         .txtOwnEventYear.Enabled  = .chkEventOnce.State = 1
  73.         .lblEventYear.Enabled  = .chkEventOnce.State = 1
  74.         If .txtOwnEventYear.Value = 0 And .lblEventYear.Enabled Then
  75.             .txtOwnEventYear.Value = Year(Now)
  76.         End If
  77.     End With
  78. End Sub
  79.  
  80.  
  81. Sub CalMouseMoved(aEvent as object)
  82. Dim ListIndex as Integer
  83.     Select Case sCurLangLocale
  84.         Case  cLANGUAGE_GERMAN
  85.             If bSelectByMouseMove Then
  86.                 ListIndex = CalGetGermanLandAtMousePos(aEvent.X, aEvent.Y, Land$)
  87.                 DlgCalendar.GetControl("lstHolidays").SelectItemPos(ListIndex, True)
  88.             End If
  89.     End Select    
  90. End Sub
  91.  
  92.  
  93. Sub SelectState(aEvent as Object)
  94. Dim ListIndex as Integer
  95.     If aEvent.ClickCount >= 1 Then
  96.         ListIndex = CalGetGermanLandAtMousePos(aEvent.X, aEvent.Y, Land$)
  97.         DlgCalendar.GetControl("lstHolidays").SelectItemPos(ListIndex, True)
  98.         bSelectByMouseMove = False
  99.     End If
  100. End Sub
  101.  
  102. Sub MouseLeavesImage
  103.     bSelectbyMouseMove = True
  104. End Sub
  105.  
  106.  
  107. 'Sub CalChangeGeneralMonth()
  108. '
  109. '    Dim MonthToCheck$
  110. '    Dim ValMonthToCheck%
  111. '
  112. '    MonthToCheck$ = DlgCalModel.txtMonth.Text
  113. '    ValMonthToCheck% = Val(MonthToCheck$)
  114. '
  115. '    If (ValMonthToCheck% >= 1) And (ValMonthToCheck% <=12) Then
  116. '        DlgCalModel.txtMonth.Text = cCalShortMonthNames$(ValMonthToCheck%)
  117. '        Exit Sub
  118. '    End If
  119. '
  120. '    If CalGetIntOfShortMonthName%(Trim(Left(MonthToCheck$, 3))) = 0 Then
  121. '        Beep
  122. '        DlgCalModel.txtMonth.Text = DlgCalModel.txtMonth.Tag
  123. '    Else
  124. '        DlgCalModel.txtMonth.Text = Trim(Left(MonthToCheck, 3))
  125. '    End If
  126. '
  127. 'End Sub
  128.  
  129.  
  130.  
  131. Sub CalClearInputMask()
  132. Dim NullList() as String
  133. '  L├╢scht die Werte der Eingabe Controls f├╝r ein neues Ereignis.
  134.     With DlgCalModel
  135.         .chkEventOnce.State = 0
  136.         .lblEventYear.Enabled = False
  137.         .txtOwnEventYear.Enabled = False
  138.         .txtOwnEventYear.SetPropertyToDefault("Value")
  139.         .txtEvent.Text = ""
  140.         .txtOwnEventDay.SetPropertyToDefault("Value")
  141.         .cmdInsert.Enabled = False
  142. ' Todo: Wie kriegt man den Focus auf dieses  verdammte Control?        
  143. '        .txtEvent.DefaultButton = True
  144.     End With
  145.     DlgCalendar.GetControl("lstOwnEventMonth").SelectItemPos(0,True)
  146.     CurOwnMonth = 1
  147. End Sub
  148.  
  149.  
  150. Sub CalmdSwitchOwnDataOrGeneral()
  151.     '├ändert den Titel der Dialogbox beim Seitenwechsel und die 
  152.     'Beschriftungen der Kn├╢pfe
  153.     If DlgCalModel.Step = 1 Then
  154.         DlgCalModel.Step = 2
  155.         DlgCalModel.cmdOwnData.Label = cCalSubcmdSwitchOwnDataOrGeneral_Back$
  156.         DlgCalModel.cmdInsert.Enabled = DlgCalModel.txtEvent.Text <> ""
  157.         ToggleYearBox()
  158.     Else
  159.         DlgCalModel.Step = 1
  160.         DlgCalModel.cmdOwnData.Label = cCalSubcmdSwitchOwnDataOrGeneral_OwnData$
  161.     End If
  162. End Sub
  163.  
  164.  
  165. Sub ToggleInsertButton()
  166.     DlgCalModel.cmdInsert.Enabled = LTrim(DlgCalModel.txtEvent.Text) <> ""    
  167. End Sub
  168.  
  169.  
  170. Sub CalUpdateNewEventFrame()
  171. Dim bDoEnable as Boolean
  172. Dim sSelectedItem
  173. Dim ListIndex as Integer
  174. Dim MaxSelIndex as Integer
  175. Dim iMonth as Integer
  176.     bDoEnable = False
  177.     With DlgCalModel
  178.         MaxSelIndex = Ubound(DlgCalModel.lstOwnData.SelectedItems())
  179.         If MaxSelIndex > -1 Then
  180.             ListIndex = .lstOwnData.SelectedItems(MaxSelIndex)
  181.             .txtEvent.Text = CalGetNameofEvent(ListIndex)
  182.             .txtOwnEventDay.Value = CalGetDayOfEvent(ListIndex)
  183.             iMonth = CalGetMonthOfEvent(ListIndex)
  184.             DlgCalendar.GetControl("lstOwnEventMonth").SelectItemPos(iMonth-1, True)
  185.             CurOwnMonth = DlgCalModel.lstOwnEventMonth.SelectedItems(0) + 1
  186.             If CalGetYearofEvent(ListIndex) <> 0 Then
  187.                 .txtOwnEventYear.Value = CalGetYearofEvent(ListIndex)
  188.                 bDoEnable = True
  189.             Else
  190.                 bDoEnable = False
  191.                 DlgCalModel.txtOwnEventYear.SetPropertyToDefault("Value")
  192.             End If
  193.             .chkEventOnce.State = Abs(bDoEnable)
  194.             .lblEventYear.Enabled = bDoEnable
  195.             .txtOwnEventYear.Enabled = bDoEnable
  196.             .cmdDelete.Enabled = True
  197.             .cmdInsert.Enabled = True
  198.         Else
  199.             Call CalClearInputMask()
  200.             .cmdDelete.Enabled = False
  201.         End If
  202.     End With
  203. End Sub</script:module>