KMdiTaskBar Class Reference
Internal class. More...
#include <kmditaskbar.h>
Public Slots | |
void | setActiveButton (KMdiChildView *win_ptr) |
Public Methods | |
KMdiTaskBar (KMdiMainFrm *parent, QMainWindow::ToolBarDock dock) | |
~KMdiTaskBar () | |
KMdiTaskBarButton * | addWinButton (KMdiChildView *win_ptr) |
void | removeWinButton (KMdiChildView *win_ptr, bool haveToLayoutTaskBar=true) |
KMdiTaskBarButton * | getNextWindowButton (bool bRight, KMdiChildView *win_ptr) |
KMdiTaskBarButton * | getButton (KMdiChildView *win_ptr) |
void | switchOn (bool bOn) |
bool | isSwitchedOn () const |
Protected Slots | |
void | layoutTaskBar (int taskBarWidth=0) |
Protected Methods | |
void | resizeEvent (QResizeEvent *) |
Protected Attributes | |
QPtrList< KMdiTaskBarButton > * | m_pButtonList |
KMdiMainFrm * | m_pFrm |
KMdiChildView * | m_pCurrentFocusedWindow |
QLabel * | m_pStretchSpace |
Detailed Description
Internal class.
It's a special kind of QToolBar that acts as taskbar for child views. KMdiTaskBarButtons can be added or removed dynamically.
The button sizes are adjusted dynamically, as well.
Definition at line 129 of file kmditaskbar.h.
Constructor & Destructor Documentation
|
Constructor (NoFocus, minimum width = 1, an internal QPtrList of taskbar buttons (autodelete)).
Definition at line 139 of file kmditaskbar.cpp. References m_pButtonList, m_pFrm, and QPtrList< KMdiTaskBarButton >::setAutoDelete(). |
|
Destructor (deletes the taskbar button list).
Definition at line 155 of file kmditaskbar.cpp. References m_pButtonList. |
Member Function Documentation
|
Add a new KMdiTaskBarButton . The width doesn't change. If there's not enough space, all taskbar buttons will be resized to a new smaller size. Probably button texts must be abbreviated now. Definition at line 160 of file kmditaskbar.cpp. References QPtrList< KMdiTaskBarButton >::append(), QObject::connect(), layoutTaskBar(), m_pButtonList, m_pFrm, m_pStretchSpace, setActiveButton(), QLabel::setText(), KMdiTaskBarButton::setText(), QPushButton::setToggleButton(), and KMdiChildView::tabCaption(). Referenced by KMdiMainFrm::addWindow(). |
|
Removes a KMdiTaskBarButton and deletes it. If the rest of the buttons are smaller than they usually are, all those buttons will be resized in a way that the new free size is used as well. Definition at line 192 of file kmditaskbar.cpp. References QPtrList< KMdiTaskBarButton >::count(), getButton(), layoutTaskBar(), m_pButtonList, m_pStretchSpace, and QPtrList< KMdiTaskBarButton >::removeRef(). Referenced by KMdiMainFrm::closeWindow(), and KMdiMainFrm::removeWindowFromMdi(). |
|
Returns the neighbor taskbar button of the taskbar button of the MDI view given by parameter bRight specifies the side, of course left is used if bRight is false.
Definition at line 232 of file kmditaskbar.cpp. References QPtrList< KMdiTaskBarButton >::first(), QPtrList< KMdiTaskBarButton >::last(), m_pButtonList, KMdiTaskBarButton::m_pWindow, QPtrList< KMdiTaskBarButton >::next(), and QPtrList< KMdiTaskBarButton >::prev(). |
|
Get the button belonging to the MDI view given as parameter.
Definition at line 224 of file kmditaskbar.cpp. References QPtrList< KMdiTaskBarButton >::first(), m_pButtonList, KMdiTaskBarButton::m_pWindow, and QPtrList< KMdiTaskBarButton >::next(). Referenced by removeWinButton(), and KMdiMainFrm::removeWindowFromMdi(). |
|
Switch it on or off.
Definition at line 208 of file kmditaskbar.cpp. References QPtrList< KMdiTaskBarButton >::count(), and m_pButtonList. Referenced by KMdiMainFrm::hideViewTaskBar(), KMdiMainFrm::showViewTaskBar(), KMdiMainFrm::slot_toggleTaskBar(), KMdiMainFrm::switchToIDEAlMode(), and KMdiMainFrm::switchToTabPageMode(). |
|
Definition at line 168 of file kmditaskbar.h. Referenced by KMdiMainFrm::isViewTaskBarOn(), and KMdiMainFrm::slot_toggleTaskBar(). |
|
Reimplemented from its base class to call layoutTaskBar, additionally.
Definition at line 338 of file kmditaskbar.cpp. References QPtrList< KMdiTaskBarButton >::count(), layoutTaskBar(), m_pButtonList, and QResizeEvent::size(). |
|
Checks if all buttons fits into this. If not, it recalculates all button widths in a way that all buttons fits into the taskbar and have got equal width. The text of the buttons will be abbreviated when nessecary, all buttons get a fixed width and show() is called for each one. If one drags the taskbar to a vertical orientation, the button width is set to 80 pixel. Definition at line 275 of file kmditaskbar.cpp. References KMdiTaskBarButton::actualText(), QPtrList< KMdiTaskBarButton >::count(), QPtrList< KMdiTaskBarButton >::first(), KMdiTaskBarButton::fitText(), QSize::height(), m_pButtonList, QPtrList< KMdiTaskBarButton >::next(), KMdiTaskBarButton::setText(), QFontMetrics::size(), and QSize::width(). Referenced by addWinButton(), removeWinButton(), and resizeEvent(). |
|
Pushes the desired taskbar button down (switch on), the old one is released (switched off). Actually it's a radiobutton group behavior. Definition at line 256 of file kmditaskbar.cpp. References QPtrList< KMdiTaskBarButton >::first(), m_pButtonList, m_pCurrentFocusedWindow, KMdiTaskBarButton::m_pWindow, QPtrList< KMdiTaskBarButton >::next(), and QPushButton::toggle(). Referenced by KMdiMainFrm::activateView(), and addWinButton(). |
Member Data Documentation
|
A list of taskbar buttons. Note: Each button stands for one MDI view (toolviews doesn't have got a taskbar button). Definition at line 194 of file kmditaskbar.h. Referenced by addWinButton(), getButton(), getNextWindowButton(), KMdiTaskBar(), layoutTaskBar(), removeWinButton(), resizeEvent(), setActiveButton(), switchOn(), and ~KMdiTaskBar(). |
|
The belonging MDI mainframe (parent widget of this).
Definition at line 198 of file kmditaskbar.h. Referenced by addWinButton(), and KMdiTaskBar(). |
|
The MDI view belonging to the currently pressed taskbar button.
Definition at line 202 of file kmditaskbar.h. Referenced by setActiveButton(). |
|
A stretchable widget used as 'space' at the end of a half filled taskbar.
Definition at line 206 of file kmditaskbar.h. Referenced by addWinButton(), and removeWinButton(). |
The documentation for this class was generated from the following files: