org.symbian.tools.wrttools.doc.WRTKit/html/WRTKit_High_level_view_of_the_WRTKit-GUID-a3abe57e-9a71-4f94-923a-b84ccd1b0905.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.symbian.tools.wrttools.doc.WRTKit/html/WRTKit_High_level_view_of_the_WRTKit-GUID-a3abe57e-9a71-4f94-923a-b84ccd1b0905.html Fri Mar 05 19:31:41 2010 -0800
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html lang="en" xml:lang="en">
+<head>
+<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+<meta name="copyright" content="(C) Copyright 2005" />
+<meta name="DC.rights.owner" content="(C) Copyright 2005" />
+<meta content="concept" name="DC.Type" />
+<meta name="DC.Title" content="High level view of the WRTKit" />
+<meta scheme="URI" name="DC.Relation" content="WRTKit_Developing_widgets_using_the_WRTKit-GUID-a321db96-0a01-4e55-b24b-96905f40cb5c.html" />
+<meta content="XHTML" name="DC.Format" />
+<meta content="GUID-A3ABE57E-9A71-4F94-923A-B84CCD1B0905" name="DC.Identifier" />
+<meta content="en" name="DC.Language" />
+<link href="commonltr.css" type="text/css" rel="stylesheet" />
+<title>
+High level view of the WRTKit</title>
+</head>
+<body id="GUID-A3ABE57E-9A71-4F94-923A-B84CCD1B0905"><a name="GUID-A3ABE57E-9A71-4F94-923A-B84CCD1B0905"><!-- --></a>
+
+
+
+ <h1 class="topictitle1">
+High level view of the WRTKit</h1>
+
+ <div>
+
+ <p>
+
+ User interfaces in the WRTKit are based on the concepts of "views" and "controls".
+ A control is a user interface element that the user can view or interact with,
+ e.g. buttons, checkboxes, textfields, etc. Views are containers for controls and
+ deal with the layout of controls on the screen in such a way that the user can
+ interact with them in an easy way. Views are conceptually similar to windows in
+ PC applications, but on a mobile device views typically fill the entire screen
+ and only one view can thus be visible at any given time. The WRTKit allows views
+ and controls to be interacted with in both the tab and pointer navigation modes
+ and the navigation mode can even be switched at runtime.
+ </p>
+
+ <div class="fignone" id="GUID-A3ABE57E-9A71-4F94-923A-B84CCD1B0905__GUID-65170EDF-EF04-48AB-A414-1581157DAFA5"><a name="GUID-A3ABE57E-9A71-4F94-923A-B84CCD1B0905__GUID-65170EDF-EF04-48AB-A414-1581157DAFA5"><!-- --></a><span class="figcap">Figure 1.
+WRTKit-based widget user interface</span>
+
+
+ <br /><img src="RSS_Reader_Main_Screenshot_3.png" /><br />
+ </div>
+
+ <p>
+
+ The WRTKit is an object oriented user interface toolkit, which means that views
+ and controls are implemented as JavaScript classes that are instantiated to
+ objects when they are needed. In order to create a view with two buttons, for
+ example, a developer writes JavaScript code that instantiates one view
+ object and two button objects, and then calls a method in the view object asking
+ it to add the buttons to itself. Being object oriented, the created WRTKit
+ objects fully maintain their own state and take care of drawing themselves
+ properly on the screen in all situations. So for example if one of the buttons
+ is focused, the button modifies its own looks so that it appears focused
+ on the screen. Because the objects know their own state, they can be queried for
+ properties as needed. E.g. a textfield can be asked what text it currently
+ contains, a button can be asked if it is enabled, and so on.
+ </p>
+
+ <p>
+
+ Controls in the WRTKit have captions that can be used to show what the control
+ does. E.g. a textfield that is meant to be used to enter a password could have a
+ caption "Password". Captions are optional but should be used unless there is a
+ very good reason not to. The only controls that do not have captions are
+ buttons, since they have a text on the face of the button that accomplishes the
+ same thing.
+ </p>
+
+ <p>
+
+ WRTKit user interfaces are managed by a class that is aptly named "UIManager".
+ Every widget that uses the WRTKit for its user interface creates a single
+ instance of this class and then uses that UIManager instance to command views to
+ be displayed. The UIManager takes care of all the heavy lifting that is necessary
+ to bring a new view to the screen. The UIManager also handles other user
+ interface duties such as management of notification popup dialogs and view
+ scrollbars.
+ </p>
+
+ <p>
+
+ Controls and views can notify the outside world when some event occurrs, e.g.
+ when a button is pressed or someone toggles a checkbox. The WRTKit follows the
+ so called "observer pattern" in its implementation of event notifications. This
+ simply means that a control or view can be asked to call a particular JavaScript
+ function (which is the "observer" or "listener") when an specific type of event
+ occurrs. The WRTKit allows a control or view to have any number of concurrently
+ registered listeners and listeners can either ask to be notified of only a
+ particular type of event or about all events.
+ </p>
+
+ <p>
+
+ The WRTKit library is physically a set of JavaScript, CSS and image files that
+ are located within a directory called "WRTKit". That directory is copied into
+ the root directory of widgets that wish to use the library. A widget only needs
+ to include a single JavaScript file ("WRTKit/WRTKit.js") from the directory in
+ order to include and initialize the full WRTKit for use in the widget. Once the
+ WRTKit has been added to the widget and initialized, the widget can start using
+ the JavaScript classes that the library defines.
+ </p>
+
+ </div>
+
+<div>
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="WRTKit_Developing_widgets_using_the_WRTKit-GUID-a321db96-0a01-4e55-b24b-96905f40cb5c.html">Developing widgets using the WRTKit</a></div>
+</div>
+</div>
+
+</body>
+</html>
\ No newline at end of file