lib Library API Documentation

KoTabBar Class Reference

The KoTabBar class provides a tab bar, for use to switch active page/sheet in a document.A bar with tabs and scroll buttons. More...

#include <kotabbar.h>

Inheritance diagram for KoTabBar:

Inheritance graph
[legend]
Collaboration diagram for KoTabBar:

Collaboration graph
[legend]
List of all members.

Public Slots

void setTabs (const QStringList &list)
void setReadOnly (bool ro)
void setReverseLayout (bool reverse)
void addTab (const QString &text)
void removeTab (const QString &text)
void renameTab (const QString &old_name, const QString &new_name)
void moveTab (unsigned tab, unsigned target)
void scrollBack ()
void scrollForward ()
void scrollFirst ()
void scrollLast ()
void setActiveTab (const QString &text)
void clear ()
QSize sizeHint () const

Signals

void tabChanged (const QString &_text)
void tabMoved (unsigned tab, unsigned target)
void contextMenu (const QPoint &pos)
void doubleClicked ()

Public Member Functions

 KoTabBar (QWidget *parent=0, const char *name=0)
virtual ~KoTabBar ()
bool readOnly () const
bool reverseLayout () const
QStringList tabs () const
unsigned count () const
QString activeTab () const
bool canScrollBack () const
bool canScrollForward () const

Protected Slots

void autoScrollBack ()
void autoScrollForward ()

Protected Member Functions

virtual void paintEvent (QPaintEvent *ev)
virtual void resizeEvent (QResizeEvent *ev)
virtual void mousePressEvent (QMouseEvent *ev)
virtual void mouseReleaseEvent (QMouseEvent *ev)
virtual void mouseDoubleClickEvent (QMouseEvent *ev)
virtual void mouseMoveEvent (QMouseEvent *ev)

Properties

QString activeTab
bool readOnly
QStringList tabs
unsigned count

Detailed Description

The KoTabBar class provides a tab bar, for use to switch active page/sheet in a document.A bar with tabs and scroll buttons.

The tab bar is typically used in the main view. It is the small widget on the bottom left corner. Pages/sheets are displayed as tabs, clicking on one of the tab will activate the corresponding sheet (this is actually done in main view). Current active page/sheet is marked by bold text.

The tab bar supports page/sheet reorder by dragging a certain tab and move it to another location. The main view should handle the necessary action to perform the actual reorder.

There are four scroll buttons available in the tab bar. They are used to shift the tabs in left and right direction, for example when there are more tabs than the space available to display all tabs.

Since a page/sheet can be hidden, the tab bar only shows the visible page/sheet. When a hidden page or sheet is shown again, it will be on the same position as before it was hidden.

When the document is protected, it is necessary to set the tab bar as read-only using setReadOnly (see also readOnly). If it is set to true, tabs can not be moved by dragging and context menu will not be displayed.

Definition at line 61 of file kotabbar.h.


Constructor & Destructor Documentation

KoTabBar::KoTabBar QWidget parent = 0,
const char *  name = 0
 

Creates a new tabbar.

Definition at line 330 of file kotabbar.cpp.

References scrollBack(), scrollFirst(), scrollForward(), and scrollLast().

KoTabBar::~KoTabBar  )  [virtual]
 

Destroy the tabbar.

Definition at line 362 of file kotabbar.cpp.


Member Function Documentation

bool KoTabBar::readOnly  )  const
 

Returns true if the tab bar is read only.

bool KoTabBar::reverseLayout  )  const
 

Returns true if tabs and scroll buttons will be laid out in a mirrored (right to left) fashion.

Definition at line 409 of file kotabbar.cpp.

bool KoTabBar::canScrollBack  )  const
 

Returns true if it is possible to scroll one tab back.

See also:
scrollBack

Definition at line 463 of file kotabbar.cpp.

Referenced by scrollBack(), and scrollFirst().

bool KoTabBar::canScrollForward  )  const
 

Returns true if it is possible to scroll one tab forward.

See also:
scrollForward

Definition at line 471 of file kotabbar.cpp.

Referenced by scrollForward(), and scrollLast().

void KoTabBar::setTabs const QStringList list  )  [slot]
 

Replaces all tabs with the list of strings.

