Version: 6.3.1
Data Structures | Signals | Public Member Functions | Protected Member Functions | Private Types | Private Slots | Private Member Functions | Private Attributes

QtxWorkstackArea Class Reference

Workstack widget workarea.

#include <QtxWorkstack.h>

Inheritance diagram for QtxWorkstackArea:
Inheritance graph

Data Structures

class  RestoreEvent
 Internal class used to forward restore info events to the workarea. More...
class  WidgetEvent
 Internal class used to forward child widgets events to the workarea. More...

Signals

void activated (QWidget *)
 Emitted when child widget is activated.
void contextMenuRequested (QWidget *, QPoint)
 Emitted when context popup menu is requested.
void deactivated (QtxWorkstackArea *)
 Emitted when workarea is deactivated.

Public Member Functions

 QtxWorkstackArea (QWidget *)
 Constructor.
virtual ~QtxWorkstackArea ()
 Destructor.
bool isNull () const
 Check if workarea contains any widgets.
bool isEmpty () const
 Check if workarea contains visible widgets.
QtxWorkstackChildinsertWidget (QWidget *, const int=-1, Qt::WindowFlags=0)
 Add widget to the workarea.
void removeWidget (QWidget *, const bool=true)
 Remove widget from workarea.
void insertChild (QtxWorkstackChild *, const int=-1)
void removeChild (QtxWorkstackChild *, const bool=true)
 Remove child from workarea.
QWidgetactiveWidget () const
 Get active child widget.
void setActiveWidget (QWidget *)
 Set active widget.
bool contains (QWidget *) const
 Check if area owns the specified widget.
QWidgetList widgetList () const
 Get all visible child widgets.
QList< QtxWorkstackChild * > childList () const
bool isActive () const
 Check if workarea is active.
void updateActiveState ()
 Update active tab bar state (active/inactive).
QtxWorkstackworkstack () const
 Get parent workstack.
virtual bool eventFilter (QObject *, QEvent *)
 Custom event filter.
QRect floatRect () const
 Get rectangle to be drawn when highlighting drop area.
QRect floatTab (const int) const
 Get rectangle to be drawn when highlighting drop area on tab bar.
int tabAt (const QPoint &) const
 Get tab index by point.
void saveState (QDataStream &) const
 Save the own widgets configuration into data stream.
bool restoreState (QDataStream &, QMap< QString, QtxWorkstackChild * > &)
 Restore the widgets configuration from data stream info.

Protected Member Functions

virtual void customEvent (QEvent *)
 Event handler for custom events.
virtual void focusInEvent (QFocusEvent *)
 Customize focus in event handler.
virtual void mousePressEvent (QMouseEvent *)
 Customize mouse press event handler.

Private Types

enum  { ActivateWidget = QEvent::User, FocusWidget, MakeCurrent, RestoreWidget }
 

Custom events.

More...
typedef QList
< QtxWorkstackChild * > 
ChildList

Private Slots

void onClose ()
 Called when user presses "Close" button.
void onCurrentChanged (int)
 Called when user selects any tab page.
void onChildDestroyed (QObject *)
 Called when area's child widget container is destroyed.
void onChildShown (QtxWorkstackChild *)
 Called when child widget container is shown.
void onChildHidden (QtxWorkstackChild *)
 Called when child widget container is hidden.
void onChildActivated (QtxWorkstackChild *)
 Called when child widget container is activated.
void onChildCaptionChanged (QtxWorkstackChild *)
 Called when child widget container's title is changed.
void onDragActiveTab ()
 Called when user starts tab page dragging.
void onContextMenuRequested (QPoint)
 Create and show popup menu for the area.

Private Member Functions

void updateState ()
 Update internal state.
void updateCurrent ()
 Update current child widget container.
void updateTab (QWidget *)
 Update tab bar.
QWidgetwidget (const int) const
 Get child widget by specified identifier.
int widgetId (QWidget *) const
 Get child widget identifier.
QtxWorkstackChildchild (QWidget *) const
 Get child widget container.
