home *** CD-ROM | disk | FTP | other *** search
/ Kompuutteri Kaikille K-CD 2002 #3 / K-CD_2002-03.iso / OpenOffice / f_0031 / CalendarMain.xba < prev    next >
Extensible Markup Language  |  2001-10-12  |  7KB  |  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="CalendarMain" script:language="StarBasic">Option Explicit
  4.  
  5. Const _DEBUG = 0
  6.  
  7. ' CalenderMain
  8. Public sCurLangLocale as String
  9.  
  10. ' Dieses Flag dient zur Abfrage ob die individuellen Daten abgespeichert werden sollen.
  11. Public bCalOwnDataChanged as Boolean
  12.  
  13. 'BankHolidayFunctions
  14. Public CalBankholidayName$ (1 To 374)
  15. Public CalTypeOfBankHoliday% (1 To 374)
  16.  
  17. Public Const cHolidayType_None = 0
  18. Public Const cHolidayType_Full = 1
  19. Public Const cHolidayType_Half = 2
  20. Public Const cHolidayType_Own = 4
  21.  
  22. Public cCalSubcmdDeleteSelect_DeleteSelEntry$
  23. Public cCalSubcmdDeleteSelect_DeleteSelEntryTitle$
  24. Public cCalSubcmdSwitchOwnDataOrGeneral_Back$
  25. Public cCalSubcmdSwitchOwnDataOrGeneral_OwnData$
  26.  
  27. 'Language
  28. Public cCalLongMonthNames(11) as String
  29. Public cCalShortMonthNames(11) as String
  30.  
  31. Public sBitmapFilename$
  32. Public sCalendarTitle$, sMonthTitle$, sWizardTitle$, sError$
  33. Public cCalStyleWorkday$, cCalStyleWeekend$
  34.  
  35. ' German only
  36. ' Variablen, die zur Verwaltung der Eingabe der Bundesl├ñnder dienen
  37. Public CalChoosenLand as Integer
  38.  
  39. Public oDocument as Object
  40. Public oSheets as Object
  41. Public oSheet as Object
  42. Public oStatusLine as Object
  43. Public bCancelTask as Boolean
  44.  
  45. ' BL* bedeutet BundesLand*
  46. Public CONST CalBLBayern         = 1
  47. Public CONST CalBLBadenWuert     = 2
  48. Public CONST CalBLBerlin         = 3
  49. Public CONST CalBLBremen         = 4
  50. Public CONST CalBLBrandenburg    = 5
  51. Public CONST CalBLHamburg        = 6
  52. Public CONST CalBLHessen         = 7
  53. Public CONST CalBLMeckPomm       = 8
  54. Public CONST CalBLNiedersachsen  = 9
  55. Public CONST CalBLNordrheinWest  = 10
  56. Public CONST CalBLRheinlandPfalz = 11
  57. Public CONST CalBLSaarland       = 12
  58. Public CONST CalBLSachsen        = 13
  59. Public CONST CalBLSachsenAnhalt  = 14
  60. Public CONST CalBLSchlHolstein   = 15
  61. Public CONST CalBLThueringen     = 16
  62.  
  63. Public DlgCalendar as Object
  64. Public DlgCalModel as Object
  65.  
  66. Sub CalAutopilotTable()
  67. Dim BitmapDir as String
  68. Dim iThisMonth as Integer
  69. ' On Error Goto ErrorHandler
  70.     BasicLibraries.LoadLibrary("Tools")
  71.     bSelectByMouseMove = True
  72.     ' HauptRoutine zur Erstellung des Kalenders
  73.     oDocument = StarDesktop.ActiveFrame.Controller.Model
  74.     oStatusline = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator
  75.     ToggleWindow(False)
  76.     sCurLangLocale = oDocument.CharLocale.Language
  77.     DlgCalendar = LoadDialog("Schedule", "DlgCalendar")
  78.     DlgCalModel = DlgCalendar.Model
  79.     LoadLanguage(sCurLangLocale)
  80.     CalInitGlobalVariablesDate()
  81.     BitmapDir = GetOfficeSubPath("Template","wizard/bitmap")
  82.     DlgCalModel.imgCountry.ImageURL = BitmapDir & sBitmapFilename
  83.     CalChoosenLand = -2
  84.     CurOwnMonth = -1
  85.     CalLoadOwnData()
  86.     With DlgCalModel
  87.         .cmdDelete.Enabled = False
  88.         .lstMonth.StringItemList() = cCalShortMonthNames()
  89.         Select Case sCurLangLocale
  90.             Case "ja"
  91.                 .DlgCalModel.lstOwnData.FontName = "HG Mincho Light J"
  92.             Case "zh"
  93.                 If oDocument.CharLocale.Country = "CN" Then
  94.                     .DlgCalModel.lstOwnData.FontName = "HG MSung Light SC"
  95.                 Else
  96.                     .DlgCalModel.lstOwnData.FontName = "HG MSung Light TC"
  97.                 End If
  98.             Case "ko"
  99.                 .DlgCalModel.lstOwnData.FontName = "HG MyeongJo Light K"
  100.         End Select
  101.         .lstOwnEventMonth.StringItemList() = cCalShortMonthNames()
  102.         .optYear.State = 1
  103.         .txtYear.Value = Year(Now())
  104.         .txtYear.Tag = .txtYear.Value
  105.         .Step = 1
  106.     End With
  107.     CalChooseCalendar()  ' month
  108.     iThisMonth = Month(Now)
  109.     DlgCalendar.GetControl("lstMonth").SelectItemPos(iThisMonth-1, True)
  110.     DlgCalendar.GetControl("lstHolidays").SelectItemPos(0,True)
  111.     ToggleWindow(True)
  112.     DlgCalendar.Execute()
  113.     DlgCalendar.Dispose()
  114.     Exit Sub
  115.  
  116. ErrorHandler:
  117.     MsgBox(sError$, 16, sWizardTitle$)
  118. End Sub
  119.  
  120.  
  121. Sub CalChooseCalendar()
  122.     With DlgCalModel
  123.         .lstMonth.Enabled = .optMonth.State = 1
  124.         .lblMonth.Enabled = .optMonth.State = 1
  125.     End With
  126. End Sub
  127.  
  128.  
  129. Sub CalcmdCancel()
  130.     Call CalSaveOwnData()
  131. '    bCancelTask = True
  132.     DlgCalendar.EndExecute 'Visible = False
  133. End Sub
  134.  
  135.  
  136.  
  137. Sub CalcmdOk()
  138.     ' cmdOk is called when the Button 'Read' is clicked on
  139.     ' It is either given out a month or a year
  140. Dim i, iSelYear as Integer
  141. Dim SelYear as String
  142. '    DlgCalendar.Visible = False
  143.  
  144.     oSheets = oDocument.sheets
  145.     Call CalSaveOwnData()
  146.     UnprotectSheets(oSheets)
  147.     oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
  148.     iSelYear = DlgCalModel.txtYear.Value
  149.     Select Case sCurLangLocale
  150.         Case cLANGUAGE_GERMAN
  151.             If Ubound(DlgCalModel.lstHolidays.SelectedItems()) > -1 Then
  152.                 CalChoosenLand = DlgCalModel.lstHolidays.SelectedItems(0)
  153.             Else
  154.                 CalChoosenLand = 0
  155.             End If
  156.             Call CalFindWholeYearHolidays_GERMANY(iSelYear, CalChoosenLand)
  157.         Case cLANGUAGE_ENGLISH
  158.             Call FindWholeYearHolidays_US(iSelYear)
  159.         Case cLANGUAGE_FRENCH
  160.             Call FindWholeYearHolidays_FRANCE(iSelYear)
  161.         Case cLANGUAGE_ITALIAN
  162.             Call FindWholeYearHolidays_ITA(iSelYear)
  163.         Case cLANGUAGE_SPANISH
  164.             Call FindWholeYearHolidays_SPAIN(iSelYear)
  165.         Case cLANGUAGE_PORTUGUESE
  166.             Call FindWholeYearHolidays_PORT(iSelYear)
  167.         Case cLANGUAGE_DUTCH
  168.             Call FindWholeYearHolidays_NL(iSelYear)
  169.         Case cLANGUAGE_SWEDISH
  170.             Call FindWholeYearHolidays_SWED(iSelYear)
  171.         Case cLANGUAGE_DANISH
  172.             Call FindWholeYearHolidays_DK(iSelYear)
  173.         Case cLANGUAGE_POLISH
  174.             Call FindWholeYearHolidays_PL(iSelYear)
  175.         Case cLANGUAGE_RUSSIAN
  176.             Call FindWholeYearHolidays_RU(iSelYear)
  177.     End Select
  178.  
  179.     Call CalInsertOwnDataInTables(iSelYear)
  180.  
  181.     If DlgCalModel.optYear.State = 1 Then
  182.         oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
  183.         oSheet = oSheets.GetbyIndex(0)
  184.         oSheet.Name = sCalendarTitle$ + " " + iSelYear
  185. '        oDocument.AddActionLock
  186.         Call CalCreateYearTable(iSelYear)
  187.     ElseIf DlgCalModel.optMonth.State = 1 Then
  188.         Dim iMonth
  189.         iMonth = DlgCalModel.lstMonth.SelectedItems(0) + 1
  190.         oSheets.RemovebyName(oSheets.GetbyIndex(1).Name)
  191.         oSheet = oSheets.GetbyIndex(0)
  192.         oSheet.Name = sMonthTitle$ + " " + cCalLongMonthNames(iMonth-1)
  193. '        oDocument.AddActionLock
  194.         Call CalCreateMonthTable(iSelYear, iMonth)
  195.     End If
  196.  
  197. '    oDocument.RemoveActionLock
  198.     oSheet.protect("")
  199.     oStatusLine.End
  200.     DlgCalendar.EndExecute()
  201.     bCancelTask = True
  202. End Sub
  203. </script:module>