cxWidgets 1.0
Classes | Namespaces | Macros | Typedefs
cxWindow.h File Reference
#include "cxObject.h"
#include "cxPositions.h"
#include "cxReturnCodes.h"
#include "cxBorderStyles.h"
#include "cxMiscDefines.h"
#include "cxFunction.h"
#include "cxWidgetItems.h"
#include <unistd.h>
#include <sstream>
#include <iostream>
#include <fstream>
#include <vector>
#include <set>
#include <map>
#include <list>
#include <deque>
#include <utility>
#include <memory>
Include dependency graph for cxWindow.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cx::cxWindow
 Represents a text-based window on the screen. Can contain a title, status, and a message to appear within the window. A cxWindow can have a border or be borderless. A cxWindow may also have a parent and may also have subwindows. When setting up a cxWindow to have a parent, it will tell the parent to also add the window as one of its subwindows. Also, when a cxWindow is destroyed, it will be removed from its parent's subwindow list (if it has a parent); additionally, when a cxWindow is destroyed, it will orphan all of its subwindows (so they have no parent).
Note to authors deriving from cxWindow or a cxWindow-based class: In the destructor, if you do anything that would affect the screen, you should first check to see if cxWidgets is initialized (via a call to cxBase::cxInitialized()), or else the application may segfault. This might happen if someone writes a simple program using cxWidgets objects in their main() method. In that situation, cxBase::cleanup() would get called before the cxWidgets object destructors get called when the objects go out of scope.

The parent/child cxWindow relationship has the following effects:
More...
 

Namespaces

namespace  cx
 cxBorderChars.h - Defines border characters to be used in drawing a box (i.e., in cxWindow and all its derivitives)
 

Macros

#define BUTTON1_PRESSED   2
 
#define BUTTON1_RELEASED   1
 
#define BUTTON1_CLICKED   4
 
#define BUTTON1_DOUBLE_CLICKED   8
 
#define BUTTON1_TRIPLE_CLICKED   16
 
#define BUTTON2_PRESSED   128
 
#define BUTTON2_RELEASED   64
 
#define BUTTON2_CLICKED   256
 
#define BUTTON2_DOUBLE_CLICKED   512
 
#define BUTTON2_TRIPLE_CLICKED   1024
 
#define BUTTON3_PRESSED   8192
 
#define BUTTON3_RELEASED   4096
 
#define BUTTON3_CLICKED   16384
 
#define BUTTON3_DOUBLE_CLICKED   32768
 
#define BUTTON3_TRIPLE_CLICKED   65536
 
#define BUTTON4_PRESSED   524288
 
#define BUTTON4_RELEASED   262144
 
#define BUTTON4_CLICKED   1048576
 
#define BUTTON4_DOUBLE_CLICKED   2097152
 
#define BUTTON4_TRIPLE_CLICKED   4194304
 
#define DEFAULT_HEIGHT   24
 
#define DEFAULT_WIDTH   80
 

Typedefs

typedef std::vector< cxWindow * > cx::cxWindowPtrContainer
 
typedef std::deque< std::string > cx::messageLineContainer
 

Macro Definition Documentation

◆ BUTTON1_CLICKED

#define BUTTON1_CLICKED   4

◆ BUTTON1_DOUBLE_CLICKED

#define BUTTON1_DOUBLE_CLICKED   8

◆ BUTTON1_PRESSED

#define BUTTON1_PRESSED   2

◆ BUTTON1_RELEASED

#define BUTTON1_RELEASED   1

◆ BUTTON1_TRIPLE_CLICKED

#define BUTTON1_TRIPLE_CLICKED   16

◆ BUTTON2_CLICKED

#define BUTTON2_CLICKED   256

◆ BUTTON2_DOUBLE_CLICKED

#define BUTTON2_DOUBLE_CLICKED   512

◆ BUTTON2_PRESSED

#define BUTTON2_PRESSED   128

◆ BUTTON2_RELEASED

#define BUTTON2_RELEASED   64

◆ BUTTON2_TRIPLE_CLICKED

#define BUTTON2_TRIPLE_CLICKED   1024

◆ BUTTON3_CLICKED

#define BUTTON3_CLICKED   16384

◆ BUTTON3_DOUBLE_CLICKED

#define BUTTON3_DOUBLE_CLICKED   32768

◆ BUTTON3_PRESSED

#define BUTTON3_PRESSED   8192

◆ BUTTON3_RELEASED

#define BUTTON3_RELEASED   4096

◆ BUTTON3_TRIPLE_CLICKED

#define BUTTON3_TRIPLE_CLICKED   65536

◆ BUTTON4_CLICKED

#define BUTTON4_CLICKED   1048576

◆ BUTTON4_DOUBLE_CLICKED

#define BUTTON4_DOUBLE_CLICKED   2097152

◆ BUTTON4_PRESSED

#define BUTTON4_PRESSED   524288

◆ BUTTON4_RELEASED

#define BUTTON4_RELEASED   262144

◆ BUTTON4_TRIPLE_CLICKED

#define BUTTON4_TRIPLE_CLICKED   4194304

◆ DEFAULT_HEIGHT

#define DEFAULT_HEIGHT   24

◆ DEFAULT_WIDTH

#define DEFAULT_WIDTH   80