Yate
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
Window Class Reference

An abstract user interface window. More...

#include <yatecbase.h>

Inheritance diagram for Window:
GenObject

List of all members.

Public Member Functions

 Window (const char *id=0)
virtual ~Window ()
virtual const StringtoString () const
virtual void title (const String &text)
virtual void context (const String &text)
virtual bool setParams (const NamedList &params)
virtual void setOver (const Window *parent)=0
virtual bool hasElement (const String &name)=0
virtual bool setActive (const String &name, bool active)=0
virtual bool setFocus (const String &name, bool select=false)=0
virtual bool setShow (const String &name, bool visible)=0
virtual bool setText (const String &name, const String &text, bool richText=false)=0
virtual bool setCheck (const String &name, bool checked)=0
virtual bool setSelect (const String &name, const String &item)=0
virtual bool setUrgent (const String &name, bool urgent)=0
virtual bool hasOption (const String &name, const String &item)=0
virtual bool addOption (const String &name, const String &item, bool atStart=false, const String &text=String::empty())=0
virtual bool getOptions (const String &name, NamedList *items)=0
virtual bool delOption (const String &name, const String &item)=0
virtual bool addLines (const String &name, const NamedList *lines, unsigned int max, bool atStart=false)
virtual bool addTableRow (const String &name, const String &item, const NamedList *data=0, bool atStart=false)
virtual bool setMultipleRows (const String &name, const NamedList &data, const String &prefix=String::empty())
virtual bool insertTableRow (const String &name, const String &item, const String &before, const NamedList *data=0)
virtual bool delTableRow (const String &name, const String &item)
virtual bool setTableRow (const String &name, const String &item, const NamedList *data)
virtual bool updateTableRow (const String &name, const String &item, const NamedList *data=0, bool atStart=false)
virtual bool updateTableRows (const String &name, const NamedList *data, bool atStart=false)
virtual bool getTableRow (const String &name, const String &item, NamedList *data=0)
virtual bool clearTable (const String &name)
virtual bool getText (const String &name, String &text, bool richText=false)=0
virtual bool getCheck (const String &name, bool &checked)=0
virtual bool getSelect (const String &name, String &item)=0
virtual bool buildMenu (const NamedList &params)=0
virtual bool removeMenu (const NamedList &params)=0
virtual bool setImage (const String &name, const String &image, bool fit=false)=0
virtual bool setProperty (const String &name, const String &item, const String &value)
virtual bool getProperty (const String &name, const String &item, String &value)
void populate ()
void init ()
virtual void show ()=0
virtual void hide ()=0
virtual void size (int width, int height)=0
virtual void move (int x, int y)=0
virtual void moveRel (int dx, int dy)=0
virtual bool related (const Window *wnd) const
virtual void menu (int x, int y)=0
virtual bool canClose ()
const Stringid () const
const Stringtitle () const
const Stringcontext () const
bool visible () const
void visible (bool yes)
bool active () const
bool master () const
bool popup () const
virtual bool createDialog (const String &name, const String &title, const String &alias=String::empty(), const NamedList *params=0)=0
virtual bool closeDialog (const String &name)=0

Static Public Member Functions

static bool isValidParamPrefix (const String &prefix)

Protected Member Functions

virtual void doPopulate ()=0
virtual void doInit ()=0

Protected Attributes

String m_id
String m_title
String m_context
bool m_visible
bool m_active
bool m_master
bool m_popup
bool m_saveOnClose

Friends

class Client

Detailed Description

An abstract user interface window.

A window is the basic user interface element. Everything inside is implementation specific functionality.


Constructor & Destructor Documentation

Window ( const char *  id = 0) [explicit]

Constructor, creates a new windows with an ID

Parameters:
idString identifier of the new window
virtual ~Window ( ) [virtual]

Destructor


Member Function Documentation

bool active ( ) const [inline]

Check if this window is the active one

Returns:
True if window is active
virtual bool addLines ( const String name,
const NamedList lines,
unsigned int  max,
bool  atStart = false 
) [virtual]

Append or insert text lines to a widget

Parameters:
nameThe name of the widget
linesList containing the lines
maxThe maximum number of lines allowed to be displayed. Set to 0 to ignore
atStartTrue to insert, false to append
Returns:
True on success
virtual bool addOption ( const String name,
const String item,
bool  atStart = false,
const String text = String::empty() 
) [pure virtual]

Add an item to an element that supports such an operation (list)

Parameters:
nameName of the element
itemName of the item to add
atStartTrue to insert item on the first position, false to append
textDisplayed text to associate with the item (not all lists support it)
Returns:
True if the operation was successfull
virtual bool addTableRow ( const String name,
const String item,
const NamedList data = 0,
bool  atStart = false 
) [virtual]

Add a row to a table owned by this window

