Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

UOn Class Reference

event conditions. More...

#include <ucond.hpp>

Inheritance diagram for UOn:

UCond List of all members.

Public Types

enum  ISTATE {
  ANY = -1, IDLE = 0, DISABLED, ENTERED,
  ARMED, ACTIONED, DRAGGED, DROP_ENTERED,
  ACTION_COUNT
}

Public Member Functions

 UOn (u_state istate, u_modes bmodes, u_modes cmodes)
virtual bool verifies (const UContext *, const class UCtrl *) const
virtual void setParentModes (UCtrl *parent) const

Static Public Attributes

static UOn idle
 no action event.
static UOn action
 high-level activation event.
static UOn arm
 arm/disarm button events.
static UOn disarm
 arm/disarm button events.
static UOn enter
 mouse events.
static UOn leave
 mouse events.
static UOn mpress
 mouse events.
static UOn mrelease
 mouse events.
static UOn mdrag
 mouse events.
static UOn mmove
 mouse events.
static UOn mrelax
 mouse events.
static UOn mclick
 mouse clicks.
static UOn mbiclick
 mouse clicks.
static UOn mtriclick
 mouse clicks.
static UOn mquadclick
 mouse clicks.
static UOn ktype
 key events.
static UOn kpress
 key events.
static UOn krelease
 key events.
static UOn select
 item selection.
static UOn unselect
 item selection.
static UOn change
 value change.
static UOn propChange
 box child change.
static UOn elemChange
 box child change.
static UOn strChange
 box child change.
static UOn add
 adding and removing children.
static UOn remove
 adding and removing children.
static UOn destruct
 object destruction.
static UOn close
 window closing.
static UOn dragStart
 drag and drop.
static UOn dragDone
 drag and drop.
static UOn dropEnter
 drag and drop.
static UOn dropLeave
 drag and drop.
static UOn dropDone
 drag and drop.
static UOn viewPaint
 View events.
static UOn viewResize
 View events.
static UOn viewMove
 View events.
static UOn preChildEvent
 detects events that *will* be received by children.
static UOn umessage
 application and hard window events.
static UOn notifyEvent
 application and hard window events.
static UOn rawEvent
 application and hard window events.

Friends

class UCtrl
class UGroup

Detailed Description

event conditions.

for specifying conditionnal objects and callback functions


Member Function Documentation

bool UOn::verifies const UContext *  ,
const class UCtrl *  ctrl
const [virtual]
 

!!PBM: pas le meme test que pour les callbacks!!

Implements UCond.


Member Data Documentation

UOn UOn::action [static]
 

high-level activation event.

event received by activable boxes (eg. UButton, UCheckbox, UTextbox). Notes:

  • Boxes can be made activable by setting their CAN_ACTION mode.
  • This event is discarded if the box is not enabled (see: UGroup::enable())

UOn UOn::add [static]
 

adding and removing children.

events received by the parent(s) of the objects that are being added or removed.

  • Note: UEvent::getTarget(),getBoxTarget(),getBrickTarget() returns the child that was added or removed (which may have been destroyed in the latter case)

UOn UOn::arm [static]
 

arm/disarm button events.

events received by armable boxes (eg. UButton, UCheckbox) when they are activated (event order is: arm / action / disarm) Notes:

  • Boxes can be made armable by setting their CAN_ARM mode (see: UMode::canArm and UGroup::setCmodes())
  • these events are discarded if the box is not enabled (see: UGroup::enable())

UOn UOn::change [static]
 

value change.

events received by UProp, UElem, UStr objects when their value is changed.

  • Note: UEvent::getChangedProp(), getChangedElem(), getChangedStr() return the object whose value was changed

UOn UOn::close [static]
 

window closing.

event received by windows that are being closed.

UOn UOn::destruct [static]
 

object destruction.

event received by objects that are being destructed.

UOn UOn::disarm [static]
 

arm/disarm button events.

events received by armable boxes (eg. UButton, UCheckbox) when they are activated (event order is: arm / action / disarm) Notes:

  • Boxes can be made armable by setting their CAN_ARM mode (see: UMode::canArm and UGroup::setCmodes())
  • these events are discarded if the box is not enabled (see: UGroup::enable())

