tabbox.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef KWIN_TABBOX_H
00013 #define KWIN_TABBOX_H
00014
00015 #include <qframe.h>
00016 #include <qtimer.h>
00017 #include <qvaluelist.h>
00018 #include "utils.h"
00019
00020 class QLabel;
00021
00022 namespace KWinInternal
00023 {
00024
00025 class Workspace;
00026 class Client;
00027
00028 class TabBox : public QFrame
00029 {
00030 Q_OBJECT
00031 public:
00032 TabBox( Workspace *ws, const char *name=0 );
00033 ~TabBox();
00034
00035 Client* currentClient();
00036 int currentDesktop();
00037
00038
00039
00040
00041 enum Mode { DesktopMode, DesktopListMode, WindowsMode };
00042 void setMode( Mode mode );
00043 Mode mode() const;
00044
00045 void reset();
00046 void nextPrev( bool next = TRUE);
00047
00048 void delayedShow();
00049 void hide();
00050
00051 void handleMouseEvent( XEvent* );
00052
00053 Workspace* workspace() const;
00054
00055 void reconfigure();
00056
00057 protected:
00058 void showEvent( QShowEvent* );
00059 void hideEvent( QHideEvent* );
00060 void drawContents( QPainter * );
00061
00062 private:
00063 void createClientList(ClientList &list, int desktop , Client *start, bool chain);
00064
00065 private:
00066 Client* client;
00067 Mode m;
00068 Workspace* wspace;
00069 ClientList clients;
00070 int desk;
00071 int lineHeight;
00072 bool showMiniIcon;
00073 QTimer delayedShowTimer;
00074 QString no_tasks;
00075 bool options_traverse_all;
00076 };
00077
00078
00082 inline Workspace* TabBox::workspace() const
00083 {
00084 return wspace;
00085 }
00086
00092 inline TabBox::Mode TabBox::mode() const
00093 {
00094 return m;
00095 }
00096
00097 }
00098
00099 #endif
This file is part of the documentation for kwin Library Version 3.3.2.