Definition at line 426 of file kotabbar.cpp.

References setActiveTab().

void KoTabBar::setReadOnly bool  ro  )  [slot]
 

Sets the tab bar to be read only.

If the tab bar is read only, tab reordering is not allowed. This means that signal tabMoved, contextMenu and doubleClicked would not be emitted.

Definition at line 404 of file kotabbar.cpp.

void KoTabBar::setReverseLayout bool  reverse  )  [slot]
 

If reverse is true, dialogs and scroll buttonswidgets will be laid out in a mirrored as if the sheet is in right to left languages (such as Arabic and Hebrew).

Definition at line 414 of file kotabbar.cpp.

void KoTabBar::addTab const QString text  )  [slot]
 

Adds a tab to the tab bar.

Definition at line 368 of file kotabbar.cpp.

void KoTabBar::removeTab const QString text  )  [slot]
 

Removes a tab from the bar.

If the tab was the active one then no tab will be active. It is recommended to call setActiveTab after a call to this function.

Definition at line 376 of file kotabbar.cpp.

void KoTabBar::renameTab const QString old_name,
const QString new_name
[slot]
 

Renames a tab.

Definition at line 687 of file kotabbar.cpp.

void KoTabBar::moveTab unsigned  tab,
unsigned  target
[slot]
 

Moves a tab to another position and reorder other tabs.

Example 1: if there are four tabs A - B - C - D, then moveTab(2,1) will yield A - C - B - D. This is because 2nd tab (i.e C) is moved to a position before 1th tab (i.e B).

Example 2: for these tabs: X - Y - Z, moveTab(0,3) will move tab X after tab Z so that the result is Y - Z - X.

Definition at line 552 of file kotabbar.cpp.

void KoTabBar::scrollBack  )  [slot]
 

Scrolls one tab back.

Does nothing if the leftmost tab (rightmost tab when reverseLayout is true) is already the first tab.

See also:
canScrollBack

Definition at line 479 of file kotabbar.cpp.

References canScrollBack().

Referenced by KoTabBar().

void KoTabBar::scrollForward  )  [slot]
 

Scrolls one tab forward.

Does nothing if the rightmost tab (leftmost tab when reverseLayout is true) is already the last tab.

See also:
canScrollForward

Definition at line 492 of file kotabbar.cpp.

References canScrollForward().

Referenced by KoTabBar().

void KoTabBar::scrollFirst  )  [slot]
 

Scrolls to the first tab.

Does nothing if the leftmost tab (rightmost tab when reverseLayout is true) is already the first tab.

See also:
canScrollBack

Definition at line 506 of file kotabbar.cpp.

References canScrollBack().

Referenced by KoTabBar().

void KoTabBar::scrollLast  )  [slot]
 

Scrolls to the last tab.

Does nothing if the rightmost tab (leftmost tab when reverseLayout is true) is already the last tab.

See also:
canScrollForward

Definition at line 517 of file kotabbar.cpp.

References canScrollForward().

Referenced by KoTabBar().

void KoTabBar::setActiveTab const QString text  )  [slot]
 

Sets active tab.

Definition at line 572 of file kotabbar.cpp.

References tabChanged().

Referenced by setTabs().

void KoTabBar::clear  )  [slot]
 

Removes all tabs.

Definition at line 390 of file kotabbar.cpp.

void KoTabBar::tabChanged const QString _text  )  [signal]
 

Emitted if the active tab changed.

Referenced by setActiveTab().

void KoTabBar::tabMoved unsigned  tab,
unsigned  target
[signal]
 

This signal is emitted whenever a tab is dragged, moved and released.

This means that the user wants to move a tab into another position (right before target).

When the signal is emitted, the tabs are not reordered. Therefore if you just ignore this signal, than no tab reorder is possible. Call moveTab (from the slot connected to this signal) to perform the actual tab reorder.

void KoTabBar::contextMenu const QPoint pos  )  [signal]
 

This signal is emitted whenever the tab bar is right-clicked.

Typically it is used to popup a context menu.

void KoTabBar::doubleClicked  )  [signal]
 

This signal is emitted whenever the tab bar is double-clicked.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for lib Library Version 1.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Feb 13 09:41:23 2006 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003