fix: refactoring and fixes for working with archive

This commit is contained in:
Georgy Litvinov 2021-08-29 16:44:00 +02:00
parent 82c63c82ca
commit fe1fc573eb
3 changed files with 72 additions and 60 deletions

View file

@ -1,6 +1,6 @@
<?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="Archive" script:language="StarBasic" script:moduleType="normal">Sub archMark25
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Archive" script:language="StarBasic" script:moduleType="normal">Sub archMark26
End Sub
@ -274,14 +274,16 @@ end Sub
Sub configureHeadings
configureArchiveHeading1
configureOtherArchiveHeadings
configureArchiveHeadings()
End Sub
Sub configureArchiveHeading1
Dim outline1() As Object
Dim oViewCursor As Object
Dim oSavePosition As Object
Dim initPosition As Object
Dim initPageNum As Integer
fixViewCursor()
oViewCursor = thisComponent.getCurrentController.getViewCursor
oSavePosition = oViewCursor.Text.createTextCursorByRange(oViewCursor)
outline1 = getHeadingWithLevel(1)
@ -289,33 +291,35 @@ Sub configureArchiveHeading1
Dim pageNumberCursor As Object
Dim i As Integer
Dim j As Integer
Dim initialPageCount As Integer
initialPageCount = ThisComponent.currentController.pageCount
For i = LBound(outline1) To UBound(outline1)
oViewCursor.goToRange(outline1(i), false)
oViewCursor.jumpToEndOfPage()
pageNumberCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
pageNumberCursor.goToStartOfWord(false)
startViewPageNum = getPageNumber(pageNumberCursor)
initPosition = oViewCursor.Text.createTextCursorByRange(oViewCursor)
initPageNum = oViewcursor.getPage()
Do While startViewPageNum = getPageNumber(pageNumberCursor) And initialPageCount = ThisComponent.currentController.pageCount
outline1(i).ParaTopMargin = outline1(i).ParaTopMargin + 100
Do While Not isContentPageChanged(initPosition, initPageNum) AND outline1(i).ParaBottomMargin &lt; 10000
outline1(i).ParaBottomMargin = outline1(i).ParaBottomMargin + 100
Loop
Do While isContentPageChanged(initPosition, initPageNum)
If outline1(i).ParaBottomMargin &lt; 0 Then
Exit Do
EndIf
outline1(i).ParaBottomMargin = outline1(i).ParaBottomMargin - 100
Loop
If outline1(i).ParaTopMargin &gt;= 100 Then
outline1(i).ParaTopMargin = outline1(i).ParaTopMargin - 100
EndIf
Next i
oViewCursor.goToRange(oSavePosition,false)
End Sub
Sub configureOtherArchiveHeadings
Sub configureArchiveHeadings()
Dim outline1() As Object
Dim oViewCursor As Object
Dim oSavePosition As Object
Dim initPosition As Object
Dim initPageNum As Integer
Dim savePosition As Object
fixViewCursor()
oViewCursor = thisComponent.getCurrentController.getViewCursor
oSavePosition = oViewCursor.Text.createTextCursorByRange(oViewCursor)
savePosition = oViewCursor.Text.createTextCursorByRange(oViewCursor)
Dim startViewPageNum As Integer
Dim pageNumberCursor As Object
Dim i As Integer
Dim j As Integer
@ -327,23 +331,25 @@ Sub configureOtherArchiveHeadings
If outline1(i).BreakType &lt;&gt; 4 Then
oViewCursor.goToRange(outline1(i), false)
oViewCursor.jumpToEndOfPage()
pageNumberCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
pageNumberCursor.goToStartOfWord(false)
startViewPageNum = getPageNumber(pageNumberCursor)
initPosition = oViewCursor.Text.createTextCursorByRange(oViewCursor)
initPageNum = oViewcursor.getPage()
Do While startViewPageNum = getPageNumber(pageNumberCursor) And initialPageCount = ThisComponent.currentController.pageCount
Do While Not isContentPageChanged(initPosition, initPageNum)
outline1(i).ParaTopMargin = outline1(i).ParaTopMargin + 100
If (outline1(i).ParaTopMargin &gt; outline1(i).ParaBottomMargin) Then
Exit Do
EndIf
Loop
If outline1(i).ParaTopMargin &gt;= 100 Then
Do While isContentPageChanged(initPosition, initPageNum)
If outline1(i).ParaBottomMargin &lt; 0 Then
Exit Do
EndIf
outline1(i).ParaTopMargin = outline1(i).ParaTopMargin - 100
EndIf
Loop
EndIf
Next i
Next j
oViewCursor.goToRange(oSavePosition,false)
oViewCursor.goToRange(savePosition,false)
End Sub
@ -449,10 +455,6 @@ Sub stretchPrevPage()
Next i
Exit Sub
EndIf
oViewCursor.goToRange(oSavePosition,false)
End Sub
@ -463,6 +465,7 @@ Sub adjustLastLineCurPara()
Dim success As Boolean
Dim adjustType As Integer
Dim hyph As Boolean
fixViewCursor()
oViewCursor = ThisComponent.CurrentController.getViewCursor()
oTextCursor = oViewCursor.Text.CreateTextCursorByRange(oViewCursor)
paraEnd = getParaEnd(oTextCursor)