Ibex/Vexi API differences

Charles Goodwin <[email protected]> Sun, 06 Jun 2004 01:39:14 +0000
Newsgroups gmane.comp.java.xwt.core
Organization Vexi.org
Message-ID <[email protected]>
Just to keep a check on Ibex/Vexi API difference and issues (so that
compatability can remain a realistic goal), they are as follows:

 o  Brand-specific issues

    Ibex expects .ibex files, uses the ibex object, and <ibex /> nodes,
    whereas Vexi uses vexi for everything.

    This could be really easy to overcome, if both cores accepted the
    words ibex/vexi as synonyms (ie accepted both).

 o  Traps on width/height/x/y

    Vexi implements width/height/x/y trapping adhering to the trap
    invariants that rule property trapping.

 o  Traps on the 'surface' property

    Vexi implements surface trapping as described in Brian's proposal:
      http://lists.vexi.org/archives?mss:29

 o  The 'visible' property

    Vexi implements an additional property 'display' to compliment the
    visible property, as the Ibex implementation had issues to do with
    the value of the property changing without traps being fired (when
    an ascendent box becomes [in]vinsible) and that implementing the
    firing of traps on visible would have been ambiguous (how can you
    reliably differentiate between an ascendent being made [in]visible
    and the box the trap is fired on).

    As discussed/agreed for Vexi, the following is implemented:

    * display - whether to display this box (and it's children) or not
    * visible - the visible state of the box, which is affected by the
                display property of itself and it's ascendents

 o  ChildChange vs ChildAdded/ChildRemoved

    Ibex uses ChildChange, Vexi uses ChildAdded/ChildRemoved as that was
    the consensus - which was unaminous if I remember correctly.

 o  Global position trapping

    Neither project has implemented this nor knows how it will yet.
-- 
- Charlie

Charles Goodwin <[email protected]>
Online @ www.charlietech.com