ClientBar Class Reference

#include <clientbar.h>

Inherits Bar.

Inheritance diagram for ClientBar:

Inheritance graph
[legend]
Collaboration diagram for ClientBar:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Mode { PAGER, CLIENTINFO }

Public Member Functions

 ClientBar (Monitor *monitor, Rectangle *rect)
 ~ClientBar ()
virtual void illuminate ()
virtual void handleMotionNotify (XMotionEvent *event)
virtual void handleButtonPress (XButtonEvent *event)
virtual void handleButtonRelease (XButtonEvent *event)
void toggleMenuMode ()
void setMode (Mode mode)
Mode mode () const
Menumenu () const

Private Member Functions

void updateClientInfo ()
void updateClientPager ()
void updateModeButton ()
void updateMenuButton ()
void invokeClickedThing (int xPosition)

Private Attributes

bool isModeButtonPressed_
bool isMenuButtonPressed_
Mode mode_
Menumenu_

Detailed Description

Represents the floating app bar of NCWM.

Definition at line 17 of file clientbar.h.


Member Enumeration Documentation

enum ClientBar::Mode

Enumerator:
PAGER 
CLIENTINFO 

Definition at line 21 of file clientbar.h.


Constructor & Destructor Documentation

ClientBar::ClientBar ( Monitor monitor,
Rectangle rect 
)

Definition at line 26 of file clientbar.cpp.

References isMenuButtonPressed_, isModeButtonPressed_, menu_, mode_, Widget::monitor(), and PAGER.

Here is the call graph for this function:

ClientBar::~ClientBar (  ) 

Definition at line 34 of file clientbar.cpp.


Member Function Documentation

void ClientBar::illuminate (  )  [virtual]

Implements Bar.

Definition at line 37 of file clientbar.cpp.

References Theme::BAR_BACKGROUND, Theme::BAR_SHADOW, Theme::BAR_SHINE, Theme::BAR_TEXT, Bar::drawBorder(), Widget::isVisible(), Bar::label_, LOGDEBUG, mode_, PAGER, Label::setText(), Rectangle::setWidth(), Rectangle::setX(), Bar::theme_, Label::update(), updateClientInfo(), updateClientPager(), updateMenuButton(), updateModeButton(), and Rectangle::width().

Referenced by handleButtonRelease(), handleMotionNotify(), Client::handlePropertyNotify(), invokeClickedThing(), Actions::toggleClientBarMode(), toggleMenuMode(), and Monitor::updateBars().

Here is the call graph for this function:

void ClientBar::handleMotionNotify ( XMotionEvent *  event  )  [virtual]

Implements Bar.

Definition at line 283 of file clientbar.cpp.

References illuminate(), and isModeButtonPressed_.

Here is the call graph for this function:

void ClientBar::handleButtonPress ( XButtonEvent *  event  )  [virtual]

Implements Bar.

Definition at line 263 of file clientbar.cpp.

References Container< P, LT, LTI, T >::focused(), invokeClickedThing(), Widget::monitor(), Widget::window(), and XCORE.

Here is the call graph for this function:

void ClientBar::handleButtonRelease ( XButtonEvent *  event  )  [virtual]

Implements Bar.

Definition at line 230 of file clientbar.cpp.

References Container< P, LT, LTI, T >::focused(), illuminate(), Singleton< Validators >::instance(), isMenuButtonPressed_, isModeButtonPressed_, Widget::monitor(), toggleMenuMode(), Workspace::toggleMode(), Validators::validateToggleMode(), and Widget::window().

Here is the call graph for this function:

void ClientBar::toggleMenuMode (  ) 

Definition at line 251 of file clientbar.cpp.

References Menu::hide(), illuminate(), isMenuButtonPressed_, Widget::isVisible(), menu_, and Menu::show().

Referenced by Menu::escape(), and handleButtonRelease().

Here is the call graph for this function:

void ClientBar::setMode ( Mode  mode  ) 

Definition at line 342 of file clientbar.cpp.

References mode_.

Referenced by Actions::toggleClientBarMode().

ClientBar::Mode ClientBar::mode (  )  const

Definition at line 346 of file clientbar.cpp.

References mode_.

Referenced by Actions::toggleClientBarMode().

Menu * ClientBar::menu (  )  const

Definition at line 338 of file clientbar.cpp.

References menu_.

Referenced by Monitor::menuWindow().

void ClientBar::updateClientInfo (  )  [private]

Definition at line 204 of file clientbar.cpp.

References Monitor::buttonWidth(), Draw::drawStickyNotifier(), Container< P, LT, LTI, T >::focused(), Widget::gc(), Bar::isButtonVisible_, Bar::label_, Theme::LABEL_BACKGROUND_FOCUSSED, Theme::LABEL_SHADOW_FOCUSSED, Theme::LABEL_SHINE_FOCUSSED, Theme::LABEL_TEXT_FOCUSSED, Client::mode(), Widget::monitor(), Thing::name(), Label::setText(), Rectangle::setWidth(), Rectangle::setX(), Client::STICKY, Label::textWidth(), Bar::theme_, Workspace::topClient(), Label::update(), Rectangle::width(), and Widget::window().

Referenced by illuminate().

Here is the call graph for this function:

void ClientBar::updateClientPager (  )  [private]

Definition at line 63 of file clientbar.cpp.

