Base Framework
Public Types | Public Member Functions | List of all members
Split Class Reference

Split widget. More...

#include <base/ui/Split.h>

Inherits Widget.

Public Types

enum  { WIDGET_FLAG = 1, VERTICAL_SPLIT = WIDGET_FLAG, HORIZONTAL_SPLIT = VERTICAL_SPLIT << 1, FIXED_SPLIT }
 
enum  Field { FIRST, SECOND, RELATIVE }
 
- Public Types inherited from GraphicsContext
enum  SystemColor {
  WINDOW_BACKGROUND, WINDOW_FRAME, WINDOW_TEXT, MENU,
  MENU_TEXT, BUTTON_TEXT, DISABLED_TEXT, HIGHLIGHTED_TEXT
}
 
enum  PenStyle {
  NONE, SOLID, DASH, DOT,
  DASH_DOT, DASH_DOT_DOT
}
 
enum  FontFlags { ITALIC = 1, UNDERLINE = 2, STRIKE_OUT = 4 }
 
enum  FontWeight {
  THIN, LIGHT, NORMAL, BOLD,
  HEAVY
}
 
enum  GraphicsFlag { FILLED = 1 }
 
- Public Types inherited from WindowImpl
enum  DisplayMode {
  MODE_WINDOW, MODE_FULL_SCREEN, MODE_WINDOW, MODE_FULL_SCREEN,
  MODE_WINDOW, MODE_FULL_SCREEN
}
 
enum  Cursor {
  INHERIT, NONE, WORKING_IN_BACKGROUND, ARROW,
  CROSSHAIR, HAND, HELP, NO,
  MOVING, NORTHEAST_SOUTHWEST, NORTH_SOUTH, NORTHWEST_SOUTHEAST,
  WEST_EAST, VERTICAL_ARROW, WAITING, INHERIT,
  NONE, WORKING_IN_BACKGROUND, ARROW, CROSSHAIR,
  HAND, HELP, NO, MOVING,
  NORTHEAST_SOUTHWEST, NORTH_SOUTH, NORTHWEST_SOUTHEAST, WEST_EAST,
  VERTICAL_ARROW, WAITING, INHERIT, NONE,
  WORKING_IN_BACKGROUND, ARROW, CROSSHAIR, HAND,
  HELP, NO, MOVING, NORTHEAST_SOUTHWEST,
  NORTH_SOUTH, NORTHWEST_SOUTHEAST, WEST_EAST, VERTICAL_ARROW,
  WAITING
}
 
enum  Visibility {
  INVISIBLE, OBSCURED, VISIBLE, INVISIBLE,
  OBSCURED, VISIBLE, INVISIBLE, OBSCURED,
  VISIBLE
}
 
enum  Flag {
  AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1, AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1,
  AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1
}
 
enum  Focus {
  LOST_FOCUS, ACQUIRED_FOCUS, LOST_FOCUS, ACQUIRED_FOCUS,
  LOST_FOCUS, ACQUIRED_FOCUS
}
 
enum  Binding {
  UPPER_LEFT, UPPER_CENTER, UPPER_RIGHT, MIDDLE_LEFT,
  MIDDLE_CENTER, MIDDLE_RIGHT, LOWER_LEFT, LOWER_CENTER,
  LOWER_RIGHT, UPPER_LEFT, UPPER_CENTER, UPPER_RIGHT,
  MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, LOWER_LEFT,
  LOWER_CENTER, LOWER_RIGHT, UPPER_LEFT, UPPER_CENTER,
  UPPER_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT,
  LOWER_LEFT, LOWER_CENTER, LOWER_RIGHT
}
 
enum  DisplayMode {
  MODE_WINDOW, MODE_FULL_SCREEN, MODE_WINDOW, MODE_FULL_SCREEN,
  MODE_WINDOW, MODE_FULL_SCREEN
}
 