UOn UOn::elemChange [static]
 

box child change.

events received by boxes when the value of their UProp, UElem, UStr... children is changed.

Notes:

  • elemChange and strChange are both emitted by UStr children (in this order)
  • UEvent::getChangedProp(), getChangedElem(), getChangedStr() return the object whose value was changed

UOn UOn::enter [static]
 

mouse events.

Details:

  • mmove is received by the box where the mouse is currently located
  • mdrag and mrelease are received by the box that got the mpress
  • mrelax is similar to mrelease but it is received by the box where the mouse was released (instead of the box that got mpress)

UOn UOn::idle [static]
 

no action event.

used for style specs.

UOn UOn::kpress [static]
 

key events.

Notes:

  • kpress and krelease are produced by raw key events
  • ktype is a higher-level event that compose ASCII characters it is not activated by special or function keys (eg. LEFT, F1...)

UOn UOn::krelease [static]
 

key events.

Notes:

  • kpress and krelease are produced by raw key events
  • ktype is a higher-level event that compose ASCII characters it is not activated by special or function keys (eg. LEFT, F1...)

UOn UOn::ktype [static]
 

key events.

Notes:

  • kpress and krelease are produced by raw key events
  • ktype is a higher-level event that compose ASCII characters it is not activated by special or function keys (eg. LEFT, F1...)

UOn UOn::leave [static]
 

mouse events.

Details:

  • mmove is received by the box where the mouse is currently located
  • mdrag and mrelease are received by the box that got the mpress
  • mrelax is similar to mrelease but it is received by the box where the mouse was released (instead of the box that got mpress)

UOn UOn::mbiclick [static]
 

mouse clicks.

mclick is received when a mouse click is performed on a box, mbiclick when a double click is performed, etc. Notes:

  • a double click first produces a mclick then a mbiclick (and so on for other multiple click events)
  • mouse clicks are not emitted if the mouse has been moved more that a certain radius between the mouse press and release
  • UOn::action is received after the mouse clicks

UOn UOn::mclick [static]
 

mouse clicks.

mclick is received when a mouse click is performed on a box, mbiclick when a double click is performed, etc. Notes:

  • a double click first produces a mclick then a mbiclick (and so on for other multiple click events)
  • mouse clicks are not emitted if the mouse has been moved more that a certain radius between the mouse press and release
  • UOn::action is received after the mouse clicks

UOn UOn::mdrag [static]
 

mouse events.

Details:

  • mmove is received by the box where the mouse is currently located
  • mdrag and mrelease are received by the box that got the mpress
  • mrelax is similar to mrelease but it is received by the box where the mouse was released (instead of the box that got mpress)

UOn UOn::mmove [static]
 

mouse events.

Details:

  • mmove is received by the box where the mouse is currently located
  • mdrag and mrelease are received by the box that got the mpress
  • mrelax is similar to mrelease but it is received by the box where the mouse was released (instead of the box that got mpress)

UOn UOn::mpress [static]
 

mouse events.

Details:

  • mmove is received by the box where the mouse is currently located
  • mdrag and mrelease are received by the box that got the mpress
  • mrelax is similar to mrelease but it is received by the box where the mouse was released (instead of the box that got mpress)

UOn UOn::mquadclick [static]
 

mouse clicks.

mclick is received when a mouse click is performed on a box, mbiclick when a double click is performed, etc. Notes:

  • a double click first produces a mclick then a mbiclick (and so on for other multiple click events)
  • mouse clicks are not emitted if the mouse has been moved more that a certain radius between the mouse press and release
  • UOn::action is received after the mouse clicks

UOn UOn::mrelax [static]
 

mouse events.

Details:

  • mmove is received by the box where the mouse is currently located
  • mdrag and mrelease are received by the box that got the mpress
  • mrelax is similar to mrelease but it is received by the box where the mouse was released (instead of the box that got mpress)

UOn UOn::mrelease [static]
 

mouse events.

Details:

  • mmove is received by the box where the mouse is currently located
  • mdrag and mrelease are received by the box that got the mpress
  • mrelax is similar to mrelease but it is received by the box where the mouse was released (instead of the box that got mpress)

UOn UOn::mtriclick [static]
 

mouse clicks.

