src/hbcore/gui/hbcssinspector_p.h
changeset 28 b7da29130b0e
parent 21 4633027730f5
equal deleted inserted replaced
23:e6ad4ef83b23 28:b7da29130b0e
    39 QT_FORWARD_DECLARE_CLASS(QRadioButton)
    39 QT_FORWARD_DECLARE_CLASS(QRadioButton)
    40 QT_FORWARD_DECLARE_CLASS(QTreeView)
    40 QT_FORWARD_DECLARE_CLASS(QTreeView)
    41 QT_FORWARD_DECLARE_CLASS(QTextEdit)
    41 QT_FORWARD_DECLARE_CLASS(QTextEdit)
    42 QT_FORWARD_DECLARE_CLASS(HbAnchorArrowDrawer)
    42 QT_FORWARD_DECLARE_CLASS(HbAnchorArrowDrawer)
    43 QT_FORWARD_DECLARE_CLASS(HbMainWindow)
    43 QT_FORWARD_DECLARE_CLASS(HbMainWindow)
       
    44 QT_FORWARD_DECLARE_CLASS(HbPopupManager)
    44 
    45 
    45 
    46 
    46 class HbCssInfoDrawer : public HbWidgetBase
    47 class HbCssInfoDrawer : public HbWidgetBase
    47 {
    48 {
    48     Q_OBJECT
    49     Q_OBJECT
    52     virtual ~HbCssInfoDrawer();
    53     virtual ~HbCssInfoDrawer();
    53 
    54 
    54 public slots:
    55 public slots:
    55     void updateFocusItem(const QGraphicsItem* item);
    56     void updateFocusItem(const QGraphicsItem* item);
    56 
    57 
    57     void setBoxVisible(bool visible) { mShowBox = visible; };
    58     void setBoxVisible(bool visible) { mShowBox = visible; }
    58     void setItemTextVisible(bool visible) { mShowItemText = visible; };
    59     void setItemTextVisible(bool visible) { mShowItemText = visible; }
    59     void setGuideLinesVisible(bool visible) { mDrawGuideLines = visible; };
    60     void setGuideLinesVisible(bool visible) { mDrawGuideLines = visible; }
    60 
    61 
    61     void setHintTextVisible(bool visible) { mShowHintText = visible; };
    62     void setHintTextVisible(bool visible) { mShowHintText = visible; }
    62     void setMinHintBoxVisible(bool visible) { mShowMinHintBox = visible; };
    63     void setMinHintBoxVisible(bool visible) { mShowMinHintBox = visible; }
    63     void setPrefHintBoxVisible(bool visible) { mShowPrefHintBox = visible; };
    64     void setPrefHintBoxVisible(bool visible) { mShowPrefHintBox = visible; }
    64     void setMaxHintBoxVisible(bool visible) { mShowMaxHintBox = visible; };
    65     void setMaxHintBoxVisible(bool visible) { mShowMaxHintBox = visible; }
    65     void setSizePrefsVisible(bool visible) { mShowSizePrefs = visible; };
    66     void setSizePrefsVisible(bool visible) { mShowSizePrefs = visible; }
    66 
    67 
    67 protected:
    68 protected:
    68     void changeEvent(QEvent *event);
    69     void changeEvent(QEvent *event);
    69     void updateColors();
    70     void updateColors();
    70     void paintRect(QPainter *painter, QRectF rect);
    71     void paintRect(QPainter *painter, QRectF rect);
   103 
   104 
   104 signals:
   105 signals:
   105     void newItemHovered(const QGraphicsItem* item);
   106     void newItemHovered(const QGraphicsItem* item);
   106 
   107 
   107 public slots:
   108 public slots:
   108     void setHoverMode(bool enabled) { mHoverMode = enabled; };
   109     void setHoverMode(bool enabled) { mHoverMode = enabled; }
   109     void setBlockingMode(bool enabled) { mBlockingMode = enabled; };
   110     void setBlockingMode(bool enabled) { mBlockingMode = enabled; }
   110 
   111 
   111 protected:
   112 protected:
   112     bool eventFilter(QObject *obj, QEvent *event);
   113     bool eventFilter(QObject *obj, QEvent *event);
   113 
   114 
   114 private:
   115 private:
   138     QLabel *mLabel;
   139     QLabel *mLabel;
   139     QTextEdit *mTextBox;
   140     QTextEdit *mTextBox;
   140 };
   141 };
   141 
   142 
   142 
   143 
       
   144 class ModelItemWrapper {
       
   145 public:
       
   146     ModelItemWrapper(QGraphicsItem *item);
       
   147     ModelItemWrapper(HbMainWindow *window);
       
   148     ModelItemWrapper(HbPopupManager *mPopupMgr);
       
   149     ModelItemWrapper();
       
   150 
       
   151     QGraphicsItem *graphicsItem() const;
       
   152     HbMainWindow *window() const;
       
   153     HbPopupManager *popupManager() const;
       
   154 
       
   155 private:
       
   156     QGraphicsItem *mGraphicsItem;
       
   157     HbMainWindow *mWindow;
       
   158     HbPopupManager *mPopupMgr;
       
   159 };
       
   160 
       
   161 
   143 class CssInspectorModelItem
   162 class CssInspectorModelItem
   144 {
   163 {
   145 public:
   164 public:
   146     CssInspectorModelItem(QGraphicsItem *item, int row,
   165     CssInspectorModelItem(ModelItemWrapper *item, int row,
   147         CssInspectorModelItem *parent=0);
   166         CssInspectorModelItem *parent=0);
   148     ~CssInspectorModelItem();
   167     ~CssInspectorModelItem();
   149     CssInspectorModelItem *child(int i);
   168     CssInspectorModelItem *child(int i);
   150     CssInspectorModelItem *parent();
   169     CssInspectorModelItem *parent();
   151     QGraphicsItem *data();
   170     ModelItemWrapper *data();
   152     int row();
   171     int row();
   153 private:
   172 private:
   154     QGraphicsItem *mItem;
   173     ModelItemWrapper *mItem;
   155     QHash<int, CssInspectorModelItem*> mChildren;
   174     QHash<int, CssInspectorModelItem*> mChildren;
   156     CssInspectorModelItem *mParent;
   175     CssInspectorModelItem *mParent;
   157     int mRow;
   176     int mRow;
   158 };
   177 };
   159 
   178 
   160 
   179 
   161 class CssInspectorModel : public QAbstractItemModel
   180 class CssInspectorModel : public QAbstractItemModel
   162 {
   181 {
   163     Q_OBJECT
   182     Q_OBJECT
   164 public:
   183 public:
   165     CssInspectorModel(HbMainWindow *win=0, QObject *parent=0);
   184     CssInspectorModel(QObject *parent=0);
   166     ~CssInspectorModel();
   185     ~CssInspectorModel();
   167 
   186 
   168     QVariant data(const QModelIndex &index, int role) const;
   187     QVariant data(const QModelIndex &index, int role) const;
   169     QVariant headerData(int section, Qt::Orientation orientation,
   188     QVariant headerData(int section, Qt::Orientation orientation,
   170                         int role = Qt::DisplayRole) const;
   189                         int role = Qt::DisplayRole) const;
   173     QModelIndex parent(const QModelIndex &child) const;
   192     QModelIndex parent(const QModelIndex &child) const;
   174     int rowCount(const QModelIndex &parent = QModelIndex()) const;
   193     int rowCount(const QModelIndex &parent = QModelIndex()) const;
   175     int columnCount(const QModelIndex &parent = QModelIndex()) const;
   194     int columnCount(const QModelIndex &parent = QModelIndex()) const;
   176 
   195 
   177 private:
   196 private:
   178     HbMainWindow *mWin;
       
   179     CssInspectorModelItem *mRootItem;
   197     CssInspectorModelItem *mRootItem;
   180 };
   198 };
   181 
   199 
   182 
   200 
   183 class ItemColorDelegate : public QStyledItemDelegate
   201 class ItemColorDelegate : public QStyledItemDelegate
   195 {
   213 {
   196     Q_OBJECT
   214     Q_OBJECT
   197 
   215 
   198 public:
   216 public:
   199     static HbCssInspectorWindow *instance();
   217     static HbCssInspectorWindow *instance();
       
   218     static bool exists();
   200     virtual ~HbCssInspectorWindow();
   219     virtual ~HbCssInspectorWindow();
   201 
   220 
   202 public slots:
   221 public slots:
   203     void updateFocusItem(const QGraphicsItem* item);
   222     void updateFocusItem(const QGraphicsItem* item);
   204     void setVisible(bool visible);
   223     void setVisible(bool visible);