QtxWorkstackChildchild (const int) const
void setWidgetActive (QWidget *)
 Set active child widget.
int generateId () const
 Generate unique widget identifier.

Private Attributes

QtxWorkstackTabBarmyBar
 workarea tab bar header
ChildList myList
 child widgets list
QAbstractButtonmyClose
 close button
QStackedWidget * myStack
 widget stack

Member Typedef Documentation


Member Enumeration Documentation

anonymous enum [private]
Enumerator:
ActivateWidget 

activate widget event

FocusWidget 

focus receiving widget event

MakeCurrent 
RestoreWidget 

Constructor & Destructor Documentation

QtxWorkstackArea::QtxWorkstackArea ( QWidget parent)
QtxWorkstackArea::~QtxWorkstackArea ( ) [virtual]

Member Function Documentation

bool QtxWorkstackArea::isNull ( ) const
Returns:
true if area is null (havn't any child widgets)

References myList.

bool QtxWorkstackArea::isEmpty ( ) const
Returns:
true if area is empty (all child widgets are removed or now shown)

References myList.

QtxWorkstackChild * QtxWorkstackArea::insertWidget ( QWidget wid,
const int  idx = -1,
Qt::WindowFlags  f = 0 
)
Parameters:
widwidget to be added
idxposition in the area widget to be added to
fwidget flags
Returns:
child widget container object (or 0 if index is invalid)

References test_table.c, child(), insertChild(), and myStack.

void QtxWorkstackArea::removeWidget ( QWidget wid,
const bool  del = true 
)
Parameters:
widwidget to be removed
delif true the widget should be also deleted

References child(), and removeChild().

void QtxWorkstackArea::insertChild ( QtxWorkstackChild child,
const int  idx = -1 
)
void QtxWorkstackArea::removeChild ( QtxWorkstackChild child,
const bool  del = true 
)
QWidget * QtxWorkstackArea::activeWidget ( ) const
Returns:
active widget

References myBar, QtxWorkstackTabBar.tabId(), and widget().

void QtxWorkstackArea::setActiveWidget ( QWidget wid)
Parameters:
widwidget to be made active

References QtxWorkstackTabBar.indexOf(), myBar, and widgetId().

bool QtxWorkstackArea::contains ( QWidget wid) const
Parameters:
widwidget to be checked
Returns:
true if area contains widget

References child().

QWidgetList QtxWorkstackArea::widgetList ( ) const
Returns:
list of visible child widgets

References test_table.c, myList, QtxWorkstackChild.visibility(), and QtxWorkstackChild.widget().

QList< QtxWorkstackChild * > QtxWorkstackArea::childList ( ) const

References myList.

bool QtxWorkstackArea::isActive ( ) const
Returns:
true if area is active

References QtxWorkstack.activeArea(), and workstack().

void QtxWorkstackArea::updateActiveState ( )
QtxWorkstack * QtxWorkstackArea::workstack ( ) const
Returns:
workstack owning this workarea
bool QtxWorkstackArea::eventFilter ( QObject o,
QEvent e 
) [virtual]

Process events from child widgets.

Parameters:
oevent receiver widget
eevent
Returns:
true if event should be filtered (stop further processing)

References ActivateWidget, FocusWidget, and myClose.

QRect QtxWorkstackArea::floatRect ( ) const
Returns:
area drop rectangle

References myStack.

QRect QtxWorkstackArea::floatTab ( const int  idx) const
Parameters:
idxtab index
Returns:
tab bar drop rectrangle

References myBar.

int QtxWorkstackArea::tabAt ( const QPoint &  pnt) const
Parameters:
ppoint
Returns:
tab covering point or -1 if there is no tab covering point

References myBar.

void QtxWorkstackArea::saveState ( QDataStream &  stream) const
bool QtxWorkstackArea::restoreState ( QDataStream &  stream,
QMap< QString, QtxWorkstackChild * > &  map 
)
Returns:
true in successful case.

References test_table.c, MakeCurrent, RestoreWidget, and QtxWorkstack.WidgetMarker.

void QtxWorkstackArea::activated ( QWidget w) [signal]
Parameters:
wchild widget being activated
void QtxWorkstackArea::contextMenuRequested ( QWidget w,
QPoint  p 
) [signal]
Parameters:
wchild widget popup menu requested for
ppoint popup menu to be shown at
void QtxWorkstackArea::deactivated ( QtxWorkstackArea wa) [signal]
Parameters:
waworkarea being deactivated
void QtxWorkstackArea::onClose ( ) [private, slot]

References activeWidget().

void QtxWorkstackArea::onCurrentChanged ( int  ) [private, slot]
Parameters:
idxtab page index (not used)

References activated(), activeWidget(), and updateCurrent().

void QtxWorkstackArea::onChildDestroyed ( QObject obj) [private, slot]
Parameters:
objwidget container being destroyed

References removeChild().

void QtxWorkstackArea::onChildShown ( QtxWorkstackChild c) [private, slot]
Parameters:
cchild widget container being shown

References updateState().

void QtxWorkstackArea::onChildHidden ( QtxWorkstackChild c) [private, slot]
Parameters:
cchild widget container being hidden

References updateState().

void QtxWorkstackArea::onChildActivated ( QtxWorkstackChild c) [private, slot]
Parameters:
cchild widget container being activated

References setWidgetActive(), and QtxWorkstackChild.widget().

void QtxWorkstackArea::onChildCaptionChanged ( QtxWorkstackChild c) [private, slot]
Parameters:
cchild widget container which title is changed

References updateTab(), and QtxWorkstackChild.widget().

void QtxWorkstackArea::onDragActiveTab ( ) [private, slot]
void QtxWorkstackArea::onContextMenuRequested ( QPoint  p) [private, slot]
Parameters:
pmouse pointer position at which popup menu should be shown

References contextMenuRequested(), myBar, tabAt(), QtxWorkstackTabBar.tabId(), and widget().

void QtxWorkstackArea::customEvent ( QEvent e) [protected, virtual]
void QtxWorkstackArea::focusInEvent ( QFocusEvent *  e) [protected, virtual]
Parameters:
efocus in event

References activated(), activeWidget(), myBar, and QtxWorkstackTabBar.updateActiveState().

void QtxWorkstackArea::mousePressEvent ( QMouseEvent *  e) [protected, virtual]
Parameters:
emouse press event

References activated(), and activeWidget().

void QtxWorkstackArea::updateState ( ) [private]
void QtxWorkstackArea::updateCurrent ( ) [private]

Raises widget when active tab page is changed.

References child(), myBar, myStack, QtxWorkstackTabBar.tabId(), and widget().

void QtxWorkstackArea::updateTab ( QWidget wid) [private]
Parameters:
widtab page widget

References QtxWorkstackTabBar.indexOf(), myBar, and widgetId().

QWidget * QtxWorkstackArea::widget ( const int  id) const [private]
Parameters:
idwidget ID
Returns:
widget or 0, if identifier in invalid

References test_table.c, child(), and QtxWorkstackChild.widget().

int QtxWorkstackArea::widgetId ( QWidget wid) const [private]
Parameters:
widwidget
Returns:
widget ID or -1 if widget is not found

References test_table.c, child(), and QtxWorkstackChild.id().

QtxWorkstackChild * QtxWorkstackArea::child ( QWidget wid) const [private]
Parameters:
widchild widget
Returns:
child widget container corresponding to the wid

References myList.

QtxWorkstackChild * QtxWorkstackArea::child ( const int  id) const [private]

References test_table.c, and myList.

void QtxWorkstackArea::setWidgetActive ( QWidget wid) [private]
Parameters:
widwidget to be set active

References QtxWorkstackTabBar.indexOf(), myBar, and widgetId().

int QtxWorkstackArea::generateId ( ) const [private]
Returns:
first non shared widget ID

References myList.


Field Documentation

QStackedWidget* QtxWorkstackArea.myStack [private]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS