class PanelBar;
class PanelContentStack;
+class PanelContextButtonBar;
class PanelTabBar;
/**
void closePanel();
/**
- * @brief Slot that shows the tab (and opens it if closed) with the desired widget
+ * @brief Slot that opens the panel
+ *
+ * If widget pointer is provided the corresponding tab is also set active
*
* @param widget Widget
*/
- void showPanel(QWidget *widget);
+ void openPanel(QWidget *widget = 0);
/**
* @brief Slot to redraw the panel after window resize event
void setCurrentIndex(int index);
/**
- * @brief Internal slot used to track statemachine state
+ * @brief Internal slot used to set the panel state
*/
void stateChanged();
******************************************************************************/
signals:
/**
- * @brief This signal is emitted whenever the current page index changes
+ * @brief This signal is emitted whenever the current tab page changes
+ *
+ * @param index Index of the new tab page
*/
void currentChanged(int index);
void panelOpened();
/**
- * @brief Signal that is sent to state machine when panel state must be changed
+ * @brief Signal that is sent when the panel state must be changed
*
* @sa openPanel
* @sa closePanel
* DATA MEMBERS
******************************************************************************/
private:
- bool m_isOpen; ///< Boolean used to track the current state of the statemachine
-
- QPropertyAnimation *m_panelAnimation; ///< Animation for panel state changes
-
- QSignalTransition *m_panelTransitionClose; ///< Transition signal for closing the panel
- QSignalTransition *m_panelTransitionOpen; ///< Transition signal for opening the panel
-
- QState *m_panelStateClosed; ///< State of the closed panel
- QState *m_panelStateOpened; ///< State of the opened panel
+ bool m_open; ///< Current state of the panel
+ bool m_closeRequestPending;
- QStateMachine *m_panelStateMachine; ///< State machine for sliding the panel
+ QState *m_stateClosed; ///< State of the closed panel
+ QState *m_stateOpened; ///< State of the opened panel
- PanelBar *m_panelBar; ///< Widget for panel bar
- PanelContentStack *m_panelContentStack; ///< Stack for panel widgets
- PanelTabBar *m_panelTabBar; ///< Widget for panel tab bar
+ PanelBar *m_panelBar; ///< Widget for panel bar
+ PanelContentStack *m_panelContentStack; ///< Stack for panel widgets
+ PanelContextButtonBar * m_panelContextButtonBar; ///< Widget for panel context button bar
+ PanelTabBar *m_panelTabBar; ///< Widget for panel tab bar
};
#endif // TABBEDPANEL_H