11ecadb57SMathias Bauer<?xml version="1.0" encoding="UTF-8"?> 21ecadb57SMathias Bauer<!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 ***********************************************************--> 231ecadb57SMathias Bauer<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Switch" script:language="StarBasic">REM ***** BASIC ***** 241ecadb57SMathias Bauer 251ecadb57SMathias BauerDim oDialog AS Object 261ecadb57SMathias BauerDim document AS Object 271ecadb57SMathias Bauer 281ecadb57SMathias BauerSub Main 291ecadb57SMathias BauerEnd Sub 301ecadb57SMathias Bauer 311ecadb57SMathias BauerSub InsertSwitch 321ecadb57SMathias Bauer InsertSwitchTag(FALSE) 331ecadb57SMathias BauerEnd Sub 341ecadb57SMathias Bauer 351ecadb57SMathias BauerSub InsertSwitchInline 361ecadb57SMathias Bauer InsertSwitchTag(TRUE) 371ecadb57SMathias BauerEnd Sub 381ecadb57SMathias Bauer 391ecadb57SMathias BauerSub InsertSwitchTag(bInline As Boolean) 401ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 411ecadb57SMathias Bauer Dim oCur as Object 421ecadb57SMathias Bauer 431ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 441ecadb57SMathias Bauer 451ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgSwitch") 461ecadb57SMathias Bauer oDialogModel = oDialog.Model 471ecadb57SMathias Bauer 481ecadb57SMathias Bauer oOptSys = oDialog.GetControl("opSwitchSystem") 491ecadb57SMathias Bauer oOptAppl = oDialog.GetControl("opSwitchAppl") 501ecadb57SMathias Bauer oOptDistrib = oDialog.GetControl("opSwitchDistrib") 511ecadb57SMathias Bauer 521ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 531ecadb57SMathias Bauer If oOptSys.State Then 541ecadb57SMathias Bauer sType = "sys" 551ecadb57SMathias Bauer ElseIf oOptAppl.State Then 561ecadb57SMathias Bauer sType = "appl" 571ecadb57SMathias Bauer ElseIf oOptDistrib.State Then 581ecadb57SMathias Bauer sType = "distrib" 591ecadb57SMathias Bauer End If 601ecadb57SMathias Bauer Else 611ecadb57SMathias Bauer End If 621ecadb57SMathias Bauer oDialog.Dispose 631ecadb57SMathias Bauer 641ecadb57SMathias Bauer If bInline Then 651ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 661ecadb57SMathias Bauer oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 671ecadb57SMathias Bauer 681ecadb57SMathias Bauer oStart = oCur.getStart 691ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 701ecadb57SMathias Bauer 711ecadb57SMathias Bauer oEnd = oCur.getEnd 721ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 731ecadb57SMathias Bauer 741ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurStart) 751ecadb57SMathias Bauer InsertTag("SWITCHINLINE_","<SWITCHINLINE select=""" + sType + """>","hlp_aux_switch") 761ecadb57SMathias Bauer InsertCase(sType,TRUE,oCur) 771ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurEnd) 781ecadb57SMathias Bauer CloseSwitchInline 791ecadb57SMathias Bauer GoLeft(1) 801ecadb57SMathias Bauer Else 811ecadb57SMathias Bauer CR_before 821ecadb57SMathias Bauer GoUp(1) 831ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 841ecadb57SMathias Bauer InsertTag("SWITCH_","<SWITCH select=""" + sType + """>","hlp_aux_switch") 851ecadb57SMathias Bauer GoLeft(1) 861ecadb57SMathias Bauer GoDown(1) 871ecadb57SMathias Bauer SetCharStyle("Default") 881ecadb57SMathias Bauer CloseSwitch 891ecadb57SMathias Bauer GoUp(1) 901ecadb57SMathias Bauer InsertCase(sType,FALSE,oCur) 911ecadb57SMathias Bauer End If 921ecadb57SMathias BauerEnd Sub 931ecadb57SMathias Bauer 941ecadb57SMathias BauerSub InsertCaseElement 951ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 961ecadb57SMathias Bauer Dim oCur as Object 971ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 981ecadb57SMathias Bauer 991ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgSwitch") 1001ecadb57SMathias Bauer oDialogModel = oDialog.Model 1011ecadb57SMathias Bauer 1021ecadb57SMathias Bauer oOptSys = oDialog.GetControl("opSwitchSystem") 1031ecadb57SMathias Bauer oOptAppl = oDialog.GetControl("opSwitchAppl") 1041ecadb57SMathias Bauer oOptDistrib = oDialog.GetControl("opSwitchDistrib") 1051ecadb57SMathias Bauer 1061ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 1071ecadb57SMathias Bauer If oOptSys.State Then 1081ecadb57SMathias Bauer sType = "sys" 1091ecadb57SMathias Bauer ElseIf oOptAppl.State Then 1101ecadb57SMathias Bauer sType = "appl" 1111ecadb57SMathias Bauer ElseIf oOptDistrib.State Then 1121ecadb57SMathias Bauer sType = "distrib" 1131ecadb57SMathias Bauer End If 1141ecadb57SMathias Bauer Else 1151ecadb57SMathias Bauer End If 1161ecadb57SMathias Bauer oDialog.Dispose 1171ecadb57SMathias Bauer 1181ecadb57SMathias Bauer InsertCase(sType,FALSE,oCur) 1191ecadb57SMathias Bauer 1201ecadb57SMathias BauerEnd Sub 1211ecadb57SMathias Bauer 1221ecadb57SMathias BauerSub InsertDefaultElement 1231ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 1241ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 1251ecadb57SMathias Bauer 1261ecadb57SMathias Bauer InsertDefault 1271ecadb57SMathias BauerEnd Sub 1281ecadb57SMathias Bauer 1291ecadb57SMathias BauerSub InsertCaseInlineElement 1301ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 1311ecadb57SMathias Bauer Dim oCur as Object 1321ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 1331ecadb57SMathias Bauer 1341ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgSwitch") 1351ecadb57SMathias Bauer oDialogModel = oDialog.Model 1361ecadb57SMathias Bauer 1371ecadb57SMathias Bauer oOptSys = oDialog.GetControl("opSwitchSystem") 1381ecadb57SMathias Bauer oOptAppl = oDialog.GetControl("opSwitchAppl") 1391ecadb57SMathias Bauer oOptDistrib = oDialog.GetControl("opSwitchDistrib") 1401ecadb57SMathias Bauer 1411ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 1421ecadb57SMathias Bauer If oOptSys.State Then 1431ecadb57SMathias Bauer sType = "sys" 1441ecadb57SMathias Bauer ElseIf oOptAppl.State Then 1451ecadb57SMathias Bauer sType = "appl" 1461ecadb57SMathias Bauer ElseIf oOptDistrib.State Then 1471ecadb57SMathias Bauer sType = "distrib" 1481ecadb57SMathias Bauer End If 1491ecadb57SMathias Bauer Else 1501ecadb57SMathias Bauer End If 1511ecadb57SMathias Bauer oDialog.Dispose 1521ecadb57SMathias Bauer 1531ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 1541ecadb57SMathias Bauer oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 1551ecadb57SMathias Bauer 1561ecadb57SMathias Bauer oStart = oCur.getStart 1571ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 1581ecadb57SMathias Bauer 1591ecadb57SMathias Bauer oEnd = oCur.getEnd 1601ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 1611ecadb57SMathias Bauer 1621ecadb57SMathias Bauer InsertCase(sType,TRUE,oCur) 1631ecadb57SMathias Bauer GoLeft(1) 1641ecadb57SMathias BauerEnd Sub 1651ecadb57SMathias Bauer 1661ecadb57SMathias BauerSub InsertDefaultInlineElement 1671ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 1681ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 1691ecadb57SMathias Bauer 1701ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 1711ecadb57SMathias Bauer oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 1721ecadb57SMathias Bauer 1731ecadb57SMathias Bauer oStart = oCur.getStart 1741ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 1751ecadb57SMathias Bauer 1761ecadb57SMathias Bauer oEnd = oCur.getEnd 1771ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 1781ecadb57SMathias Bauer 1791ecadb57SMathias Bauer InsertDefaultInline(oCur) 1801ecadb57SMathias Bauer GoLeft(1) 1811ecadb57SMathias BauerEnd Sub 1821ecadb57SMathias Bauer 1831ecadb57SMathias Bauer 1841ecadb57SMathias BauerSub InsertCaseSys 1851ecadb57SMathias Bauer InsertCase("sys",FALSE) 1861ecadb57SMathias BauerEnd Sub 1871ecadb57SMathias Bauer 1881ecadb57SMathias BauerSub InsertCaseAppl 1891ecadb57SMathias Bauer InsertCase("appl",FALSE) 1901ecadb57SMathias BauerEnd Sub 1911ecadb57SMathias Bauer 1921ecadb57SMathias BauerSub InsertCaseDistrib 1931ecadb57SMathias Bauer InsertCase("distrib",FALSE) 1941ecadb57SMathias BauerEnd Sub 1951ecadb57SMathias Bauer 1961ecadb57SMathias BauerSub InsertCaseInlineSys 1971ecadb57SMathias Bauer InsertCase("sys",TRUE) 1981ecadb57SMathias BauerEnd Sub 1991ecadb57SMathias Bauer 2001ecadb57SMathias BauerSub InsertCaseInlineAppl 2011ecadb57SMathias Bauer InsertCase("appl",TRUE) 2021ecadb57SMathias BauerEnd Sub 2031ecadb57SMathias Bauer 2041ecadb57SMathias BauerSub InsertCaseInlineDistrib 2051ecadb57SMathias Bauer InsertCase("distrib",TRUE) 2061ecadb57SMathias BauerEnd Sub 2071ecadb57SMathias Bauer 2081ecadb57SMathias BauerSub InsertDefaultInline(oCur as Object) 2091ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 2101ecadb57SMathias Bauer 'oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 2111ecadb57SMathias Bauer 2121ecadb57SMathias Bauer oStart = oCur.getStart 2131ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 2141ecadb57SMathias Bauer 2151ecadb57SMathias Bauer oEnd = oCur.getEnd 2161ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 2171ecadb57SMathias Bauer 2181ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurStart) 2191ecadb57SMathias Bauer InsertTag("DEFAULTINLINE_","<DEFAULTINLINE>") 2201ecadb57SMathias Bauer 2211ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurEnd) 2221ecadb57SMathias Bauer InsertTag("_DEFAULTINLINE","</DEFAULTINLINE>") 2231ecadb57SMathias BauerEnd Sub 2241ecadb57SMathias Bauer 2251ecadb57SMathias BauerSub InsertCase(sType As String, bInline As Boolean,oCur As Object) 2261ecadb57SMathias Bauer document = StarDesktop.CurrentComponent 2271ecadb57SMathias Bauer 2281ecadb57SMathias Bauer BasicLibraries.LoadLibrary("HelpAuthoring") 2291ecadb57SMathias Bauer oDialog = LoadDialog("HelpAuthoring", "dlgCase") 2301ecadb57SMathias Bauer oDialogModel = oDialog.Model 2311ecadb57SMathias Bauer 2321ecadb57SMathias Bauer oOptPredefined = oDialog.GetControl("opPredefined") 2331ecadb57SMathias Bauer oCbPredefined = oDialog.GetControl("cbPredefined") 2341ecadb57SMathias Bauer oOptSpecify = oDialog.GetControl("opSpecify") 2351ecadb57SMathias Bauer oTxtSpecify = oDialog.GetControl("txtSpecify") 2361ecadb57SMathias Bauer oTxtSpecify.setVisible(FALSE) 2371ecadb57SMathias Bauer 2381ecadb57SMathias Bauer If sType = "sys" Then 2391ecadb57SMathias Bauer arItems = Array("WIN","UNIX","MAC") 2401ecadb57SMathias Bauer ElseIf sType = "appl" Then 2411ecadb57SMathias Bauer arItems = Array("CALC","CHART","DRAW","IMPRESS","MATH","WRITER","BASIC") 2421ecadb57SMathias Bauer ElseIf sType = "distrib" Then 2431ecadb57SMathias Bauer arItems = Array("OPENSOURCE","COMMERCIAL") 2441ecadb57SMathias Bauer Else 2451ecadb57SMathias Bauer msgbox "Unknown Case. Go tell Frank about this",0,"D'oh!" 2461ecadb57SMathias Bauer Exit Sub 2471ecadb57SMathias Bauer End If 2481ecadb57SMathias Bauer 2491ecadb57SMathias Bauer oCbPredefined.AddItems(arItems,ubound(arItems)) 2501ecadb57SMathias Bauer oCbPredefined.SetText(arItems(0)) 2511ecadb57SMathias Bauer 2521ecadb57SMathias Bauer If oDialog.Execute() = 1 Then 2531ecadb57SMathias Bauer 2541ecadb57SMathias Bauer If oOptPredefined.State Then 2551ecadb57SMathias Bauer sSelect = oCbPredefined.GetText 2561ecadb57SMathias Bauer Else 2571ecadb57SMathias Bauer sSelect = oTxtSpecify.Text 2581ecadb57SMathias Bauer End If 2591ecadb57SMathias Bauer 2601ecadb57SMathias Bauer If bInline Then 2611ecadb57SMathias Bauer oSel = thiscomponent.getcurrentcontroller.getselection 2621ecadb57SMathias Bauer 'oCur = oSel(0).getText.createTextCursorByRange(oSel(0)) 2631ecadb57SMathias Bauer 2641ecadb57SMathias Bauer oStart = oCur.getStart 2651ecadb57SMathias Bauer oCurStart = oStart.getText.createTextCursorByRange(oStart) 2661ecadb57SMathias Bauer 2671ecadb57SMathias Bauer oEnd = oCur.getEnd 2681ecadb57SMathias Bauer oCurEnd = oEnd.getText.createTextCursorByRange(oEnd) 2691ecadb57SMathias Bauer 2701ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurStart) 2711ecadb57SMathias Bauer InsertTag("CASEINLINE_","<CASEINLINE select="""+sSelect+""">") 2721ecadb57SMathias Bauer 2731ecadb57SMathias Bauer thiscomponent.getcurrentcontroller.select(oCurEnd) 2741ecadb57SMathias Bauer InsertTag("_CASEINLINE","</CASEINLINE>") 2751ecadb57SMathias Bauer Else 2761ecadb57SMathias Bauer CR_before 2771ecadb57SMathias Bauer GoUp(1) 2781ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 2791ecadb57SMathias Bauer InsertTag("CASE_","<CASE select=""" + sSelect+""">","hlp_aux_switch") 2801ecadb57SMathias Bauer GoLeft(1) 2811ecadb57SMathias Bauer GoDown(1) 2821ecadb57SMathias Bauer SetCharStyle("Default") 2831ecadb57SMathias Bauer CloseCase 2841ecadb57SMathias Bauer GoUp(1) 2851ecadb57SMathias Bauer End If 2861ecadb57SMathias Bauer End If 2871ecadb57SMathias Bauer oDialog.dispose 2881ecadb57SMathias BauerEnd Sub 2891ecadb57SMathias Bauer 2901ecadb57SMathias BauerSub StatusChange 2911ecadb57SMathias Bauer oOptPredefined = oDialog.GetControl("opPredefined") 2921ecadb57SMathias Bauer oCbPredefined = oDialog.GetControl("cbPredefined") 2931ecadb57SMathias Bauer oOptSpecify = oDialog.GetControl("opSpecify") 2941ecadb57SMathias Bauer oTxtSpecify = oDialog.GetControl("txtSpecify") 2951ecadb57SMathias Bauer 2961ecadb57SMathias Bauer If oOptPredefined.State Then 2971ecadb57SMathias Bauer oCbPredefined.setVisible(TRUE) 2981ecadb57SMathias Bauer oTxtSpecify.setVisible(FALSE) 2991ecadb57SMathias Bauer ElseIf oOptSpecify.State Then 3001ecadb57SMathias Bauer oCbPredefined.setVisible(FALSE) 3011ecadb57SMathias Bauer oTxtSpecify.setVisible(TRUE) 3021ecadb57SMathias Bauer End If 3031ecadb57SMathias BauerEnd Sub 3041ecadb57SMathias Bauer 3051ecadb57SMathias BauerSub CloseCase 3061ecadb57SMathias Bauer CR 3071ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 3081ecadb57SMathias Bauer InsertTag("_CASE","</CASE>","hlp_aux_switch") 3091ecadb57SMathias BauerEnd Sub 3101ecadb57SMathias Bauer 3111ecadb57SMathias BauerSub InsertDefault 3121ecadb57SMathias Bauer CR_before 3131ecadb57SMathias Bauer GoUp(1) 3141ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 3151ecadb57SMathias Bauer InsertTag("DEFAULT_","<DEFAULT>","hlp_aux_switch") 3161ecadb57SMathias Bauer GoLeft(1) 3171ecadb57SMathias Bauer GoDown(1) 3181ecadb57SMathias Bauer SetCharStyle("Default") 3191ecadb57SMathias Bauer CloseDefault 3201ecadb57SMathias Bauer GoUp(1) 3211ecadb57SMathias BauerEnd Sub 3221ecadb57SMathias Bauer 3231ecadb57SMathias BauerSub CloseDefault 3241ecadb57SMathias Bauer CR 3251ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 3261ecadb57SMathias Bauer InsertTag("_DEFAULT","</DEFAULT>","hlp_aux_switch") 3271ecadb57SMathias BauerEnd Sub 3281ecadb57SMathias Bauer 3291ecadb57SMathias BauerSub CloseSwitch 3301ecadb57SMathias Bauer CR 3311ecadb57SMathias Bauer SetParaStyle("hlp_aux_switch") 3321ecadb57SMathias Bauer InsertTag("_SWITCH","</SWITCH>","hlp_aux_switch") 3331ecadb57SMathias BauerEnd Sub 3341ecadb57SMathias Bauer 3351ecadb57SMathias BauerSub CloseSwitchInline 3361ecadb57SMathias Bauer InsertTag("_SWITCHINLINE","</SWITCHINLINE>") 3371ecadb57SMathias BauerEnd Sub 338*3e02b54dSAndrew Rist</script:module> 339