src/hbcore/gui/hbpopup.h
changeset 34 ed14f46c0e55
parent 7 923ff622b8b9
equal deleted inserted replaced
31:7516d6d86cf5 34:ed14f46c0e55
    24 ****************************************************************************/
    24 ****************************************************************************/
    25 
    25 
    26 #ifndef HBPOPUP_H
    26 #ifndef HBPOPUP_H
    27 #define HBPOPUP_H
    27 #define HBPOPUP_H
    28 
    28 
    29 //
       
    30 //  N O T E
       
    31 //  -------
       
    32 //
       
    33 // This class is to be called HbPopup, the base class of all popups.
       
    34 // It's merely a popup frame whose stacking order is handled by the
       
    35 // popup manager. It doesn't have heading/content widgets nor actions.
       
    36 // This functionality will be provided by the upcoming HbDialog class.
       
    37 //
       
    38 
       
    39 #include <hbglobal.h>
    29 #include <hbglobal.h>
    40 #include <hbwidget.h>
    30 #include <hbwidget.h>
    41 
    31 
    42 class HbPopupPrivate;
    32 class HbPopupPrivate;
    43 
    33 
    49     Q_PROPERTY( bool modal READ isModal WRITE setModal )
    39     Q_PROPERTY( bool modal READ isModal WRITE setModal )
    50     Q_PROPERTY( bool backgroundFaded 
    40     Q_PROPERTY( bool backgroundFaded 
    51                 READ isBackgroundFaded WRITE setBackgroundFaded )
    41                 READ isBackgroundFaded WRITE setBackgroundFaded )
    52     Q_PROPERTY( DismissPolicy dismissPolicy READ dismissPolicy WRITE setDismissPolicy )
    42     Q_PROPERTY( DismissPolicy dismissPolicy READ dismissPolicy WRITE setDismissPolicy )
    53     Q_PROPERTY( FrameType frameType READ frameType WRITE setFrameType )
    43     Q_PROPERTY( FrameType frameType READ frameType WRITE setFrameType )
       
    44     Q_PROPERTY(bool fullScreen READ isFullScreen WRITE setFullScreen)
    54                
    45                
    55 public:
    46 public:
    56 
    47 
    57     enum DefaultTimeout
    48     enum DefaultTimeout
    58     {
    49     {
    95     int timeout() const;
    86     int timeout() const;
    96     void setTimeout(int timeout);
    87     void setTimeout(int timeout);
    97     void setTimeout(HbPopup::DefaultTimeout timeout);
    88     void setTimeout(HbPopup::DefaultTimeout timeout);
    98 
    89 
    99     bool isModal() const;
    90     bool isModal() const;
   100     void setModal(bool enabled);
    91     void setModal(bool modal);
   101 
    92 
   102     void setBackgroundFaded(bool fadeBackground);
       
   103     bool isBackgroundFaded() const;
    93     bool isBackgroundFaded() const;
       
    94     void setBackgroundFaded(bool fadeBackground);    
   104 
    95 
   105     DismissPolicy dismissPolicy() const;
    96     DismissPolicy dismissPolicy() const;
   106     void setDismissPolicy(HbPopup::DismissPolicy dismissPolicy);
    97     void setDismissPolicy(HbPopup::DismissPolicy dismissPolicy);
   107 
    98 
   108     FrameType frameType() const;
    99     FrameType frameType() const;
   109     void setFrameType(HbPopup::FrameType frameType);
   100     void setFrameType(HbPopup::FrameType frameType);
   110 
   101 
       
   102     bool isFullScreen() const;
       
   103     void setFullScreen(bool fullScreen);
       
   104 
   111     enum { Type = Hb::ItemType_Popup };
   105     enum { Type = Hb::ItemType_Popup };
   112     int type() const { return Type; }
   106     int type() const { return Type; }
   113 
   107 
   114     void setPreferredPos(const QPointF& position,
   108     virtual void setPreferredPos(const QPointF& position,
   115                           HbPopup::Placement placement = HbPopup::TopLeftCorner);
   109                           HbPopup::Placement placement = HbPopup::TopLeftCorner);
   116 
   110 
   117     QPainterPath shape() const;
   111     QPainterPath shape() const;
   118 
   112 
   119 public slots:
   113 public slots:
   120     void open( QObject *receiver = 0, const char *member = 0);
   114     void open( QObject *receiver = 0, const char *member = 0);
   121     void handlePopupPos();
       
   122 
   115 
   123 signals:
   116 signals:
   124     void aboutToShow();
   117     void aboutToShow();
   125     void aboutToHide();
   118     void aboutToHide();
   126     void aboutToClose();
   119     void aboutToClose();
       
   120     void popupReady();
   127 
   121 
   128 protected:
   122 protected:
   129     HbPopup(HbPopupPrivate &dd, QGraphicsItem *parent);
   123     HbPopup(HbPopupPrivate &dd, QGraphicsItem *parent);
   130     QVariant itemChange(GraphicsItemChange change, const QVariant & value);
   124     QVariant itemChange(GraphicsItemChange change, const QVariant & value);
   131 
   125     void polish(HbStyleParameters &params);
   132     void mousePressEvent(QGraphicsSceneMouseEvent *event );
   126     void mousePressEvent(QGraphicsSceneMouseEvent *event );
   133     void mouseReleaseEvent(QGraphicsSceneMouseEvent *event );
   127     void mouseReleaseEvent(QGraphicsSceneMouseEvent *event );
   134 
   128 
   135     void showEvent(QShowEvent *event);
   129     void showEvent(QShowEvent *event);
   136     void hideEvent(QHideEvent *event);
   130     void hideEvent(QHideEvent *event);
   143     Q_DISABLE_COPY(HbPopup)
   137     Q_DISABLE_COPY(HbPopup)
   144 #ifdef HB_EFFECTS
   138 #ifdef HB_EFFECTS
   145     Q_PRIVATE_SLOT(d_func(), void _q_delayedHide(HbEffect::EffectStatus status))
   139     Q_PRIVATE_SLOT(d_func(), void _q_delayedHide(HbEffect::EffectStatus status))
   146     Q_PRIVATE_SLOT(d_func(), void _q_orientationAboutToChange(Qt::Orientation orient, bool animate))
   140     Q_PRIVATE_SLOT(d_func(), void _q_orientationAboutToChange(Qt::Orientation orient, bool animate))
   147     Q_PRIVATE_SLOT(d_func(), void _q_orientationChanged())
   141     Q_PRIVATE_SLOT(d_func(), void _q_orientationChanged())
   148 	Q_PRIVATE_SLOT(d_func(), void _q_appearEffectEnded(HbEffect::EffectStatus status))
   142     Q_PRIVATE_SLOT(d_func(), void _q_appearEffectEnded(HbEffect::EffectStatus status))
       
   143     Q_PRIVATE_SLOT(d_func(), void _q_maskEffectDestroyed())
   149 #endif // HB_EFFECTS
   144 #endif // HB_EFFECTS
   150     Q_PRIVATE_SLOT(d_func(), void _q_timeoutFinished())
   145     Q_PRIVATE_SLOT(d_func(), void _q_timeoutFinished())
   151 };
   146 };
   152 
   147 
   153 #endif // HbPopup_H
   148 #endif // HbPopup_H