src/hbcore/gui/hbanchorarrowdrawer_p.h
changeset 34 ed14f46c0e55
parent 6 c3690ec91ef8
equal deleted inserted replaced
31:7516d6d86cf5 34:ed14f46c0e55
    28 
    28 
    29 #include <hbwidgetbase.h>
    29 #include <hbwidgetbase.h>
    30 #include <hbglobal.h>
    30 #include <hbglobal.h>
    31 
    31 
    32 class HbAnchorLayout;
    32 class HbAnchorLayout;
       
    33 class HbAnchor;
    33 
    34 
    34 class HB_CORE_PRIVATE_EXPORT HbAnchorArrowDrawer : public HbWidgetBase
    35 class HB_CORE_PRIVATE_EXPORT HbAnchorArrowDrawer : public HbWidgetBase
    35 {
    36 {
    36     Q_OBJECT
    37     Q_OBJECT
    37 
    38 
    41 
    42 
    42 public slots:
    43 public slots:
    43     void setDrawOutlines(bool enabled) { mDrawOutlines = enabled; };
    44     void setDrawOutlines(bool enabled) { mDrawOutlines = enabled; };
    44     void setDrawArrows(bool enabled) { mDrawArrows = enabled; };
    45     void setDrawArrows(bool enabled) { mDrawArrows = enabled; };
    45     void setDrawSpacers(bool enabled) { mDrawSpacers = enabled; };
    46     void setDrawSpacers(bool enabled) { mDrawSpacers = enabled; };
       
    47     void setDrawMinLength(bool enabled) { mDrawMinLength = enabled; };
       
    48     void setDrawPrefLength(bool enabled) { mDrawPrefLength = enabled; };
       
    49     void setDrawMaxLength(bool enabled) { mDrawMaxLength = enabled; };
    46     void updateFocusItem(const QGraphicsItem* item);
    50     void updateFocusItem(const QGraphicsItem* item);
    47     void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
    51     void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
    48 
    52 
    49 protected:
    53 protected:
    50     void changeEvent(QEvent *event);
    54     void changeEvent(QEvent *event);
    51     void updateColors();
    55     void updateColors();
    52 
    56 
    53 private:
    57 private:
       
    58     enum ArrowType {
       
    59         Actual,
       
    60         Minimum,
       
    61         Preferred,
       
    62         Maximum,
       
    63         Spacer
       
    64     };
       
    65 
       
    66     void paintAnchor(QPainter *painter, HbAnchor *anchor, bool layoutMirrored, ArrowType type);
       
    67 
       
    68 private:
    54     HbAnchorLayout* mLayout;
    69     HbAnchorLayout* mLayout;
    55     bool mDrawOutlines;
    70     bool mDrawOutlines;
    56     bool mDrawArrows;
    71     bool mDrawArrows;
    57     bool mDrawSpacers;
    72     bool mDrawSpacers;
       
    73     bool mDrawMinLength;
       
    74     bool mDrawPrefLength;
       
    75     bool mDrawMaxLength;
       
    76 
    58     QColor mValidColor;
    77     QColor mValidColor;
    59     QColor mInvalidColor;
    78     QColor mInvalidColor;
    60     QColor mBoxColor;
    79     QColor mBoxColor;
    61 };
    80 };
    62 
    81