Yate
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Window Class Referenceabstract

An abstract user interface window. More...

#include <yatecbase.h>

Inheritance diagram for Window:
GenObject

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 setBusy (const String &name, bool on)=0
 
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 getSelect (const String &name, NamedList &items)=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
 
- Public Member Functions inherited from GenObject
 GenObject ()
 
virtual ~GenObject ()
 
virtual bool alive () const
 
virtual void destruct ()
 
virtual void * getObject (const String &name) const
 
NamedCountergetObjCounter () const
 
NamedCountersetObjCounter (NamedCounter *counter)
 

Static Public Member Functions

static bool isValidParamPrefix (const String &prefix)
 
- Static Public Member Functions inherited from GenObject
static void * getObject (const String &name, const GenObject *obj)
 
static bool getObjCounting ()
 
static void setObjCounting (bool enable)
 
static NamedCountergetObjCounter (const String &name, bool create=true)
 
static ObjListgetObjCounters ()
 

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 ( )
inlinevirtual

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 
)
inlinevirtual

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 getSelect ( const String name,
NamedList items 
)
pure virtual

Retrieve an element's multiple selection

Parameters
nameName of the element
itemsList to be to filled 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

Referenced by Window::visible().

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 setBusy ( const String name,
bool  on 
)
pure virtual

Show or hide control busy state

Parameters
nameName of the element
onTrue to show, false to hide
Returns
True if all the operations were 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 
)
inlinevirtual

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

Referenced by Window::visible().

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

References Window::hide(), and Window::show().


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