diff options
author | Timothy Pearson <[email protected]> | 2011-11-07 21:50:33 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2011-11-07 21:50:33 -0600 |
commit | 0b6057404f65218182ab27a9483a21065ef61fca (patch) | |
tree | b8b06dfa2deb965bebfbe131a772124e3e693a96 /twin/tabbox.h | |
parent | 43d99cc2477266cb9072e179137f0e8485370b3d (diff) | |
download | tdebase-0b6057404f65218182ab27a9483a21065ef61fca.tar.gz tdebase-0b6057404f65218182ab27a9483a21065ef61fca.zip |
Rename kwin to twin (Part 2 of 2)
Diffstat (limited to 'twin/tabbox.h')
-rw-r--r-- | twin/tabbox.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/twin/tabbox.h b/twin/tabbox.h new file mode 100644 index 000000000..d77633125 --- /dev/null +++ b/twin/tabbox.h @@ -0,0 +1,102 @@ +/***************************************************************** + KWin - the KDE window manager + This file is part of the KDE project. + +Copyright (C) 1999, 2000 Matthias Ettrich <[email protected]> +Copyright (C) 2003 Lubos Lunak <[email protected]> + +You can Freely distribute this program under the GNU General Public +License. See the file "COPYING" for the exact licensing terms. +******************************************************************/ + +#ifndef KWIN_TABBOX_H +#define KWIN_TABBOX_H + +#include <tqframe.h> +#include <tqtimer.h> +#include <tqvaluelist.h> +#include "utils.h" + +class TQLabel; + +namespace KWinInternal +{ + +class Workspace; +class Client; + +class TabBox : public TQFrame + { + Q_OBJECT + public: + TabBox( Workspace *ws, const char *name=0 ); + ~TabBox(); + + Client* currentClient(); + void setCurrentClient( Client* c ); + int currentDesktop(); + + // DesktopMode and WindowsMode are based on the order in which the desktop + // or window were viewed. + // DesktopListMode lists them in the order created. + enum Mode { DesktopMode, DesktopListMode, WindowsMode }; + void setMode( Mode mode ); + Mode mode() const; + + void reset(); + void nextPrev( bool next = TRUE); + + void delayedShow(); + void hide(); + + void handleMouseEvent( XEvent* ); + + Workspace* workspace() const; + + void reconfigure(); + + protected: + void showEvent( TQShowEvent* ); + void hideEvent( TQHideEvent* ); + void drawContents( TQPainter * ); + + private: + void createClientList(ClientList &list, int desktop /*-1 = all*/, Client *start, bool chain); + void updateOutline(); + + private: + Client* current_client; + Mode m; + Workspace* wspace; + ClientList clients; + int desk; + int lineHeight; + bool showMiniIcon; + TQTimer delayedShowTimer; + TQString no_tasks; + bool options_traverse_all; + Window outline_left, outline_right, outline_top, outline_bottom; + }; + + +/*! + Returns the tab box' workspace + */ +inline Workspace* TabBox::workspace() const + { + return wspace; + } + +/*! + Returns the current mode, either DesktopListMode or WindowsMode + + \sa setMode() + */ +inline TabBox::Mode TabBox::mode() const + { + return m; + } + +} // namespace + +#endif |