Parameters:
nameName of the element
itemName of the item to add
dataTable's columns to set
atStartTrue to insert, false to append
Returns:
True if the operation was successfull
virtual bool buildMenu ( const NamedList params) [pure virtual]

Build a menu from a list of parameters. See Client::buildMenu() for more info

Parameters:
paramsMenu build parameters
Returns:
True on success
virtual bool canClose ( ) [inline, virtual]

Check if this window can be closed

Returns:
True if this window can be closed, false to prevent hiding it
virtual bool clearTable ( const String name) [virtual]

Clear (delete all rows) a table owned by this window

Parameters:
nameName of the element
Returns:
True if the operation was successfull
virtual bool closeDialog ( const String name) [pure virtual]

Destroy a modal dialog

Parameters:
nameDialog name
Returns:
True on success
virtual void context ( const String text) [virtual]

Set the contextual information previously associated with this window

Parameters:
textNew contextual information
const String& context ( ) const [inline]

Get the contextual information previously associated with this window

Returns:
String contextual information
virtual bool createDialog ( const String name,
const String title,
const String alias = String::empty(),
const NamedList params = 0 
) [pure virtual]

Create a modal dialog

Parameters:
nameDialog name (resource config section)
titleDialog title
aliasOptional dialog alias (used as dialog object name)
paramsOptional dialog parameters
Returns:
True on success
virtual bool delOption ( const String name,
const String item 
) [pure virtual]

Remove an item from an element (list)

Parameters:
nameName of the element
itemName of the item to remove
Returns:
True if the operation was successfull
virtual bool delTableRow ( const String name,
const String item 
) [virtual]

Delete a row from a table owned by this window

Parameters:
nameName of the element
itemName of the item to remove
Returns:
True if the operation was successfull
virtual bool getCheck ( const String name,
bool &  checked 
) [pure virtual]

Get the checked state of a checkable control

Parameters:
nameName of the element
checkedThe checked state of the control
Returns:
True if the operation was successfull
virtual bool getOptions ( const String name,
NamedList items 
) [pure virtual]

Get an element's items

Parameters:
nameName of the element to search for
itemsList to fill with element's items
Returns:
True if the element exists
virtual bool getProperty ( const String name,
const String item,
String value 
) [inline, virtual]

Get a property from this window or from a widget owned by it

Parameters:
nameName of the element
itemProperty's name
valueProperty's value
Returns:
True on success
virtual bool getSelect ( const String name,
String item 
) [pure virtual]

Retrieve an element's selection

Parameters:
nameName of the element
itemString to fill with selection's contents
Returns:
True if the operation was successfull
virtual bool getTableRow ( const String name,
const String item,
NamedList data = 0 
) [virtual]

Retrieve a row from a table owned by this window

Parameters:
nameName of the element
itemName of the item to retrieve
dataList to fill with table's columns contents
Returns:
True if the operation was successfull
virtual bool getText ( const String name,
String text,
bool  richText = false 
) [pure virtual]

Get an element's text

Parameters:
nameName of the element
textThe destination string
richTextTrue to get the element's roch text if supported.
Returns:
True if the operation was successfull
virtual bool hasElement ( const String name) [pure virtual]

Check if this window has an element by name

Parameters:
nameName of the element to search for
Returns:
True if one element with the given name exists
virtual bool hasOption ( const String name,
const String item 
) [pure virtual]

Check if an element has an item by its name

Parameters:
nameName of the element to search for
itemName of the item that should be searched
Returns:
True if one item with the given name exists in the element
virtual void hide ( ) [pure virtual]

Hide this window

const String& id ( ) const [inline]

Retrieve the standard name of this Window

Returns:
Identifier of this window
void init ( ) [inline]

Initialize the window if not already done

virtual bool insertTableRow ( const String name,
const String item,
const String before,
const NamedList data = 0 
) [virtual]

Insert a row into a table owned by this window

Parameters:
nameName of the element
itemName of the item to insert
beforeName of the item to insert before
dataTable's columns to set
Returns:
True if the operation was successfull
static bool isValidParamPrefix ( const String prefix) [static]

Check if a string is a parameter prefix handled by setParams(). Exact prefix match is not a valid one

Parameters:
prefixString to check
Returns:
True if the given prefix is a valid one
bool master ( ) const [inline]

Check if this window is a master (topmost) window

Returns:
True if this window is topmost
virtual void move ( int  x,
int  y 
) [pure virtual]

Move this window

Parameters:
xThe x coordinate of the upper left corner
yThe y coordinate of the upper left corner
virtual void moveRel ( int  dx,
int  dy 
) [pure virtual]

Move this window related to its current position

Parameters:
dxThe value to be added to the current x coordinate of the upper left corner
dyThe value to be added to the current y coordinate of the upper left corner
void populate ( ) [inline]

Populate the window if not already done

bool popup ( ) const [inline]

Check if this window is a popup window

Returns:
True if this window is initially hidden
virtual bool related ( const Window wnd) const [virtual]

