' *** ' InsertColouredText basic script ' Uses a user interface to insert text of a specified colour to the ' start and end of a document ' ' author Neil Montgomery ' created August 12, 2002 ' *** ' Main subprocedure to start script Sub Main dialogShow() End Sub ' Global reference to the dialog object Dim oDialog as Object ' Uses the loadDialog subprocedure to load and execute the dialog box Sub dialogShow oDialog = loadDialog("Standard","InsertColouredTextDialog") oDialog.execute() End Sub ' *** ' Loads the dialog from the dialog library ' ' param Libname the library name where dialog is stored ' param DialogName the name of the dialog ' param oLibContainer library container to hold the loaded dialog library (optional) ' return runtime dialog object ' *** Function loadDialog(Libname as String, DialogName as String, Optional oLibContainer) Dim oLib as Object Dim oLibDialog as Object Dim oRuntimeDialog as Object ' If the optional oLibContainer is not passed to the function then ' DialogLibraries is loaded by default If isMissing(oLibContainer ) then oLibContainer = DialogLibraries End If ' Loads the specified library, then loads the dialog oLibContainer.loadLibrary(LibName) oLib = oLibContainer.getByName(Libname) oLibDialog = oLib.getByName(DialogName) oRuntimeDialog = createUnoDialog(oLibDialog) ' Returns the runtime dialog object loadDialog() = oRuntimeDialog End Function ' *** ' Gets the RGB integer values and new text string from the dialog ' then writes the new coloured text to the start and end of the document ' ' *** Sub getFromDialog Dim oDocument As Object Dim oText As Object Dim oCursor As Object ' Create a document object for the current document then create text and ' cursor objects oDocument = StarDesktop.ActiveFrame.Controller.Model oText = oDocument.Text oCursor = oText.createTextCursor() ' Write the coloured text to the start and end of the document oCursor.gotoStart(false) oCursor.CharColor = getColor() oCursor.setString("New text at start: " + getNewText()) oCursor.gotoEnd(false) oCursor.CharColor = getColor() oCursor.setString("New text at end: " + getNewText()) End Sub ' *** ' Reads the RGB integer values from the dialog ' ' returns long representing the RGB value ' *** Function getColor() as Long Dim oRedText as Object Dim oGreenText as Object Dim oBlueText as Object Dim nColor As Long ' Get the three RGB values oRedText = oDialog.GetControl("RedTextBox") oGreenText = oDialog.GetControl("GreenTextBox") oBlueText = oDialog.GetControl("BlueTextBox") ' Convert the values to long type and return the value nColor = RGB(oRedText.Text,oGreenText.Text,oBlueText.Text) getColor = nColor End Function ' *** ' Reads the new text from the dialog ' ' returns string the new text ' *** Function getNewText() as String Dim oNewText As Object Dim sNewText As String ' Gets the string from dialog and returns the new text oNewText = oDialog.GetControl("NewTextBox") sNewText = oNewText.Text getNewText = sNewText End Function