enum  Cursor {
  INHERIT, NONE, WORKING_IN_BACKGROUND, ARROW,
  CROSSHAIR, HAND, HELP, NO,
  MOVING, NORTHEAST_SOUTHWEST, NORTH_SOUTH, NORTHWEST_SOUTHEAST,
  WEST_EAST, VERTICAL_ARROW, WAITING, INHERIT,
  NONE, WORKING_IN_BACKGROUND, ARROW, CROSSHAIR,
  HAND, HELP, NO, MOVING,
  NORTHEAST_SOUTHWEST, NORTH_SOUTH, NORTHWEST_SOUTHEAST, WEST_EAST,
  VERTICAL_ARROW, WAITING, INHERIT, NONE,
  WORKING_IN_BACKGROUND, ARROW, CROSSHAIR, HAND,
  HELP, NO, MOVING, NORTHEAST_SOUTHWEST,
  NORTH_SOUTH, NORTHWEST_SOUTHEAST, WEST_EAST, VERTICAL_ARROW,
  WAITING
}
 
enum  Visibility {
  INVISIBLE, OBSCURED, VISIBLE, INVISIBLE,
  OBSCURED, VISIBLE, INVISIBLE, OBSCURED,
  VISIBLE
}
 
enum  Flag {
  AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1, AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1,
  AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1
}
 
enum  Focus {
  LOST_FOCUS, ACQUIRED_FOCUS, LOST_FOCUS, ACQUIRED_FOCUS,
  LOST_FOCUS, ACQUIRED_FOCUS
}
 
enum  Binding {
  UPPER_LEFT, UPPER_CENTER, UPPER_RIGHT, MIDDLE_LEFT,
  MIDDLE_CENTER, MIDDLE_RIGHT, LOWER_LEFT, LOWER_CENTER,
  LOWER_RIGHT, UPPER_LEFT, UPPER_CENTER, UPPER_RIGHT,
  MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, LOWER_LEFT,
  LOWER_CENTER, LOWER_RIGHT, UPPER_LEFT, UPPER_CENTER,
  UPPER_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT,
  LOWER_LEFT, LOWER_CENTER, LOWER_RIGHT
}
 
enum  DisplayMode {
  MODE_WINDOW, MODE_FULL_SCREEN, MODE_WINDOW, MODE_FULL_SCREEN,
  MODE_WINDOW, MODE_FULL_SCREEN
}
 
enum  Cursor {
  INHERIT, NONE, WORKING_IN_BACKGROUND, ARROW,
  CROSSHAIR, HAND, HELP, NO,
  MOVING, NORTHEAST_SOUTHWEST, NORTH_SOUTH, NORTHWEST_SOUTHEAST,
  WEST_EAST, VERTICAL_ARROW, WAITING, INHERIT,
  NONE, WORKING_IN_BACKGROUND, ARROW, CROSSHAIR,
  HAND, HELP, NO, MOVING,
  NORTHEAST_SOUTHWEST, NORTH_SOUTH, NORTHWEST_SOUTHEAST, WEST_EAST,
  VERTICAL_ARROW, WAITING, INHERIT, NONE,
  WORKING_IN_BACKGROUND, ARROW, CROSSHAIR, HAND,
  HELP, NO, MOVING, NORTHEAST_SOUTHWEST,
  NORTH_SOUTH, NORTHWEST_SOUTHEAST, WEST_EAST, VERTICAL_ARROW,
  WAITING
}
 
enum  Visibility {
  INVISIBLE, OBSCURED, VISIBLE, INVISIBLE,
  OBSCURED, VISIBLE, INVISIBLE, OBSCURED,
  VISIBLE
}
 
enum  Flag {
  AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1, AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1,
  AUTO_CLEAR = 1 << 0, FIXED_SIZE = 1 << 1
}
 
enum  Focus {
  LOST_FOCUS, ACQUIRED_FOCUS, LOST_FOCUS, ACQUIRED_FOCUS,
  LOST_FOCUS, ACQUIRED_FOCUS
}
 
enum  Binding {
  UPPER_LEFT, UPPER_CENTER, UPPER_RIGHT, MIDDLE_LEFT,
  MIDDLE_CENTER, MIDDLE_RIGHT, LOWER_LEFT, LOWER_CENTER,
  LOWER_RIGHT, UPPER_LEFT, UPPER_CENTER, UPPER_RIGHT,
  MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, LOWER_LEFT,
  LOWER_CENTER, LOWER_RIGHT, UPPER_LEFT, UPPER_CENTER,
  UPPER_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT,
  LOWER_LEFT, LOWER_CENTER, LOWER_RIGHT
}
 

