Frame Class Reference

#include <frame.h>

Inherits Thing, and Container< P, LT, LTI, T >< Workspace, list< Client * >, LClient::iterator, Client >.

Inheritance diagram for Frame:

Inheritance graph
[legend]
Collaboration diagram for Frame:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Frame (Workspace *workspace, Rectangle *rect)
 ~Frame ()
void focus (Client *client)
void attach (Client *client)
Clientdetach (Client *client)
virtual Window window ()
virtual void resize ()
virtual void illuminate ()
virtual bool isFocused ()
virtual void handleButtonPress (XButtonEvent *event)
virtual void handleButtonRelease (XButtonEvent *event)
virtual Cursor cursorForXY (int pointerX, int pointerY)
void matchClientSize (Client *client)
void setTree (Tree *t)
Treetree () const
void toggleTiled ()
void zoomClient ()

Private Attributes

bool isTiled_
Treetree_

Detailed Description

Represents a frame of NCWM. Frames are container for clients in non-overlapping configurations.

Definition at line 24 of file frame.h.


Constructor & Destructor Documentation

Frame::Frame ( Workspace workspace,
Rectangle rect 
)

Definition at line 29 of file frame.cpp.

References Util::get(), isTiled_, KERNEL, Workspace::nextFrameId(), and Thing::setName().

Here is the call graph for this function:

Frame::~Frame (  ) 

Definition at line 39 of file frame.cpp.


Member Function Documentation

void Frame::focus ( Client client  ) 

Definition at line 50 of file frame.cpp.

References Client::clientWindow(), Container< P, LT, LTI, T >::focus(), and XCORE.

Referenced by Workspace::focus().

Here is the call graph for this function:

void Frame::attach ( Client client  ) 

Definition at line 233 of file frame.cpp.

References Container< P, LT, LTI, T >::attach(), Container< P, LT, LTI, T >::childs(), Thing::clientAreaRect_, Rectangle::copy(), Client::frame(), Thing::isVisible(), LOGDEBUG, LOGWARN, Thing::prevRectangle(), Client::reparent(), resize(), Client::setFrame(), Client::show(), window(), Rectangle::x(), XCORE, and Rectangle::y().

Referenced by Workspace::joinFrame(), Workspace::sendClient(), and Workspace::swapClient().

Here is the call graph for this function:

Client * Frame::detach ( Client client  ) 

Definition at line 254 of file frame.cpp.

References Rectangle::copy(), Container< P, LT, LTI, T >::detach(), Client::hide(), Thing::isVisible(), LOGDEBUG, Thing::monitor(), Container< P, LT, LTI, T >::next(), Thing::prevRectangle(), Client::reparent(), resize(), Client::setFrame(), Container< P, LT, LTI, T >::size(), Rectangle::x(), XCORE, and Rectangle::y().

Referenced by Workspace::detachClient(), Workspace::joinFrame(), Workspace::sendClient(), Workspace::splitFrame(), and Workspace::swapClient().

Here is the call graph for this function:

Window Frame::window (  )  [virtual]

Implements Thing.

Definition at line 438 of file frame.cpp.

References Thing::frameWindow_.

Referenced by attach(), handleButtonPress(), and resize().

void Frame::resize (  )  [virtual]

Resizes all clients of this frame.

Implements Thing.

Definition at line 182 of file frame.cpp.

References Container< P, LT, LTI, T >::begin(), Thing::borderWidth_, Thing::clientAreaRect_, Container< P, LT, LTI, T >::end(), Thing::fitClientArea(), Util::get(), Rectangle::height(), illuminate(), isTiled_, KERNEL, Thing::label_, matchClientSize(), Rectangle::setY(), Container< P, LT, LTI, T >::size(), Util::strToUInt(), Rectangle::width(), window(), Rectangle::x(), XCORE, and Rectangle::y().

Referenced by Split::adjustSize(), Split::attach(), attach(), Split::detach(), detach(), toggleTiled(), and zoomClient().

Here is the call graph for this function:

void Frame::illuminate (  )  [virtual]

Illuminates this frame.

Implements Thing.

Definition at line 57 of file frame.cpp.

References Thing::areButtonsVisible_, Container< P, LT, LTI, T >::begin(), Thing::borderWidth_, Monitor::buttonWidth(), Draw::drawRectBorder(), Container< P, LT, LTI, T >::end(), Container< P, LT, LTI, T >::focused(), Theme::FOCUSREQ_BACKGROUND, Theme::FOCUSREQ_SHADOW, Theme::FOCUSREQ_SHINE, Theme::FOCUSREQ_TEXT, Thing::frameWindow_, Thing::gc_, Thing::illuminateBorder(), isFocused(), isTiled_, Thing::isVisible(), Thing::label_, Thing::monitor(), Thing::name(), Rectangle::setHeight(), Label::setText(), Rectangle::setWidth(), Rectangle::setX(), Rectangle::setY(), Container< P, LT, LTI, T >::size(), Theme::TAB_BACKGROUND_ACTIVE_FOCUSSED, Theme::TAB_BACKGROUND_ACTIVE_NORMAL, Theme::TAB_BACKGROUND_INACTIVE_FOCUSSED, Theme::TAB_BACKGROUND_INACTIVE_NORMAL, Theme::TAB_SHADOW_ACTIVE_FOCUSSED, Theme::TAB_SHADOW_ACTIVE_NORMAL, Theme::TAB_SHADOW_INACTIVE_FOCUSSED, Theme::TAB_SHADOW_INACTIVE_NORMAL, Theme::TAB_SHINE_ACTIVE_FOCUSSED, Theme::TAB_SHINE_ACTIVE_NORMAL, Theme::TAB_SHINE_INACTIVE_FOCUSSED, Theme::TAB_SHINE_INACTIVE_NORMAL, Theme::TAB_TEXT_ACTIVE_FOCUSSED, Theme::TAB_TEXT_ACTIVE_NORMAL, Theme::TAB_TEXT_INACTIVE_FOCUSSED, Theme::TAB_TEXT_INACTIVE_NORMAL, Thing::theme_, Theme::TILED_SHADOW_FOCUSSED, Theme::TILED_SHADOW_NORMAL, Theme::TILED_SHINE_FOCUSSED, Theme::TILED_SHINE_NORMAL, Thing::titleBarHeight_, Label::update(), Rectangle::width(), and Rectangle::x().

Referenced by handleButtonPress(), Client::illuminate(), resize(), and Workspace::swapClient().

Here is the call graph for this function:

bool Frame::isFocused (  )  [virtual]

Implements Thing.

Definition at line 42 of file frame.cpp.

References Container< P, LT, LTI, T >::attached(), and Container< P, LT, LTI, T >::focused().

Referenced by handleButtonPress(), illuminate(), and Client::isFocused().

Here is the call graph for this function:

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

Implements Thing.

Definition at line 276 of file frame.cpp.

References Thing::areButtonsVisible_, Container< P, LT, LTI, T >::attached(), Container< P, LT, LTI, T >::begin(), Thing::borderWidth_, Thing::buttonState_, Thing::CLOSE, Thing::cursor_, Thing::DEMAX, DOWN, Container< P, LT, LTI, T >::end(), Container< P, LT, LTI, T >::focused(), illuminate(), Singleton< Kernel >::instance(), isFocused(), LEFT, LOGDEBUG, Thing::MINCLIENT, Thing::monitor(), Split::neighbor(), Thing::NONE, Cursors::NORMAL_CURSOR, Cursors::RESIZE_DOWN_CURSOR, Cursors::RESIZE_LEFT_CURSOR, Cursors::RESIZE_RIGHT_CURSOR, Cursors::RESIZE_UP_CURSOR, RIGHT, Kernel::runResizeMode(), Container< P, LT, LTI, T >::size(), Thing::titleBarHeight_, tree_, UP, Rectangle::width(), window(), and XCORE.

Here is the call graph for this function:

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

Implements Thing.

Definition at line 369 of file frame.cpp.

References Container< P, LT, LTI, T >::attached(), Thing::buttonState_, Thing::CLOSE, Thing::DEMAX, Monitor::detachClient(), Container< P, LT, LTI, T >::focused(), Thing::MINCLIENT, Thing::monitor(), Thing::NONE, Thing::titleBarHeight_, Monitor::toggleThingMaximization(), and XCORE.

Here is the call graph for this function:

Cursor Frame::cursorForXY ( int  pointerX,
int  pointerY 
) [virtual]

Implements Thing.

Definition at line 395 of file frame.cpp.

References Container< P, LT, LTI, T >::attached(), Thing::borderWidth_, Thing::clientAreaRect_, DOWN, Rectangle::height(), LEFT, Split::neighbor(), Cursors::NORMAL_CURSOR, Cursors::RESIZE_DOWN_CURSOR, Cursors::RESIZE_LEFT_CURSOR, Cursors::RESIZE_RIGHT_CURSOR, Cursors::RESIZE_UP_CURSOR, RIGHT, Thing::titleBarHeight_, tree_, UP, Rectangle::width(), Rectangle::x(), and Rectangle::y().

Here is the call graph for this function:

void Frame::matchClientSize ( Client client  ) 

Matches client size.

Definition at line 227 of file frame.cpp.

References Thing::clientAreaRect_, Rectangle::copy(), and Client::resize().

Referenced by resize().

Here is the call graph for this function:

void Frame::setTree ( Tree t  ) 

Definition at line 434 of file frame.cpp.

References tree_.

Referenced by Tree::setFrame(), and Workspace::swapFrame().

Tree * Frame::tree (  )  const

Definition at line 430 of file frame.cpp.

References tree_.

Referenced by Workspace::attachFrame(), Workspace::destroyFrame(), Workspace::recentVisitedFrame(), and Workspace::swapFrame().

void Frame::toggleTiled (  ) 

Definition at line 442 of file frame.cpp.

References isTiled_, and resize().

Referenced by Actions::toggleTiled().

Here is the call graph for this function:

void Frame::zoomClient (  ) 

Definition at line 447 of file frame.cpp.

References Container< P, LT, LTI, T >::attached(), Container< P, LT, LTI, T >::begin(), Container< P, LT, LTI, T >::childs(), Container< P, LT, LTI, T >::focused(), Container< P, LT, LTI, T >::next(), resize(), and Container< P, LT, LTI, T >::size().

Referenced by Actions::zoomClient().

Here is the call graph for this function:


Member Data Documentation

bool Frame::isTiled_ [private]

Definition at line 67 of file frame.h.

Referenced by Frame(), illuminate(), resize(), and toggleTiled().

Tree* Frame::tree_ [private]

Definition at line 68 of file frame.h.

Referenced by cursorForXY(), handleButtonPress(), setTree(), and tree().


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