diff options
author | Arno <am@disconnect.de> | 2012-03-24 08:40:23 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2012-03-24 08:40:23 +0100 |
commit | f30d07e5acb83dd74bc6e6dc75b8b1c9e39e6e01 (patch) | |
tree | a5a7f348cea349330d230d96d59e79ec8adf7ead /pictureviewer2.h | |
parent | e788be03472f1617a05274dac6d7f8939ca85f46 (diff) | |
download | SheMov-f30d07e5acb83dd74bc6e6dc75b8b1c9e39e6e01.tar.gz SheMov-f30d07e5acb83dd74bc6e6dc75b8b1c9e39e6e01.tar.bz2 SheMov-f30d07e5acb83dd74bc6e6dc75b8b1c9e39e6e01.zip |
Show mappings in PictureViewer2
Hell, this was one heck of a bitch. Lots of changes just to show the
mapping tree in PictureViewer2. Did I mention that I hate recursion?
Added a function for fetching a SmTreeItem * from MappingTreeModel for
paths, just to turn it into a QTextDocument in PictureViewer2. Of course
everything is recursive. Did I say that I hate recursion?
Well, as said in the comments, one recursion function seems fishy, but
it works (tm).
Diffstat (limited to 'pictureviewer2.h')
-rw-r--r-- | pictureviewer2.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/pictureviewer2.h b/pictureviewer2.h index e18fc18..d31780e 100644 --- a/pictureviewer2.h +++ b/pictureviewer2.h @@ -19,7 +19,11 @@ class QGraphicsPixmapItem; class QWheelEvent; class QContextMenuEvent; class QTimer; -class PictureViewer2FileinfoItem; +class QTextDocument; +class QTextCursor; +class PictureViewer2Item; +class SmTreeItem; +class MappingTreeModel; typedef QList<QVariant> PicData; typedef QList<QList<QVariant> > PicDataList; @@ -51,10 +55,13 @@ class PictureViewer2 : public QGraphicsView { private slots: void showFile(const PicData &data); void constructInfoItem(const PicData &file, QSize picSize); + void constructMappingItem(const PicData &file); private: void setupDialog(); void setGradient(const QPixmap &pic); + QTextDocument *treeToString(const SmTreeItem *root) const; + void treeToStringRecursive(const SmTreeItem *parent, QTextCursor *cursor) const; QString constructWindowTitle() const; PicDataList mFiles; QGraphicsScene *mScene; @@ -63,22 +70,27 @@ class PictureViewer2 : public QGraphicsView { int mCurPos; QTimer *mSlideTimer; const QString mDefaultFile; - PictureViewer2FileinfoItem *mFnItem; + PictureViewer2Item *mFnItem; + PictureViewer2Item *mMappingItem; bool mUseGradient; QColor mBgColor; QPointF mInfoPos; + QPointF mMappingPos; QAction *mSlideA; QAction *mHideA; }; -class PictureViewer2FileinfoItem : public QGraphicsItem { +class PictureViewer2Item : public QGraphicsItem { public: - explicit PictureViewer2FileinfoItem(const PicData &data, const int numSelected, const QSize &picSize = QSize(), QGraphicsItem *parent = 0); + explicit PictureViewer2Item(const PicData &data, const int numSelected, const QSize &picSize = QSize(), QGraphicsItem *parent = 0); + explicit PictureViewer2Item(QTextDocument *doc, QGraphicsItem *parent = 0); + ~PictureViewer2Item(); QRectF boundingRect() const; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); private: QStaticText mText; + QTextDocument *mDoc; }; #endif // PICTUREVIEWER2_H |