]> sigrok.org Git - pulseview.git/blobdiff - pv/views/decoder_output/QHexView.hpp
Implement binary class selector
[pulseview.git] / pv / views / decoder_output / QHexView.hpp
index fd4b86f1859ca40b622b48f3eaf5ede7b575f2b9..80b58972cc0683db573a56a2f8ec51a5bb858f2c 100644 (file)
 
 using std::size_t;
 
-
-class DataStorage
-{
-public:
-       virtual ~DataStorage() {};
-       virtual QByteArray getData(size_t position, size_t length) = 0;
-       virtual size_t size() = 0;
-};
-
-
-class DataStorageArray: public DataStorage
-{
-public:
-       DataStorageArray(const QByteArray &arr);
-       virtual QByteArray getData(size_t position, size_t length);
-       virtual size_t size();
-
-private:
-       QByteArray data_;
-};
-
-
 class QHexView: public QAbstractScrollArea
 {
+public:
        QHexView(QWidget *parent = 0);
-       ~QHexView();
+
+       void setData(QByteArray *data);
 
 public Q_SLOTS:
-       void setData(DataStorage *pData);
        void clear();
        void showFromOffset(size_t offset);
 
@@ -75,16 +54,16 @@ protected:
        void mousePressEvent(QMouseEvent *event);
 
 private:
-       QSize fullSize() const;
+       QSize getFullSize() const;
        void resetSelection();
        void resetSelection(int pos);
        void setSelection(int pos);
        void ensureVisible();
        void setCursorPos(int pos);
-       size_t cursorPos(const QPoint &position);
+       size_t cursorPosFromMousePos(const QPoint &position);
 
 private:
-       DataStorage *pdata_;
+       QByteArray *data_;
 
        size_t posAddr_, posHex_, posAscii_;
        size_t charWidth_, charHeight_;