src/clientbar.h

Go to the documentation of this file.
00001 // Copyright (c) 2003 - 2004 Anselm R. Garbe <anselmg at t-online.de>
00002 // See ../LICENSE.txt for license details.
00003 //
00004 // $Id: clientbar.h 7 2007-05-24 11:03:53Z eg1981 $
00005 
00006 #ifndef __CLIENTBAR_H
00007 #define __CLIENTBAR_H
00008 
00009 #include "bar.h"
00010 
00011 class Menu;
00012 class Monitor;
00013 
00017 class ClientBar : public Bar {
00018 
00019 public:
00020 
00021     enum Mode {PAGER, CLIENTINFO};
00022 
00023     ClientBar(Monitor *monitor, Rectangle *rect);
00024 
00025     ~ClientBar();
00026 
00027     virtual void illuminate();
00028 
00029     virtual void handleMotionNotify(XMotionEvent *event);
00030     virtual void handleButtonPress(XButtonEvent *event);
00031     virtual void handleButtonRelease(XButtonEvent *event);
00032 
00033     void toggleMenuMode();
00034     void setMode(Mode mode);
00035     Mode mode() const;
00036 
00037     Menu *menu() const;
00038 
00039 private:
00040 
00041     void updateClientInfo();
00042     void updateClientPager();
00043     void updateModeButton();
00044     void updateMenuButton();
00045 
00046     void invokeClickedThing(int xPosition);
00047     bool isModeButtonPressed_;
00048     bool isMenuButtonPressed_;
00049     Mode mode_;
00050     Menu *menu_;
00051 };
00052 
00053 #endif // __CLIENTBAR_H

Generated on Thu May 24 15:19:31 2007 for ncwm by  doxygen 1.5.1