Boxely - FAQ
Frequently Asked Questions
Do you have any questions? Look here to read the answers to some of the most frequently asked questions about the Boxely™ UI Toolkit and the OCP.
Licensing and Support
About the OCP Preview
- What is the Open Client Platform (OCP)?
- What is in the package?
- How do I download and get started?
- How can I stay informed?
- Where can I go to ask questions and/or provide feedback?
About the Boxely UI Toolkit
- What is the Boxely UI Toolkit?
- How do you spell Boxely?
- Why didn't you use CSS?
- What script languages does the Boxely UI Toolkit currently support?
- What about security or obfuscation of the JavaScript code?
Boxely Basics
Using the Boxely UI Toolkit
Licensing and Support
1. Where can I view the license agreement?The software license agreement for Boxely will be presented to you before you can download the software. You can view the license agreement for Boxely by following the download link.
Back to Licensing and SupportThe Boxely Developers Forums has been created to support developers using the Boxely UI Toolkit. The Boxely team will regularly monitor and respond to developer questions posted on the forums.
For the preview releases, support will be limited to the forums.
About the OCP Preview
1. What is the Open Client Platform (OCP)?The Open Client Platform (OCP) is comprised of modules called "services" that provide developers with functionality that is robust, reusable, and easily accessible for dynamic application development. OCP services provide access to various tools that are not native to JavaScript, such as timers and SQL-based local storage. These services can be accessed and used by any Boxely application.
Back to About the OCP PreviewThe OCP Preview package contains the following components:
- the Boxely UI Toolkit
- core OCP services
- documentation on how to use the Boxely UI Toolkit and OCP services
- a variety of samples (both, made by the Boxely team and contributed by users)
To download the OCP Preview installer, go to the Downloads page and follow the link at the bottom. When the installer is finished, a file called README.html will get you started right away. Inside the documentation directory will be a file called boxelyDocs.html. This will provide you with the Boxely User Guide and OCP Service API Reference documentations that will help you develop your own Boxely application.
You may also take a look at the online documentation to familiarize yourself with the Boxely UI Toolkit and OCP services.
Back to About the OCP PreviewWe have many exciting plans for the Boxely UI Toolkit and the OCP. If you would like to be informed of new releases and developments, subscribe to our announcements mailing list.
Back to About the OCP PreviewDo you have a question you can't find an answer to? Do you want to let us know about your opinions? We're really interested in what you think about the Boxely!
Visit the Boxely Forums and post your questions, comments and feedback about the Boxely UI Tooklit.
Back to About the OCP PreviewAbout the Boxely UI Toolkit
1. What is the Boxely UI Toolkit?The Boxely UI Toolkit is a next generation, standards based UI Toolkit. It is designed to enable the creation of rich desktop application interfaces with the same ease, flexibility, and extensibility as authoring internet applications today.
Back to About the Boxely UI ToolkitB O X E L Y
Back to About the Boxely UI ToolkitWe decided against CSS specifically because we wanted a styling model that was more XML centric (CSS is not standard XML per say in that CSS uses a completely different syntax). We adopted a style language that allowed us to style our composite controls based on the state the controls are in. We also allow styles to selectively style the "parts" of composite controls separately from the gadget instances themselves.
Back to About the Boxely UI ToolkitCurrently the Boxely UI Toolkit supports JavaScript.
You can read more about how to integrate scripts with your application in Chapter 4. Scripting and Event Handling of the Boxely User Guide
The Boxely UI Toolkit is an application development toolkit (similar MFC or wxWindows) and not necessarily a content engine (browser). At this time, it's up to the application developer to determine how to hide any sensitive application logic.
Back to About the Boxely UI ToolkitBoxely Basics
1. What is a box?A box is the common building block of a Boxely scene. Each box represents a rectangle on the screen, over which you have full control of the appearance and behavior. Boxes are identified with a tag name, and inherit from one of several basic box types. Boxes can be specified in XML using this tag name, or created and inserted into a scene via script.
Back to Boxely BasicsData binding allows us to translate a data hierarchy into a hierarchy of boxes with attributes and styles. Data can be bound in several different ways, using forms, templates, trees and listboxes. The boxes are created dynamically from a data source whose structure maps onto the structure of the box hierarchy to be created.
You can read more about data binding in Chapter 9. Using Data Binding of the Boxely User Guide
A scene is an entity sometimes called a "form" which contains a tree of gadgets or components (the DOM) and can include other supporting resources such as behavior and themes. The scene is what makes up a single viewable region. Conceptually a scene can be thought of as a window, however in actuality it is distinct from the native entity. A scene can handle and dispatch events as well as have scripts associated with it.
Back to Boxely BasicsA shell is a singleton and is basically the master of the scenes. It is responsible for parsing and creating/destroying scenes. The shell also contains anything else that is at the global (across all scenes) level. A shell contains 1 or more scenes.
Back to Boxely BasicsUsing the Boxely UI Toolkit
1. How do you specify fill or text colors in Boxely markup?There are 2 ways to specify a color is Boxely markup
- You can use a RGB value. Specify the color's RGB hex value in the format:
#RRGGBB - The Boxely UI Toolkit has 16 built-in color names, and 26 system color definitions.
<window xmlns="http://www.aol.com/boxely/box.xsd"
xmlns:s="http://www.aol.com/boxely/style.xsd"
id="window"
translucent="false"
title="My Sample"
s:fill="#FF0000"
s:width="600" s:height="480">
</window>Example: Using color name
<window xmlns="http://www.aol.com/boxely/box.xsd"
xmlns:s="http://www.aol.com/boxely/style.xsd"
id="window"
translucent="false"
title="My Sample"
s:fill="red"
s:width="600" s:height="480">
</window>
Back to Using the Boxely UI Toolkit You can set the s:fill="#FFFFFF" attribute on your main window to change the fill color. The color format is #rrggbb, where the values are in hex.
Example: (Filling a 600x480 window with red.)
<window xmlns="http://www.aol.com/boxely/box.xsd"
xmlns:s="http://www.aol.com/boxely/style.xsd"
id="window"
translucent="false"
title="My Sample"
s:fill="#FF0000"
s:width="600" s:height="480">
</window>
Back to Using the Boxely UI Toolkit If you would like to present a row of buttons, but would like one or more items at the end of the row to be pinned along the right side of the box or form, you can utilize a <spacer> tag with it's flex property set to 1.
This will create a flexible area between the first set of elements and the set after the tag.
Example:
<hbox> <button label="Button 1" s:width="50"/> <button label="Button 2" s:width="50"/> <spacer s:flex="1"/> <button label="Button 3" s:width="50"/> </hbox>Back to Using the Boxely UI Toolkit
You can set the fontFamily attribute on the menuItemtag.
Example:
<menuBar>
<menuBarItem label="Font">
<menuPopup>
<menuItem label="Arial" fontFamily="Arial"/>
<menuItem label="Arial Black" fontFamily="Arial Black"/>
<menuItem label="Arial Narrow" fontFamily="Arial Narrow"/>
<menuItem label="Courier" fontFamily="Courier New"/>
<menuItem label="Comic Sans MS" fontFamily="Comic Sans MS"/>
<menuItem label="Times New Roman" fontFamily="Times New Roman"/>
<menuItem label="Verdana" fontFamily="Verdana"/>
</menuPopup>
</menuBarItem>
</menuBar>
|
|
The rectangle format for margins and padding is the same as CSS: "top right bottom left" or "top/bottom left/right".
Example of "top right bottom left":
<style tag="splitter">
<attribute name="axis" value="y"
margin="2 0 2 0"
fill="#787878"
fillSize="both"
width="2">
</attribute>
</style>
Example of "top/bottom left/right":
<style id="input" tag="input"
cursor="text"
margin="2 4"
minWidth="60"
fill="#ffffff"
stroke="#888888"
strokeWidth="1"
fontFamily="Tahoma"
fontSize="15px"
textColor="#606060"
fontWeight="normal"
fontStyle="normal">
</style>
Back to Using the Boxely UI Toolkit 
