00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef WSCOUT_GUI_HEX_DUMP_DOCK_HH_
00024 # define WSCOUT_GUI_HEX_DUMP_DOCK_HH_
00025
00026 # include <QtGui/QDockWidget>
00027 # include <QtGui/QScrollArea>
00028 # include <QtGui/QTextEdit>
00029
00030 namespace wscout
00031 {
00032
00033 namespace gui
00034 {
00035
00037 class HexDumpDock : public QDockWidget
00038 {
00039 Q_OBJECT
00040
00041 public:
00042 HexDumpDock(QWidget* parent = 0);
00043 HexDumpDock(const HexDumpDock&);
00044
00045 void setup(const void* data, size_t len);
00046
00047 private slots:
00048 void hexUpdateClipboard();
00049 void asciiUpdateClipboard();
00050
00051 private:
00052 void init();
00053 void initTextEdit(QTextEdit& te, unsigned minWidth);
00054 static QString filterBlanksOut(const QString& str);
00055
00056 enum
00057 {
00058 lwidth = 16,
00059 bwidth = 4,
00060 addr_len = 4
00061 };
00062
00063 static const std::string title;
00064 static const std::string bigsep;
00065 static const std::string smallsep;
00066
00067 QWidget dockWidget_;
00068 QTextEdit addresses_;
00069 QTextEdit hexData_;
00070 QTextEdit asciiData_;
00071 };
00072
00073 }
00074
00075 }
00076
00077 # include "wscout_gui_hex_dump_dock.hxx"
00078
00079 #endif // ! WSCOUT_GUI_HEX_DUMP_DOCK_HH_