10 #ifndef BYTE_VIEW_TEXT_H
11 #define BYTE_VIEW_TEXT_H
17 #include <QAbstractScrollArea>
23 #include <QTextLayout>
40 virtual QSize minimumSizeHint()
const;
42 void setFormat(bytes_view_type format);
46 void byteHovered(
int pos);
47 void byteSelected(
int pos);
48 void byteViewSettingsChanged();
51 void setMonospaceFont(
const QFont &mono_font);
52 void updateByteViewSettings();
55 void markProtocol(
int start,
int length);
56 void markField(
int start,
int length,
bool scroll_to =
true);
57 void markAppendix(
int start,
int length);
60 virtual void paintEvent(QPaintEvent *);
61 virtual void resizeEvent(QResizeEvent *);
62 virtual void mousePressEvent (QMouseEvent * event);
63 virtual void mouseMoveEvent (QMouseEvent * event);
64 virtual void leaveEvent(QEvent *event);
65 virtual void contextMenuEvent(QContextMenuEvent *event);
81 void updateLayoutMetrics();
82 int stringWidth(
const QString &line);
83 void drawLine(QPainter *painter,
const int offset,
const int row_y);
84 bool addFormatRange(QList<QTextLayout::FormatRange> &fmt_list,
int start,
int length, HighlightMode mode);
85 bool addHexFormatRange(QList<QTextLayout::FormatRange> &fmt_list,
int mark_start,
int mark_length,
int tvb_offset,
int max_tvb_pos, HighlightMode mode);
86 bool addAsciiFormatRange(QList<QTextLayout::FormatRange> &fmt_list,
int mark_start,
int mark_length,
int tvb_offset,
int max_tvb_pos, HighlightMode mode);
87 void scrollToByte(
int byte);
88 void updateScrollbars();
89 int byteOffsetAtPixel(QPoint pos);
91 void createContextMenu();
92 void updateContextMenu();
94 int offsetChars(
bool include_pad =
true);
99 const QByteArray printableData() {
return data_; }
101 static const int separator_interval_;
104 QColor offset_normal_fg_;
105 QColor offset_field_fg_;
112 int hovered_byte_offset_;
113 int marked_byte_offset_;
127 QList<QRect> hover_outlines_;
129 bool allow_hover_selection_;
132 QVector<int> x_pos_to_column_;
135 QAction *action_allow_hover_selection_;
136 QAction *action_bytes_hex_;
137 QAction *action_bytes_dec_;
138 QAction *action_bytes_oct_;
139 QAction *action_bytes_bits_;
140 QAction *action_bytes_enc_from_packet_;
141 QAction *action_bytes_enc_ascii_;
142 QAction *action_bytes_enc_ebcdic_;
145 void copyBytes(
bool);
146 void setHexDisplayFormat(QAction *action);
147 void setCharacterEncoding(QAction *action);
148 void toggleHoverAllowed(
bool);
Definition: byte_view_text.h:32
Definition: idata_printable.h:23
packet_char_enc
Definition: frame_data.h:42