summaryrefslogtreecommitdiff
path: root/wizards/source/formwizard/develop.xba
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
commit2e626373db2412ac22e8c5c27a60d11cd29e875b (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /wizards/source/formwizard/develop.xba
parentf7ee7bbd5174b084f018c2ec94d8c70c98ee04da (diff)
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'wizards/source/formwizard/develop.xba')
-rw-r--r--wizards/source/formwizard/develop.xba533
1 files changed, 0 insertions, 533 deletions
diff --git a/wizards/source/formwizard/develop.xba b/wizards/source/formwizard/develop.xba
deleted file mode 100644
index a12d1af37..000000000
--- a/wizards/source/formwizard/develop.xba
+++ /dev/null
@@ -1,533 +0,0 @@
-<?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="develop" script:language="StarBasic">REM ***** BASIC *****
-Option Explicit
-
-Public oDBShapeList() as Object
-Public oTCShapeList() as Object
-Public oDBModelList() as Object
-Public oGroupShapeList() as Object
-
-Public oGridShape as Object
-Public a as Integer
-Public StartA as Integer
-Public bIsFirstRun as Boolean
-Public bIsVeryFirstRun as Boolean
-Public bControlsareCreated as Boolean
-Public nDBRefHeight as Long
-Public nXTCPos&amp;, nYTCPos&amp;, nXDBPos&amp;, nYDBPos&amp;, nTCHeight&amp;, nTCWidth&amp;, nDBHeight&amp;, nDBWidth&amp;
-
-Dim iReduceWidth as Integer
-
-Function PositionControls(Maxindex as Integer)
-Dim oTCModel as Object
-Dim oDBModel as Object
-Dim i as Integer
- InitializePosSizes()
- bIsFirstRun = True
- bIsVeryFirstRun = True
- a = 0
- StartA = 0
- nMaxRowY = 0
- nSecMaxRowY = 0
- If CurArrangement = cLeftJustified Or cTopJustified Then
- DialogModel.optAlign0.State = 1
- End If
- For i = 0 To MaxIndex
- GetCurrentMetaValues(i)
- oTCModel = InsertTextControl(i)
- If CurFieldType = com.sun.star.sdbc.DataType.TIMESTAMP Then
- InsertTimeStampShape(i)
- Else
- InsertDBControl(i)
- bIsVeryFirstRun = False
- oDBModelList(i).LabelControl = oTCModel
- End If
- GetLabelDiffHeight(i+1)
- ResetPosSizes(i)
- oProgressbar.Value = i
- Next i
- ControlCaptionstoStandardLayout()
- bControlsareCreated = True
-End Function
-
-
-Sub ResetPosSizes(LastIndex as Integer)
- Select Case CurArrangement
- Case cColumnarLeft
- nYDBPos = nYDBPos + nDBHeight + cVertDistance
- If (nYDBPos &gt; cYOffset + nFormHeight) Or (LastIndex = MaxIndex) Then
- RepositionColumnarLeftControls(LastIndex)
- nXTCPos = nMaxColRightX + 2 * cHoriDistance
- nXDBPos = nXTCPos + cHoriDistance + nMaxTCWidth
- nYDBPos = cYOffset
- bIsFirstRun = True
- StartA = LastIndex + 1
- a = 0
- Else
- a = a + 1
- End If
- nYTCPos = nYDBPos + LABELDIFFHEIGHT
- Case cColumnarTop
- nYTCPos = nYDBPos + nDBHeight + cVertDistance
- If nYTCPos &gt; cYOffset + nFormHeight Then
- nXDBPos = nMaxColRightX + cHoriDistance
- nXTCPos = nXDBPos
- nYDBPos = cYOffset + nTCHeight + cVertDistance
- nYTCPos = cYOffset
- bIsFirstRun = True
- StartA = LastIndex + 1
- a = 0
- Else
- a = a + 1
- End If
- Case cLeftJustified,cTopJustified
- If nMaxColRightX &gt; cXOffset + nFormWidth Then
- Dim nOldYTCPos as Long
- nOldYTCPos = nYTCPos
- CheckJustifiedPosition()
- Else
- nXTCPos = nMaxColRightX + CHoriDistance
- If CurArrangement = cLeftJustified Then
- nYTCPos = nYDBPos + LabelDiffHeight
- End If
- End If
- a = a + 1
- End Select
-End Sub
-
-
-Sub RepositionColumnarLeftControls(LastIndex as Integer)
-Dim aSize As New com.sun.star.awt.Size
-Dim aPoint As New com.sun.star.awt.Point
-Dim i as Integer
- aSize = GetSize(nMaxTCWidth, nTCHeight)
- bIsFirstRun = True
- For i = StartA To LastIndex
- If i = StartA Then
- nXTCPos = oTCShapeList(i).Position.X
- nXDBPos = nXTCPos + nMaxTCWidth + cHoriDistance
- End If
- ResetDBShape(oDBShapeList(i), nXDBPos)
- CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
- Next i
-End Sub
-
-
-Sub ResetDBShape(oLocDBShape as Object, iXPos as Long)
-Dim aSize As New com.sun.star.awt.Size
-Dim aPoint As New com.sun.star.awt.Point
- nYDBPos = oLocDBShape.Position.Y
- nDBWidth = oLocDBShape.Size.Width
- nDBHeight = oLocDBShape.Size.Height
- aPoint = GetPoint(iXPos,nYDBPos)
- oLocDBShape.SetPosition(aPoint)
-End Sub
-
-
-Sub InitializePosSizes()
- nXTCPos = cXOffset
- nTCWidth = 2000
- nDBWidth = 2000
- nDBHeight = nDBRefHeight
- iReduceWidth = 0
- Select Case CurArrangement
- Case cColumnarLeft, cLeftJustified
- GetLabelDiffHeight(0)
- nYTCPos = cYOffset + LABELDIFFHEIGHT
- nXDBPos = cXOffset + 3050
- nYDBPos = cYOffset
- Case cColumnarTop, cTopJustified
- nXDBPos = cXOffset
- nYTCPos = cYOffset
- End Select
-End Sub
-
-
-Function InsertTextControl(i as Integer) as Object
-Dim oShape as Object
-Dim oModel as Object
-Dim aPoint as New com.sun.star.awt.Point
-Dim aSize As New com.sun.star.awt.Size
- If bControlsareCreated Then
- Set oShape = oTCShapeList(i)
- Set oModel = oShape.GetControl
- If CurArrangement = cLeftJustified Then
- nTCWidth = GetPreferredWidth(oModel, True, CurFieldname)
- Else
- nTCWidth = oShape.Size.Width
- End If
- oShape.Position = GetPoint(nXTCPos, nYTCPos)
- If CurArrangement = cColumnarTop Then
- oModel.Align = com.sun.star.awt.TextAlign.LEFT
- End If
- Else
- oModel = CreateUnoService(oModelService(cLabel))
- aPoint = GetPoint(nXTCPos, nYTCPos)
- aSize = GetSize(nTCWidth,nTCHeight)
- Set oShape = InsertControl(oDrawPage, oModel, aPoint, aSize)
- Set oTCShapeList(i)= oShape
- If bIsVeryFirstRun Then
- If CurArrangement = cColumnarTop Then
- nYDBPos = nYTCPos + nTCHeight
- End If
- End If
- nTCWidth = GetPreferredWidth(oModel, True, CurFieldName)
- End If
- If CurArrangement = cColumnarLeft Then
- &apos; Note This If Sequence must be called before retrieving the outer Points
- If bIsFirstRun Then
- nMaxTCWidth = nTCWidth
- bIsFirstRun = False
- ElseIf nTCWidth &gt; nMaxTCWidth Then
- nMaxTCWidth = nTCWidth
- End If
- End If
- CheckOuterPoints(oShape.Position.X, nTCWidth, nYTCPos, nTCHeight, False)
- Select Case CurArrangement
- Case cLeftJustified
- nXDBPos = nMaxColRightX
- Case cColumnarTop,cTopJustified
- oModel.Align = com.sun.star.awt.TextAlign.LEFT
- nXDBPos = nXTCPos
- nYDBPos = nYTCPos + nTCHeight
- If CurFieldLength = 20 And nDBWidth &gt; 2 * nTCWidth Then
- iReduceWidth = iReduceWidth + 1
- End If
- End Select
- oShape.SetSize(GetSize(nTCWidth,nTCHeight))
- If CurHelpText &lt;&gt; &quot;&quot; Then
- oModel.HelpText = CurHelptext
- End If
- InsertTextControl = oModel
-End Function
-
-
-Sub InsertDBControl(i as Integer)
-Dim aPoint as New com.sun.star.awt.Point
-Dim aSize As New com.sun.star.awt.Size
-Dim oControl as Object
-Dim iColRightX as Long
-
- aPoint = GetPoint(nXDBPos, nYDBPos)
- If bControlsAreCreated Then
- oDBShapeList(i).Position = aPoint
- Else
- oDBModelList(i) = CreateUnoService(oModelService(CurControlType))
- oDBShapeList(i) = InsertControl(oDrawPage, oDBModelList(i), aPoint, aSize)
- SetNumerics(oDBModelList(i), CurFieldType)
- If CurControlType = cCheckBox Then
- oDBModelList(i).Label = &quot;&quot;
- End If
- oDBModelList(i).DataField = CurFieldName
- End If
- nDBHeight = GetDBHeight(oDBModelList(i))
- nDBWidth = GetPreferredWidth(oDBModelList(i),True)
- aSize = GetSize(nDBWidth,nDBHeight)
- oDBShapeList(i).SetSize(aSize)
- CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
-End Sub
-
-
-Function InsertTimeStampShape(i as Integer) as Object
-Dim oDateModel as Object
-Dim oTimeModel as Object
-Dim oDateShape as Object
-Dim oTimeShape as Object
-Dim oDateTimeShape as Object
-Dim aPoint as New com.sun.star.awt.Point
-Dim aSize as New com.sun.star.awt.Size
-Dim nDateWidth as Long
-Dim nTimeWidth as Long
-Dim oGroupShape as Object
- aPoint = GetPoint(nXDBPos, nYDBPos)
- If bControlsAreCreated Then
- oDBShapeList(i).Position = aPoint
- nDBWidth = oDBShapeList(i).Size.Width
- nDBHeight = oDBShapeList(i).Size.Height
- Else
- oGroupShape = oDocument.CreateInstance(&quot;com.sun.star.drawing.GroupShape&quot;)
- oGroupShape.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
- oDrawPage.Add(oGroupShape)
- CurFieldType = com.sun.star.sdbc.DataType.DATE
- oDateModel = CreateUnoService(&quot;com.sun.star.form.component.DateField&quot;)
- oDateModel.DataField = CurFieldName
- oDateShape = InsertControl(oGroupShape, oDateModel, aPoint, aSize)
- SetNumerics(oDateModel, CurFieldType)
- nDBHeight = GetDBHeight(oDateModel)
- nDateWidth = GetPreferredWidth(oDateModel,True)
- aSize = GetSize(nDateWidth,nDBHeight)
- oDateShape.SetSize(aSize)
-
- CurFieldType = com.sun.star.sdbc.DataType.TIME
- oTimeModel = CreateUnoService(&quot;com.sun.star.form.component.TimeField&quot;)
- oTimeModel.DataField = CurFieldName
- oTimeShape = InsertControl(oGroupShape, oTimeModel, aPoint, aSize)
- oTimeShape.Position = GetPoint(nXDBPos + 10 + nDateWidth,nYDBPos)
- nTimeWidth = GetPreferredWidth(oTimeModel)
- aSize = GetSize(nTimeWidth,nDBHeight)
- oTimeShape.SetSize(aSize)
- nDBWidth = nDateWidth + nTimeWidth + 10
- oGroupShape.Position = aPoint
- oGroupShape.Size = GetSize(nDBWidth, nDBHeight)
- Set oDBShapeList(i)= oGroupShape
- End If
- CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
- InsertTimeStampShape() = oDBShapeList(i)
-End Function
-
-
-&apos; Note: on all Controls except for the checkbox the Label has to be set
-&apos; a bit under the DBControl because its Height is also smaller
-Sub GetLabelDiffHeight(Index as Integer)
- If (CurArrangement = cLeftJustified) Or (CurArrangement = cColumnarLeft) Then
- If Index &lt;= Ubound(FieldMetaValues()) Then
- If FieldMetaValues(Index,2) = cCheckBox Then
- LabelDiffHeight = 0
- Else
- LabelDiffHeight = BasicLabelDiffHeight
- End If
- End If
- End If
-End Sub
-
-
-Sub CheckJustifiedPosition()
-Dim nLeftDist as Long
-Dim nRightDist as Long
-Dim oLocDBShape as Object
-Dim oLocTextShape as Object
-Dim nBaseWidth as Long
- nBaseWidth = nFormWidth + cXOffset
- nLeftDist = nMaxColRightX - nBaseWidth
- nRightDist = nBaseWidth - nXTCPos + cHoriDistance
- If nLeftDist &lt; 0.5 * nRightDist and iReduceWidth &gt; 2 Then
- &apos; Fieldwidths in the line can be made smaller
- AdjustLineWidth(StartA, a, nLeftDist, - 1)
- If CurArrangement = cLeftjustified Then
- nYDBPos = nMaxRowY + cVertDistance
- nYTCPos = nYDBPos + LABELDIFFHEIGHT
- nXTCPos = cXOffset
- Else
- nYTCPos = nMaxRowY + cVertDistance
- nYDBPos = nYTCPos + nTCHeight
- nXTCPos = cXOffset
- nXDBPos = cXOffset
- End If
- bIsFirstRun = True
- StartA = a + 1
- Else
- Set oLocDBShape = oDBShapeList(a)
- Set oLocTextShape = oTCShapeList(a)
- If CurArrangement = cLeftJustified Then
- If nYDBPos + nDBHeight = nMaxRowY Then
- &apos; The last Control was the highes in the row
- nYDBPos = nSecMaxRowY + cVertDistance
- Else
- nYDBPos = nMaxRowY + cVertDistance
- End If
- nYTCPos = nYDBPos + LABELDIFFHEIGHT
- nXDBPos = cXOffset + nTCWidth
- oLocTextShape.Position = GetPoint(cXOffset, nYTCPos)
- oLocDBShape.Position = GetPoint(nXDBPos, nYDBPos)
- &apos; PosSizes for the next two Controls
- nXTCPos = oLocDBShape.Position.X + oLocDBShape.Size.Width + cHoriDistance
- bIsFirstRun = True
- CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
- nXDBPos = nMaxColRightX + cHoriDistance
- Else &apos; cTopJustified
- If nYDBPos + nDBHeight = nMaxRowY Then
- &apos; The last Control was the highest in the row
- nYTCPos = nSecMaxRowY + cVertDistance
- Else
- nYTCPos = nMaxRowY + cVertDistance
- End If
- nYDBPos = nYTCPOS + nTCHeight
- nXDBPos = cXOffset
- nXTCPos = cXOffset
- oLocTextShape.Position = GetPoint(cXOffset, nYTCPos)
- oLocDBShape.Position = GetPoint(cXOffset, nYDBPos)
- bIsFirstRun = True
- If nDBWidth &gt; nTCWidth Then
- CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
- Else
- CheckOuterPoints(nXDBPos, nTCWidth, nYDBPos, nDBHeight, True)
- End If
- nXTCPos = nMaxColRightX + cHoriDistance
- nXDBPos = nXTCPos
- End If
- AdjustLineWidth(StartA, a-1, nRightDist, 1)
- StartA = a
- End If
- iReduceWidth = 0
-End Sub
-
-
-
-Function GetCorrWidth(StartIndex as Integer, EndIndex as Integer, nDist as Long, Widthfactor as Integer) as Integer
-Dim ShapeCount as Integer
- If WidthFactor &gt; 0 Then
- ShapeCount = EndIndex-StartIndex + 1
- Else
- ShapeCount = iReduceWidth
- End If
- GetCorrWidth() = (nDist)/ShapeCount
-End Function
-
-
-Sub AdjustLineWidth(StartIndex as Integer, EndIndex as Integer, nDist as Long, Widthfactor as Integer)
-Dim i as Integer
-Dim oLocDBShape as Object
-Dim oLocTCShape as Object
-Dim CorrWidth as Integer
-Dim bAdjustPos as Boolean
-Dim iLocTCPosX as Long
-Dim iLocDBPosX as Long
- CorrWidth = GetCorrWidth(StartIndex, EndIndex, nDist, Widthfactor)
- bAdjustPos = False
- iLocTCPosX = cXOffset
- For i = StartIndex To EndIndex
- Set oLocDBShape = oDBShapeList(i)
- Set oLocTCShape = oTCShapeList(i)
- If bAdjustPos Then
- oLocTCShape.Position = GetPoint(iLocTCPosX, oLocTCShape.Position.Y)
- If CurArrangement = cLeftJustified Then
- iLocDBPosX = oLocTCShape.Position.X + oLocTCShape.Size.Width
- oLocDBShape.Position = GetPoint(iLocDBPosX, oLocDBShape.Position.Y)
- Else
- oLocDBShape.Position = GetPoint(iLocTCPosX, oLocTCShape.Position.Y + nTCHeight)
- End If
- Else
- bAdjustPos = True
- End If
- If CDbl(FieldMetaValues(i,1)) &gt; 20 or WidthFactor &gt; 0 Then
- If (CurArrangement = cTopJustified) And (oLocTCShape.Size.Width &gt; oLocDBShape.Size.Width) Then
- oLocDBShape.Size = GetSize(oLocTCShape.Size.Width + WidthFactor * CorrWidth, oLocDBShape.Size.Height)
- Else
- oLocDBShape.Size = GetSize(oLocDBShape.Size.Width + WidthFactor * CorrWidth, oLocDBShape.Size.Height)
- End If
- End If
- iLocTCPosX = oLocDBShape.Position.X + oLocDBShape.Size.Width + cHoriDistance
- If CurArrangement = cTopJustified Then
- If oLocTCShape.Size.Width &gt; oLocDBShape.Size.Width Then
- iLocTCPosX = oLocDBShape.Position.X + oLocTCShape.Size.Width + cHoriDistance
- End If
- End If
- Next i
-End Sub
-
-
-Sub CheckOuterPoints(nXPos, nWidth, nYPos, nHeight, bIsDBField as Boolean)
-Dim nColRightX as Long
-Dim nRowY as Long
-Dim nOldMaxRowY as Long
- If CurArrangement = cLeftJustified Or CurArrangement = cTopJustified Then
- If bIsDBField Then
- &apos; Only at DBControls you can measure the Value of nMaxRowY
- If bIsFirstRun Then
- nMaxRowY = nYPos + nHeight
- nSecMaxRowY = nMaxRowY
- Else
- nRowY = nYPos + nHeight
- If nRowY &gt;= nMaxRowY Then
- nOldMaxRowY = nMaxRowY
- nSecMaxRowY = nOldMaxRowY
- nMaxRowY = nRowY
- End If
- End If
- End If
- End If
- &apos; Find the outer right point
- If bIsFirstRun Then
- nMaxColRightX = nXPos + nWidth
- bIsFirstRun = False
- Else
- nColRightX = nXPos + nWidth
- If nColRightX &gt; nMaxColRightX Then
- nMaxColRightX = nColRightX
- End If
- End If
-End Sub
-
-
-Function PositionGridControl(MaxIndex as Integer)
-Dim oControl as Object
-Dim n as Integer
-Dim oColumn as Object
-Dim aPoint as New com.sun.star.awt.Point
-Dim aSize as New com.sun.star.awt.Size
- If bControlsareCreated Then
- ShapesToNirwana()
- End If
- oGridModel = CreateUnoService(oModelService(cGridControl))
- oGridModel.Name = &quot;Grid1&quot;
- aPoint = GetPoint(cXOffset, cYOffset)
- aSize = GetSize(nFormWidth, nFormHeight)
- oDBForm.InsertByName (oGridModel.Name, oGridModel)
- oGridShape = InsertControl(oDrawPage, oGridModel, aPoint, aSize)
- For n = 0 to MaxIndex
- GetCurrentMetaValues(n)
- If CurFieldType = com.sun.star.sdbc.DataType.TIMESTAMP Then
- oColumn = SetupGridColumn(oGridModel,&quot;DateField&quot;, False, com.sun.star.sdbc.DataType.DATE, CurFieldName &amp; &quot; &quot; &amp; sDateAppendix)
- oColumn = SetupGridColumn(oGridModel,&quot;TimeField&quot;, False, com.sun.star.sdbc.DataType.TIME, CurFieldName &amp; &quot; &quot; &amp; sTimeAppendix)
- Else
- If CurControlType = cImageControl Then
- oColumn = SetupGridColumn(oGridModel,&quot;TextField&quot;, True, CurFieldType, CurFieldName)
- Else
- oColumn = SetupGridColumn(oGridModel, CurControlName, False, CurFieldType, CurFieldName)
- End If
- End If
- oProgressbar.Value = n
- next n
-End Function
-
-
-Function SetupGridColumn(oGridModel as Object, ControlName as String, bHidden as Boolean, iLocFieldType as Integer, ColName as String) as Object
-Dim oColumn as Object
- CurControlName = ControlName
- oColumn = oGridModel.CreateColumn(CurControlName)
- oColumn.Name = CalcUniqueContentName(oGridModel, CurControlName)
- oColumn.Hidden = bHidden
- SetNumerics(oColumn, iLocFieldType)
- oColumn.DataField = CurFieldName
- oColumn.Label = ColName
- oColumn.Width = 0 &apos; Width of column is adjusted to Columname
- oGridModel.insertByName(oColumn.Name, oColumn)
-End Function
-
-
-Sub ControlCaptionstoStandardLayout()
-Dim i as Integer
-Dim iBorderType as Integer
-Dim oCurModel as Object
-Dim oStyle as Object
-Dim iStandardColor as Long
- If CurArrangement &lt;&gt; cTabled Then
- oStyle = oDocument.StyleFamilies.GetByName(&quot;ParagraphStyles&quot;).GetByName(&quot;Standard&quot;)
- iStandardColor = oStyle.CharColor
- For i = 0 To MaxIndex
- oCurModel = oTCShapeList(i).GetControl
- If i = 0 Then
- If oCurModel.TextColor = iStandardColor Then
- Exit Sub
- End If
- End If
- oCurModel.TextColor = iStandardColor
- Next i
- End If
-End Sub
-
-
-Sub GroupShapesTogether()
-Dim i as Integer
- If CurArrangement &lt;&gt; cTabled Then
- For i = 0 To MaxIndex
- oGroupShapeList(i) = CreateUnoService(&quot;com.sun.star.drawing.ShapeCollection&quot;)
- oGroupShapeList(i).Add(oTCShapeList(i))
- oGroupShapeList(i).Add(oDBShapeList(i))
- oDrawPage.Group(oGroupShapeList(i))
- Next i
- Else
- RemoveNirwanaShapes()
- End If
-End Sub</script:module> \ No newline at end of file