Public Member Functions

 Split (Window &owner)
 
bool isVerticalSplit () const noexcept
 
bool isHorizontalSplit () const noexcept
 
bool getFixed () const noexcept
 
void setFixed (bool fixed) noexcept
 
unsigned int getOffset (Field field) noexcept
 
void setOffset (int offset, Field field) noexcept
 
unsigned int getSplitWidth () noexcept
 
void setWidthOfSplit (unsigned int width) noexcept
 
void onResize (const Dimension &dimension) noexcept
 
void onMouseScope (bool scope) noexcept
 
void onMouseMove (const Position &position, unsigned int state) noexcept
 
void onMouseButton (const Position &position, Mouse::Button button, Mouse::Event event, unsigned int state) noexcept
 
void onKey (unsigned int key, unsigned int flags, unsigned int modifiers) noexcept
 
void onDisplay () noexcept
 
 ~Split () noexcept
 
- Public Member Functions inherited from Widget
 Widget (Window &owner)
 
 ~Widget () noexcept
 
- Public Member Functions inherited from GraphicsContext
 GraphicsContext ()
 
 GraphicsContext (const Position &position, const Dimension &dimension, unsigned int flags)
 
const PengetPen () const noexcept
 
void setPen (Pen pen)
 
const BrushgetBrush () const noexcept
 
void setBrush (Brush brush)
 
const FontgetFont () const noexcept
 
void setFont (Font font)
 
void setBackgroundMode (bool transparent)
 
void setBackgroundColor (Color color)
 
void setTextColor (Color color)
 
void setTextAlignment (unsigned int alignment)
 
void clear ()
 
void clear (const Position &position, const Dimension &dimension)
 
void setPixel (const Position &position, Color color, unsigned int flags=0)
 
Color getPixel (const Position &position)
 
void setPixels (const Array< Position > &positions, Color color, unsigned int flags=0)
 
void moveTo (const Position &position)
 
void lineTo (const Position &position, unsigned int flags=0)
 
void line (const Position &upperLeft, const Position &lowerRight, unsigned int flags=0)
 
void arc (const Position &position, const Dimension &dimension, int start, int stop, unsigned int flags=0)
 
void rectangle (const Position &upperLeft, const Position &b, unsigned int flags=0)
 
void rectangle (const Position &position, const Dimension &dimension, unsigned int flags=0)
 
void rectangle (const Position &upperLeft, const Position &lowerRight, Brush brush, unsigned int flags=0)
 
void rectangle (const Position &position, const Dimension &dimension, Brush brush, unsigned int flags=0)
 
void ellipse (const Position &upperLeft, const Position &lowerRight, unsigned int flags=0)
 
void ellipse (const Position &position, const Dimension &dimension, unsigned int flags=0)
 
void circle (const Position &position, unsigned int dimension, unsigned int flags=0)
 
void pie (const Position &upperLeft, const Position &lowerRight, const Position &radialA, const Position &radialB, unsigned int flags)
 
unsigned int getWidthOf (char ch) const
 
Dimension getDimensionOf (const String &text) const
 
void text (const Position &position, const Dimension &dimension, const String &text, unsigned int flags=0)
 
void putBitmap (const Position &position, const Dimension &dimension, const Bitmap &bitmap)
 
Bitmap getBitmap (const Position &position, const Dimension &dimension)
 
 ~GraphicsContext () noexcept
 
- Public Member Functions inherited from WindowImpl
 WindowImpl ()
 
 WindowImpl (const Position &position, const Dimension &dimension, unsigned int flags)
 
Position getBindingOffset (Binding binding) const noexcept
 
void flush ()
 
void invalidate ()
 
String getServerVendor () const
 
unsigned int getServerRelease () const
 
unsigned int getFlags () const
 
void displayMenu (const Position &position, const Menu &menu)
 