Checkes if this window is related to the given window

Parameters:
wndThe window to check for any relation
Returns:
False if wnd is this window or a master one
virtual bool removeMenu ( const NamedList params) [pure virtual]

Remove a menu (from UI and memory) See Client::removeMenu() for more info

Parameters:
paramsMenu remove parameters
Returns:
True on success
virtual bool setActive ( const String name,
bool  active 
) [pure virtual]

Set an element as interactive in the window

Parameters:
nameName of the element
activeTrue to make interactive, false to disallow interaction
Returns:
True if the operation was successfull
virtual bool setCheck ( const String name,
bool  checked 
) [pure virtual]

Set the checked or toggled status of an element in the window

Parameters:
nameName of the element
checkedTrue to make element checked or toggled
Returns:
True if the operation was successfull
virtual bool setFocus ( const String name,
bool  select = false 
) [pure virtual]

Set an element as receiving input in the window

Parameters:
nameName of the element
selectAlso select the content of the focused element
Returns:
True if the operation was successfull
virtual bool setImage ( const String name,
const String image,
bool  fit = false 
) [pure virtual]

Set an element's image

Parameters:
nameName of the element
imageImage to set
fitFit image in element (defaults to false)
Returns:
True on success
virtual bool setMultipleRows ( const String name,
const NamedList data,
const String prefix = String::empty() 
) [virtual]

Append or update several table rows at once

Parameters:
nameName of the element
dataParameters to initialize the rows with
prefixPrefix to match (and remove) in parameter names
Returns:
True if all the operations were successfull
virtual void setOver ( const Window parent) [pure virtual]

Force this window on top of another one which becomes its parent

Parameters:
parentWindow to force as parent of this one
virtual bool setParams ( const NamedList params) [virtual]

Set window parameters or widget contents

Parameters:
paramsList of parameters to set in the window and its widgets
Returns:
True if all parameters could be set
virtual bool setProperty ( const String name,
const String item,
const String value 
) [inline, virtual]

Set a property for this window or for a widget owned by it

Parameters:
nameName of the element
itemProperty's name
valueProperty's value
Returns:
True on success
virtual bool setSelect ( const String name,
const String item 
) [pure virtual]

Set the selection of an item in an element in the window

Parameters:
nameName of the element
itemName of the item that should be selected
Returns:
True if the operation was successfull
virtual bool setShow ( const String name,
bool  visible 
) [pure virtual]

Set the visibility of an element in the window

Parameters:
nameName of the element
visibleTrue to make element visible, false to hide it
Returns:
True if the operation was successfull
virtual bool setTableRow ( const String name,
const String item,
const NamedList data 
) [virtual]

Update a row from a table owned by this window

Parameters:
nameName of the element
itemName of the item to update
dataData to update
Returns:
True if the operation was successfull
virtual bool setText ( const String name,
const String text,
bool  richText = false 
) [pure virtual]

Set the displayed text of an element in the window

Parameters:
nameName of the element
textText value to set in the element
richTextTrue if the text contains format data
Returns:
True if the operation was successfull
virtual bool setUrgent ( const String name,
bool  urgent 
) [pure virtual]

Flag an element as requiring immediate attention

Parameters:
nameName of the element
urgentTrue if the element requires immediate attention
Returns:
True if the operation was successfull
virtual void show ( ) [pure virtual]

Show this window

virtual void size ( int  width,
int  height 
) [pure virtual]

Resize this window

Parameters:
widthThe new width
heightThe new width
virtual const String& toString ( ) const [virtual]

Retrieve the standard name of this Window, used to search in lists

Returns:
Identifier of this window

Reimplemented from GenObject.

Referenced by ClientContact::isChatWnd().

virtual bool updateTableRow ( const String name,
const String item,
const NamedList data = 0,
bool  atStart = false 
) [virtual]

Set a table row or add a new one if not found

Parameters:
nameName of the element
itemTable item to set/add
dataOptional list of parameters used to set row data
atStartTrue to add item at start, false to add them to the end
Returns:
True if the operation was successfull
virtual bool updateTableRows ( const String name,
const NamedList data,
bool  atStart = false 
) [virtual]

Add or set one or more table row(s). Screen update is locked while changing the table. Each data list element is a NamedPointer carrying a NamedList with item parameters. The name of an element is the item to update. Set element's value to boolean value 'true' to add a new item if not found or 'false' to set an existing one. Set it to empty string to delete the item

Parameters:
nameName of the table
dataThe list of items to add/set/delete
atStartTrue to add new items at start, false to add them to the end
Returns:
True if the operation was successfull
bool visible ( ) const [inline]

Get the visibility status of this window

Returns:
True if window is visible, false if it's hidden
void visible ( bool  yes) [inline]

Set the visibility status of this window

Parameters:
yesTrue if window should be visible

The documentation for this class was generated from the following file: