Split Class Reference

#include <split.h>

List of all members.

Static Public Member Functions

static void resize (Tree *root, Tree *origin, Direction dir, int stepW, int stepH)
static Treeneighbor (Tree *root, Tree *origin, Direction dir)
static bool isNeighbor (Tree *origin, Tree *target, Direction dir)
static void adjustSize (Tree *tree, bool ignoreVert)
static void detach (Tree *root, Tree *origin)
static FramefirstLeaf (Tree *tree)
static void attach (Tree *root, Frame *frame, Direction dir)

Static Private Member Functions

static int distance (Tree *origin, Tree *target)
static TreetopMostRoot (Tree *first, Tree *last)


Detailed Description

This class contains all necessary splitting algorithm for managing windows in a non-overlapping manner.

Definition at line 18 of file split.h.


Member Function Documentation

void Split::resize ( Tree root,
Tree origin,
Direction  dir,
int  stepW,
int  stepH 
) [static]

Definition at line 63 of file split.cpp.

References adjustSize(), DOWN, Tree::first(), Tree::frame(), Rectangle::height(), Tree::last(), LEFT, neighbor(), Tree::parent(), RIGHT, Rectangle::setHeight(), Rectangle::setWidth(), Rectangle::setX(), Rectangle::setY(), topMostRoot(), UP, Rectangle::width(), Rectangle::x(), and Rectangle::y().

Referenced by Workspace::resizeFrame(), and Kernel::runResizeMode().

Here is the call graph for this function:

Tree * Split::neighbor ( Tree root,
Tree origin,
Direction  dir 
) [static]

Definition at line 188 of file split.cpp.

References distance(), Tree::first(), isNeighbor(), and Tree::last().

Referenced by Frame::cursorForXY(), Frame::handleButtonPress(), Workspace::neighborTree(), and resize().

Here is the call graph for this function:

bool Split::isNeighbor ( Tree origin,
Tree target,
Direction  dir 
) [static]

Definition at line 167 of file split.cpp.

References DOWN, Rectangle::height(), LEFT, RIGHT, UP, Rectangle::width(), Rectangle::x(), and Rectangle::y().

Referenced by neighbor(), and Workspace::recentVisitedFrame().

Here is the call graph for this function:

void Split::adjustSize ( Tree tree,
bool  ignoreVert 
) [static]

Definition at line 230 of file split.cpp.

References Rectangle::copy(), Tree::first(), Tree::frame(), Rectangle::height(), Tree::isHoriz(), Tree::last(), Frame::resize(), Rectangle::setHeight(), Rectangle::setWidth(), Rectangle::setX(), Rectangle::setY(), Rectangle::width(), Rectangle::x(), and Rectangle::y().

Referenced by detach(), Workspace::matchBarNeighbors(), resize(), and Workspace::swapFrame().

Here is the call graph for this function:

void Split::detach ( Tree root,
Tree origin 
) [static]

Definition at line 280 of file split.cpp.

References adjustSize(), Tree::first(), Tree::frame(), Tree::isHoriz(), Tree::last(), Tree::parent(), Frame::resize(), Tree::setChilds(), Tree::setFrame(), and Tree::setHoriz().

Referenced by Workspace::destroyFrame().

Here is the call graph for this function:

Frame * Split::firstLeaf ( Tree tree  )  [static]

Definition at line 312 of file split.cpp.

References Tree::first(), Tree::frame(), and Tree::last().

Referenced by Workspace::nextFrame().

Here is the call graph for this function:

void Split::attach ( Tree root,
Frame frame,
Direction  dir 
) [static]

Definition at line 332 of file split.cpp.

References Rectangle::copy(), Tree::first(), Tree::frame(), Rectangle::height(), LEFT, Frame::resize(), RIGHT, Tree::setChilds(), Tree::setFrame(), Rectangle::setHeight(), Tree::setHoriz(), Rectangle::setWidth(), Rectangle::setX(), Rectangle::setY(), UP, Rectangle::width(), Rectangle::x(), and Rectangle::y().

Referenced by Workspace::attachFrame().

Here is the call graph for this function:

int Split::distance ( Tree origin,
Tree target 
) [static, private]

Helper for neighbor stuff.

Definition at line 156 of file split.cpp.

References Rectangle::height(), Rectangle::width(), Rectangle::x(), and Rectangle::y().

Referenced by neighbor().

Here is the call graph for this function:

Tree * Split::topMostRoot ( Tree first,
Tree last 
) [static, private]

Helper for resize stuff.

Definition at line 20 of file split.cpp.

References Tree::parent(), Tree::setVisit(), and Tree::visits().

Referenced by resize().

Here is the call graph for this function:


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