Wolfram ResearchPRODUCTSPURCHASEFOR USERSCOMPANYOUR SITES

Documentation  / Solutions  / GUIKit  / Building GUIs  /

Definition Building Blocks

GUIKit definitions are defined as a hierarchy of widgets, whether they are defined in the Mathematica expression format or in the XML format, GUIKitXML. A single self-contained user interface definition should always begin with an outermost user interface widget--either an instance of a window or frame. The GUIKit framework also optionally provides an appropriate top-level window wrapper if the root interface definition widget is at least a user interface class that can live inside a window or frame, so you are not actually required to always use a top-level frame or window widget. This is convenient because it allows you to write reusable complex widgets by designing them with the root widget as Widget["Panel"]. This could be run by itself or reused as content in other developer's window definitions. Examples of reusing panel-designed higher-level widgets exist in subsequent documentation sections.

A GUIKit definition expression consists of a hierarchy of widget expressions.

Some of the building blocks that make up a user interface definition include the following.

Request the creation of a new widget instance.

Reference an existing widget previously registered using the Name option.

Mathematica scripting code blocks contain arbitrary Mathematica programming code executed within the context of the user interface instance with access to the widget objects defined in the user interface.

Event binding provides triggers for Mathematica code to execute when certain events happen within the user interface.

Set or get the state and values of live widgets in the interface.

There is an equivalent set of XML elements that define a user interface definition analogous to the previous Mathematica building block expressions.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information


 © 2008 Wolfram Research, Inc.  Terms of Use  Privacy Policy |
Sign up for our newsletter: