Main Page | Class List | File List | Class Members | File Members | Related Pages

Frame Class Reference

#include <frame.h>

Collaboration diagram for Frame:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Frame (Handler *, border *, bool)

Private Attributes

HandlerParent
borderBorder
bool smallFrame
QRect clientGeometry

Detailed Description

This class is responsible for the decoration of the client window. As this is only the beginning of development, I'll start with some simple shapes for the borders - actually QFrames. Additionally I will provide three simple buttons: iconify, maximize and close. These are QToolButtons, showing a fixed pixmap. This will be enough for a start, providing the abilities to move the window around as well as resize it. The more advanced styles of decoration, such as children friendly rounded corners and real baroque decorations will have to wait until the basic funcionality isimplemented.


Constructor & Destructor Documentation

Frame::Frame Handler parent,
border b,
bool  s
 

The constructor creates at least a titlebar, which may be small for some windows. The titlebar also contains buttons as may be useful to the client. You may use the titlebar to move the window around with the left mouse button held down.
The left and right borders may be of width zero, in this case they are not drawn at all. If present, they are also used as grips for horizontal only resizing. The bottom border - if any - consists of three parts: The middle, which may be used for vertical only resizing, and the left and right grip, which will be used for resizing in both dimensions. So much for now. There will be more, however:

Todo:
use the mousewheel on the titlebar to resize vertically

add buttons to maximize horizontally or vertically only


Member Data Documentation

border* Frame::Border [private]
 

QRect Frame::clientGeometry [private]
 

Handler* Frame::Parent [private]
 

bool Frame::smallFrame [private]
 


The documentation for this class was generated from the following files:
Go back to rwm - the window manager's - Home page.
created 13 Jun 2005 for rwm 0.2 by Rolf C. Rönnau using doxygen 1.4.2