bool getAutorepeat () const
 
void setAutorepeat (bool autorepeat)
 
String getTitle () const
 
void setTitle (const String &title)
 
String getIconTitle () const
 
void setIconTitle (const String &title)
 
Position getPosition () const
 
void setPosition (const Position &position)
 
Dimension getDimension () const
 
void setDimension (const Dimension &dimension)
 
void setRegion (const Position &position, const Dimension &dimension)
 
void setMinimumSize (const Dimension &dimension)
 
void setMaximumSize (const Dimension &dimension)
 
Cursor getCursor () const noexcept
 
void setCursor (Cursor cursor)
 
Position toGlobalPosition (const Position &position) const
 
Position getCursorPosition () const
 
void setCursorPosition (const Position &position)
 
void releaseCursorConfinement ()
 
void setCursorConfinement ()
 
void setCursorConfinement (const Position &position, const Dimension &dimension)
 
void disableClipping ()
 
Region getClipping () const
 
void setClipping (const Position &position, const Dimension &dimension)
 
void close ()
 
bool isChildOf (const WindowImpl &object)
 
bool isParentOf (const WindowImpl &object)
 
bool isMaximized ()
 
bool isMinimized ()
 
void maximize ()
 
void minimize ()
 
void normalize ()
 
bool isVisible () const noexcept
 
Visibility getVisibility () const noexcept
 
void show ()
 
void hide ()
 
bool isEnabled () const noexcept
 
void enable ()
 
void disable ()
 
void raise ()
 
void acquireFocus ()
 
bool getCapture () const
 
void setCapture (bool state)
 
DisplayMode getDisplayMode () const
 
void setDisplayMode (DisplayMode displayMode)
 
unsigned int getKeyState (unsigned int code) const
 
unsigned int getModifiers () const
 
virtual void onDestruction () noexcept
 
virtual void onMove (const Position &position) noexcept
 
virtual void onMouseButton (const Position &position, Mouse::Button button, Mouse::Event event, unsigned int state) noexcept
 
virtual void onMouseWheel (const Position &position, int delta, unsigned int buttons) noexcept
 
virtual void onIdle () noexcept
 
virtual bool onClose () noexcept
 
virtual void onVisibility (Visibility visibility) noexcept
 
virtual void onFocus (Focus focus) noexcept
 
virtual void onMenu (unsigned int identifier) noexcept
 
virtual void onCommand (unsigned int identifier) noexcept
 
void update ()
 
void wait ()
 
bool wait (unsigned int milliseconds)
 
bool openDispatch ()
 
bool hasMouse () noexcept
 
unsigned int getMouseButtons () noexcept
 
unsigned int getNumberOfMonitors () noexcept
 
Dimension getDisplayDimension () noexcept
 
bool isResponding (unsigned int milliseconds)
 
virtual ~WindowImpl () noexcept
 
 WindowImpl ()
 
 WindowImpl (const Position &position, const Dimension &dimension, unsigned int flags)
 
Position getBindingOffset (Binding binding) const noexcept
 
void flush ()
 
void invalidate ()
 
String getServerVendor () const
 
unsigned int getServerRelease () const
 
unsigned int getFlags () const
 
void displayMenu (const Position &position, const Menu &menu)
 
bool getAutorepeat () const
 
void setAutorepeat (bool autorepeat)
 
String getTitle () const
 
void setTitle (const String &title)
 
String getIconTitle () const
 
void setIconTitle (const String &title)
 
Position getPosition () const
 
void setPosition (const Position &position)
 
Dimension getDimension () const
 
void setDimension (const Dimension &dimension)
 
void setRegion (const Position &position, const Dimension &dimension)
 
void setMinimumSize (const Dimension &dimension)
 
void setMaximumSize (const Dimension &dimension)
 
Cursor getCursor () const noexcept
 
void setCursor (Cursor cursor)
 
Position toGlobalPosition (const Position &position) const
 
Position getCursorPosition () const
 
void setCursorPosition (const Position &position)
 
void releaseCursorConfinement ()
 
void setCursorConfinement ()
 
