#include <clientbar.h>
Inherits Bar.
Inheritance diagram for ClientBar:
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 |
Menu * | menu () const |
Private Member Functions | |
void | updateClientInfo () |
void | updateClientPager () |
void | updateModeButton () |
void | updateMenuButton () |
void | invokeClickedThing (int xPosition) |
Private Attributes | |
bool | isModeButtonPressed_ |
bool | isMenuButtonPressed_ |
Mode | mode_ |
Menu * | menu_ |
Definition at line 17 of file clientbar.h.
enum ClientBar::Mode |
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.
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:
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] |