References Container< P, LT, LTI, T >::begin(), Monitor::buttonWidth(), Draw::drawStickyNotifier(), Container< P, LT, LTI, T >::end(), Workspace::floatingClients(), Container< P, LT, LTI, T >::focused(), Theme::FOCUSREQ_BACKGROUND, Theme::FOCUSREQ_SHADOW, Theme::FOCUSREQ_SHINE, Theme::FOCUSREQ_TEXT, Widget::gc(), Bar::isButtonVisible_, Bar::label_, Widget::monitor(), Label::setText(), Rectangle::setWidth(), Rectangle::setX(), Container< P, LT, LTI, T >::size(), Client::STICKY, Theme::TAB_BACKGROUND_ACTIVE_FOCUSSED, Theme::TAB_BACKGROUND_ACTIVE_NORMAL, Theme::TAB_SHADOW_ACTIVE_FOCUSSED, Theme::TAB_SHADOW_ACTIVE_NORMAL, Theme::TAB_SHINE_ACTIVE_FOCUSSED, Theme::TAB_SHINE_ACTIVE_NORMAL, Theme::TAB_TEXT_ACTIVE_FOCUSSED, Theme::TAB_TEXT_ACTIVE_NORMAL, Label::textWidth(), Bar::theme_, Label::update(), Rectangle::width(), Widget::window(), and Rectangle::x().

Referenced by illuminate().

Here is the call graph for this function:

void ClientBar::updateModeButton (  )  [private]

Definition at line 148 of file clientbar.cpp.

References Theme::BUTTON_BACKGROUND_NORMAL, Theme::BUTTON_BACKGROUND_PRESSED, Theme::BUTTON_SHADOW_BORDER_NORMAL, Theme::BUTTON_SHADOW_BORDER_PRESSED, Theme::BUTTON_SHADOW_FIGURE_NORMAL, Theme::BUTTON_SHADOW_FIGURE_PRESSED, Theme::BUTTON_SHINE_BORDER_NORMAL, Theme::BUTTON_SHINE_BORDER_PRESSED, Theme::BUTTON_SHINE_FIGURE_NORMAL, Theme::BUTTON_SHINE_FIGURE_PRESSED, Draw::drawFloatButton(), Draw::drawMaxButton(), Workspace::floatingClients(), Container< P, LT, LTI, T >::focused(), Workspace::focusedFrame(), Widget::gc(), Bar::isButtonVisible_, Workspace::isFrameMode(), isModeButtonPressed_, Bar::label_, Widget::monitor(), Label::setText(), Rectangle::setWidth(), Rectangle::setX(), Container< P, LT, LTI, T >::size(), Bar::theme_, Rectangle::width(), and Widget::window().

Referenced by illuminate().

Here is the call graph for this function:

void ClientBar::updateMenuButton (  )  [private]

Definition at line 120 of file clientbar.cpp.

References Theme::BUTTON_BACKGROUND_NORMAL, Theme::BUTTON_BACKGROUND_PRESSED, Theme::BUTTON_SHADOW_BORDER_NORMAL, Theme::BUTTON_SHADOW_BORDER_PRESSED, Theme::BUTTON_SHADOW_FIGURE_NORMAL, Theme::BUTTON_SHADOW_FIGURE_PRESSED, Theme::BUTTON_SHINE_BORDER_NORMAL, Theme::BUTTON_SHINE_BORDER_PRESSED, Theme::BUTTON_SHINE_FIGURE_NORMAL, Theme::BUTTON_SHINE_FIGURE_PRESSED, Draw::drawMenuButton(), Widget::gc(), Bar::isButtonVisible_, isMenuButtonPressed_, Bar::label_, Widget::monitor(), Label::setText(), Rectangle::setWidth(), Rectangle::setX(), Bar::theme_, and Widget::window().

Referenced by illuminate().

Here is the call graph for this function:

void ClientBar::invokeClickedThing ( int  xPosition  )  [private]

Definition at line 291 of file clientbar.cpp.

References Container< P, LT, LTI, T >::begin(), Monitor::buttonWidth(), Container< P, LT, LTI, T >::end(), Workspace::floatingClients(), Workspace::focus(), Container< P, LT, LTI, T >::focused(), illuminate(), Bar::isButtonVisible_, isMenuButtonPressed_, isModeButtonPressed_, mode_, Widget::monitor(), PAGER, Container< P, LT, LTI, T >::size(), and Rectangle::width().

Referenced by handleButtonPress().

Here is the call graph for this function:


Member Data Documentation

bool ClientBar::isModeButtonPressed_ [private]

Definition at line 47 of file clientbar.h.

Referenced by ClientBar(), handleButtonRelease(), handleMotionNotify(), invokeClickedThing(), and updateModeButton().

bool ClientBar::isMenuButtonPressed_ [private]

Definition at line 48 of file clientbar.h.

Referenced by ClientBar(), handleButtonRelease(), invokeClickedThing(), toggleMenuMode(), and updateMenuButton().

Mode ClientBar::mode_ [private]

Definition at line 49 of file clientbar.h.

Referenced by ClientBar(), illuminate(), invokeClickedThing(), mode(), and setMode().

Menu* ClientBar::menu_ [private]

Definition at line 50 of file clientbar.h.

Referenced by ClientBar(), menu(), and toggleMenuMode().


The documentation for this class was generated from the following files:
Generated on Thu May 24 15:20:03 2007 for ncwm by  doxygen 1.5.1