mclick is received when a mouse click is performed on a box, mbiclick when a double click is performed, etc. Notes:

  • a double click first produces a mclick then a mbiclick (and so on for other multiple click events)
  • mouse clicks are not emitted if the mouse has been moved more that a certain radius between the mouse press and release
  • UOn::action is received after the mouse clicks

UOn UOn::notifyEvent [static]
 

application and hard window events.

  • umessage : ubit message sent by another Ubit appli
  • notify : notification events sent by the windowing system
  • rawEvent : any X event (received before other events)

UOn UOn::preChildEvent [static]
 

detects events that *will* be received by children.

intercepts events that will be received by the direct or indirect children of an UBox (or subclass):

  • the corresponding callbacks are called while traversing the instance graph (*before* the children are reached)
  • children will then receive events as usual
  • all UEvent methods (such as getSource(), getX(), getY() ...) are relative to the parent (as the Event has not yet reached the destination child it can't be identified at this stage)
  • note that many event conditions are meaningless at this stage (for instance, UOn:select is meaningless as the child has not yet be reached)
  • this mechanism can be used to modify events dynamically (it is for instance used for transparent tools)
  • this will only work with UBox(es) and subclasses : an UGroup can't intercept the Events that are sent to its children

See also:

  • UBox::onPostChildEvent() which makes it possible to detect events that have already been received by children. Note:
  • another way to detect events thst would be sent to children is to use transparent glasses (all Ubit gadgets can be transparent) This technique makes it also possible to draw on the top of other objects.

UOn UOn::propChange [static]
 

box child change.

events received by boxes when the value of their UProp, UElem, UStr... children is changed.

Notes:

  • elemChange and strChange are both emitted by UStr children (in this order)
  • UEvent::getChangedProp(), getChangedElem(), getChangedStr() return the object whose value was changed

UOn UOn::rawEvent [static]
 

application and hard window events.

  • umessage : ubit message sent by another Ubit appli
  • notify : notification events sent by the windowing system
  • rawEvent : any X event (received before other events)

UOn UOn::remove [static]
 

adding and removing children.

events received by the parent(s) of the objects that are being added or removed.

  • Note: UEvent::getTarget(),getBoxTarget(),getBrickTarget() returns the child that was added or removed (which may have been destroyed in the latter case)

UOn UOn::select [static]
 

item selection.

events received by selectable boxes (eg. UCheckbox) when they are selected (resp. unselected) or by listboxes when one of their item is selected (resp. unselected)

Notes:

  • UEvent::getTarget(), getBoxTarget() return the listbox item that was selected or unselected
  • any box can be made selectable by setting its CAN_SELECT mode (see: UMode::canSelect and UGroup::setCmodes())

UOn UOn::strChange [static]
 

box child change.

events received by boxes when the value of their UProp, UElem, UStr... children is changed.

Notes:

  • elemChange and strChange are both emitted by UStr children (in this order)
  • UEvent::getChangedProp(), getChangedElem(), getChangedStr() return the object whose value was changed

UOn UOn::umessage [static]
 

application and hard window events.

  • umessage : ubit message sent by another Ubit appli
  • notify : notification events sent by the windowing system
  • rawEvent : any X event (received before other events)

UOn UOn::unselect [static]
 

item selection.

events received by selectable boxes (eg. UCheckbox) when they are selected (resp. unselected) or by listboxes when one of their item is selected (resp. unselected)

Notes:

  • UEvent::getTarget(), getBoxTarget() return the listbox item that was selected or unselected
  • any box can be made selectable by setting its CAN_SELECT mode (see: UMode::canSelect and UGroup::setCmodes())

UOn UOn::viewMove [static]
 

View events.

These events are related to object' *views* (and thus, may be produced several times for a single Box object if this object has several parents)

UOn UOn::viewPaint [static]
 

View events.

These events are related to object' *views* (and thus, may be produced several times for a single Box object if this object has several parents)

UOn UOn::viewResize [static]
 

View events.

These events are related to object' *views* (and thus, may be produced several times for a single Box object if this object has several parents)


The documentation for this class was generated from the following files:
Generated on Fri Mar 4 01:34:32 2005 for Ubit[Eric.Lecolinet@enst.fr] by  doxygen 1.4.1