1*1ecadb57SMathias Bauer<?xml version="1.0" encoding="UTF-8"?> 2*1ecadb57SMathias Bauer<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3*1ecadb57SMathias Bauer<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Switch" script:language="StarBasic">REM ***** BASIC ***** 4*1ecadb57SMathias Bauer 5*1ecadb57SMathias BauerDim oDialog AS Object 6*1ecadb57SMathias BauerDim document AS Object 7*1ecadb57SMathias Bauer 8*1ecadb57SMathias BauerSub Main 9*1ecadb57SMathias BauerEnd Sub 10*1ecadb57SMathias Bauer 11*1ecadb57SMathias BauerSub InsertSwitch 12*1ecadb57SMathias Bauer InsertSwitchTag(FALSE) 13*1ecadb57SMathias BauerEnd Sub 14*1ecadb57SMathias Bauer 15*1ecadb57SMathias BauerSub InsertSwitchInline 16*1ecadb57SMathias Bauer InsertSwitchTag(TRUE) 17*1ecadb57SMathias BauerEnd Sub 18*1ecadb57SMathias Bauer 19*1ecadb57SMathias BauerSub InsertSwitchTag(bInline As Boolean) 20*1ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 21*1ecadb57SMathias Bauer Dim oCur as Object 22*1ecadb57SMathias Bauer 23*1ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 24*1ecadb57SMathias Bauer 25*1ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgSwitch") 26*1ecadb57SMathias Bauer oDialogModel = oDialog.Model 27*1ecadb57SMathias Bauer 28*1ecadb57SMathias Bauer oOptSys = oDialog.GetControl("opSwitchSystem") 29*1ecadb57SMathias Bauer oOptAppl = oDialog.GetControl("opSwitchAppl") 30*1ecadb57SMathias Bauer oOptDistrib = oDialog.GetControl("opSwitchDistrib") 31*1ecadb57SMathias Bauer 32*1ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 33*1ecadb57SMathias Bauer If oOptSys.State Then 34*1ecadb57SMathias Bauer sType = "sys" 35*1ecadb57SMathias Bauer ElseIf oOptAppl.State Then 36*1ecadb57SMathias Bauer sType = "appl" 37*1ecadb57SMathias Bauer ElseIf oOptDistrib.State Then 38*1ecadb57SMathias Bauer sType = "distrib" 39*1ecadb57SMathias Bauer End If 40*1ecadb57SMathias Bauer Else 41*1ecadb57SMathias Bauer End If 42*1ecadb57SMathias Bauer oDialog.Dispose 43*1ecadb57SMathias Bauer 44*1ecadb57SMathias Bauer If bInline Then 45*1ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 46*1ecadb57SMathias Bauer oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 47*1ecadb57SMathias Bauer 48*1ecadb57SMathias Bauer oStart = oCur.getStart 49*1ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 50*1ecadb57SMathias Bauer 51*1ecadb57SMathias Bauer oEnd = oCur.getEnd 52*1ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 53*1ecadb57SMathias Bauer 54*1ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurStart) 55*1ecadb57SMathias Bauer InsertTag("SWITCHINLINE_","<SWITCHINLINE select=""" + sType + """>","hlp_aux_switch") 56*1ecadb57SMathias Bauer InsertCase(sType,TRUE,oCur) 57*1ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurEnd) 58*1ecadb57SMathias Bauer CloseSwitchInline 59*1ecadb57SMathias Bauer GoLeft(1) 60*1ecadb57SMathias Bauer Else 61*1ecadb57SMathias Bauer CR_before 62*1ecadb57SMathias Bauer GoUp(1) 63*1ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 64*1ecadb57SMathias Bauer InsertTag("SWITCH_","<SWITCH select=""" + sType + """>","hlp_aux_switch") 65*1ecadb57SMathias Bauer GoLeft(1) 66*1ecadb57SMathias Bauer GoDown(1) 67*1ecadb57SMathias Bauer SetCharStyle("Default") 68*1ecadb57SMathias Bauer CloseSwitch 69*1ecadb57SMathias Bauer GoUp(1) 70*1ecadb57SMathias Bauer InsertCase(sType,FALSE,oCur) 71*1ecadb57SMathias Bauer End If 72*1ecadb57SMathias BauerEnd Sub 73*1ecadb57SMathias Bauer 74*1ecadb57SMathias BauerSub InsertCaseElement 75*1ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 76*1ecadb57SMathias Bauer Dim oCur as Object 77*1ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 78*1ecadb57SMathias Bauer 79*1ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgSwitch") 80*1ecadb57SMathias Bauer oDialogModel = oDialog.Model 81*1ecadb57SMathias Bauer 82*1ecadb57SMathias Bauer oOptSys = oDialog.GetControl("opSwitchSystem") 83*1ecadb57SMathias Bauer oOptAppl = oDialog.GetControl("opSwitchAppl") 84*1ecadb57SMathias Bauer oOptDistrib = oDialog.GetControl("opSwitchDistrib") 85*1ecadb57SMathias Bauer 86*1ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 87*1ecadb57SMathias Bauer If oOptSys.State Then 88*1ecadb57SMathias Bauer sType = "sys" 89*1ecadb57SMathias Bauer ElseIf oOptAppl.State Then 90*1ecadb57SMathias Bauer sType = "appl" 91*1ecadb57SMathias Bauer ElseIf oOptDistrib.State Then 92*1ecadb57SMathias Bauer sType = "distrib" 93*1ecadb57SMathias Bauer End If 94*1ecadb57SMathias Bauer Else 95*1ecadb57SMathias Bauer End If 96*1ecadb57SMathias Bauer oDialog.Dispose 97*1ecadb57SMathias Bauer 98*1ecadb57SMathias Bauer InsertCase(sType,FALSE,oCur) 99*1ecadb57SMathias Bauer 100*1ecadb57SMathias BauerEnd Sub 101*1ecadb57SMathias Bauer 102*1ecadb57SMathias BauerSub InsertDefaultElement 103*1ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 104*1ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 105*1ecadb57SMathias Bauer 106*1ecadb57SMathias Bauer InsertDefault 107*1ecadb57SMathias BauerEnd Sub 108*1ecadb57SMathias Bauer 109*1ecadb57SMathias BauerSub InsertCaseInlineElement 110*1ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 111*1ecadb57SMathias Bauer Dim oCur as Object 112*1ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 113*1ecadb57SMathias Bauer 114*1ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgSwitch") 115*1ecadb57SMathias Bauer oDialogModel = oDialog.Model 116*1ecadb57SMathias Bauer 117*1ecadb57SMathias Bauer oOptSys = oDialog.GetControl("opSwitchSystem") 118*1ecadb57SMathias Bauer oOptAppl = oDialog.GetControl("opSwitchAppl") 119*1ecadb57SMathias Bauer oOptDistrib = oDialog.GetControl("opSwitchDistrib") 120*1ecadb57SMathias Bauer 121*1ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 122*1ecadb57SMathias Bauer If oOptSys.State Then 123*1ecadb57SMathias Bauer sType = "sys" 124*1ecadb57SMathias Bauer ElseIf oOptAppl.State Then 125*1ecadb57SMathias Bauer sType = "appl" 126*1ecadb57SMathias Bauer ElseIf oOptDistrib.State Then 127*1ecadb57SMathias Bauer sType = "distrib" 128*1ecadb57SMathias Bauer End If 129*1ecadb57SMathias Bauer Else 130*1ecadb57SMathias Bauer End If 131*1ecadb57SMathias Bauer oDialog.Dispose 132*1ecadb57SMathias Bauer 133*1ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 134*1ecadb57SMathias Bauer oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 135*1ecadb57SMathias Bauer 136*1ecadb57SMathias Bauer oStart = oCur.getStart 137*1ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 138*1ecadb57SMathias Bauer 139*1ecadb57SMathias Bauer oEnd = oCur.getEnd 140*1ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 141*1ecadb57SMathias Bauer 142*1ecadb57SMathias Bauer InsertCase(sType,TRUE,oCur) 143*1ecadb57SMathias Bauer GoLeft(1) 144*1ecadb57SMathias BauerEnd Sub 145*1ecadb57SMathias Bauer 146*1ecadb57SMathias BauerSub InsertDefaultInlineElement 147*1ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 148*1ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 149*1ecadb57SMathias Bauer 150*1ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 151*1ecadb57SMathias Bauer oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 152*1ecadb57SMathias Bauer 153*1ecadb57SMathias Bauer oStart = oCur.getStart 154*1ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 155*1ecadb57SMathias Bauer 156*1ecadb57SMathias Bauer oEnd = oCur.getEnd 157*1ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 158*1ecadb57SMathias Bauer 159*1ecadb57SMathias Bauer InsertDefaultInline(oCur) 160*1ecadb57SMathias Bauer GoLeft(1) 161*1ecadb57SMathias BauerEnd Sub 162*1ecadb57SMathias Bauer 163*1ecadb57SMathias Bauer 164*1ecadb57SMathias BauerSub InsertCaseSys 165*1ecadb57SMathias Bauer InsertCase("sys",FALSE) 166*1ecadb57SMathias BauerEnd Sub 167*1ecadb57SMathias Bauer 168*1ecadb57SMathias BauerSub InsertCaseAppl 169*1ecadb57SMathias Bauer InsertCase("appl",FALSE) 170*1ecadb57SMathias BauerEnd Sub 171*1ecadb57SMathias Bauer 172*1ecadb57SMathias BauerSub InsertCaseDistrib 173*1ecadb57SMathias Bauer InsertCase("distrib",FALSE) 174*1ecadb57SMathias BauerEnd Sub 175*1ecadb57SMathias Bauer 176*1ecadb57SMathias BauerSub InsertCaseInlineSys 177*1ecadb57SMathias Bauer InsertCase("sys",TRUE) 178*1ecadb57SMathias BauerEnd Sub 179*1ecadb57SMathias Bauer 180*1ecadb57SMathias BauerSub InsertCaseInlineAppl 181*1ecadb57SMathias Bauer InsertCase("appl",TRUE) 182*1ecadb57SMathias BauerEnd Sub 183*1ecadb57SMathias Bauer 184*1ecadb57SMathias BauerSub InsertCaseInlineDistrib 185*1ecadb57SMathias Bauer InsertCase("distrib",TRUE) 186*1ecadb57SMathias BauerEnd Sub 187*1ecadb57SMathias Bauer 188*1ecadb57SMathias BauerSub InsertDefaultInline(oCur as Object) 189*1ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 190*1ecadb57SMathias Bauer 'oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 191*1ecadb57SMathias Bauer 192*1ecadb57SMathias Bauer oStart = oCur.getStart 193*1ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 194*1ecadb57SMathias Bauer 195*1ecadb57SMathias Bauer oEnd = oCur.getEnd 196*1ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 197*1ecadb57SMathias Bauer 198*1ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurStart) 199*1ecadb57SMathias Bauer InsertTag("DEFAULTINLINE_","<DEFAULTINLINE>") 200*1ecadb57SMathias Bauer 201*1ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurEnd) 202*1ecadb57SMathias Bauer InsertTag("_DEFAULTINLINE","</DEFAULTINLINE>") 203*1ecadb57SMathias BauerEnd Sub 204*1ecadb57SMathias Bauer 205*1ecadb57SMathias BauerSub InsertCase(sType As String, bInline As Boolean,oCur As Object) 206*1ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 207*1ecadb57SMathias Bauer 208*1ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 209*1ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgCase") 210*1ecadb57SMathias Bauer oDialogModel = oDialog.Model 211*1ecadb57SMathias Bauer 212*1ecadb57SMathias Bauer oOptPredefined = oDialog.GetControl("opPredefined") 213*1ecadb57SMathias Bauer oCbPredefined = oDialog.GetControl("cbPredefined") 214*1ecadb57SMathias Bauer oOptSpecify = oDialog.GetControl("opSpecify") 215*1ecadb57SMathias Bauer oTxtSpecify = oDialog.GetControl("txtSpecify") 216*1ecadb57SMathias Bauer oTxtSpecify.setVisible(FALSE) 217*1ecadb57SMathias Bauer 218*1ecadb57SMathias Bauer If sType = "sys" Then 219*1ecadb57SMathias Bauer arItems = Array("WIN","UNIX","MAC") 220*1ecadb57SMathias Bauer ElseIf sType = "appl" Then 221*1ecadb57SMathias Bauer arItems = Array("CALC","CHART","DRAW","IMPRESS","MATH","WRITER","BASIC") 222*1ecadb57SMathias Bauer ElseIf sType = "distrib" Then 223*1ecadb57SMathias Bauer arItems = Array("OPENSOURCE","COMMERCIAL") 224*1ecadb57SMathias Bauer Else 225*1ecadb57SMathias Bauer msgbox "Unknown Case. Go tell Frank about this",0,"D'oh!" 226*1ecadb57SMathias Bauer Exit Sub 227*1ecadb57SMathias Bauer End If 228*1ecadb57SMathias Bauer 229*1ecadb57SMathias Bauer oCbPredefined.AddItems(arItems,ubound(arItems)) 230*1ecadb57SMathias Bauer oCbPredefined.SetText(arItems(0)) 231*1ecadb57SMathias Bauer 232*1ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 233*1ecadb57SMathias Bauer 234*1ecadb57SMathias Bauer If oOptPredefined.State Then 235*1ecadb57SMathias Bauer sSelect = oCbPredefined.GetText 236*1ecadb57SMathias Bauer Else 237*1ecadb57SMathias Bauer sSelect = oTxtSpecify.Text 238*1ecadb57SMathias Bauer End If 239*1ecadb57SMathias Bauer 240*1ecadb57SMathias Bauer If bInline Then 241*1ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 242*1ecadb57SMathias Bauer 'oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 243*1ecadb57SMathias Bauer 244*1ecadb57SMathias Bauer oStart = oCur.getStart 245*1ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 246*1ecadb57SMathias Bauer 247*1ecadb57SMathias Bauer oEnd = oCur.getEnd 248*1ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 249*1ecadb57SMathias Bauer 250*1ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurStart) 251*1ecadb57SMathias Bauer InsertTag("CASEINLINE_","<CASEINLINE select="""+sSelect+""">") 252*1ecadb57SMathias Bauer 253*1ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurEnd) 254*1ecadb57SMathias Bauer InsertTag("_CASEINLINE","</CASEINLINE>") 255*1ecadb57SMathias Bauer Else 256*1ecadb57SMathias Bauer CR_before 257*1ecadb57SMathias Bauer GoUp(1) 258*1ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 259*1ecadb57SMathias Bauer InsertTag("CASE_","<CASE select=""" + sSelect+""">","hlp_aux_switch") 260*1ecadb57SMathias Bauer GoLeft(1) 261*1ecadb57SMathias Bauer GoDown(1) 262*1ecadb57SMathias Bauer SetCharStyle("Default") 263*1ecadb57SMathias Bauer CloseCase 264*1ecadb57SMathias Bauer GoUp(1) 265*1ecadb57SMathias Bauer End If 266*1ecadb57SMathias Bauer End If 267*1ecadb57SMathias Bauer oDialog.dispose 268*1ecadb57SMathias BauerEnd Sub 269*1ecadb57SMathias Bauer 270*1ecadb57SMathias BauerSub StatusChange 271*1ecadb57SMathias Bauer oOptPredefined = oDialog.GetControl("opPredefined") 272*1ecadb57SMathias Bauer oCbPredefined = oDialog.GetControl("cbPredefined") 273*1ecadb57SMathias Bauer oOptSpecify = oDialog.GetControl("opSpecify") 274*1ecadb57SMathias Bauer oTxtSpecify = oDialog.GetControl("txtSpecify") 275*1ecadb57SMathias Bauer 276*1ecadb57SMathias Bauer If oOptPredefined.State Then 277*1ecadb57SMathias Bauer oCbPredefined.setVisible(TRUE) 278*1ecadb57SMathias Bauer oTxtSpecify.setVisible(FALSE) 279*1ecadb57SMathias Bauer ElseIf oOptSpecify.State Then 280*1ecadb57SMathias Bauer oCbPredefined.setVisible(FALSE) 281*1ecadb57SMathias Bauer oTxtSpecify.setVisible(TRUE) 282*1ecadb57SMathias Bauer End If 283*1ecadb57SMathias BauerEnd Sub 284*1ecadb57SMathias Bauer 285*1ecadb57SMathias BauerSub CloseCase 286*1ecadb57SMathias Bauer CR 287*1ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 288*1ecadb57SMathias Bauer InsertTag("_CASE","</CASE>","hlp_aux_switch") 289*1ecadb57SMathias BauerEnd Sub 290*1ecadb57SMathias Bauer 291*1ecadb57SMathias BauerSub InsertDefault 292*1ecadb57SMathias Bauer CR_before 293*1ecadb57SMathias Bauer GoUp(1) 294*1ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 295*1ecadb57SMathias Bauer InsertTag("DEFAULT_","<DEFAULT>","hlp_aux_switch") 296*1ecadb57SMathias Bauer GoLeft(1) 297*1ecadb57SMathias Bauer GoDown(1) 298*1ecadb57SMathias Bauer SetCharStyle("Default") 299*1ecadb57SMathias Bauer CloseDefault 300*1ecadb57SMathias Bauer GoUp(1) 301*1ecadb57SMathias BauerEnd Sub 302*1ecadb57SMathias Bauer 303*1ecadb57SMathias BauerSub CloseDefault 304*1ecadb57SMathias Bauer CR 305*1ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 306*1ecadb57SMathias Bauer InsertTag("_DEFAULT","</DEFAULT>","hlp_aux_switch") 307*1ecadb57SMathias BauerEnd Sub 308*1ecadb57SMathias Bauer 309*1ecadb57SMathias BauerSub CloseSwitch 310*1ecadb57SMathias Bauer CR 311*1ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 312*1ecadb57SMathias Bauer InsertTag("_SWITCH","</SWITCH>","hlp_aux_switch") 313*1ecadb57SMathias BauerEnd Sub 314*1ecadb57SMathias Bauer 315*1ecadb57SMathias BauerSub CloseSwitchInline 316*1ecadb57SMathias Bauer InsertTag("_SWITCHINLINE","</SWITCHINLINE>") 317*1ecadb57SMathias BauerEnd Sub 318*1ecadb57SMathias Bauer</script:module>