/usr/include/okteta/bytearraycolumnview.h is in okteta-dev 4:17.12.3-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | /*
This file is part of the Okteta Gui library, made within the KDE community.
Copyright 2003,2007-2010 Friedrich W. H. Kossebau <kossebau@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
successor approved by the membership of KDE e.V.), which shall
act as a proxy defined in Section 6 of version 3 of the license.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef OKTETA_BYTEARRAYCOLUMNVIEW_H
#define OKTETA_BYTEARRAYCOLUMNVIEW_H
// lib
#include <okteta/abstractbytearrayview.h>
namespace Okteta
{
class ByteArrayColumnViewPrivate;
/** the main widget
*
* The functions split up in helper functions and those that are complete.
*
* Complete functions can be called from the outside and leave the widget in
* a consistent state. They care for exceptions so one can safely call them in all
* situations (like empty buffer, cursor behind end etc.)
*
* Helper functions do only partial tasks and need to be completed. They often do not
* check for exceptions so one has to care for this.
*
*@author Friedrich W. H. Kossebau
*/
class OKTETAGUI_EXPORT ByteArrayColumnView : public AbstractByteArrayView
{
Q_OBJECT
public:
explicit ByteArrayColumnView( QWidget* parent = nullptr );
~ByteArrayColumnView() override;
public: // AbstractByteArrayView API
// value column
int/*PixelX*/ byteSpacingWidth() const override;
int noOfGroupedBytes() const override;
int/*PixelX*/ groupSpacingWidth() const override;
int/*PixelX*/ binaryGapWidth() const override;
// char column
bool showsNonprinting() const override;
QChar substituteChar() const override;
QChar undefinedChar() const override;
bool isByteTypeColored() const override;
void setByteArrayModel( AbstractByteArrayModel* byteArrayModel ) override;
void setByteSpacingWidth( int/*PixelX*/ byteSpacingWidth ) override ;
void setNoOfGroupedBytes( int noOfGroupedBytes ) override;
void setGroupSpacingWidth( int/*PixelX*/ groupSpacingWidth ) override;
void setBinaryGapWidth( int binaryGapWidth ) override;
void setBufferSpacing( int/*PixelX*/ byteSpacingWidth, int noOfGroupedBytes = 0, int/*PixelX*/ groupSpacingWidth = 0 ) override;
void setValueCoding( ValueCoding valueCoding ) override;
// char column parameters
void setShowsNonprinting( bool showsNonprinting = true ) override;
void setSubstituteChar( QChar substituteChar ) override;
void setUndefinedChar( QChar undefinedChar ) override;
void setCharCoding( CharCoding charCoding ) override;
void setCharCoding( const QString& charCodingName ) override;
void setByteTypeColored( bool isColored ) override;
public: // ColumnsView API
void renderColumns( QPainter* painter, int cx, int cy, int cw, int ch ) override;
public: // QWidget API
QSize minimumSizeHint() const override;
public: // logic value service
/** calculates the number of bytes per line that fit into a widget with the given size
* tests whether a vertical scroll bar is needed at all or not due to the given width
* takes the frame width into account
* @param TestSize Size the widget might have
* @return number of bytes per line that fit into a widget with the given size
*/
// int fittingBytesPerLine() const;
public: // modification access
// void repaintByte( int row, int column, bool Erase = true );
// void updateByte( int row, int column );
// void ensureByteVisible( int row, int column );
protected: // Q_SLOTS QWidget API
void changeEvent( QEvent* event ) override;
private:
Q_DECLARE_PRIVATE( ByteArrayColumnView )
private: // Disabling copy constructor and operator= - not useful
ByteArrayColumnView( const ByteArrayColumnView& );
ByteArrayColumnView &operator=( const ByteArrayColumnView& );
};
}
#endif
|