• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

okteta

  • sources
  • kde-4.12
  • kdesdk
  • okteta
  • kasten
  • controllers
  • view
  • print
bytearrayframerenderer.h
Go to the documentation of this file.
1 /*
2  This file is part of the Okteta Kasten module, made within the KDE community.
3 
4  Copyright 2007-2009 Friedrich W. H. Kossebau <kossebau@kde.org>
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Lesser General Public
8  License as published by the Free Software Foundation; either
9  version 2.1 of the License, or (at your option) version 3, or any
10  later version accepted by the membership of KDE e.V. (or its
11  successor approved by the membership of KDE e.V.), which shall
12  act as a proxy defined in Section 6 of version 3 of the license.
13 
14  This library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public
20  License along with this library. If not, see <http://www.gnu.org/licenses/>.
21 */
22 
23 #ifndef BYTEARRAYFRAMERENDERER_H
24 #define BYTEARRAYFRAMERENDERER_H
25 
26 // lib
27 #include "abstractcolumnframerenderer.h"
28 // Okteta core
29 #include <oktetacore.h>
30 #include <address.h>
31 #include <size.h>
32 // Qt
33 #include <QtGui/QFont>
34 
35 namespace Okteta {
36 class OffsetColumnRenderer;
37 class BorderColumnRenderer;
38 class ValueByteArrayColumnRenderer;
39 class CharByteArrayColumnRenderer;
40 class ByteArrayTableLayout;
41 class ByteArrayTableRanges;
42 class PrintColumnStylist;
43 }
44 namespace Okteta {
45 class AbstractByteArrayModel;
46 class ValueCodec;
47 class CharCodec;
48 }
49 
50 
51 enum LayoutStyle { FixedLayoutStyle=0, WrapOnlyByteGroupsLayoutStyle=1, FullSizeLayoutStyle=2, LastUserLayout=0xFF };
52 
53 
54 class ByteArrayFrameRenderer : public AbstractColumnFrameRenderer
55 {
56  public:
57  enum KDataColumnId { ValueCodingId=1, CharCodingId=2 };
58 
59  public:
60  ByteArrayFrameRenderer();
61  virtual ~ByteArrayFrameRenderer();
62 
63  public: // AbstractColumnFrameRenderer API
64 // virtual void drawColumns( QPainter *painter, int cx, int cy, int cw, int ch );
65 
66  public: // AbstractFrameRenderer API
67  // make this flags?
68 // virtual bool hasFixedWidth() const;
69 // virtual bool hasFixedHeight() const;
70  virtual int height() const;
71  virtual int width() const;
72 // virtual QSize sizeHint( const QSize &maxSize ) const;
73 
74  virtual void prepare();
75  virtual void renderFrame( QPainter* painter, int frameIndex );
76 
77  public: // AbstractSerialFramePrinter
78  // only vertical for now...
79  virtual int framesCount() const;
80 
81  public:
82  Okteta::AbstractByteArrayModel* byteArrayModel() const;
83  Okteta::Address offset() const;
84  Okteta::Size length() const;
85 
86  int noOfBytesPerLine() const;
87  Okteta::Address firstLineOffset() const;
88  Okteta::Address startOffset() const;
89  LayoutStyle layoutStyle() const;
90  Okteta::ValueCoding valueCoding() const;
91  Okteta::PixelX byteSpacingWidth() const;
92  int noOfGroupedBytes() const;
93  Okteta::PixelX groupSpacingWidth() const;
94  Okteta::PixelX binaryGapWidth() const;
95  bool showsNonprinting() const;
96  QChar substituteChar() const;
97  QChar undefinedChar() const;
98  Okteta::CharCoding charCoding() const;
99  const QString& charCodingName() const;
100 
101  bool offsetColumnVisible() const;
102  int visibleByteArrayCodings() const;
103 
104  public:
105  void setByteArrayModel( Okteta::AbstractByteArrayModel* byteArrayModel, Okteta::Address offset = 0, Okteta::Size length = -1 );
106  void setHeight( int height );
107  void setWidth( int width );
108  void setFont( const QFont& font );
109  void setFirstLineOffset( Okteta::Address firstLineOffset );
110  void setStartOffset( Okteta::Address startOffset );
111  void setBufferSpacing( Okteta::PixelX byteSpacing, int noOfGroupedBytes, Okteta::PixelX groupSpacing );
112  void setValueCoding( Okteta::ValueCoding valueCoding );
113  void setLayoutStyle( LayoutStyle style );
114  void setNoOfBytesPerLine( int noOfBytesPerLine );
115  void setByteSpacingWidth( Okteta::PixelX byteSpacingWidth );
116  void setNoOfGroupedBytes( int noOfGroupedBytes );
117  void setGroupSpacingWidth( Okteta::PixelX groupSpacingWidth );
118  void setBinaryGapWidth( Okteta::PixelX binaryGapWidth );
119  void setSubstituteChar( QChar substituteChar );
120  void setUndefinedChar( QChar undefinedChar );
121  void setShowsNonprinting( bool showsNonprinting );
122  void setCharCoding( Okteta::CharCoding charCoding );
123  void setCharCoding( const QString &charCodingName );
124  void showByteArrayColumns( int CCs );
125  void showOffsetColumn( bool visible );
126 
127  protected: // AbstractColumnFrameRenderer API
128 // virtual void setNoOfLines( int newNoOfLines );
129 
130  protected:
131  void adjustToWidth();
132  void adjustLayoutToSize();
133  void adjustToLayoutNoOfBytesPerLine();
134 
135 
136  protected:
137  int fittingBytesPerLine() const;
138 
139  protected:
140  int mHeight;
141  int mWidth;
142  QFont mFont;
143 
144  Okteta::AbstractByteArrayModel* mByteArrayModel;
145 
146  protected:
148  Okteta::ByteArrayTableLayout* mLayout;
149  Okteta::ByteArrayTableRanges* mTableRanges;
150 
151  protected:
152  Okteta::OffsetColumnRenderer* mOffsetColumnRenderer;
153  Okteta::BorderColumnRenderer* mFirstBorderColumnRenderer;
154  Okteta::ValueByteArrayColumnRenderer* mValueColumnRenderer;
155  Okteta::BorderColumnRenderer* mSecondBorderColumnRenderer;
156  Okteta::CharByteArrayColumnRenderer* mCharColumnRenderer;
157  Okteta::PrintColumnStylist* mStylist;
158 
159  protected:
161  Okteta::ValueCodec* mValueCodec;
163  Okteta::ValueCoding mValueCoding;
165  Okteta::CharCodec* mCharCodec;
167  Okteta::CharCoding mCharCoding;
168 
169  protected: // parameters
170  LayoutStyle mResizeStyle;
171 };
172 
173 #endif
ByteArrayFrameRenderer::setFirstLineOffset
void setFirstLineOffset(Okteta::Address firstLineOffset)
Definition: bytearrayframerenderer.cpp:174
ByteArrayFrameRenderer::setWidth
void setWidth(int width)
Definition: bytearrayframerenderer.cpp:164
ByteArrayFrameRenderer::KDataColumnId
KDataColumnId
Definition: bytearrayframerenderer.h:57
Okteta::OffsetColumnRenderer
Definition: offsetcolumnrenderer.h:42
Okteta::Address
qint32 Address
Definition: address.h:34
Okteta::AbstractByteArrayModel
could it be useful to hide the data access behind an iterator? * class KDataBufferIterator { public: ...
Definition: abstractbytearraymodel.h:79
ByteArrayFrameRenderer::width
virtual int width() const
Definition: bytearrayframerenderer.cpp:129
ByteArrayFrameRenderer::CharCodingId
Definition: bytearrayframerenderer.h:57
Okteta::ByteArrayTableRanges
a class to control all the ranges like marking and selections holds also all modified ranges and merg...
Definition: bytearraytableranges.h:45
ByteArrayFrameRenderer::visibleByteArrayCodings
int visibleByteArrayCodings() const
Definition: bytearrayframerenderer.cpp:125
ByteArrayFrameRenderer::setLayoutStyle
void setLayoutStyle(LayoutStyle style)
Definition: bytearrayframerenderer.cpp:204
ByteArrayFrameRenderer::mCharCodec
Okteta::CharCodec * mCharCodec
Definition: bytearrayframerenderer.h:165
Okteta::CharCoding
CharCoding
Definition: oktetacore.h:39
ByteArrayFrameRenderer::binaryGapWidth
Okteta::PixelX binaryGapWidth() const
Definition: bytearrayframerenderer.cpp:117
ByteArrayFrameRenderer::offset
Okteta::Address offset() const
Definition: bytearrayframerenderer.cpp:106
ByteArrayFrameRenderer::showByteArrayColumns
void showByteArrayColumns(int CCs)
Definition: bytearrayframerenderer.cpp:503
ByteArrayFrameRenderer::byteSpacingWidth
Okteta::PixelX byteSpacingWidth() const
Definition: bytearrayframerenderer.cpp:114
ByteArrayFrameRenderer::undefinedChar
QChar undefinedChar() const
Definition: bytearrayframerenderer.cpp:120
ByteArrayFrameRenderer::mValueCoding
Okteta::ValueCoding mValueCoding
Definition: bytearrayframerenderer.h:163
ByteArrayFrameRenderer::setBinaryGapWidth
void setBinaryGapWidth(Okteta::PixelX binaryGapWidth)
Definition: bytearrayframerenderer.cpp:249
ByteArrayFrameRenderer::mStylist
Okteta::PrintColumnStylist * mStylist
Definition: bytearrayframerenderer.h:157
ByteArrayFrameRenderer::height
virtual int height() const
Definition: bytearrayframerenderer.cpp:128
FixedLayoutStyle
Definition: bytearrayframerenderer.h:51
ByteArrayFrameRenderer::setBufferSpacing
void setBufferSpacing(Okteta::PixelX byteSpacing, int noOfGroupedBytes, Okteta::PixelX groupSpacing)
Definition: bytearrayframerenderer.cpp:195
ByteArrayFrameRenderer::offsetColumnVisible
bool offsetColumnVisible() const
Definition: bytearrayframerenderer.cpp:124
ByteArrayFrameRenderer::mLayout
Okteta::ByteArrayTableLayout * mLayout
holds the logical layout
Definition: bytearrayframerenderer.h:148
AbstractColumnFrameRenderer
class to render columns with the same lineheight for all lines
Definition: abstractcolumnframerenderer.h:50
Okteta::BorderColumnRenderer
column that does nothing but draw a vertical line in the middle of the column
Definition: bordercolumnrenderer.h:38
LayoutStyle
LayoutStyle
Definition: bytearrayframerenderer.h:51
Okteta::PrintColumnStylist
Definition: printcolumnstylist.h:35
ByteArrayFrameRenderer::setGroupSpacingWidth
void setGroupSpacingWidth(Okteta::PixelX groupSpacingWidth)
Definition: bytearrayframerenderer.cpp:241
Okteta::ValueByteArrayColumnRenderer
buffer column which displays the numerical values of the bytes
Definition: valuebytearraycolumnrenderer.h:39
ByteArrayFrameRenderer::setShowsNonprinting
void setShowsNonprinting(bool showsNonprinting)
Definition: bytearrayframerenderer.cpp:267
ByteArrayFrameRenderer
Definition: bytearrayframerenderer.h:54
ByteArrayFrameRenderer::adjustToLayoutNoOfBytesPerLine
void adjustToLayoutNoOfBytesPerLine()
Definition: bytearrayframerenderer.cpp:386
ByteArrayFrameRenderer::length
Okteta::Size length() const
Definition: bytearrayframerenderer.cpp:107
Okteta::ByteArrayTableLayout
the logical layout of a byte array table for a view
Definition: bytearraytablelayout.h:61
ByteArrayFrameRenderer::setByteSpacingWidth
void setByteSpacingWidth(Okteta::PixelX byteSpacingWidth)
Definition: bytearrayframerenderer.cpp:226
ByteArrayFrameRenderer::framesCount
virtual int framesCount() const
Definition: bytearrayframerenderer.cpp:131
Okteta::PixelX
int PixelX
Definition: kadds.h:34
ByteArrayFrameRenderer::setValueCoding
void setValueCoding(Okteta::ValueCoding valueCoding)
Definition: bytearrayframerenderer.cpp:273
ByteArrayFrameRenderer::mCharColumnRenderer
Okteta::CharByteArrayColumnRenderer * mCharColumnRenderer
Definition: bytearrayframerenderer.h:156
ByteArrayFrameRenderer::charCoding
Okteta::CharCoding charCoding() const
Definition: bytearrayframerenderer.cpp:121
ByteArrayFrameRenderer::mFirstBorderColumnRenderer
Okteta::BorderColumnRenderer * mFirstBorderColumnRenderer
Definition: bytearrayframerenderer.h:153
Okteta::CharCodec
Definition: charcodec.h:42
oktetacore.h
ByteArrayFrameRenderer::noOfGroupedBytes
int noOfGroupedBytes() const
Definition: bytearrayframerenderer.cpp:115
ByteArrayFrameRenderer::showOffsetColumn
void showOffsetColumn(bool visible)
Definition: bytearrayframerenderer.cpp:394
ByteArrayFrameRenderer::mByteArrayModel
Okteta::AbstractByteArrayModel * mByteArrayModel
Definition: bytearrayframerenderer.h:144
Okteta::ValueCodec
Class that is able to convert codings to and from hexadecimal, decimal, octal, and binary...
Definition: valuecodec.h:45
ByteArrayFrameRenderer::mFont
QFont mFont
Definition: bytearrayframerenderer.h:142
ByteArrayFrameRenderer::~ByteArrayFrameRenderer
virtual ~ByteArrayFrameRenderer()
Definition: bytearrayframerenderer.cpp:518
address.h
ByteArrayFrameRenderer::setUndefinedChar
void setUndefinedChar(QChar undefinedChar)
Definition: bytearrayframerenderer.cpp:262
WrapOnlyByteGroupsLayoutStyle
Definition: bytearrayframerenderer.h:51
ByteArrayFrameRenderer::fittingBytesPerLine
int fittingBytesPerLine() const
Definition: bytearrayframerenderer.cpp:430
ByteArrayFrameRenderer::mTableRanges
Okteta::ByteArrayTableRanges * mTableRanges
Definition: bytearrayframerenderer.h:149
ByteArrayFrameRenderer::setSubstituteChar
void setSubstituteChar(QChar substituteChar)
Definition: bytearrayframerenderer.cpp:257
ByteArrayFrameRenderer::startOffset
Okteta::Address startOffset() const
Definition: bytearrayframerenderer.cpp:111
size.h
ByteArrayFrameRenderer::mResizeStyle
LayoutStyle mResizeStyle
Definition: bytearrayframerenderer.h:170
ByteArrayFrameRenderer::setByteArrayModel
void setByteArrayModel(Okteta::AbstractByteArrayModel *byteArrayModel, Okteta::Address offset=0, Okteta::Size length=-1)
Definition: bytearrayframerenderer.cpp:143
ByteArrayFrameRenderer::setFont
void setFont(const QFont &font)
Definition: bytearrayframerenderer.cpp:335
ByteArrayFrameRenderer::charCodingName
const QString & charCodingName() const
Definition: bytearrayframerenderer.cpp:122
ByteArrayFrameRenderer::substituteChar
QChar substituteChar() const
Definition: bytearrayframerenderer.cpp:119
ByteArrayFrameRenderer::firstLineOffset
Okteta::Address firstLineOffset() const
Definition: bytearrayframerenderer.cpp:110
ByteArrayFrameRenderer::mValueColumnRenderer
Okteta::ValueByteArrayColumnRenderer * mValueColumnRenderer
Definition: bytearrayframerenderer.h:154
ByteArrayFrameRenderer::valueCoding
Okteta::ValueCoding valueCoding() const
Definition: bytearrayframerenderer.cpp:113
ByteArrayFrameRenderer::showsNonprinting
bool showsNonprinting() const
Definition: bytearrayframerenderer.cpp:118
ByteArrayFrameRenderer::layoutStyle
LayoutStyle layoutStyle() const
Definition: bytearrayframerenderer.cpp:112
ByteArrayFrameRenderer::setStartOffset
void setStartOffset(Okteta::Address startOffset)
Definition: bytearrayframerenderer.cpp:184
Okteta::ValueCoding
ValueCoding
Definition: oktetacore.h:34
ByteArrayFrameRenderer::groupSpacingWidth
Okteta::PixelX groupSpacingWidth() const
Definition: bytearrayframerenderer.cpp:116
ByteArrayFrameRenderer::mHeight
int mHeight
Definition: bytearrayframerenderer.h:140
abstractcolumnframerenderer.h
LastUserLayout
Definition: bytearrayframerenderer.h:51
ByteArrayFrameRenderer::noOfBytesPerLine
int noOfBytesPerLine() const
Definition: bytearrayframerenderer.cpp:109
Okteta::Size
qint32 Size
Definition: size.h:33
ByteArrayFrameRenderer::renderFrame
virtual void renderFrame(QPainter *painter, int frameIndex)
Definition: bytearrayframerenderer.cpp:358
ByteArrayFrameRenderer::setHeight
void setHeight(int height)
Definition: bytearrayframerenderer.cpp:163
ByteArrayFrameRenderer::mOffsetColumnRenderer
Okteta::OffsetColumnRenderer * mOffsetColumnRenderer
Definition: bytearrayframerenderer.h:152
ByteArrayFrameRenderer::byteArrayModel
Okteta::AbstractByteArrayModel * byteArrayModel() const
Definition: bytearrayframerenderer.cpp:105
ByteArrayFrameRenderer::adjustToWidth
void adjustToWidth()
Definition: bytearrayframerenderer.cpp:364
FullSizeLayoutStyle
Definition: bytearrayframerenderer.h:51
ByteArrayFrameRenderer::setNoOfGroupedBytes
void setNoOfGroupedBytes(int noOfGroupedBytes)
Definition: bytearrayframerenderer.cpp:233
ByteArrayFrameRenderer::adjustLayoutToSize
void adjustLayoutToSize()
Definition: bytearrayframerenderer.cpp:370
Okteta::CharByteArrayColumnRenderer
buffer column that interprets the bytes as chars
Definition: charbytearraycolumnrenderer.h:37
ByteArrayFrameRenderer::ByteArrayFrameRenderer
ByteArrayFrameRenderer()
Definition: bytearrayframerenderer.cpp:61
ByteArrayFrameRenderer::mValueCodec
Okteta::ValueCodec * mValueCodec
Definition: bytearrayframerenderer.h:161
ByteArrayFrameRenderer::mSecondBorderColumnRenderer
Okteta::BorderColumnRenderer * mSecondBorderColumnRenderer
Definition: bytearrayframerenderer.h:155
ByteArrayFrameRenderer::prepare
virtual void prepare()
painting will start, fix all things like Time and Data
Definition: bytearrayframerenderer.cpp:354
ByteArrayFrameRenderer::mCharCoding
Okteta::CharCoding mCharCoding
Definition: bytearrayframerenderer.h:167
ByteArrayFrameRenderer::setCharCoding
void setCharCoding(Okteta::CharCoding charCoding)
Definition: bytearrayframerenderer.cpp:299
ByteArrayFrameRenderer::ValueCodingId
Definition: bytearrayframerenderer.h:57
ByteArrayFrameRenderer::setNoOfBytesPerLine
void setNoOfBytesPerLine(int noOfBytesPerLine)
Definition: bytearrayframerenderer.cpp:215
ByteArrayFrameRenderer::mWidth
int mWidth
Definition: bytearrayframerenderer.h:141
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:07 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

okteta

Skip menu "okteta"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal