CA2414378A1 - System and method for controlling user interface features of a web application - Google Patents

System and method for controlling user interface features of a web application Download PDF

Info

Publication number
CA2414378A1
CA2414378A1 CA002414378A CA2414378A CA2414378A1 CA 2414378 A1 CA2414378 A1 CA 2414378A1 CA 002414378 A CA002414378 A CA 002414378A CA 2414378 A CA2414378 A CA 2414378A CA 2414378 A1 CA2414378 A1 CA 2414378A1
Authority
CA
Canada
Prior art keywords
stroke
attribute
style
width
fill
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002414378A
Other languages
French (fr)
Inventor
Gordon Bowman
Peter Barrett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Corel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Corel Corp filed Critical Corel Corp
Priority to CA002414378A priority Critical patent/CA2414378A1/en
Priority to US10/679,181 priority patent/US8032837B2/en
Priority to CA2452460A priority patent/CA2452460C/en
Publication of CA2414378A1 publication Critical patent/CA2414378A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

A system and method of controlling user interface features of a web application is provided. The system comprises a collection of user interface control elements, a collection of skin templates comprising extensible markup language based markup contained as children of a container element, a collection of control element scripts for performing actions associated with the control elements, and an initialization function for directing the processing of one or more control elements in a document object model.
Each control element comprises a name following a predetermined naming convention, common attributes for defining graphical features of the control. element and for associating the control element with the internal state of the core control element, other attributes for defining attributes that affect the intrinsic behavior of the control, and a shin template reference attribute for referencing a skin template. Each script associated with a control element.

Description

System and Method for Controllin;~ User Interface Features of a Web Application FIELD OF THE INVENTION
The invention relates to markup languages. In particular, the invention relates to a system and method for controlling user interface features of web applications.
BACKGROUND OF THE INVENTION
Web designers use markup languages to create anal modify web sites. Graphical User Interfaces (GUI's), also known as user interface (UI) controls, are desirable for building web applications, as they allow the user to interact with the application in a standard, familiar way. UI controls are high-level constructs with data and function methods underlying a visual front-end. They behave in standard, expected manners-changing their states (e.g., selected, unselected, focussed, disabled, etc.), which usually have different appearances, in response to user interaction. For example, clicking on a push-button will cause the button to go into its down-state in response to the 'mousedown' event and back into its up-state in response to the 'mouseup' event.
Another intrinsic behavior of UI controls is that they trigger the execution of predetermined actions in response to specified events, such as the user clicking on them with the mouse.
Hypertext Markup Language (HTML) is currently the most commonly used markup language, or platform, with which to build web applications. HTML is limiting, with poor graphics support (only bitmaps, no vectors), its lack of absolute positioning, its small set of user interface (UI) controls and its inability to describe the appearance of those UI controls (the HTML browser decides on the appearance, and it cannot be overridden). Scalable vector graphics (SVG) is a language for describing two-dimensional graphics in extensible markup language (XML), which may soon become the platform of choice with which to build web applications. SVG provides an author ~~ith a rich set of vector graphics features (as ~,vell as bitmaps) and absolute control over their positioning.
SVG-based web applications create their own UI controls using SVG to describe the visual appearance and script to describe the data and fiznction members, which provide the UI controls with the standard intrinsic behaviors discussed previously. This means, however, that non-developers cannot author the UI portion of the content, a fair amount of script for the UI controls must be transferred to the client (a significant problem for wireless devices) and the UI controls may seem to react sluggishly to user input, due to the nature of script being interpreted at run-time as opposed to native code (e.g. C or C++) being interpreted (and optimized) at compile time.
XUL is an XML markup language for UI controls created by the Mozilla group, specifically for use in their Mozilla HTML web browser. While XUL does offer an extensive list of UI controls, offers limited skinnability (control of appearance) and is not tied to a forms creation/processing/submission model, XUL is intended for use in HTML
browsers and thus does not allow for absolute positioning nor absolute control of the appearance, cannot be easily hooked up to actions and cannot be easily used for forms.
XUL is not supported in the Adobe (TM) SVG Viewer.
XForms is another XML markup language which includes UI controls. XForms was designed for forms, however. XForms only supports UI controls needed for forms, does not allow for absolute control over their positioning and their appearance, cannot be easily hooked up to actions (except those that affect just its own UI controls and its "instance", or forms, data) and is very tightly tied to its forms model.
XForms is not supported in the Adobe SVG Viewer.
Figure 1 shows a typical web display environment 10 for displaying web pages and web applications. A web display environment 10 comprises a browser 11, a viewer 13, a script interpreter 14, and a DOM 15. The browser 11 is the host application, which understands and visually renders hypertext markup language (HTML) and/or extensible hypertext markup language (XHTML). Examples of browsers include Netscape (TM) and Internet Explorer (TM). The browser 11 includes a window which is displayed on the display apparatus, such as a monitor, of an end user computer system. T:he browser 11 typically employs a plug-in architecture, in which third party software (known as the plug-in or viewer 13) can be associated with any file format that is not already natively supported by the browser 1 l and is allowed to render that file within the host browser's 11 window. One type of file that the browser 1 I may be asked to open is a Scalable Vector Graphic (SVG) file having a ".svg" extension. The browser 11 does not natively support the SVG markup language (which is an XML language) and so passes the SVG
-2-file to the SVG viewer 13, which has associated itself to the SVG file format, via the riles of the plug-in architecture of the browser 11.
The viewer 13 comprises software code for parsing the SVG markup, creating a DOM, rendering that DOM to the browser's window, listening for events and dispatching them to their assigned handler script functions, and interpreting/executing those script functions. An example of a viewer 13 is the Corel (TM) SVG Viewer. The viewer uses the SVG file received from the browser 11 to create a DOM 15. The DOM is a hierarchical tree structure of objects in memory, representing the hierarchical XML
markup in the XML text file. The DOM also contains methods {also known as functions or application programming interfaces (API's)) that allow it to be queried or modified.
The viewer 13 may also have access to a script interpreter/engine, which can execute script code 14 created by a programmer for the purpose of making the document non-static (e.g., animation) and/or interactive with the user (e.g., the user can create events with the mouse or keyboard, which cause something to happen) via manipulation of the DOM.
SUMMARY OF THE INVENTION
It is an object of the invention to provide a novel system and method of controlling user interface features of a web application that obviates or mitigates at least one of the problems described above.
In an aspect of the present invention, there is provided a system for controlling user interface features of a web application. The system comprises a collection of user interface control elements, a collection of skin templates comprising extensible markup language based markup contained as children of a container element, a collection of control element scripts for performing actions associated with the control elements, and an initialization function for directing the processing of one or more control elements in a document object model. Each control element comprises a name following a predetermined naming convention, common attributes for defining graphical features of the control element and for associating the control element with the internal state of the core control element, other attributes for defining attributes that affect the intrinsic
-3-behavior of the control, and a skin template reference attribute for referencing a skin template. Each script associated with a control element.
In another aspect of the present invention, there is provided a system for controlling user interface features of a web application. The system comprises a collection of control element scripts for performing actions associated with the control elements, and an initialization function for directing the processing of one or more control elements in a document object model. Each script associated with a control element.
In another aspect of the present invention, there is provided a method of controlling user interface features of a web application. The method comprises the steps of searching fox a designated user interface control element in a document object model, and calling a script associated with the designated control element.
In another aspect of the present invention, there is provided a method of controlling user interface features of a web application. The method comprises the steps of adding a behavior element as a child of a user interface control element, receiving an event which is equal to an event attribute setting in the behavior element, and calling a script associated with the behavior element.
In another aspect of the present invention, there is provided a method of creating a customizable user interface control element having expected behaviours. The method comprises the steps of categorising user interface controls into fundamental core controls, determining variations of a core controls, determining corrnnon attributes of the core control, determining fundamental states for the core control, determining how to allow for absolute positioning of objects the core control, determining how to allow for absolute customization of appearance of the core control, assigning a reference link to the core control, determining templates for skins to allow for the absolute customization of appearance of the core control, determining how to associate behaviors to the core control, and creating a core control element.
In another aspect of the present invention, there is provided computer readable media storing the instructions and/or statements for use in the execution in a computer of a method of controlling user interface features of a web application. The method comprises the steps of searching for a designated user interface control element in a document object model, and calling a script associated with the designated control element.
In another aspect of the present invention, there is provided electronic signals for use in the execution in a computer of a method of controlling user interface features of a web application. The method comprises the steps of searching for a designated user interface control element in a document object model, and calling a script associated With the designated control element.
In another aspect of the present invention, there is provided a computer program product for use in the execution in a computer of a method for controlling user interface features of a web application. The computer program product comprises a collection of control element scripts for performing actions associated with the control elements, and an initialization function for directing the processing of one or more control elements in a document object model. Each script associated with a control element.
BRIEF DESCRIPTIONS OF THE DRAWINGS
Figure 1 shows a typical web display environment for displaying web pages and web applications.
Figure 2 shows a user interface control system, in accordance with an embodiment of the present invention.
Figure 3 is a node representation of a document object model of an example of a file used in the user interface control system, in accordance with an embodiment of the present invention.
Figures 4A to 4D are screen shots of an example of the display of a user interaction with an example of a file used in the user interface control system, in accordance with an embodiment of the present invention.
Figure 5 is a flowchart of an example of a method of creating user interface controls of a web application at load time, in accordance with an embodiment of the present invention.
Figure 6 is a flowchart of a method of creating user interface controls of a web application in response to an event, in accordance with the an embodiment of the present invention.

Figure 7 shows another example of an method of controlling user interface features of a web application, in accordance with an embodiment of the present invention.
Figure 8 shows an example of a method of creating an element for controlling user interface features of a web application, in accordance with an embodiment of the present invention.
Figure 9 shows an example of a method of creating a plurality of elements for controlling user interface features of a web application, in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Figure 2 shows a system for controlling user interface features of a web application 20 in accordance with an embodiment of the present invention. The user interface (LJI) control system 20 comprises a collection (or set) of UI
control elements 22, a collection of UI control skin templates 27, a collection of UI control script 28, and an initialization function 21. Each UI control element 22 comprises a name 23, common attributes 24, other attributes 25, and a skin template reference attribute 26. The name 23 is what the UI control element 22 is called (e.g., button, combobox, slider, etc.). As these UI control elements 22 are not currently part of the scalable vector graphics (SVG) specification, their name 23 are prefixed with a namespace (e.g., "dsvg:") so that the viewer's extensible markup language (XML) parser allows it to be part of the DOM. The common attributes 24 are the attributes that are common to every UI control element 22, which define the graphical features of the UI control elements 22 (e.g., width--"100"), define the UI control's label or associated text (e.g., label--''OK") and position, define the initial state of the UI control element 22 (e.g., disabled="true") and override the default appearance of specific states (described in the associated skin) with new appearances described elsewhere (e.g., down="#skinAlternateDown"). The other attributes 25 define the attributes that are specific to each particular UI control element 22, which affect the intrinsic behavior of the UI control (e.g., toggle--"true" causes a button control to become a "sticky" button, staying down or up after each click). An example of an event occurs when a user clicks on a UI control element displayed in a window of a browser.
The skin template reference attribute 2G provides a reference to the location of the UI
control skin template 27 which the UI control element 22 may access.
The UI control skin templates 27 are associated with the UI control elements 22.
Preferably, there is a one-to-one relationship between UI control elements 22 and UI
control skin templates 27. A UI control skin template 27 is designed to allow for absolute customization of appearance of the UI control. The skin template 27 is referenced via an 'xlink:href attribute (or skin template reference attribute) 26 which is a common attribute of the UI control elements 22. The skin template 27 comprises SVG markup (which can reference bitmap images) contained as children of a 'g' element (a grouplcontainer element), where there is one group per state (e.g. 'up', 'down', 'disabled', etc.). The skin templates 27 may be stored as files referenced by the UI control elements 22.
Designers may modify or replace a skin templates 27 as desired.
Each UI control's instructions (associated data and function members), which define the control's intrinsic behaviors, may be supplied via script 28 (as opposed to native code in the viewer being the alternative), which is indirectly associated to tile UI
control element 22 via the initialization function 21. For example, instructions (or scripts) 28 may include toggling a button's state between 'up' and 'down' when clicked upon with the mouse, or translating (panning) the contents of the document within the display window when the thumb of a scrollbar is dragged with the mouse.
The initialization function 21 associates each UI control element 22 to the script that creates that particular element-both the visual front-end (as SVG
elements in a document object model (DOM)) and the back-end (an object in memory, with data and function members). The initialization function 21 contains instructions for traversing each node in the DOM and for searching and calling functions associated with UI control elements 22 having names following the predetermined naming convention.
An alternative UI control system comprises the initialization file 21, the skin templates 27 and the scripts 28 of the UI control system 20. The collection of UI control elements are provided independently from the alternative DOM manipulation system as markup syntax for a designer (or developer, or any user) to use when modifying an XML
file, such as an SVG document.
The following is an example of a UI control element 22:
_7_ <dsvg:button id="myRectangularRadioButton"
xlink:href--"dsvg/skinButton Default.svg#skinButton"
label--"Click me!"
width="50"
height "40"
x-" 10"
y="zo"
toggle="true"
group----"myRadioButtons"
checked="true"
lab elX="0"
labelY-"-3"
l>
The 'button' element defines a UI control that can be clicked to trigger an action. The 'button' element may be a push button, a checkbox (i.e., a sticky/toggle button) or a radiobutton, depending on the attributes of the element.
The 'button' element contains the name 23:
dsvg:button which follows the naming convention of adding "dsvg:" as a prefix (associated to a particular namespace earlier in the file) to the element name, sa that the viewer's XML
parser will allow these non-standard elements in the DOM. As will be described below, this naming convention will also assist the system 20 to search for UI control elements 22, i.e., all UI control elements22 having this prefix in their name 23. The 'button' element also contains common attributes 24 (or standard attributes) such as 'id', 'label', 'x', 'y', 'width'; 'height, etc. The 'button' element also contains the skin template reference attribute 'xlink:href which is also common to UI control element 22. The attributes common to all UI control elements 22 will be described below.
_g_ The 'toggle' attribute specifies whether the button is a toggle/sticky button or not, i.e. whether the button toggles between 'up' and 'down' states when clicked on or instead switches to the 'down' state when the mouse button is pressed and then back to the 'up' state when the mouse button is released. The 'group' attribute is the name of the group to which the button belongs. If the 'group' attribute is provided, and toggle-"true", then this results in the functionality of a radiobutton, where selecting any of the radiobuttons belonging to that group results in the other radiobuttons in that group becoming unselected. The 'checked' attribute specifies whether the button is down/checked/selected (true) or up/unchecked/unselected (false). The default is set to "false". The 'labelX' attribute specifies the x-coordinate of the label relative to the 'y' attribute. If the 'labelX' attribute is not provided, the label's position is determined by the skin 27. The 'labelY' attribute specifies the y-coordinate of the bottom edge of the label, relative to the 'x' attribute. If the 'labelY' attribute is not provided, the label's position is determined by the skin 2?.
Other example of UI control elements 22 will be described below.
The following is the syntax for the 'button' skin template 27:
<?xml version="1.0"?>
<svg>
<g id--"skinButton">
<g id="label">
<teXt X "" y="" style=""> </teXt>
</g>
<g id="up" display="all">
</g>
<g id="down" display="none">
</g>
<g id="hit" display="none">
</g>
<g id="hover" display="none">
</g>

<g id="focusUP" display="none">
</g>
<g id="facusDown" display="none">
</g>
<g id="disabledUp" display="none">
</g>
<g id="disabledDown" display="none">
</g>
</g>
</svg>
As can be seen in the skin template shown above, a separate group is defined for each possible state of the UI control, where the specific state is identified via the 'id' attribute.
The 'display' attributes are not actually required, as the button's associated script sets them itself, but by making the 'up' group visible and the other invisible, it allows the 'up' state to be easily viewed separately in a viewer, so that the designer can easily get a feel far what the button looks like.
The following is the syntax of an example of a 'button' skin:
<?xml version="1.0"?>
<svg>
<g id="skinButton">
<g id="label">
<text x ="SO" y="13"
style="font-family:'Tahoma';stroke:none;font-size:l2;text-an chor:middle"> <jtext>
</g>
<g id="up" display="all">
<rect x="0" y="0" width="100" height="18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0"
style="stroke-width:l;stroke:white;fill:none"/>
<polyline points="0,18 100,18 100,0"
style="stroke-width:l;stroke:black;fill:none"/>

</g>
<g id="down" display="none">
<rect x="0" y="0" width="100" height="18"
style="fill:rgb(230,230,230);stroke:none'°/>
$ <polyline points="0,18 0,0 100,0"
style="stroke-width:l;stroke:black;fill:none"/>
<polyline points="0,18 100,18 100,0"
style="stroke-width:l;stroke:white;fill:none"/>
</g>
<g id="hover" display="none">
<rect x="0" y="0" width="100" height="18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0"
style="stroke-width:2;stroke:white;fill:none"/>
<polyline points="0,18 100,18 100,0"
style="stroke-width:2;stroke:black;fill:none"/>
<rect x="1" y="1" width="98" height="16"
style="fill:none;stroke:#199DBF"/>
</g>
<g id="disabled" style="opacity:0.5"
display="none">
<rect x="0" y="0" width="100" height="18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0"
style="stroke-width:l;stroke:white;fill:none"/>
<polyline points="0,18 100,18 100,0"
style="stroke-width:l;stroke:black;fill:none"/>
</g>
</g>
</svg>
As can be seen in the sample skin file above, the label uses the Tahoma font, with a size of 12, and its middle appears SQ units to the right and 13 units below the top-left corner of the button, as defined by its 'x' and 'y' attributes. Its states are drawn using light-gray rectangles and black and white polylines, and the 'hover' stare (which appears When the mouse cursor is overtop of the button) includes an extra light-gray rectangle with a blue outline/stroke.
Other examples of UI control elements 22 will be described below.
The following is an example of SVG markup used in association with an embodiment of the UI control system 20.
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
"http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-st ylable.dtd">
<svg xmlns:dsvg="http://corel.org/dsvg" onload="dsvgInit(evt)"
width="256" height="256">
<script type="text/ecmascript" xlink:href="dsvg/dSVG.js"/>
<script type="text/ecmascript" xlink:href="dsvg/BaseUI.js"/>
<script type="text/ecmascript" xlink:href="dsvg/button.js"/>
<script type="text/ecmascript"
xlink:href="dsvgjconstraint.js"/>
<!-- Create a grey background. -->
<rect x="0" y="0" width="512" height="512"
style="fill:rgb(230,230,230)"/>
<!-- Create various types of buttons, with no associated behaviours. -->
<dsvg:button id="myPushButton" label="Click me!" x="50.5"
y="10.5" xlink:href="dsvg/skinButton Windows.svg#skinButton"/>
<dsvg:button id="myCheckbox" label="Check me!" x="50.5"
y="50.5" toggle="true"
xlink:href='~dsvg/skinCheckbox Default.svg#skinCheckbox"/>
<dsvg:button id="myRadioButtonl" selected="true" label="Check me!" x="50.5" y="100.5" toggle="true" group="myGroup"
checked="true"
xlink:href="dsvg/skinRadioButton Default.svg#skinRadioButton"/>

<dsvg:button id="myRadioButton2" label="No, me!" x="50.5"
y="125.5" toggle="true" group="myGroup"
xlink:href="dsvg/skinRadioButton Default.svg#skinRadioButtbn"/>
<dsvg:button id="myBigPushButton" label="Look how big I am!"
x="50.5" y="150.5" width="150" height="100"
xlink:href="dsvg/skinButton Windows.svg#skinButton"/>
</svg>
Figure 3 is a node representation of the DOM of the above button-Ol.svg 30.
The DOM contains a node for the root 'svg' element 31. The DOM representation also contains script nodes 32 and a rect (rectangle) node 33 and UI control element nodes 34 for buttons (button). The <dsvg:button> UI control element 34 contains the prefix "dsvg:" in the name 23.
Figures 4A to 4D are screen shots of the file button-Ol.svg. Figure 4A is a screen shot of the file button-01.svg in its initial state, with the mouse cursor not over any buttons. Figure 4B is a screen shot of the display after the user has clicked on the checkbox, clicked on the bottom radiobutton, and is now hovering over the top push-button. Figure 4C is a screen shot of the display when the user is pressing the mouse button down on the top button. Figure 4D is a screen shot of the display when the user has let go of the mouse button and moved it away from the UI controls, leaving the top button in its 'focus' state (since it is the last-used UI control). Since the skin template used by the top button does not have an appearance defined for the 'focus' state, the 'hover' state's appearance is used instead.
Figure 5 shows an example of a method of creating UI controls of a web application at load time (50) in accordance with the UI control system 20. The initialization function 21 is executed/run by the viewer's script interpreter, in response to an "onload" event that the viewer generates when it loads an initial file.
This can be achieved by adding an onload="dsvglnit()" attribute to the root 'svg' element.
The method (50) begins with the initialization function 21 searching the DOM
(beneath the root 'svg' element) for a designated UI control element (51}. A designated UI
control element is a UI control element with a predetermined prefix (which is associated to a particular namespace using the 'xmlns' attribute of the root 'svg' element) to the name of the name of the UI control element in the DOM. Whether or not the first DOM
element is a designated UI control element is determined (51 ). If the first element is a designated UI
control element (52) (e.g., dsvg:button), then a function name associated with the designated UI control element is generated (53) and the function is called (54). If a designated UI control element is not found (52), or after a generated function is called (54), the method determines if there are more elements in the DOM to search (55). If there are more elements in the DOM (55), the initialization function determines if the next sibling element is a designated element (56). Steps (52) to (56) are repeated until all elements in the DOM are searched. Once there are no more elements in the DOM
to search (55), then the method is done (57).
The method described in Figure 5 will be described using the examples of Figures 2, 3, and 4A to 4D. The viewer's script interpreter will execute the dsvgInit() function at load time (i.e., after the DOM has been built and the scripts retrieved and loaded into memory), which will traverse each node in the DOM (56), searching for elements whose names 23 begin with the "dsvg:" prefix (i.e., searching for designated UI
control elements 22). The <dsvg:button> node is found. Using a priori knowledge of the naming conventions for elements and functions, the string "dsvgButton(element, evt)"
is created, turned into a function and called. This function finds all of the attributes of the 'dsvg:button' element, whose corresponding DOM object was passed in as the parameter 'element', and retrieves their values using the getAttribute(~ DOM API. It then creates a new instance of the button class-creating an object in memory, which contains data and function methods that provide the instructions for how to build its visual front-end and how to behave in response to events generated by the user. Using the value of the 'xlink:href attribute 26, it retrieves the skin template 27 (v~ahich may be in a separate file) and uses it to create the visual front-end of the button by creating the SVG
elements in the DOM, in accordance with the skin template 27, and modifying them using some of the other attributes 24, such as 'x', 'y', 'width', 'height', 'label', etc. Other attributes, such as 'toggle' are used to set up how the button will behave and react to user input, which requires that appropriate event listeners be placed (using the addEventListener() DOM
API) on each group containing the visual appearance of each state, so that the user can interact with the button. Once the dsvgButton() function has completed its instructions, the initialization function 21 then looks for more designated UI control elements 22. It finds four more designated UI control elements 22 and handles them in the same manner as it handled the first. After that, the initialization function 21 does not fmd any more designated UI control elements 22, and so its job is finished.
When the user positions the mouse pointer over any of the buttons (Figures 4A
to 4B), the viewer creates an "onmouseover" event, which the event listener hears and dispatches to the button class's appropriate handler function. If the button was in an 'up' state, this function sets the button's state to be the 'hover' state, causing the visual appearance to change to the appearance associated with th.e 'hover' state.
Since only the 'g' element containing the associated appearance for the 'up' state has an 'onmouseover' event listener, only the 'up' state will respond to that event by putting the button in the 'hover' state. If the button is in the 'hover' state and the user moves the mouse pointer away from the button, the "onmouseout" event is generated and passed to its handler function, which changes the button's state back to whatever it was before it was changed to the 'hover' state.
When the user clicks the mouse pointer down oven any of the buttons (Figures to 4B), the viewer creates an "onmousedown" event, which the event listener hears (if the button is not in a 'disabledUp' or 'disabledDown' state, as the appearances associated with these states have no "onmousedown" event listeners) and dispatches to the button class's appropriate handler function. If the button is a toggle-button (i.e., if its 'toggle' attribute equals 'true'), then the "onmousedown" handler function sets the button's state to be'down' if it was in the 'up' state (previous to the 'hover' state) or sets it to be 'up' if it was in the 'down' state (previous to the 'hover' state), which causes the visual appearance to change appropriately. If the button is a radio-button (it's a toggle-button but also has a 'group' attribute defined), then the "onmousedown" handler function will be called, if the button was in the 'up' state, causing the button to switch to the 'down' state, causing its visual appearance to change appropriately and also causing whichever button belonging to the same radiogroup that was previously in the 'down' state to switch to the 'up' state. If the button is a push-button (i.e., its 'toggle' attribute equals 'false'), then the "onmousedown" handler function sets the button's state to be'down' if it was in the 'up' state (previous to the 'hover' state). When the user lets go of the mouse button, the viewer generates the "onmouseup" event, whose handler function sets the button back to the 'up' state.
If a toggle-button's state changes from 'up' to 'down' or from 'down' to 'up', or a push-button's state changes from 'up' to 'down' and then 'up' again, then the processActions() handier function is called, which searches all the children of the 'button' element, looking for any elements that begin with the "dsvg:" prefix. It does not find any, and so its job is done.
In the example described above, the function was dynamically generated, i.e., a string was created, having the same prefix as the designated element (without the colon) and the same name as the designated element (except with the first letter capitalized) and with the designated element's object and the trigger event object passed in as two parameters. The skin template 27 and the script 28 or set of instructions for the operations of the generated function is stored in a predetermined format either in the document text file or in a separate text file on a file system or webserver, and is loaded into memory by the viewer at load time. Alternatively, the initialization function may search for elements that begin with the "dsvg:" prefix and, using an 'if or 'switch' statement, determine the appropriate predetermined function to call, which again are expected to have been already loaded in memory by the viewer.
It is advantageous, though, for the function names to be generated dynamically, so that the main script file containing the initialization function 21 does not need to be updated whenever a new type of UI control element 22 has been created and is available for use.
As well, while the functions 28 that handle each type of UI control element 22 could be stored all in one file, it is advantageous to store them in separate files and reference them in the document only if their corresponding UI control element 22 is being used, so that only the code that is required is actually transmitted.
In order for UI control elements 22 to execute desired actions, behavior elements may be inserted as children of the UI control elements 22 (the observer elements). The behavior element will be executed sequentially for each behavior element whose 'event' attribute's value matches the observer element's event (e.g., onmouseover, onclick, etc.).
If the 'event' attribute is not provided, 'onclick' will be assumed. In the example below, clicking on the 'Red' button will colour the circle red, while clicking on the 'Blue' button will colour the circle blue.
<button id="buttonRed" x="10'° y="10" label="Red"
xlink:href="#skinButton">
<setAttribute elementID="myCircle" name="fill"
value="red"/>
</button>
<button id="buttonBlue" x="10",y="40" label="Red"
xlink:href="#skinButton">
<setAttribute elementID="myCircle" name="fill"
value="red"/>
</button>
<Clrcle id="myClrCle" X="1~0'" y="1~" r="5'i fill="green"/>
Alternatively, the behavior elements can (optionally) be grouped as children of an <action> element, which can be hooked up to the observer element using a <listener>
element. For example:
<button id="buttonRed" x="10" y="10" label="Red"
xlink:href="#skinButton"/>
<button id="buttonBlue" x="10" y="40" label="Red"
xlink:href="#skinButton"/>
<circle id="myCircle" x="100" y="10" r="5"
fill="green"/>
<action id="setRed">
<setAttribute elementID="myCircle" name="fill"
value="red"/>
</action>

<action id="setRed">
<setAttribute id="setBlue" elementID="myCircle"
name="fill" value="blue"/>
</action>
<listener event="onclick"
observerElementID="buttonRed" handlerID="setRed"/>
<listener event="onclick"
observerElementlD="buttonBlue" handlerID="setBlue"/>
Figure 6 shows an example of a method of creating UI controls for a web application in response to an event (60) in accordance with the UI control system 20. The UI control system 20 is built on top of an event-driven architecture, such as SVG, and XML. Once an event occurs on an SVG element (i.e., the observer element), the method (60) begins with passing the event object to a handler function (61). The handler function determines if the first child element of the SVG element associated with the object is a designated element (62). If a designated element is found (63), then the handler function determines if the event attribute 24 of the designated element is equal to the event that has occurred (64). If the event attribute 24 of the designated element is equal to the event which triggered this method (60), then the name of the function associated with the designated element is automatically generated (65) (in accordance with a predetermined function naming convention) and called (66). Preferably, the predetermined function naming convention is similar to the predetermined element naming convention.
If a designated element is not found (63), or if the event attribute 24 of the designated element does not match the trigger event (64), or after a generated function is called (66), the event handler determines if there are more child elements of the observer element to search (67). If there are more child elements of the observer element (67), the event handler determines if the next child is a designated element (68). Steps (63) to (68) are repeated until all child elements of the observer element are searched. Once there are no more child elements to search (67), then the handler function is done (69).
The initialization file 21 may also search for attributes in elements that are not UI
control elements 22. Scripts 28 may be created and associated with the 'dsvg' attribute in _Lg_ the same manner as with UI control elements. Script functions 28 for 'dsvg' attributes only operate on the object associated with the existing element to which a 'dsvg' attribute is added. A designer may add the 'dsvg' attribute in an SVG file, or any other XML file to be parsed by the viewer 13.
Figure 7 shows another example of an method of controlling UI features of a web application {70), in accordance with the UI control system 20. After a user (or designer) marks up an SVG file using the markup syntax of the UI control system and the SVG file is loaded into a viewer 13, the viewer 13 creates an "onload" event which is received by an <svg> element. The method (70) begins with the initialization function 21.
A
dsvglnit() initialization function 21 is called (71) by the viewer's script interpreter, which traverses the nodes of the DOM of the SVG file. The initialization function 21 determines if the first DOM element is a designated element (72). If a designated element is found (73) and the 'event' attribute of the designated element is set to "onload" (74), then the name of the function associated with the designated element is automatically 1 S generated (75) (in accordance with a predetermined function naming convention) and called {76). Preferably, the predetermined function naming convention is similar to the predetermined element naming convention. If a designated element is not found (73}, the initialization function 21 determines if the regular SVG element contains any designated attributes (77) (which begin with the "dsvg:" prefix). If any designated attributes are found (77) (e.g., dsvgaoolTip "#skinTooltip traditional"), then the names of the functions associated with the designated attributes are automatically generated (78) (again, in accordance with a predetermined function naming convention) and called (79).
If a designated attribute is not found (?7), then the initialization file 21 determines if the regular SVG element has any child elements (80). If the regular SVG
element has a child element (80) and the child element is a designated element 22 (81), then the initialization file 21 determines the value of the designated element's 'event' attribute (i.e., the event that will trigger the execution of the designated element's associated function) and adds that event listener to the parent SVG element (82) (via the addEventListener() DOM API). If the child element is not a designated element 22 (81), then the initialization file 21 determines if there are any other children of the regular SVG
element (83). If there are more children (83), then the initialization file searches the next child of the regular SVG element (84). Steps (81) to (84) repeat until there are no more children of the regular SVG element.
If there are no more children of the regular SVG element (83), or after a generated function is called (76, 79), or if the event attribute of a designated element is not equal to "onload" (74), or there are no more child elements in a regular SVG element to search (80), the initialization file 21 determines if there are more elements in the DOM to search (85). If there are more elements in the DOM (85), the initialization file determines if the next sibling element is a designated element (86). Steps (83) to (86) are repeated until all elements in the DOM are searched. Once there are no more elements in the DOM
to search (85), then the initialization function 21 is done and the viewer 13 waits for an event to occur (87).
Once an event occurs on an SVG element (i.e., the observer element), that event object is passed to any handler function with which it has been associated (88). The handler function changes the UI control's state (89) to whatever it should be, according to the logic inherent in the specific UI control, which causes the visual appearance to change (the 'g' element containing the SVG for the previous state gets its 'display' attribute set to 'none', while the 'g' element containing the SVG for the new state gets its 'display' attribute set to 'all'). If the UI control's logic dictates that this change in state requires that any associated behavior elements be run (90), then the event object is passed to the processActions() handler function (91 ). The processActions() handler function traverses all children of the UI control element and performs any action required (92).
If the UI
control's logic does not dictate that the change in state requires any associated behavior elements to be run (90) or after the processActions() handler function has performed the required actions (92), then the event handler function is done and the viewer waits for another event to occur (87).
Referencing Attributes To create an application, a designer often desires to reference the current value of another element's attributes. The system 20 allows for the following syntax to perform this reference:

frameID.objectID.docID.elementlD.childElementID@attributeName%
If not specified, the 'framelD', 'objectlD' and 'doclD' are assumed to be the current frame, object and document. In the following example, checking and unchecking the checkbox will disable and enable the textbox.
<button id="myCheckBox" x="10" y="10" toggle="true"
label="Disable slider" xlink:href="#skinCheckbox">
<setAttribute elementID="myTextBox"
name="disabled" value="%myCheckBox.checked%"/>
</button>
<textBox id="myTextBox"/>
The system 20 also allows for parenthesis and mathematical operators within the expression. For example, in the markup:
<dsvg:button id="button" x="50" y="50°' label="foo"
toggle="true" group="pickPanGroup"
xlink:href="skinButton Windows.svg#skinButton"
selected="true" j>
<dsvg:button id="button 2" x="200" y="200" label="foo"
toggle="true" group="pickPanGroup"
xlink:href="skinButton Windows.svg#skinButton"
selected="true" />
an attribute "foo %button (button@x - 48)@x + 14 * button@y% bar%button@x%" is parsed as follows:
'foo %button_(button@x - 48)@x + 14 * button@y% bar%button@x/2%' -> 'foo %button (50 - 48)@x + 14 * button@y% bar%button@x/2%' > 'foo %button (2)@x + 14 * button@y% bar%button@xl2%' ->'foo %button 2@x + 14 * button@y% bar%button@x/2%' ->'foo %200 + 14 * 50% bar%button@x/2%' -> 'foo %200 + 700% bar%button@x/2%' -> 'foo 900 bar%button@x/2%' ->'foo 900 bar25' Figure 8 shows an example of a method of creating an element for controlling user interface features of a web application (200) in accordance with the UI
control system 20.
The method (200) begins with categorising low level UI controls into abstractions or fundamental core UI control groupings (201). Next, common attributes of a core UI
control grouping are determined (202). Next, other attributes 25 of the core UI control grouping are determined (203). Next, a skin template for the core UI control grouping is created (204). Next, a core UI control element 22 having the common attributes and26, other attributes 25 is create along with a skin template 27 of the UI
control grouping (205). The method is done (206).
Figure 9 shows an example of a method of creating a plurality of elements for controlling user interface features of a web application (210) in accordance with the UI
control system 20. The method (210) begins with organizing low level UI
control elements 22 into groupings of similar UI control elements (211). Next, core UI
control names are designated to the groupings (212). Next, variations of a grouping are analyzed to determine common attributes of the grouping (213). A list of common attributes used to describe the variations is compiled (214). Next, fundamental states of the core UI
control grouping are determined (215). These fundamental states include different appearances that supply the intrinsic behavior of the core UI control (e.g. a UI control in a 'disabled' state does nothing when clicked upon). The fundamental states include "up", "down", "hover", "hit", "focusUP", "focusI?own", "disabledUp" and "disabledDown".
Once the fundamental states are determined (85), a method of allowing for absolute positioning of UI controls is determined (216). For example, providing x and y co-ordinates. Next, a method of allowing for absolute customization of appearance of the core UI control is determined (217), so that the appearance of the UI controls is in no way determined by the viewer or by the script that creates the UI controls. This step (217) goes beyond a simple modification of styling properties, which would allow you to specify the UI control's fill-colour or stroke-colour, for instance. Instead, the appearance for each possible state is defined within a skin template, whose location is defined by the 'xlink:href attribute, in the same manner in which the 'xlink:href is typically used within regular SVG markup (e.g., xlink:href--"dsvg/skinButton Default.svg#skinButton"
means that the skin template is an element whose 'id' attribute is "skinButton"
within the file skinbutton Default.svg within the dsvg directory). Within the skin template 27, a 'g' element (group container element) can exist for each possible state, within which any SVG markup is allowed (note that if the UI control system 20 is used within an SVG
viewer, the skin template must contain SVG markup; if the UI control system 10 is used within a different viewer, the markup within the skin template must conform to the markup that the viewer expects). Thus the UI control's back-end (the script object, with I S data and function members) has no pre-conceived notions of what the UI
control actually looks like for its various states. This poses problems for resizing the UI
controls based on the 'width' and 'height' attributes, however. It is a simple matter to compare the UI
control's width and height with the desired width and height, and from that calculate the scaling that is required in the x- and y-directions, and then apply those scale factors to the UI control's visual front-end (a modified version of the skin template) via a transformation (in SVG, using the 'transform' attribute). But that causes the UI control to not only change dimensions, but it also stretches or squishes all the visual elements and changes their absolute positions with respect to one another-the label may be stretched or squished and may be further from or closer to the UI control than originally intended, the stroke-width's may be thicker or thinner, the button in a comboBox, may be stretched, etc. The solution is to give the designer the capability of defining the constraints, directly in the skin template, that will provide the detailed information needed to "intelligently"
resize the UI control. For example, one might specify that the label always remain unsealed and that its position always be 3 pixels above the UI control, or that the the stroke-width always be equal to 1, or that the button of a comboBox always has its width automatically adjusted so as to preserve its original aspect ratio.

Even if instead of applying the scale factors to the UI control via a transformation, the scale factors were instead used to directly modify all of the coordinates for all of the various types of elements used for the UI control's appearance (e.g., rect, circle, path, line, polyline, etc.), that could still result in some of the same problems. For instance, the designer might intend for the label's position and/or size to scale or not.
Thus the constraints must still be defined within the skin template Once all of the above determinations have been performed, other attributes 25 that the core UI
control element needs are determined (218). A core UI control element 22 is then created. A
name is assigned to a core UI control element 22 pursuant to a naming convention (219). Next the common attributes 24, of the UI control grouping are assigned to the core UI
control element 22 (220). The other attributes 25 of the UI control grouping are then assigned to the core UI control element 22 (221). Finally, the skin template reference 26 is assigned to the core UI control element 22 (222). The skin template 27 comprises descriptions of the visual appearance of each state for the UI control. The set of instructions (i.e., the script) 28 that creates the UI control's back-end (i.e., the object in memory with data and function members, which determine how to construct the UI control using the skin template 27, what intrinsic behaviors to exhibit and how to interact with the user) are not directly associated to the UI control element 22, but rather are indirectly associated to the UI control element 22 via the initialization function 21 (i.e., the UI control element 22 does not actually reference the script function 28 or the script file 28 that creates and controls the UI control). The core UI control element's 22 set of instructions (script) 28 may be stored in an independent file. Once all core UI control elements 22 have been created (223), the method is done (224). Other steps may be added to the method (210).
Default settings may be initiated for the core UI control elements 22, if desired.
There are many advantages to the UI control system 20. The UI control system encompasses general UI controls desired to build web applications. The UI
control system 20 allows for absolute positioning, absolute control of the appearance, and may easily be hooked up to actions, defined via markup or script functions, that affect any element in a DOM. The UI control system 20 may be used for forms. However, the control system 20 is not tied to a model specifically intended for forms (i.e., does not force the author to jump through hoops to create an application which does not use forms).
The UI control system 20 assists web designers with no programming skills to create dynamic, interactive web applications. It also aids experienced programmers to create dynamic, interactive web applications much more easily and rapidly.
Because the UI control system 20 involves an XML markup language (as opposed to just script functions), the attributes and data and even the elements themselves can be made to be data-driven at run-time, using (at design-time) existing or new software that allows one to visually map input XML markup to output XML markup, resulting in an extensible stylesheet language transformation (XSLT) code (or any other language useful for XML
transformations) which will actually modify the UI control elements 20 based on the input XML data/markup.
The UI control system 20 can also be natively-implemented, accessing the exposed DOM API's in the same manner as the script implementation. A native implementation could be much faster because unlike script, which gets interpreted at run-time, native code (e.g. C++ or C) gets interpreted at compile time and gets optimized by the compiler. The natively-implemented UI control system 20 could also access any unexposed, lower-level object model API's directly, rather than the exposed higher-level DOM API's, which could further improve performance. If natively implemented, the amount of data needed to be transferred may be greatly reduced, since there is no script that needs to be transmitted, which is especially beneficial for wireless devices with low bandwidth and small memory. Using a markup language for the UI control elements 22 is also beneficial because it allows for the possibility of further reducing the file size by creating a binary version of the markup language that employs opcodes-predetermined arrangements of bits (1's and 0's) that correspond to particular element names and attributes. Unlike textual markup, which must be parsed (compared to predetermine strings/text to establish the meaning of the text) in order to create the DOM, binary opcodes can be compared to identical binary opcodes, which is much faster than string comparisons, in order to build the DOM much faster.

The UI control system 20 according to the present invention may be implemented by any hardware, software or a combination of hardware and software having the above described functions. The software code, either in its entirety or a part thereof, may be stored in a computer readable memory. Further, a computer data signal representing the software code which may be embedded in a carrier wave may be transmitted via a communication network. Such a computer readable memory and a computer data signal are also Within the scope of the present invention, as well as the hardware, software and the combination thereof.
While particular embodiments of the present invention have been shown and described, changes and modifications may be made to such embodiments without departing from the true scope of the invention.
List of UI Control Elements, Attributes and Skin Templates Some examples of UI control elements 22, common attributes 24 and 26, skin templates 27 and examples of skins, in accordance with the UI control system 20, are provided below. Other UI control elements, attributes and skins may be created. The provided UI control elements, attributes and skins are examples of one implementation of a DOM manipulation markup language.
Attributes Common to All UI Controls (24 and 261 xlink: href--" <ura>"
A reference to the skin's parent element, stored either internally in the <defs>
block, or in an external file. (The skin template reference attribute 26).
id="name"
Standard XML attribute for assigning a unique name to an element.
label=°'strirzg"
The text associated with the UI control, the position of which is determined by the skin, unless overndden by the 'labelX' and 'labelY' attributes.

x="<coordinate>"
Specifies the x-coordinate of the left edge of the UI control. If not provided, the default is zero.
y="<coordinate>"
Specifies the y-coordinate of the top edge of the UI control. If not provided, the default is zero.
width="<length>"
Specifies the width of the UI control. If not provided, the width is determined by the skin.
height="<length>"
Specifies the height of the UI control. If not provided, the height is determined by the skin.
preserveAspectRatio="(true ~ false)"
If'width' or'heighf is given, the other dimension is automatically calculated so as to preserve the UI control's aspect ratio. If both'width' and'heighf are given, this attribute is ignored.
labelX="<coordinate>"
Specifies the x-coordinate of the left edge of the label, relative to the 'y' attribute.
If not provided, the label's position is determined by the skin. Note: It is currently relative to wherever the skin specifies the label to be, but this will be changed.
labelY="<coordinate>"
Specifies the y-coordinate of the bottom edge of the label, relative to the 'x' attribute. If not provided, the label's position is determined by the skin.
Note: It is currently relative to wherever the skin specifies the label to be, but this will be changed.
disabled=(true ~ false) Specifies whether the UI control is disabled (true) and cannot be used, or not (false).
state hover="name"
Specifies the ID of the UI control's <state> child element, to override the appearance of the "hover" state, as defined in the skin.
state focus up="name"
Specifies the ID of the UI control's <state> child element, to override the appearance of the "focus up" state, as defined in the skin.
state focus down="name"
Specifies the m of the UI control's <state> child element, to override the appearance of the "focus_down" state, as defined in the skin.
state up="name"
Specifies the ID of the UI control's <state> child element, to override the appearance of the "up" state, as defined in the skin.
state down="name"
Specifies the ID of the UI control's <state> child element, to override the appearance of the "down" state, as defined in the skin.
state hit="name"
Specifies the ID of the UI control's <state> child element, to override the appearance of the "hit" state, as defined in the skin.
state disabled,up="name"
Specifies the ID of the UI control's <state> child element, to override the appearance of the "disabled up" state, as defined in the skin.
state disabled down="name"
Specifies the ID of the UI control's <state> child element, to override the appearance of the "disabled down" state, as defined in the skin.

L1I Control Elements 22 The 'button' element The 'button' element defines a control that can be clicked to trigger an action. It can be a push button, a checkbox (same as a sticky/toggle button) or a radiobutton, depending on its attributes.
Attribute definitions:
%standard attributes%
The standard attributes, such as id, label, etc.
toggle="(true ~ false)"
Specifies whether the button is a "toggle" or "sticky" button, meaning that it toggles between "up" and "down" states when clicked on. A checkbox has toggle="true".
group="string"
The name of the group that the button belongs too. If provided, and toggle="true", this results in the functionality of a radio button.
checked="(true ~ false)"
Specifies whether the button is down/checked (true) or up/unchecked (false). The default is 'false'.
IabelX="<coordinate>"
Specifies the x-coordinate of the left edge of the label, relative to they' attribute. If not provided, the labeYs position is determined by the skin.
IabelY="<coordinate>"
Specifies the y-coordinate of the bottom edge of the label, relative to the 'x' attribute. If not provided, the label's position is determined by the skin The 'calendar' element The 'calendar' element defines a calendar control, displaying the specified month of the specified year.
Attribute definitions:
year="integer°' Specifies the year for the calendar to display.
month="integer"
Specifies the month for the calendar to display.
selectable="(all ~ weekdays ~ weekends)"
Specifies what days can be selected by the user.
multiSelect="(true ~ false)"
Specifies whether the user can select multiple days (true) or not (false).
The 'comboBox' element The 'comboBox' element defines a comboBox control, used to display a list of items, from which only one can be selected. It is a combination of a textbox and a listbox. There are three types:
An editable textbox with a drop-down listbox.
An editable textbox with a fixed-size listbox.
A non-editable drop-down listbox.
Attribute definitions:
%sta~zdard attributes The standard attributes, such as id, label, etc.
dropdown="(true ~ false)"
Specifies whether the comboBox has a dropdown list (true).
editable="(true ~ false)"

Specifies whether the comboBox is editable (true) or not (false). If editable, typing text and pressing Enter results in a new <item> element being created as a child of the <comboBox>, with its °value' attribute set to the text just entered.
value="strihg"
The value of the currently selected item's 'label' attribute.
name="string"
The value of the currently selected item's 'name' attribute, which is not displayed.
selectedID="isateger"
The value of the currently selected item's 'id' attribute.
The 'contextMenu' element The 'contextMenu' element defines a menu that is associated with a particular element or group of elements, which appears at the position of the mouse pointer when right-clicking on an element.
Attribute definitions:
%stahdard attributes%
The standard attributes, such as id, label, etc.
eventSaurce="name"
Specifies the ID of the element that triggered the contextMenu to appear.
This attribute gets automatically populated for reference purposes. It should never be set via markup.
valu e="string"
The value of the currently selected item's 'label' attribute. This represents the initial item selected. When a new item is selected, the 'value' attribute is automatically updated to reflect the 'label' attribute of the selected item.

name="stri:ag"
The value of the currently selected item's 'name' attribute, which is not displayed.
selectedID="iHteger°' The value of the currently selected item's 'id' attribute.
The 'date' element The 'date' element defines properties for a particular date for its parent calendar control. It must be a child of a 'calendar' element.
Attribute definitions:
id="name"
Standard XML attribute for assigning a unique h~zme to an element.
year="integer"
Specifies the year for this particular date.
month="integer"
Specifies the month for this particular date.
day="intege~'°
Specifies the day for this particular date.
name="strihg"
Specifies a hidden string to associate with this particular date (which, unlike'id', does not need to be unique). e.g. "HOLIDAY".
selectable="(true ~ false)"
Specifies whether this particular date is selectable (true) or not (false).
label="string"
Specifies the text label to be displayed for this particular date.

The 'dialog' element The 'dialog' element defines a window container, specifically for the purpose of collecting data which can be accepted or cancelled. It has inherent Accept/OK, Cancel, Help and Info buttons.
Attribute definitions:
showTitle="(true j false)"
Specifies whether to display a titlebar (true) or not (false). If true, the title is obtained from the 'label' attribute.
showMinimizeButton=°'(true ~ false)"
Specifies whether to display the minimize button or not.
showlVlaximizeButton="(true ~ false)"
Specifies whether to display the maximize button or not.
showCloseButton=" true j false)"
Specifies whether to display the close button or not.
showAcceptButton="(true j false)"
Specifies whether to display the AcceptlOK button or not.
showCanceIButton="(true j false)"
Specifies whether to display the Cancel button or not.
showHelpButton="(true j false)°' Specifies whether to display the Help button or not.
showInfoButton="(true j false)"
Specifies whether to display the Information button or not.
modal=''(true ~ false)"
Specifies whether the window is modal (true) or modeless (false).
movable=" true j false)"

Specifies whether the window is movable (true) by clicking on the titlebar and dragging, or not (false).
state="(minimized ' maximized ~ normal)"
Specifies the initial state of the window. If the Minimize or Maximize buttons are pressed, this attribute is automatically updated.
The 'frame' element The 'frame' element defines a container element.
Attribute definitions:
xlink:href--"<ura>"
Specifies the document to display within the 'frame' container.
The 'item' element The 'item' element defines a particular item of a comboBox, listBox, listView, contextMenu or menuBar. It can only exist as a child of these elements.
Attribute definitions:
id="name"
Standard XML attribute for assigning a unique name to an element.
accessKey="string"
The shortcut key which, when pressed, selects this item. Usually the first letter of the displayed string. If not unique among the 'item' elements, repeated striking of this key will select the next item with that 'accessKey'.
label="string"
The displayed text of this item.
name="string"

The hidden text of this item. Optional.
xlink:href--"<urc>"
A reference to the parent element of a graphic, stored either interally in the <defs> block or in an external file, to be displayed for that item.
anything="string"
Any attribute name at all, in which to store data. e.g. 'time', 'date', 'price', etc. Used only for the 'listView' element.
The 'listBox' element The 'listBox' element defines a listBox control, used to display a list of items, from which one or many can be selected. Unlike the 'comboBox' element, it cannot be a drop-down list but is instead of a specified size. If all its items cannot be displayed within that size, scrollbars automatically appear.
Attribute defihitiohs:
I S %standard attributes The standard attributes, such as id, label, etc.
multiSelect="(true ~ false)"
Specifies whether more than one item can be selected (true) or not (false).
editable="(true ~ false)"
Specifies whether the listbox is editable (true) or not (false). If editable, typing text and pressing Enter results in a new <item> element being created as a child of the <listbox>, with its 'value' attribute set to the text just entered.
valu e="string"
The value of the currently selected item's 'label' attribute. This represents the initial item selected. When a new item is selected, the 'value' attribute is automatically updated to reflect the 'label' attribute of the selected item.

name="string"
The value of the currently selected item's 'name' attribute, which is not displayed.
selectedID="integer"
The value of the currently selected item's 'id' attribute.
The 'listView' element The 'listView' element defines a listView control, used to display a columnar list of items, from which one or many can be selected. 'Unlike the 'combobox' element, it cannot be a drop-down list but is instead of a specified size. If all its items cannot be displayed within that size, scrollbars automatically appear.
The listView control allows for any number of columns-each of which can be visible or not, editable or not, and can have its own formatting options, which include all of the formatting options available to the 'textBox' element. It also allows for column headers, column resizing (by dragging the column separator borders) and list sorting (by clicking on the header buttons).
Attribute definitions:
%standard attributes The standard attributes, such as id, label, etc.
multiSelect="(true ~ false)"
Specifies whether more than one item can be selected (true) or not (false).
editable="(true ~ false)"
Specifies whether the listbox is editable (trrue) or not (false). If editable, typing text and pressing Enter results in a new <item> element being created as a child of the <listbox>, with its 'value' attribute set to the text just entered.
display="string"

A semicolon-delimited list of the names of the attributes in all of the listbox's <item> children that is to be actually displayed, in that order.
anyth ing="string"
Any attribute name at all, in which to store data. e.g. 'time', 'date', 'price', S etc. These attributes must also appear in the listView's child 'item' elements. They represent the initial item selected. When a new item is selected, these attributes are automatically updated to reflect the attributes of the selected item.
selectedID="integer"
The value of the currently selected item's 'id' attribute, if it has one.
The 'menuBar' element The 'menuBar' element defines a container for menu items. The expected children are 'item' elements.
Attribute definitions:
%standard attributes%
The standard attributes, such as id, label, etc.
value="sting"
The value of the currently selected child 'itc;m' element's 'label' attribute.
This represents the initial item selected. When a new item is selected, the 'value' attribute is automatically updated to reflect the 'label' attribute of the selected item.
name="string"
The value of the currently selected child 'item' element's 'name' attribute, which is not displayed.
hideGrippy=" (true ~ false "
Specifies whether to hide the grippy (true) or not (false).

The 'menuSeparator' element The 'menuSeparator' element defines a separator to be displayed between 'item' elements. It can only exist as a child of comboBox, listBox, listView, contextMenu or menuBar.
S Attribute definitions:
id="name"
Standard XML attribute for assigning a unique name to an element.
xlink:href--"<uri'>"
A reference to the parent element of a graphic, stored either interally in the I O <defs> block or in an external file, to be displayed for that item. If not provided (which is normally the case), its skin is obtained from the skin of the parent UI control.
The 'messageBox' element 15 The 'messageBox' element defines a simple dialog with a message and a boolean response buttons. It can have action elements as children, but any graphical child elements will be ignored.
Attribute definitions:
showTitle="(true [ false)°' 20 Specifies whether to display a titlebar (true) or not (false). If true, the title is obtained from the 'label' attribute.
showYesButton="(true ~ false)"
Specifies whether to display the Yes button or not.
showNoButton="(true [ false)"
25 Specifies whether to display the No button or not.
movable="(true [ false)"

Specifies whether the window is movable (true) by clicking on the titlebar and dragging, or not (false).
label="string"
Specifies the message to display within the message box.
IabelYes="string"
Specifies the label of the Yes button. The default is "Yes".
IabelNo="string"
Specifies the label of the No button. The default is "No".
The 'scrollbar' element The 'scrollbar' element defines the vertical and horizontal scrollbars to be associated with its parent, usually a document or other UI container element, such as a <window> or <frame>.
Attribute definitions:
bars="(both ~ horizontal ~ vertical ~ none)"
Specifies whether a horizontal scrollbar (at the bottom), a vertical scrollbar (on the right) or both should appear when required.
The 'slider' element The 'slider' element defines a slider control, used to select a value from a range of allowed values by dragging its 'thumb' control.
Attribute definitions:
%standard attributes%
The standard attributes, such as id, label, etc.
min="integer"
Specifies the minimum value of the slider.

max="iizteger"
Specifies the maximum value of the slider.
minPosition="integer"
Specifies the minimum allowed value of the thumb.
maxPosition="integer"
Specifies the maximum allowed value of the thumb.
value=°'iszteger"
Specifies the initial value of the slider. As tl-~e slider's thumb is dragged, this attribute is automatically updated.
increment="integer"
Specifies the allowed values that the slider c.an create, i.e.
only'min° +
multiples of'incremenf are allowed.
pageIncrement="irxteger"
Specifies the amount that the thumb should move, in whatever units the slider represents (i.e. not in pixels), when clicking to the left or right of it.
If defined as zero, or not defined at all, the thumb will snap to wherever the user clicks.
orientation="integer"
Specifies the rotation angle of the slider, in degrees clockwise. The default is 0 degrees. Note: this will likely be renamed to be 'rotation'.
ticksMajor="iszteger"
Specifies the interval at which major tick marks (whose appearance is defined in the skin) are displayed, in whatever units the slider represents.
ticksMinor="integer"
Specifies the interval at which minor tick marks (whose appearance is defined in the skin) are displayed, in whatever units the slider represents.

The 'spin' element The 'spin' element defines a spin control, used to select a value from a range of allowed values by pressing the up- or down-buttons, or by entering numbers in its textBox component.
Attribute definitions:
%staudard attributes%
The standard attributes, such as id, label, etc.
min="integer"
Specifies the minimum value of the spin control.
max="integer"
Specifies the maximum value of the spin control.
value="integer"
Specifies the initial value of the spin control.
increment=°'iuteger"
Specifies the allowed values that the spin control can create, i.e. only'min' + multiples of °increment' are allowed.
The 'state' element The 'state' element defines an alternate skin to be available for the parent UI
control to use to override the appearance of any of its states. It must be a child of a UI control element.
Attribute definitions:
xlink:href--"<uri>"
A reference to the parent element of a graphic, stored either interally in the <defs> block or in an external file, to be available to be used to override the appearance of a particular state for the parent UI control.

The 'textBox' element The 'textBox' element defines a text input field, with any number of rows, in which the user can enter text.
Attpibute definitions:
%stahdard attributes%
The standard attributes, such as id, label, etc.
value="string"
Specifies the default text within the textbox. Whenever the textbox loses focus, this attribute is updated to reflect the current contents of the textbox.
Modifying this attribute externally, via the <setAttribute> element, should result in the contents being updated appropriately.
numLines="(integer ( auto)"
Specifies the number of lines allowed in the textbox. If this number of lines cannot be displayed within the textbox, a vertical scrollbar will automatically appear when needed. If numlines="auto", the textbox will display as many lines as can fit within it. The default is "auto".
maxLength="(integer ~ auto "
Specifies the maximum number of characters allowed in the textbox. If that many characters cannot fit within the textbox, the text will pan horizontally so as to allow text entry. If maxLength="auto°', the textbox will allow as many characters as can fit within it. The default is "auto".
wrap="(true ~ false)"
Specifies whether to auto-wrap text (true) or not (false). If true, text will never scroll horizontally but will instead jump to the beginning of the line below.
readOnly="(true ~ false)"
Specifies if the textbox is non-editable (true) or editable (false).

secret="(true i false "
Specifies whether the text is secret (true) or not (false). If secret, such as a password, only asterisks ('~) will be displayed, although the real characters still exist and get copied to the'value' attribute when the textbox loses focus.
dataType="(any ~ alphabetic ~ alphanumeric ~ numeric ~ symbolic ~ date)"
Specifies the type of data that is allowed to be entered.
mask="stri~zg~.
Specifies a pattern that allows extra characters to be inserted into the data as it is entered and/or only allows specific characters in specific locations.
case="(mixed ~ upper ~ upperFirstChar ~ lower)"
Specifies whether the data should keep its case as entered (mixed), should be set to all uppercase (upper), should have its first character set to uppercase (upperFirstChar), or should be set to lowercase( lower).
The 'toolBar' element The 'toolBar' element defines a container for buttons.
Attribute definitions:
%starzdard attributes%
The standard attributes, such as id, label, etc.
selectedID="name"
The value of the currently selected child 'button' element's 'id' attribute.
hideGrippy="(true ~ false)"
Specifies whether to hide the grippy (true) or not (false).
The 'window' element The 'window' element defines a top-level container element that may be either modal or modeless, and may be moveable or not.
Attribute definitions:
%statZdard attributes%
The standard attributes, such as id, label, etc.
showTitle="(true ~ false)"
Specifies whether to display a titlebar (true) or not (false): If true, the title is obtained from the 'label' attribute.
showMinimizeButton="(true ~ false)"
Specifies whether to display the minimize button or not.
showMaximizeButton="(true ~ false)"
Specifies whether to display the maximize button or not.
showCloseButton="(true ~ false)"
Specifies whether to display the close button or not.
modal="(true ~ false)"
Specifies whether the window is modal (true) or modeless (false).
movable=" true ~ false) °' Specifies whether the window can be moved (true) by clicking on the titlebar and dragging, or not (false).
state="(minimized ~ maximized ~ normal)"
Specifies the initial state of the window. If the Minimize or Maximize buttons are pressed, this attribute is automatically updated.
UI Control Attributes The following attributes can be applied to any element, to create a context-sensitive UI control, which may be event-triggered.

toolTip="<ura>"
A reference to the parent element of the tooltip's skin, stored either interally in the <defs> block, or in an external file. If provided, this element and all child elements containing a'title' attribute will have a tooltip display when the mouse cursor is over the element, using the text supplied in. the 'title' attribute.
tipDelay=" integer"
Specifies the delay, in seconds, between when the mouse first hovers over an element and when its tooltip appears.
tipTrack="(true ( false)"
Specifies whether the tooltip should follow the mouse (true) or stay in one position until the mouse cursor leaves the element (false).
contextMenu="string"
Specifies the 'id' of the <contextMenu> element that should appear when the user right-clicks on the element containing this attribute.
nativeContextMenu="string'°
Specifies the 'id' of the <menu> element that should appear when the user right-clicks on the element containing this attribute. <menu> is an Adobe-specific markup for the Adobe SVG Viewer. Thus this attribute is only for use with the Adobe SVGViewer.
Skin Templates 27 for UI Controls The 'button' Skin Template <?xml version=" 1.0"?>
<svg>
<g id="skinButton">
<g id="label">
<text x="" y=""style=""> </text>

</g>
<g id="up" display="all">
</g>
<g id="down" display="none">
S </g>
<g id="hit'° display="none">
</g>
<g id="hover" display="none">
</g>
<g id="focusUp" display="none">
</g>
<g id="focusDown" display="none">
</g>
<g id="disabled up" display="none">
</g>
<g id="disabled down" display="none">
</g>
</g>
</svg>
Example 'button' Skin <?xml version=" 1.0"?>
<svg>
<g id="skinButton">
<g id="label">

<text x ="50" y=" 13"
style="font-family:'Tahoma';stroke:none;font-size:I2;text-anchor:middle">
</text>
</g>
<g id="up" display="all">
<rect x="0" y--"0" width=" 100" height=" 18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0" style="stroke-width:l;stroke:white;fill:none"/>
<polyline points="0,18 IOO,I8 100,0"
style="stroke-width: l ;stroke:black;fill:none"/>
</g>
<g id="down" display="none">
<rect x="0" y="0" width=" 100" height=" 18"
style="f ll:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0" style="stroke-width:l;stroke:black;fill:none"/>
<polyline points="0,18 100,18 100,0"
style="stroke-width: l;stroke:white;fill:none"/>
</g>
<g id="hover" display="none">
<rect x="0" y="0" width=" 100" height=" 18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points='°0,18 0,0 100,0" style="stroke-width:2;stroke:white;fill:none"/>
<polyline points="0,18 100,18 100,0"
style="stroke-width:2;stroke:black;fill:none"/>
<rect x="1" y="1" width="98" height="16" style="fill:none;stroke:#199DBF"/>
</g>
<g id="disabled" style="opacity:O.S" display="none">

<rect x="0" y="0" width=" 100" height=" 18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0" style="stroke-width:
l;stroke:white;fill:none'°/>
<polyline points="0,18 100,18 100,0"
style="stroke-width:l;stroke:black;fill:none"I>
</g>
</g>
</svg>
The 'contextMenu' Skin Template <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all">
</g>
<g id="skinContextMenu middle" display="all">
<text x="" y="" id="label"> </text>
</g>
<g id="skinContextMenu_middle hover" display="none">
<text x="" y="" id=°'label"> </texts </g>
<g id="skinContextMenu middle selected" display="none">
<teXt X="'° y=°"' id=°°label"> </text>
</g>
<g id=°'skinContextMenu bottom°' display="all'°>

</g>
</g>
</svg>
Example 'contextMenu' Skin <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all">
dine x 1="0" y1=" 17'° x2="0" y2='°20"
style="stroke:#000000;stroke-width: l" I>
cline x 1=" 150" y1=" 17" x2=" 150'° y2="20"
style="stroke:#OOOOOO;stroke-width:l" />
<linexl="0" y1="17" x2="150" y2='°17" style="stroke:#000000;stroke-width:l"
/>
<rect x=" 1" y=" 18'° width=" 148" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display="all">
cline x1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="150" yI="20" x2="150" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="20" width=" 148" height=" 14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" is'back="true"/>
<text x="3" y="32" id="label"> </text>
</g>
<g id="skinContextMenu_middle_hover" display="none">
cline x1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" />

cline x1="150" y1="20" x2-"150" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y="20" width=" 148" height=" 14"
style--"fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label"> </text>
</g>
<g id="skinContextMenu middle selected" display="none">
dine x1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="20" x2="150" y2--"35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="20" width=" 148" height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label"> </text>
</g>
I5 <g id="skinContextMenu bottom" display="all">
dine x1="0" y1="35'° x2="0" y2="38" style="stroke:#000000;stroke-width:l" />
cline x1="150" y1="35" x2="150" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="0" y1="38" x2="150" y2="38" style="stroke:#OOOOOO;stroke-width:l"
/>
<rect x="1" y="36" width="2I5" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
The 'comboBox' Skin Template <?xml version--" 1.0"?>
<svg>
<g id="skin">
<use id="TextBoxSkin" Xhnk:href "" X="" y="" />
<use id="ButtonSkin" Xhnk:href="" X="" y="" />
<use id="DropDownSkin" xlink:href--"" x="" y="" />
<g id="label">
<text id=°'skih bodyText" x="" y=""> </text>
</g>
</g>
<g id="skinDropDown">
<g id="slcinDropDown_top">
</g>
<g id="skinContextMenu middle" display="all">
<text x="" y="" id="label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none">
<text x="" y="" id="label"> </text>
</g>
<g id="skinDropDown bottom">
</g>
</g>
</svg>

Example ~comboBox' Skin <?xml version=" 1.0"?>
<svg>
S <g id="skinListBox">
<use id="TextBoxSkin" xlink:href--"skinTextBox ListBox.svg#skinTextbox" x="0"
y="0" />
<use id="ButtonSkin" xlink:href="skinButton ListBox.svg#skinButton" x="200"
"0" />
<use id="DropDownSkin"
xlink:href--"skinContextMenu Default.svg#skinContextl'vlenu" x="0" y="0" />
<g id="label">
<text id="skinListBoxDefault bodyText" x="0" y='°-6" fill="black">
</text>
</g>
</g>
<g id="skinDropDown">
<g id="skinDropDown top">
cline x1="0" y1="17" x2="0" y2="20" style="stroke:#000000;stroke-width:l"
/>
dine x1="217" y1="17" x2="217" y2="20"
style="stroke:#OOOOOO;strolce-width:l °' />
<rect x=" 1 " y=" 18" width="21 S" height="2" style="fill:#FFFFFF"/>
</g>
2S <g id="skinContextMenu middle" display="all">

dine x1="0" y1="20" x2="0" y2="35"
style--"stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="20'° x2="150°' y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
S <rect x=" 1" y="20" width=" 148" height=" 14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id='°label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none">
dine x1="0" y1"20" x2="0" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1=" 150" y1="20" x2=" 150" y2="35"
style="stroke:#000000;stroke-width:l" />
<rect x="1" y="20" width="148" height="14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label"> </text>
</g>
<g id="skinDropDown bottom">
cline x1="0" y1="35" x2="0" y2="38" style="stroke:#OOOOOO;stroke-width:l"
/>
cline x1="217" y1="35'° x2="217" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="0" y1="38" x2="217" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="36" width="215" height="2" style="fill:#FFFFFF"/>
</g>

</g>
</svg>
The 'scrollBar' Skin Template <?xml version--" 1.0"?>
<svg>
<g id="skinScrollBar">
<use id="SliderSkin" xlink:href--"" x="" y=""/>
<use id="ButtonLeftSkin" xlink:href--"" x="" y=""/>
<use id="ButtonRightSkin" xlink:href--"" x="" y="'°/>
<g id="corner">
</g>
</g>
<g id="ButtonLeftSkin">
I S <g id="up" display="all">
</g>
<g id="down" display="none">
</g>
</g>
<g id="SliderSkin">
<g id="up" display="all">
<gid="body">
<g id="SliderSkinBar">
</g>
</g>

<g id="SliderSkinThumb">
</g>
<pattern id="barfill" width="" height="" patternUnits="userSpaceOnUse">
</pattern>
</g>
<g id="mask" >
<g id="sliderMask" >
</g>
</g>
</g>
<g id="ButtonRightSkin">
<g id="up'° display="all">
</g>
<g id="down" display="none°'>
</g>
</g>
<g id="skinScrollBarSmall">
<use id="SliderSkin" xlink:href--"" x="" y=""/>
<use id="ButtonLeftSkin°' xlink:href--"" x="" y=""/>
<use id="ButtonRightSkin" xlink:href--"" x="" y=""/>
<g id="corner">
</g>
</g>
<g id="ButtonLeftSkinSmall">

<g id="up" display="all">
</g>
<g id="down" display="none">
</g>
</g>
<g id="SliderSkinSmall">
<g id="up" display=°'all">
<g id="SkinSliderSmallBorder" display="all">
</g>
<g id="body">
<g id="SlcinSliderSmallBase">
</g>
<g id="SkinSliderSmallBar">
</g>
</g>
<g id="SliderSkinSmallThumb">
<g id="sliderThumbBar">
</g>
</g>
<g id="tickMajor" display="none">
<text x="" y="" id="tickLabelMajor" xmlapace="preserve" style=""><Itext>
</g>
</g>
<g id="mask" >
<g id="sliderMask" opacity="0">

</g>
</g>
</g>
<g id="ButtonRightSkinSmall">
<g id="up" display="all">
</g>
<g id="down" display="none">
</g>
</g>
</svg>
Example 'scrollBar' Skan <?xml version=" 1.0"?>
<svg>
<g id="skinScrollBar">
<use id="SliderSkin" xlink:href--"skinScrollBar Default.svg#SliderSkin" x="0"
/>
<use id="ButtonLeftSkin" xlink:href--"skinScrollBar Default.svg#ButtonLeftSkin"
x=~~0" ~"0"/>
<use id="ButtonRightSkin"
xlink:href--"skinScrollBar Default.svg#ButtonRightSkin" x="0" y="0"/>
<g id="corner">
<rect fill="rgb(212 208 200)" x="0" y="0" width=" 16" height=" 16" />
</g>
</g>

<g id="ButtonLeftSkin">
<g id="up" fill="none" stroke-linecap="square" shape-rendering="optimizeSpeed"
display="all">
<rect fill="rgb(212 208 200)" width="16" height="16" />
S dine x 1=" 1 S" y1 ="0" x2" 1 S" y2=" 15" style--"stroke:#404040"/>
dine x 1="0" y1=" 1 S" x2=" 1 S" y2=" 15 °' style="stroke:#404040"/>
dine x/="1" y1="1" x2="I3" y2="1" style="stroke:#FFFFFF"/>
dine x1="1" y1='°1" x2="1" y2="13" style="stroke:#FFFFFF"/>
dine x1="1" y1="14" x2="14" y2="14" style="stroke:#808080"/>
dine x1="14" y1="1" x2="14" y2="14" style="stroke:#808080"/>
<path fill="black" d="M9.S S.Sl-3 313 3z" />
</g>
<g id="down" fill="none" stroke-linecap="square"
shape-rendering="optimizeSpeed" display="none">
<rect fill="rgb(212 208 200)" width="16" height="I6" />
<rect fill="none" style="stroke:#808080" width="16" height="16"/>
<path fill="black" d="M10.S 6.51-3 313 3z" />
</g>
</g>
<g id="SliderSkin">
<g id="up" display="all">
<g id="body">
<rect id="SliderSkinBar" fill="#E6E6E6" x="0" y="0" width="400"
height="I6">
</rect>

</g>
<g id="SliderSkinThumb">
<rect id="sliderThumbBar°' style="fill:rgb(212 208 200);stroke:#OOOOOO;stroke-width:0" x="0" y="0" width="400" height="16"/>
cline x 1="0" x2="400" y1=" 15" y2=" 15" style="stroke:#404040"/>
cline x1="1" x2="398" y1="1" y2"1" style="stroke:#FFFFFF"/>
</g>
<pattern id="barfill" width="2" height="2" pattemUnits="userSpaceOnUse"
shape-rendering="optimizeSpeed">
<rect x="0" y="0" width="2" height "2" fill="white"/>
<rect x="0" y="0" width=" 1 " height=" 1" fill="rgb(212 208 200)"/>
<rect x="1" y="1" width=°'1" height="1" fill="rgb(212 208 200)"/>
</pattern>
</g>
<g id="mask" >
<rect id="sliderMask" x="0" y="0" width="400" height=" 16" opacity="0"/>
</g>
</g>
<g id="ButtonRightSkin">
<g id="up" fill="none" stroke-linecap="square" shape-rendering="optimizeSpeed"
display="all">
<rect fill="rgb(212 208 200)" width=" 16" height=" 16" />
cline x 1=" 15" y1="0" x2=" 15" y2=" 15" style="stroke:#404040"/>
cline x1="0" y1="15" x2="15" y2="15" style="stroke:#404040"/>

dine x1="1" y1="1'° x2="13" y2="1" style="stroke:#FFFFFF"/>
dine x1="1" y1="1" x2="1" y2="13" style="stroke:#FFFFFF"/>
dine x1="1" yl="I4" x2="14" y2="14" style="stroke:#808080"/>
dine x 1=" 14" y1=" 1" x2=" 14" y2=" 14" style="stroke:#808080"/>
<path fill="black" d="M6.5 5.513 31-3 3z" />
</g>
<g id="down" fill="none" stroke-linecap="square"
shape-rendering="optimizeSpeed" display="none">
<rect fill="rgb(212 208 200)" width=''16" height="16" />
<rect fill="none" style="stroke:#808080'° width=" 16" height=" 16"/>
<path fill="black" d="M7.5 6.513 31-3 3z" />
</g>
</g>
<g id="skinScrollBarSmall">
<use id="SliderSkin" xlink:href--"skinScrollBar Default.svg#SliderSkinSmall"
x="0" ~"0"/>
<use id="ButtonLeftSkin"
xlink:href--"skinScrollBar Default.svg#ButtonLeftSkinSmall" x="0" y="0"/>
<use id="ButtonRightSkin"
xlink:href--"skinScrollBar Default.svg#ButtonRightSkinSmall" x="0" y="0"/>
<g id="corner">
<rect x="0" y="0" width--" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000°'/>
</g>

</g>
<g id="ButtonLeftSkinSrnall">
<g id="up" display="all">
<rect x=" 1 " y=" 1 " width=" 10" height=" 10"
style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:l.
0001;stroke-miterlimit:2.6131;"/>
<rect x="0" y="0" width=" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000°'/>
<text x ="5" y="5"
style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle">
</text>
<path d="M 8 21 -6 3 1 6 3 z"
style="fill: #000000; stroke: #FF0000; stroke-width:0"/>
</g>
<g id="down" display="none">
<rect x=" 1 " y=" 1 " width=" 10" height=" 10°' style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF; stroke:#B3B3B3;stroke-width:l.
0001;stroke-miterlimit:2.6131;"/>
<rect x=" 1 " y=" 1 " width=" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="S"
style="font-family:'Tahoma ;stroke:none;font-size: l2;text-anchor:middle">
</text>
<path d="M 9 31-6 316 3 z"
style='°fill:#FF0000;stroke:#FFOOOO;stroke-width:0"/>
</g>
</g>
<g id="SliderSkinSmall">
<g id="up" display="all">

<rect id="SkinSliderSmallBorder" x="0" y="0" width="200" height=°'10"
opacity="0"/>
<gid="body">
<rect id="SkinSliderSmallBase"
style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:l.
0001; stroke-miterlimit:2.6131;" x=" 1 " y=" 1 " width="444" height=" 10"/>
<rect id="SliderSkinSmallBar" style="fill:#FFF'FFF;stroke:#000000" x="0"
y="0" width="444" height="10"/>
</g>
<g id="SliderSkinSmallThumb">
<rect id="sliderThumbBar°' style="fill:#B3B3B3;stroke:#OOOOOO;stroke-width:0" x="0" y="0"
width="10'°
height=" 10"/>
</g>
<g id="tickMajor" display="none">
<text x="0" y="11" id="ticlcLabelMajor" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:black;stroke: l;text-anchor:middle"></text>
</g>
</g>
<g id="mask" >
<rect id="sliderMask" x="" y="0" width="444" height=" 18" opacity="0"/>
</g>
</g>
<g id="ButtonRightSkinSmall">
<g id="up" display="all">

<rect x=" 1 " y=" 1 " width=" 10" height=" 10"
style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width: l .
0001; stroke-miterlimit:2.6131; "/>
<rect x="0" y="0" width=" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="5"
style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle">
</text>
<path d="M 2 216 3 l -6 3 z"
style="fill:#000000;stroke:#FFOOOO;stroke-width:0"/>
</g>
<g id="down" display="none">
<rect x=" 1 " y=" 1 " width=" 10" height=" 10"
style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width: l .
0001;stroke-miterlimit:2.6131;"/>
<rect x=" 1 °' y=" 1 " width=" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="5"
style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle">
</text>
<path d="M 3 3 16 3 1-6 3 z"
style="fill:#FF0000;stroke:#FFOOOO;stroke-width:0"/>
</g>
</g>
</svg>
The 'slider' -Skin Template <?xml version=" 1.0"?>
<svg>

<g id="skinSlider">
<g id="label">
<text x ="" y="" style=""> </text>
</g>
<g id="up" display="a11">
<g id="skinSliderBorder">
</g>
<g id="body">
<g id="skinSliderBase°'>
</g>
<g id="skinSliderBar">
</g>
</g>
<g id="skinSliderThumb">
</g>
<g id="tickMajor" display="none">
<text id="tickLabelMajor" x="" y="" xmlapace="preserve" style--""></text>
</g>
<g id="tickMinor" display="none">
</g>
</g>
<g id="down" display="none">
<g id="skinSliderBorder">

</g>
<g Id="body'o>
<g id="skinSliderBase">
</g>
<g id="skinSliderBar">
</g>
</g>
<g id="skinSliderThumb">
</g>
<g id="tickMajor" display="none">
<text id="tickLabelMajor" x="" y="" xmlapace="preserve" style=""></text>
</g>
<g id="tickMinor" display="none">
</g>
1 S </g>
<g id="hover" display="none">
<g id="skinSliderBorder">
</g>
<g id="body">
<g id="skinSliderBase">
</g>
<g id="skinSliderBar">
</g>
</g>

<g id="skinSliderThumb">
</g>
<g id="tickMajor" display="none">
<text id="tickLabelMajor" x="" y="" xmlapace="preserve" style=""></text>
</g>
<g id="tickMinor" display="none">
</g>
</g>
<g id="disabled" display="none">
<g id="skinSliderBorder">
</g>
<g id="body">
<g id="skinSliderBase">
</g>
<g id="skinSliderBar">
</g>
</g>
<g id='°skinSliderThumb">
</g>
<g id="tickMajor" display="none">
<text id="tickLabelMajor" x="" y="" xmlapace=="preserve°' style=""></text>
</g>
<g id="tickMinor" display="none">

</g>
</g>
<g id="mask" >
<g id="skinSliderMask">
</g>
</g>
</g>
</svg>
Example 'slider' Skin <?xml version=" 1.0"?>
<svg>
<g id="skinSlider">
<g id="label">
<text x ="210" y="18" style="font-family:'Tahoma;stroke:none;font-size:l2;">
</text>
</g>
<g id="up" display="all">
<rect id="skinSliderBorder" x="0" y=°'0" width="200" height="18"
fill="none"
stroke="none" pointer-events="fill"/>
<g id="body">
<rect id="skinSliderBase" style="fill:#FFFFFF;stroke:none" x="0" y="7"
width="200" height="4"/>
<rect id="skinSliderBar" style="fill:#FFFFFF;stroke:none" x="0" y="7"
width="200" height="4"/>

dine x1="0" y1="7" x2="200" y2="7" style="stroke:#B3B3B3"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3" style="fill:black;stroke:none"/>
<circle cx="3" cy="15" r="3" style="fill:blaclc;stroke:none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3" width="6"
height=" 12"l>
cline x1="0" y1="3" x2="0" y2="15" style="stroke:#B3B3B3;stroke-width:l"/>
cline x l=" 1.5" y1="3" x2=" 1.5" y2=" 15" style=°'stroke:white;stroke-width:2"/>
cline x1"6" y1="3" x2="6" y2=°'1~".style="stroke:#B3B3B3;stroke-width:l"/>
</g>
<g id="tickMajor" display="none">
cline x1="0" y1="7" x2="0" y2"17" style="stroke:#B3B3B3"/>
<text id="tickLabelMajor" x"0" y="12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:#B3B3B3;stroke:l;text-anchor:middle"></text>
</g>
<g id="tickMinor" display="none">
cline x1="0" y1="7" x2="0" y2="11" style="stroke:#B3B3B3"/>
</g>
</g>
<g id="down" display="none">
<rect id="skinSliderBorder" x=°'0" y=°'0°' width="200"
height="18" fill="none'°
stroke="none" pointer-events="fill"/>
<g id="body">

<rect id="skinSliderBase" style="fill:#FFFFFF;stroke:none" x="0" y----"7"
width="200" height="4"/>
<rect id="skinSliderBar" style="fill:#FFFFFF;stroke:none" x="0" y="7"
width="200" height="4"/>
dine x1="0" y1="7" x2="200" y2="7" style="stroke:black"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r--"3" style="fill:#199DBF;stroke:none"/>
<circle cx="3" cy=°'15" r="3°' style="fill:#199DBF;stroke:none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3" width="6"
height=" 12"/>
dine x1"0" y1--"3" x2="0" y2="15" style="stroke:#B3B3B3;stroke-width:l'°/>
cline x1="1.5" y1="3" x2="1.5" y2="15" style="stroke:white;stroke-width:2"/>
dine x1="6" y1="3" x2"6" y2"15" style="stroke:#B3B3B3;stroke-width:l"/>
</g>
<g id="tickMajor" display="none">
dine x1="0" y1="7" x2="0" y2="17" style="stroke:black"/>
<text id="tickLabelMajor" x="0" y="12" xml:space="preserve"
style="font-face:Arial;font-size:8;fill:black;stroke: l;text-anchor:middle"></text>
</g>
<g id="tickMinor" display="none">
cline x1="0" y1="7" x2="0" y2="11" style="stroke:black"/>
</g>
</g>
<g id="hover" display="none">

<rect id="slcinSliderBorder" x="0" y="0" width="200" height=" 18" fill="none"
stroke="none'° pointer-events="fill"/>
<g id="body'°>
<rect id="skinSliderBase°' style="fill:#FFFFFF;stroke:none"
x="0°° y="7"
width="200" height="4"/>
<rect id="skinSliderBar" style="fill:#FFFFFF;stroke:none°' x="0" y="7"
width="200" height="4"/>
dine x1="0" y1='°7" x2="200" y2="7" style="stroke:black"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3" style="fill:#199DBF;stroke:none"/>
<circle cx="3" cy="IS" r=°'3°' style="fill:#199DBF;strolce:none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3" width="G"
height=" 12"I>
I S cline x 1="0" y1="3" x2="0" y2=" 1 S" style="stroke:#B3B3B3;stroke-width:
l "/>
dine xl="l.S" y1="3" x2="l.S" y2="IS" style="stroke:white;stroke-width:2"/>
dine xl="G" y1="3" x2="G" y2="1S" style="stroke:#B3B3B3;stroke-width:l"/>
</g>
<g id="tickMajor" display="none">
cline x 1 "0" y1="7" x2="0" y2=" 17" style="stroke:black"/>
<text id="tickLabelMajor" x="0" y="12" xmlapace="preserve"
style="font-face:Arial;font-size: 8;fill:black; stroke: l ;text-anchor:middle"></text>
</g>
<g id="tickMinor" display='°none°'>
2S dine x1="0" y1="7" x2-"0" y2="11" style=°'stroke:black"/>
</g>
_70_ G/g>
<g id="disabled" display="none">
<rect id="skinSliderBorder" x="0" y="0" width="200" height=" 18" fill="none"
stroke="none" pointer-events="~ 11"/>
<g id="body">
<rect id="skinSliderBase" style="fill:#FFFFFF;stroke:none" x="0" y="7"
width="200" height="4"/>
<rect id="skinSliderBar" style="fill:#FFFFFF;stroke:none" x="0" y="7"
width="200" height="4"/>
dine x1="0" y1="7" x2="200" y2="7" style="stroke:#B3B3B3"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3" style="fill:black;stroke:none"/>
<circle cx="3" cy="15" r="3" style="fill:black;stroke:none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3" width="6"
height="12"/>
<Iine x1="0" y1="3" x2="0" y2="15" style="#stroke:B3B3B3;stroke-width:l"/>
cline x1=" 1.5" y1="3" x2=" 1.5" y2=" 1 S" style="stroke:white;stroke-width:2"/>
dine x1="6" y1="3" x2="6'° y2="15" style="#stroke:000000;stroke-width:l"/>
G/g>
<g id="tickMajor" display="none">
dine x1="0" y1="7" x2="0" y2="17" style---"stroke:#B3B3B3"/>
<text id="tickLabelMajor" x="0" y="12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:#B3B3B3;stroke:l;text-anchor:middle"></text>
</g>

<g id="tickMinor" display="none">
dine xI="0" y1="7" x2="0" y2="11" style="stroke:#B3B3B3"/>
</g>
</g>
<g id="mask" >
<rect id="skinSliderMask'° x="-4"'y="0" width="208" height="18"
fill="none"
stroke="none" pointer-events="fill"/>
</g>
</g>
</svg>
The 'spin' Skin Template <?xml version=" 1.0"?>
<svg>
<g id="skinSpin">
<use id="TextBoxSkin" xlink:href--"" x="" y=""/>
<use id="ButtonSkinUp" xlink:href--"" x="" y=""/>
<use id="ButtonSkinDown" xlink:href--"" x="" y=""/>
<g id="label">
<text x="" y="" style=""> </text>
</g>
</g>

<g id="skinSpinButtonUp">
<g id="up" display="all">
</g>
<g id="down" display="none">
</g>
<g id="hover" display="none">
</g>
<g id="disabled" transForm="scale(0.5)" display="none">
</g>
</g>
<g id="skinSpinButtonDown">
<g id="up" display="all">
</g>
<g id="down" display="none">
</g>
<g id="hover" display="none">
</g>
<g id="disabled" display="none">
</g>
</g>
<Isvg>
Example 'spin' Skin <?xmI version=" 1.0"?>

<svg>
<g id="skinSpin">
<use id="TextBoxSkin" xlinlc:href--"skinTextBox Listbox Short.svg#skinTextbox"
x="0" y="0"/>
S <use id="ButtonSkinUp" xlinlc:href--"skinSpin Composite.svg#skinSpinButtonUp"
x=" 100" y="-1 "/>
<use id="ButtonSkinDown"
xlink:href--"skinSpin Composite.svg#skinSpinButtonDown" x="100" y="8"/>
<g id="label">
<text x="0" y="-6" style="font-size:l2;fill:black"> </text>
</g>
</g>
<g id="skinSpinButtonUp">
<g id="up" display="alI">
<rect x="0" y="0" width=" 18" height="9"
style="fill:rgb(230,230,230);stroke:none"I>
<polyline points="0,9 0,0 18,0" style="stroke-width:l;stroke:white;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width:l;stroke:black;fill:none"/>
<polygon points="3,6 9,3 I5,6" style="stroke-width:l;stroke:black;fill:black"/>
</g>
<g id="down" display="none">
<rect x="0" y="0" width=" 18" height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width:l;stroke:black;fill:none"/>
<polyline points="0,9 I8,9 18,0" style="stroke-width:l;stroke:white;fill:none"/>

<polygon points="3,6 9,3 15,6"
style="stroke-width: l;stroke:#199DBF;fill:#199DBF"/>
</g>
<g id="hover" display="none">
<rect x="0" y="0" width="18" height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width:2;stroke:white;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width:2;stroke:black;fill:none"/>
<polygon points="3,6 9,3 15,6"
style="stroke-width:l;stroke:#199DBF;fill:#199DBF'°/>
</g>
<g id="disabled" style="opacity:0.5" transform="scale(0.5)" display="none">
<rect x="0" y="0" width=°' 18" height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width:l;stroke:white;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width:I;stroke:black;fill:none"/>
<polygon points="3,6 9,3 15,6" style="stroke-width:l;strolce:black;fill:black"/>
</g>
</g>
<g id="skinSpinButtonDown">
<g id='°up" display="all">
<rect x="0" y="0" width=" 18'° height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width:l;stroke:white;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width:l;stroke:black;fill:none"/>

<polygon points="3,3 9,6 15,3" style="stroke-width:l;stroke:black;fill:black"/>
</g>
<g id="down" display="none">
<rect x="0" y="0" width="18" height="9"
style="fill:rgb(230,230,230);strolce:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width:l;stroke:black;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width:l;stroke:white;fill:none"/>
<polygon points="3,3 9,6 15,3"
style="stroke-width: l;stroke:#199DBF;fill:#199DBF"/>
</g>
<g id="hover" display="none">
<rect x="0" y="0" width=" 18" height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width:2;stroke:white;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width:2;stroke:black;fill:none"/>
<polygon points="3,3 9,6 15,3"
style="stroke-width: l;stroke:# 199DBF;fill:# 199DBF"/>
</g>
<g id="disabled" style="opacity:0.5" display="none">
<rect x="0" y--"0" width=" 18" height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width:l;stroke:white;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width:l;stroke:black;fill:none"/>
<polygon points='°3,3 9,6 15,3" style="stroke-width:l;stroke:black;fill:black"/>
</g>
</g>

</svg>
The 'textBox' Skin TempYate <?xml version=" 1.0"?>
<svg>
<g id="skinTextboxScroll">
<use id="TextBoxSIcin" xlink:href--"" x="#skinTextbox" y=""/>
<use id="VertScrollSkin" xlink:hre~"" x="" y=""/>
<use id="HorizScrollSkin" xlinlc:href--"" x="" y=""/>
</g>
<g id="skinTextbox">
<g id="up" display="all">
</g>
<g id="hover" display="none">
</g>
<g id="down" display="none">
</g>
<g id="disabled" display="none">
</g>
<g id="label">
<text x="238" y="14" style='°font-size:l2;fill:black"> </text>
</g>
<clipPath id="skinTextbox textView">
</clipPath>
_77_ <text clip-path="url(#slcinTextbox_textView)" id= "slcinTextbox_text"
Xml:SpaCe="preSerVe" X="" y="'° style=""></teXt>
</g>
</svg>
Example 'textBox' Skin <?xml version=" 1.0"?>
<svg>
<g id="skinTextboxScroll°'>
<use id="TextBoxSkin" xlink:href "#skinTextbox" x="0" y="0"/>
<use id="VertScrollSkin"
xlink:href--"skinScrollBar Default.svg#skinScrollBarS:mall" x="0" y="0"/>
<use id="HorizScrollSkin"
xlink:href--'°skinScrollBar Default.svg#skinScrollBarSmall" x="0"
y="0"/>
</g>
<g id="skinTextbox">
<g id="up"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;"
display="all">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;strolce-width: l .
OOOl;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="18"/>
<rect style="fill:white;stroke:grey" x="0" y="0" width="228" height="18"/>
</g>
_78_ <g id="hover"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;"
display="none">
<rect style="fill-rule:evenodd;clip-rule: evenodd; fill:#FFFFFF;stroke:#B3B3B3;
stroke-width: l .
OOOl;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="18"/>
<rect style="fill:white;stroke:#000000" x="0" y="0" width="228" height="18"/>
</g>
<g id="down"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;"
display="none">
<rect style="fill-rule: evenodd;clip-rule: evenodd; fill:#FFFFFF;stroke:
#B3B3B3;stroke-width: l .
OOOl;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="18"/>
1 S <rect style="fill:white;stroke:#000000" x=°'0" y=="0'°
width="228" height=" 18"/>
cline id="skinTextbox_cursor°° x1='°3" y1="2" x2="3"
y2="16"
style="stroke:black">
<animate attributeType="CSS" attributeName="opacity"
values="0~0~0~0~0~0~1~1~1°1~1~1" dur="ls" repeatCount="indefinite"/>
7 7 7 7 7 ) ) 7 7 9 7 </line>
</g>
<g id="disabled"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0.5;
" display="none">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width: l .
OOOl;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="18"/>
<rect style="fill:gray;stroke:#000000" x="0" y="0" width="228" height="18"/>

</g>
<g id="label">
<text x="238" y="14" style="font-size:l2;fill:black"> </text>
</g>
<clipPath id="skinTextbox textView">
<rect id="skinTextbox_textArea" x="3" y="3" width="222" height=" 12"/>
</clipPath>
<text clip-path="url(#skinTextbox textView)" id="skinTextbox text"
xml: space="preserve" x="3 °' y=" 15"
style="font-face:Arial;font-size: l2;fill:black;stroke: l "></text>
</g>
<g id="skinTextboxMultiLine">
<g id="up"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;"
display="all">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width: l .
OOOl;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="54"/>
<rect style="fill:white;stroke:grey" x="0" y="0" width="228" height="54"/>
</g>
<g id="hover"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;"
display="none">
<rect style="fill-rule: evenodd;clip-rule: evenodd;fill:#FFFFFF;stroke:#B3B3B3;
stroke-width: l .
OOOl;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="54"/>

<rect style="fill:white;stroke:#000000" x="0" y="0" width="228" height="S4"/>
</g>
<g id="down"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"
S display="none">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.
0001;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="54"/>
<rect style="fill:white;stroke:#000000" x="0" y="0" width="228" height="S4"/>
cline id="skinTextboxMultiLine cursor" x1="3" y1="2°' x2="3" y2="16"
style="stroke: black">
<animate attributeType="CSS" attributeName="opacity"
values="0~0~0~0~0-0-1 ~ 1' I ~ 1 ~ 1 ~ 1" dur="1 s" repeatCount="indefinite"/>
» » » » » >
</line>
I S </g>
<g id="disabled"
style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:O.S;
" display'"none">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:l.
OOOl;stroke-miterlimit:2.6131;" x="3" y="3" width="228" height="54"/>
<rect style="fill:gray;stroke:#000000" x="0" y="0" width="228" height="S4"/>
</g>
<clipPath id="skinTextboxMultiLine textView">
2S <rect id="skinTextboxMultiLine textArea" fill='°green" x="3" y="3"
width="222"
height="48 "/>
</clipPath>

<text clip-path="url(#skinTextboxMultiLine textView)"
id="skinTextboxMultiLine text" xmlapace="preserve" x="3" y="15"
style="font-face:Arial;font-size:12;fill:black;stroke:none"> </text>
</g>
</svg>
The 'toolTip' Skin Template <?xml version=" 1.0"?>
<svg>
<g id="skinTooltip naf~ce">
<teXt X="" y="" style="">tip</text>
</g>
</svg>
Example 'toolTip' Skin <?xml version=" 1.0"?>
<svg>
<g id="skinTooltip annotation">
<path style="fill:#FFFF00;fill-opacity:0.7;stroke:#1F1A17;stroke-width:3"
d=°'MO 96198 0 -56 -96 106 96 202 0 0 167 -352 0 0 -167z"I>
<text x="10" y="150" style="font-size:l6;fill:black">tip</text>
</g>
<g id="skinTooltip traditional" pointer-events="none">
<rect x="0" y="0" width=" 150'° height='° 15"

style="fill:rgb(255,255,225);fill-opacity:0.9" stroke="black" stroke-width=" 1 "/>
<text x="5" y="12" style="font-size:l2;fill:black">tip</text>
</g>
<g id="skinTooltip_special" pointer-events="none">
<rect x="0" y="0" width=" 150" height=" 15"
style--"fill:rgb(130,130,130);fill-opacity:0.5" stroke--"black" stroke-width="
1 "/>
<text x="5" y="12" style="font-size:l2;fill:black">tip</text>
</g>
</svg>
Other Example Skins for UI Controls skinButton_ComboBox.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg" >
<g id="skinButton">
<g id="label">
<text x ="50" y="13" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle"> </text>
</g>
<g id="up" display="all" style="stroke-width: l ">
<rect x="0" y="0" width="17" height="17"
style="fill:#OOOOOO;stroke:#A3A3A3 "/>
<path d="M 5 516 O 1-3 6 z" style="fill:#FFFFFF;stroke:#FFFFFF"/>
<dsvg:constraint preserveAspectRatio="vertical" hAlign="right"/>

</g>
<g id="down" display="none">
<rect x="0" y="0" width=" 17" height=" 17"
style="fill:# 199DBF; stroke:#A3A3A3 "/>
<path d="M 5 516 O 1-3 6 z" style="fill:#FFFFFF;stroke:#FFFFFF"/>
<dsvg:constraint preserveAspectRatio="vertical" hAlign="right°'/>
</g>
<g id="hover" display="none">
<rect x="0" y="0" width=" 17" height='° 17"
style="fill:#199DBF;stroke:#A3A3A3"/>
<path d="M 5 516 O 1-3 6 z" style="fill:#FFFFFF;stroke:#FFFFFF"/>
<dsvg:constraint preserveAspectRatio="vertical" hAlign="right"/>
</g>
</g>
</svg>
skinButton ListBox.svg <?xml version=" 1.0"?>
<svg>
<g id="skinListBox">
<g id="up" display="all">
<g id="skinListBox label">
<text x="0" y="-5" style="fill:#OOOOOO;font-weight:normal;font-size:l2;font-family:Tahoma"> </texts <fg>

<g id="skinListBox body" style="fill:none">

<rect x="0" y="0" width="200" height="17"

style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>

<rect x="200" y="0" width=" 17" height="
17"

style="fill:#000000;stroke:#A3A3A3;stroke-width:l"/>

<path d="M 205 S 1 6 0 l -3 6 z"

style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l "/>

<text id="skinListBox bodyText" x= "5" y="
13"

style="fill:#676767;font-weight:normal;font-size:l2;font-family:Tahoma">
</text>

</g>

<g id="skinListBox bodyCover">

<rect x="0" y="0" width="200" height "17" fill="none"

stroke="none" pointer-events="fill"/>

</g>

<g id="skinListBox_dropDownButton">

<rect x="200" y="0" width=" 17" height="
17"

style="fill:#000000;stroke:#OOOOOO;stroke-width:l "/>

<path d="M 205 5 1 6 0 . 1 -3 6 z"

style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l "/>

</g>

</g>
<g id="down" display="none">
<g id="skinListBox label">
<text x="0" y="-5" style="fill:#OOOOOO;font-weight:normal;font-size:l2;font-family:Tahoma"> </text>

</g>
<g id="skinLisfBox body" style="fill:none">
<rect x="0" y="0" width="200" height="17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
<rect x="200" y="0" width=" 17" height=" 17"
style="fill:#000000;stroke:#A3A3A3;stroke-width: l "/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l "/>
<text id="skinListBox bodyText" x="5" y=" 13"
style="fill:#676767;font-weight:normal;font-size:l2;font-family:Tahoma">
</text>
</g>
<g id="skinListBox bodyCover">
<rect x="0" y="0" width="200" height=" 17" fill="none"
stroke="none" pointer-events="fill"/>
</g>
<g id="skinListBox dropDownButton">
<rect x="200" y="0" width=" 17" height=" 17"
style="fill:#199DBF;stroke:#199DBF;stroke-width: l'°/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l "I>
</g>
</g>
<g id="hover" display="none">
<g id="skinListBox_label">

<text x="0°' y="-5" style="fill:#OOOOOO;font-weight:normal;font-size:l2;font-family:Tahoma"> </text>
</g>
<g id="skinListBox body" style="fill:none">
S <rect x="0" y="0" width="200" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
<rect x="200" y=°'0" width=" 17" height=" 17"
style="fill:#000000;stroke:#A3A3A3;stroke-width: l "/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l"/>
<text id='°skinListBox bodyText" x="5" y="13"
style="fill:#676767;font-weight:normal;font-size:l2;font-family:Tahoma">
</text>
</g>
<g id="skinListBox bodyCover">
<rect fill="none" stroke="none'° pointer-events="filf° x="0"
y="0" width="200" height="17"/>
</g>
<g id="skinListBox dropDownButton">
<rect x="200" y="0" width=" 17" height=" 17"
style="fill:#199DBF;stroke:#199DBF;stroke-width:l "/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l °'/>
</g>
</g>
<g id="skinListBox dropDownList">
_87_ <g id="skinListBox dropDownList top">
cline x1="0" y1="17" x2="0" y2="20"
style="stroke:#OOOOOO;stroke-width:l" />
cline x I='°217" y1=" 17" x2="217" y2="20"
S style="stroke:#000000;stroke-width:l" />
<rect x=" 1" y=" 18" width="215" height="2"
style="fill:#FFFFFF"/>
</g>
<g id="skinListBox dropDownList middle">
cline x1="0" y1="20" x2="0" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="217" yl="20" x2="217" y2="35"
style--"stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y="20" width="215 °' height=°' 14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
</g>
<g id='°slcinListBox dropDownList-bottom">
cline x1="0" y1="35" x2="0" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="217" y1="35" x2="217" y2="38"
style="stroke:#OOOOOO;stroke-width:l~. />
dine x1="0" y1="38" x2="217" y2="38"
style="stroke:#OOOOOO;stroke-width:l'° />
<rect x="1" y="36" width="215" height="2"
style="fill:#FFFFFF"/>
</g>
</g>
_88_ </g>
</SVg>
skinButton vpDown.svg <?xml version=" 1.0"?>
<svg>
<g id="skinButton">
<g id="label">
<text x ="50" y="13" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle"> </text>
~/g>
<g id="up" display='°all">
<path fill="#CCCCCC" d="M4 115 11 5 -11 -10 Oz"/>
<path fill='°#ESFFFF" stroke="#0083C4" d="M1 115 11 5 -11 -10 Oz"/>
</g>
<g id="down" display="none">
<path fill="#CCCCCC" d="M4 115 11 5 -11 -10 Oz"/>
<path fill="#EDAFOD" stroke="#0083C4" stroke-width="2" d="M1 115 11 5 -11 -10 Oz"I>
</g>
<g id="hover'° display="none">
<path fill="#CCCCCC" d="M4 115 11 5 -11 -10 Oz"/>
<path fill="#ESFFFF" stroke="#0083C4" stroke-width="2" d="Ml 115 115 -11-10 Oz"/>
</g>
<g id="disabled" style=°'opacity:0.5" display="none">
-89_ </g>
</g>
</svg>
skinButton vpGeneric.svg <?xml version=" 1.0"?>
<svg>
<g id="skinButton">
<g id="label">
<text x="9" y=" 12" fill="#000000" font-weight="normal" font-size=" 10" font-family="Verdana"> </text>
</g>
<g id="up" display="all">
<path fill="#CCCCCC" d="M56 181-52 0 0 -15 52 0 0 15z'°/>
<path fill="#FFFFFF" stroke="#0083C4" d="M54 151-53 0 0 -15 53 0 0 15z"/>
</g>
<g id="down" display="none">
<path fill="#CCCCCC" d="M56 181-52 0 0 -15 52 0 0 15z'°/>
<path fill="#EDAFOD'° stroke='°#0083C4" stroke-width="2'°
d="M54 151-53 0 0 -15 53 0 0 15z"/>
</g>
<g id="hover" display="none">
<path fill="#CCCCCC'° d=°'M56 181-52 0 0 -15 52 0 0 l~ 5z"/>
<path fill="#FFFFFF" stroke="#0083C4" stroke-width="2" d="M54 151-53 0 0 -15 0 0 15z"/>

</g>
<g id="disabled'° style="opacity:0.5" display="none">
<path fill="#CCCCCC" d="M56 181-52 0 0 -15 52 0 0 15z"/>
<path fill="#FFFFFF" stroke="#CCCCCC" d="M5~ I51-53 0 0 -15 53 0 0 15z"/>
</g>
</g>
</svg>
skinButton vpMonth.svg <?xml version=" 1.0"?>
<svg>
<g id="skinButton">
<g id ="label">
<text x="22" y=" 11" fill="#666666" font-weight "bold" font-size="7"
font-family="Verdana"> </text>
</g>
<g id="up" display="all">
<rect fill="#B2ESE5" x="0" y=" 14" width="40" height='°4"/>
<rect fill="#B2ESE5" x="0" y="0" width="40" height"4"I>
<rect fill="#FFFFFF" fill-opacity=°'0" x="0" y="0" width="40"
height="18"/>
</g>
<g id="down" display="none">
<rect fill="#98B2E5" x="0" y=" 14" width="40" height="4"/>
<rect fill="#98B2E5" x="0" y="0" width="40" height="4"/>

<rect fill="#FFFFFF" fill-opacity="0'° x='°0" y="0" width="40"
height="18°'/>
</g>
<g id="hover" display="none">
<rect fill="#98B2E5" x="0" y=" 14" width="40" height="4"/>
<rect fill="#98B2E5" x="0" y="0" width="40" height="4"/>
<rect fill="#FFFFFF" fill-opacity="0" x="0" y="0" width='°40"
height="18"/>
</g>
<g id="disabled" display="none">
<rect fill="#CCCCCC°' x="0" y=°' 14" width="40°' height=°'4"/>
<rect fill="#CCCCCC°' x="0" y="0" width=°'40"
height=°'4"/>
<rect fill="#FFFFFF" fill-opacity="0" x="0" y="0" width="40" height="18"/>
</g>
</g>
</svg>
skinButton vpUp.svg <?xml version=" 1.0"?>
<svg>
<g id="skinButton">
<g id="label">
<text x ="50'° y="13" style="font-family:'Tahoma;stroke:none;font-size:l2;text-anchor:middle"> </text>
</g>
<g id="up" display="all">
<path fill="#CCCCCC" d="M15 141-4 -11 -5 11 9 Oz"/>

<path fill="#ESFFFF" stroke="#0083C4'° d="M12 131-5 -12 -5 12 10 Oz"/>
</g>
<g id="down" display="none">
<path fill="#CCCCCC°' d="M15 141-4 -11 -5 11 9 Oz'°/>
<path fill="#EDAFOD°° stroke='°#0083C4" stroke-width="2"
d="M12 131-5 -12 -5 12 10 Oz"/>
</g>
<g id="hover" display="none">
<path fill="#CCCCCC" d="M15 141-4 -11 -5 11 9 Oz"/>
<path fill="#ESFFFF" stroke="#0083C4" stroke-width="2" d="M12 131-5 -12 -5 12 Oz"/>
</g>
<g id="disabled" style="opacity:0.5" display="none">
</g>
1 S </g>
</svg>
skinButton Windows.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.orgldsvg">
<g id="skinButton°'>
<g id="label" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle">
<text x="S 0" y=" 13 "> </text>
<dsvg:constraint scaleImmunity="true" hAlign="middle"
vAlign="middle"/>

</g>
<g id="up" display=°'all" style="stroke-width:1 ">
<rect x="0" y="0" width=" 100" height=" 18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0" style="stroke:white;fill:none"/>
<polyline points="0,18100,18100,0" style="stroke:black;fill:none"/>
<dsvg:constraint propertyName="stroke-width"
scaleImmunity="true"/>
</g>
<g id="down°' display="none" style="stroke-width: l °'>
<rect x="0" y="0" width=" 100" height=" 18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0" style="stroke:black;fill:none"/>
<polylinepoints="0,18100,18100,0" style="stroke:white;fill:none"/>
<dsvg:constraint propertyName="stroke-width"
scalelmmunity="true"/>
</g>
<g id="hover" display="none'° style="stroke-width:2'°>
<rect x="0" y="0" width=" 100" height=" 18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0, I8 0,0 100,0" style="stroke:white;fill:none"/>
<polyline points="0,18100,18100,0" style--"stroke:black;fill:none°'/>
<rect x=" 1" y=" 1" width="98" height=" 16"
style="fill:none;stroke:#199DBF;stroke-width: l ">
<dsvg:constraint propertyName="stroke-width"
scaleItnmunity="true"/>

</rect>
<dsvg:constraint propertyName="stroke-width"
scaleImmunity="true"/>
</g>
$ <g id="disabled" display="none" style--'°stroke-width:l;opacity:0.5">
<rect x="0" y="0" width=" 100" height=" 18"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,18 0,0 100,0" style="stroke:white;fill:none"/>
<polylinepoints="0,18100,18100,0" style="stroke:black;fill:none"/>
<dsvg:constraint propertyName="stroke-width"
scaleImmunity="true"/>
</g>
</g>
</svg>
skinCalendar.svg <?xml version=" 1.0"?>
<svg>
<g id="skinCalendar">
< a s a i d = " C a 1 a n d a r B a c k S k i n "
xlink:hre~"skinCalendar.svg#skinCalendarBack" x="0" y="0"/>
<use id="DaysButtonsSl~in" xlink:href--"skinCalendar.svg#skinDaysButtons"
x=" 1 " y="40"/>
</g>
<g id="skinCalendarBack">
<gid="up">

<g id="calendarBack">
<path fill="#5D80D5" d="M243 1510 -14 -131 0 -18 13 149 Oz'°/>
<path fill="#F2F2F2" d="M244 291-244 0 0 -3 244. 0 0 3z"/>
<path fill="#F2F2F2" d="M244 231-244 0 0 -3 244. 0 0 3z°'/>
<path fill="#F2F2F2" d="M244 341-244 0 0 -3 244 0 0 3z"/>
<text x=" 15" y="30" fill="#5D80D5" font-weight="normal" font-size="9'°
font-family="Verdana">S</text>
<text x="48" y="30" fill="#5D80D5" font-weight="normal" font-size="9" font-family="Verdana">M</text>
<text x="85" y=°'30" fill='°#5D80D5" font-weight="normal" font-size="9" font-family="Verdana">T</text>
<text x=" 119" y=°'30" fill="#5D80D5" font-weight="normal" font-size="9" font-family="Verdana">W</text>
<text x=" 157" y="30'° fill="#5D80D5" font-weight="normal" font-size="9" font-family="Verdana">T</text>
<text x="190" y="30" fill="#5D80D5" font-weight="normal" font-size="9" font-family="Verdana">F</text>
<text x="224" y="30" fill="#5D80D5" font-weight=°'normal'° font-size="9" font-farm ly="V erdana">S </text>
<path fill="none" stroke="#666666" d="MO 181244 0"/>
<!--<rect fill="none" x="9" y="8" width="287" height="287"/>-->
</g>
</g>
<g id="down">
<use id="backDown°' xlink:href--"#calendarBack" x= "0" y="0"/>
</g>

<g id="hover">
<use id="backHover" xlink:href--"#calendarBack" x="0'° y="0"/>
<!g>
<g id="disabled">
S <use id=°'backDisabled" xlink:href--"#calendarBack" x="0"
y="0"/>
</g>
<g id="label">
<text text-anchor="end" x="240" y=" 12" fill--"#FFFFFF" font-weight="normal"
font-size="11" font-family="Verdana"> </text>
</g>
</g>
<g id="skinDaysButtons">
<g id=~~up~~>
<rect height="33" width="35" stroke="none" fill="none"/>
<path fill="#ESFFFF" stroke="#0083C4" d="M31 291-31 0 0 -29 31 0 0 29z"!>
</g>
<g id="down">
<path fill="#EDAFOD" stroke--"#0083C4" d="M31291-310 0 -29 31 0 0 29z"/>
</g>
<g id="hover">
<path fill="#ESFFFF" stroke="#0083C4" stroke-width="2" d="M31 291-31 0 0 -29 31 0 0 29z"/>
</g>

<g id="focusUp">
<path fill="#ESFFFF" stroke="#0083C4" d="M31 291-31 0 0 -29 31 0 0 29z"/>
</g>
<g id="disabledUp">
<path fill="#F7FFFF" stroke="#98B2E5'° d="M31291-31 0 0 -29 31 0 0 29z"/>
</g>
<g id="label">
<text text-anchor="middle" x="20" y="23" fill="#666666" font-weight="normal"
font-size="10" font-family="Verdana"> </text>
</g>
</g>
<g id="skinDaysButtonsNonPaid">
<g id="down">
<path fill="green" stroke="#0083C4" d="M31 291-31 0 0 -29 31 0 0 29z"/>
</g>
</g>
<g id="skinDaysButtonsHalfDayNonPaid">
<g id="down">
<path fill="blue" stroke="#0083C4" d="M31 291-31 0 0 -29 31 0 0 29z"/>
</g>
</g>
<g id="skinDaysButtonsHalfDayPaid">

<g id="do~.vn">
<path fill="red" stroke="#0083C4" d="M31 291-31 0 0 -29 31 0 0 29z"/>
</g>
</g>
</svg>
skinCheckbox Default.svg <?xml version=" 1.0" standalone="no" ?>
<svg>
<g id="skinCheckbox">
<g id="label">
<text x"15" y="10.5" style="font-weight:normal;font-size:l2;font-family:Tahoma; fill:#000000;"> </text>
</g>
<g id="up" display="all">
<rect x="0" y="0" width=" 12" height=" 12"
style="stroke:black;fill:white" />
</g>
<g id="down" display="none">
<rect x="0" y="0" width=" 12" height=" 12"
style="stroke:black;fill:white" />
<path d="M 2 6 1 2 4 1 6.5 -8°' style="fill:#FFFFFF;stroke:#OOOOOO;stroke-width:l" />
</g>
<g id="hover" display="none">

<rect x="0" y="0" width=" 12" height=" 12"
style="stroke:black;fill:white" />
</g>
<g id="disabled" style="opacity:0.5" display="none">
<rect x="0" y="0" width="12" height="12"
style="stroke:black;fill:white" />
</g>
</g>
</svg>
skinComboBox Composite.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg">
<g id="skinComboBox">
< a s a i d - °' T a x t B o x S k i n "
xlink:hre~"skinTextBox-ComboBox.svg#skinTextbox" x="0" y="0" />
<use id="ButtonSkin" xlink:href--"skinButton_ComboBox.svg#skinButton"
x="200" y="0" l>
< a s a i d - " D r o p D o w n S k i n "
xlink:href="skinListBox Composite.svg#skinListBox" x="0" y="17" !>
<g id="label">
<text id="skinComboBoxDefault bodyText" x="0" y="-6"
fill="black"> </text>
<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="bottom"/>

</g>
</g>
</svg>
skinComboBox Default.svg <?xml version--" 1.0"?>
<svg>
<g id="skinComboBox">
<g id="up" display="all">
<g id="skinComboBox label">
<text x="0" y="-5" style="fill:#OOOOOO;font-weight:normal;font-size:l2;font-family:Tahoma"> </text>
</g>
<g id="skinComboBox body" style--"fill:none">
<rect x="0" y="0" width="200" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
<rect x="200" y="0" width=" 17" height=" 17"
style="fill:#000000;stroke:#A3A3A3;stroke-width: l "/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l"/>
<text id="skinComboBox. bodyText" x="5" y=" 13"
style="fill:#676767;font-weight:normal;font-size:l2;font-family:Tahoma">
<Itext>
</g>
<g id="skinComboBox bodyCover">
<rect x="0" y="0" width="200" height=" 17" fill="none"
stroke="none" pointer-events="fill"/>

</g>
<g id="skinComboBox~dropDownButton">
<rect x="200" y="G" width=" 17" height=" 17"
style="fill:#000000;stroke:#OOOOOO;stroke-width:l "/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:1 "/>
<Ig>
</g>
<g id="dawn" display="none">
<g id=°'skinComboBox_label">
<text x="0" y="-5" style="fill:#000000;font-weight:normal;font-size:l2;font-family:Tahoma"> <Jtext>
</g>
<g id="skinComboBox body" style="fill:none">
<rect x="0" y="0" width="200" height="17"
style--"fill:#FFFFFF;stroke:#A3A3A3;stroke-width:l "/>
<rect x="200" y="0" width=" 17" height=" 17"
style="fill:#000000;stroke:#A3A3A3;stroke-width:l °'/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l "/>
<text id="skinComboBox bodyText" x="5" y="13"
style="fill:#676767;font-weight:normal;font-size:l2;font-family:Tahoma">
</text>
</g>
<g id="skinComboBox bodyCover°'>

<rect x="0" y="0" width="200" height='° 17" fill="none"
stroke="none" pointer-events="fill"/>
</g>
<g id="skinComboBox dropDownButton'°>
<rect x="200" y="0" width=" 17" height=" 17"
style="fill:#199DBF;stroke:#199DBF;stroke-width: l "/>
<path d="M 205 5 1 6 0 I -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l "/>
</g>
</g>
<g id="hover'° display="none">
<g id="skinComboBox label">
<text x=''0" y="-5" style="fill:#OOOOOO;font-weight:normal;font-size:l2;font-family:Tahoma"> </text>
</g>
<g id="skinComboBox body" style="fill:none">
<rect x="0" y="0'' width="200" height="17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
<rect x="200" y="'0" width=" 17" height=" 17"
style="fill:#000000;stroke:#A3A3A3;stroke-width: l "/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l "/>
<text id="skinCombol3ox bodyText" x="5" y=" 13"
style="fill:#676767;font-weight:normal;font-size:l2;font-family:Tahorna">
</text>
</g>

<g id="skinComboBox bodyCower">
<rect fill=°'none" stroke="none" pointer-events="fill" x="0"
y="0" width="200" height="17"/>
</g>
<g id="skinComboBox_dropDownButton">
<rect x="200" y="0" width=" 17" height=" 17"
style="fill:#199DBF;stroke:#199DBF;stroke-width: l "/>
<path d="M 205 5 1 6 0 1 -3 6 z"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width: l "/>
</g>
</g>
<g id="skinComboBox dropDownList"=>
<g id="skinComboBox dropDo~mList top">
dine x1="0" y1="17'° x2="0" y2="20"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="217" y1="17" x2="217" y2="20"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y=" 18 °' width="215" height="2"
style="fill:#FFFFFF"/>
</g>
<g id="skinComboBox_dropDownList middle">
cline x1="0'° y1="20" x2="0" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="217" y1="20" x2="217°' y2="35"
style="stroke:#000000;stroke-width:l" />

<rect x="1" y="20" width="215" height="14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
</g>
<g id="skinComboBox dropDownList bottom">
cline x1="0" y1="35" x2="0" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="217" y1="35" x2="217" y2="38"
style="stroke:#000000;stroke-width:l" />
dine x1="0" y1="38" x2="217" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="36" width="215" height="2"
style="fill:#FFFFFF"/>
</g>
</g>
</g>
</svg>
skinComboBox Graphic.svg <?xml version=" 1.0"?>
<svg>
<g id="skinComboBox">
< a s a i d - " T a x t B o x S k i n "
xlink:href--"skinTextBox ComboBox_Short.svg#skinTextbox" x="0" y="0" />
<use id="ButtonSkin" xlink:href--"skinButton ComboBox.svg#skinButton"
x="133" y="0" />

< a s a i d - " D r o p D o w n S k i n "
xlink:href--"skinListBox-CompositeG.svg#skinListBox" x="0" y="17" h <g id="label">
<text id="skinComboSoxDefault bodyText" x="0" y="-6"
fill="black"> </text>
vAlign="bottom"/>
</g>
</g>
</svg>
<dsvg:constraint scaleImmunity="true" hAlign="left"
skinComboBox Graphic2.svg <?xml version=" 1.0"?>
<svg>
<g id="skinComboBox">
< a s a i d - " T a x t B o x S k i n xlink:href--"skinTextBox-ComboBox-Short.svg#skinTextbox'° x="0" y="0"
/>
<use id="ButtonSkin" xlink:hre~-"skinButton ComboBox.svg#skinButton"
x="133" y="0" />
< a s a i d - " D r o p D o w n S k i n "
xlink:href="skinListBox_CompositeG2.svg#skinListBox" x="0" y="17" />
<g id="label">
<text id="skinComboBoxDefault bodyText" x="0" y="-6"
fill="black"> </text>

<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="bottom"/>
</g>
</g>
S
</svg>
skinContextMenu Default.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg">
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all">
dine x 1="0" y1=" 17" x2="0" y2="20" style="stroke:#OOOOOO;stroke-width: l " />
cline x1="150" y1="17" x2="150" y2="20"
style="stroke:#000000;stroke-width:l" />
dine x1="0" y1="17" x2="150" y2="17"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="18" width="148" height="2" style="fill:#FFFFFF"/>
<lg>
<g id="skinContextMenu middle" display="all">
<linexl="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" l>
cline x1="150" y1="20" x2="150" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />

<rect x="1" y="20" width="148" height="14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label">
<dsvg:constraint preserveAspectRatio="vertical°' hAlign="left"
vAlign="bottom"/>
</text>
</g>
<g id="skinContextMenu middle hover" display="none">
cline x1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width: l " />
cline x1="150" y1="20" x2="150" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="20" width=" 148" height='° 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"!>
<text x="3" y="32" id="label">
<dsvg:constraint preserveAspectRatio="vertical" hAlign='°left"
vAlign="bottom"/>
</text>
</g>
<g id="skinContextMenu middle selected" display="none">
cline x 1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="150" y1="20" x2="150" y2="35"
style="stroke:#000000;stroke-width:l" />
<rect x=" 1 " y="20" width=" 148" height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label">

<dsvg: constraint preserveA spectRatio="vertical" hAlign="left"
vAlign="bottom"/>
</text>
</g>
<g id="skinContextMenu bottom" display="all">
cline x1="0" y1="35" x2="0" y2="38" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="35" x2="150" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="0" y1="38" x2="150" y2="38"
style="stroke:#000000;stroke-width:l" />
<rect x=" 1" y="3G" width="215" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextMenu Default2.svg <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all">
cline x1="0" y1=" 17" x2="0" y2="20" style="stroke:#OOOOOO;stroke-width: l " />
dine x1="150" y1="17" x2="150" y2="20"
style="stroke:#OOOOOO;stroke-width:l" />

cline x 1="0" y1 =" 1 T" x2=" 1 50" y2=" 17"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="18" width="148" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display="all">
<linexl="0" y1="20" x2="0" y2="35" style="stroke:#000000;stroke-width:l" />
cline x1=" 150" y1="20" x2=" 150" y2=°'35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="20" width=" 148" height=" 14"
style--"fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<teXt X="3" y="32" id="label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none">
cline x1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="150" y1="20" x2="150" y2="35"
style="stroke:#000000;stroke-width:l" l>
<rect x=" 1" y="20" width=" 148" height=" 14°' style='°fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label"> <ltext>
</g>
<g id="slcinContextMenu middle selected" display="non.e">
dine x 1="0" y1="20" x2="0" y2="35" style="stroke:#000000;stroke-width:l" />
dine x1="150'" y1="20" x2="150" y2="35"
style="stroke:#000000;stroke-width:l" l>

<rect x="1" y="20" width="148" height="14"
style="fill:#FF0000;stxoke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label"> </text>
</g>
<g id="skinContextMenu bottom" display="all">
dine x1="0" y1="35" x2="0" y2="~8" style="stroke:#OOOOOO;stroke-width:l" I>
cline x1="150" y1="35" x2="150" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="0" y1="38" x2="150" y2="38"
style="stroke:#OOOOOO;stroke-width: l " />
<rect x=" 1" y="36" width="215" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextMenu Graphic.svg <?xrnl version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display='°all">
dine x1="0" y1="0" x2="0" y2="3" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="150" y1="0" x2="150" y2="3"
style="stroke:#OOOOOO;stroke-width:l" />

<line x 1=°'0" y1="0" x2=" 150" y2="0" style="stroke:#000000;stroke-width:l" />
<rect x=" 1" y=" 1" width=" 148" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display="all">
cline x1="0" y1="3" x2="0" y2="18" style="stroke:#000000;stroke-width: l " />
cline x 1=" 150" y1="3" x2=" 150" y2=" 18"
style--"stroke:#OOOOOO;stroke-width:l°' />
<rect X=" 1" y="3'° width=" 148" height=" 14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true°'/>
<teXt X="3" y="21" id="label"> </teXt>
</g>
<g id="skinContextMenu middle hover" display="none">
cline x1="0" y1="3" x2="0" y2="18" style="stroke:#000000;stroke-width:l" />
dine x1="150" y1="3" x2="150" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y="3" width=" 148'° height=" 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"l>
<text x="3" y--"21" id="label'°> </text>
</g>
<g id="skinContextMenu middle selected" display="none">
cline x1="0" y1="3'° x2="0" y2="18" style="stroke:#000000;stroke-width:l" l>
cline x1="150" y1="3" x2="150" y2="18"
style="stroke:#OOOOOO;stroke-width:l'° />

<rect x=" 1 " . y="3" width=" 148" height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:1 °' isback="true"/>
<text x="3" y="21" id="label"> </text>
</g>
<g id="skinContextMenu bottom" display="all">
cline x 1="0" y1=" 18" x2="0" y2="21 " style="stroke:#OOOOOO;stroke-width: l " />
dine x1="150" y1="18" x2="150" y2="21"
style="stroke:#000000;stroke-width:l" J>
cline x1="0" y1="21" x2="150" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="19" width="148" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextMenu Graphic2.svg <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display--"all"%>
dine x1 °°0" y1="0" x2="0" y2="3" style="stroke:#OOOOOO;stroke-width: l " />
cline x1="133" y1="0" x2="133" y2="3"
style="stroke:#000000;stroke-width:l" />

<linexl="0" y1="0" x2="133" y2='°0" style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y=" 1" width=" 131 °' height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display="all">
cline x1="0" y1="3°' x2="0" y2="18." style="stroke:#OOOOOO;stroke-width:l" />
cline x1="133" y1="3" x2="133" y2="18"
style="stroke:#000000;stroke-width:l" />
<rect x=" 1" y="3" width=" 131" height=" 14"
style--"fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="21" id="label"> </text>
</g>
<g id="skinContextMenu middle hover'° display="none">
dine x1="0" y1="3" x2="0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="133" y1="3" x2="133" y2="18"
style="stroke:#OOOOOO;strolce- width:l" />
<rect x=" 1'° y="3" width=" 131 " height=" 14"
style="fill:#8888CC;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="21" id="label"> </text>
</g>
<g id="skinContextMenu_middle,selected" display="none">
cline x1="0" y1="3" x2="0" y2="18" style=°'stroke:#OOOOOO;stroke-width:l" />
cline x1="133" y1="3" x2="133" y2="18"
style="stroke:#000000;stroke-width:l" />

<rect x=" I " y="3" width=" 13 1 " height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="21" id="label"> </text>
</g>
<g id="skinContextMenu_bottom" display--"all">
cline x 1="0" y1=" 18" x2="0'° y2="21 °' style="stroke:#000000;stroke-width:l" />
dine x1=°' 133" y1=" 1 8" x2=" 133" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="0" y1="21" x2="133" y2="21"
style="stroke:#000000;stroke-width:l" />
<rect x=" 1" y=°' 19" width=" 131" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextli~Ienu Graphic3.svg <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top'" display="all">
dine x1="0" y1="0" x2="0'° y2='°3" style="stroke:#OOOOOO;stroke-width:l" />

cline x1="233" y1="0" x2="233" y2="3"
style=°'stroke:#OOOOOO;stroke-width:l" />
dine x1="0'° y1="0" x2="233" y2="0" style="stroke:#000000;stroke-width:l" />
<rect x="1" y="1°' width="231" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle'° display="all°'>
dine x1="0" y1=°'3" x2="0" y2="18" style='°stroke:#000000;stroke-width:l" />
cline x1="233" y1="3" x2="233" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="3" width="231" height=°'14°' style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="21" id=°'label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none°'>
dine x1="0°' y1="3°' x2="0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="233" y1="3" x2="233" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 °' y="3'° width="231 " height=°' 14"
style="fill:#8888CC;stroke:#FFFFFF;stroke-width:l" isback="true'°/>
<text x="3" y="21" id="label"> </text>
</g>
<g id="skinContextMenu middle selected" display="none°°>
dine x1="0" y1="3°' x2="0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />

dine x1="233" y1="3" x2="233" y2="18"
style="stroke:#000000;stroke-width: l." />
<rect x=" 1" y="3" width="231 " height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="21" id="label"> </text>
</g>
<g id="skinContextMenu bottom" display="all">
<linexl="0" y1="18" x2="0" y2="21" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="233" y1="18" x2="233" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1='°0" yI="21'° x2="233" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="19" width="231" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextMenu ListBox.svg <?xml version--" 1.0"?>
<svg xmlns:dsvg="http://coreLorg/dsvg">
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all°'>

cline x1="0" y1="0" x2="0" y2="3"' style="stroke:#OOOOOO;stroke-width:l" />
cline x1="200" y1="0'° x2.='°200" y2="3"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="0" yI="0" x2="200" y2="0" style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="1" width="198" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display=="all">
cline x1="0" y1="3" x2="0" y2="18" style="stroke:#000000;stroke-width:l" />
cline x1="200" y1="3" x2="200" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="3" width="198°° height="14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y=" 15" id="label">
<dsvg:constraintpreserveAspectRatio="vertical" hAlign="left"
vAlign="bottom"/>
</text>
</g>
<g id="skinContextMenu middle hover" display="none">
cline x1="0" y1="3" x2="0" y2="18" style="stroke:#000000;stroke-width:l" />
cline x1="200" y1="3" x2="200" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x='° 1" y="3" width=" 198" height=" 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"/>

<teXt X="3" y="15" ld="label">
<dsvg:constraintpreserveAspectRatio="vertical" hAlign="left"
vAlign="bottom"/>
</text>
</g>
<g id="skinContextMenu middle selected" display="none'°>
dine x1="0" y1="3'° x2=°'0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="200" y1="3°' x2=°'200" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y="3" width=" 198" height=" 14°' style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="15" id="label">
<dsvg:constraint preserveAspectRatio="vertical" hAlign="left"
vAlign="bottom"/>
</text>
</g>
<g id="slcinContextMenu bottom" display="all">
dine x1="0'° y1=" 18" x2="0" y2="2:l" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="200" y1="18" x2="200" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1='°0" y1="21" x2=°°200" y2='°21"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y=" 19" width=" 198" height="2" style="fill:#FFFFFF"/>
</g>

</g>
</svg>
skinContextMenu ListBox2.svg <?xml version='° 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg">
<g id="skinContextMenu">
<g id="skinContextMenu_top" display="alll">
dine x1="0" y1="0" x2="0" y2="3" style="stroke:#OOOOOO;strolce-width:l" />
dine x1="200" y1="0'" x2="200" y2="3"
style="stroke:#OOOOOO;stroke-width:l" />
cline x 1="0" y1="0" x2=°'200" y2="0" style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y=" 1" width=" 198" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display=-°'all">
dine x1='°0" y1="3" x2="0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="200" y1="3" x2=°'200" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1'° y="3" width=" 198" height=" 14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y=" 15" id="label">
<dsvg:constraint preserveAspectRatio="vertical" hAlign='°left"
vAlign="bottom"/>

</text>
</g>
<g id="skinContextMenu middle hover" display="none">
dine x1="0" y1="3" x2="0" y2=°'18" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="200'° y1="3" x2="200" y2='°18"
style="stroke:#000000;stroke-width:l" />
<rect x=" 1" y="3" width=" 198'° height=" 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y='° 15" id="label">
<dsvg: constraint preserveAspectRatio="vertical" hAlign=°' left"
vAlign="bottom"/>
</text>
</g>
<g id="skinContextMenu middle selected" display="none">
dine x1="0" y1="3'° x2="0" y2="18'° style="stroke:#OOOOOO;stroke-width:l" />
dine x1="200" y1=°'3" x2="200'° y2="18"
style="stroke:#OOOOOO;stroke-width:l°' />
<rect x=" 1 " y="3" width=°' 198" height='° 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text X="3" y="15" ld="label">
<dsvg:constraintpreserveAspectRatio="vertical" hAlign=°'left"
vAlign="bottom'°/>
</text>
</g>

<g id="skinContextMenu_bottom" display==°'all">
dine x l=°'0" y1=" 18" x2="0" y2="21 " style="stroke:#OOOOOO;stroke-width:l" />
dine x1="200" y1="18" x2="200" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="0" y1="21" x2="200" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y=" 19" width=" 198" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextMenu_ListBoxG.svg <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all">
dine x1="0" y1="0" x2="0" y2="3" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="0" x2="150" y2="3"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="0" y1="0" x2='° 150'° y2="0"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y=" 1 " width=" 148" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display='"all">

dine x 1="0" y1="3" x2="0" y2=" 18" style="stroke:#OOOOOO;stroke-width:l" I>
dine x1="150" y1="3°' x2="150" y2="18'' style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="3" width=" 148" height=" 14°' style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isbaclc=°'true"/>
<text x="3" y="5" id=°'label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none">
cline x1="0" y1="3" x2="0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="3°' x2="150" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="3" width=" 148" height='° 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true°'/>
<text x="3" y="5" id=°'label"> </text>
</g>
<g id="skinContextMenu middle selected" display="none">
dine x1="0" y1="3" x2='°0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="3" x2="150" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y='°3" width=" 148" height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isbaclt="true"/>
<text x="3" y="5" id="label"> </text>
</g>
<g id="skinContextMenu bottom" display="all">

cline x 1="0" y1=" 18" x2="0" y2="21 " style="stroke:#OOOOOO;stroke-width:l" !>
cline x1="150" y1="18" x2="150" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="0" y1="21" x2="150" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="19" width="215" height "2" style--"fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextMenu ListView.svg <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all">
dine x1="0" y1="0" x2-"0" y2="3" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="200" y1="0" x2="200" y2="3"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="0" y1="0" x2="200" y2="0" style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y=" 18" width=" 198" height "2" style--"fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display="all">

cline x1="0" y1="3" x2="0" y2="18" style="stroke:#OOOOOO;strolce-width:l" />
cline x1="200" y1="3" x2="200" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="3" width=" 198" height=" 14"
style--"fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text X="3" y=" 15" id="label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none">
cline x1="0" y1"3" x2="0" y2="18" style="stroke:#OOOOOO;stroke-width:l" />
cline xI="200" y1="3°' x2="200" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="3" width=" 198" height=" 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback='°true"/>
<text X="3" y=" 15" id="label"> </text>
</g>
<g id="skinContextMenu middle selected" display="none">
dine x1="0" y1="3" x2="0" y2=" 18" style="stroke:#OOOOOO;stroke-width: l " />
cline x1="200" y1="3" x2="200" y2="18"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="3" width=°' 198" height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isbaclc--"true"l>
<text x="3" y=" 15" id="label"> </text>
</g>
<g id="skinContextMenu bottom" display="all">

cline x1="0" y1=" 18" x2--"0" y2="21" style="stroke:#000000;stroke-width: l " />
dine x1="200" y1="18" x2="200" y2="21"
style="stroke:#OOOOOO;stroke-width: l °' />
dine x1="0" y1="21" x2="200" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y=" 19" width=" 198" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>
skinContextMenu ListViewG.svg <?xml version=" 1.0"?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu top" display="all">
cline x 1="0" y1="0" x2="0" y2-"3" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="150" y1="0" x2="150" y2="3"
style="stroke:#OOOOOO;stroke-width:l" l>
dine x 1="0" y1="0" x2=" 150" y2="b" style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y=" 1" width=" 148" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display="all">

dine x 1="0'° y1="3" x2=°'0°' y2=" 18"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="150" y1="3" x2="150" y2="18"
style=°'stroke:#OOOOOO;stroke-width:l" />
<rect x="1" y="3" width="148" height="14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x='°3" y="5" id="label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none'°>
dine x1='°0'° y1="3" x2="0" y2='°18"
style="stroke:#OOOOOO;stroke-width:l" />
dine x 1=" 1 50" y1='°3" x2=" 1 50" y2=" 1 8"
style="stroke:#OOOOOO;stroke-width:l'° />
<rect x='° 1 " y="3" width=" 148" height=" 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<teXt X="3" y="5" id="label"> </teXt>
</g>
<g id="skinContextMenu middle selected" display="none">
dine x 1="0" y1="3" x2="0" y2=" lL 8" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1=":3'° x2="150" y2="18"
style="stroke:#OOOOOO;stroke-width:l'° />
<rect x=" 1 " y="3" width=" 148" height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback=°'true"/>
<text X="3" y="5" id="label"> </teXt>
</g>
<g id="skinContextMenu bottom'° display='°all">

dine x1="0" y1=" 18" x2="0" y2=°'21"
style='°stroke:#OOOOOO;strolce-width:l" I>
dine x1="150" y1="18" x2='°150" y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1="0" y1="21'° x2="150°' y2="21"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x='° 1" y=" 19" width="215" height=°'2"
style="fill:#FFFFFF'°/>
</g>
</g>
</svg>
skinContextMenu vp.svg <?xml version=" 1.0°'?>
<svg>
<g id="skinContextMenu">
<g id="skinContextMenu_top" display="all">
dine x1="0" y1=" 17" x2="0" y2="20" style="stroke:#OOOOOO;stroke-width:l" />
dine x 1=°' 1 S 0" y1=" 17" x2=" 15 0" y2="20"
style="stroke:#OOOOOO;stroke-width:l" />
dine x1="0" y1="17" x2="150" y2="17"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y=" 18" width=" 148" height="2°' style="fill:#FFFFFF"/>
</g>
<g id="skinContextMenu middle" display="all">

<linexl="0" y1="20" x2="0" y2="35°° style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="20" x2="150" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y="20" width=" 148" height=" 14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x=°'3" y="32" id="label"> </text>
</g>
<g id="skinContextMenu middle hover" display="none">
dine x1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="150" y1="20" x2="150" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="20" width=" 148" height=" 14°' style="fill:#CCCCCC;stroke:#FFFFFF;strolce-width:l" isbaclc="true"/>
<text x="3" y="32'° id="label"> </text>
</g>
<g id="skinContextMenu middle selected" display="none">
cline x1=°'0" y1="20" x2=°'0" y2="35"
style="stroke:#OOOOOO;stroke-width: l °' />
dine x1="150" y1="20" x2="150" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y="20" width=" 148" height=" 14"
style="fill:#FF0000;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label"> </text>
</g>
<g id="skinContextMenu bottom" display="all">

cline x 1="0" y1="35'° x2="0" y2="38'° style--°'stroke:#OOOOOO;stroke-width:l" />
<lme Xl='"150" y1="35" x2=°'150" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
cline x1='°0" y1="38" x2="150" y2="38"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1" y="36" width="215" height="2" style="fill:#FFFFFF°'/>
</g>
</g>
</svg>
skinListbox Composite.svg <?xml version=" 1.0"?>
<svg>
<g id="skinListBox">
< a s a i d - " M a n a S k i n "
xlink:href--"skinContextMenu ListBox.svg#skinContextMenu" x="0'° y="0"
/>
< a s a i d - " S c; r o 1 1 S k i n "
xlink:href--"skinScrollBar ListBox.svg#skinScrollBarSrnall'° x="0"
y="0"/>
<g id="label">
<text id="skinListBox label" x="0" y="-6" fill="black"> </text>
</g>
</g>
</svg>
skinListbox CompositeG.svg -1~0-<?xml version--" 1.0"?>
<svg>
<g id="skinListBox">
< a s a i d - " M a n a S k i n "
xlink:href--"skinContextMenu Graphic.svg#skinContextMenu" x="0" y="0" />
< a s a i d - " S c r o 1 1 S k i n "
xlink:href--"skinScrollBar ListBox.svg#skinScrollBarSrnall" x="0" y="0"/>
<g id="label">
<text id="skinListBox label" x="0" y="-6" fill="black"> </text>
</g>
</g>
</svg>
skinListbox-CompositeG2.svg <?xml version=" 1.0"?>
<svg>
<g id="skinListBox">
< a s a i d - " M a n a S k i n "
xlink:href--"skinContextMenu Graphic2.svg#skinContextMenu" x="0" y="0" />
< a s a i d - " S c r o 1 1 S k i n "
xlink:href--"skinScrollBar ListBox.svg#skinScrollBarSmall" x="0" y="0"/>
<g id="label">
<text id="skinListBox label" x="0" y="-6" fill="black"> </text>
</g>
</g>

</svg>
skinListbox CompositeG3.svg <?xml version--" 1.0"?>
<svg>
<g id="skinListBox">
< a s a i d - " M a n a S k i n "
xlink:href="skinContextMenu_Graphic3.svg#skinContextMenu" x="0" y="0" />
< a s a i d - " S c r o 1 1 S k i n "
xlink:href--"skinScrollBar ListBox.svg#skinScrollBarSmall" x="0" y="0"/>
<g id="label">
<text id=°'skinListBox_label" x="0" y="-6" fill="black"> </text>
</g>
</g>
</svg>
skinListbox Default.svg ?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg" >
<g id="skinButton">
<g id="label">

<text x ="50" y=" 13" style="font-family:'Tahoma;stroke:none;font-size:l2;text-anchor:middle"> </text>
</g>
<g id="up" display="all" style="stroke-width: l ">
<rect x="0" y="0" width="17" height="17"
style="fill:#OOOOOO;stroke:#A3A3A3 "/>
<path d="M 5 516 O l -3 6 z" style="fill:#FFFFFF;stroke:#FFFFFF"/>
<dsvg:constraint preserveAspectRatio="vertical" hAlign="right°'/>
</g>
<g id="down" display="none">
<rect x="0" y="0" width=" 17" height=" 17"
style--"fill: # 199DBF;stroke:#A3A3A3 "/>
<path d="M 5 516 O 1-3 6 z" style="fill:#FFFFFF;stroke:#FFFFFF"/>
<dsvg:constraint preserveAspectRatio="vertical" hAlign="right"/>
</g>
<g id="hover" display="none'°>
<rect x="0" y="0" width="17" height="17"
style="fill:#199DBF;stroke:#A3A3A3"/>
<path d="M 5 516 O l -3 6 z" style="fill:#FFFFFF;stroke:#FFFFFF"/>
<dsvg:constraint preserveAspectRatio="vertical" hAlign="right"/>
</g>
</g>
</svg>
skinListbox Short.svg <?xml version=" 1.0"?>

<svg>
<g id="slcinListBox">
a s a i d - " T a x t B o x S k i n "
xlink:href--"skinTextBox ListBox Short.svg#skinTextbox'° x="0" y="0" />
<use id="ButtonSkin" xlink:href--"skinButton ListBox.svg#skinButton"
x=" 100" y="0" />
a s a i d - " D r o p D o w n S k i n "
xlink:href--"skinListBox_Short.svg#skinDropDown" x="0" y="0" />
<g id="label">
<text id="skinListBoxDefault bodyText" x="0" y="-6" fill="black">
</text>
</g>
</g>
<g id="skinDropDown">
<g id="skinDropDown top">
cline x 1="0" y1=" 17" x2="0" y2="20" style="stroke:#OOOOOO;stroke-width:l" />
cline x1="117" y1="17" x2="117" y2="20"
style="stroke:#000000;stroke-width:l" />
<rect x=" 1" y=" 18" width--" 115" height="2" style="fill:#FFFFFF"/>
</g>
<g id="skinDrapDown middle">
cline x 1="0" y1="20" x2="0" y2="3 ~~'° style="stroke:#000000;stroke-width:l" />

dine x1="117" y1="20" x2="117" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="20" width=" 1 15" height=" 14"
style="fill:#FFFFFF;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3" y="32" id="label"> </text>
</g>
<g id="skinDropDown middle hover" display="none">
dine x1="0" y1="20" x2="0" y2="35" style="stroke:#OOOOOO;stroke-width:l" />
dine x1="117" y1="20" x2="117" y2="35"
style="stroke:#OOOOOO;stroke-width:l" />
<rect x=" 1 " y="20" width=" 115" height=" 14"
style="fill:#CCCCCC;stroke:#FFFFFF;stroke-width:l" isback="true"/>
<text x="3'° y="32" id="label"> </text>
</g>
<g id="skinDropDown bottom">
cline x1="0" y1="35" x2="0" y2="38" style--"stroke:#OOOOOO;stroke-width:l" />
dine x1="117" y1="35" x2="117" y2="38'°
style="stroke:#000000;stroke-width:l" />
cline x1="0" y1="38" x2="117" y2="38"
style="stroke:#000000;stroke-width:l" />
<rect x=" 1 " y="36" width=" 11 S" height="2" style="fill:#FFFFFF"/>
</g>
</g>
</svg>

skinListView Composite.svg <?xml version=" 1.0"?>
<svg>
<g id="skinListView°'>
< a s a i d - " 1V1 a n a S k i n "
xlink:href--"skinContextMenu ListBox.svg#skinContextMenu" x="0" y="0" />
< a s a i d - " S c r o 1 1 S k i n "
xlink:hre~"skinScrollBar ListBox.svg#skinScrollBarSmall" x="0" y="0"l>
<g id="label">
<text id="sl~inListBox label" x="0" y="-6" fill="black"> </text>
</g>
</g>
</svg>
skinListView CompositeG.svg <?xml version=" 1.0"?>
<svg>
<g id="skinListView°'>
< a s a i d - " M a n a S k i n "
xlink:href--"skinContextMenu Graphic.svg#skinContextMenu" x="0" y="0" />
< a s a i d - " S c r o 1 1 S k i n "
xlink:href--°'skinScrollBar ListBox.svg#skinScrollBarSmall" x="0"
y="0"/>
<g id="label°'>
<teXt id="skinListBox-label" x="0" y="-6" fill="black"> </text>
</g>
</g>

</svg>
skinRadioButton Default.svg <?xml version=" 1.0"?>
<svg>
<g id="skinRadioButton">
<g id="label">
<text x="16" y='°5" style="font-size:l2;fill:black"> </text>
</g>
<g id="up" display="all">
<circle cx="5" y="5" r="7" style="stroke:black;fill:white" />
~g>
<g id="down" display="none">
<circle cx="5" y="5" r--"7" style--"stroke:black;fill:white" />
<circle cx="5" y="5" r="4" style--"strolce:black;fill:black" l>
</g>
<g id="hover" display="none">
<circle cx="5" y="5" r="7" style="stroke:black;fill:white" />
</g>
<g id="disabled'° style="opacity:0.5" display="none">
<circle cx="5" y="5" r="7" style="stroke:black;fill:white" I>
</g>
</g>
<lsvg>

skinScrollBar Default.svg <?xml version=" 1.0"?>
<svg>
<g id="skinScrollBar">
<use id="SliderSkin" xlink:href--"skinScrollBar Default.svg#SliderSkin"
x="0" y=" 0"/>
< a s a i d - " B a t t o n L a f t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonLeftSkin" x="0" y="0"/>
< a s a i d = " B a t t o n R i g h t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonRightSkin" x="0" y="0"/>
<g id="corner">
<rect fill="rgb(212 208 200)" x="0" y="0" width=" 16" height=" 16"
/>
</g>
</g>
<g id="ButtonLeftSkin">
<g id="up" fill="none" stroke-linecap="square" shape-rendering="optimizeSpeed" display=°'all">
<rect fill="rgb(212 208 200)" width=" 16" height=" 16" />
<Iine x1="15" y1="0" x2="I5" y2="15" style="stroke:#404040"/>
dine x1="0" y1="15" x2="15" y2="15" style="stroke:#404040°'/>
cline x 1=" 1 " y1=°' 1 " x2=" 13" ~._" 1 °' style="stroke:#FFFFFF"/>
dine xl="I" yl="I" x2="I" y2=="13" style="stroke:#FFFFFF"/>
cline x1="1" y1="14" x2="14" y2="14" style="stroke:#808080"/>
dine x 1=" 14" y1=" 1" x2=" 14" y2=" 14" style="stroke:#808080"/>
<path fill="black" d="M9.5 5.51-3 313 3z" />

</g>
<g id="down" fill="none" stroke-linecap="square" shape-rendering="optimizeSpeed" display="none">
<rect fi l="rgb(212 208 200)" width="16" height="16°' />
<rect fill="none" style="stroke:#808080" width=" 16" heighl- "16"/>
<path fill--"black" d="M10.5 6.51-3 313 3z" />
</g>
</g>
<g id="SliderSkin">
<g id="up" display="all">
<gid="-body">
<rect id="SliderSkinBar" fill="#E6E6E6" x="0" y='°0°' width="400" height=" 16">
</rect>
</g>
<g id=°'SliderSkinThumb">
<rect id="sliderThumbBar" style="fill:rgb(212 208 200);stroke:#OOOOOO;stroke-width:0" x="0" y="0" width="400" height="16"/>
dine xl="0" x2="400" yl="15" y2="15"
style="stroke:#404040"/>
<line xl="1" x2="398" yl="1°' y2="1"
style="stroke:#FFFFFF"/>
</g>
<pattern id="barfill" width="2" height="2"
patternUnits="userSpaceOnUse" shape-rendering="optimizeSpeed">
<reCt X="0"' y="0" width="2"' height="2" fill="White°'/>

<rect x="0" y="0" width="1" height="1" fill="rgb(212 208 200)"/>
<rect x='°1" y="1" width="1" height="1" fill="rgb(212 208 200)"/>
</pattern>
</g>
<g id="mask°' >
<rect id="sliderMask" x="0" y="0" width="400" height="16"
opacity="0"/>
</g>
</g>
<g id="ButtonRightSkin">
<g id="up" fill="none" stroke-linecap="square" shape-rendering="optimizeSpeed" display="all">
<rect fill="rgb(212 208 200)" width=" 16" height=" 16" />
cline x1"15" y1="0" x2="15" y2="15" style="stroke:#404040"/>
cline x 1="0" y1=" 15" x2=" 1 S" y2=°' 15" style="stroke:#404040"/>
dine x1="1" y1="1" x2="13" y2="1" style="stroke:#FFFFFF"/>
dine x1="1" y1="1" x2="1" y2="13" style="stroke:#FFFFFF"/>
cline x1="1" y1="14" x2="14" y2="14" style="stroke:#8080'r30"/>
cline x l==" 14" y1=" 1" x2=" 14" y2=" 14" style="stroke:#808080"/>
<path fill="black" d="M6.5 5.513 31-3 3z" />
</g>
<g id="down" fill="none°' stroke-linecap="square°° shape-rendering="optimizeSpeed" display="none">

<rect fill="rgb(212 208 200)'° width=" 16" height=" 16" />
<rect fill="none" style="stroke:#80.8080" width=" 16" height=" 16"/>
<path fill="black" d="M'7.5 6.513 31-3 3z" />
</g>
</g>
<g id="skinScrollBarSmall">
< a s a i d - " S 1 i d a r S k i n "
xlink:href--"skinScrollBar Default.svg#SliderSkinSmall" ;~="0" y="0"l>
< a s a i d - " B a t t o n L a f t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonLeftSkinSmall" x="0" y="0"/>
< a s a i d = " B a t t o n R i g h t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonRightSkinSmall" x="0" y="0"/>
<g id="corner">
<rect x="0" y="0" width=" 10" height==" I 0"
style="fill:#FFFFFF;stroke:#000000"/>
</g>
</g>
<g id="ButtonLeftSkinSmall">
<g id="up" display="all">
<rect x=" 1 " y=" 1 " width=" 10" height=" 10" style=="fill rule:evenodd;clip-rule:evenodd; -fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke miterlimit:2.6131; "/>

<rect x="0" y="0" width=" 10" height=" 10"
style="fill: #FFFFFF; stroke: #000000"/>
<text x ="5" y="5" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle"> </text>
<path d="M 8 2 1 -6 3 1 6 3 z"
style="fill:#000000;stroke:#FFOOOO;stroke-width:0"/>
</g>
<g id="down" display="none">
<rect x=" 1 " y=" 1 " width=" 10" height=" 10" style="fill rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke miterlimit:2.6131; "/>
<rect x=" 1 " y=" 1 " width=" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="5" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle"> </text>
<path d="M 9 3 1 -6 3 1 6 3 z'°
style="fill:#FF0000;stroke:#FF0000;stroke-width:0"/>
</g>
</g>
<g id="SliderSkinSmall">
<g id="up" display="all">
<rect id="SkinSliderSmallBorder" x="0" y="0" width="200"
height="10" opacity="0"/>
<g id="body">
<rectid="SkinSliderSmallBase'" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131;"
x="1" y="1" width="444" height="10"/>

<rect id="SliderSkinSmallBar"
style="fill:#FFFFFF;stroke:#000000" x="0" y="0" width=="444" height=" 10"/>
</g>
<g id="SliderSkinSmallThumb">
< r a c t i d = " s l i d a r T h a m b B a r "
style="fill:#B3B3B3;stroke:#000000;stroke-width:0" x="0" y="0" width="10"
height="10"/>
</g>
<g id="tickMajor" display="none">
<text x=" 0" y=" 11 " id="tickLabelMaj or"
xml:space="preserve" style="font-face:Arial;font-size:8;fill:black;stroke:l;text anchor:middle"></text>
</g>
</g>
<g id="mask" >
<rect id="sliderMask" x="" y="0" width="444" height=" 18"
opacity="0"/>
</g>
</g>
<g id="ButtonRightSkinSmall">
<g id="up" display="all°'>
<rect x==" 1 " y=" 1 " width=" 10" height=" 10" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0041;sl;roke-miterlimit:2.613 l;"/>
<rect x="0" y="0" width=" 10" height=" 10"
style= "fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="5" style="font-family:'Tahoma';stroke:none;font-size: l2;text-anchor:middle"> </text>

<patra d="M 2 2 1 6 3 1 -6 3 z"
style="fill:#000000;stroke:#FFOOOO;stroke-width:0"/>
</g>
<g id="down" display="none">
<rect x=" 1 " y=" 1 " width=" J. 0" height=" 10" style="fill-rule: evenodd;clip-rule: evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131; "/>
<rect x=" 1" y=" 1" width=" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="S" y="5" style="font-family:'Tahoma ;stroke:none;font-size:l2;text-anchor:middle"> </text>
<path d="M 3 3 1 6 3 1 -6 3 z"
style="fill:#FF0000;stroke:#FFOOOO;strolce-width:0"/>
</g>
</g></svg>
skinScrollBar ListBox.svg <?xml version=" 1.0"?>
<svg>
<g id="skinScrollBarSmall">
< a s a i -d - " S 1 i d a r S k i n "
xlink:href-"skinScrollBar Default.svg#SliderSkinSmall" x="0" y="0"/>
< a s a i d - " B a t t o n L a f t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonLeftSkinSmall" x="0" y="0"/>
< a s a i d = " B a t t o n R i g h t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonRightSkinSmall" x="0" y="0"/>
<g id="corner">

<rect x="0" y="0" width=" 10" height=" 10"
style="fill:#FFFFFF;stroke:#000000" display="none"/>
/g </g>
<g id="ButtonLeftSkinSmall">
<g id="up" display="a11">
<rect x=" 1 " y=" 1" width=" 10" height=" 10" style="fill-rule:evenodd;clip-ntle:evenodd;fill:#FFFFFF;stroke:#B3B~B3;stroke-width:1.0041;stroke-miterlimit:2.6131; "/>
<rect x="0" y="0" width=" 10" height==" 10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="S" y="S" style="font-family:'Tahoma';stroke:none;font-size: l2;text-anchor:middle"> </text>
<path d="M 8 2 1 -6 3 1 6 3 z°' style="fill:#000000;stroke:#FFOOOO;stroke-width:0"/>
</g>
<g id="down" display="none">
<rect x =" 1" y=" 1" width=" 10" height=" 10" style ="fill rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke miterlimit:2.6131; "/>
<rect x=" 1 " y=" 1 " width=" 10" height=°' 10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="5" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle"> </text>
<path d="M 9 3 1 -6 3 1 6 3 z"
style="fill: #FF0400; stroke: #FF0000; stroke-width:0 "/>
</g>

</g>
<g id="SliderSkinSmall">
<g id="up" display="all">
<rect zd="SkinSliderSmallBorder"' x="0" y="0" width="200"
S height=" 10" opacity="0"/>
<g id="body">
<rect id="SkinSliderSmallBase" style="fill-rule:eveno~dd;clip-rule:evenodd;fill:#FFFFFF;strobe:#B3B3B3;stroke-width:l .0041;stroke-miterlimit:2.613 l;"
x=" 1 " y=" 1 " width="444" height=" 10"/>
<rect id="SliderskinSmallBar"
style="fill:#FFFFFF;stroke:#000000" x="0" y="0" width="444" height="10"l>
</g>
<g id="SliderSkinSmallThumb'°>
< r a c t i d = " s 1 i d a r T h a m b B a r "
style="fill:#B3B3B3;stroke:#000000;stroke-width:0" x="0" y="0" width=" 10"
height ''' 10"/>
</g>
<g id="tickMajor" display="none">
<text x="0" y="11" id="tickLabelMajor"
xml:space="preserve" style="font-face:Arial;font-size:8;fill:black;stroke:l ;text anchor:middle"></text>
</g>
</g>
<g id="mask" >
<rect id="sliderMask" x="°' y="0" width="444" height="18"
opacity="0"/>
</g>

</g>
<g id="ButtonRightSkinSmall">
<g id="up" display="all">
<rect x=" 1 " ~" 1 " width=" 10" height=" 10" style="~ 11 rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke miterlimit:2.6131; "/>
<rect x="0" y="0" width=°' 10" height=" 10"
style="fi 11: #FFFFFF; stroke: #0()0000 "/>
<text x ~="5" y="5" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle"> </text>
<path d="M 2 2 1 6 3 1 -6 3 z"
style="fill:#000000;stroke:#FFOOOO;stroke-width:0'°/>
</g>
<g id="down" display="none">
1 S <rect x=" 1" y=" 1" width=" 10" height=" 10" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131;"/>
<rect x=" 1 "' y=" 1 " width=" 10" height=" 10"
style="fi 11: #FFFFFF; stroke: #000000 "/>
<text x ="5" y="5" style="font-farmly:'Tahoma';stroke:none;font-size:l2;text-anchor:middle") </tc;xt>
<path d="M . 3 3 1 5 3 1 -6 3 z"
style="fill:#FF0000;stroke:#FF0000;stroke-width:0"/>
</g>
</g></svg>
skinScrollBar ListView.svg <?xml version=" 1.0"?>
<svg>
<g id="skinScrollBarSmall">
< a s a i d - " S 1 i d a r S k i n "
xlink:href--"skinScrollBar Default.svg#SliderSkinSmall" x="0" y="0"/>
< a s a i d - " B a t t a n L a f t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonLeftSkinSm.all" x="0" y="0"/>
< a s a i d - " B a t t o n R i g h t S k i n "
xlink:href--"skinScrollBar Default.svg#ButtonRightSkinSmall" x="0" y="0"I>
<g id="corner">
<rect x="0°' y="0" width=" 10" height---" 10"
style="fill:#FFFFFF;stroke:#000000" display="none"/>
</g>
</g>
<g id="ButtonLeftSkinSmall°'>
<g id="up" display="all">
<rect x=" 1 " y=" 1" width=" 10" height=" 10" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131; "/>
<rect x="0" y="0°' width=" 10" height='810"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="S" style="font-family:'Tahoma';stroke:rlone;font-size:l2;text-anchor:middle"> </text>
<path d="M 8 2 1 -6 3 1 6 3 z"
style="fill:#000000;stroke:#FF0000;stroke-width:0"l>
</g>
<g id="down" display="none">

<rect x=" 1" y=" 1'° width=" 10" height=" 10" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:l.0001;stroke-miterlimit:2.6131; "/>
<rect x=" 1 " y=" 1 " width=" 10" height=" 10"
S style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5'° y="5" style="font-family:'Tahoma°;stroke:none;font-size:l2;text-anchor:middle"> </text>
<path d="M 9 3 1 -6 3 1 6 3 z"
style="fill: #FF0000; stroke: #FF0000; stroke-width: 0"/>
</g>
</g>
<g id="SliderSkinSmall">
<g id="up" display="all">
<rect id="SkinSliderSmallBorder" x="0" y="0" width=="200"
height=" 10" opacity="0"/>
<g id="body">
<rectid="SkinSliderSmallBase" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width: l .0001;stroke-miterlimit:2.6131;"
x=" 1 " y=" 1" width="444" height=" 10"/>
<rect id="SliderSkinSmallBar"
style="fill:#FFFFFF;stroke:#000000" x="0" y="0" width="444" height="10"/>
</g>
<g id="SliderSkinSmallThumb">
< r a c t i d = " s 1 i d a r T h a m b B a r "
style="fill:#B3B3B3;stroke:#OOOOOO;stroke-width:0" x="0" y="0" width=" 10"
height=" 10"/>
</g>
<g id="tickMajor" display="none">

<text x="0" y="11" id="tickLabelMajor"
xml:space="preserve" style="font-face:Arial;font-size:8;fill:black;stroke:l;text-anchor:middle"></text>
</g>
$ </g>
<g id="mask" >
<rect id="sliderMask" x="°' y="0" width="444"
height=°'18°' opacity="0"/>
</g>
</g>
<g id="ButtonRightSkinSmall">
<g id="up" display="all">
<rect x=" 1" y=" 1" width='° 10" height=" 10" style--"fill rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3;B3;stroke-width:1.0001;stroke miterlimit:2.6131; "/>
<rect x="0" y="0" width=" l 0" height=" 10"
style="fill: #FFFFFF; stroke: #040000"/>
<text x ="$" y="$" style---"font-family:'Tahoma';stroke:none;font-size: l2;text-anchor:middle"> </text>
<path d="M 2 2 1 5 3 1 -6 3 z"
style="fill:#000000;stroke:#FFOOOO;stroke-width:0"/>
</g>
<g id='°down" display="none">
<rect x=" 1 " y=" 1 " width=" 10" height=" 10" style="fill rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke miterlimit:2.6131; "/>

<rect x="1" y="1" width="10" height="10"
style="fill:#FFFFFF;stroke:#000000"/>
<text x ="5" y="5" style="font-family:'Tahoma';stroke:none;font-size:l2;text-anchor:middle"> </text>
<path d="M 3 3 1 6 3 1 -6 3 z"
style="fill:#FF0000;stroke:#FFOOOO;stroke-width:0"I>
</g>
</g></svg>
skinSlider Default.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http:llcorel.org/dsvg">
<g id="skinSlider">
<g id="label">
<text id="skinComboBoxDefault'bodyText" x="0" y="-6"
fill="black"> </text>
<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="bottom"/>
</g>
<g id="up" display="all">
<rect id="skinSliderBorder" x="0" y="0" width="200" height=" 18"
fill="none'° stroke="none" pointer-events="fill'°/>
<g id="body">
<rect id="skinSliderBase" fill="#EEEEEE" stroke--"none"
x="0" y="7" width="200" height="4"/>

<rect id="skinSliderBar" fill="#EEEEEE" stroke='none"

x="0" y="7" width="200" height="4"/>

dine x1="0" y1="7" x2="200" y2="7"

style="stroke:#B3B3B3"/>

<I g>

<g id="skinSliderThumb">

<circle cx="3" cy--"3" r="3" style="fill:black;stroke:none"/>

<circle cx='3" cy=' 15" r="3" style="fill:black;stroke:none"/>

<rect style="fill:rgb(230,230,230);stroke:none" x ="0"
y='3"

width="fi" height="12"/>

cline x1="0" y1="3" x2="0" y2="15"

style="stroke:#B3B3B3;stroke-width: l "/>

cline x1="1.5" y1="3" x2="1.5" y2="15"

style="stroke:white;stroke-width:2"/>

dine x1="6' y1="3" x2="6" y2="15"

style="stroke:#B3B3B3;stroke-width: l'/>

</g>

<g id="tickMajor" display="none">

cline x1="0" y1="7" x2="0" y2="17"

style="stroke:#B3B3B3"/>

<text id="tickLabeIMajor" x="0" y=" 12" xmlapace ="preserve"

style="font-face:Arial;font-size:8;fi11:#B3B3B3;stroke-width:l">
</text>

</g>

<g id="tickMinor" display="none">

cline x1="0" y1="7" x2="0" y2="11"

style="stroke:#B3B3B3"/>

</g>

</g>
<g id="down" display="none">
<rect id="skinSliderBorder" x='°0" y="0" width="200" height="18"
fill="none" stroke="none" pointer-events="fill"/>
<g id="body">
<rect id='°skinSliderBase" fill="#EEEEEE" stroke="none"
x="0" y="7" width="200" height="4"/>
<rect id="skinSliderBar" fill---"#EEEEEE" stroke="none"
x="0" y="7" width="200" height="4'°/>
<linexl="0°' y1="7" x2="200'° y2="7" style="stroke:black"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3"
style="fill:#199DBF;stroke:none"/>
< C 1 r C 1 a C X = " 3 " C y = " 1 5 " 1. _ " 3 "
style="fill:# 199DBF;stroke:none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x=°'0" y="3"
width="6" height="12"/>
dine x1='°0" y1="3" x2="0" y2="15"
style="stroke:#B3B3B3;stroke-width:l "/>
dine x 1=" 1.5" y1="3" x2=" 1.5" y2=" 15"
style="stroke:white;stroke-width:2"/>
dine x1="6" y1="3" x2="6" y2="15"
style="stroke:#B3B3B3;stroke-width: l "/>
</g>
<g id="tickMajor" display="none">

cline x1="0" y1="7" x2="0" y2="17" style="strolce:black"l>
<text id="tickLabeIMajor" x="0" y=" 12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:black;stroke-width:l "> </text>
</g>
<g id='°tickMinor" display="none">
cline x1="0" y1="7" x2="0" y2-"11" style="stroke:black"/>
</g>
</g>
<g id="hover" display="none">
<rect id="skinSliderBorder" x="0" y="0" width="200" height=" I 8"
fill="none" stroke="none" pointer-events="fill"/>
<g id=°'body">
<rect id="skinSliderBase" fill="#EEEEEE" stroke="none"
x="0" y="7" width="200" height="4"/>
<rect id="skinSliderBar" fill="#EEEEEE" stroke="none"
x="0" y="7" width="200" height="4"/>
dine x 1='°0" y1="7" x2="200" y2="7" style="stroke:black"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3"
style="fill:#199DBF;stroke:none"/>
<circle cx="3" Cy=" 1 S" r="3 n style="fill: # 199DBF; stroke: none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3"
width="6" height="12"/>

dine x1="0" y1="3" x2="0" y2="15"
style="stroke:#B3B3B3;stroke-width: l "/>
dine x1="1.5" y1="3" x2="1.5" y2="15"
style="stroke:white; stroke-width:2 "/>
dine x1="6" y1="3" x2="6" y2="15"
style=°'stroke:#B3B3B3;stroke-width: l "/>
</g>
<g id="tickMajor" display="none">
cline x 1"0" y1"7" x2="0" y2=" 17" style="stroke:black"/>
<text id="tickLabelMajor" x="0" y=" 12" xmlapace="preserve"
style--"font-face:Arial;font-size:8;fill:black;stroke-width: l "> </text>
</g>
<g id="tickMinor" display="none">
cline x1="0" y1="7" x2="0" y2="11" style="stroke:black"/>
</g>
</g>
<g id="disabled" display="none">
<rect id="skinSliderBorder" x="0" y=°'0" width="200" height="18"
fill="none" stroke="none" pointer-events="fill"/>
<g id="body">
<rect id="skinSliderBase'° fill=="#EEEEEE" stroke="none"
x="0" y="7" width="200" height="4"/>
<rect id="skinSliderBar" fill="#EEEEEE" stroke="none"
x="0" y="7" width="200" height="4"/>
cline x1="0" y1="7" x2="200" y2="7" stroke="#B3B3B3"/>

</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3" style="fill:black;stroke:none"/>
<circle cx="3" cy=" 15" r="3" style--"fill:black;strolce:none"/>
<rect style="fill:rgb(230,230,2;30);stroke:none" x="0" y="3"
width="6" height "12"!>
cline x1="0" y1="3" x2="0" y2="15"
style="stroke:B3B3B3;stroke-width:l "/>
cline x 1=" 1.5" y1="3" x2=" 1.5" y2=" 15"
style--"stroke:white;stroke-width:2"/>
cline x1="6" y1"3" x2"6" y2="15" style="stroke:black" />
</g>
<g id="tickMajor" display="none">
cline x1="0°° y1="7" x2="0" y2="17"
style="stroke:#B3B3B3"/>
<textid="tickLabelMajor" x="0" y="12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:#B3B3B3;stroke-width:l "> </text>
</g>
<g id="tickMinor" display="none">
cline x1=°'0" y1="7" x2="0°' y2.="11" stroke="#B3B3B3"/>
</g>
</g>
<g id="mask" >
<rect id="skinSliderMaslc" x="-4" y=°'0" width="208" height=" 18"
fill="none" stroke="none" pointer-events="fill"/>

</g>
</g>
</svg>
skinSlider Windows.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg">
<g id="skinSlider">
<g id="label">
<text id="skinComboBoxDefault-bodyText" x="0" y="-6"
fill="black"> </text>
<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="bottom"/>
</g>
<g id="up" display="all">
<rect id="skinSliderBorder" x="0" y="0" width="200" height="18"
fill="none" stroke="none" pointer-events="fill"/>
<g id="body">
<rect id="skinSliderBase" style="fill:#FFFFFF;stroke:none"
x="0" y="7" width="200" height="4"/>
<rect id="skinSliderBar" style="fill:#FFFFFF;stroke:none"
x="0" y="7" width="200" height="4"/>
dine x1="0" y1="7" x2='°200" y2="7"
style="stroke:#B3B3B3"/>
</g>
<g id="skinSliderThumb">

<circle cx="3" cy="3" r="3" style="fill:black;stroke:none"/>
<circle cx="3" cy=" 1 S" r="3" style="fill:black;stroke:none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3"
width="6" height "12"/>
S cline x1="0" y1="3" x2="0" y2="15"

style="stroke:#B3B3B3;stroke-width:l "/>

cline x1="1.5" y1="3' x2="1.5" y2="15"

style="stroke:white;stroke-width:2"/>

cline x1="6' y1="3 x2="6" y2='15"

style="stroke:#B3B3B3;stroke-width:l"/>

</g>

<g id="tickMajor' display="none">

dine x1="0" y1="7" x2="0" y2="17"

style="stroke:#B3B3B3 "/>
<text id="tickLabelMajor" x="0" y=" 12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fi11:#B3B3B3;stroke: l;text-anchor:middle"></text>
</g>
<g id="tickMinor°' display="none">
cline x1="0" y1="7" x2="0" y2='°11"
style="stroke:#B3B3B3"/>
</g>
</g>
<g id="down" display="none">
<rect id="slcinSliderBorder" x="0" y="0" width--"200" height="18"
fill--"none" stroke="none" pointer-events="fill"/>

<g id="body">
<rect id="skinSliderBase" style="fill:#FFFFFF;stroke:none"
x="0" y="7" width="200" height="4"/>
<rect id="skinSliderBar" style="fill:#FFFFFF;stroke:none"
x="0" y="7" width="200" height="4"/>
dine x1="0" y1="7" x2="200°' y2="7" style="stroke:black"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3"
style="fill:#199DBF;stroke:none°'/>
< C 1 r C 1 a C X = " 3 " C y = " 1 5 " r _ " 3 "
style="fill:#199DBF;stroke:none"h <rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3"
width="6" height=" 12"/>
dine x1="0" y1="3" x2="0" y2="15"
style="stroke:#B3B3B3;stroke-width: l "/>
dine x1=" 1.5" y1="3" x2=" 1.5" y2=" 15"
style="stroke:white;stroke-width:2"/>
cline x1="6" y1="3" x2="6" y2="15"
style="stroke:#B3B3B3;stroke-width: l "/>
</g>
<g id="ticklVlajor" display="none">
cline x1="0" y1="7" x2="0" y2~="17" style="stroke:black"I>
<text id="tickLabelMajor" x="0" y=" 12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:black;stroke:l;text-anchor:middle"></text>
</g>
<g id="tickMinor" display="none">

dine x1="0" y1="7" x2="0" y2="11" style="strolce:black"/>
</g>
</g>
<g id="hover" display="none">
<rect id="skinSliderBorder" x="0" y-'"0" width="200" height="18"
fill="none" stroke="none" pointer-events="fill"/>
<g id="body">
<rect id="skinSliderBase" style="fill:#FFFFFF;strolce:none"
x="0" y='°7'° width="200" height="4"/>
<rect id="skinSliderBar" style='°fill:#FFFFFF;stroke:none"
x="0" y="7" width="200" height "4"!>
cline X 1="0" y1="7" x2="200" y2="7" style="stroke:black"/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3"
style="fill:# 199DBF;stroke:none"/>
< C 1 r C 1 a C X = " 3 " C y = n 1 5 " r = " 3 "
style="fill:#199DBF;stroke:none"/>
<rect style="fill:rgb(230,230,230);stroke:none" x="0" y="3"
width="6" height=" 12"/>
dine x1="0" y1="3" x2="0" y2="15"
style--"stroke:#B3B3B3;stroke-width: l "/>
dine x1=°' 1.5'° y1="3" x2=" 1.5" y2=" 15"
style="stroke:white;stroke-width:2"/>
dine x1="6" y1="3"' x2="6" y2="15"
style="stroke:#B3B3B3;stroke-width: l "/>

</g>
<g id="tickMajor" display="none">
dine x1="0" y1="7" x2="0" y2="17" style="stroke:black"/>
<text id="tickl,abelMajor" x="0" y=" 12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:black;stroke:l;text-anchor:middle"></text>
</g>
<g id="tickMinor" display="none">
cline x1="0" y1="7" x2="0" y?="11" style--"stroke:black"/>
</g>
</g>
<g id="disabled" display="none">
<rect id="skinSliderBorder" x="0" y='''0" width="200" height=" 18"
fill="none" stroke="none" pointer-events="fill"/>
<g id="body">
<rect id="skinSliderBase" style="fill:#FFFFFF;stroke:none"
x="0" y="7" width="200" height="4"/>
<rect id="skinSliderBar" style="fill:#FFFFFF;stroke:none"
x="0" y="7" width="200" height="4"/>
cline x1="0" y1="7" x2="200" y2="7"
style="stroke:#B3B3B3 "/>
</g>
<g id="skinSliderThumb">
<circle cx="3" cy="3" r="3" style="fill:black;stroke:none"/>
<circle cx="3" cy=" 15" r="3" style="fill:black;stroke:none"/>

<rect style="fill:rgb(230,230,230);strolce:none" x="0" y="3"
width="6" height=" 12"/>
cline x1="0" y7l="3" x2="0" y2="15"

style="#stroke:B3B3B3;stroke-width:
l "/>

dine x1="1.5" y1="3" x2="1.5" y2="15"

style="stroke:white;stroke-width:2"/>

dine x1="6' y1="3" x2="6" y2="15"

style="#stroke:000000;stroke-width:
l "/>

</g>

<g id="tickMajor" display="none">

dine x1="0" yt="7" x2="0" y2="17"

style="stroke: #B3B3B3 "/>
<text id="tickLabelMajor" :x="0" y=" 12" xmlapace="preserve"
style="font-face:Arial;font-size:8;fill:#B3B3B3;stroke: l;text-anchor:middle"></text>
</g>
<g id="tickMinor" display="none">
cline x l ="0" y1 ="7" x2=" 0'° y2=" 1 1 "
style="stroke:#B3B3B3 "/>
</g>
</g>
<g id="mask" >
<rect id="skinSliderMask" x="-4" y="0" width="208" height=" 18"
fill="none" stroke="none" pointer-events="~11"/>
</g>
</g>

</svg>
skinSpin-Composite.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg">
<g id="skinSpin">
< a s a i d - " T a x t B o x S k i n xlink:href--"skinTextBox-Spin Short.svg#skinTextbox" x="0" y="0"/>
< a s a i d - °' B a t t o n S k i n U p "
xlink:hre~"skinSpin Composite.svg#skinSpinButtonUp" x="100" y="-1"/>
< a s a i d - " B a t t o n S k i n D o w n "
xlink:hre~"skinSpin-Composite.svg#skinSpinButtonDown" x="100" y="8"/>
<g id="label">
<text x="0" y="-6" style="font-size:l2;fill:black">
<dsvg:constraint preserveAspectRatio="vertical"
hAlign="middle"/>
</text>
</g>
</g>
<g id="skinSpinButtonUp">
<g id="up" display="all">
<rect x="0" y="0" width="18" height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0" style="stroke-width: l ;stroke:white;fill:none"/>

<polyline points="0,9 18,9 18,0" style="stroke-width: l ;stroke:black;fill:none"/>

<polygon points="3,6 9,3 15,6" style="stroke-width:l;stroke:black;fill:black"I>

</g>

<g id="down" display="none">

<rect x="0" y="0" width="18" height="9"

style="fill:rgb(230,230,230);stroke:none"/>

<polyline points='0,9 0,0 18,0" style="stroke-width:l;stroke:black;fill:none"/>

<polyline points="0,9 18,9 18,0" style="stroke-width: l;stroke:white;fill:none"/>

<polygon points="3,6 9,3 15,6" style="stroke-width: l;stroke:#199DBF;fild:#199DBF"!>

<lg>

<g id="hover" display="none">

<rect x="0" y="0" wid th=" height="9"
1 8"

style="fill:rgb(230,230,230);stroke:none"/>

<polyline points="0,9 0,0 18,0" style="stroke-width:2;stroke:white;fill:none"/>

<polyline points="0,9 18.,9 18,0" style="stroke-width:2;stroke:black;fill:none"/>

<polygon points="3,6 9,3 15,6" style="stroke-width:l;stroke:#199DBF;fill:#199DBF"h </g>

<gid="disabled" style="opacity:0.5" "scale(0.5)"
transform= display="none">

<rect x="0" y="0" width="18" height="9"
style="fill:rgb(230,230,230);stroke:none"/>
<polyline points="0,9 0,0 18,0'° style="stroke-width: l;stroke:white;fill:none"/>
<polyline points="0,9 18,9 18,0" style="stroke-width: l;stroke:black;fill:none"/>
<polygon points="3,6 5~,3 15,6" style=''stroke-width:l;stroke:black;fill:black"/>
</g>
</g>
<g id="skinSpinButtonDown">

<g id="up" display="all">

<rect x="0" y="0" wid th=" height="9"
1 8"

style="fill:rgb(230,230,230);stroke:none"/>

<polyline points="0,9 0,0 18,0" style="stroke-width: l ; stroke:white;fill:none"/>

<polyline points="0,9 18,9 18,0" style="stroke-width: l;stroke:black;fill:none"!>

<polygon points="3,3 9,6 15,3" style="stroke-width: l;stroke:black;fill:black"/>

</g>

<g id="down" display="none">

<rect x="0" y="0" width=" height="9"

8"

style="fill:rgb{230,230,230);stroke:none"/>

<polyline points='0,9 0,0 18,0" style="strolce-width: l;stroke:black;fill:none"/>

<polyline points="0,9 18,9 18,0" style="stroke-width: l;stroke:white;fill:none"/>

<polygon points="3,3 9,6 15,3" style="stroke-width: l;stroke:#199DBF;fill:#199DBF"/>

<lg>

<g id="hover" display="none">

<rect x= "0" y="0" wid th="18" height="9"

style="fill:rgb(230,230,230);stroke:none"!>

<polyline points="0,9 0,0 18,0" style="stroke-width:2;stroke:white;fill:none"/>

<polyline points="0,9 18,9 18,0" style="stroke-width:2;stroke:black;fill:none"/>

<polygon points="3,3 9,6 15,3" style="stroke-width: l ;stroke:# 199DBF;fill:# 199DBF"/>

</g>

<g id="disabled" style="opacity:0.5" display='none">

<rect x="0" y="0" width="18" height="9"

style="fill:rgb(230,230,230);stroke:none"/>

<polyline points="0,9 0,0 18,0" style='stroke-width:l;stroke:white;fill:none"/>

<polyline points="0,9 18,9 18,0' style='stroke-width: l ;stroke:black;fill:none"/>

<polygon points="3,3 9,6 15,3" style="stroke-width: l;stroke:black;fill:black"/>

</g>

</g>

</svg>

skinTextBox Combobox.svg <?xml version--" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg">
<g id="skinTextbox">
<gid="up" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="all">
<rect x="0" y="0" width="200" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
<lg>
<g id="hover" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="none">
<rect x="0" y="0" width="200" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
</g>
<g id="down" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="none">
<rect x="0" y="0" width="200" height="17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width:1 "/>
cline id="skinTextbox_cursor" x1="3'° y1='°2" x2="3" y2="16"
style="stroke:black">
<animate attributeType="CSS" attributeName="opacity"
values="0~0~0~0~0~0~1~1-l~l~l~l" dur="ls" repeatCount "indefinite"/>
» » » » » >
</line>
<lg>
<g id="disabled" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0.5;" display--"none">

<rect x="0" y="0" width="200" height="17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
</g>
<clipPath id="skin.Textbox textView">
<rect id="skinTextbox textArea" x=°'3" y="3" width="205"
height "12"/>
</clipPath>
<text clip-path--"url(#skinTextbox textView)" id="skinTextbox text"
xml:space="preserve" x="3" y="15" style="font-face:Arial;font size:l2;fill:black;stroke:1 "><ltext>
</g>
</svg>
skinTextBox Combobox_Short.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http://corel.org/dsvg">
<g id="skinTextbox">
<g id="up" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="all">
<rect x="0" y="0" width="133" height="17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width:1 "/>
</g>

<g id="hover" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="none">
<rect x="0" y="0" width=" 133" height=" 17"
style='°fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
</g>
<g id="down" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="none">
<rect x="0'° y="0" width=" 133" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width:l "/>
<line id="skinTextbox cursor'° x1="3" y1="2"' x2="3" y2="16"
style="stroke:black">
<animate attributeType= °'CSS'° attributeNarne="opacity"
values="0'0'0'0'0~0'1'1'l~l'lvl" dur="ls" repeatCount="indefinite"/>
» » » » » >
</line>
</g>
<g id="disabled" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0~5;" display="none">
<rect x="0" y="0" width=" 133 °' height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width:l "!>
</g>
<clipPath id="skinTextbox_text~iew">
<rect id="skinTextbox_textArea" x="3" y="3" width="138"
height "12"/>
</clipPath>

<text clip-path="url(#skinTextbox textView)" id="skinTextbox text"
xmlapace="preserve" x="3" y=" 15" style="font-face:Anal;font-size:l2;fill:black;stxoke:1 "></text>
</g>
</svg>
skinTextBox Default.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg="http:l/corel.org/dsvg">
<g id="skinTextbox">
<gid="up'° style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;stroke-width:l" display="all">
<rect style="fill-rule:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-miterlimit:2.6131;" x="3"
y="3'°
width="228" height="18"/>
<rect style="fill:white;stroke:grey" x="0" y="0" width--"228"
height " 18 "/>
<dsvg:constraint propertyName="stroke-width"
scaleImmunity="true"/>
</g>
<g id="hover'° style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;stroke-width:l;"
display="none">
<rect style="fill-rule:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-miterlimit:2.6131;'°
x="3" y="3"
width="228" height="18"/>

<rect style="fill:white;stroke:#000000" x="0" y="0" width--"228"
height=" 18"/>
<dsvg:constraint propertyName="stroke-width"
scaleImmunity="true"l>
</g>
<g id="down" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000004;stroke-miterlimit:4;stroke-width:l;"
display="none">
<rect style="fill-rule:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-miterlimit:2.6131;" x="3"
y="3"
width="228" height=" 18 "/>
<rect style="fill:white;stroke:#000000'° x="0" y="0" width="228"
height=" 18 "/>
dine id="skinTextbox_cursor" x1="3" y1=°'2°' x2="3" y2="16"
style="stroke:black">
<animate attributeType="CSS" attributeName="opacity°' values="0~0~0~0~0~0~ 1 ~ 1 ~ 1 ~ 1 ~ 1 ~ 1" dur=" 1s"
repeatCount="indefinite"/>
» » » » » >
<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="top"/>
</line>
<dsvg:constraint propertyName="stroke-width"
scaleImmunity="true"/>
</g>
<g id="disabled" style="fill-rule:nonzero;clip rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0.5;stroke-width:l;"
display="none">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-miterlimit:2.6131;" x="3"
y="3"
width="228" height="18"/>

<rect style="fill:gray;stroke:#000000'° x="0" y="0°' width="228"
height=" 18"!>
<dsvg:constraint propertyName="stroke-width"
scaleImmunity="true"/>
</g>
<g id="label" style="font-family:'Tahoma';stroke:none;font-size:l2">
<text x="0" y="-6" fill="black"> </text>
<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="bottom"/>
</g>
<clipPath id="skinTextboxtextView">
<rect id="skinTextbox textArea'" x="3" y="3" width="222"
height=" 12"/>
<lclipPath>
<text clip-path="url(#skinTextbox textView)" id="skinTextbox text"
xml:space="preserve" x="3" y="15" style="font-face:Arial;font-size: l2;fill:black;stroke:1 "><dsvg:constraint scalelmmunity="true"
hAlign="left"
vAlign="top"/></text>
</g>
<g id="skinTextboxMultiLine">
<g id="up" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="all">
<rect style="fill-rule:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131;"
x="3" y="3" width="228" height "54"/>

<rect style="fill:white;stroke:grey" X="0" y="0" width="228"
height="54"/>
</g>
<g id="hover" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="none">
<rect style="fill-rule:evenodd;clip-rule: evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.OOO l ;stroke-miterlimit:2.6131;"
x="3" y="3" width="228" height="54"/>
<rect style="fill:white;stroke:#000000" x="0" y="0" width="228"
height="54"/>
</g>
<g id="down" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="none">
<rect style=''fill-rule:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.OOOl;stroke-miterlimit:2.6131;"
x="3" y="3" width="228" height="54'°/>
<rect style="fill:white;stroke:#000000" x=°'0" y="0" width="228"
height="54"/>
dine id="skinTextboxMultiLine cursor" x1="3" y1="2" x2="3"
y2=" 16" style="stroke:black">
<animate attributeType="CSS" attributeName=''opacity"
values="O~O~O~O~O~O~I~l~l~l~l~l" dur="ls" repeatCount="indefinite"/>
» » » » » >
<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="top "/>
2S </line>
</g>

<g id="disabled" style=°'fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0.5;" display="none">
<rect style=°'fill-rwle:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131;"
x="3" y="3" width="228" height="54"/>
<rect style="fill:gray;stroke:#000000" x="0" y="0" width="228"
height=" 54 "/>
</g>
<g id="label" style="font-family:'Tahoma;stroke:none;font-size:l2">
<text x="0" y="-6" fill="black"> </text>
<dsvg:constraint scaleImmunity="true" hAlign="left"
vAlign="bottom"!>
</g>
<clipPath id="skinTextboxMultiLine textView">
<rect id="skinTextboxMultiLine textArea" fill="green" x="3" y="3"
width="222" height="48"/>
</clipPath>
<text clip-path="url(#skinTextboxMultiLine-textView)"
id="skinTextboxMultiLine text" xmlapace="preserve" x="3" y="15" style="font-face:Arial;font-size:l2;fill:black;stroke:none"><dsvg:constraint scaleImmunity="true"
hAlign="left" vAlign="top"/></text>
</g>
</svg>
skinTextBox Listbox.svg <?xml version=" 1.0"?>

<svg xmlns:dsvg="http:/lcorel.org/dsvg">
<g id="skinTextbox">
<g id="up" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="all">
S <rect x="0" y="0" width="200" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
</g>
<g id="hover" style=":Fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="none">
<rect x="0" y="0" width="200" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width:l "/>
</g>
<g id="down" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="none">
<rect x="0" y="0" width="200" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
dine id="skinTextbox_cursor" x1="3" y1="2" x2="3" y2="16"
style="stroke:black">
<animate attributeType="CSS" attributeName="opacity"
values="0~0-0~0~0~0~1-l~l-11~1" dur="ls" repeatCount="indefinite"/>
» » » » » >
</line>
</g>
<g id="disabled" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0.5;" display="none">
<rect x="0" y="0" width='°200" height=" 17"
style--"fill:#FFFFFF;stroke:#A3A3A3;stroke-width:l "/>
</g>

<clipPath id="skinTextbox textView">
<rect id="skinTextbox textArea" x="3" y="3" width="205"
height=" 12"/>
</clipPath>
S
<text clip-path--"url(#skinTextbox textView)" id="skinTextbox text"
xml:space="preserve" x="3" y="15" style="font-face:Arial;font-size:l2;fdl:black;stroke:l "><Itext>
</g>
</svg>
skinTextBox Spin Short.svg <?xml version=" 1.0"?>
<svg xmlns:dsvg=°'http://corel.org/dsvg">
<g id="skinTextbox">
<g id="up" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="all">
<rect x="0" y="0" width=" 100" height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width: l "/>
</g>
<g id="hover" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="none">
<rect x="0" y="0" width=" 100" height=" 17"
style="fi 11: #FFFFFF; stroke: #A3 A3 A3 ; stroke-width: l "l>

</g>
<g id="down" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="none">
<rect x="0" y="0" width=" 100'° height=" 17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width:l"/>
dine id="skinTextbox cursor" x1="3" y1="2" x2="3" y2="16"
style="stroke:black">
<animate attributeType="CSS'° attributeName="opacity"
values="0-0-0-0-0-0-1-1 ~ 1 M -1-1 " dur=" 1 s" repeatCount="indefinite"/>
» » » » » >
</line>
</g>
<g id="disabled" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0.5;" display="none">
<rect x="0" y="0" width="133" height="17"
style="fill:#FFFFFF;stroke:#A3A3A3;stroke-width:l "/>
</g>
<clipPath id="skinTextbox textView">
<rect id=°'skinTextbox textArea" x="3" y="3" width="108"
height=" 12 "/>
</clipPath>
<text clip-path="url(#skinTextbox texfView)" id="skinTextbox text"
xml:space="preserve" x="3" y="15" style="font-face:Arial;font-size: l2;fill:black;stroke:1 "></text>
</g>
</svg>

skinTextBox_vp.svg <?xml version=" 1.0"?>
<svg>
S <g id="skinTextbox">
<g id="up'° style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="all">
<rect style="fill-rule:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131;"
x="3" y="3" width="228" height=" 18"/>
<rect style="fill:white;stroke:grey'° x="0" y="0" width="228"
height=" 18 "/>
</g>
<g id="hover" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;" display="none">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131;"
x="3" y="3" width--"228" height=" 18"/>
<rect style="fill:white;stroke:#000000" x="0" y="0" width="228"
height="18"/>
</g>
<g id="down" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#OOOOOO;stroke-miterlimit:4;" display="none">
<rect style="fill-rule:evenodd;clip rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.OOOl;stroke-miterlimit:2.6131;"
x="3" y="3" width="228" height="18"/>

<rect style="fill:white;stroke:#000000" x="0" y="0" width="228"
height=" 18 "/>
dine id="skinTextbox cursor'° x1="3" y1="2" x2="3" y2="16"
style="stroke:black">
<animate attributeType="CSS" attributeName='°opacity"
values="0' 0' 0' 0' 0' 0' 1 ' 1 ' 1 ' 1 ' 1 ' 1 " dur=" 1 s" repeatCount "indefinite"/>
» » » » » >
</line>
</g>
<g id="disabled" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;opacity:0.5;" display="none">
<rect style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#B3B3B3;stroke-width:1.0001;stroke-miterlimit:2.6131;"
x-"3" y="3" width="228" height="18"/>
<rect style="fill:gray;stroke:#000000" x="0" y="0" width="228"
1 S height=" 18"/>
</g>
<g id="label">
<text x="238" y="14" style="font-size:l2;fll:black'°> </text>
</g>
<clipPath id='°skinTextbox textView">
<rect id="skinTextbox textArea" x="3" y="3'° width=°'222"
height=" 12 "/>
</clipPath>
<text clip-path="url(#skinTextbox textView)" id="skinTextbox text"
xml:space="preserve" x="3" y="15" style="font-face:Arial;font-size:l2;fill:black;stroke:l "></text>

</g>
<g id="skinTextboxMultiLine">
<g id="up" display="all">
<rect stroke="#EEEEEE" stroke-width="2" fill="white" x="0" y="-5"
width="380" height="195"/>
cline stroke="black" x1="1" y1="-4" x2"380" y2="-4"/>
cline stroke="black" x 1=" 1 " y1="-4" x2=" 1 " y2=" 191 "/>
<rect stroke="black" fill="white" x="2" y="-3" width="377"
height=" 192"/>
</g>
<g id="hover" display="none">
<rect stroke--"#EEEEEE" stroke-width="2" fill="white" x="0" y="-5"
width="380" height--"195"/>
dine stroke="black" x1="1" y1="-4" x2="380" y2="-4"/>
dine stroke="black" x 1=" 1 " y1 ="-4" x2 =" 1 " y2=" 191 "/>
<rect stroke="black" fill="white" x="2" y="-3" width="377"
height=" 192"/> </g>
<g id="down" display="none">
<rect stroke="#EEEEEE" stroke-width="2" fill="white" x="0" y="-5"
width="380" height="195"/>
cline stroke="black" x1="1" y1="-4" x2="380" y2="-4"/>
cline stroke="black" x 1=°' 1 " y1="-4" x2=" 1 " y2=" 191 "/>
<rect stroke="black" fill="white" x--"2" y="-3" width=°'377"
height=" 192 "/>
dine id="skinTextboxMultiLine cursor" x1"3" y1="2" x2="3"
y2=" 16" style--"stroke:black">

<animate attributeType="CSS" attributeName="opacity"
values="0~0~0~0~0~0~ 1 ~ 1 ~ 1 ~ 1v 1 ~ 1" dur=" 1s"
repeatCount="indefinite"/>
» » » » » >
</line>
</g>
<g id="disabled" display="none">
<rect stroke="gray" fill--"white" x="0" y="-5" width="380" height="195"/>
</g>
<clipPath id="skinTextboxMultiLine textView">
<rect id="skinTextboxMultiLine textArea" fill="green" x="3" y="3"
width="373" height="185"/>
</clipPath>
<text clip-path="url(#skinTextboxMultiLine-textView)"
id="skinTextboxMultiLine-text" xmlapace="preserve" x="7" y=" 1 S" style="font-face:Arial;font-size: l2;fill:black;stroke:none"></text>
</g>
</svg>
skinTextScroll Default.svg <?xml version="1.0"?>
<svg>
<g id="skinTextboxScroll">
< a s a i d - " T a x t B o x S k i n "
xlink:hre~"skinTextBox_Default.svg#skinTextboxMultiLine" x="0" y="0"/>
< a s a i d - " V a r t S c r o 1 1 S k i n xlink:href--"skinScrollBar Default.svg#skinScroll$arSmall" x="0" y="0"/>

< a s a i d = " H o r i z S c r o 1 1 S k i n "
xlink:href--"skinScrollBar Default.svg#skinScrollBarSmall" x="0" y="0"/>
</g>
<g id="label" style="font-family:'Tahoma';stroke:none;font-size:l2">
<text x="0" y="-G" fill="black"> <ltext>
<dsvg:constraint scaleImmunity="true" hAlign="left" vAlign="bottom"/>
</g>
<lsvg>
skinTooltip.svg <?xml version=" 1.0"?>
<svg>
<g id="skinTooltip annotation">
<path style="fill:#FFFF00;fill-opacity:0.7;stroke:#1F lAl 7;stroke-width:3"
d="MO 96198 0 -56 -96 106 96 202 0 0 167 -352 0 0 -167z"/>
<text x="10" y="150" style="font-size:l6;fill:black">tip<ftext>
</g>
<g id="skinTooltip traditional" pointer-events="none">
<rect x="0" y="0" width=" 150" height=" 15"
style="fill:rgb(255,255,225);fill-opacity:0.9" stroke="black" stroke-width="1 "/>
<text x="S" y=" 12" style="font-size: l2;fill:black">tip</text>
</g>
<g id="skinTooltip special" pointer-events="none">

<rect x="0" y="0" width=" 150" height=" I S"
style=" fill: rgb ( 13 0,13 0,13 0); fill-op ac ity: 0. 5" stroke="b lack"
stroke-width=" 1 "/>
<text x="5" y=" 12" style="font-size: l2;fill:black">tip<ltext>
</g>
<lsvg>

Claims (49)

WHAT IS CLAIMED IS:
1. A system for controlling user interface features of a web application, the system comprising:
a collection of user interface control elements, each control element comprising:
a name following a predetermined naming convention;
common attributes for defining graphical features of the control element and for associating the control element with the internal state of the core control element;
other attributes for defining attributes that affect the intrinsic behavior of the control; and a skin template reference attribute for referencing a skin template;
a collection of skin templates comprising extensible markup language based markup contained as children of a container element;
a collection of control element scripts for performing actions associated with the control elements, each script associated with a control element; and an initialization function for directing the processing one or more control elements in a document object model.
2. The system as claimed in claim 1, wherein the predetermined naming convention comprises having a constant prefix to the name of the element.
3. The system as claimed in claim 1, wherein the skin template reference attribute comprises a reference to the location of a skin template file.
4. The system as claimed in claim 1, wherein the control element is associated with an extensible markup language based element.
5. The system as claimed in claim 4, wherein the control element is a parent of an extensible markup language based element.
6. The system as claimed in claim 4, wherein the control element is a child of an extensible markup language based element.
7. The system as claimed in claim 1, wherein the initialization function contains instructions for traversing each node in a document object model and for searching and calling functions associated with control elements having names following the predetermined naming convention.
8. The system as claimed in claim 1, further comprising:
a collection of control attributes for adding to existing regular extensible markup language based elements in a document object model, the control attributes following the predetermined naming convention; and a collection of control attribute scripts for performing actions associated with the collection of control attributes, each script associated with a, control attribute.
9. The system as claimed in claim 8, wherein the initialization function contains instructions for traversing each node in the document object model and for searching and calling functions associated with control elements and control attributes having names following the predetermined naming convention.
10. The system as claimed in claim 8, wherein the collection of control attribute scripts is stored in a memory location of a computer system.
11. The system as claimed in claim 1, wherein the collection of scripts is stored in a memory location of a computer system.
12. The system as claimed in claim 1, wherein the collection of skin templates is stored in a memory location of a computer system.
13. The system as claimed in claim 1, wherein the collection of control elements comprises a markup language.
14. The system as claimed in claim 1, wherein the common attributes comprise state attributes for specifying the identification of a <state> child element of the control element.
15. The system as claimed in claim 1, wherein the common attributes comprise one or more of:
an identification attribute for referencing the control element;
a label attribute for associating text control;
an x attribute for specifying the x-coordinate of the left edge of the control element;
a y attribute for specifying the y-coordinate of the top edge of the control element;
a width attribute for specifies the width of the control element;
a height attribute for specifies the height of the control element;
a preserve aspect ratio attribute for preserving the aspect ratio of the control element when either the width attribute or height attribute is known;
a labelX attribute for specifying the x-coordinate of the left edge of the label, relative to the 'y' attribute;
a labelY attribute for specifying the y-coordinate of the bottom edge of the label, relative to the 'x' attribute;

a disabled attribute for specifying whether the control element is disabled and cannot be used;
a state hover attribute for specifying the identification of a <state> child element of the control element, the state hover attribute used to override the appearance of a hover state as defined in a skin of the control element;
a state focus attribute for specifying the identification of a<state> child element of the control element, the state focus attribute used to override the appearance of a focus state as defined in a skin of the control element;
a state up attribute for specifying the identification of a <state> child element of the control element, the state up attribute used to override the appearance of an up state as defined in a skin of the control element;
a state down attribute for specifying the identification of a <state> child element of the control element, the state down attribute used to override the appearance of a down state as defined in a skin of the control element;
a state hit attribute for specifying the identification of a <state> child element of the control element, the state hit attribute used to override the appearance of a hit state as defined in a skin of the control element;
a state disabled up attribute for specifying the identification of a <state>
child element of the control element, the state disabled up attribute used to override the appearance of a disabled up state as defined in the skin of the control element; and a state disabled down attribute for specifying the identification of a <state>
child element of the control element, the state disabled down attribute used to override the appearance of a disabled down state as defined in a skin of the control element
16. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:button control element for defining a control that is clicked to trigger an action, the dsvg:button control element comprising:
a namespace following the predetermined naming convention;

the common attributes;
other attributes comprising:
a toggle attribute for specifying whether the button is a toggle or a sticky button;
a group attribute for specifying the name of a group to which the button control element belongs; and a checked attribute for specifying whether the button control element is down/checked or up/unchecked;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
and a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
17. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg: comboBox control element for defining a control that is clicked to trigger an action, the dsvg:comboBox control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:
a dropdown attribute for specifying whether the comboBox control element has a dropdown list;
an editable attribute for specifying whether the comboBox control element is editable;
a value attribute for specifying the value of the label attribute of currently selected item;
a name attribute for specifying the value of a name attribute of a currently selected item; and a selected identification attribute for specifying the value of the identification attribute of a currently selected item;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
and a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
18. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:listBox control element for defining a control that is clicked to trigger an action, the dsvg:listBox control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:
a mufti select attribute for specifying whether more than one item can be selected;
an editable attribute for specifying whether the listBox control element is editable;
a value attribute for specifying the value of the label attribute of currently selected item;
a name attribute for specifying the value of a name attribute of a currently selected item; and a selected identification attribute for specifying the value of the identification attribute of a currently selected item;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
19. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:listView control element for defining a control that is clicked to trigger an action, the dsvg:listView control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:
a multi select attribute for specifying whether more than one item can be selected;
an editable attribute for specifying whether the comboBox control element is editable;
a display attribute for specifying a semicolon-delimited list of the names of the attributes in all of the <item> children of a control element;
an anything attribute for specifying an attribute name in which to store data;
and a selected identification attribute for specifying the value of the identification attribute of a currently selected item;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
20. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:contextMenu control element for defining a control that is clicked to trigger an action, the dsvg:contextMenu control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:

an event source attribute for specifying the identification of an element that triggered the contextMenu control element to appear;
a value attribute for specifying the value of the label attribute of currently selected item;
a name attribute for specifying the value of a name attribute of a currently selected item; and a selected identification attribute for specifying the value of the identification attribute of a currently selected item;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
21. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:item control element for defining a control that is clicked to trigger an action, the dsvg:item control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:
an access key attribute for specifying a shortcut key which, when pressed, selects this item; and an anything attribute for specifying an attribute name in which to store data;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
22. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:textbox control element for defining a control that is clicked to trigger an action, the dsvg:textbox control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:
a value attribute for specifies default text within the textbox control element;
a num lines attribute for specifying a number of lines allowed in the textbox control element;
a max length attribute for specifying a maximum number of characters allowed in the textbox control element;
a wrap attribute for specifying whether to auto-wrap text;
a read only attribute for specifying if the textbox control element is non-editable;
a secret attribute for specifies whether text is secret;
a data type attribute for specifying a type of data that allowed to be entered;
a mask attribute for specifies a pattern that allows extra characters to be inserted into data as it is entered and for only allowing specific characters in specific locations; and a case attribute for specifying the case of data entered into the textbox control element;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
23. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:slider control element for defining a control that is clicked to trigger an action, the dsvg:slider control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:
a min attribute for specifying a minimum value of the slider control element;
a max attribute for specifying a maximum value of the slider control element;
a min position attribute for specifies a minimum allowed value of a thumb;
a max position attribute for specifies a maximum allowed value of a thumb;
a value attribute for specifying an initial value of the slider control element;
an increment attribute for specifying allowed values that the slider control element can create;
a page increment attribute for specifying an amount that a thumb moves;
an orientation attribute for specifying a rotation angle of the slider control attribute;
a ticks major attribute for specifying an interval at which major tick marks are displayed; and a ticks minor attribute for specifying an internal at which minor tick marks are displayed;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
24. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:scrollbar control element for defining a control that is clicked to trigger an action, the dsvg:scrollbar control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising a bars attribute for specifies the appearance of a horizontal scrollbar or a vertical scrollbar;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
25. The system as claimed in claim 15, wherein the set of control elements comprises a dsvg:spin control element for defining a control that is clicked to trigger an action, the dsvg:spin control element comprising:
a namespace following the predetermined naming convention;
the common attributes;
other attributes comprising:
a min attribute for specifying a minimum value of the spin control element;
a max attribute for specifying a maximum value of the spin control element;
a value attribute for specifying an initial value of the spin control element;
and an increment attribute for specifying allowed values that the spin control element can create;
a skin template reference attribute for specifying the location of a control element skin template, the skin template reference settable to a uniform resource index;
a customizable skin template comprising scalable vector graphics markup contained as children of a container element.
26. A system for controlling user interface features of a web application, the system comprising:
a collection of control element scripts for performing actions associated with the control elements, each script associated with a control element; and an initialization function for directing the processing of one or more control elements in a document object model.
27. The system as claimed in claim 26, further comprising a collection of skin templates comprising extensible markup language based markup contained as children of a container element.
28. A method of controlling user interface features of a web application, the method comprising the steps of:
searching for a designated user interface control element in a document object model;
and calling a script associated with the designated control element.
29. The method as claimed in claim 28, wherein the step of searching includes the steps of:
traversing each node in the document object model; and determining whether an element has a name which follows a designated naming convention.
30. The method as claimed in claim 29, wherein the designated naming convention comprises appending a prefix to the name of the designated element.
31. The method as claimed in claim 28, wherein the step of calling a script includes the steps of:

dynamically generating a function name associated with the designated element;
passing an object associated with the designated element as a parameter of the generated function;
retrieving the attributes of the object; and performing a function stored in memory having the generated function name.
32. The method as claimed in claim 31, wherein the step of dynamically generating includes the steps of:
determining if the name of the designated element contains a designated prefix;
generating a function name comprising of the name of the designated element;
assigning an object associated with the designated element as the parameter of the function; and assigning predetermined instructions of the designated element as steps for the function to perform.
33. The method as claimed in claim 28, wherein the step of calling a script includes the steps of:
determining which script in a collection of scripts is associated with the designated element; and calling the script.
34. The method as claimed in claim 28, further comprising the steps of:
searching for a designated attribute in an element in a document object model;
and calling a script associated with the designated attribute.
35. The method as claimed in claim 34, wherein the step of searching for a designated attribute comprises the steps of:
searching attributes of an element in a document object model;
determining whether an element attribute has a name which follows a designated naming convention.
36. The method as claimed in claim 35, wherein the naming convention comprises appending a prefix to the name of the designated attribute.
37. The method as claimed in claim 34, wherein the step of calling a script includes the steps of:
determining if the name of the designated attribute contains a designated prefix;
generating a function name comprising of the name of the designated attribute;
assigning an object associated with the designated attribute as the parameter of the function name ; and assigning predetermined instructions of the designated attribute as steps for a function having the function name to perform.
38. The method as claimed in claim 34, wherein the step of calling a script includes the steps of:
dynamically generating a function name associated with the designated attribute;
passing an object associated with the designated attribute as a parameter of the generated function name;
receiving the attributes of the object; and performing a function stored in memory having the generated function name.
39. The method as claimed in claim 38, wherein the step of dynamically generating comprises the steps of:
determining if the name of the designated attribute contains a designated prefix;
generating a function name comprising of the name of the designated attribute;
assigning an object associated with the designated attribute as the parameter of the function; and assigning predetermined instructions of the designated attribute as steps for the function to perform.
40. The method as claimed in claim 34, wherein the step of calling a script includes the steps of:
determining which script in a collection of scripts is associated with the designated attribute; and calling the script.
41. A method of controlling user interface features of a web application, the method comprising the steps of:
adding a behavior element as a child of a user interface control element;
receiving an event which is equal to an event attribute setting in the behavior element;
and calling a script associated with the behavior element.
42. A method of creating a customizable user interface control element having expected behaviours, the method comprising the steps of:
categorising user interface controls into fundamental core controls;
determining variations of a core controls;

determining common attributes of the core control;
determining fundamental states for the core control;
determining how to allow for absolute positioning of objects the core control;
determining how to allow for absolute customization of appearance of the core control;
assigning a reference link to the core control;
determining templates for skins to allow for the absolute customization of appearance of the core control;
determining how to associate behaviors to the core control; and creating a core control element.
43. The method as claimed in claim 42, wherein a plurality of user interface control elements are created.
44. The method as claimed in claim 42, wherein the step of categorising includes the steps of:
organising low level controls into groups of similar controls; and designating core control names to the groups.
45. The method as claimed in claim 42, wherein the step of determining includes the steps of:
analysing variations of the core controls; and compiling a list of attributes needed to perform the variations.
46. The method as claimed in claim 42, wherein the step of creating includes the steps of:

assigning a name to the core control element pursuant to a predetermined naming convention; and assigning the common attributes to the core control element.
47. Computer readable media storing the instructions and/or statements for use in the execution in a computer of a method of controlling user interface features of a web application, the method comprising steps of:
searching for a designated user interface control element in a document object model;
and calling a script associated with the designated control element.
48. Electronic signals for use in the execution in a computer of a method of controlling user interface features of a web application, the method comprising steps of:
searching for a designated user interface control element in a document object model;
and calling a script associated with the designated control element.
49. A computer program product for use in the execution in a computer of a method for controlling user interface features of a web application, the computer program product comprising:
a collection of control element scripts for performing actions associated with the control elements, each script associated with a control element; and an initialization function for directing the processing of one or more control elements in a document object model.
CA002414378A 2002-12-09 2002-12-09 System and method for controlling user interface features of a web application Abandoned CA2414378A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002414378A CA2414378A1 (en) 2002-12-09 2002-12-09 System and method for controlling user interface features of a web application
US10/679,181 US8032837B2 (en) 2002-12-09 2003-10-03 System and method for controlling user interface features of a web application
CA2452460A CA2452460C (en) 2002-12-09 2003-12-08 System and method for controlling user interface features of a web application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002414378A CA2414378A1 (en) 2002-12-09 2002-12-09 System and method for controlling user interface features of a web application

Publications (1)

Publication Number Publication Date
CA2414378A1 true CA2414378A1 (en) 2004-06-09

Family

ID=32399917

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002414378A Abandoned CA2414378A1 (en) 2002-12-09 2002-12-09 System and method for controlling user interface features of a web application

Country Status (2)

Country Link
US (1) US8032837B2 (en)
CA (1) CA2414378A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111801631A (en) * 2018-10-31 2020-10-20 东芝三菱电机产业系统株式会社 SCADA Web HMI system

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2414378A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for controlling user interface features of a web application
US7526491B2 (en) * 2003-10-15 2009-04-28 Oracle International Corporation System and method for creating and using temporary data storage in an Xforms application
US7237194B2 (en) * 2003-11-18 2007-06-26 Microsoft Corporation System and method for generating optimized binary representation of an object tree
US7315988B2 (en) * 2004-02-02 2008-01-01 International Business Machines Corporation System and method for using short captions to map user interfaces
US20050172235A1 (en) * 2004-02-02 2005-08-04 International Business Machines Corporation System and method for excluded elements mapping in a user interface
US7516414B2 (en) * 2004-02-02 2009-04-07 International Business Machines Corporation System and method for tab order mapping of user interfaces
US8423471B1 (en) * 2004-02-04 2013-04-16 Radix Holdings, Llc Protected document elements
US7913177B1 (en) 2004-03-08 2011-03-22 Adobe Systems Incorporated System and method for managing instantiation of interface elements in rich internet applications
US20050268291A1 (en) * 2004-05-27 2005-12-01 International Business Machines Corporation Specifying user interface interactions for controls in a data driven system
US7398472B2 (en) * 2004-07-09 2008-07-08 Microsoft Corporation Defining the visual appearance of user-interface controls
US20060026555A1 (en) * 2004-07-13 2006-02-02 International Business Machines Corporation Method and apparatus to support multiple hierarchical architectures
US7634722B2 (en) * 2005-03-08 2009-12-15 Aspect Software, Inc. Reversible logic for widget and markup language generation
US8352853B2 (en) * 2005-06-30 2013-01-08 Motorola Mobility Llc Composer circuit and method for encoding device independent multi-modal content
US20070028178A1 (en) * 2005-07-26 2007-02-01 Gibson Becky J Method and system for providing a fully accessible color selection component in a graphical user interface
US9087218B1 (en) 2005-08-11 2015-07-21 Aaron T. Emigh Trusted path
US8225231B2 (en) * 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7945853B2 (en) * 2005-09-12 2011-05-17 Microsoft Corporation Script markup
US20070089048A1 (en) * 2005-10-14 2007-04-19 Lacey Jon-David K Displaying using graphics display language and native UI objects
WO2007064050A1 (en) * 2005-11-29 2007-06-07 Our Tech Co., Ltd. System offering a data- skin based on standard schema and the method
EP1920314A4 (en) 2006-05-16 2008-09-03 Research In Motion Ltd System and method of skinning the user interface of an application
WO2008007905A1 (en) * 2006-07-12 2008-01-17 Lg Electronics Inc. Method and apparatus for encoding/decoding signal
US7962895B2 (en) * 2006-07-20 2011-06-14 Oracle America, Inc. Language for binding scalable vector graphics elements to java classes
US20080059433A1 (en) * 2006-08-30 2008-03-06 Econiq Ltd. System and method for communicating between graphical user interfaces
WO2008048067A1 (en) * 2006-10-19 2008-04-24 Lg Electronics Inc. Encoding method and apparatus and decoding method and apparatus
US8020089B1 (en) 2006-10-23 2011-09-13 Adobe Systems Incorporated Rendering hypertext markup language content
US7614003B2 (en) * 2006-10-23 2009-11-03 Adobe Systems Incorporated Rendering hypertext markup language content
US8490117B1 (en) 2006-10-23 2013-07-16 Adobe Systems Incorporated Bridging script engines
US20080120538A1 (en) * 2006-11-22 2008-05-22 University Of New Brunswick Visual web page authoring tool for multi-context web pages
KR100803947B1 (en) * 2006-12-01 2008-02-15 주식회사 코아로직 Apparatus and method for open vector graphic application program interface translation, mobiile terminal, and record medium on which the method is recorded
US20080155412A1 (en) * 2006-12-20 2008-06-26 Microsoft Corporation Quick reference card and on-line help for a computing system
US20080163081A1 (en) * 2006-12-29 2008-07-03 Gillette Christophe J Graphical User Interface Using a Document Object Model
US8225227B2 (en) * 2007-01-19 2012-07-17 Microsoft Corporation Managing display of user interfaces
US20080303827A1 (en) * 2007-06-11 2008-12-11 Adobe Systems Incorporated Methods and Systems for Animating Displayed Representations of Data Items
US20080303826A1 (en) * 2007-06-11 2008-12-11 Adobe Systems Incorporated Methods and Systems for Animating Displayed Representations of Data Items
GB2451117A (en) * 2007-07-20 2009-01-21 Hewlett Packard Development Co Method of composing a document template in which formatting rules are stored separately from a data content portion
US8560938B2 (en) * 2008-02-12 2013-10-15 Oracle International Corporation Multi-layer XML customization
US8875306B2 (en) * 2008-02-12 2014-10-28 Oracle International Corporation Customization restrictions for multi-layer XML customization
US8966465B2 (en) * 2008-02-12 2015-02-24 Oracle International Corporation Customization creation and update for multi-layer XML customization
US8788542B2 (en) * 2008-02-12 2014-07-22 Oracle International Corporation Customization syntax for multi-layer XML customization
US8538998B2 (en) * 2008-02-12 2013-09-17 Oracle International Corporation Caching and memory optimizations for multi-layer XML customization
US8515786B2 (en) 2008-02-22 2013-08-20 Accenture Global Services Gmbh Rule generation system adapted for an insurance claim processing system
US20090217185A1 (en) * 2008-02-22 2009-08-27 Eugene Goldfarb Container generation system for a customizable application
US8478769B2 (en) 2008-02-22 2013-07-02 Accenture Global Services Limited Conversational question generation system adapted for an insurance claim processing system
US8314801B2 (en) * 2008-02-29 2012-11-20 Microsoft Corporation Visual state manager for control skinning
US8782604B2 (en) * 2008-04-11 2014-07-15 Oracle International Corporation Sandbox support for metadata in running applications
US20090299862A1 (en) * 2008-06-03 2009-12-03 Microsoft Corporation Online ad serving
US8667031B2 (en) * 2008-06-13 2014-03-04 Oracle International Corporation Reuse of shared metadata across applications via URL protocol
US8996658B2 (en) * 2008-09-03 2015-03-31 Oracle International Corporation System and method for integration of browser-based thin client applications within desktop rich client architecture
US8799319B2 (en) 2008-09-19 2014-08-05 Oracle International Corporation System and method for meta-data driven, semi-automated generation of web services based on existing applications
US9122520B2 (en) * 2008-09-17 2015-09-01 Oracle International Corporation Generic wait service: pausing a BPEL process
US20100077288A1 (en) * 2008-09-22 2010-03-25 Asaf Adi Displaying a Form
US20100105424A1 (en) * 2008-10-23 2010-04-29 Smuga Michael A Mobile Communications Device User Interface
US8385952B2 (en) 2008-10-23 2013-02-26 Microsoft Corporation Mobile communications device user interface
US8411046B2 (en) * 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US20100107100A1 (en) 2008-10-23 2010-04-29 Schneekloth Jason S Mobile Device Style Abstraction
US20100114851A1 (en) * 2008-11-06 2010-05-06 Gregg Wernecke Searching for user interface controls
US8375291B2 (en) * 2008-11-07 2013-02-12 Web Filings, Inc. Method and system for generating and utilizing persistent electronic tick marks
US9563616B2 (en) 2008-11-07 2017-02-07 Workiva Inc. Method and system for generating and utilizing persistent electronic tick marks and use of electronic support binders
US8332654B2 (en) * 2008-12-08 2012-12-11 Oracle International Corporation Secure framework for invoking server-side APIs using AJAX
US8238876B2 (en) * 2009-03-30 2012-08-07 Microsoft Corporation Notifications
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8355698B2 (en) 2009-03-30 2013-01-15 Microsoft Corporation Unlock screen
US8269736B2 (en) 2009-05-22 2012-09-18 Microsoft Corporation Drop target gestures
US20100306677A1 (en) * 2009-05-26 2010-12-02 Hargobind Khalsa Method for activating objects in a mark-up language environment
US8836648B2 (en) 2009-05-27 2014-09-16 Microsoft Corporation Touch pull-in gesture
US20100313252A1 (en) * 2009-06-08 2010-12-09 Erie Trouw System, method and apparatus for creating and using a virtual layer within a web browsing environment
US8762886B2 (en) * 2009-07-30 2014-06-24 Lenovo (Singapore) Pte. Ltd. Emulating fundamental forces of physics on a virtual, touchable object
US20110029904A1 (en) * 2009-07-30 2011-02-03 Adam Miles Smith Behavior and Appearance of Touch-Optimized User Interface Elements for Controlling Computer Function
US20110029864A1 (en) * 2009-07-30 2011-02-03 Aaron Michael Stewart Touch-Optimized Approach for Controlling Computer Function Using Touch Sensitive Tiles
US8656314B2 (en) 2009-07-30 2014-02-18 Lenovo (Singapore) Pte. Ltd. Finger touch gesture for joining and unjoining discrete touch objects
US10235216B1 (en) * 2009-10-15 2019-03-19 Ivanti, Inc. Modifying system-defined user interface control functionality on a computing device
US8856737B2 (en) * 2009-11-18 2014-10-07 Oracle International Corporation Techniques for displaying customizations for composite applications
US20110271179A1 (en) * 2010-04-28 2011-11-03 Peter Jasko Methods and systems for graphically visualizing text documents
US9275024B2 (en) * 2010-10-21 2016-03-01 Monotype Imaging Inc. Identifiers for web font templates
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US20120324377A1 (en) * 2011-06-15 2012-12-20 Microsoft Corporation User interface extensibility for web application development tool
WO2013009921A1 (en) * 2011-07-11 2013-01-17 Prodege, Llc System and method for monitoring and rewarding an incentivized activity
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US8819567B2 (en) 2011-09-13 2014-08-26 Apple Inc. Defining and editing user interface behaviors
US9164576B2 (en) 2011-09-13 2015-10-20 Apple Inc. Conformance protocol for heterogeneous abstractions for defining user interface behaviors
US8954942B2 (en) 2011-09-30 2015-02-10 Oracle International Corporation Optimizations using a BPEL compiler
US8984414B2 (en) * 2011-11-07 2015-03-17 Google Inc. Function extension for browsers or documents
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
US20140165037A1 (en) * 2012-12-12 2014-06-12 Microsoft Corporation Reusable application user experience
US9575617B1 (en) * 2013-03-13 2017-02-21 EMC IP Holding Company LLC Navigation payload injection
US20140281854A1 (en) * 2013-03-14 2014-09-18 Comcast Cable Communications, Llc Hypermedia representation of an object model
US9158534B2 (en) 2013-03-15 2015-10-13 Wolters Kluwer United States Inc. Smart endpoint architecture
US9450952B2 (en) 2013-05-29 2016-09-20 Microsoft Technology Licensing, Llc Live tiles without application-code execution
JP5891202B2 (en) * 2013-04-30 2016-03-22 株式会社沖データ Image processing device
KR102298602B1 (en) 2014-04-04 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Expandable application representation
EP3129847A4 (en) 2014-04-10 2017-04-19 Microsoft Technology Licensing, LLC Slider cover for computing device
EP3129846A4 (en) 2014-04-10 2017-05-03 Microsoft Technology Licensing, LLC Collapsible shell cover for computing device
US9836284B2 (en) * 2014-06-18 2017-12-05 Vmware, Inc. HTML5 graph layout for application topology
US9852114B2 (en) 2014-06-18 2017-12-26 Vmware, Inc. HTML5 graph overlays for application topology
US9740792B2 (en) 2014-06-18 2017-08-22 Vmware, Inc. Connection paths for application topology
US9436445B2 (en) 2014-06-23 2016-09-06 Vmware, Inc. Drag-and-drop functionality for scalable vector graphics
US9891802B2 (en) * 2014-07-28 2018-02-13 Snowflake Computing, Inc. Checkbox mass editing
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10044591B2 (en) 2014-09-04 2018-08-07 Home Box Office, Inc. Two-way remote communication system for testing a client device program
US9846496B2 (en) 2014-09-04 2017-12-19 Home Box Office, Inc. Virtual input device system
US10444965B2 (en) * 2014-09-09 2019-10-15 International Business Machines Corporation Actionable business entity operating models to drive user interface behavior
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
US9448972B2 (en) * 2014-10-09 2016-09-20 Wrap Media, LLC Wrap package of cards supporting transactional advertising
US9448988B2 (en) 2014-10-09 2016-09-20 Wrap Media Llc Authoring tool for the authoring of wrap packages of cards
US9600594B2 (en) * 2014-10-09 2017-03-21 Wrap Media, LLC Card based package for distributing electronic media and services
US20160103791A1 (en) 2014-10-09 2016-04-14 Wrap Media, LLC Authoring tool for the authoring of wrap packages of cards
US9489684B2 (en) 2014-10-09 2016-11-08 Wrap Media, LLC Delivering wrapped packages in response to the selection of advertisements
WO2016057188A1 (en) 2014-10-09 2016-04-14 Wrap Media, LLC Active receipt wrapped packages accompanying the sale of products and/or services
CN106662891B (en) 2014-10-30 2019-10-11 微软技术许可有限责任公司 Multi-configuration input equipment
US9606707B1 (en) * 2014-12-02 2017-03-28 Allscripts Software, Llc User input methodology for toggle items
US9600803B2 (en) 2015-03-26 2017-03-21 Wrap Media, LLC Mobile-first authoring tool for the authoring of wrap packages
US9582917B2 (en) * 2015-03-26 2017-02-28 Wrap Media, LLC Authoring tool for the mixing of cards of wrap packages
US10909186B2 (en) 2015-09-30 2021-02-02 Oracle International Corporation Multi-tenant customizable composites
US20170109140A1 (en) * 2015-10-19 2017-04-20 Peter Lalka Method and System for Editing and Generating Syntax
CN105302445B (en) * 2015-11-12 2019-07-23 小米科技有限责任公司 Graphic user interface method for drafting and device
US10452747B2 (en) * 2016-04-11 2019-10-22 Microsoft Technology Licensing, Llc Dynamically formatting scalable vector graphics
US10417183B2 (en) * 2017-03-14 2019-09-17 Salesforce.Com, Inc. Database and file structure configurations for managing text strings to be provided by a graphical user interface
US10409565B2 (en) * 2017-03-30 2019-09-10 Ice Tea Group Llc Pixel perfect real-time web application framework
US20200167057A1 (en) * 2018-11-28 2020-05-28 Microsoft Technology Licensing, Llc Automatically Generated Cursor Bitmap Files from Scalable Vector Graphic (SVG) Files
CN110083281A (en) * 2019-03-28 2019-08-02 维沃移动通信有限公司 A kind of interface display method and terminal device
CN110083845B (en) * 2019-04-25 2023-06-16 四川语言桥信息技术有限公司 Webpage translation method and system
CN111381765B (en) * 2020-03-11 2023-06-27 汉海信息技术(上海)有限公司 Text box display method and device, computer equipment and storage medium
CN113051012B (en) * 2021-03-18 2022-12-02 平安普惠企业管理有限公司 Data loading method, device, equipment and medium based on list view

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5366896A (en) * 1991-07-30 1994-11-22 University Of Virginia Alumni Patents Foundation Robotically operated laboratory system
US6014138A (en) * 1994-01-21 2000-01-11 Inprise Corporation Development system with methods for improved visual programming with hierarchical object explorer
AU2551495A (en) * 1994-05-16 1995-12-05 Apple Computer, Inc. Method and apparatus for associating and storing arbitrary data with graphical user interface elements
US5822580A (en) * 1996-01-19 1998-10-13 Object Technology Licensing Corp. Object oriented programming based global registry system, method, and article of manufacture
US6101510A (en) * 1997-01-29 2000-08-08 Microsoft Corporation Web browser control for incorporating web browser functionality into application programs
US5914714A (en) * 1997-04-01 1999-06-22 Microsoft Corporation System and method for changing the characteristics of a button by direct manipulation
US6266681B1 (en) * 1997-04-08 2001-07-24 Network Commerce Inc. Method and system for inserting code to conditionally incorporate a user interface component in an HTML document
US6484149B1 (en) * 1997-10-10 2002-11-19 Microsoft Corporation Systems and methods for viewing product information, and methods for generating web pages
US6188401B1 (en) * 1998-03-25 2001-02-13 Microsoft Corporation Script-based user interface implementation defining components using a text markup language
US6418446B1 (en) * 1999-03-01 2002-07-09 International Business Machines Corporation Method for grouping of dynamic schema data using XML
US6446256B1 (en) * 1999-06-30 2002-09-03 Microsoft Corporation Extension of parsable structures
US20020018078A1 (en) * 2000-06-07 2002-02-14 Khan Umair A. System, method, and article of manufacture for generating a customizable network user interface
US6981212B1 (en) * 1999-09-30 2005-12-27 International Business Machines Corporation Extensible markup language (XML) server pages having custom document object model (DOM) tags
AU2001229371A1 (en) * 2000-01-14 2001-07-24 Saba Software, Inc. Information server
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US7085994B2 (en) * 2000-05-22 2006-08-01 Sap Portals, Inc. Snippet selection
US20020109730A1 (en) 2000-05-26 2002-08-15 Dardick Technologies System and method for an on-demand script-activated selection dialog control
US6493733B1 (en) * 2000-06-23 2002-12-10 Microsoft Corporation Method for inserting interactive HTML objects into an electronic file
US6826726B2 (en) * 2000-08-18 2004-11-30 Vaultus Mobile Technologies, Inc. Remote document updating system using XML and DOM
CA2322594C (en) * 2000-10-06 2005-01-11 Ibm Canada Limited-Ibm Canada Limitee System and method for managing web page components
US6633612B2 (en) * 2000-12-13 2003-10-14 Genesis Microchip Inc. Method and apparatus for detecting motion between odd and even video fields
US7085736B2 (en) * 2001-02-27 2006-08-01 Alexa Internet Rules-based identification of items represented on web pages
US20020124071A1 (en) * 2001-03-02 2002-09-05 Proehl Andrew M. Method and apparatus for customizing multimedia channel maps
US6941509B2 (en) * 2001-04-27 2005-09-06 International Business Machines Corporation Editing HTML DOM elements in web browsers with non-visual capabilities
US20030149799A1 (en) * 2001-05-03 2003-08-07 Scott Shattuck System supporting unified event handling in ECMAScript
WO2003043157A1 (en) * 2001-11-13 2003-05-22 Prometric, A Division Of Thomson Learning, Inc. Method and system for computer based testing using plugins to expand functionality of a test driver
CA2414378A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for controlling user interface features of a web application

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111801631A (en) * 2018-10-31 2020-10-20 东芝三菱电机产业系统株式会社 SCADA Web HMI system
CN111801631B (en) * 2018-10-31 2023-04-18 东芝三菱电机产业系统株式会社 SCADA Web HMI system

Also Published As

Publication number Publication date
US20040111673A1 (en) 2004-06-10
US8032837B2 (en) 2011-10-04

Similar Documents

Publication Publication Date Title
CA2414378A1 (en) System and method for controlling user interface features of a web application
US20040111672A1 (en) System and method for extending scalable vector graphics capabilities
US7694271B2 (en) Rendering GUI widgets with generic look and feel
US20040046789A1 (en) Extensible user interface (XUI) framework and development environment
US6342907B1 (en) Specification language for defining user interface panels that are platform-independent
US7765494B2 (en) Harmonized theme definition language
US10762290B2 (en) Data grid components
US20050022116A1 (en) System and method for manipulating a document object model
US20040148307A1 (en) Browser based web site generation tool and run time engine
JP2005135384A (en) Programming interface for computer platform
WO2006046666A1 (en) Document processing device and document processing method
US20070198922A1 (en) Dynamically placing resources within a graphical user interface
CN112631591A (en) Table element linkage method, device, equipment and computer readable storage medium
WO2006046667A1 (en) Document processing device and document processing method
US8762836B1 (en) Application of a system font mapping to a design
WO2006046668A1 (en) Document processing device and document processing method
KR101292982B1 (en) Declarative mechanism for defining a hierarchy of objects
US11789747B2 (en) Simulated visual hierarchy while facilitating cross-extension communication
CA2452460C (en) System and method for controlling user interface features of a web application
CA2095779A1 (en) User interface system for computers
WO2006051719A1 (en) Data processing device and data processing method
CA2452427C (en) System and method for manipulating a document object model
KR20020000569A (en) skin system for Window applications
JP3624447B2 (en) Component generation source program generation device
Freeman et al. HTML, JSX, and CSS Primer

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued