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/QPlainTextEdit>
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
00050 private:
00051 void init();
00052 void initTextEdit(QPlainTextEdit& te, unsigned minWidth);
00053 static QString filterBlanksOut(const QString& str);
00054
00055 enum
00056 {
00057 lwidth = 16,
00058 bwidth = 4,
00059 addr_len = 4
00060 };
00061
00062 static const std::string title;
00063 static const std::string bigsep;
00064 static const std::string smallsep;
00065
00066 QWidget dockWidget_;
00067 QPlainTextEdit addresses_;
00068 QPlainTextEdit hexData_;
00069 QPlainTextEdit asciiData_;
00070 };
00071
00072 }
00073
00074 }
00075
00076 # include "wscout_gui_hex_dump_dock.hxx"
00077
00078 #endif // ! WSCOUT_GUI_HEX_DUMP_DOCK_HH_