Entry
TSE: Block: Convert: Line: Column: How to toggle between a column block and a line block?
Oct 28th, 2006 08:46
Knud van Eeden,
----------------------------------------------------------------------
--- Knud van Eeden --- 28 October 2020 - 05:45 pm --------------------
TSE: Block: Convert: Line: Column: How to toggle between a column
block and a line block?
===
If the current mark type is a column block, then
convert it to a line block.
otherwise convert it to a column type marked block
===
--- cut here: begin --------------------------------------------------
INTEGER PROC FNBlockGetLineNumberFirstI()
RETURN( Query( BlockBegLine ) )
END
INTEGER PROC FNBlockGetLineNumberLastI()
RETURN( Query( BlockEndLine ) )
END
INTEGER PROC FNBlockGetLineLengthMaxI()
INTEGER lineLengthMaxI = 0
INTEGER lineLengthI = 0
INTEGER downB = TRUE
PushPosition()
GotoBlockBegin()
WHILE ( IsCursorInBlock() ) AND ( downB )
lineLengthI = CurrLineLen()
IF ( lineLengthMaxI < lineLengthI )
lineLengthMaxI = lineLengthI
ENDIF
downB = Down()
ENDWHILE
PopPosition()
RETURN( lineLengthMaxI )
END
INTEGER PROC FNBlockConvertLineToColumnB( INTEGER xMinI )
IF NOT IsBlockMarked()
Warn( "Please mark a block first" )
RETURN( FALSE )
ENDIF
MarkColumn( FNBlockGetLineNumberFirstI(), xMinI,
FNBlockGetLineNumberLastI(), FNBlockGetLineLengthMaxI() )
RETURN( TRUE )
END
INTEGER PROC FNBlockConvertColumnToLineB()
IF NOT IsBlockMarked()
Warn( "Please mark a block first" )
RETURN( FALSE )
ENDIF
RETURN( MarkLine( FNBlockGetLineNumberFirstI(),
FNBlockGetLineNumberLastI() ) <> 0 )
END
INTEGER PROC FNBlockSetToggleColumnLineB()
INTEGER toggleB = FALSE
INTEGER typeB = IsBlockMarked()
IF ( typeB == _COLUMN_ )
toggleB = FNBlockConvertColumnToLineB()
ELSE
toggleB = FNBlockConvertLineToColumnB( 0 )
ENDIF
RETURN( toggleB )
END
PROC Main()
Message( FNBlockSetToggleColumnLineB() )
END
<F12> Main()
--- cut here: end ----------------------------------------------------
===
Tested successfully on
Microsoft Windows XP Professional (service pack 2),
running
TSE 4.x
===
Internet: see also:
---
TSE: Block: Link: Can you give an overview of links?
http://www.faqts.com/knowledge_base/view.phtml/aid/42860/fid/898
----------------------------------------------------------------------