void setCursorConfinement (const Position &position, const Dimension &dimension)
 
void disableClipping ()
 
Region getClipping () const
 
void setClipping (const Position &position, const Dimension &dimension)
 
void close ()
 
bool isChildOf (const WindowImpl &object)
 
bool isParentOf (const WindowImpl &object)
 
bool isMaximized ()
 
bool isMinimized ()
 
void maximize ()
 
void minimize ()
 
void normalize ()
 
bool isVisible () const noexcept
 
Visibility getVisibility () const noexcept
 
void show ()
 
void hide ()
 
bool isEnabled () const noexcept
 
void enable ()
 
void disable ()
 
void raise ()
 
void acquireFocus ()
 
bool getCapture () const
 
void setCapture (bool state)
 
DisplayMode getDisplayMode () const
 
void setDisplayMode (DisplayMode displayMode)
 
unsigned int getKeyState (unsigned int code) const
 
unsigned int getModifiers () const
 
virtual void onDestruction () noexcept
 
virtual void onMove (const Position &position) noexcept
 
virtual void onMouseButton (const Position &position, Mouse::Button button, Mouse::Event event, unsigned int state) noexcept
 
virtual void onMouseWheel (const Position &position, int delta, unsigned int buttons) noexcept
 
virtual void onIdle () noexcept
 
virtual bool onClose () noexcept
 
virtual void onVisibility (Visibility visibility) noexcept
 
virtual void onFocus (Focus focus) noexcept
 
virtual void onMenu (unsigned int identifier) noexcept
 
virtual void onCommand (unsigned int identifier) noexcept
 
void update ()
 
void wait ()
 
bool wait (unsigned int milliseconds)
 
bool openDispatch ()
 
bool hasMouse () noexcept
 
unsigned int getMouseButtons () noexcept
 
unsigned int getNumberOfMonitors () noexcept
 
Dimension getDisplayDimension () noexcept
 
bool isResponding (unsigned int milliseconds)
 
virtual ~WindowImpl () noexcept
 
 WindowImpl ()
 
 WindowImpl (const Position &position, const Dimension &dimension, unsigned int flags)
 
Position getLocalBindingOffset (Binding binding) const noexcept
 
Position getBindingOffset (Binding binding) const noexcept
 
void flush ()
 
void invalidate ()
 
String getServerVendor () const
 
unsigned int getServerRelease () const
 
unsigned int getFlags () const
 
void displayMenu (const Position &position, const Menu &menu)
 
bool getAutorepeat () const
 
void setAutorepeat (bool autorepeat)
 
String getTitle () const
 
void setTitle (const String &title)
 
String getIconTitle () const
 
void setIconTitle (const String &title)
 
Position getPosition () const
 
void setPosition (const Position &position)
 
Dimension getDimension () const
 
void setDimension (const Dimension &dimension)
 
void setRegion (const Position &position, const Dimension &dimension)
 
void setMinimumSize (const Dimension &dimension)
 
void setMaximumSize (const Dimension &dimension)
 
Cursor getCursor () const noexcept
 
void setCursor (Cursor cursor)
 
Position toGlobalPosition (const Position &position) const
 
Position getCursorPosition () const
 
void setCursorPosition (const Position &position)
 
void releaseCursorConfinement ()
 
void setCursorConfinement ()
 
void setCursorConfinement (const Position &position, const Dimension &dimension)
 
void disableClipping ()
 
Region getClipping () const
 
void setClipping (const Position &position, const Dimension &dimension)
 
void close ()
 
bool isChildOf (const WindowImpl &object)
 
bool isParentOf (const WindowImpl &object)
 
bool isMaximized ()
 
bool isMinimized ()
 
void maximize ()
 
void minimize ()
 
void normalize ()
 
bool isVisible () const noexcept
 
Visibility getVisibility () const noexcept
 
void show ()
 
void hide ()
 
bool isEnabled () const noexcept
 
void enable ()
 
void disable ()
 
void raise ()
 
void acquireFocus ()
 
bool getCapture () const
 
void setCapture (bool state)
 
DisplayMode getDisplayMode () const
 
void setDisplayMode (DisplayMode displayMode)
 
unsigned int getKeyState (unsigned int code) const
 
unsigned int getModifiers () const
 
virtual void onDestruction () noexcept
 
virtual void onMove (const Position &position) noexcept
 
virtual void onMouseButton (const Position &position, Mouse::Button button, Mouse::Event event, unsigned int state) noexcept
 
virtual void onMouseWheel (const Position &position, int delta, unsigned int buttons) noexcept
 
virtual void onIdle () noexcept
 
virtual bool onClose () noexcept
 
virtual void onVisibility (Visibility visibility) noexcept
 
virtual void onFocus (Focus focus) noexcept
 
virtual void onMenu (unsigned int identifier) noexcept
 
virtual void onCommand (unsigned int identifier) noexcept
 
void update ()
 
void wait ()
 
bool wait (unsigned int milliseconds)
 
bool openDispatch ()
 
bool hasMouse () noexcept
 
unsigned int getMouseButtons () noexcept
 
unsigned int getNumberOfMonitors () noexcept
 
Dimension getDisplayDimension () noexcept
 
bool isResponding (unsigned int milliseconds)
 
virtual ~WindowImpl () noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from WindowImpl
static unsigned int getMouseButtonIndex (Mouse::Button button) noexcept
 
static Literal getMouseButtonName (Mouse::Button button) noexcept
 
static void exit () noexcept
 
static void dispatch ()
 
static unsigned int getMouseButtonIndex (Mouse::Button button) noexcept
 
static Literal getMouseButtonName (Mouse::Button button) noexcept
 
static void exit () noexcept
 
static void dispatch ()
 
static unsigned int getMouseButtonIndex (Mouse::Button button) noexcept
 
static Literal getMouseButtonName (Mouse::Button button) noexcept
 
static void exit () noexcept
 
static void dispatch ()
 
- Protected Member Functions inherited from WindowImpl
void construct () noexcept
 
void construct () noexcept
 
void construct () noexcept
 
- Protected Attributes inherited from WindowImpl
String title
 
String iconTitle
 
Position position
 
Dimension dimension
 
unsigned int flags = 0
 
Dimension minimumSize
 
Dimension maximumSize
 
void * screenHandle = nullptr
 
void * graphicsContextHandle = nullptr
 
- Protected Attributes inherited from Drawable
void * drawableHandle = nullptr
 
- Static Protected Attributes inherited from WindowImpl
static void * displayHandle
 

Detailed Description

Split widget.

Split widget.

Version
1.0

Member Enumeration Documentation

◆ Field

Enumerator
FIRST 

The left or top window.

SECOND 

The right or bottom window.

Constructor & Destructor Documentation

◆ ~Split()

Split::~Split ( )
inlinenoexcept

Destroys the split.

Member Function Documentation

◆ onDisplay()

void Split::onDisplay ( )
virtualnoexcept

Invoked when the display should be updated.

Reimplemented from WindowImpl.

◆ onKey()

void Split::onKey ( unsigned int  key,
unsigned int  flags,
unsigned int  modifiers 
)
virtualnoexcept

Invoked when a key is pressed or released.

Parameters
keyThe key.
flagsFlags describing the key event.
modifiersThe current state of the key modifiers (e.g. SHIFT).

Reimplemented from WindowImpl.

◆ onMouseMove()

void Split::onMouseMove ( const Position position,
unsigned int  buttons 
)
virtualnoexcept

Invoked when the mouse is moved.

Parameters
positionThe position of the mouse pointer.
buttonsThe current state of the mouse buttons.

Reimplemented from WindowImpl.

◆ onMouseScope()

void Split::onMouseScope ( bool  scope)
virtualnoexcept

Invoked then the mouse pointer enters or exits the scope of the window.

Parameters
scopeSpecified whether or not the pointer is in the scope of the window.

Reimplemented from WindowImpl.

◆ onResize()

void Split::onResize ( const Dimension dimension)
virtualnoexcept

Invoked when the window has been resized.

Parameters
dimensionThe new dimension of the window.

Reimplemented from WindowImpl.