home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
- <script:module xmlns:script="http://openoffice.org/2000/script" script:name="CalendarMain" script:language="StarBasic">Option Explicit
-
- Const _DEBUG = 0
-
- ' CalenderMain
- Public sCurLangLocale as String
-
- ' Dieses Flag dient zur Abfrage ob die individuellen Daten abgespeichert werden sollen.
- Public bCalOwnDataChanged as Boolean
-
- 'BankHolidayFunctions
- Public CalBankholidayName$ (1 To 374)
- Public CalTypeOfBankHoliday% (1 To 374)
-
- Public Const cHolidayType_None = 0
- Public Const cHolidayType_Full = 1
- Public Const cHolidayType_Half = 2
- Public Const cHolidayType_Own = 4
-
- 'Dlg_Control
- Public CalTWIPSPicHeight%, CalTWIPSPicWidth%, CalStartX%, CalStartY%
-
- Public CalPicWidth%, CalPicHeight%
-
- Public cCalSubcmdDeleteSelect_DeleteSelEntry$
- Public cCalSubcmdDeleteSelect_DeleteSelEntryTitle$
- Public cCalSubcmdSwitchOwnDataOrGeneral_Back$
- Public cCalSubcmdSwitchOwnDataOrGeneral_OwnData$
-
- 'Language
- Public cCalLongMonthNames$(12)
- Public cCalShortMonthNames$(12)
-
- Public sBitmapFilename$
- Public sCalendarTitle$, sMonthTitle$, sWizardTitle$, sError$
- Public cCalStyleWorkday$, cCalStyleWeekend$
-
- ' German only
- ' Variablen, die zur Verwaltung der Eingabe der Bundesländer dienen
- Public CalChoosenLand%, MouseClicked%, LandWhenClick%
- Public LastMousePosX, LastMousePosY As Single
-
- Public oDocument as Object
- Public oSheets as Object
- Public oSheet as Object
- Public oStatusLine as Object
-
- ' BL* bedeutet BundesLand*
- Public CONST CalBLBayern = 1
- Public CONST CalBLBadenWuert = 2
- Public CONST CalBLBerlin = 3
- Public CONST CalBLBremen = 4
- Public CONST CalBLBrandenburg = 5
- Public CONST CalBLHamburg = 6
- Public CONST CalBLHessen = 7
- Public CONST CalBLMeckPomm = 8
- Public CONST CalBLNiedersachsen = 9
- Public CONST CalBLNordrheinWest = 10
- Public CONST CalBLRheinlandPfalz = 11
- Public CONST CalBLSaarland = 12
- Public CONST CalBLSachsen = 13
- Public CONST CalBLSachsenAnhalt = 14
- Public CONST CalBLSchlHolstein = 15
- Public CONST CalBLThueringen = 16
-
- Public DlgCalendar as Object
- Public DlgCalModel as Object
-
- Sub CalAutopilotTable()
- Dim BitmapDir as String
-
- ' On Error Goto ErrorHandler
- BasicLibraries.LoadLibrary("Tools")
- ' HauptRoutine zur Erstellung des Kalenders
- oDocument = StarDesktop.ActiveFrame.Controller.Model
- oStatusline = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator
-
- sCurLangLocale = oDocument.CharLocale.Language
- DlgCalendar = LoadDialog("Schedule", "Dialog1")
- DlgCalModel = DlgCalendar.Model
- LoadLanguage(sCurLangLocale)
- ' Da modul├╝bergreifende Variablen unsicher sind,
- ' wird ihre Initialisierung noch einmal explizit
- ' angegeben.
- CalInitGlobalVariablesDate()
- BitmapDir = GetOfficeSubPath("Template","wizard/bitmap")
- DlgCalModel.imgCountry.ImageURL = BitmapDir & sBitmapFilename
- CalChoosenLand = -2
- MouseClicked% = False
-
- ' Die Daten f├╝r die eigenen Ereignisdaten werden geladen.
- CalLoadOwnData()
- DlgCalendar.GetControl("lstMonth").SelectItem(cCalShortMonthNames$(Month(Now())), True)
-
- With DlgCalModel
- ' .lbOwnData.FontName = "Courier"
- .cmdDelete.Enabled = False
- ' .lstMonth.Tag = DlgCalModel.txtMonth.Text
- .lstMonth.StringItemList() = cCalShortMonthNames$()
- .lstOwnEventMonth.StringItemList() = cCalShortMonthNames$()
- .optYear.State = 1
- .txtYear.Text = Year(Now())
- .txtYear.Tag = DlgCalModel.txtYear.Text
- .Step = 1
- End With
- CalChooseCalendar() ' month
- DlgCalendar.GetControl("lstHolidays").SelectItemPos(0,True)
- DlgCalendar.Visible = True
- Exit Sub
-
- ErrorHandler:
- MsgBox(sError$, 16, sWizardTitle$)
- End Sub
-
-
- Sub CalChooseCalendar()
- With DlgCalModel
- .lstMonth.Enabled = .optMonth.State = 1
- .lblMonth.Enabled = .optMonth.State = 1
- End With
- End Sub
-
-
- Sub CalcmdCancel()
- If bCalOwnDataChanged Then
- Call CalSaveOwnData()
- End If
- DlgCalendar.Visible = False
- End Sub
-
-
-
- Sub CalcmdOk()
- ' cmdOk is called when the Button 'Read' is clicked on
- ' It is either given out a month or a year
- Dim i, iSelYear as Integer
- Dim SelYear as String
- DlgCalendar.Visible = False
-
- If cLANGUAGE_GERMAN = sCurLangLocale Then
- If Ubound(DlgCalModel.lstHolidays.SelectedItems()) > -1 Then
- CalChoosenLand = DlgCalModel.lstHolidays.SelectedItems(0)
- Else
- CalChoosenLand = 0
- End If
- End If
- oSheets = oDocument.sheets
- If bCalOwnDataChanged Then
- Call CalSaveOwnData()
- End If
-
- ' Unprotect all tables so they can be deleted or modified
- For i = 0 To oSheets.Count - 1
- oSheets.GetbyIndex(i).unprotect("")
- Next
- oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
-
- iSelYear = Val(DlgCalModel.txtYear.Text)
- Select Case sCurLangLocale
- Case cLANGUAGE_GERMAN
- Call CalFindWholeYearHolidays_GERMANY(iSelYear, CalChoosenLand)
- Case cLANGUAGE_ENGLISH
- Call FindWholeYearHolidays_US(iSelYear)
- Case cLANGUAGE_FRENCH
- Call FindWholeYearHolidays_FRANCE(iSelYear)
- Case cLANGUAGE_ITALIAN
- Call FindWholeYearHolidays_ITA(iSelYear)
- Case cLANGUAGE_SPANISH
- Call FindWholeYearHolidays_SPAIN(iSelYear)
- Case cLANGUAGE_PORTUGUESE
- Call FindWholeYearHolidays_PORT(iSelYear)
- Case cLANGUAGE_DUTCH
- Call FindWholeYearHolidays_NL(iSelYear)
- Case cLANGUAGE_SWEDISH
- Call FindWholeYearHolidays_SWED(iSelYear)
- Case cLANGUAGE_DANISH
- Call FindWholeYearHolidays_DK(iSelYear)
- Case cLANGUAGE_POLISH
- Call FindWholeYearHolidays_PL(iSelYear)
- Case cLANGUAGE_RUSSIAN
- Call FindWholeYearHolidays_RU(iSelYear)
- End Select
-
- Call CalInsertOwnDataInTables(iSelYear)
-
- If DlgCalModel.optYear.State = 1 Then
- oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
- oSheet = oSheets.GetbyIndex(0)
- oSheet.Name = sCalendarTitle$ + " " + iSelYear
- oDocument.AddActionLock
- Call CalCreateYearTable(iSelYear)
- ElseIf DlgCalModel.optMonth.State = 1 Then
- Dim iMonth
- iMonth = DlgCalModel.lstMonth.SelectedItem(0)
- oSheets.RemovebyName(oSheets.GetbyIndex(1).Name)
- oSheet = oSheets.GetbyIndex(0)
- oSheet.Name = sMonthTitle$ + " " + cCalLongMonthNames$(iMonth)
- oDocument.AddActionLock
- Call CalCreateMonthTable(iSelYear, iMonth)
- End If
-
- oDocument.RemoveActionLock
- ' Protect the remaining sheet
- oSheet.protect("")
- oStatusLine.End
- DlgCalendar.Visible = False
- End Sub
- </script:module>