summaryrefslogtreecommitdiffstats
path: root/khexedit/lib/koffsetcoltextexport.cpp
blob: bce1fa646ae2f625fc023149fdaf369f7bf735c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/***************************************************************************
                          koffsetcoltextexport.cpp  -  description
                             -------------------
    begin                : Sam Aug 30 2003
    copyright            : (C) 2003 by Friedrich W. H. Kossebau
    email                : Friedrich.W.H@Kossebau.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This library is free software; you can redistribute it and/or         *
 *   modify it under the terms of the GNU Library General Public           *
 *   License version 2 as published by the Free Software Foundation.       *
 *                                                                         *
 ***************************************************************************/


// qt specific
#include <tqstring.h>
// lib specific
#include "koffsetcolumn.h" 
#include "koffsetcoltextexport.h"

using namespace KHE;


KOffsetColTextExport::KOffsetColTextExport( const KOffsetColumn *OffsetColumn )
  : CodingWidth( OffsetColumn->codingWidth() ),
    FirstLineOffset( OffsetColumn->firstLineOffset() ),
    Delta( OffsetColumn->delta() ),
    printFunction( OffsetColumn->printFunction() )
{
}

int KOffsetColTextExport::charsPerLine() const
{
  return CodingWidth;
}


void KOffsetColTextExport::printFirstLine( TQString &T, int Line ) const
{
  PrintLine = Line;
  print( T );
}

void KOffsetColTextExport::printNextLine( TQString &T ) const
{
  print( T );
}

void KOffsetColTextExport::print( TQString &T ) const
{
  // TODO: fix me (no more printFunction)
  char *B = new char[CodingWidth+1];
  printFunction( B, FirstLineOffset + Delta*PrintLine );
  T.append( B );
  delete [] B;

  ++PrintLine;
}