Home
        Qlarity Foundry User's Manual
         Contents
1.           pp download size  2467 4  Flash required  64 kbytes    Download application         Baud rate   115200     Data Format  en       Send string over serial connection      si   RT Induce  Set unit time Bee    Results    Download other BFF    Upgrade firmware        ee pee Clear results box   Close Window       4 Open serial port whenever this screen is shown    a       Click  Download Other BFF   and the following dialog box  is displayed     Select BFF file to download          Look in  E larity Foundry   ES  EA  EX    12  samples  Df  oie           2  basic_kepboard bit    File name     A  Files of type    Clarity application binary files    bff     Cancel      wei       55    All BFF files in the default folder are listed  change folders  if necessary   Click the file that you want to download and  click  Open      A progress graph tracks the download  and messages in the     Results    box indicate whether the download was success   ful     7 4 Upgrade the Firmware    Use the  Upgrade Firmware  function to download a new  version of the terminal resident software  firmware  to the  Qlarity based terminal     e Refer to section 7 4 1  below  for information on identi   fying the version of your current terminal firmware     e Refer to section 7 4 2 for information on preparing your  terminal for downloading firmware     e Refer to section 7 4 3 for information on downloading  the new firmware    7 4 1 Determine Current Firmware Version   If you are not sure what ver
2.        yPos        width      and    height    properties to represent the position and size of  the object on the display  The code for    xPos    is representa   tive of the code for all the new properties  as shown below        The horizontal position of the object  dim xPos as integer  init XPOS    0  func xPos  newval as integer   xPos    newVal  Relocate     me  xPos  yPos     endfunc       xPos    is an integer with a default value of 0  The valida   tion method assigns the new value to the property as previ   ously described  then calls the Relocate   API function to  inform the system software that the object has moved to a  new location on the display  This generates a MSG_DRAW  message for the appropriate regions of the display     The MSG_INIT handler in the area object boilerplate code  is similar to its counterpart in the non drawable code  as fol   lows        Perform basic initialization for the object     The function will be called once when   gt      the terminal starts up      This function may also be called within   gt      Olarity Foundry whenever a property is   gt      set in the properties window   func StartUp      handles MSG_INIT    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     96  Relocate  me  xPos  yPos   Resize  me  width  height   Enable  me  enabled   Attach  me  parent   endfunc    Notice that calls to Relocate   and Resize   have been added  to the handler  These properly initialize the location and  size 
3.      amp  Click to continue running the simulation after it has  paused or stopped     ir  Click to execute the current line and stop on the next  line        Click to step into a function call  If no function is on  the current line  this acts as a    single step           Click to step out of a function call  This executes the  rest of the current function and returns to the calling  function  It stops on the first executable line outside  of the function call  If there is another breakpoint in  the current function  execution stops there     II Click to stop execution at the next executable line of  Qlarity code     e  Click to remove all of the breakpoints that were set     3 6 Miscellaneous Bar    The miscellaneous bar next to the toolbar contains the Lay   out Scale  Outline All Objects  and Theme functions in Lay   out View  an error indicator in Code View  and the Layout  Scale in Simulation View  Select Misc  Bar from the View  menu to show or hide the miscellaneous bar functions     Layout View Misc  Bar    Layout scale   1        To change the scale of the work area  click the drop down  arrow and select the scale from the drop down list  This  function is also available in Simulation View     Outline all objects        Select this option to draw a line around all defined objects   This 1s useful when you want to know the exact border loca   tion of each object or when one or more objects were acci   dently moved out of the work area     Theme   classic t      To s
4.     In Qlarity Foundry  you use a workspace to define functions  for the terminal  at the Qlarity based terminal  you use a  user application to perform the functions     When a workspace is compiled into a user application  the  Qlarity interpreter initializes the user application in Qlarity  Foundry so you can see the results  You can then download  the user application to the Qlarity based terminal     8 2 2 Qlarity Objects    A user application is constructed of Qlarity programmed  objects  An object instance 18 an occurrence of an object in  the user application  An object template contains the pro   gramming code that defines an object  When you create a  basic design  you will use objects from existing libraries   several libraries are provided with Qlarity Foundry      There are three types of objects  as follows  All three types  of objects can be found in QSI libraries     Non drawable object   An object that serves a function not related to the display   e g   key definition  communications  etc       Area object   An object that can be represented visually on the terminal  display  An area object might be any of the following     63    e Bitmap  an imported bitmap image     e Lines  circles or rectangles  may include custom borders  and fill colors     e Text  labels  headings  or a field where text may be typed  or displayed     Resources  bitmaps and fonts  are required for text and bit   map objects     Container object    An area object that contains other obj
5.     Li    My Computer       Qlarity files    qly  v    Save as type        Select the folder in which you want to save the file  In the     File name    field  type the name that you want to give the  workspace  you do not have to type the extension   Click   Save  to save the workspace     The original file is retained  The new file is a copy of the  original file  If you are renaming the file  you will need to  delete the original file     4 4 3 Collect for Output    Use this option to collect all of the resources used in a  workspace into one file  You can then move the file to  another computer  and all resources will be available to  open the workspace     To transfer a workspace to another computer  select Collect  for Output from the File menu  The following dialog box is  displayed     Select where to output the workspace ax  Save in    Demo    e    e El       Audio  BDFFonts    Binary  Bitmaps  Al Libraries  My Computer TTFonts  on 2 gssdemo aly  EE 21 g70demo qly  My Documents Z  g70demomm  qly   gt  2 g75demo aly    Desktop    ES       Cancel      Li    a File name   History         Qlarity files    qly  X      Save as type        In the    File name    field  type the name that you want to  give the output file  you do not have to type the extension    Click  Save  to save the file     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     26    4 5 Compile a Workspace    Click   on the toolbar  or select Compile Workspace  from the File m
6.     The system generates a message indicating that the event  has occurred and what it is  The terminal   s message han   dling system determines which object or objects get the  message and in what order the messages are processed     The message is first passed to the root container  which  passes the message to each of its children  beginning with  the front most object  highest Z order   When the message  is passed to a container object  this object first handles the  message then passes it to each of its children beginning with  the front most object in the container  The terminal pro   cesses the message to completion     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    8 2 6 Enabled Disabled Objects    An object instance can be enabled or disabled  On the Qlar   ity based terminal  only enabled objects are displayed  Dis   abled objects still reside in the user application  but they  cannot receive or send most messages  nor are they dis   played on the terminal  If a container object is disabled  it  cannot pass messages to its children     In Qlarity Foundry  all objects are displayed in the work  area  by default  whether they are enabled or disabled   However  you can select the    View Only Enabled Objects     option on the Tools menu to hide disabled objects     8 3 Design a User Application    This section provides instructions for adding and working  with object instances in a worksp
7.    Backlight On    C Backlight Off    For example  you might use this action to provide a back   light adjustment if the terminal is used in low light situa   tions or in situations in which the light levels may vary  dramatically  You may also want to turn the backlight off to  extend its life     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     74    Create two buttons for each adjustment  one for lighter  backlight and one for darker backlight  one to turn the back   light on and one to turn it off  Each event  e g   button press   changes the backlight as follows     e Backlight Lighter and Backlight Darker adjust the back   light one level brighter or darker with each event     e Backlight Off turns the backlight off     e Backlight On turns the backlight on to the level it was at  before turning it off     Custom Action   This option allows you to program a custom action if an  available Event Builder action does not meet your require   ments  Any action supported by the Qlarity programming  language may be used  Complex actions and events that  require the full expressiveness of the Qlarity programming  language  such as loops and if then else logic  should be  entered in Code View     Insert a Blank Line   This action is not available from the drop down list of  actions  It appears only 1f the selected event has been previ   ously edited in Code View and blank lines were inserted in  the event s code  This action does nothing  It is used
8.    af FunSer   af NavScreen   af  Templates cr   af ScreenSaver    B p      ey            EHH HEHE HA  0060060008666 8800    To add a new object instance to a workspace  you can right   click    Globals    and select New Object Instance from the  shortcut menu  or use the icons on the Object Palette     If any global code has been written for the workspace  you  can click Globals and see the properties associated with the  global code  Global properties apply to the entire work   space     3 8 2 Object Templates    A Qlarity program consists primarily of objects  An object  template contains the programming code that defines the  object and how it behaves  Once object templates are cre   ated  any number of object    instances    based on the tem   plate can be added to a workspace  Each object instance in a  workspace must be associated with a template     You will create object templates only if you are an advanced  user  Most users create object instances from predefined  templates in libraries     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     16    NOTE  library object templates   Object templates in libraries are not listed in the Object Tree  under the Templates heading  Only object templates created  in the workspace are listed under the Templates heading     3 9 Layout and Code Views    Layout View is the default view mode  You will generally  use only Layout View unless you are customizing objects or  creating your own objects using 
9.    and    parent    properties  It also  includes a handler method that handles the MSG_INIT  message  The code is as follows        Perform basic initialization for the object     The function will be called once when   gt      the terminal starts up      This function may also be called within   gt      Olarity Foundry whenever a property is   gt      set in the properties window   func StartUp      handles MSG_INIT    Enable  me  enabled   Attach  me  parent   endfunc    The comments describe what the handler is and when it is  called  The method is called    StartUp     takes no parame     95    ters  and has no return value  It is declared as a handler for  the MSG_INIT message     The body of the method merely calls the Enable   and  Attach   API functions  passing the values of the    enabled     and    parent    properties  This is necessary to properly ini   tialize the objects by informing the system software about  the state of the object at system startup     All versions of the boilerplate code include a set of tool  message handlers so that they can properly function in Qlar   ity Foundry  These methods are described in detail in the  next section  Other properties and methods can be added to  the boilerplate code to implement the desired behavior in  the object     10 5 1 2 Area Objects    The area object boilerplate code implements a simple rect   angular  drawable object  It also provides the    enabled    and     parent    properties  as well as the    xPos 
10.    as reference to GuiCursors   closed as reference to boolean   handles MSG _ TOOL GETHANDLES    dim csrs 8  as GuiCursors   init Esto     CSR_UPLEFT  CSR_UPDOWN    gt   CSR_UPRIGHT  CSR_LEFTRIGHT    gt   CSR_DOWNRIGHT  CSR_UPDOWN    gt   CSR_DOWNLEFT  CSR_LEFTRIGHT       redim  xCoords  8   redim  yCoords  8     xCoords 0    xPos  xCoords 1    xPos   width   2   1  xCoords 2    xPos   width   1  xCoords 3    xCoords 2   xCoords 4    xCoords 2   xCoords 5    xCoords 1   xCoords 6    xPos  xCoords 7    xPos  yCoords 0    yPos  yCoords 1    yPos  yCoords 2    yPos  yCoords 3    yPos   height   2   1  yCoords 4    yPos   height   1  yCoords 5    yCoords  4   yCoords 6    yCoords  4   yCoords 7    yCoords  3   cursors   csrs  closed   true   endfunc    The MSG_TOOL_GETHANDLES message is sent to an  object by Qlarity Foundry when the object is created  All  objects receive this message when a workspace is initial   ized  Qlarity Foundry requests the locations of the resize  grips  sizing handles  that are drawn on an object when it is  selected  The handler is passed references to three arrays   xCoords  yCoords  and cursors  and a boolean variable  named    closed     The handler places values in these parame   ters to indicate the location and style of the resize grips     The handler first creates and initializes an array of type Gui   Cursors  This is an enumerated type whose values indicate  the style of the corresponding resize grip  The selected style  determines what curs
11.    if  threshold  gt  10  then  cal_screen enabled   TRUE  endif  endfunc    5  Repeat steps 3 and 4 for as many handlers as desired   Do not add two handlers for the same message     6  Click   E or select Compile from the File menu to  compile the workspace  Any errors in the new source  code are identified by messages in the Messages and  Errors window  If no errors are present  the compiled  workspace is returned to Layout View     9 6 Create a New Object Template    The method override mechanism provides a powerful way  to customize an individual object   s behavior and response to  events  However  you may want to change the behavior of  all instances of a particular object  Adding an identical  override to all objects from a particular template would be  tedious and prone to error  It is better to modify an existing  object template to create a new object template     NOTE  do not modify code in libraries   It is recommended that you do not directly modify the code  in the QSI standard object libraries  QSI occasionally  updates these libraries  and your changes would be lost   Rather  you should copy the template code into your work   space or a personal library  e g   mylib  and make your  modifications there     Do the following to create a new object template based on a  library object template     1  Click on the toolbar  or select Add Edit Templates  from the Edit menu  and the Add Edit Templates dialog  box is displayed   You can also right click anywhere in  th
12.    tmp   handleNum mod 4   if tmp    O then   handleNum    handleNum   6  mod 8  elseif tmp    1 then   handleNum    handleNum   4  mod 8  else   handleNum    handleNum   2  mod 8  endif   endif   XPOS  t  NewAX   yPos    newY   width    newWidth   height    newHeight    Relocate  me  xPos  yPos   Resize  me  width  height        Save any changes we just made  Tool Persist  xPos   Tool_Persist  yPos     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     100     width    height     Tool Persist  Tool Persist  endfunc    When the user drags a resize grip in Layout View  the object  being resized receives a MSG_TOOL_MOVEHANDLE  message from Qlarity Foundry  The grip being manipulated  and the change in position are passed to the handler as  parameters  The handler typically determines which grip is  being dragged  calculates its new size and position  updates  its properties  requests a redraw  and persists the values with  Tool_Persist  This is what the boilerplate code does  There  is also some validation code to prevent the object from  being sized to a height or width of 0     The    handleNum    parameter is passed to the handler as a  reference  which allows the handler to change the currently  selected grip if desired  Notice that the boilerplate code  reassigns    handleNum    when the object is dragged    inside  out     1 e   a grip at the bottom is dragged above the top of  the object  or a grip on the right edge of the object is  dragged 
13.   Bitmap name Filename    Alarm resources alarm  bmp  all resources all bmp  bottomLett resources bottomieft bmp    bottornright resources  bottormrght  bmp  lightott resources  lightott  bmp  lightorn resources  lighton  bmp  Temp resources temp  bmp  toplett resources toplett  bmp  topright resources  topright  bmp    Resource data Preview    Filename                Ho selection        Browse      Rename bitmap    Mew bitmap      Remove bitmap       cos    EA    All resources used in a workspace are managed from this  dialog box  Select the tab for the resource type you want to  manage  You can add a new resource  rename an existing  resource  change the file for an existing resource name  or  remove a resource from the workspace  Refer to section 5 2  for information on editing resources     8 1 5 Add Remove Libraries    A library is a file that contains predefined object templates  that you can use to create user applications  Library object  templates are programmed to be flexible  This means that  you can modify them  without additional programming  to  meet most requirements     In basic design  libraries are your primary source of new  objects  When you create a new workspace  your selections  in the New Qlarity Project dialog box determine which  libraries are automatically added to the new workspace   You can also add or remove libraries after you open the  workspace    NOTE  library object templates   Object templates in libraries are not listed in the Object  Tree
14.   F  EE   aff HideFullScreenColorLblT  EH   of  QwertyKeypad     of  TranslucentColorPicker   E af BacklightD cup    OptoTerminal Qlarity Foundry User   s Manual      2 0demo  gly   GombFinderPlay E     ES    A BS 2     No Error    Events   Overrides hal Show only event functions    init value t   Play      init parent    funscr  init xpos    193   init yoos    40       of Backlight ppl TtanslucentColorPicker  ColorPickerv2 j  41  E af ContrastDownBtn init height    29      af  Contrastl pBtri  a ETH  8 yf EndGames  ce  SO    af  HelpSideButtonsS cr  EE e fy ObjectsSer  HEI    af GraphicsS cr  HE    5 DiagnosticsScr  280   af  FunSer  A E ff RetunToDemoLbl    BombrinderPlay  A E of  BombFinderD ata  A E of  BombFinderLbl  TA E af BombFinderlmg  HEI   ah NavScreen  Bd   af  Templates cr      u   HE e 5 SplashScreen  a af ScreenSaver   a  e af ScSaverOn   a  e af ScrSaverDit   a     af Scr2Home   a     af Scr2Next     Be af Cun_DDL_ListBox  ES   af Cur_DDL_HideTimer    mlali Toi lo     if IncludeBombs  func click     endfunc  fendif  init xinset     init yinset i     ad Ho Errors    Messages E    Ready    9 2 Understanding Qlarity for Intermediate  Design    Before you can effectively design a user application at the  intermediate level  you need to understand some basic Qlar   ity concepts  which are explained in the following sections   9 2 1 Qlarity Programming Language   Qlarity syntax is based on the BASIC programming lan   guage with extensions added to handle creation an
15.   Only object templates created in  the workspace are listed under this heading  However  you  can create a new object template based on an existing  library object  see section 5 1     Add Edit Templates         To add a library to or remove a library from your work   space  click jgy on the toolbar  or select Edit Libraries from  the Edit menu  A dialog box similar to the following is dis   played              Filename Status Name   Edit Library    common lib loaded sys1 52 common  progobjs  lib loaded sys1 52   progobis Remove library    ezlib  lib loaded sys1 45   ezlib      Create new library    Add existing library    Entries Templates     gt  Animatedlmage Hit i  Ser                Animated  mage  Source        AnimatedimageS ample  Bitmap  BackButton HomeButton Th Ser  Backbutton  Source  ER     aa       a  BasicEthernet   Line Tat  BackDownBitmap  Bitmap  A i  BackUpBitmap  Bitmap  g  BasicSerial NextButton CyTat  BasicE thernet  Source  DisplaySetting a Polygon bad Tre  ii ul PA Ethemet ine PolyLine   isplay5 etting ource E     Ethernet  Source  H Gauge  3 scale  EthernetProtocolFunctions  Gauge  Source  ha  gt      All libraries currently in the workspace are listed  Click a  library to display its entries and object templates at the bot   tom of the dialog box     5 3 1 Add Existing Library   Do the following to add a new library to the workspace    1  Click  Add Existing Library   and a dialog box appears  that lists all the libraries included with Qlarity Foundr
16.   OptoTerminal Qlarity Foundry User   s Manual     Name  String ezimage_5    enabled boolear true  parent objret default   poz integer 46  ppos integer af  transparent boolean falze  transparentcolor   color rgb_magenta  ezimage bitmap  blirik  boolear  blinkrate integer  event  ma  ageew     eventsourceobj obiret  eventsourceprop    string  eventbargetoby obiret    eventtargetprop      sting    i greenbuttori  eventtangetvalue   string hight    eventoby    ezevent        If El appears in a property field when you select the prop   erty  a drop down list of property options is available  Click     to display the drop down list  and then click the option  you want to use     If the property is a workspace resource  bitmap image  font   sound  or binary data   a Select button   ry is displayed  next to the drop down arrow  If the resource you want is not  in the drop down list  click _  to open the Qlarity  Resources dialog box  Select a resource  and click  OK  to  add it to the workspace and to the property   s drop down list   Select the resource from the drop down list to place it in the  property  Refer to section 5 2     Edit Resources    for infor   mation on the Qlarity Resources dialog box  Refer to  section 8 3 3 1     Select Color    for information on selecting  a color     NOTE  selecting a parent object   If you want an object instance to be the child of a parent  object  placed in a container object   from the    parent     property drop down list  select a conta
17.   To make the object the    child    of a    parent    object  select a  container object from the drop down list  and the object  instance is automatically moved and linked to the selected  object in the Object Tree  To move an object to the root con   tainer  select    default        sendtoport   This property receives the data string that is to be sent  through the Ethernet port  Data can be sent to this property  from an Ethernet object configured in Event Builder  see    OptoTerminal Qlarity Foundry User   s Manual    section 8 4   When the Ethernet object   s    sendtoport    prop   erty receives data  it automatically sends the data followed  by a semicolon     out the port     protocol  Enter the protocol to be used to send the data  e g   UDP or  TCP      localport   Enter the address for the UDP or TCP port on the Qlarity   based  For additional information  refer to your Ethernet  protocol or contact your network administrator     foreignport   Enter the address for the UDP or TCP port on the host  For  additional information  refer to your Ethernet protocol or  contact your network administrator     targetipaddress  Enter the IP address of the device to which you are sending  data     connected  This property reflects the connected status of the Ethernet  object     appendterminator  This property determines whether a semicolon is appended  to the end of all data sent out the Ethernet port     8 5 3 Receive Data   You can send data from an external device  e g   c
18.   a Edi_CompositeObject   Reset border to default     I 6 CompositeSunken L Iv Fade Effect  E Bdr_InnerButton   Rounded Corners     Preview Options Sirene   Changing preview options has  E Bdr_InnerLabel M Use foana Sapon no effect on the actual border  neon  Moa LabeBorder bles pi  5       TE     Save current border and    B Bdr_None nubs Boies     Object fil color color settings as theme    le  m Bd_Scrolbar JV Use a double border Background color     Mea sore  Outer width  1 2  I  Inverse   Pressed  a Bdr_T abBorder   idth j1   i i    nner wi     IV Fill preview   Cancel          5 5 1    Themes    The colors and border definitions assigned to named colors  and named borders are grouped together in themes   See  section 5 4     Edit Named Colors    for information on named  colors   Several predefined themes are set up in Qlarity  Foundry  You can change the colors or border definitions in  a predefined theme  or you can save the changes as a new  theme     Generally  a theme represents a color scheme  such as a  theme with all grayscale colors  a theme with shades of  blue  or a theme with neon colors  To view the borders in a    OptoTerminal Qlarity Foundry User   s Manual    theme  select the theme from the Theme drop down list   The borders assigned to the named borders are shown  Each  theme uses the same named border labels  only the border  types assigned to them are different from theme to theme     Theme  Click the drop down list and select a theme  Its defined bo
19.   provided with Qlarity  Foundry contains object templates that are programmed to  send data to a computer or other compatible device through  a serial or Ethernet port  Once a communication object  or  objects  is set up  you can use Event Builder  section 8 4  to  set up an event to send data out the port  No programming 1s  required    8 5 1 Serial Objects   To use the serial port to send data  add a serial object to the  workspace  The optional second serial port can also be used  by adding a second serial object     Following are the properties of a Serial object      Name    Type a name for the new object  type over the default  name   Each object in the workspace must have a unique  name  An object name has no size limitation but must start  with a letter  A name cannot contain spaces but may use the  underline character  _   The percent      pound     and dol   lar sign     symbols can be used at the end of the name     enabled  If the object is to be enabled  select true from the drop   down list  To disable the object  select false     parent   To make the object the    child    of a    parent    object  select a  container object from the drop down list  and the object  instance is automatically moved and linked to the selected  object in the Object Tree  To move an object to the root con   tainer  select    default        Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     76    comport   From the drop down list  select the communicatio
20.   rides drop down list  If this option is not selected  all func   tions that are eligible to be overridden are listed     3 8 Object Tree  The Object Tree contains four branches     e Globals  e Templates  e Advanced Code    e Libraries    The Globals branch is always visible  the Templates   Advanced Code  and Libraries branches are only visible in  Code View  The Advanced Code and Libraries branches are  disabled by default as they are intended only for advanced  users  refer to section 6 3 for information on enabling these  sections   The illustration below shows all branches of the  Object Tree in Code View     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual     Er 7  Ela  Globals  EE   af w atchdogT imer  A iat af ExceptionDisplay  E a TouchkKillnfoLbl  E sf InfoLbl  E af FullScreenColorLbl  fea   al FTPServer  EE   al HideFullScreenColorLbiTimer    fo al  O wertyKeypad  pa  gt  af  TranslucentColorPicker  E af  BacklightDownBtn    mh Backlight pbtn      ff  Contrast ownBtn  ser  ee a  Contrast pBtn  E af EndGames  2 af HelpSideButtonsScr  at a Graphic 5cr    5 SplashScreen  E  y ObjectsScr    5 DiagnosticeScr    af Funser  E af NavScreen  2 af TemplateScr  F    gf ScreenSaver   ta  Internal    EfB  Templates              ls LaserPolygon  Advanced Code  Ey Libraries  My Extra  My LataProc  My Basic    Each object instance listed in the Object Tree has an icon  that shows the type of object  lab
21.  1s removed  from the workspace     3  Click  Close  to save your changes and exit the dialog  box  The workspace is compiled and the objects in the  library are no longer available for use in the workspace     5 3 3 Edit Library    Library editing functions require an understanding of Qlar   ity programming  Refer to Chapter 9     Intermediate  Design    and Chapter 10     Advanced Design    for informa   tion on Qlarity programming     NOTE  do not edit QSI libraries  You should not edit QSI libraries  QSI libraries are regularly  updated  and the new libraries replace the existing ones  so    OptoTerminal Qlarity Foundry User   s Manual    any changes are overwritten  You should edit only libraries  that you created  see section 5 3 5     Create a New  Library      You can modify an object template by importing  it into your workspace  see section 5 1 1     Add a New  Object Template         In the Libraries dialog box  click a library to select 1t  then  click  Edit Library   and the following dialog box is dis   played     Edit Library x     Fath  le    program flesgsi corporation glanty foundry comman  ib    Icon Foreground   Icon Background   O       Hame   E    Version i 52    Warning  Any changes you make to libraries  may affect  other projects  Additionally  any changes will take effect  immedediatel and cannot be undone               Version Edit Entry    Animated mage Source 1 52  Animated mages ample Bitmap 0 00 Rename Erti  Back button Source 152  BackDownBitma
22.  Create New Named Color   Click  New named color  to create a new named color  You  are prompted to enter a label  A label has no size limitations  but must start with a letter or underline character  _   A  label cannot contain spaces but may contain the underline  character  The percent      pound      and dollar sign      symbols can be used at the end of the label  Enter a label for  the new named color and click  OK   The new named color  is added to the list with a default color of white  To change  the color  click a color in one of the color palettes  The color  selected will be the color in every theme unless you change  it for a selected theme and click  Save current border and  color settings as theme      5 4 2 3 Delete Named Color   To delete a named color that you created  select it  then click   Delete named color   A prompt is displayed to confirm  that you want to delete it  Click  Yes  to delete the named  color  You cannot delete the default named colors     5 4 2 4 Rename Named Color   To rename a named color that you created  select it  then  click  Rename color   A message is displayed to warn you  that you should not rename a named color that has been  assigned to objects  If you do  the workspace will not com   pile  Click  Yes  to rename the named color  After changing  the name  click  OK  to save the change  You cannot rename  the default named colors     5 4 2 5 Reset Color to Theme Default   To restore the originally assigned color to a theme   s 
23.  Items    When defining objects  you may specify one default prop   erty and one default function  To edit the default function of  an object  double click the object in Layout View or the  Object Tree  and the editor of your choice  either Code  View or the Event Builder  is opened  To edit an object   s  property in the Properties window  select the object in Lay   out View and press  lt Enter gt   If the default property is of a    data type that offers a Select button   _  in the Properties    window  click     to edit the property in the custom editor  for the property      default item  lt item type gt   lt item name gt      lt item type gt  is either func or prop   lt item name gt  is the name  of a method or property in the current object template  The    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual     default item directive is only valid as following a  doc obj  directive      doc object buttonv2   defaultitem func Click   defaultitem prop value    documentation as appropriate     B 13 Defining Border Styles    You can use the  stylemap directive to specify a new border  style element for an object      stylemap  lt style name gt   lt style assignment gt      lt style assignment gt        lt style assignment gt      Where  lt style name gt  is a valid Qlarity identifier name that  names the style  Each  lt style assignment gt  defines the style  for a specific theme  If the user selects 
24.  Objects  IY Preview while dragging         Object outlines  Grid    Time  me  the mouse  must be held still before a  drag or resize takes    z250 ms            vi Allow locked objects to be mowed within  the Object Tree     Cancel         Show legend around display   With touch screen displays  you can add a border around the  display for a stick on  touch key legend  If you are using a  touch key legend  select this option  If you are not using a  touch key legend  leave the checkbox empty     Grid Spacing   You can display a grid over the work area to help you more  accurately place and align objects  Enter the space between  grid lines in pixels  between 2 and 25      Show Grid  Select this option to make the work area grid visible     Snap to Grid   Select this option to force objects to    snap    to the nearest  grid line when added or moved  This is useful for more  accurate placement and alignment of objects     Preview while dragging    only available in Windows 2000 and Windows XP  This  option controls the way objects appear while dragging them  with the mouse to move them in Layout View  If selected  a  preview of the object in the new location is displayed  If not  selected  an outline of the object is displayed     Time the mouse must be held      This setting determines how long  in milliseconds  the  redraw function is delayed when dragging an object  For  most systems  the default should be optimum  If you need to  increase or decrease the time interval  en
25.  OptoTerminal CD ROM into your CD ROM  drive     The Setup program should auto start  If it does not   click  Start   and click Run  The following window  appears     Type the name of a program  Folder  document  or  Internet resource  and Windows will open it For you     open    Cancel Browse                Type e  setup  in which    e    is the letter of your  CD ROM drive   The following window appears     InstallShield Wizard       Welcome to the InstallShield Wizard for Qlarity  Foundry for Opto 22 version 2 50    OPTO 22 The InstallShield   Wizard will install Qlarity Foundry for    Opto 22 version 2 50 on pour computer  To continue       click Next   Phone     951 695 3080  Toll free    in the LSA     800 835 6786    Ernail   support opto22 com    www opto22 com       Cancel      If no other Windows based applications are ruming   click  Next   and the License Agreement window is dis   played     InstallShield Wizard    License Agreement  OPTO 22    Please read the following license agreement carefully   Expect more  Get more  Do more     Press the PAGE DOWN key to see the rest of the agreement     END USER LICENSE AGREEMENT FOR  O51 CORPORATION SOFTWARE    IMPORTANTIREAD CAREFULLY  BY    CLICKING THE ACCEPTANCE BUTTON OF  INSTALLING THE SOFTWARE  VOU ARE CONSENTING TO BE BOUND BY AND  ARE BECOMING A PARTY TO THIS END USER LICENSE AGREEMENT  THIS  END USER LICENSE AGREEMENT   EULA   1S A LEGAL AGREEMENT BETWEEN     TOU  EITHER AN INDIVIDUAL OF A SINGLE ENTITY  AND G51 
26.  Serial Transmit   e Play Note   e Set Contrast   e Set Backlight    e Custom Action    After you select an action  options appear in the action con   figuration area of the Event Builder dialog box to configure  the action  Refer to the following sections for information  on each action   s configuration     Show Screen   This action selects a new object to show  While this action 1s  typically used for screens  any object may be selected   When this action is executed  the currently displayed screen  is hidden and the newly selected screen is shown  If you  want to an object or screen to    pop up    over the current  screen  you should use the Enable Disable Object action    instead   Show Screen  JEv_enable_screent       OptoTerminal Qlarity Foundry User   s Manual    Click the drop down arrow  and select the object from the  list with which you want to replace the current object     Enable Disable Object   This action enables or disables the selected object  When an  object is disabled  it is not shown on the terminal display  and will not respond to most events  In the following action  example  when the event occurs  a spinner object is dis   abled  To enable the spinner object  a second event and  action are required     Enable   Disable Object  Object            Enable this object     Disable this object       Toggle this object s enabled state    Set Property   This action sets the value of an object property or global  variable  You can use Set Property  for exampl
27.  Source objects  object templates     e Embedded resources  e g   bitmaps  BDF fonts  and TT  fonts   Only resources that are used in an object template    e g   a custom button  tab  etc   need to be embedded in  the library  Libraries can also reference any resource that  has been loaded into a workspace  However  by embed   ding the resource in the library  you make certain that it  is available when an object instance is created     To add a new entry to a library  click  Add New Entry   The  following dialog box is displayed     New Library Entry i x   Entry name     Entry type   Source     Filename    Browse      cos       Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     36    Entry Name   Enter a name for the new entry  A name has no size limita   tion but must start with a letter or underline character  _   A  name cannot contain spaces but may contain the underline  character  The percent      pound     and dollar sign      symbols can be used at the end of the name     Entry Type  From the drop down list  select the type of entry     e Source  object template    e Bitmap  resource    e BDF font  resource    e TT font  resource    e Audio file   e Binary file   Filename   If the library entry 1s a resource  e g   bitmap or font  enter    the location of the resource file  Click  Browse  to find the  file 1f necessary     Click  OK  to continue  If the library entry is a    source      object template   a message 1s displayed explaining 
28.  The factoral of n   gt       written n   is defined as n    n 1     SCZ  Fe chat ley  fune CalerFactoral  tocalc as integer     gt     returns integer    endfunc    101    Note that    Fparam    lines must be completed in one line   You cannot use the line continuation character to extend  them to more than one line     10 6 Guidelines for Designing New Object  Templates    This section contains advice and collected wisdom regard   ing the design of new Qlarity object templates  Designing  good object templates is the most complex task in Qlarity  programming  Once this skill is mastered  the full potential  of Qlarity can be utilized in your application development     Look at template code in the QSI libraries    Each library contains the full source code for every object  template in the library  You are encouraged to study the  code in these libraries to learn the techniques and conven   tions used in their design  Often the easiest way to create a  custom object is to modify a template that is similar to the  desired object     Use the boilerplate code    This code provides a complete  working Qlarity object  ready for customization  Do not unnecessarily    reinvent the  wheel        Use a consistent style    This is important in any programming project  QSI has  developed a set of Qlarity programming style conventions  for objects that are designed in house  This was also used in  the boilerplate code  The style guide is available on the  Qlarity Web site  www glarity 
29.  View    Modify Seral Port Settings    Remember to specify the terminal hardware with the Terminal tab        Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Speaker Volume  Click and drag the slide button to adjust the volume in Sim   ulation View     Mute  Enable this option to turn sound off in Simulation View     Ethernet Simulation   Select a network simulation choice from the drop down list   If you select Default simulation  your computer   s network  connection  if available  will be used in Simulation View to  transmit and receive data requested by the application   Select Do not simulate if you do not want Qlarity Foundry  to access the network in Simulation View     If your PC has 2 or more IP addresses assigned to it  those  addresses will also appear in the drop down list  and you  can select the IP address to use when simulating TCP and  UDP communication     Play Sound at Breakpoint   If this option is enabled  a sound is played each time the  source level debugger reaches a breakpoint in the code   Refer to section 3 10 3 for more information  Click  Select   to display an Open dialog box  and select the waveform file  you want to use     49    6 5 1 Communications Window Settings   Click  Communications Window Settings  to set up com   munication preferences for the Communications window in  Simulation View      x    Communications Settings      Display as Hexidecimal   iY Wrap li
30.  View Toolbar       Deh   fs tte  gt  4  BABA     Ly Click to start a new workspace  Refer to section 4 1  for information    cg   Click to open an existing workspace  Refer to  section 4 2 for information    E Click to save the current workspace  Refer to  section 4 4 for information    E Click to compile the current workspace into the for   mat required for a user application  A workspace also  must be compiled to properly display in Layout View   Refer to section 4 5 for more information       Click to open the Download Application dialog box   Refer to Chapter 7 for information    d Select code  then click 4 to cut the selected code  from the workspace  The code remains in the Win   dows buffer until replaced by other    cut    or    copied     code    Select code  then click to copy the selected code        15    ie    The code remains in the Windows buffer until  replaced by other    cut    or    copy    operation     Click to place cut or copied code into a workspace or  another Windows application at the cursor position     Click to undo the last action performed     Click to redo the most recent undone action     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual        Click to go to the next bookmark in the displayed  object  Use the Toggle Bookmark tool to add book   marks to an object   s code       Click to add or remove a bookmark in an object   s  code at the cursor location  Bookmarks m
31.  When the resize  grips are dragged  the object should respond accordingly     Requiring each object to implement its own Layout View  behavior allows you to extend the functionality of Qlarity  Foundry in unique and powerful ways  This power and flex   ibility comes at the price of some complexity in writing  handlers for the tool messages  Fortunately  the boilerplate  code is sufficient for most objects     This section describes the implementation of the tool han   dlers in the new template boilerplate code  The tool mes   sages are explained in detail in the    Tool Messages    section  of the OptoTerminal Programmer   s Reference Manual     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Since a non drawable object is not visible on the display in  Layout View  its handler methods for tool messages are  small and straightforward  The code for the handlers is as  follows     FE  TOOL     TALS  Function rs called  by Olarity   gt      Foundry  when you change the attachment   gt      of an object  i e  in response to   gt      dragging it around the object tree       Note  the purpose of this function is to   gt      allow you to attach to another   gt      container  you should not change your   gt      parent property or call Tool_Persist   gt      until you receive a MSG_TOOL_ATTACHED    gt      A MSG_TOOL_ATTACHED will be sent in   gt      response to an Attach API function call   fune  To
32.  aie A A a A E O 77  B27 ave and Complle a W ORK SD AC pestes dc odie elec TF  Da Ea Y OPKSD ACE iia 1   9122 C Omp e a Works Dacia tio cra TI  5 0  Downloada USADA CAOS A AE 1    CHAPTER 9    INTERMEDIA TE DESTINA aucune cacsueseassscscsssacucuacccaescasseucedeuvaceluaseuseuvedecedsueutexcuassehcbececcouecccesesedutwescesss 79  Di VI WS te Codes A AAA con Re nena 79  9 2 Understanding Qlarity for Intermediate Design        cccccccccnnnonnnonnnonnnnnonnnnnnnnnnnnnononononononononononnnnnnnnnnnn ocn non nn non n naar nnnnnnnns 80   02M Olarity Proc raimiinin 2am OU ase dada 80  92 2s Ob Je cisma T empia CS nr dit tt 80   93 Ol  rity Code tor ODJe CiS kesian daveisth Rast eadin cad a A 81  Dal  Property AMA AULAS a Di eee Gana Bianca ats 81  YIL NICTIOO Override Si cass tuescada E E E a E aceesieaecaaes 81   9 4 Handling Events With larity Code iii Ad A 81  941 Overmide an    Blech MCtMOd eta dei di iia 82   DP MOM AO A serrse setae uae seers ae coe ee E E sees E ease aaah decease ansencaeseasealratesaeassaueecel care  83  OA Add  Global Variable toa WOK space uM coi tel atin chs R 83  9 5 1 1 Add a Global Variable Using New Variable               cocccccccncnnnnnnnnnnnnnnnnnnnnonnnononnnnonnnonononononnnnnnnnnnnnnos 83   9 5 1 2 Add a Global Variable in the Global Code Section      ooooooooooooccccccocncnnnnnnnnnnnnonnnnnan ono ononnonocccncncnnnnnnnnos 83   9 5 2 Add a Global Function to a Workspace ta it de A 84  9 5 3 Add a Global Message Handler to a Workspace             
33.  application to unit           Download  pp download size  24614  Flash required  64 kbytes  Download application      Download other BFF    Upgrade firmware          Serial   Ethemet             Baud rate  115200     Data Format  ani       Send sting over serial connection      st  ra Induce  Set unit time A E    Results      ee Eee Clear results box   Close Window      J   Open serial port whenever this screen is shown    a       2  Click  Download Application  to proceed  A progress  graph tracks the download  and the    Results    box dis   plays messages indicating whether the download was  successful     If an error occurs  verify that your communications set   tings are correct  Power the terminal off and back on   and once again place the terminal in the proper mode   Repeat the download process     NOTE  clear results  Click  Clear Results Box  to clear the messages in the     Results    box     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    7 3 Download a BFF File    You can download a user application that is not currently  loaded in Qlarity Foundry to the Qlarity based terminal  but  the file must be in binary file format  BFF   Save a file to  BFF using the    Generate BFF    function on the File menu   see section 4 6      Select Download Application from the File menu  and the  Download dialog box is displayed     E Download application to unit       Download       Serial   Ethemet
34.  be displayed at the angle at which it was created     Availability    BDF fonts and TrueType fonts are readily available from  several sources  including many public domain Internet  sources  TrueType fonts can be used on any Windows com   puter     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Terminal Memory Use    A BDF font file is smaller than a TT font file  If you are  using only one or two sizes of a specific font  Arial  Times  Roman  etc    you can save terminal memory using BDF  fonts  If you are using several point sizes for a specific font   the TT font will likely use less memory than three or more  BDF fonts     Display Speed    BDF fonts are displayed more quickly than TrueType fonts  on Qlarity based terminals  While the terminal renders Tru   eType fonts fast enough that the difference in drawing speed  is rarely noticeable  you might consider using BDF fonts for  display items that will change their text frequently  such as  items that are frequently polled from a remote device      Copyright    Many fonts are copyrighted  Be sure to purchase or obtain  permission to use a copyrighted font in your user applica   tions     5 2 8 Audio    Some Qlarity based terminals have an audio decoder option  that enables them to play waveform audio files  If your ter   minal supports an audio decoder  you can add audio files in  the  wav format to your workspace  You can play the audio  fi
35.  canes lode tears thoansoacstudens ndauntansanases 65   6 37  Addan Object From the Object Palettes nal asietnietnncsigntasisdt sain a nieibtusnmbane teas  65   Sole2 Add an Object From the Shortcut Menta tas dio 65   03 2 MOVE  Resize and  Reorder OD CCls ios os dd 66   A SP Geanstnonesecmesntehtuseenconbecamseniets 66   A O uaa taste anita an neta eal ede EE E E 66   Saz Clan ve Lhe Order oro Decidir keane  66   302 A AION  SIZE Space OD CCIS ni a a aeaa 67   ns AS A tusetousate snags a a aao a duane nianndagsenasts 68   Bo ES O Le aaa alee E E T E E AAE TE ARE PT A EE uc daniatuesuantantadees 69   Bb Eve ne OTIC Eeoa n a n A E S T A 70   01 Over ew Or Event Bulder tes  aiii a a a a A eee 70   042 Event  Builder DIODO Sesta Ea rE E a a a 70   34 3 Select and Confiture ACHONS ideales ibcads 71   Ska SA A E N a a a 71   AZ COn Pure ACU ONS lar 12   044 Load Event Builder Sample Workspace ie ire ae aerea eona lolo ree 74   AI Tnk DO O Ea E A AEEA 74   BAe  LOGOS DENO nerne een a E a a a Pane Genes tdenesencoss 74   odka Keypad DOMO a laicas 75   St Olanity Code and Event Builder seoran o E a e ENO Eea 75   40   TrOUDICS NOON easi E E a a A E 75   6 5  Communication OD  SC Eo N a a A 75   Sede  Sena OD COE aa nad 75   A EE ECOD E O eian aaa a A A 76   0 RECI Dd araara a e E AA EE AEA E AEA anise dantentta oust 76    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    5 60  Test the User App Cate mica ei
36.  click the item in the key   word list     11    Show Qlarity Language Help  Ctrl   F1     Select this option  or press  lt CtrI gt   lt F1 gt   to view the Pro   grammer   s Reference Help file  The Programmer   s Refer   ence provides information on the Qlarity programming  language and message handling system  detailed informa   tion on the syntax to write programs in the Qlarity language   descriptions of system messages  a Qlarity API  Applica   tion Programming Interface  function reference  and other  information on programming in the Qlarity language     Show Qlarity Foundry Help  Shift   F1    Select this option  or press  lt Shift gt   lt F1 gt   to view the Qlar   ity Foundry Help file  The Help file provides the informa   tion in this Qlarity Foundry manual so that you can access it  online while you are working in Qlarity Foundry     Sample Workspaces  Code View only   Select this option to open the Object Documentation Help  file and select a sample workspace from the contents     Tutorials  Code View only   Select this option to open the Object Documentation Help  file and select a tutorial from the contents     About Qlarity Foundry  Select this option to identify the version of Qlarity Foundry   BFF  and the firmware that you are running     3 5 Toolbar    The Qlarity Foundry toolbar contains icons for commonly  used functions  Click an icon to open the function  Select  Toolbar from the View menu to show or hide the toolbar     The following sections describ
37.  code  AutoDoc will then    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    find the information you enter and add it to the Object Doc   umentation     To document a program item  type the following in the  same location as the item  e g   to document an object prop   erty  enter the documentation within the object         This documents an object property OR   gt      global variable    doc property  lt name gt     doc prop  lt name gt        This documents  a global  Tunctionr or   gt      object method    doc func  lt name gt     doc function  lt name gt     doc override  lt name gt      only use this   gt      if the function is designed to be   gt      overridden        This documents an object itself   doc object  lt name gt     To enter a description of an item  begin each line of the  description with a tilde          doc object buttonv2    The ButtonV2 object is a versatile   gt      object that responds to touchscreen   gt   TOG      When you touch an instance of the   gt    Buttonv2 object  the function called   gt    Click   is called    The tilde must be the first non whitespace character on the  line  otherwise it is treated as a comment     When documenting a function  you can add parameter doc   umentation as follows      doc func CalcFactoral    param toCalc The function calculates the  factoral of this parameter    CalcFactoral calculates the factoral   gt      Of its parameter 
38.  colors in  the workspace  All object background and fill colors in the  workspace are determined by the color or named color  assigned to the objects or properties     5 5 2 5 Create New Named Border   Click  New named border  to create a new named border   You are prompted to enter a label  A label has no size limi   tations but must start with a letter or underline character  _    A label cannot contain spaces but may contain the underline  character  The percent      pound      and dollar sign      symbols can be used at the end of the label  Enter the a label  for the new named border and click  OK   The new named  border is added to the list with default attributes  To change  the border  change the    General Effects        Rounded Cor   ners     and    Double Borders    options  The border attributes  selected will be the same in every theme unless you change  them for a selected theme and click  Save current border  and color settings as theme      5 5 2 6 Delete Named Border   To delete a named border that you created  select it  then  click  Delete named border   A prompt is displayed to con   firm that you want to delete it  Click  Yes  to delete the  named border  You cannot delete the default named bor   ders     5 5 2 7 Rename Named Border   To rename a named border that you created  select it  then  click  Rename border   A message is displayed to warn  that you should not rename a named border that has been  assigned to objects  If you do  the workspace will 
39.  containers objects in front of  the object are transparent  Also  the hierarchy determines  the order for messaging     Enabled and Disabled Objects   An object may be enabled or disabled without deleting it  from the user application  An enabled object can process  most messages  Disabled objects are not drawn on the dis   play and are not eligible to process messages  In Qlarity  Foundry  an object can be enabled or disabled using its  object properties  but disabled objects continue to be dis   played     Event   An occurrence that signals a change in the terminal state   such as a touch screen press  a keyboard press  a serial char   acter receive  or a system time tick  Events generate mes   sages that allow the user application to react to the event in  a defined way     Globals  Code and data that exists independently of objects in an  application     Libraries   Collections of predefined object templates and or resources  available in Qlarity Foundry  Some libraries are provided  by QSI  however  advanced users may create their own  libraries     Message   Delivers information about an event to the user application   User defined functions and object methods are called when  the message they handle is generated     Message Handling System   System that handles event processing for the Qlarity based  terminal  When an event occurs  the system software and or  hardware drivers generate a message indicating that the  event has occurred  The message is passed through the
40.  height and or  width integer in the Properties window  Select from the  drop down list  or type in the new value     To move an object  do one of the following     e Click in the center of the object  hold down the mouse  button  and drag the object to a different position  You  can hold down the  lt Shift gt  key while moving an object  to limit its movement to horizontal  vertical  or a 45    angle     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    e Change the x and or y position integer in the Properties  window  Select from the drop down list  or type in the  new value     3 13 Move and Resize Windows    The following windows can be moved  resized  or  undocked  separated  from the main window    e Object Tree   e Properties window  Layout View    e Object Palette  Layout View    e Messages and Errors   e Miscellaneous bar   e Communications wndow  Simulation View    e Keyboard  Simulation View    e Keypad  Simulation View    Each window has its own title bar at the top  the Miscella   neous bar has a title bar on the left side under the Close but   ton   To move a window  click the title bar  hold down the  mouse button  and drag the window to another location   elther in the main window or outside the main window  As  you drag it  you will see an outline that indicates the posi     tion and size it will be  When it is in the position you want   release the mouse button  If you release the
41.  mes   sage handling system in the Qlarity based system software   which reviews the object hierarchy and determines which  object gets the message and in what order the message will  be processed     In order to process a message  an object must be enabled   which also causes area and container objects with a defined  area to be drawn on the screen   Disabled objects do not  process most messages     Methods   Functions contained in an object comprising much of the  code portion of the object  The methods for each type of  object are defined in the object template  but each object  instance may override some of the object template   s meth   ods  Methods define the behavior of an object at runtime  and typically either manipulate or depend on the values of  the object s properties     Method Override   A function in an object instance that    overrides     or  replaces  the method defined in the object template  Each  object instance may override some of the template   s meth   ods  The override function has the same name and parame   ters as the template method  and the code in an override  may call the template method if desired     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     104    Non Drawable Object   An object that has a purpose not directly related to the ter   minal display  Examples of non drawable objects include   communication  event  and keyboard objects     Object   The basic unit of a user application  You define objects by 
42.  ming language  This chapter provides information to help  users design their own objects using Qlarity     Advanced users are not bound by the selection of objects  available in QSI libraries  As an advanced user  you can  design objects that best represent the data and user interface  elements for a particular application  For example  if the  Qlarity based terminal is replacing an existing control  panel  you can create objects that mimic the    look and feel     of the user interface elements on the old panel  The variety  of objects you can create with Qlarity is virtually unlimited     This chapter introduces the Qlarity concepts that are crucial  for object design  including the following     e Validation Functions    e The Qlarity API Library    e Exception Handling  It also includes information on the following     e Create a New Object Template    e Guidelines for Designing New Object Templates    Before proceeding  you should be familiar with the con   cepts presented in Chapter 8     Basic Design    and Chapter 9      Intermediate Design    and have some practice with Qlarity  design at those levels  In addition  you should review the  OptoTerminal Programmer s Reference Manual  as 1t cov   ers basic information needed for programming in Qlarity     10 1 Advanced Code Sections    To add advanced code constructs and to view and debug  code in Qlarity Foundry libraries  you need to enable the  advanced code sections in Code View     To display the Advanced Code and 
43.  mouse button    21    close to a    docked    position in the main window  the win   dow snaps into place     NOTE  floating windows   If you do not want the window to    snap    into a docked posi   tion  hold down the  lt Ctrl gt  key as you drag it  It then  becomes a floating window that can be positioned any   where on the screen     To resize a window  move the mouse pointer over any side  or corner until the pointer changes to directional arrows   Click and hold the mouse button  and drag the side or corner  of the window until it is the size you want  then release the  mouse button     NOTE  resize the main window  You can resize the main window using the same method     To close a window  click Ed  To open a closed window   select its name from the View menu     3 14 Where to Go From Here    When you have finished reviewing Getting Started  refer to  Chapter 8     Basic Design    to learn about the Qlarity design  process  and specifically to section 8 4     Event Builder    for  information on Qlarity Foundry   s user friendly design tool  for creating user applications  Refer to chapters 3 through 7   as required  to answer specific questions about using Qlarity  Foundry     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     22    OptoTerminal Qlarity Foundry User   s Manual    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 4    WORKSPACES    4 1 Start a New Workspace    When you first start Qla
44.  overridden method in the template   The same parameters that were passed to the override  method should be passed in Default       Refer to the OptoTerminal Programmer   s Reference Man   ual for information on how functions are defined in Qlarity     NOTE  create a new template   If you find that you are adding identical override functions  to many instances of the same object  consider modifying  the object template to create a new template with the  desired functionality     9 4 Handling Events With Qlarity Code    Many Qlarity objects publish events to signal when an  action has taken place  such as the user pressing the touch  screen  data arriving on the serial port  and so on  Qlarity  objects provide this notification in the form of functions  that may be overridden in object instances to provide spe   cific object behavior     For example  many button like objects  such as the  ButtonV2 or IconButtonV2 objects  publish a function  called Click   By default  this function does nothing  but  each instance of this object can include an override of the  ClickQ  function to take some action in response to a press  event on the object  A typical response might include send   ing some characters to a communications port  switching to    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     82    a different screen  or modifying the contents of another  object     In this manner  an object   s response to events is pro   grammed using the Qlarity p
45.  size of the object     Text Settings   Contains properties that set the less common text attributes  in an object  such as the inset of the text from the edge of  the object or the justification of the text within the object     Misc  Contains properties that do not fit into any of the above cat   egories     Some objects may contain other categories that are specific  to the object     Examples of properties include     e Instance name  required   e Enabled disabled switch    e Parent  object to which the instance is attached  often a  form     e xy coordinates  x and y positions on the terminal display     e Color  including color of background  text  border  etc    selected from drop down lists or the Select Color palette     e Font  selected from a drop down list    e Bitmap image  selected from a drop down list    e Transparent  true false    You can edit property values by clicking the property you    want to edit  Many properties have a drop down list from  which to choose a valid entry  You may also type in a value     Click    s  to group or ungroup the properties by category     Click    aj to toggle between sorting the properties alphabeti   cally or by the order defined by the object   s author     Click T  to show or hide the data type for each property   You can close the Properties window by clicking the Close    button EJ  Normally  however  you will want to keep the  Properties window open     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 
46.  stop when that point is reached during simulation   Then variable values  as well as the flow of execution  can  be examined to determine the problem     The following options are available on the Simulation View  Tools menu and toolbar to help debug an application     y  ToggleBreakpoint   lt F9 gt    Select to set or remove a breakpoint        Run   lt F5 gt    Select to continue running the simulation after it has  paused or stopped     rl Single Step   lt F8 gt    Select to execute the current line and stop on the next  line     Step Into   lt F11 gt    When you select this option  if the current line con   tains a function call  the first executable line of the  function is displayed in the code  otherwise performs  a single step     a Step Out Of   lt Shift gt   lt F1 1 gt    Select to execute the rest of the current function and  return to the calling function  Stops on the first exe   cutable line outside of the function call  If there is  another breakpoint in the current function  execution  stops there     Il Pause Execution   lt Ctrl gt   lt Break gt    Select to stop execution at the next executable line of  Qlarity code  If no Qlarity code is executing  1 e   the  application is idle   execution does not pause until  after it has been started by an event such as a screen  touch or time tick     3 10 4 Call Stack Window    The Call Stack window displays the line number and the  object of the current function as well as that of all of its call     OptoTerminal Ql
47.  terminal is connected to an Ethernet port  you will    need to change it to a serial port to perform this function     Do the following to download a new version of the Qlarity   based terminal firmware     1  Select Download Application from the File menu    2  Click  Induce Bootloader   and an    Inducing Boot   loader    message is displayed in the    Results    box   After a time the following message is displayed      Bootloader induction terminated    Followed by the message     NOTICE  received command from host to enter bootloader  Entering QSI Bootloader V1 014     3  Click  Upgrade firmware  to proceed  and the follow   ing dialog box is displayed     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Select firmware file to download    Look in    Firmware         a G56 2 300  bin 8 G75 _mips_2 300 bin  laa  g55_ 201 3e bin  a  G75_xscale_2 300 bin  laa  955_2100testl bin      Z60_mips_2 300 bin       970_20138 bin   laa  G70_mips_2 300  bin   laa  G7O_xscale_2 300 bin             Files of type    Clarity firmware binary files    bin     Cancel      WE       4  Select the firmware software file to be downloaded and  click  Open      A progress graph tracks the download  Messages in the     Results    box indicate whether the download was suc     cessful     When finished  the new firmware version is shown in the     Results    box     25 Download application to unit           Download    p
48.  the  library   s object icons  Click  Icon Foreground  or  Icon  Background  and a color palette is displayed  A rectangle  appears around the current foreground or background color   Click a different color square to change the color  then click   OK      5 3 3 1 Edit Entry    Click an object template entry in the    Entry Name    list to  select 1t  then click  Edit Entry  to edit the programming  code of the selected object  This function 1s only available  for    source    type entries     The object template is displayed in a text editor similar to  Code View  as shown below        OT Library Entry   DisplaySetting  2  File Edit        Copyright 2004 OSI Corporation      Permission is granted to copy  distribute and modify this code      provided that this copyright statement is preserved al  IERIE  library standard source Notes   library standard source ToolMessages   library basic source TextSupport   library basic source StandardStyles   library basic source ColorStyleMapSupport    doc object DisplaySettingV2    The DisplaySetting object provides a simple method to set contrast and b    using the touchscreen  When this button is pressed and held  the setting    the button is released  The change    method override is also called        Whether the object is displayed on the terminal  dim enabled as boolean  init enabled    true  func enabled  nevval as boolean   enabled    newval  Enable  me  enabled   ispushed   false    waitingforsave   false Ma              Edit t
49.  the  undoc  directive to suppress the documentation on other program  elements  such as global variables that are intended for  internal use by a template      undoc  lt element type gt   lt element name gt     The  undoc directive has the same syntax and supports the  same  lt element types gt  as the  doc directive  You may also  specify a documentation body for an item that uses the   undoc directive  While this body will never be displayed in  the documentation  it is a useful way to comment your code     B 9 Property Flags    You may use the  flags directive to specify special flags  meta data for a property   flags is only valid after a  doc  prop directive  The documentation flags are used by a few  select data types in the Properties window of Qlarity  Foundry to control how they are processed      flags  lt flag data gt    lt flag data gt  is interpreted by the Properties window based  on the data type of the property   flags directives must    appear entirely on a single line     The most common use of  flags is to define the grid shown  by the aggregate  data type  The aggregate  data type    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     108    uses a  flags directive to define the grid that is shown when  editing the property  The aggregate  data type   s  flags  directive uses the following format      flags  lt dialog title gt   lt dialog  Instruct ions gt   lt column definition gt    lt column  definition gt       lt column de
50.  this location     6  Click     or select Compile from the File menu to  compile the workspace  Any errors in the new source  code are identified by messages in the Messages and  Errors window  If no errors are present  the compiled  workspace is returned to Layout View     NOTE  one message handler for each message  You can include only one message handler with each mes   sage type added to the Global Code section     9 5 3 2 Add a Global Message Handler in the Global  Code Section    Use the following method to enter a global message handler  directly in the Globals section in the Code View window     1  Click the Code View tab     85    Click Globals in the Object Tree to open the Global  Code section  Any current global source code is dis   played in the editor window     On a blank line in the editor window  outside of any  other function   declare a new function by typing the     func    keyword  followed by the name of the function   a left parenthesis  the parameters of the new function   and a right parenthesis  If the function returns a value   the right parenthesis should be followed by the key   word    returns    and then the type of the returned value   Indicate the end of the function with the    endfunc     keyword  on its own line   The parameters appear as  new variable declarations  see section 9 5 1  without  the    dim    keyword  Each parameter is separated from  other parameters by a comma     Since this is a message handler  there are restrictions on  
51.  to for   mat the code generated by Event Builder     8 4 4 Load Event Builder Sample Workspace    A sample workspace  eventbuilder qly  containing events  created with Event Builder is included with Qlarity  Foundry  You may find it helpful to load the sample work   space and view examples of the objects  events  and actions  that can be set up using Event Builder     To open the sample workspace  click Open and go to the  folder     Qlarity Foundry Samples Eventbuilder demo   Select the file eventbuilder  qly     An image of the workspace 1s shown below     OptoTerminal Qlarity Foundry User   s Manual    Event Builder Sample Demo    Status       The functions in the sample application are described in the  following sections     8 4 4 1 Tank Demo    The Tank Demo controls the level of liquid in a tank with a  slider  When the position of the slider in the Tank_Slider  object changes  1t triggers the following actions     e Transmits its current value out the serial port to a control   ler that adds liquid to or drains liquid from a tank to  achieve the required level     e Changes the text label above the slider to the current  value of the slider     e Sets the fill level of the gauge   In a real life situation  the  controller to which you transmit the value would start the  process to fill or drain the tank and send a value back to  the gauge to update it  However  in the sample simula   tion  the value is sent to the gauge directly      e Plays a musical note when the s
52.  type with each type representing a display element  button  or other function  Properties and methods define what an  object is and how it behaves     Object types    may take many  forms and serve any number of purposes  Object types fall  into three categories  container objects  area objects and  non drawable objects     Object Hierarchy   For the display  it is the Z order  or the order in which  objects are layered  For messaging  it is the order in which  objects are prioritized  The top object in the object hierar   chy receives the highest messaging and display priority   1 e   it is    on top    of other objects   However  any enabled  objects  regardless of their position in the hierarchy  may  receive or send messages  You can manipulate the position  of an object in the hierarchy with API functions  Each con   tainer  including the root container  maintains a list of  objects attached to it  its children   The order of objects on  this list indicates the Z ordering of objects  from front to  back   The Z ordering may also be manipulated at runtime  using the Z order primitive API functions     Object Instance   An occurrence of an object in a user application  An object  instance is defined by the object template on which the  object is based  Each object maintains its own properties  and may contain code for method overrides     Object Template   The programming code that defines an object  Each object  instance in a user application is based on a template  Obje
53.  under the Templates heading  Only object templates  created in the workspace are listed under this heading        OptoTerminal Qlarity Foundry User   s Manual    To add a library to or remove a library from a workspace   click My on the toolbar  or select Edit Libraries on the Edit  menu  A dialog box similar to the following is displayed       Edit Library    Remove library    Create new library    Add existing library    Edit Natives      Close         Filename Status   loaded v1 00   loaded v1 00 ExExceptionDisplay  loaded v1 00 ExRadioCheck1  loaded sys1 20 common   loaded sys1 20  progobis          exangletext  lib  exexceptiondisplay lib  exradiocheck  lib  common lib  progobjs lib    Entries Templates    Ex  naleT ext  Source  Ex  naleT ext       Click  Add Library  to add a new library to the workspace   Click  Remove Library  to remove the selected library  For  additional information on libraries  refer to section 5 3     8 1 5 1 Libraries Provided with Qlarity Foundry    Qlarity Foundry includes libraries of object templates that  allow you to create interactive  complex user applications  without entering any programming code  After you add one  or more of these libraries to a workspace  you can change  the object properties to customize the object instances in  your user application  Two of the libraries provided with  Qlarity Foundry that are used at the basic design level are     e Basic library  basic qlib     e Data Processing library  dataproc qlib     Thes
54.  workspace and the  coordinates at which the mouse pointer is positioned in the  work area  Also  if you position the mouse pointer over an  option on a menu or a tool on the toolbar  the function of the  option or tool is displayed in the status bar     3 4 Menu Options    The following sections describe the options available on  each menu on the menu bar    3 4 1 File Menu  New Workspace    Use this option to start a new workspace  Refer to  section 4 1 for information     Open Workspace  Use this option to open an existing workspace  Refer to  section 4 2 for information     Close Workspace  Select this option to close the current workspace and open a  new workspace     Save Workspace  Use this option to save the current workspace  Refer to  section 4 4 for information     Save Workspace As   Select this option to save a copy of the current workspace to  a different file name  The Save As dialog box is displayed   Enter the new file name  the extension is added automati   cally   and click  Save      Collect for Output  Use this option to transfer a workspace to another computer  See section 4 4 3 for information     Compile  Layout and Code View only    Use this option to compile the current workspace into the  format required for a user application  A workspace must  also be compiled to properly display in Layout View  Refer  to section 4 5 for information on compiling a workspace     Generate BFF File  Layout and Code View only    You can download a user application tha
55.  workspace is a file created in Qlarity Foundry that you  will compile into a user application  In Qlarity Foundry  you  use the workspace to define functions for the terminal  at  the Qlarity based terminal  you use the user application to  perform the functions     When Qlarity Foundry starts  a dialog box appears so you  can open a workspace     g Welcome to Qlarity Foundry    Recent Files  C  Program Files 0 pto22 Q larity Foundry S amples  D emo gr Odemo  gly           Open Selected    Open Other File    Start Hew    Begin editing in Layout View  Tutorials       Open Selected   Recently opened files  if any  are listed  To open a recent  file  click the file name to select it  then click  Open  Selected   or double click the file name   The workspace is  opened in the main window  Only one workspace at a time  can be open in Qlarity Foundry     Open Other File   Click  Open Other File  and the Open dialog box appears  showing workspaces in the default folder  Use the Windows  tools to change folders if necessary  Click a file to select it   then click  Open   The workspace is opened in the main  window  see next page      Start New   To start a new workspace  click  Start New   The New  Qlarity Project dialog box appears  Refer to section 4 1      Start a New Workspace    for information     Tutorials   Click  Tutorials  to open a sample workspace and to start a  tutorial to help you learn the basics of Qlarity Foundry  The  Object Documentation Help file is opened with 
56. 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    6 3 8 1 Functions and Methods    Use this option to set the level of help offered when writing  a function or method call  The following options are avail   able     None  AutoHelp will not automatically appear when writing func   tion or method calls     Standard  AutoHelp will attempt to appear whenever it seems likely  that you are going to edit a function or method call     High   AutoHelp will attempt to appear when you position the cur   sor in a function call    6 3 8 2 Identifier Completion   Use this option to set the level of help offered when refer     encing methods or properties of an object  The following  options are available     None  AutoHelp will not offer identifier completion assistance     Standard   AutoHelp will appear when it seems likely that you are ref   erencing an object property or method  In general  this  means after you type an object name and type in the dot      operator     High   AutoHelp will attempt to appear any time the cursor is over  an object property or method that is referenced via the dot  operator     6 3 8 3 Assignment and Parameters    Use this option to set the level of help offered when editing  the right hand side of an assignment statement or entering  parameters in a function call  Some information is drawn  from the last time the workspace was compiled  Data types  that have been added or changed since the last compile may  not be available  The followin
57. 4   If disabled  the default event edi   tor is Code View  In Layout View  double click an object  that supports events to launch the default event editor     6 3 8 AutoHelp Settings    The AutoHelp feature assists you in writing Qlarity source  code  If specific settings are enabled  while writing code in  Code View  pop up lists are displayed from which you can  make selections  Click  AutoHelp Settings  to set up or dis   able the AutoHelp options     AutoHelp Settings Ea    Functions and Methods    Assignment and Parameters uses the       resulte of the most recent compile to      Standard    determine possible values  If you have    modified pour source code since the last    Assignment and Parameters     Standard    compile or if the last compile had errors  it is    M Show global variables and functions ieee the listed values may be    Identifier Completion    T Show object properties and methods  T Show for built in data types    ou map elect to fade SutoHelp bubbles as the mouse  moves near obscured code to allow you to look at your  source code  as well as use the AutoHelp      4 Fade AutoHelp tips    Cancel         NOTE  AutoHelp is an aid only   AutoHelp is designed only to be an aid in code develop   ment  It may not be available in some circumstances  and  the information that it contains may be out of date or in an  improper context  Using AutoHelp is no substitute for good  programming practices     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 
58. 6786     MANUAL CONVENTIONS    Within Qlarity Foundry  functions can be selected using a mouse  a keyboard shortcut  or an icon on a toolbar  The following  conventions are used to identify selections in this manual     When instructed to press a specific key  it is shown in a bold  sans serif typeface and is    lt Enter gt   enclosed in angle brackets   When instructed to press a key and hold it down while typing another key  the keys are  lt CTRL gt   lt V gt   shown together   When instructed to click a button or icon  it is shown in a bold  sans serif typeface and is  OK   enclosed in square brackets     Icons on toolbars are represented graphically   When instructed to type a character or a word  it is shown in the Courier typeface   Directory paths  file names  and file name extensions are indicated by italics   Syntax  commands  and examples are shown in the Courier typeface        Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CONTENTS    CHAPTER 1    INTRODUCTION coria A A AAA AAA A 1   Me lo o co Use Tus Vata Ue ines ines A A OE OE CESE A EE nuaaahaaniien l   12 DESCA DUO aa a a a A cesawtiuauan need ue aeons l  CHAPTER 2    INSTALLATION A anaa easa eaa 3   ZV SS CET CUTE MOS AAA E E Eds 3   A A A AAA A A a cece Oa escuela da es irae Susie ea ouanwuuaiids 3  CHAPTER 3    GETTING STARTED   oi desdesocasdcnansussyausdevecavacedeuncoeesheuteuyessuadedsustssesvusensUeesdunssevesteseonabescaene 5   De Start Ola TN AS AA AAA AA A E eco nua
59. 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     li    OptoTerminal Qlarity Foundry User   s Manual    WORKSPACES sivisstai ii A apesvadessncuuesdonendeavsueeuatesustoaeenestunces 23  dele Sarra New WV  OF RSD ACG oda tots iio iaisid 23  4 2 Open a WOrkSpat Cesise E AA 24  BD Close a WorkSpace erinrar a a EEE a EEEE EEE 25  J Savea Works pat  n e a A 25   Aral Save ls seeaiek a ecce case E se olde Gesoeiaa ai aracnctided cen ie det eucenede Hawes sede tcarescencaeseea ys 25  A AnD Save OW OLKS DAC CAINS A ida 25  AAD  CONECTE OUMU e a e ii 25  40 Compile a Workspace sossarna A T 26  AO Gre NC Ee BEF E ie eE a a T E 26   CHAPTER 5      ILEMPLATES  RESOURCES AND LIBRARIES o iaa  27  Bl IC E T e pae eaa a E a ON 21   Saal Add a Now Object Templates iia 2  JEZ  Edta Templie ICON saae a e ea a E 28  Jl Remme a Template triada i   29  dl Remove a Lempa cio 29  LS Send Templie OLDA a a a oido 29  ILO Gage Lemp PO curiosa EE 29  IF Erenda Template  lin a 30  De Edi RESO UNC rs dicto d dilo oia 30  Zl Ada RESOU n a id   iia 31  ENS WINGS OME COS tato it 31  290 Rename a RESOULCE nati dd le ai iria 31  D2 1G Man Cera ESO UIC le lcd ena 32  a Remove a RESOU Eero r E a a a A ada 32  TA EE PIANO PA EAE A ee A E A E E EE EE ATO os EIE E PE EE E aad A E ET 32  FA FONS a E 32  PA EPAL e iO PEE RATE IOANE Sage dite A ocala sors acetic EA daton sense neat eas apse ne ae aap cae AE A E T 33  PP E adauaneaaiecucease eaeneeewutee tees 33  IA 33  ol Add Esto LIDA Yersen ais 33  AN M
60. 9 5 1 Add a Global Variable to a Workspace   A global variable is a variable that is declared in the Global    Code section  outside of any object  There are two methods  for adding a global variable     e Use the    New Variable    option in Code View  easiest  method      e Enter the variable directly into the Global Code section  in the Code View window     9 5 1 1 Add a Global Variable Using New Variable    Do the following to add a global variable using the    New  Variable    option     1  Click the Code View tab     2  Click Globals in the Object Tree to open the Global  Code section  Any current global source code is dis   played in the editor window     3  If you want the new variable inserted at a cursor loca   tion  select Insert at Cursor  then click in the editor at  the location where you want the variable inserted  If  you do not select this option  the variable will be added  to the bottom of the Global Code section     83    4  Click  New Variable    This button is only available  when the Globals section is selected   The following  dialog box is displayed        New Yariable   Property E x     Name    Data Type    M Create validation function    Initial   alue  optional    default    Properties Window category  optional     PEA O           Documentation  optional        5  Inthe    Name    text box  enter a name for the variable     6  In the    Data Type    text box  enter the variable   s data  type     7  Select Create Validation Function if you want Qla
61. API to modify the behavior of workspace objects  in Simulation View based on the display orientation of the  target terminal  Most users should select Landscape or  Portrait     Display Type   Select one of the following options from the drop down list  to indicate the type of display on your terminal  Color   Color TFT  Color Enhanced TFT  Grayscale  Transflec   tive   or Grayscale  Transmissive      The Color TFT and Color Enhanced TFT options can be  used by advanced programmers in conjunction with the  GetHardwareInfo   API to modify the behavior of work   space objects in Simulation View based on the display type  of the target terminal  If you are not sure which type of  color display you have  select Color     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     44    If you select Grayscale  Transflective   the default color  theme is dark text and borders on a light background  If you  select Grayscale  Transmissive   the default color theme is  light text and borders on a dark background  Refer to  section 5 4 1     Themes    for information on selecting and  modifying a color theme  If you are not sure which type of  grayscale display you have  select Grayscale  Transflec   tive      Audio Decoder   If the terminal has the audio decoder option  which allows it  to play waveform audio files  you can select this option to  enable it     Ethernet   If the terminal has an Ethernet port and you will be using it  for communication  select this 
62. Application   A user created program that controls the Qlarity based ter   minal  A user application interacts with the terminal   s sys   tem software  firmware  to define and control the terminal   s  display  touch screen  speaker and input output actions     Validation Method   An object method that is implicitly called when the object  property of the same name is assigned a value  Although the  name validation implies that the function is used to validate  the value before it is assigned to the property  the validation  method may be used for any purpose  This is a powerful  feature of Qlarity  because it allows object behavior to be  controlled solely by manipulating the object properties     Workspace   A file created in Qlarity Foundry that contains Qlarity pro   gramming code and data for a user application  You use  Qlarity Foundry to compile the workspace file into a user  application and to download the user application to the  Qlarity based terminal  You can create any number of  workspaces     Z Order   The order in which objects are layered  The order of objects  in the Object Tree indicates the Z ordering of objects  from  front to back   The Z ordering may also be manipulated at  runtime using the Z order primitive API functions   Also  see Object Hierarchy      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     APPENDIX B    AUTODOC SPECIFICATION    AutoDoc is Qlarity meta data that automatically documents  source code in a work
63. Browse     to select a different folder or create a new folder in  which to install Qlarity Foundry  Click  Next  to con   tinue  The following window appears        After all of the files are copied to your hard disk  the    following window appears   InstallShield Wizard    Setup Type  Choose the setup type that best suits your needs  oO P T oO  z 2    Expect more  Get more  Do more     InstallShield Wizard    Click the type of Setup you prefer  InstallShield Wizard Complete    Description    Install the features commonly  required for Qlarity Foundry for  Opto 22 version 2 50  The  application and help files will be  installed az well as some sample    Setup has finished installing Qlanty Foundry for Opto 2  version    2 50 on your computer   OPTO 22    Phone   951 695 3080    programs and basic tutorials     Toll free    in the USA   800 835 6786    Email   support pto4 com    www opto22 com       7  Click each type of system setup to read a description of  the files that are installed  Then  select the type of setup  that best suits your needs  Complete  Custom  Mini     Click  Finish   Installation is complete   mal  or Typical  Click  Next  to continue  If you    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 3    GETTING STARTED    3 1 Start Qlarity Foundry    To start Qlarity Foundry  click  Start   then click Programs  and select QSI Corporation  Click Launch Qlarity  Foundry to start the program     3 2 Open a Workspace    A
64. CORPORATION FOR  THE GLARITY FOUNDRY SOFTWARE ACCOMPANYING THIS EULA  WHICH  INCLUDES COMPUTER SOFTWARE  SAMPLE OBJECTS AND MAY INCLUDE    Do vou accept all the terme of the preceding License Agreement  IF you choose No  the  setup will close  To install Qlarity Foundry for Opto 22 version 2 50  you must accept this  agreement     Ho      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     4 OptoTerminal Qlarity Foundry User   s Manual    5  Read the agreement and click  Yes  if you accept the selected    Custom     a dialog box appears for you to  terms  The following window appears  select the files and features you want to install     The Setup Status window appears and displays the sta   tus of the installation as each file is installed in the  specified destination folder     InstallShield Wizard ES    Choose Destination Location cD P T oO rp rp  Select folder where Setup will install files     Expect more  Get more  Do more     Setup will install Qlarity Foundry for Opto 22 version 2 50 in the following folder   InstallShield Wizard  To install to this folder  click Next  To install to a different folder  click Browse and select    another folder  Setup Status    OPTO 22    Expect more  Get more  Do more     Glarty Foundry for Opto 22 version 2 50 Setup is performing the requested operations     Destination Folder Validating install    re    C  Program Files O pto22 Q larity Foundry           6  Accept the destination folder shown  or click  
65. Code View      Descriptions         The Event Builder dialog box contains the action table that  lists all actions assigned to the selected event and the action  configuration that contains options to set up each action        O Event Builder   ListBox   SelChanged event    A AA    Set Property Set Tachometer s value property to selected 1                   Action Table  Action Configuration                               m Property to Set Set to this Value      Object  Tachometer y  C Use the value of this object property  Obiect Cancel    Property   saus y   ES  Globals      Property py  Edit in Code View      X Descriptions      Use this explicit value   selected 1  gt    Set an object property  Use this action to set an object property or a global variable  You can either set it to a specific  value  or copy the value of another property or variable        Action Table  The action table lists all actions configured for the selected  event  Each action is on a separate line in the table     To modify an existing action  click the action in the table   To add a new action  click the last line in the table  labeled     Click to add action      and select the action from the drop   down list  Then modify or set up the selected action in the  action configuration area     Action Configuration   After you select an action in the action table  applicable  options are displayed in the action configuration area to set  up the action     71    Click  OK  to accept the event as curre
66. E  B   e   El    doc override animationDone  func AnimationDone i        validation method  provide functionality for    property changes     The illustration above shows a portion of an example of the     boilerplate    code provided by QSI as an optional starting  point when creating a new object template    For example  the    enabled    property is common to all    The boilerplate code included in a new template depends on  the type of object being created  1 e   non drawable  area  object  or container   The purpose of the boilerplate code is  to provide a set of properties and methods found in a typical  object of the selected type  It also provides fully functional  tool methods  The source code is well documented and  serves as an example of a working Qlarity object     Each property is defined as follows     descriptive comment  describe the property   dim statement  create the property     init statement  assign a default value     objects and appears in the boilerplate code for any type of  template  The code that defines the property is as follows        Whether the object is displayed on the   gt      terminal  dim enabled as boolean  init enabled    true  func enabled newval as boolean   enabled    newval  Enable  me  enabled   endfunc    The comment describes the purpose of the property  The     dim    statement creates a boolean property named     enabled     The    init    statement assigns a default value of    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 
67. Edit Templates    and to Chapter 10     Advanced  Design    for information on creating templates     Edit Resources   Use this option to open the Qlarity Resources dialog box to  add resources to or remove them from the workspace  Refer  to section 5 2     Edit Resources    for information     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Edit Libraries   Use this option to open the Libraries dialog box to add  libraries to or remove libraries from the workspace  Refer to  section 5 3 for information     Edit Named Colors  Layout View only    Select this option to define    named colors     You assign  named colors to objects to specify the object   s background  and foreground colors  Refer to section 5 4 for information     Edit Named Borders  Layout View only    Select this option to define    named borders     You assign  named borders to objects to specify border attributes  Refer  to section 5 5 for information     3 4 3 View Menu    Toolbar  Select this option to show or hide the toolbar  Refer to  section 3 5 for information     Status Bar  Select this option to show or hide the status bar at the bot   tom of the main window     Misc  Bar   Select this option to show or hide the Layout Scale  Outline  All Objects  and Theme functions next to the toolbar  Refer  to section 3 6 for information     Messages and Errors   Select this option to show or hide the Messages and Errors  window  wh
68. Instance  The Instance Properties  dialog box is opened  All available objects are listed in  the drop down list at the    Type    field  as shown below     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     66    Instance Properties Ea  Mame   Newlnstancet         ES LaserPolygon   Pa  EimapButtor2   Button z   CheckBox2   EH DataGridw2   H   DropDownList    El EditBoww2   A ExceptionDisplayy   E              3  At the    Name    field  type a name for the new object   type over the default name   Each object in the work   space must have a unique name  An object name has no  size limitation but must start with a letter  A name can   not contain spaces but may use the underline character   _   The percent      pound     and dollar sign      symbols can be used at the end of the name     4  At the    Type    field  click the drop down list  and select  the type of object that you want to add  After you select  an object  it is added to the work area at its default loca   tion and is listed in the Object Tree     The newly added object remains selected and its properties  are displayed  You can edit the properties as required     8 3 2 Move  Resize and Reorder Objects    To select an object to move  resize or reorder  click on it   The selected object is outlined with a colored box  You can  only select one object at a time  You cannot move or resize a  locked object     Press  lt Tab gt  to move forward from object to object in Z   order  Press  l
69. Libraries branches in  the Object Tree and to make the sections available in the  editor window  click   on the toolbar  or select Settings    from the Tools menu  or press  lt F12 gt    click the Editor tab   and select the Show advanced code sections in the  Object Tree option     10 1 1 Advanced Code    The Advanced Code section is intended for advanced users  that need more control over how Qlarity code is handled by  Qlarity Foundry  Code written in this area is treated as if it  were written using a basic text editor rather than Qlarity  Foundry  Qlarity Foundry does not interact with any code  authored in this section  Normally  Qlarity Foundry moni   tors the code that you type in Code View  When you type an  advanced code construct  such as a declare or define state   ment   Qlarity Foundry performs the action that you typed   e g   if you type in a define statement  Qlarity Foundry  removes the define statement and creates an object tem   plate   In the Advanced Code section  this monitoring is dis   abled  and you can type in advanced code constructs  without interference     If you use the declare statement to create an object  the  object will be created and displayed in the Layout and Sim   ulation Views  but will not appear in the Object Tree  nor  will it have resize grips     10 1 2 Libraries    The Libraries section allows an advanced user to view and  debug code in the included libraries  It is recommended that  you do not edit QSI provided libraries  By de
70. OPTO  6786     20    3 12 Object Palette    The Object Palette contains a tab for each library in the  workspace  as well as an All tab and an Other tab  Each tab  has icons for all of the object templates in the library        Click a tab to select an object from the specified library     The All tab contains icons for all objects available to the  workspace  from all of the libraries in the workspace   The  background color of each icon identifies the library in  which the object can be found  The Other tab contains  objects from various small libraries    For more information on object libraries  refer to  section 5 3     Edit Libraries        Move the mouse pointer over an icon to display the object   s  name and description     Click    to place the mouse pointer in    select    mode  In  this mode  click an existing object to select it  The pointer  remains in select mode until you click a different icon     Click   to place the mouse pointer in    scroll    mode  If the  layout scale is larger than the work area  use the scroll mode  to view the parts of the workspace that are not visible  Click  EJ  then click anywhere in the work area and hold the  mouse button as you    drag    in the direction you want to  view  When the section you want to view is visible  release  the mouse button  The pointer remains in scroll mode until  you click a different icon or exit the workspace     You can close the Object Palette by clicking the Close but   ton fy  or you can show or h
71. OPTOTERMINAL     QLARITY FOUNDRY     USER S MANUAL  REVISION 2 5    Opto 22  43044 Business Park Drive  Temecula  CA 92590 3614  USA    Phone 800 321 OPTO  6786  or 951 695 3000  Fax 800 8320PTO  6786  or 951 695 2712  Email  sales O opto22 com  www opto22 com    Manual 0059 01  Opto 22 form 1344 070321   6345E1   Printed in USA       Copyright QSI Corporation 2006 2007    QSI reserves the right to modify this manual and or the product s  it describes without notice  In no event shall QSI be liable for incidental or consequential  damages  or for the infringement of any patent rights or third party rights  due to the use of its products     QTERM G70  QTERM G75  QTERM G55  QTERM Z60  QTERM  G70  G75  G55  Z60  Qlarity and Qlarity Foundry are trademarks of QSI Corpora   tion OptoTerminal is a trademark of Opto 22  Microsoft  Windows  Windows NT  Windows 2000  Windows XP  and their respective logos are trademarks  or registered trademarks of Microsoft Corporation in the United States and other countries     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     FOREWORD    Qlarity Foundry    is a Windows   based design tool that uses the Qlarity    programming language to help you design user  applications for a Qlarity based terminal     Chapter 1    Chapter 2  Chapter 3  Chapter 4    Chapter 5    Chapter 6    Chapter 7    Chapter 8    Chapter 9  Chapter 10  Appendix A    Appendix B    Introduction  This chapter explains how to use this manual to get t
72. OV  KIDE A II a E tac teiaelcet eit teers 34  O 34  E A A e o 5 In A 35  dz Rename Ena aca 35  dol REMO Ve LA lil ias 35  o 6 EMERY Voros eene E S O 35  SA A e a eE a 35   IIA AVANCE PP a E a a a a a A N 36  del Aa EERE ita 36  555 42  Edt Core  core  Ub qdo aia 37  5 3 4 3 System Libraries That Are Not Explicitly Included in This Workspace                ccccccccccccceeeeeeeeeeeees 37   NI  CLC Abe ra INOW  LITA anida iii 37  A e cit Nant RPE N 38  IAr THEMES sasha was A A N i 38  DA TES O II II cate necte II A det iocs 39  34 2 1 Change Named Color eko aie die 39  9422    Create NEW Named Cola lidia 39  94 2 3  Delete Named Color Sa 39    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    FAA  Rename Named CO A 39  34 2 5  Reset Color to Theme Detalla ti A aii 39  O Edt Named BO io 39  A A E o POE E O EEE eke 40  LN amed Bordes sa 40  SAN EN Ea fia PS CUS PO O o E UP RT ROO II O O Nh estseges 40  Li OUNAE COM oda 41  O LOUD le BOE  iii aia Atico 41  IOA A A A a Soncueasau A N 41  35 2 0     Create New Named DOTA lat 41  5552 0  Delete Named BO daa 41  Ir Rename Nain DOE acta 41  5552270  Reset Borderto Delta di 41  CHAPTER 6   OLARY FOUNDRY PP REFERENCES aa eS Ad AA E 43  A a 0 O oa galt cease adideeis dco Sica wa e a a enced satu E N 43  CRE MOS VAY SC UU Bsc scat O e ltteers 43  A A ted eae de ened ii E E O ean 44  LS COMUNICAMOS dali 44  0 1 4 Miscelaneos id 44  O A eepotes bees Ste ce se ee age
73. TOGGLE    3    Like the  param directive  you may also embed  link and   importdoc directives in the  item directive  See  section B 5     Function Parameters    for an example     B 7 Grouping Items    Occasionally  you may document several related items such  as a suite of related functions or objects  If you want the  user to see which items are related and be able to easily nav   igate from one item to another  use groups  Start by docu   menting the group itself using the  doc group  lt group  name gt  directive  and add any descriptive body  Next  add  the  group directive to each related item in the group      group  lt group name gt     107    Where  lt group name gt  is the same name used in the  doc  group directive  There may be any number of documenta   tion elements in a group  and a single documentation ele   ment may belong to more than one group      doc group extended drawing functions   These functions draw to the display     doc func DecoratedCircle   group extended drawing functions        documentation as appropriate      doc func TransformAndDraw    group extended drawing functions   group transformation functions        documentation as appropriate     B 8 Hiding Documentation    AutoDoc will generally not display documentation informa   tion on program elements that are not intended for general  use  This includes private methods and properties   hidden  variables  validation functions  and a few other unusual  constructs  Sometimes you may wish to use
74. These include drawing  naviga   tion  keyboard  and data communication and protocol    objects required in all workspaces  This workspace also  includes default resources to communicate to Opto 22 prod   ucts either through a PAC Control strategy  10Control strat   egy  or memory map location  An OptoPACComm object is  included in the workspace by default  Configure this object  to communicate with the Opto 22 controller     PAC Control or ioControl communication only   This option includes the Opto22 ioControl library   Opto_ioControl lib   the Basic library  basic qlib   and the  Extra library  extra qlib   These include drawing  naviga   tion  keyboard  and data communication and protocol  objects required in all workspaces  This workspace also  includes default resources to communicate to Opto 22 prod   ucts through a PAC Control or ioControl strategy  An  10ControlComm object is included in the workspace by  default  Configure this object to communicate with the Opto  22 controller     OptoMMP communication only   This option includes the Opto 22 library  Opto22_1394 lib    the Basic library  basic qlib   and the Extra library   extra qlib   These include drawing  navigation  keyboard   and data communication and protocol objects required in all  workspaces  This workspace also includes default resources  to communicate to Opto 22 products through memory map  addresses  An Opto22_Comm object is included in the  workspace by default  Configure this object to communi   cat
75. To open a workspace  click E on the toolbar  or select  Open Workspace from the File menu  The following dia   log box is displayed       Select workspace to open 22222 workspace to open ax  Look in    C Olarity Foundry   e f amp  EE Ej       J  AppHelp  L AutoDoc  L  auxsupport       3 bdf fonts  Ez documentation  Firmware  L  Samples  Samples old   hvac sample J tutorials   OSI Corporation  uan File name  f y    My Computer   Files of type    larity files    qly  y  Cancel         Workspace files have a  gly extension  All workspace files  in the default folder are listed  change folders if necessary    Click a file to select 1t  and 1ts name 1s displayed in the    File  name    field  Click  Open  to open the workspace  You can  also double click a file name to open it     If you select a workspace that is open in another instance of  Qlarity Foundry on the same computer  a warning appears  indicating that the workspace is in use  If you want to save  the workspace  you will have to save it with a different  name  select Save Workspace As from the File menu  to  ensure that no data is overwritten     4 3 Close a Workspace    Select Close Workspace from the File menu to close the  current workspace and start a new workspace  The follow   ing prompt appears     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Qlarity Foundry xj     2  Save changes to Mew Workspace   9   coe       Click  Yes  if yo
76. _slider      2  In the Properties window  click the Events tab  All  events associated with the object are shown  For exam   ple  the Tank_slider object in eventbuilder qly has one  event     Change        3  Click   next to the event to open the Event Builder  dialog box  The action table lists all actions that have  been configured for the event        Action Description    Serial Transmit       Transmit   Sends tank level out COM1 to your controller   out COM1    2   Set Property Set Slider_label s caption property to Str T ank_slider  value              5 et Property E et Tank_gauge s value property toT ank_slider  value  ME Play Note   Play note  43 for 12 ms   Ea Click to add action v     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     72    The last line of the action table always contains a drop   down list that you use to add a new action to the event     4  Click anywhere on the line to open the drop down list   and select an action  The action and its description are  added to the table     If you want to add a new action in the middle of the  table  or remove an action from the table  right click in  the action line  A shortcut menu is displayed with  options to insert or remove actions     5  Refer to the next section for information on each type  of action and how to configure them     8 4 3 2 Configure Actions  The action drop down list contains the following actions     e Show Screen   e Enable Disable Object  e Set Property   e
77. a container object  e g    tab  screen  etc   to your work area and then place new  objects inside the container  the objects automatically  become children of the parent container object  If an object  is not placed inside a container object  it is linked to the root  container by default     When you collapse the Object Tree  you can quickly iden   tify all objects in the root container  In the following illus   tration  the first two objects  EZBackButton_1 and  EZBackButton_2 are area objects that have been placed in  the root container  The     next to EZScreen_3  EZScreen_1  and EZScreen_2 indicate that they are container objects  with other objects in them  parents with children         Object Tree  aja  Globals  ER   gt  ai Ethernet oby  iat ai backlight down  iat ai backlight_up  iat ai Contrast down    ai Contrast_up  ES a ai  Ev_enable_ecreent  252 af SeralCom2  Th   a senalComt  TP  2 af  MainScreen  iat ai  Tab_diagnostic  e al Tab EZ obj          Click     next to a    parent    container object to see its    chil   dren     as shown below     Object Tree       Ela  Globals  EAS af Ethernet_obj  a ai backlight_dowrn    yf backlight_up  2 yf Contrast_down  2 af Contrast_up  za a ai  Ev enable _screent  TH af SeralCom2  Th   gt  ai  SeralCom   E la i af    MainS creen  Se a  y ev_disable_scrm   af diag_key  2 af EZ obj key  a a MainBackground  Era     i Tab_diagnostic  Ars y DisplayT ab  af backlight_downlbl  af backlight_uplbl  B d   Contrast _uplbl  B ai Contras
78. a theme in which the  specified style is not defined  and you do not specify a style  assignment for that theme  Qlarity Foundry uses the first  specified  lt style assignment gt    lt style assignment gt  has the  following syntax      lt theme name gt    lt value gt      lt theme name gt  represents the name of a theme  such as     standard    or    grayscale_light      lt value gt  is a border style  value      Sstylemap Bdr_ButtonBorder  standard  0x00052025  classic  0x1c022001   Sstylemap Bdr_LabelBorder standard       331783  classic    0    109     stylemap directives are standalone directives and not part  of any other  doc directive  These directives may not be  broken over multiple lines     B 14 Defining Named Colors    You can use the  colormap directive to specify a new  named color element for an object      colormap  lt color name gt   lt color assignment gt       lt color assignment gt        lt color assignment gt      Where  lt color name gt  is a valid Qlarity identifier name that  names the color  Each  lt color assignment gt  defines the color  for a specific theme  If the user selects a theme in which the  specified color is not defined  and the directive does not  specify a color assignment for that theme  Qlarity Foundry  uses the first specified  lt color assignment gt    lt color assign   ment gt  has the following syntax      lt theme name gt    lt value gt      lt theme name gt  represents the name of a theme  such as     standard    or    graysca
79. ace to create a user appli   cation  For information on adding  opening  and saving a  workspace  refer to Chapter 4     Workspaces       8 3 1 Add an Object Instance   You can add object instances to your workspace from the    Object Palette or from the Object Tree shortcut menu  as  explained in the following sections     8 3 1 1 Add an Object From the Object Palette    The Object Palette contains a tab for each library in the  workspace  as well as an All tab and an Other tab  Each tab  has icons for all of the object templates in the library  Click  a tab to select an object from the specified library  The All  tab contains icons for all objects available to the workspace   from all of the libraries in the workspace   The background  color of each icon identifies the library in which the object  can be found  The Other tab contains objects from various  small libraries     Refer to section 3 12 for more information on the Object  Palette     Do the following to add an object instance from the palette   1  Click the icon of the object you want to add     2  Move the mouse pointer to the work area  The pointer  changes to a cross hair     65    3  Click and hold the mouse button and drag the mouse to  draw a rectangle in the work area  then release the  mouse button     Some objects have a default starting size and shape  so  the size of the rectangle doesn   t matter  only its posi   tion in the work area  The size of other objects  such as  a line or rectangle  is initial
80. ake it possi   ble to find a location quickly  which is useful in  objects with several lines of code     Click to open the Add Edit Templates dialog box to  add or edit an object template  Refer to section 5 1      Add Edit Templates    and to Chapter 10     Advanced  Design    for information on creating templates     Click to open the Edit Resources dialog box to add  resources to  or remove them from  the workspace   Refer to section 5 2     Edit Resources    for informa   tion     Pa    fm Click to open the Libraries dialog box to add libraries  to or remove libraries from the workspace  Refer to  section 5 3 for information        Click to open the Qlarity Foundry Preferences dialog  box to define the Qlarity based terminal   s configura   tion and to enter Qlarity Foundry preferences  Qlarity  Foundry attempts to simulate the terminal   s display  area  input type  and so on as closely as possible   Refer to Chapter 6     Qlarity Foundry Preferences    for  information       Click to identify the version of Qlarity Foundry you  are running     3 5 3 Simulation View Toolbar  Deh   taaan    Ly Click to start a new workspace  Refer to section 4 1  for information     Click to open an existing workspace  Refer to  section 4 2 for information     E    E Click to save the current workspace  Refer to  section 4 4 for information       Click to identify the version of Qlarity Foundry you  are running        Click to set or remove a breakpoint while running a  simulation     13
81. alse  enabled   true  font default  keyfont     default  keypteize   10  maxlength 50  pleize 10  shiftstyle   qpk_capslock_shitt  value default    Click an object in the work area  or click its object name in  the Object Tree  to display its properties  If the Properties  window is not displayed  pull down the View menu  and  click Properties Window     NOTE  more than one object selected   If more than one object is selected  only those properties  that are common to all selected objects are shown in the  Properties window  If the same value is assigned to a prop   erty for all selected objects  that value is displayed  If the  selected objects have different values for the same property       lt multiple values gt     appears in grayed text  In either case   setting a value in the Properties window when more than  one object is selected sets the property in all selected  objects to the new value     Properties are the data in an object instance  They are  grouped into categories to help you find and edit a defined  property  Properties are normally grouped into the follow   ing categories     Main   Contains properties that you must set to use the object   These might include enabling the status of the object or the  object   s current value     19    Border and Color  Contains properties that set the appearance of the object     General   Contains properties that are required by the object but are  rarely set in the Properties window  These might include the  position and
82. amming language  Events created  with Event Builder generate Qlarity program code  This  means that 1t is possible to develop events in Event Builder  and then add advanced functionality in Code View  It 1s also  useful if you are learning the Qlarity programming lan   guage to create events using Event Builder and then study  the program code generated  If you modify an event in Code  View and later open the event in Event Builder  your  changes are reflected     8 4 6 Troubleshooting  If you make a mistake while configuring an action  an error    message 1s displayed in red in the    Description    column of  the action table     Description     Missing source property  IEMe an Male c  nee weg Am ge       If any error messages are shown  you will be unable to click   OK  to save and exit the dialog box  In some cases  Qlarity    75    Foundry may not detect the error until you click  OK   In  those cases  Event Builder remains open for you to correct  the error  After you correct the error  click  OK  again  If  there are no more errors  Event Builder closes and the event  1s configured     If you cannot  or do not want to  correct the error  click   Cancel   Event Builder closes and any changes you made  are not saved     Advanced users may click  Edit in Code View  to edit the  object template code to correct any errors  Errors must be  corrected in Code View before you can exit or switch  back to Layout View     8 5 Communication Objects    The Common library  common lib
83. anual        amp  Al T  x     Object Properties  Properties   Events      NavFun    Border and Color       General    HavEcreer   5   113   70   25   false  note_usedetauit      Main  enabled     true    default_bdf  10   Fun     valueon      checked false    _orb_button    b Misc    ww Text Settings     inzet 2    inset fi  4  hjustify center  justify center       Note that the properties are grouped by category  Click the  name of a category to open or close the list of properties in  the category  Refer to section 3 11 for a description of each  category     The first column lists the name of each property  Property  names are defined in the object template  The middle col   umn  optionally displayed  see section 6 2     Layout     lists  the data type of each property  for information only   The  property settings  which you can change  are listed in the  third column     Click the property that you want to change  Enter the new  property setting in the third column  You can enter new  property settings by typing the new information  type over  the default setting  or by selecting from a drop down list or  dialog box     In the following illustration  the property    ezimage    1s  selected  This is the name of the bitmap image used in the  object instance  The drop down list shows all bitmap  images available for use in the object instance  A different  image can be selected by clicking it     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786   
84. ardware User s Manual for Power On Setup instructions     NOTE  if you cannot access the terminal   If you cannot access the Qlarity based terminal  use the     Induce Bootloader    function  refer to section 7 4 4 for  information      7 4 3 Download New Firmware    Do the following to download a new version of the Qlarity   based firmware     1  Select Download Application from the File menu  and  the Download dialog box is displayed     2  Click  Upgrade firmware  to proceed  and the follow   ing dialog box is displayed     OptoTerminal Qlarity Foundry User   s Manual    Select firmware file to download    Look in    Firmware         a G56 2 300 bin 8 G75 _mips_2 300 bin  laa  g55_ 201 3e bin a  G75_xscale_2 300 bin  laa  955_2100testl bin      Z60_mips_2 300 bin   sa  970_2013e bin   laa  G70_mips_2 300  bin   laa  G770_xscale_2  300 bin             File name     A  Files of type    Clarity firmware binary files    bin     Cancel      We       3  Select the firmware upgrade file to be downloaded and  click  Open      A progress graph tracks the download  Messages in the     Results    box indicate whether the download was suc   cessful  When finished  the new firmware version is  shown in the    Results    box    7 4 4 Induce Bootloader   If the firmware on your Qlarity based terminal has become   corrupt and you cannot run the Power On Setup utility  use    the    Induce Bootloader    function to upgrade  or reinstall   the firmware     NOTE  Ethernet connection  If your
85. arent is passed to the handler as a parameter  In most  cases  the handler should merely call the Attach   API func   tion to request attachment to the new parent  This is what  the boilerplate code does     If the object has restrictions on where it can be attached or  what types of objects can serve as its parent  code should be  added to the handler to enforce the restrictions  For exam   ple  the Tabs object in the QSI Common object library can  only attach to a Tab Container object  The  MSG_TOOL_ATTACH handler for the Tabs object  enforces this restriction     After a requested attach is complete  the attached object  receives a MSG_TOOL_ ATTACHED message from Qlarity  Foundry  An objref referencing the new parent is passed to  the handler as a parameter  This provides an opportunity for  the object to update its    parent    property  after the attach  has been completed successfully   The new parent may be  different from the parent that was passed to the Attach    API function in the MSG_TOOL_ATTACH handler     Also  note that the boilerplate handler calls the  Tool_Persist   API function after the parent property has  been updated  The Tool_Persist   function should be called  after any property update in a tool message handler     The last handler included in the non drawable boilerplate  code is the MSG_TOOL_DRAGCREATE handler  When  an object instance is created by selecting the template on the  Object Palette and dragging it into the Layout View display   the ob
86. arity Foundry User   s Manual    ers  Select Call Stack from the View menu to display the  Call Stack window     Call Stack   E  MSG_TIMETICE        setalarm  Global Section line 156     This window only displays information when execution has  paused or stopped at a breakpoint  By default  the call stack  1s not displayed     3 10 5 Watch Window  The Watch window allows you to monitor the value of any    workspace variables  To display the Watch window  select  Watch Window from the View menu  or press  lt Ctrl gt  9      i Mt ate h win d Oa    Sm 1  Eg       GetTime  lt Wariable not Found gt        rowe tue       Type the name of the desired variables in the    Name    col   umn  When execution has paused or stopped at a break   point  the variables    values are shown  If execution is not  within the scope of the variable  no value is displayed     Click T  to show or hide the data type for each variable   3 11 Properties Window  The Properties window displays the properties of the    selected object instance  An example of a keypad object is  shown below     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Object Properties    Sal Ti       Properties   Events             name  LiwerlyRevpad 1    Border and Color  Y General  height Bb  Inactive   false  parent viewtopleft                  note_usedetault e  tone_error note_usedetalt  width 134   pog A  ppoz A    autoclear   false  autohide     f
87. assascobecdscascesecdddecneenss 103  APPENDIX B     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     vi OptoTerminal Qlarity Foundry User   s Manual    AUTODOE SPECIBICA TION N   cui E E E O 105  Bl  Documentation Dec aration art tddi 105  B 22  Documentation BO inicia 105  A PE CO PEE   N A semen nttaceered  105  BAe Mrmr ems a ads 106  Bo   Funcion Ear amele Sasana ic 106  B0 Data Type Elemen Sarrea a E E 107  o O II aN 107  B S Hidins DoctmentaO Mita dias 107  BO A O O PO A scene eae neeattseseaes etna asen tenant miata acto  107  B10 Sample Cod aso aan aed cs seco ata a E E aeaceaaneees 108  BLE PEO Perey ee ale OMS OEA PP 5 o GE II II RENN 108  B 12 Detalles ds 108  Bro  DEM o ad e cea avess 109  B 14 D  tinino Named Col ios 109    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 1    INTRODUCTION    1 1 How to Use This Manual    For instructions on installing Qlarity Foundry     see Chap   ter 2     Installation        To get started using Qlarity Foundry and to learn design  basics  review the following chapters     O Chapter 3     Getting Started      J Chapter 8     Basic Design       To learn more about user application design  refer to the fol   lowing chapters     O Chapter 9     Intermediate Design      J Chapter 10     Advanced Design       Use the following chapters to learn about specific Qlarity  Foundry functions      J Chapter 4     Workspaces     How to start  open  close  save  and use 
88. ate  functions in the  base template are also listed  Existing functions appear in  bold  select one to move the cursor to the function  If you  select a function that only exists in a base template  the  function is added to the template you are currently editing  and overrides the existing function in the template     New Variable   Click  New Variable  to add a new variable to the code sec   tion you are currently editing  A dialog box appears to spec   ify the variable name  data type  validation function  and  any documentation  Refer to section 9 5 1 1 for more infor   mation on adding a new variable using this method     OptoTerminal Qlarity Foundry User   s Manual    Insert at Cursor  Select this option before selecting a new function or vari   able to place the item at the cursor location  If not selected   new functions and variables are added to the end of the cur   rent code section     3 7 2 Object Instance Code    When editing Object Instance code  the navigation bar con   tains the following components     Events   Overrides ha Show only event functions    Events Overrides   Click the drop down arrow to display a list of events that  can be handled  Events that have already been implemented  are shown in bold  Select an item to either add an event han   dler or to position the cursor on an existing event handler    Show Only Event Functions   When this option is selected  only those functions that are  designated as event functions are shown in the Events Over 
89. ated keypad     Key Repeat   Select this option to turn the key repeat feature on  If  selected  a key entry repeats when you click and hold down  the mouse button on a key on the simulated keypad     OptoTerminal Qlarity Foundry User   s Manual    Repeat Delay   If you selected    Key Repeat     enter the delay time  in milli   seconds  that you want between when a key is pressed and  when it begins to repeat automatically     Repeat Rate   If you selected    Key Repeat     enter the time  in millisec   onds  that you want between each repeat when a key begins  to repeat automatically     Automatic Shift Key   When this option is enabled  clicking the Shift key on the  simulated keypad does not register a key press  1t puts the  keypad into the shifted state  If there 1s a shift LED on the  simulated keypad  the LED state is automatically toggled   Subsequent key presses are processed as shifted  When this  option is disabled  clicking the Shift key is processed as a  key press just like any other key     Automatic Power Key   When this option is enabled  clicking the Power key on the  simulated keypad does not register a key press  While press   ing this key on a real terminal would put the terminal in  sleep mode  clicking the simulated key has no effect other  than to toggle the power LED  if present  When this option  is disabled  clicking the Power key is processed as a key  press just like any other key     6 5 3 Serial Port Setup    You can set up Simulation View to s
90. b is created for the    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     50    channel  The tab displays the data that is sent and received  on the channel     On network channel open  switch to its tab   This option becomes available when you select the previous  option  If this option is enabled  each time a network chan   nel is opened  the channel   s tab is displayed     Non printable character   Space character   Newline and carriage return   Enter the character that you want to appear on the screen in  Simulation View when a non printable  space  or newline   carriage return character is encountered  Click  Default  to  enter the default character     Maximum buffer size   Enter the maximum amount of data  in bytes  to be held in  the Communications window buffer  When this number of  bytes is reached  data will be removed from the top of the  buffer as new data appears at the bottom  Click  Default  to  enter the default buffer size     6 5 2 Keypad Settings    This option only applies to applications that use an external  keypad  not a keyboard   Click  Keypad Settings  to con   figure the keypad simulation     Keypad Settings    MT Key Click    errr E E    T Key Repeat    Repeat Delay  540    Repeat Rate fi 20      IY Automatic Shift Key    IY Automatic Power Key       Key Click   Select this option to turn the audible key click on in Simula   tion View  If selected  you will hear a tone or    beep    when  you click a key on the simul
91. bar contains tools that provide quick links to com   monly used Qlarity Foundry functions  The tools available  change depending on the selected view mode  Layout View  or Code View   Refer to section 3 5 for a description of  each tool on the toolbar     Miscellaneous Bar  The miscellaneous bar contains options to select the scale of  the work area  to add an outline to all objects  and to select a        367   8     color and border theme for the objects in the workspace   Refer to section 3 6 for more information on the miscella   neous bar options     Object Tree   Object instances that have been added to the workspace are  listed under    Globals    and object templates are listed under     Templates    in the Object Tree  Some objects may be auto   matically added to a workspace when it is created  including  the following     e ScreenBlanker   blanks the screen after a period of inac   tivity   e ExceptionDisplay   displays unhandled Qlarity Excep   tions    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Work Area   This is the area in Layout View in which you place object  instances to add them to the workspace  The work area sim   ulates the display of the Qlarity based terminal     Object Palette   The Object Palette contains an icon for each object template  in the workspace and in any active libraries  You click the  icons to add new object instances  Move the mouse pointer  over an i
92. bitmap   Before some objects can be added to a workspace  at least  one font or bitmap image must already exist in the work   space  if not  an error occurs   For this reason  it is recom   mended that you include the default fonts and bitmaps     Include extra fonts  To include additional fonts in your workspace  select this  option     Include an error handling object   By default  an error handling object  ExceptionDisplay  is  added to your workspace that identifies and displays  descriptions of any errors in your code  It is recommended  that you include this object in all of your workspaces     Screen Saver   The default screen saver displays a pattern of dancing lines  for a period of time before 1t blanks the display  By default   the display switches to dancing lines after fifteen minutes  and to a blank display after thirty minutes  You can change  the default by selecting a new screen saver from the Screen  Saver drop down box     When you are done  click  Finish  to proceed  The default  workspace name 1s    New Workspace    until you save 1t with    OptoTerminal Qlarity Foundry User   s Manual    a new file name  The Object Palette includes tools to create  all of the objects contained in the supported libraries     NOTE  editing resources   You can add or remove resources and libraries after the  workspace is created using the options on the Edit menu   Refer to section 5 2     Edit Resources    and section 5 3      Edit Libraries        4 2 Open a Workspace    
93. bject to indicate the new  position at which the object will be placed when you release  the mouse button     E of ESB akest_ 7  E q EZB ext 3     EXBOFTest_10       A box appears around a container object as you drag  another object over 1t  If you release the mouse button when  the box appears  the object you are dragging is placed in the  container object         af  E    Rectangle_1    al Pal       If you move a parent object  a container object with chil   dren   the children move with it  You can place a container  object inside another container object     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    To change the Z order of an object within its family  with   out moving it to a different parent   right click the object   either in the Object Tree or in the work area   and select  one of the following options from the shortcut menu     Forward one  Move the object forward one position in the Z order  one  position up the Object Tree      Back one  Move the object back one position in the Z order  one posi   tion down the Object Tree      Bring to front  Move the object to the front of the Z order  top of the list of  children or top of the Object Tree      Send to back  Move the object to the back of the Z order  bottom of the  list of children or bottom of the Object Tree      8 3 2 4 Align Size Space Objects    This option provides several tools for aligning  sizing  and  spacing a gro
94. cccceccesssssseeseseeeseeseseseeeeeseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeseeseeeas 84  9 5 3 1 Add a Global Message Handler From a LliSt           occcccccnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonononnnnnonnnnn nono nono ronca nnnnnanos 85   9 5 3 2 Add a Global Message Handler in the Global Code Section                ccc ceeceseeeeeseeseeeeeseeeseeeeeseeseeeeeeees 85   9 6  Create New Object Template sd att ii 86  OF A db aaawsatueogadeededenonnt a sodacod ade Remade a a a e uecacecteed 87    CHAPTER 10     ADVANCED DESIGN cir A A A AA A A A 89   10 1 Advanced Code SECHONS or ol Sati ooo a aaa 89   TO Advanced Edad dto 89   IA e E N 89   10 2  Validation P UNC NONS ld a e e dci 89   10 3 The Ola APLI is 90   TOE Excepuon Handlino o eea E EE E R 90   103  Greate a New Object Template a a a a A 92   10531  New Template Boilerplate Codos senere e E a aE a ana 93   LOS  Non Dra wable DIES sicn A 95   HARANE E S e a E A canes 95   105 3 Contamer OD jects ias ta 96   10 5 2 Getting New Object Templates to Work in Qlarity Foundry               ccccccccsssssssssssseeceeeceeeeeeeeeceeeeeeeeeeeeeeeeeeess 96   10 5 3 Adding Object Template  Documentation  id 100   10 6 Guidelines for Designing New Object Templates          ooooccccccnnncnnnonnnnnnnnnnnnnnnnnnnnonnnnonononnnnnnnnnnnnnnn nan nnnnnnnnnnnnnnnnnnoss 101   107 Wihere to Go From Here ads 102  APPENDIX A    GLOSSARY OF SOFTWARE TERMS 3 isccsecedcssscssceascsbectetaiesancscuessssncesdesscsusedkadasdenstsedasdesetkusstdecsodessdddeansieec
95. ception level for exceptions thrown by the  application  via the Throw   API function      EXLEV_MIN  This level represents the minimum severity for an excep   tion     The exception type is an error code that describes the cause  of the error  Each exception type is accompanied by a short  text description of the problem  The error code provides a  convenient means for Qlarity exception handlers to deter   mine what error occurred  while the description provides a  readable summary of the exception  The location string  indicates the Qlarity function or system software facility  that was executing when the error occurred  This is useful  for debugging the application     The error codes and descriptions are listed in the    Excep   tion List    of the OptoTerminal Programmer   s Reference  Manual     Exception handling code is supported in the Qlarity pro   gramming language by    check error       on error    blocks   When an exception occurs  the Qlarity execution engine  determines if the offending code is inside a    check error     block  If so  execution immediately jumps to the first state   ment in the    on error    block  If the offending code is not in  a    check error    block  the Qlarity execution engine checks    91    the function that called the current Qlarity function for an  enclosing    check error    block  This process iterates until  either an enclosing    check error    block is found  or the mes   sage handler for the current message is reached  Si
96. ck the starting  color next to the    Fill Icon    label     e By default  click a pixel with the left mouse button to  make the pixel black  click with the right mouse button to  make 1t white  You can also specify colors other than  black and white for each mouse button  as follows     e Next to the    Left Button    label  click the color that  you want to apply when you click the left mouse  button     e Next to the    Right Button    label  click the color that  you want to apply when you click the right mouse  button     e Click An  gt   to move or offset the graphic in the grid   y    However  any pixels with a color other than white are  changed to white when they are moved from the display  area  For example  if you change the default fill to black   and click     twice then click  gt   once  a one pixel wide  white border is added to the right side of the image  Click    a twice and a  once to add a white top border     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    e Click Rever   to return the graphic to its original  design     e Click Invert   to invert the color of each pixel in the  icon     5 13 Rename a Template    In the Add Edit Templates dialog box  do the following to  change an object template   s name     1  Click the template name that you want to edit  It is  highlighted in blue     2  Click  Rename Template    3  Type the new name over the old name     4  Press  lt Ente
97. com  Although you may  wish to modify these guidelines or develop your own  use of  a consistent style will make your object designs easier to  develop  maintain  and use     Use consistent naming conventions for properties and  methods    This is actually part of a consistent style  The QSI Qlarity  style guide lists the recommended names for properties that  are commonly used in objects  Using these conventions aids  the designer when the object is used in an application  it  also increases readability of the object template source  code     Use validation functions    A validation function is the link between an object s proper   ties and its behavior  Almost every property should have a  validation function so that the object can properly respond  to property changes     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     102    Become familiar with the API library   All interaction with the Qlarity based hardware is achieved  through API function calls  You should be familiar with the  functions available and their capabilities     Provide default values for all properties   This provides a predictable starting point for each newly  created object instance     Provide simple to use override functions    Many of the objects in the QSI libraries include simple  override functions that are called from message handlers   Most of these functions are empty by default  but they pro   vide a way for each object instance to determine how it will  respo
98. com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    TRUE to the enabled property  which means that if the  property is not assigned an initial value in the object  instance  the value defaults to TRUE     Finally  the validation function  see section 10 2     Valida   tion Functions     describes the behavior of the object when  the value of    enabled    is changed  The validation function  first does a strict assignment of the new value to the prop   erty then calls the Enable   API function to inform the firm   ware that the enabled status of the object has changed   Calling API functions to implement the effects of a property  change is a very common activity in validation methods     An example of another property found in all versions of the  boilerplate code is the    parent    property  as follows        who do we attach to  dim parent as objref  init parent    default  func parent  newval as objref   parent    newval  Attach  me  parent   endfunc    This code creates a property of type    objref    named    par   ent        Parent    is given a default value of    default     which is  the root container when assigned to objref variables  The  validation method assigns the new value to the property  using the strict assignment operator  then calls the Attach    API function to attach the object to its new parent container     10 5 1 1 Non Drawable Objects    The boilerplate code for a non drawable object template  includes the    enabled 
99. con to display the object   s name  Refer to  section 3 12 for more information     Properties Window   The Properties window is displayed by default  Click an  object instance in the Object Tree or work area and its prop   erties are displayed  Refer to section 3 11 for information     View Tabs   To set up the workspace  you can work in either Layout  View or Code View  Simulation View can be used after you  have created a workspace to simulate the performance of  the workspace objects on the Qlarity based terminal  Click  the Layout View tab or Code View tab at the bottom of the  work area  default location  to change views  Click the Sim   ulation View tab to start the terminal simulation     Layout View is a graphics mode used to lay out the terminal  display  Generally  unless you are making changes to the  programming code  you will work in Layout View     Code View is used to write or edit an object   s programming  code  You will generally only work in Code View if you are  customizing objects or creating your own objects     Refer to section 3 9 for more information on the Layout and  Code Views  Refer to section 3 10 for more information on  Simulation View     Messages and Errors Window   The Messages and Errors window displays any errors or  other messages generated when the workspace is compiled  or during a    debug    operation  These messages can help  you identify and correct problems with the workspace     Status Bar   The status bar shows the status of the
100. ct  templates can be a part of a workspace or supplied through  one or more libraries  The template defines which proper   ties and methods are included in the object     Properties   Variables that are stored in an object and comprise the data  portion of the object  The properties for each type of object  are defined in the object template  but each object instance  maintains its own properties  In Qlarity Foundry  object  properties can be changed in the Properties window in Lay   out View without the need to modify the programming  code  Properties may also be changed at runtime to reflect  the current state of the object     OptoTerminal Qlarity Foundry User   s Manual    Qlarity  A BASIC like scripting language that is used to write user  applications for the Qlarity based terminal     Resources  Bitmap images  fonts  audio files  and binary data files  available for use 1n an application     Root Container   A root level container that uses the global properties and  methods as its properties and methods  The root container is  best viewed as an abstraction  It gives you a place to attach  all other objects  An object that is not attached to a con   tainer object is attached to the root container by default  The  root container is not a true object and cannot be disabled  Its  area cannot be modified  The root container is a launching  point for newly generated messages  This means global  message handlers have the highest priority for receiving  new messages     User 
101. cts as a    single step        Step Out Of  Simulation View only    Select this option to step out of a function call  This exe   cutes the rest of the current function and returns to the call   ing function  It stops on the first executable line outside of  the function call  If there is another breakpoint in the current  function  execution stops there     Pause Execution  Simulation View only    Select this option to stop execution at the next executable  line of Qlarity code  If no Qlarity code is executing  1 e   the  application is idle   execution does not pause until after it  has been started by an event such as a screen touch or time  tick     Clear All Breakpoints  Simulation View only   Select this option to remove all of the breakpoints that were  set     3 4 5 Help Menu    Show Object Documentation  F1    Select this option  or press  lt F1 gt   to view Object Documen   tation  which is a Help file containing information on  library and workspace object templates  as well as func   tions  variables  and APIs in the workspace  Documentation  is included for all libraries provided with Qlarity Foundry   Advanced users can add documentation for object templates  they create  refer to section 10 5 3     Adding Object Tem   plate Documentation    for information      To use Object Documentation  in the Qlarity Documenta   tion index  double click the item for which you want to  view Help  You can also type a keyword in the text box to  search for an item  then double
102. cumenting  Sample code lines begin with the right point   ing double angle quotation mark      character  The easiest  way to generate sample code is to author and test the sample  code  then select the code in Qlarity Foundry  and select     Mark selected code as sample    from the Tools menu     OptoTerminal Qlarity Foundry User   s Manual     doc func Min    param iteml  The first item to be compared   param item2  The second item to be compared   Returns the minimum value of its two  parameters     func PrintMinimum        Print   The minimum value is        str  Min  9 9  Lao      endfunc    The preceding example would print out    lt i gt The minimum value is  7 5 lt  i gt     B 11 Property Categories    When authoring your own objects  you may wish to specify  the category for the object   s properties in the Properties  window  To do this  use the  category directive      category  lt category name gt     The  category directive is only valid when used for a  doc  prop directive   lt category name gt  may be any string that  defines a category title  This will add  lt category name gt  to  the Properties window when an instance of the specified  type is selected  and the property will appear in that cate   gory  All properties that share the same  lt category name gt   appear in the same category in the Properties window      doc prop englishCaption    category Language Data    Defines the caption of this object when the   English language is selected     B 12 Default
103. current work   space   The following dialog box is displayed     Create Compiled Binary  BFF file  ax  Save in    Demo    e    e Ee    7  Audio   J BDFFonts  J Binary  J Bitmaps  Libraries  J TTFonts             Cancel          File name         Clarity application binary files     bff  y     Save as type     3  In the    File name    field  type a name for the BFF file   or accept the default file name  you do not have to type  the extension   The workspace file name with a  bff  extension in place of the  gly extension is used as the  default     4  Click  Save  to generate the BFF file     You can download the BFF file using the  Download Other  BFF  option in the Download Application function  File  menu   Refer to section 7 3     Download a BFF File    for  information     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 5    TEMPLATES  RESOURCES  AND LIBRARIES    5 1 Add Edit Templates    Creating and designing object templates is an advanced  function  which is covered in depth in Chapter 10      Advanced Design     This section provides an overview of  the Add Edit Templates function     Use Add Edit Templates to create a new object template   The new template may be blank  it may contain only boiler   plate code  or it may be based on a library object template   New object templates are added to the Template branch of  the Object Tree  After adding a template  you use Code  View to add or edit your custom programming code     Yo
104. d  enter the code with  which you want to replace it  Click  Find Next  to find the  code  Then click  Replace  to replace it  Or  click  Replace  All  to automatically find and replace all occurrences of the  code  To find only characters matching the entered case   upper or lower   select Match Case     Undo  Select this option to undo the last action performed     Redo  Code View only    Select this option to redo the most recent undone action   This option is only available after you have selected Undo  in Code View     Goto Bookmark  Code View only    Select this option to go to the next bookmark in the dis   played object   s code  Use Set Bookmark to add or remove  bookmarks in an object   s code     Set Bookmark  Code View only    Select this option to add or remove a bookmark in an  object   s code at the cursor location  Bookmarks make it  possible to find a location quickly  which is useful in objects  with several lines of code     Go to Next Message  Code View only    If there are messages in the Messages and Errors window   select this option to select the next message  or the first one  if none is selected  and position the cursor on the line that  generated the message  This applies to messages due to  compile errors  compile warnings  or runtime messages  generated by the Tool_Trace API and runtime exceptions     Add Edit Templates   Select this option to open the Add Edit Templates dialog  box to add or edit an object template  Refer to section 5 1      Add 
105. d Errors window  An example of such a  message is shown below     Error in ButtonTTF_21 line 7  Parse error Error in parameter declaration  Warning in ButonTTF_1 line 7 Missing statements  Function body has no statements    Fl         a       The message includes a description of the error  includ   mg the object and line number where the error  occurred  Double clicking the error message in the  Messages and Errors window takes you to the location  of the error in Code View     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    NOTE  no errors  If there are no errors found during the compile  the work   space 1s automatically returned to Layout View     9 5 Global Code    In addition to method overrides  an application can be cus   tomized by adding variables and functions to the Global  Code space  Global variables can be used to hold data not  stored in objects  Global functions can implement com   monly performed routines that might be shared by many  objects  Also  most messages can be handled by global     message handlers    if desired  Message handlers are special  functions that are called by the system software when the  message that the function    handles    is processed  Refer to  Chapter 10     Advanced Design    for more information on  messages     Since global functions are not overrides  there are few  restrictions on the names  parameters  or return type for glo   bal functions    
106. d feedback about the Qlarity programming lan   guage and the Qlarity based terminal should be sent via e   mail to support qsicorp com  You should also check the  www qlarity com Web site occasionally for software and  documentation updates  new library objects  and support  materials     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     APPENDIX A    GLOSSARY OF SOFTWARE TERMS    API Function   A function that is called from the user application to interact  with the Qlarity based system software  firmware  and  hardware  You use API functions to draw to the screen  ren   der text and bitmaps  send characters to the serial and net   work ports  enable disable objects  manipulate object order  in the hierarchy  perform complex math and so on     Area Object   An object that directly interacts with the terminal display by  drawing something on the display and or processing area   based messages  Examples of area objects include  text  objects  bitmap objects and line objects     BFF File Format   Binary file format  BFF  required for a user application to  run on a Qlarity based terminal  When a workspace is com   piled  it is converted to a BFF format     Container Object   An object that contains other objects  e g  a form or screen    On the Qlarity based display  a container may represent a  portion of the display or all of the display  Whether or not a  container is displayed depends on its position in the object  hierarchy and whether or not
107. d manip   ulation of objects  This chapter provides examples of  programming code written in the Qlarity language  For    additional examples and information  refer to the OptoTer   minal Programmer   s Reference Manual     Nav  creen enabled   false  Funser enabled   false   Introscreen enabled   true  EndGames enabled      Crue     gt        Line  1  Col  1    9 2 2 Objects and Templates    A Qlarity application consists primarily of objects  An  object template defines a new type of object with certain  properties and behaviors  Any number of object    instances     that are based on the object template may be added to an  application     Object templates typically reside in libraries where they can  be used in many different applications  However  templates  can also exist in a normal workspace  When templates are  part of a workspace  they appear at the bottom of the Object  Tree when Code View is selected     A template defines the properties  variables  and methods   functions  for a certain type of object  The properties and  methods in a template completely define the behavior of  object instances that are created from the template  Proper     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    ties may also be assigned default values in the template   These values are used if the object instance does not assign  an initial value to a property  Details on creating templates  are provided in C
108. d or edit an object template  Refer to section 5 1      Add Edit Templates    and to Chapter 10     Advanced  Design    for information on creating templates     Click to open the Qlarity Resources dialog box to add  resources to or remove them from the workspace   Refer to section 5 2     Edit Resources    for informa   tion     Click to open the Libraries dialog box to add libraries  to or remove libraries from the workspace  Refer to  section 5 3 for information     Click to turn on off the    snap to grid    function  If  enabled  this feature forces objects to    snap    to the  nearest grid line when added or moved  The top left  corner of an object   s rectangle snaps to the nearest  horizontal and vertical grid lines when you release  the mouse button     Click to show or hide the    grid     You can display a  grid over the work area to help you more accurately  place and align objects  For information on changing    OptoTerminal Qlarity Foundry User   s Manual    the spacing or color of the grid  refer to section 8 1 3      Drawing Aids        Click to open the Qlarity Foundry Preferences dialog  box to define the Qlarity based terminal   s configura   tion and to enter Qlarity Foundry preferences  Qlarity  Foundry attempts to simulate the terminal   s display  area  input type  and so on as closely as possible   Refer to Chapter 6     Qlarity Foundry Preferences    for  information     Click to identify the version of Qlarity Foundry you  are running     3 5 2 Code
109. default  named color  select the named color you want to restore   and click  Reset color to theme default      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     40    5 5 Edit Named Borders    You can use    named borders    to assign borders to objects   Rather than manually creating a border for each object  you  can assign one named border to any number of objects in  the workspace  All objects assigned a named border will  then have the same border characteristics  When you change  the characteristics of a named border  it is changed for all  objects using that named border     Qlarity Foundry includes several predefined named borders  with each new workspace  e g   Bdr_ButtonBorder   Bdr_LabelBorder  etc    You can create as many additional  named borders as needed for a workspace     The designs for named borders  along with the colors for  named colors  see section 5 4  are set up in    themes     see  section 5 5 1   You can create your own themes and named  borders  and you can edit the predefined themes and named  borders     To create or edit named borders and themes for a work   space  select Edit Named Borders from the Edit menu  The  following dialog box is displayed           Border Designer       x            General Effects   Preview                                               E Bdr_BumpBorder aada cane la New named border    Mea _tutontorde  I  3D Bevel Delete named border  E  Bdr_CheckBoxBorder Rename border  Border Color   
110. displayed when a button is pressed  enter the mes   sage in this text box  A drop down list may appear with  available values  depending on the object selected     Some objects may require additional configuration   such as selecting a color  If additional configuration is  available for the selected object  a E button appears  next to the text box     NOTE  some objects are not compatible   Some object properties are not compatible  If you select an  incompatible value for the target property  an error is gener   ated when you click  OK  and close the Event Builder dia   log box     Serial Transmit  This action transmits data out one of the terminal s serial  ports        Transmit out Serial Fort    Select Serial Fort   COM        Message to Transmit       Sends tank level out COM1 to ae  pour controller              Pause until transmission completed       From the    Select Serial Port    drop down list  select the  communications port on the Qlarity based terminal from  which the data will be sent  If you have only one  select   COM1    For information on entering the number of serial  ports on your terminal  see section 6 1 3      In the    Message to Transmit    box  enter the string to send  out the serial port or a description of the value to be sent   Enable Pause until transmission completed only if you  want the terminal to pause  Generally  you should leave this  disabled as it may decrease performance on the terminal     Play Note  This action sounds a tone on th
111. dollar sign     symbols can be used at the end of the  name     6  Click  OK  to create the new template     Many library templates depend on global code or other  resources in the library  Qlarity Foundry will add these  items to your workspace and inform you of the addi   tional changes in a dialog box  When the dialog box  appears  click  OK  to proceed     7  The template list in the Add Edit Templates dialog  should now include the new template  Click Close to  close the dialog box     Now do the following to edit the new template to your spec   ifications     1  Select Code View  The new template is now listed  under the Templates heading in the Object Tree     2  Select the new template in the Object Tree  The source  code for the template is displayed in the editor window     3  Edit the template source code  Variables declared  inside a template become properties of the template  object  and functions declared inside the template  become the object   s methods  Properties and methods  can be added  deleted  or modified as desired  You can  add properties and methods just as described for the  Global Code space  see section 9 5      4  When you are finished editing the template  click    or select Compile from the File menu to compile the    87    workspace  Any errors in the new source code are iden   tified by messages in the Messages and Errors window   If no errors are present  the compiled workspace is  returned to Layout View     Notice that the Object Palette c
112. ds  Add  delete   or modify properties and methods as desired     When you are finished defining the template  click     or select Compile from the File menu to compile the  workspace  Any errors in the new source code are iden   tified by messages in the Error Messages box  If no    12    93    errors are present  the compiled workspace is returned  to Layout View     Notice that the Object Palette contains a default icon  representing the new template     To edit the icon or change the name  click on the  toolbar  or select Add Edit Templates from the Edit  menu  Click the template name in the Add Edit Tem   plates dialog box  then click  Edit Icon   Refer to  section 5 1 2     Edit a Template Icon    for more informa   tion     10 5 1 New Template Boilerplate Code    The new template boilerplate code can be used as a founda   tion for building new objects  Using the boilerplate code can  greatly simplify the creation of new objects  This section  provides an overview of what the boilerplate code is and the  functionality it provides  The actual boilerplate code gener   ated by Qlarity Foundry is continually being improved and  may differ from the code described in this section  The  functionality  however  is mostly the same     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     94 OptoTerminal Qlarity Foundry User   s Manual    e  Olarity Foundry 2 501  File Edit wiew Tools Help    O Hgm      9  0demo  gly   LaserPolyoon    A fl AM A      Mo E
113. e  to change  the value of a property in another object  The property to set  is the action that results from the event         Set to this Value     Use the value of this object property    DEEE Tank slicer E  Property    float    Property to Set    Object   Tank_gauge    Property   value                           Use this explicit value      El    In the    Property to Set    section  select the target object   object to be changed when the event takes place  such as  moving a gauge  from the    Object    drop down list  From  the    Property    drop down list  select the target property   property to be changed by the action      In the    Set to this Value    section  use one of the following  options to set the value for the property     Use the value of this object property   Select this option to use the value of a specified object  and property  Then select the source object from the     Object    drop down list and the source property from  the    Property    drop down list  In the example above   the target and source properties both use the    value     property  but any compatible property can be used  For  example  if the target object is a label  you might select  the    caption    property     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Use this explicit value   For some properties  you may need to enter or select an  explicit value  For example  if you want your own mes   sage 
114. e Move  Resize and Reorder Objects    e Change an Object   s Properties    Event Builder   e Overview of Event Builder Steps   e Event Builder Dialog Box   e Select and Configure Actions   e Load Event Builder Sample Workspace  e Qlarity Code and Event Builder    e Troubleshooting    Communication Objects  e Serial Objects  e Ethernet Objects    e Receive Data  Test the User Application  Save and Compile a Workspace    Download a User Application    8 1 Prepare Qlarity Foundry for  Application Design    This section provides information on how to set up Qlarity  Foundry before you design a user application  Begin by  opening Qlarity Foundry and starting a new workspace   Refer to Chapter 3     Getting Started    for information     8 1 1 Basic Design Layout    You work only in Layout View to create a basic design   You should keep the following Qlarity Foundry windows  open  as you will use all of them    e Toolbar   e Properties window   e Object Palette    e Object Tree    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     60 OptoTerminal Qlarity Foundry User   s Manual    g Olarity Foundry 2 501   a70demo  gly   Globals  File Edit View Tools Help     0  Bi   5   8208 2                                                                   1 Object Palette E Ea      fe  EERE y    Cam Basic Y DataProc Y Extra       ES   af WatchdogT imer i   Select display theme Qlarity o l  A af ExceptionDisplay Rea        aE e   TouchkillnfoLbl ae v L   a af  InfoLb
115. e Templates branch of the Object Tree  and click  Add Edit Templates on the shortcut menu         OptoTerminal Qlarity Foundry User   s Manual    Add   Edit Templates      Base Template    Template    2  Click  New Template  and the following dialog box is  displayed     New Template Wizard             Create a template ready to operate in  Olarte Foundry     f Create a completely blank template     Copy the code of an existing template in a  library       Extend  inherit  a template from an existing  template in a library     Template name   TabContainer_derived    Based on        SBT abContainer    3  Select    Extend  inherit  a template from an existing  template in a library        This option is used to create a new object template  based on the programming code from an existing  library object  When you select this option  a    Based  on    box replaces the    Object type    box     4  From the    Based on    list box  select the existing library  object on which you want to base the new object tem   plate     5  In the    Template name    box  type a name for the new  template  Each template in the workspace must have a  unique name  A template name has no size limitation  but must start with a letter or underline character  _   A  name cannot contain spaces but may contain the under     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    line character or pound sign      The percent     and  
116. e communications in  Qlarity Foundry and at the terminal and prepare the termi   nal for download     For information on setting up communications  refer to  section 7 1     For information on preparing the terminal for downloading   refer to section 7 2 1     For information on downloading a user application to the  terminal  refer to section 7 2 2     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     78    OptoTerminal Qlarity Foundry User   s Manual    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 9    INTERMEDIATE DESIGN    Chapter 8     Basic Design    introduces some basic applica   tion design techniques using Qlarity Foundry  It also pro   vides information on Qlarity Foundry   s Event Builder   which can be used to add events to your applications with  no programming  While this is enough for many applica   tions  if you require very complex  flexible  or custom  applications  you will want to have some Qlarity program   ming skills     To assist you with intermediate design and help you get  started with Qlarity Programming  this chapter provides  information on overriding object functions to change the  object   s behavior and discusses adding global code and cre   ating new object templates based on templates that already  exist in libraries  By applying a small amount of program   ming  you can add a great deal of flexibility and power to  your applications     Before proceeding  you should b
117. e familiar with the con   cepts presented in Chapter 8     Basic Design     Also  this  chapter includes many references to the OptoTerminal Pro   grammer   s Reference Manual  The OptoTerminal Pro   grammer   s Reference Manual will provide an invaluable  resource to you as you learn intermediate Qlarity design and  eventually  advanced Qlarity design as explained in  Chapter 10     This chapter covers the following information     Viewing the Code    Understanding Qlarity for Intermediate Design  e Qlarity Programming Language    e Objects and Templates    Qlarity Code for Objects  e Property Initializations    e Method Overrides    Handling Events With Qlarity Code  e Override an Object Method    Global Code   e Add a Global Variable to a Workspace   e Add a Global Function to a Workspace   e Add a Global Message Handler to a Workspace    Create a New Object Template    9 1 Viewing the Code    To view and change the Qlarity code for an object  select  the object in Layout View or in the Object Tree and then  click the Code View tab at the bottom of the work area  see  section 3 9     Layout and Code Views      In the illustration  on the next page  the    global    code for an example work   space is shown  The Messages and Errors window at the  bottom shows any compiling errors that occurred during the  last compile     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     80    e  larity Foundry 2 501  File Edit View Tools Help    O e E e Fo    
118. e libraries include the following types of objects     e Container objects with tabs or buttons to switch from one  screen to the next  Basic library      e Area objects with event functionality  all libraries   Refer  to section 8 4     Event Builder    for information on con   figuring objects to respond to events     e Communication objects  Data Processing library   Refer  to section 8 4     Event Builder    and section 8 5     Com   munication Objects    for information on using communi   cation objects to send data to another device through the  Qlarity based terminal   s serial or Ethernet port     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    The Qlarity Foundry libraries are continually being added to  and improved  You can obtain the latest libraries at QSI  Corporation   s Web site  www qsicorp com qlarity   Also on  the Web site you will find descriptions of the objects  included in the libraries     8 2 Understanding Qlarity for Basic Design    Before you can effectively design a user application  you  need to understand some basic Qlarity concepts  which are  explained in the following sections    8 2 1 Workspaces and User Applications   A workspace is a Windows based file created in Qlarity  Foundry that is compiled into a user application  Work   space files are stored as plain text and typically have a  gly    file name extension  User application files have a  bff exten   sion 
119. e terminal s speaker     Play Mote on Speaker    Hote e q   E  Duration je            73    Select which note to play at the    Note    field  Valid values  range from    very low pitch  to 86  very high pitch   The  standard beep when a button is pressed is 30  Selecting O  generates no sound     At the    Duration    field  select the duration of the note in  milliseconds  The standard button beep lasts 100 ms  Refer  to the OptoTerminal Programmer   s Reference Manual     PlayNote    section for more information     Set Contrast    This action changes the level of contrast on the terminal  screen when the event occurs     Adjust Contrast          Contrast Lighter    C Contrast Darker    For example  you might use this action to provide a contrast  adjustment in case the display becomes difficult to read   Create two buttons  one for lighter contrast and one for  darker contrast  Each event  e g   button press  changes the  contrast one step lighter or darker     NOTE  contrast level temporary and TFT displays  The contrast level set with this action is not permanent   When the terminal is reset  it reverts to the default contrast  level  If you want to save the contrast level  use a  DisplaySettingV2 object  Terminals with TFT displays  ignore this command as TFT displays do not support a con   trast setting     Set Backlight  This action brightens  darkens  turns off  or turns on the dis   play backlight     Adjust Backlight       f  Backlight Lighter    Backlight Darker 
120. e the tools available on the  toolbar in Layout View  Code View  and Simulation View     3 5 1 Layout View Toolbar  De GB eB ORAM Ala        y Click to start a new workspace  Refer to section 4 1  for information     ge Click to open an existing workspace  Refer to  section 4 2 for information     EH Click to save the current workspace  Refer to  section 4 4 for information     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     12       DA    En     Click to compile the current workspace into the for   mat required for a user application  A workspace also  must be compiled to properly display in Layout View   Refer to section 4 5 for information on compiling a  workspace     Click to open the Download Application dialog box   Refer to Chapter 7     Download Software to the Ter   minal    for information     Select an object in the work area  then click   e to cut  the object from the workspace  The object remains in  the Windows buffer until replaced by another    cut    or     copy    operation     Select an object in the work area  then click to  make a copy of the object  The object remains in the  Windows buffer until replaced by another    cut    or     copy    operation     Click to place a cut or copied object in a new location  in the same workspace or in a different workspace     Click to undo the last action performed   The Undo  buffer is cleared after the workspace is compiled      Click to open the Add Edit Templates dialog box to  ad
121. e with the Opto 22 I O unit     Create workspace like the last one created   This option appears if you have previously created a work   space  Select this option to create a workspace containing  the same libraries and resources that were in the last work   space created     Click the workspace type that you want to use  and click   Finish  or  Show Options   depending on the workspace  option you selected      If you click  Show Options   the following dialog box is  displayed     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     24    Select any additional items to add to the workspace     Add additional items to your project    Note  Some objects require that at least  Include a default EDF  raster  font ome font or bitmap be included in the    Include a default Truel ppeltm  font workspace  Creating such an object    Include a default bitmap without including E a a  causes an error For additional fonts an   me   i   Include extra fonts bitmaps  select Edit Resources from the   Edit menu    Include an error handling object    Screen Saver   Dancing Lines       Select additional object libraries No library selected    Basic  glib  C  DataProc   glib  Extra  glib  C  Modbus 2  glib   C  multilingual  glib  Opto22 PAC  glib       irtualG larity  qlib       Tour project is now ready  Select any addition options for your application  then  press Finish           This dialog box allows you to  add or remove resources     Include a default font and 
122. ear List      Welete tem       Enter an IP address in the text box at the bottom of the dia   log box and click  Add   The address is added to the list  In  the same manner  add each address to which you want to  download  Select an address in the list  and click  Delete  Item  to delete an address  Click  Clear List  to remove all  of the addresses from the list  Click  OK  when you are  done     Recently Used IP Addresses  Select a recently used IP address from the drop down list to  insert 1t in the    IP address of unit    box     7 2 Download a User Application    When you download a workspace to your Qlarity based ter   minal  1t is automatically compiled into binary file format   BFF  for use as a user application on the terminal     The following sections describe how to prepare your Qlar   ity based terminal for downloading and how to download  the user application     OptoTerminal Qlarity Foundry User   s Manual    7 2 1 Prepare the Terminal for Downloading   You may need to set up the Qlarity based terminal for  downloading using the terminal   s Power On Setup utility   Refer to the OptoTerminal Hardware User s Manual for  information on using Power On Setup     7 2 2 Download the User Application  Do the following to download a user application to the ter     minal  refer to the previous section for information on pre   paring the terminal for download      1  Select Download Application from the File menu  and  the Download dialog box is displayed     E Download
123. ects  such as the  Screen object in the common lib library   A container object  may occupy part of the terminal display or the full display  area  You use container objects to define an association  between objects and to indicate how they are displayed  All  objects in a container process information as a group  Con   tainers are often stacked and identified with tabs     8 2 3 Parent Child Relationships    Qlarity allows you to group objects together  How objects  are grouped determines how information is processed  mes   saging  and how the terminal screen redraws  The complex   ity of your user application determines how much you need  to group objects  Grouped objects have a    parent child     relationship  with the parent always a container object and  the objects inside the container the children     Each user application starts with a    root container     Though  invisible  it is the container in which you place all other  objects  The following illustration shows a root container  with several objects in it     Root Container    Container Object Container Object    Object Object    Object    Object  Object    Object linked to Root Container       In this illustration  two container objects plus another object  are linked to the root container  In addition  each container  object has objects linked to it  which are referred to as its  children     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     64    In Qlarity Foundry  when you add 
124. ects are the same height     8 3 3 Change an Object   s Properties    Each object has properties that help define the object  instance  Click an object in the work area  or click an object  name in the Object Tree  to display the Properties window   If the Properties window is not displayed  pull down the  View menu  and click Properties Window     The default properties for an object instance are defined in  the object template from which the object instance was  added  You can change any of the default properties for an  object instance to create a unique object that meets your  requirements     Properties that are common to almost all objects include     e Object name   e Enable disabled status   e Parent specification   A wide range of additional properties vary depending on the   type of object  For example  some typical properties for area   objects include    e Size     height    and    width          e Alignment     xalign    and    yalign       e Color  for borders  fill  foreground  background  font   etc      e Font  for a text area object     e Position in display     xpos    and    ypos     where both posi   tions start at the top left corner of the parent object  The     xpos    value increases right     ypos    increases down      For specific information about any QSI library object  open  Object Documentation   lt F1 gt       The following illustration shows an example of the Proper   ties window for a button object     OptoTerminal Qlarity Foundry User   s M
125. ed in the Natives library     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    E dit Library Xx  Path  le    program hles qs corporation tglarnte foundry  natives  lib    Hame   Standard Icon Foreground   Icon Background   E  Version   2 10    Warning  Any changes you make to libraries  may affect  other projects  Additionally  any changes will take effect  immedediatel and cannot be undone     Version Edit Entry          3D Colors Source MEE  Absolute alues Source Rename Entry    AggregateSuppart Source   BoilerFlateC ont Source Remowe Entry    e tsp AN ALE AA   EollerPlateO by SOUICE Set Entry Version    Draw sD Rect Source   ForrnatFunctions Source   IP Support Source   Notes Source Add New Entry    Skingra  Source   Text  ligniment Source   Textlonstants Source   TexthultlineB DF Source   Texthtultiline TTF Source   Text5inoleLineB DF Source          37    Path  le    program iles qe corporation glanty foundry core  glib  ghide       Name  Icon Foreground   Icon Background   O  Version  2 20 Warning  Any changes you make to libraries  may athect    other projects  Additionally  any changes will take effect    immedediatel and cannot be undone   Edit Erit      Version              _megBanner Source 0 00   timer Coordinator Source 0 10 Henane Entry  coreButtor Source 0 00   coreCommbkabel Source 2 20 Hembve Et  coreCormmanication Source 2 10   coreD ataLogger Source 220 Set Entry Version  coreE d
126. een for a QSI standard touch key legend   enable if  also be different  This is the result of ongoing improve  you are using a touch key legend  disable if you are not      ments to Qlarity Foundry libraries  l T   l  ety  y e Simulation setup  volume in Simulation View and Com     munications window defaults  The Communications  window simulates the data received and sent via the com   munications port     8 1 2 Simulate the Terminal Display    Qlarity Foundry requires information about the display con   figuration of your Qlarity based terminal to simulate it  accurately in the work area and in Simulation View  The  settings required for this include the following     Click  gt  on the toolbar  or select Settings from the View  menu     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    The Qlarity Foundry Preferences dialog box is displayed         Glarity Foundry Preferences        Terminal   Layout   Editor   Compile   Simulation      Hardware Configuration Assistant    Base Terminal  OTERM G70      Display Setup    Impr  Keyboard     Keypad            Select      Communications   pa of serial ports  2    Misc     Manufacturer ID  MID  65535      IM TouchScreen        Dimensions  320g 240 OOO    Onentation    Landscape     Display Type      Color a    M Audio Decoder  I  Ethemet              Tabs are available to define your Qlarity based terminal  display  to define the layout of the Qlarity Fo
127. el  button 3D  event timer   form  line  etc    The objects are listed in Z order  see  Appendix A     Glossary of Software Terms         but you can  move an object up or down the list using drag and drop     The Object Tree also contains icons that can be used to  show hide or lock unlock an object instance  as follows        Click to show  eye open  or hide  eye closed  the      object instance in the work area  This is useful if you  have objects    stacked     You can hide an object if you  want to see an object that is behind it       This icon indicates objects that have no display repre   sentation and are never displayed  generally serial or  Ethernet objects      Click to lock  lock closed  or unlock  lock open  an  object instance  When an object is locked  it cannot  be changed or moved with the mouse     E  Eo    15    3 8 1 Globals    In Layout View  default view   you see only the Globals  branch of the Object Tree  Under the Globals branch  all  object instances defined for the workspace are listed     E  Ela  Globals  EE   af W atehdogTimer  A iat af ExceptionDisplay  ET    af  TouchkillnfoLbl    E TimerkKilllnfoLb          Ea af  InfoLbl    af FullScreenColorLbl         gf  FTPServer     af  HideFullScreenColorLblT imer  af GwertyKeypad   af  TranslucentColorPicker  af BacklightD ownBtri   al  BacklightlUpE tn   al  Contrast ownBtn   af Contrast pBtn   af  EndGames   af HelpSideB uttonsS cr  af GraphicsScr   4 SplashScreen   fy ObjectsScr   fq Diagnostics cr
128. elect a theme for the colors and borders of the objects in  the workspace  click the drop down arrow and select the  theme you want to use from the list  See section 5 4 and  section 5 5 for information on themes     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     14    Code View Misc  Bar    EN  No Error        This box indicates if the selected line of code contains an  error     3 7 Navigation Bar  Code View only     The top of the Code View window contains a navigation bar  to aid in code development  The contents of the navigation  bar may vary based on the section of code you are editing    3 7 1 Global  Template  or Library Code    When editing Global  Template  or Library code  the navi   gation bar contains the following components     Message Handlers       Existing functions     New Variable    C  Insert at cursor    Message Handlers   Click the drop down arrow to display a list of valid message  handlers in the current code section  Message handlers that  have already been implemented are shown in bold  Select a  message handler to either add it to the selected message or  to move the cursor to the selected message handler if it has  already been added  Refer to section 9 5 3 for more infor   mation on message handlers     Existing Functions or Existing and Inherited Functions  Click the drop down arrow to display a list of all existing  functions in the current code section  If you are editing a  template that extends another templ
129. element name gt      lt alternate text gt      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     106    This will insert a link to the documentation element speci   fied by  lt element type gt  and  lt element name gt   The optional   lt alternate text gt  specifies the text that will appear in the  documentation      doc prop comPort    Specifies the com port used for   communication    The value of this property will be passed to   the    link func Transmit      APT Fun  tion    doc prop resetNow       Setting this property to true will cause    the terminal to reset as 1f    link func SoftReset SoftReset  RESET NORMAL    had been called    B 4 Importing Items    You can import all or part of the documentation from one  item into another item  This differs from linking in that the  documentation is directly displayed as part of the item  rather than indirectly displayed via a hyperlink      importdoc  lt element type gt   lt element name gt        lt import what gt    indent   box   f111      This imports the documentation from  lt element type gt   lt ele   ment name gt  directly into the documentation for the current  item   lt element type gt  of    group    is not supported  The  items after the optional   sign control exactly how the  import is handled      lt import what gt  is one of the following items     none  No import will occur     all  The specified item will be imported in its entirety     decl  Only the declaration line for the 
130. emp  nevrral   as float   clemp i  newmral  updatecurtemp i    endfunoc   func ctemp    newval as float  index as integer   ctemp  index     newval       3 10 Simulation View    Simulation View 1s used to simulate  with some limitations   the operation of a user application after it is downloaded to  the Qlarity based terminal  Both touch screen and keyboard  actions are simulated  On a simulated touch screen  for  example  you can activate a button by clicking 1t with the  mouse  When you click it  the programmed action occurs   In the following illustrations  the mouse pointer  a hand  is  positioned over the activated button     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    i    Lighting    View  HVAC    view    security    i    HVA View    Lighting    Temperature    Cur zt  Z  onz  temp tenp    1   70 37 A 0   3   9c oo lee ce    All zones are at  optimal  temperature       NOTE  required settings for simulation   To effectively simulate a Qlarity based terminal  you need  to define the terminal   s hardware in Qlarity Foundry   including whether you use a touch screen or keyboard  Use  the    Settings    option to define the terminal   s hardware and  to set the simulation   s volume and display functions  Refer  to Chapter 6     Qlarity Foundry Preferences        17    3 10 1 Serial I O Support    Simulation View partially supports serial I O using the  Communications window  bottom left c
131. end and receive appli   cation data through a serial port or ports on your computer   Use the serial port setup to set up the computer   s ports to  simulate the serial ports on the Qlarity based terminal     The terminal   s available serial ports are listed   For informa   tion on entering the number of serial ports on your terminal   see section 6 1 3   To specify the PC port that you want to  use for the simulation and to set up the port   s configuration   select the terminal port from the list  and click  Modify  Serial Port Settings   or double click the port   The follow   ing dialog box is displayed     Simulation Port Settings           Setup terminal senal port con  for simulation     15200         Data Format  0 7   on    Flow Control   Mone      Simulate on   lt None gt  CS    PC Seral Port    Baud Rate           Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Baud Rate  From the drop down list  select the initial baud rate of the  PC port selected in    Sim on PC Port        Data Format  From the drop down list  select the data bits  parity  and  stop bits of the PC port selected in    Sim on PC Port        Flow Control  From the drop down list  select the flow control of the PC  port selected in    Sim on PC Port        51    Simulate on PC Port   From the drop down list  select the serial port on your PC  that you want to use to transmit data in Simulation View  If  this option is 
132. enu to compile the current workspace into  the format required for a user application  Compiling is also  required to update modifications made in Code View before  they can be seen in Layout View  However  if you make  changes in Code View and then switch to Layout View  the  program compiles automatically     If the compile is successful  the program displays the appli   cation in Layout View  If any errors occur during the com   pile  the program switches to Code View and the error  messages are displayed in the Compile dialog box  Double   click an error message to go to the location of the error in  the code  You can also select Goto Next Message from the  Edit menu to select the next error message and view its  location in Code View     4 6 Generate a BFF File    Use this function to save a Qlarity workspace file to binary  file format  BFF   which is the application format required  by the terminal     When you use the    Download Application    option to down   load the current workspace to the Qlarity based terminal   Qlarity Foundry automatically compiles the workspace into  a BFF file  however  the BFF file is not saved     To save a workspace   s BFF file so that you can download it  at any time without loading the workspace in Qlarity  Foundry  do the following     OptoTerminal Qlarity Foundry User   s Manual    1  Load the workspace that you want to save to a BFF file     2  Select Generate  filename  bff from the File menu   where  filename  is the name of the 
133. erencing or changing the terminal   s communication  settings  refer to the OptoTerminal Hardware User   s Man   ual     7 1 1 Serial Port Settings    Click the Serial tab to set up a serial port     Serial   Ethernet             Port ate    Baud rate   115200     Data Format  en       Send string over senal connection      nt  ae   Induce    Set unit time bootloader    Port  From the drop down list  select the port used to communi   cate with the Qlarity based terminal  e g   Com1      Baud rate  From the drop down list  select the baud rate for the port   e g   115200      Data Format  From the drop down list  select the data format for the port   e g   8n1      7 1 2 Ethernet Port Settings    Click the Ethernet tab to set up an Ethernet port     Cerial Ethernet      Download via ethernet    IP Address of unit  255   255   255   255      Download to multiple IP addresses    Recently used IP addresses    E       Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     54    IP Address of Unit   Enter the IP address assigned to the Qlarity based terminal   or select it from the drop down list of    recently used IP  addresses        Download to Multiple IP Addresses   If you want to download a user application to multiple ter   minals on the network  select this option  Then click the   Select IP addresses  button that appears  The Setup IP  List dialog box appears     Setup IP List    255 222 212 121  255 255 211 122  255 255 255 255       Cancel    Cl
134. erminals     Bitmap Size    The size of a bitmap image is normally shown as the num   ber of pixels in width by the number of pixels in height   e g   25 x 10   The standard Qlarity based terminal display  is 320 pixels in width by 240 pixels in height  320 x 240    Therefore  you can easily determine what size to make your  bitmap images so they will be in proportion to the size of  your terminal  Refer to your Qlarity based terminal specifi   cations for its exact size     Transparent Background    You can specify that a color in a bitmap image become  transparent in the workspace  If you want the background of  a bitmap image to be transparent in the workspace  make  the background a color that is not used in the bitmap  then  select the background color as the transparent color in the  bitmap object properties in Qlarity Foundry  Bright magenta  and bright green are often used as transparent background  colors     5 2 7 Fonts    Qlarity based terminals support BDF  raster  and TrueType  fonts  Use the following guidelines to help you determine  which fonts to use in a workspace     Scalable and Non scalable Fonts    BDF  raster  fonts are non scalable  which means that you  need to load a separate font file for each point size  e g    Arial 8  Arial 14  Arial 20  etc    TrueType  TT  fonts are  scalable  which means that a single font can typically be  scaled to several different point sizes     Rotating a Font   A TT font can be rotated to any angle  A BDF font can only 
135. esults    box  as shown below     Error setting clock        Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     58    OptoTerminal Qlarity Foundry User   s Manual    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 8    BASIC DESIGN    You can use Qlarity Foundry to design a user application  using library objects and or existing object templates  This     basic    design requires no special programming skills     This chapter provides instructions for using Qlarity  Foundry to design a user application using only the objects  and templates provided  as well as information on the basic  concepts of the Qlarity programming language     All Qlarity Foundry users should review and become famil   iar with the information in this chapter  If you want to learn  more about using Qlarity Foundry and Qlarity program   ming  you can then proceed to Chapter 9     Intermediate  Design    and Chapter 10     Advanced Design        This chapter provides the following information     Prepare Qlarity Foundry for Application Design  e Basic Design Layout   e Simulate the Terminal Display   e Drawing Aids  Zoom  Grid  Snap  etc     e Add Remove Resources    e Add Remove Libraries    Understanding Qlarity for Basic Design  e Workspaces and User Applications   e Qlarity Objects   e Parent Child Relationships   e Z Order   e Events and Messaging    e Enabled Disabled Objects    Design a User Application  e Add an Object Instance  
136. fault  library  code entries are locked and may not be edited  To unlock a  library code entry  click the lock icon next to the entry  name  To aid in debugging a workspace  software break   points can be set in the library code     10 2 Validation Functions    Validation functions are special functions that are closely  associated with object properties or global variables  When  a property is assigned a value using the validation assign   ment operator      the associated validation function is  implicitly called and passed the new value as a parameter   This facility allows objects to appropriately respond to    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     90    property changes  Validation functions are also called when  certain API functions  such as Val   and SetObjProp    are  used to assign a value to a property     Validation functions are also useful for assuring that the  new value is valid or within an appropriate range  hence the  term    validation function         To associate a validation function with a property  the func   tion must have the same name as the property  In almost all  cases  1t must take a single parameter of the same data type  as the property  The name of this parameter can be any legal  Qlarity variable name  but it is good style to use a common  name for all your validation functions  see section 10 6      Guidelines for Designing New Object Templates      Valida   tion functions should not have a return 
137. finition gt       Where  lt column definition gt  has the following format       lt column name gt    lt column data type gt    lt min  value gt    lt max value gt    lt column  width gt    lt default value gt           In  lt column definition gt  most items are optional  but if you  omit an item or include an item later in the list  you must  include placeholder commas   lt column data type gt  may be  one of  string  integer  boolean  byte   unibyte  float  or color   For example    Provides a grid with a single column for  string entry    flags Enter List Type some strings  List  Item string      Provide a grid with several columns    flags Enter Data Enter the title  min  value  and color for each display  element   Item Title  string   200 Minimum  Value  integer 0 100  50  Item   COLOr  COLO  e507    In the first example  a single column is defined for string  entry  In the second example  three columns are defined  a  string column called    Item Title     which is 200 pixels wide   an integer column titled    Minimum Value    in which values  between 0 and 100 are accepted for entry  the column will  have a default width  based on the column title   and the  default value for the integers will be 100  and the final col   umn     Item Color     will be of default width  and its type is  color  There are no restrictions on what colors may be  selected  but the default color is 3  blue      B 10 Sample Code    You may specify sample Qlarity code for any item you are  do
138. g a resize grip within Qlarity   gt      Foundry  handleNum is the index into the   gt      arrays that were returned by the handler   gt      for MSG_TOOL_GETHANDLES  You should   gt      return true from this function   func ToolMoveHandle  handleNum as   gt   reference to integer  dx as integer  dy   gt   as integer    handles MSG_TOOL_MOVEHANDLE    dim newX  newY  newWidth  newHeight    gt   tmp as integer   newX    xPos   newyY    yPos   newWidth    width   newHeight    height    if  handleNum    0  then  newX    xPos   dx   newWidth    width   dx   newY    yPos   dy   newHeight    height   dy  elseif  handleNum    1  then  newY  lt   yPos   dy   newHeight    height   dy  elseif  handleNum    2  then    99    newY    yPos   dy   newHeight    height   dy  newWidth    width   dx  elseif  handleNum    3  then  newWidth    width   dx  elseif  handleNum    4  then  newWidth    width   dx  newHeight    height   dy  elseif  handleNum    5  then  newHeight    height   dy  elseif  handleNum    6  then  newX    xPos   dx   newWidth    width   dx  newHeight    height   dy  else   newX    xPos   dx   newWidth    width   dx   endif    if  newWidth  lt  1  then    newX    newX   newWidth      1  newWidth       newWidth   2  tmp   handleNum mod 4   if tmp    O then   handleNum   handleNum   2  elseif tmp    2 then  handleNum   handleNum  2  else   handleNum    handleNum   4  mod 8  endif   endif    if  newHeight  lt  1  then    newY    newY   newHeight   1  newHeight      newHeight   2
139. g options are available     None  AutoHelp will not offer assignment and parameter comple   tion assistance     47    Standard   AutoHelp will appear whenever it seems likely hat you are  editing the right hand side of an assignment or a parameter  to a function or method call  and AutoHelp has information  about the current context     High   AutoHelp will always attempt to appear when the cursor is  in the context of the right hand side of an assignment or a  parameter to a function or method call  and AutoHelp has  information about the current context     AutoHelp for assignment and parameters will always dis   play constant values for user defined data types  You can  also configure AutoHelp for assignment and parameters to  display additional items  if desired     6 3 8 4 Show Global Variables and Functions    Select this option if you want AutoHelp to add appropriate  global variables and functions with return values to the lists  displayed     6 3 8 5 Show Object Properties and Methods    Select this option if you want AutoHelp to add object prop   erties and methods to its lists  This option may make the  completion list quite large     6 3 8 6 Show for Built In Data Types    By default  AutoHelp does not show completion results for  built in data types  such as integer and float  Select this  option if you want AutoHelp to show the completion results  for built in data types     6 3 8 7 Fade AutoHelp Tips     Only available in Windows 2000 and Windows XP   Select  t
140. generates an exception   An application may also throw an exception when it detects  a problem  The Qlarity exception handling system allows  the exception handling code to be localized to a convenient  location  either within an object template or for the applica   tion as a whole  This section describes the facilities that  Qlarity provides for generating and handling exceptions     An exception is generated in one of two ways  the system  software throws an exception if it detects a problem  or the  application can throw an exception for any reason  The  application exception is thrown with a call to the Throw    API function     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Each exception carries certain information regarding what  occurred and where  This information includes an exception  level  an indicator of severity   an exception type  a location  where the exception occurred  and a brief explanation of the  error     The exception level can assume the following values  in  order of decreasing severity      EXLEV_COMPILER  This level indicates a serious error most likely caused by the  Qlarity compiler     EXLEV_SYSTEM   This level indicates a problem in the system software  such  as memory exhaustion  a problem with the message queue   and so on      EXLEV_IGNORABLE  This level indicates an unexpected condition that is gener   ally serious but not fatal     EXLEV_USER  This is the ex
141. h a serial port  There are two methods for  adding message handlers in the Global Code space  as fol   lows     e Use the    Message Handlers    drop down list at the top of  the Code View window  easiest method      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    e Enter the message handler directly into the Global Code  section in the Code View window     9 5 3 1 Add a Global Message Handler From a List    Do the following to add a global message handler from the     Message Handlers    drop down list     1  Click the Code View tab     2  Click Globals in the Object Tree to open the Global  Code section  Any current global source code is dis   played in the editor window     3  If you want the message handler inserted at a cursor  location  select Insert at Cursor  then click in the edi   tor at the location where you want the handler inserted   If you do not select this option  the handler will be  added to the bottom of the Global Code section     4  Click the drop down arrow at the    Message Handlers     box  and select the message from the list  The message  handler code is inserted in the editor     If the message handler is for a registered message  such  as the MSG_TIMETICK or MSG_COMM_RECEIVE  message  make sure you add code elsewhere  e g   the  MSG_INIT message handler  to register to receive it     5  A blank line is inserted in the message handler func   tion  Enter the user code at
142. hapter 10     Advanced Design        Each object instance may be customized by changing the  values of the properties and by overriding methods defined  in the template  A    method override    is a function defined  in the object instance that replaces the method of the same  name defined in the template  for the specific instance  only   If the functionality of the template method is desired   it can still be called from inside the override method     Customizing object instances by changing their initial prop   erties requires no programming and is discussed in  Chapter 8  Conversely  overriding methods does require  some programming and is the main focus of this chapter     9 3 Qlarity Code for Objects    The following sections describe the Qlarity code used to  define an object and the method overrides in an object tem   plate   9 3 1 Property Initializations    Code for a typical object includes several lines in the fol   lowing format     init  lt propertyname gt      lt value gt      lt propertyname gt   This is the name of one of the object   s properties      lt value gt    This assigns the initial value for the property in the applica   tion  If a property is not shown  it is assigned the default ini   tial value from the object template  Changing     lt value gt     in  one of these statements is the same as changing the property  value in the Properties window     9 3 2 Method Overrides    Most methods defined in an object template may be over   ridden in any ins
143. he code  and click  OK  when you are finished to save  the changes     The Edit Library Entry window has a File menu and an Edit  menu with the standard save  edit  and find options  The File  menu also contains the following option     Save changes to library as hidden code   This option gives the developer the option of hiding the  source code in the library  Once the source code is hidden  it  cannot be viewed or edited     35    WARNING    Make a copy of the source code before using the    Save  changes to library as hidden code    option  Once saved to  the library  1t can no longer be viewed or edited by anyone     5 3 3 2 Rename Entry    Click an entry in the list to select it  then click  Rename  Entry  to change the name of the selected entry  A dialog  box is displayed for you to type the new name  Click  OK   to apply the change and close the dialog box     5 3 3 3 Remove Entry    Click an entry in the list to select it  then click  Remove  Entry  to remove the selected entry from the library  A mes   sage is displayed warning you that this will permanently  remove the entry from the library  Click  Yes  to remove the  entry     5 3 3 4 Set Entry Version    Click an entry in the list to select it  then click  Set Entry  Version  to change the version number of the selected entry   A dialog box is displayed for you to type the new number   Click  OK  to apply the change and close the dialog box     5 3 3 5 Add New Entry  A library contains two types of entries     e
144. he most out of Qlarity Foundry and  describes Qlarity Foundry     Installation  This chapter covers the installation and setup of the Qlarity Foundry software   Getting Started  This chapter outlines Qlarity Foundry   s features and functions   Workspaces  This chapter explains how to start  open  close  save  and use workspaces in Qlarity Foundry     Templates  Resources and Libraries  This chapter explains how to add and edit templates  advanced func   tion   edit resources  and edit libraries     Qlarity Foundry Preferences  This chapter explains how to set up and define your terminal settings for  Qlarity Foundry and enter Qlarity Foundry preferences     Download Software to the Terminal  This chapter explains how to configure the terminal communications  port  download user applications and BFF files  and upgrade new firmware     Basic Design  This chapter explains how to get started using Qlarity Foundry and covers user application  design basics     Intermediate Design  This chapter provides instructions a step beyond design basics   Advanced Design  This chapter provides instructions for advanced user application design   Glossary of Software Terms  This appendix provides definitions of the terms used in Qlarity Foundry     AutoDoc Specification  This appendix contains the complete specification on how to write AutoDoc meta  data to document the source code in a workspace and Qlarity libraries     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  
145. hich the programming is already  done  To adapt a library object to a user application  you  typically only need to enter properties  e g   name  location   color  bitmap  etc    If custom programming is required   Qlarity Foundry contains the tools you need to modify  library objects or create your own objects     Qlarity Foundry provides all the tools you need to work  with user applications  including those used to do the fol   lowing    e Create a user application  basic to advanced levels     e Modify a user application     e Compile and download a user application to the Qlarity   based terminal     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 2    INSTALLATION    This chapter provides instructions for installing and setting  up the Qlarity Foundry software     2 1 System Requirements    Computer Requirements    e Pentium 166 or better   e 32 Mbytes of RAM  64 Mbytes recommended   e 30 Mbytes available hard disk space    Operating System Requirements     Microsoft   Windows   95  98  2000  NT  or XP  4 0 or  later   Qlarity Foundry will not run in Windows 3 x or DOS   Windows 95 requires Internet Explorer 4 01 or higher  Win   dows NT requires Service Pack 6     2 2 Install Qlarity Foundry    To install Qlarity Foundry  take the following steps   1  Close any open Windows applications     2  Insert the
146. his option if you want the AutoHelp display window to  fade out as the mouse pointer approaches it  This allows you  to view the code under the AutoHelp window without clos   ing AutoHelp     6 4 Compile    Before you download a workspace to the Qlarity based ter   minal  it must be compiled into the format required for a  user application  Compiling is also required to update modi   fications made in Code View before they can be seen in    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     48    Layout View  Click the Compile tab to set up the options for  compiling     Qlarity Foundry Preferences x     Terminal   Layout   Editor Compile Simulation      Unicode support    7 Limit BOF Fonts to ASCII chars   al i   conserves terminal memar     Enabled warnings    Syntax error   Parse error   Internal compiler error   Undefined reference  Redetinition error   legal native usage  Unresolvable reference  legal value   Validation function error    Override Function error     p               E Enable Unicode support in the  standard objects     M Start in Layout view       Enabled Warnings   All possible warning messages that may appear when com   piling a workspace are listed  Click the checkbox to select  each warning that you want displayed after a compile   When you first start programming in Qlarity Foundry you  probably want to display all warnings  however  if you are  an advanced user  you may find some of the less serious  warnings to be unnece
147. however   you may want to remove any unused default bitmaps and  fonts before you download the user application to the Qlar   ity based terminal to conserve the terminal   s flash and  RAM memory     Click   amp  on the toolbar or select Edit Resources from the  Edit menu  and the Edit Resources dialog box is displayed     Edit Resources    Bitmaps   EDF Fonts   TrueType Fonts   Audio   Binary         Bitmap name   Sys   Filename    Alarm resources  alarm  bmp  all resources all  bmp  bottomLeft resources bottomlett  bmp    bottornright resources  bottomright  bmp  lightotf resources lightott  brp  lighton resources lighton  bmp  Temp resources temp  bmp  topleft resources toplett  bmp  topright resources  topright  bmp    Resource data Preview    Filename         No selection Browse    Rename bitmap    Mew bitmap      Remove Gite       cos    2    All resources used in a workspace are managed from this  dialog box     Click the tab for the resource type you want to manage  then  follow the procedures in the following sections as applica   ble to add a new resource  rename an existing resource   change the file for an existing resource name  or remove a  resource from the workspace  Additional information on  each resource type is also provided in the following sec   tions     After you have finished adding  editing  or removing  resources  click  OK  to save your changes and exit the Edit  Resources dialog box  The workspace is compiled   Resources that you added are availab
148. ib     Cancel      Ze       2  Enter a file name for the new library  e g   mylib  and  click  Save   The extension    ib  is added automati   cally     The following dialog box is displayed     larity Foundry        Enter a name for the library    Jnewlib  Carosi         3  Enter a descriptive name for the library  e g      arch  library    or    Johns library     and click  OK      The new library file is created and added to the Qlarity  Foundry folder  Use the Edit Library function to add entries   object templates and resources  to the library  see  section 5 3 3 5     Add New Entry    for information      You can also add new object templates to a library using the     Send Template to Library    option in Add Edit Templates   see section 5 1 5 for information      OptoTerminal Qlarity Foundry User   s Manual    5 4 Edit Named Colors    You can use    named colors    and    themes    to simplify the  process of assigning fill and line colors to objects  Rather  than manually selecting a color from a palette for each  property of an object  you can assign one named color to  one or more properties of an object and to any number of  objects in the workspace  This improves color matching and  helps to control the range of colors used  For example  you  can assign a named color to several objects and then change  the color of all those objects at the same time by simply  changing the color of the named color  You can also assign  colors to properties without using named col
149. ich displays any errors or other messages gener   ated when the workspace is compiled or during a    debug     operation  These messages can help you identify and correct  problems with the workspace     Object Tree  Select this option to show or hide the Object Tree  Refer to  section 3 8 for information     Object Palette  Layout View only   Select this option to show or hide the Object Palette  Refer  to section 3 12 for information     Properties Window  Layout View only   Select this option to show or hide the Properties window   Refer to section 3 11 for information     Communications  Simulation View only    Select this option to show or hide the Communications win   dow in Simulation View  Refer to section 3 10 1 for infor   mation     Keyboard  Simulation View only    If you will be using keyboard input  select this option to  show or hide the Keyboard Entry window in Simulation  View     Keypad  Simulation View only   If you will be using keypad input  select this option to show  or hide the simulated keypad in Simulation View     NOTE  keyboard keypad input devices   The Keyboard and Keypad options are only available if you  have selected    Keyboard    or    Keypad    as an input device in  the Qlarity Foundry Preferences  Terminal tab  see  section 6 1      Watch Window  Simulation View only   Select this option to show or hide the Watch window in  Simulation View  Refer to section 3 10 5 for information     Call Stack  Simulation View only   Select this option t
150. ide it by clicking Object Pal   ette on the View menu     OptoTerminal Qlarity Foundry User   s Manual    3 12 1 Add a New Object Instance    Do the following to add a new object instance from the pal   ette     1  Click the icon of the object instance you want to add     2  Move the mouse pointer to the work area  The pointer  changes to a cross hair     3  Click and hold the mouse button  and drag the mouse to  draw a rectangle in the work area  Then release the  mouse button     Some objects have a default starting size and shape  so  the size of the rectangle doesn   t matter  only its posi   tion in the work area  The size of other objects  such as  a line or rectangle  is initially determined by the size of  the rectangle you draw     NOTE  add multiple instances of the same object type  To add more than one instance of the same type of object   press and hold the  lt Shift gt  key when you click the object  icon  The object type remains selected  and you can just  click and drag in the workspace to add objects until you  release the  lt Shift gt  key     4  After you add an object  it remains selected and its  properties are displayed  You can then edit the proper   ties as required  including assigning the object a unique  name     To resize an object  do one of the following     e Use the mouse  If the object has    resize grips     sizing  handles   you can click and drag any handle to resize the    object   Resize Grips       e Use the Properties window  Change the
151. ift the displayed area slightly     Click  OK  to close the workspace image  and the color you  selected is shown in the Select Color palette     Click  OK  at the Select Color palette to apply the selected  color to the property       4 Event Builder    Qlarity is an event driven programming language  An event  is any type of input  such as a key or button press  a value  change  a timer action  data received through the serial port   and so on  When an event occurs  a Qlarity user application  responds with an action     Event Builder is a tool in Qlarity Foundry to help you add  events to your Qlarity user applications  Event Builder  allows you to assign actions to events without any program   ming knowledge     Using the options in the Event Builder dialog box  you can  link one or more actions to an event  even when the action  involves several objects or includes one or more serial  objects  You assign an action to an object and its properties  from drop down lists     The type of object you select determines the type of event or  events that can be performed by the object  For example  a    OptoTerminal Qlarity Foundry User   s Manual    button will have a    click    event  and a serial object will  have    data receive    and    send data    events  Keep this in  mind when you are adding objects to your workspace  The  Object Documentation Help file   lt F1 gt   provides informa   tion about all object templates in the QSI libraries  includ   ing events and actions 
152. iner object  and the  object instance is automatically moved and attached to the  selected object in the Object Tree  To move an object to the  root container  click    default    in the drop down list     8 3 3 1 Select Color    If a color can be selected for an object property  e g   bor   ders  fill  foreground  background  font  etc    when you  select the property  two Select buttons are displayed      and 4     69    Click    to display a drop down list of available named  colors in the workspace  You can use named colors to sim   plify matching and coordinating colors to create a color  scheme for the workspace  Refer to section 5 4 for informa   tion on named colors     bgcolor MN cl_buttonbackgro 1   A  M clr_buttonbackgro       checkfgcolor  borderstyle  check borderstyle  ransparent    clr_buttonbackgro       clr_buttonback gro         General  parent    cl buttonforegrou          MM cl_buttonforegrou     5  E    pos cl_fillcolor  idth  eight ch_labelforeground   Inactive  a a cl_screenbackgr     Ses cl_screentoregro     F hize fed cl_softkeybarbac     cl_softkeybarbutt       w  ext Settings  aay ch sottkeybarbuth       ch_labelback ground       inset    Hire       Click a named color to select it for the object property     Click _ to display a Select Color palette from which to  choose a color for the property     Select Color                    Named Color  Custom Color          Clr_ButtonBackground  Cir_ButtonBackground  lt  e  Clr_ButtonForeground  EE Cir_Butt
153. ion      e Show Grid  show hide grid   e Snap to Grid  enable disable snap to grid   e Grid Spacing  set the spacing of the grid lines     e Colors  Grid  set the color of the grid lines   8 1 4 Add Remove Resources    Resources include all bitmap images  fonts  audio files  and  binary data files available in a workspace and  eventually   in the user application  You must add resources to a work   space before you can use them in object instances     Use the    Edit Resources    option to add resources to your  workspace or to change or remove the resources used   Because resources become part of the user application when  it is compiled  you should delete any unnecessary resources     NOTE  default bitmaps and fonts   When you create a new workspace  you have the option to  add default bitmap images and fonts to your workspace   Some objects may require at least one bitmap  BDF font  or  TT font resource before the object will function properly   When you have finished creating a workspace  however   you may want to remove any unused default bitmaps and  fonts before you download the user application to the Qlar   ity based terminal to conserve the terminal   s flash and  RAM memory     Click   amp  on the toolbar  or select Edit Resources from the  Edit menu  and the Edit Resources dialog box is displayed     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     62    Edit Resources x    Bitmaps   BOF Fonts   TrueType Fonts   Audio   Binary       
154. isplayed  Click in the area of the work   space that has the color you want to match  The color of the  area you clicked is shown in the    Sample    box  In addition   the    4X    box displays the area magnified four times     T zm dy ICT       Cancel      You can click a color in the    4X    box to select it  This is  useful if you want to identify a color in a congested area of  the display  You can also click in the    4X    box  and drag  the mouse to shift the displayed area slightly     Click  OK  to close the workspace image  and the color you  selected is shown in the Select Color palette  Click  OK  at  the Select Color palette to assign the selected color to the  border     Fade Effect   If you have defined a wide border  you can select Fade  Effect to add a fading color effect to the border  Refer to the  preview for an illustration of the fade effect     41    5 5 2 2 Rounded Corners   Select Use rounded corners to round the corners of the  border  Then enter  or click the arrow buttons to select  the  radius of the corners in number of pixels  The greater the  number of pixels  the more rounded the corner     5 5 2 3 Double Border   Select Use a double border to create a double border  Then  enter  or click the arrow buttons to select  the width of each  border in pixels  1 3      5 5 2 4 Preview   The options in the Preview section  including  Object Fill  Color  and  Background Color  allow you to experiment  with color combinations but have no effect on the
155. itB ox Source 0 00         coreF astLabel Source 2 20   corel auge Source 2 10   corelnputS upport Source 2 20 Add New Entry    corek eppad5pinner Source 2 20   coreLabel Source 0 00   core umber  eypad Source 2 20   corePathtrace Source 0 10   corellwertkeypad Source 2 20 O K    coreSlider Source 2 20    as       Do not modify these functions  as objects in various librar   ies also use them  In addition  any changes you make to  Natives library functions are overwritten when you upgrade  Qlarity Foundry     Refer to section 5 3 3     Edit Library    for information on  editing functions     5 3 4 2 Edit Core  core qlib qhide     The Core library contains core object definitions that are  used as a base for extension  Many standard Qlarity objects  extend templates in this library  Objects in the Core library  do not appear in the Object Palette  Select this option to ref   erence code in the Core library     5 3 4 3 System Libraries That Are Not Explicitly  Included in This Workspace    A system library is one that resides in the same directory as  the OlarityFoundry exe executable file  Some system library  template code may rely on templates in other libraries  This  is common when extending templates  If the other libraries  are not available to the Qlarity compiler  compile time  errors will occur  The drop down list at this field contains  options to indicate how to include system libraries that are  not specified in the workspace     Do not include   If you select thi
156. ject receives a MSG_TOOL_DRAGCREATE mes   sage from Qlarity Foundry  This allows the object to initial   ize itself properly  For a non drawable object  the only  parameter passed to the handler is an objref referencing the  parent object  The handler updates its    parent    property and  calls Tool_Persist    Note that the MSG _INIT handler is  called from the handler to complete the object initialization     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     98    The tool message handlers for containers and area objects  are identical  In addition to the handlers described above   the boilerplate code for these object types includes handlers  for the MSG_TOOL_MOVE  MSG_TOOL_GETHAN   DLES  and MSG _TOOL_MOVEHANDLE messages   Also  the MSG_TOOL_DRAGCREATE handler is larger  and more complex than the handler for non drawables     The MSG _TOOL_ATTACH and MSG _TOOL_AT   TACHED handlers are identical to the handlers in the non   drawable code  so they are omitted here  The code for the  MSG_TOOL_MOVE handler is as follows        This function is Called when the user   gt       drags an object instance with the mouse   gt       in Olarity  FPounery   dx and dy are    gt       relative offsets from the current   gt       location of the object    func ToolMove  dx as integer  dy as integer   handles MSG_TOOL MOVE    XPOS    xPos   dx  yPos    yPos   dy  Relocate  me  xPos  yPos        Save the changes we just made   xPos    yPos     Tool_Persist  Too
157. l   s   l     E ah  FullScreenColorLbl Powerful E en creation of Tem     al FTPServer 2 ee i   z   yf  HideFullScreenColorLblT     Stil Image sd Graphics   ee St af    Owertykeypad mia     2 af  TranslucentColorPicker     lle Nagnostics   Er  E af  BacklightDownBtn   Hings Sample text A   IN    ml E acklightUpeEtn aia n  Object Properties   z  gt    alte rete   j Don i Help EEK Properties   Events    Eth  af EndGames      name     lt Globals gt  a  af   of HelpSideButtonsS cr     ha  mE e   ObjectsSer  HE   af  GraphicsSer  ESEL   53 DiagnosticsScr  90  af FunScr  HE   af NavScreen    eu  Bl   gt  af  Templates cr  wE     SplashScreen   EN    af ScreenSaver     2  E of ScSaverOn   a  e af Scrsaverdl   a  E of  Scr2Home   9  E   f Scr2Hext     e af Cur DDL_ListB ox    zs     meee Paral Piao Ti             a           85H E gt 0   Jg j    f Al  ie2oahad  a Be oO   cE ke   EB lo   gt  O  ga E   s E E    E                                156   10        All four windows are open by default  If one is inadvert  e Display setup  including landscape portrait and gray   ently closed  you can open it from the View menu  scale color     e Keyboard or valid input devices  type of key input used    NOTE  workspace appearance variations wiih yonr terminal     In the illustration above and elsewhere in this chapter  the  objects in the Object Palette and Object Tree may differ e Touch key legend  border around the edge of the touch  from what you see in Qlarity Foundry  Object names may scr
158. l_Persist  endfunc    When the user drags an object in Layout View  the object  dragged receives MSG_TOOL_MOVE messages from  Qlarity Foundry  The change in position is passed to the  handler in the    dx    and    dy    values  The object updates its     xPos    and    yPos    properties to the new location and calls  the Relocate   API to generate a MSG_DRAW that updates  the screen  if necessary   Finally  the handler persists the  values of the updated properties with calls to Tool_Persist       The code for the MSG _ TOOL  GETHANDLES handler is  as follows        This Funectton  hs called by Olarity   gt      Foundry to obtain the coordinates of the   gt      resize grips  The arrays xCoords    gt      VCOOrds   and cursors  all contain 10    gt      elements initially  This means that you   gt      should either call redim on those arrays   gt      and set their values  or declare local   gt   set the values of the local   gt      arrays  and th  n assign  kCoords   yCoords    gt        arrays        and cursors to those local arrays    gt      Closed indicates whether the Foundry   gt      should connect  the Tirst  and last Grips    gt     OptoTerminal Qlarity Foundry User   s Manual       to make a closed object  xCoords    gt      Coords    amd    Cursors  should  all Conical   gt      the same number of elements when this   gt      function completes   func ToolGetHandles  reference to integer   yCoords     Cursors      xCoords   as   gt    as reference to integer 
159. le for use in the    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    objects  and resources that you removed are no longer avail   able     Save the workspace to save the new information to disk     NOTE  button labels   The labels on the buttons used to edit resources change to  match the resource tab you selected  For example  you click   New bitmap  to add a bitmap image   New BDF font  to  add a BDF font  and  New audio resource  to add an audio  file  The label on the    Rename    button changes to the name  of the resource you selected to rename    5 2 1 Add a Resource    In the Edit Resources dialog box  do the following to add a  new resource to the workspace     1  Click  New resource type   e g    New BDF Font   and  an Open dialog box appears  Resource files in the  default folder are listed  change folders 1f necessary      2  Select the resource file or files that you want to add     NOTE  select multiple files   To select multiple files that appear consecutively in a list   press and hold  lt Shift gt   then click the first and last file in the  group you want to select  To select multiple non consecu   tive files  press and hold  lt Ctrl gt   then click each file that you  want to select     3  Click  Open   The resource is added to the list of  resources     When you add a resource  it is given the name of the file by  default  The resource name is the name that appears in the  Pro
160. le_light      lt value gt  is a numeric color  value      cOlormap Clr_LabelBackground standard  38   etasstces 183    cOlormap Clr_LabelForeground standard  255   Classic s 0     colormap directives are standalone directives and not part  of any other  doc directive  These directives may not be  broken over multiple lines     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     110 OptoTerminal Qlarity Foundry User   s Manual    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     
161. lected object with  the left most resize grip of the active object     Align center horizontal  Aligns the horizontal center of each selected object with the  center of the active object     Align right  Aligns the right most resize grip of each selected object  with the right most resize grip of the active object     Align top  Aligns the top most resize grip of each selected object with  the top most resize grip of the active object     Align center vertical  Aligns the vertical center of each selected object with the  center of the active object     Align bottom  Aligns the bottom most resize grip of each selected object  with the bottom most resize grip of the active object     Make same width  Changes the width of each selected object to the width of  the active object  All objects must have a    width    property     Make same height  Changes the height of all selected objects to the height of  the active object  All objects must have a    height    property     Space evenly horizontally   Finds the left most and right most objects among the  selected objects and positions the remaining selected  objects evenly between them  This option works best when  all objects are the same width     Space evenly vertically  Finds the top most and bottom most objects among the  selected objects and positions the remaining selected    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     68    objects evenly between them  This option works best when  all obj
162. les using the PlaySound API function     5 2 9 Binary    Binary resources are files that you want to add to your user  application unchanged  For example  you could use a binary  resource in your application if you wanted the Qlarity based  terminal to communicate with an embedded device  with no  PC connection   You could  for example  add a configura   tion or firmware file to the application as a binary resource  file  and then use the GetBinaryResource API function to  download the file from the Qlarity based terminal to the  embedded device when the application is running     5 3 Edit Libraries    Object libraries are provided by QSI  and other sources  to  assist you in designing user applications  Each library con   tains several predefined Qlarity objects  This enables you to  add object instances to your workspaces without the need to  program new object templates     When you add a library to a workspace  the objects in the  library are added to the Object Palette and to the drop down    33    list in the Instance Properties dialog box  right click any   where in the Object Tree  and click New Object Instance      NOTE  default libraries  When you create a new workspace  you have the option to  add default libraries to the workspace  You can remove a  default library or add new libraries to the workspace using  the    Edit Libraries    option     NOTE  library object templates   Object templates in libraries are not listed under    Tem   plates    in the Object Tree
163. lication   The Rescale Application feature should be used with care   The changes cannot be undone  so it is recommended that  you save a backup copy of your workspace first  Also  res   caling an application is just the first step in migration  You  should examine each object in the workspace after the  rescale has occurred to ensure that it scaled correctly     Toggle Breakpoint  Code View and Simulation View   Select this option to set or remove a breakpoint in Code  View or while running a simulation     New Variable  Code View only    Select this option to insert a new variable or property in the  code  A dialog box is displayed to specify the attributes of  the new variable or property     Mark Selected Code as Sample  Code View only    Select this option to flag or unflag selected code lines as  sample code  Sample code is a form of comment used by  the AutoDocumentation system in Qlarity Foundry  Sample  code is ignored by the compiler and appears    grayed out    in  Qlarity Foundry     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Run  Simulation View only   Select this option to continue running the simulation after it  has paused or stopped     Single Step  Simulation View only   Select this option to execute the current line and stop on the  next line     Step Into  Simulation View only   Select this option to step into a function call  If no function  is on the current line  this a
164. lider is moved   8 4 4 2 Toggle Demo    The Toggle Demo toggles a spinner on and off  When on  a  spinner object is displayed that allows a user to increase   decrease the value shown  The Status_toggle object  the  button  uses the following events     TurnOn   triggers the following actions     e Changes the caption above the toggle button to reflect the  current status of    On        e Enables the spinner object     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    TurnOff   triggers the following actions     e Changes the caption above the toggle button to reflect the  current status of    Off        e Disables the spinner object     8 4 4 3 Keypad Demo   The Keypad Demo provides a keypad that can be used to  enter numerical data to be sent to a controller  The follow   ing objects have programmed events     Enable_button  A press or    click    event enables the numeric keypad  makes  it viewable  so it can be used for data input     Numeric_keypad  The following two actions have been programmed to the  keypad     e When the  lt Enter gt  key is pressed  any data entered  the  value  is posted to the    Keypad_value    text box located  above the keypad     e When the  lt Enter gt  key is pressed  the value is sent out  the serial port to a controller expecting a value     8 4 5 Qlarity Code and Event Builder    While Event Builder requires no programming experience   1t uses the Qlarity progr
165. ly determined by the size of  the rectangle you draw     If you are adding a non drawable object  the location in  the work area doesn   t matter since the object is not part  of the display  You may want to use the shortcut menu  to add a non drawable object in its default position  see  section 8 3 1 2     Add an Object From the Shortcut  Menu    for information      NOTE  add multiple instances of the same object type  To add more than one instance of the same type of object   press and hold the  lt Shift gt  key when you click the object  icon  The object type remains selected  and you can just  click and drag in the workspace to add objects until you  release the  lt Shift gt  key     4  After you add an object  it remains selected and its  properties are displayed  Click the    Name    property   and type a name for the new object  type over the  default name   Each object in the workspace must have  a unique name  An object name has no size limitation  but must start with a letter  A name cannot contain  spaces but may use the underline character  _   The  percent      pound     and dollar sign     symbols can  be used at the end of the name     Refer to section 8 3 2 for information on moving  resizing  and changing the order of objects     8 3 1 2 Add an Object From the Shortcut Menu    Do the following to add a new object instance from the  Object Tree shortcut menu     1  Right click anywhere in the Object Tree to display the  shortcut menu     2  Click New Object 
166. mmunications Pr is 53  Mihaly S aL EOC SSN Saee a a r a aa  dd 53  1 27 Ethemet Port Setna Seanin li li a 53  L2  Download a User Applica ON usd llas 54  lez Prepare the Terminal tor Dow mlOagdimg a A A oc 54    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     Iv OptoTerminal Qlarity Foundry User   s Manual    22 Download the Ser Application ia 54   TS Downloada BEET ches iiss snchtananscuctie E ea esate onanannatandnwendevatesetuaa a S 55   Ty porade LMS  A A a aa S 55   TA Determine Current Firmware  Vers ON tic 55   TA Prepare Terminator Upe rade one e E O T 56   145 Downoad New PIN A A ias 56   TAA Induce DOC HO Adepto EAA EE A ETA 56   MES OCCU OIE AIG ardia aE A AE AEE A T O EE 57  CHAPTER 8    BASIC DESTEN EE AAA A E AA AREAS 59   8 1 Prepare Qlarity Foundry for Application Design                 ccccceessseeseesssseeseeceseeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeseeeeaaaaaaaaeaaaaaaaaaags 59   Sls Basic Des oii LAvOUL Aoi 59   1 2 Simulate the Terminal Dipa yenen ic solis sedal 60   US A O 61   4 Add Remove RESOULCOS o de 61   Sl Add REMOVO LIBA S docs coee 62   8 1 5 1 Libraries Provided  with Qlarity POUndi ld 62   9 2 Understandine Olarity Tor Basie DESIOM estrotanenae inet cabinas 63   9 2 1  Workspaces and  User Applications dad iii 63   52 Ola ODIOS li ias ets 63   9 2  Paren Cha Re lan nips laa 63   E IL RO 64   82   Vents cand Messa lloc 64   5210 Eta bled Disabled  OD ect tna 65   3 Desisna User Application A a 65   O AAA Senbnboens era
167. nce the  message handler was called by the system in response to an  event  the call cannot be traced further than this function     For example  suppose a Qlarity statement in function   Foo    causes an exception  Foo   is in turn called by a func   tion named Bar    Bar   is a handler called by the system in  response to a message  When the exception occurs  the  Qlarity execution engine first checks the function  Foo    to  see if the offending statement is enclosed within a    check  error    block  If it is  execution jumps to the first statement  in the    on error    block that follows the    check error    block   If it is not enclosed in a    check error    block  the Qlarity  execution engine then checks the Bar   function to deter   mine if the call to Foo   was enclosed in a    check error     block  If it is  execution jumps immediately from the  offending statement in Foo   to the first statement in the  corresponding    on error    block in Bar    If no enclosing  block is found in Bar    the system handles the exception as  described below     Unhandled exceptions are maintained in a LIFO  last in first  out  stack by the system software  If multiple unhandled  exceptions are pending  a call to GetException   always  returns the most recently thrown exception on the stack     If no enclosing    check error    block is found  an exception  remains in the system exception stack until the current mes   sage completes processing  The handler that caused the  exce
168. nd to a given event  These override functions often  take no parameters and have no return value  so they are  easy to remember and use  For example  many button type  objects have a Click   function that is called from the han   dler for a touch screen press and release  This function is  empty by default  but it provides an interface for each object  instance to customize its response to a press or release  event     Keep the MSG_ DRAW handler small    Drawing requires the most computations on the Qlarity   based terminal  The MSG_DRAW handler for an object  should be as concise and efficient as possible  Where con     OptoTerminal Qlarity Foundry User   s Manual    venient  data needed for drawing should be pre calculated  and stored in private properties for later use in the  MSG_DRAW handler     Use user messages to communicate between objects   User messages provide an excellent way to communicate  between objects  because the sending object does not  require any knowledge about the receiving object  This fea   ture allows Qlarity to be extended in a number of powerful  ways     10 7 Where to Go From Here    The full power and potential of the Qlarity programming  language is now at your disposal  As your experience with  Qlarity grows  you will likely create objects that might be  useful for others  QSI encourages Qlarity programmers to  submit their object template designs to the Qlarity Web site   www qlarity com  where they can be shared with others     Questions an
169. ne on newline characters   M Favor wrapping lines on word breaks     Show only transmitted data    M Add a tab for each opened network channel    i On network channel open  switch to its tab    lI Mon prntable character Default      Space character     e Newline and carage return    Default  Default    1192 Maximum buffer size    Default    eug    Cancel       The default settings are generally adequate for most users   but you can change any of the following settings     Display as hexadecimal   If this option is enabled  while in Simulation View  data  transmitted by the Qlarity based terminal appears in the  Communications window in hex format rather than text   e g      ABCD    appears as    41 42 43 44         Wrap line on newline characters   Enable this option if you want characters in the Communi   cations window to wrap to the next line when a newline  character is encountered     Favor wrapping lines on word breaks   If    Wrap line on newline characters    is enabled  select this  option to wrap to the next line after a word  rather than  between characters in a word  whenever possible     Show only transmitted data   If this option is enabled  the Communications window will  display only data that is transmitted from the application  program  Disable this option to show both data transmitted  both received by the application     Add a tab for each opened network channel  If this option is enabled  each time a network channel is  opened in Simulation View  a new ta
170. not com   pile  Click  Yes  to rename the named border  After chang   ing the name  click  OK  to save the change  You cannot  rename the default named borders     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     42 OptoTerminal Qlarity Foundry User   s Manual    5 5 2 8 Reset Border to Default   To restore the originally assigned attributes to a theme   s  default named border  select the named border you want to  reset  and click  Reset border to default      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 6    QLARITY FOUNDRY PREFERENCES    Use the    Settings    option to record the display configura   tion of your Qlarity based terminal and to enter Qlarity  Foundry preferences  Qlarity Foundry requires this infor   mation to simulate as accurately as possible the terminal  display  The    Settings    option is also used to set up options  for the code editor  Code View  and to enable or disable  warnings and other defaults for compiling     Click on the toolbar  or select Settings from the Tools  menu  and the Qlarity Foundry Preferences dialog box is  displayed          Glarity Foundry Preferences    Terminal   Layout   Editar   Compile   Simulation      Hardware Configuration Assistant    Base Terminal  OTERM G70      Display Setup    Impr     Keyboard     Keypad            Select      Communications   pa of serial ports  2     Misc     Manufacturer ID  MID  65535      IM TouchScreen          Dimen
171. notes an object  method that is explicitly intended to be overridden in object  instances  Only object methods designated as    override     may be edited in the Event Builder     Type  A user defined data type  such as an enumeration or a start    type     Group   This does not correspond directly with a Qlarity syntax  structure  rather it designates a collection of related items   For example  DrawBDFText  GetBDFTextSize  and GetB   DFFontMetrics might all belong to the group BDF Text  Functions  When AutoDoc displays the documentation for  items that belong to the group  it contains a    see also    link  to the group itself  The documentation for the group dis   plays a list of all items in the group  Group names may con   tain multiple words and are not restricted to the Qlarity  naming rules     B 2 Documentation Body    A documentation declaration is usually followed by one or  more documentation body elements  A documentation body  element must begin with the tilde     character  and must  begin a line  Documentation body elements may optionally  contain HTML tags for formatting purposes      doc func VerifyState    This function checks the state of   persistent variables in the application and   verifies that each contains a valid value     lt BR gt  lt BR gt     This function  lt B gt must lt  b gt  be called during   a MSG_INIT message     B 3 Linking Items    You can link related documentation items using the follow   ing syntax     link  lt element type gt   lt 
172. ns port on  the Qlarity based terminal from which the data will be sent   If you have only one  select COM1     sendtoport   This property receives the data string that is to be sent  through the serial port  Data can be sent to this property  from a serial object configured in Event Builder  see  section 8 4   When the serial object   s    sendtoport    property  receives data  it automatically sends the data followed by a  semicolon     out the port     appendterminator  This property determines whether a semicolon is appended  to the end of all data sent out the serial port     8 5 2 Ethernet Objects    To use the Ethernet port to send data  add one or more  Ethernet objects  If you want to send data to multiple  addresses on a network  you can create a separate Ethernet  object for each address  or you can send to different  addresses from a single Ethernet object by changing the net   work address in the object instance as required     Following are the properties of an Ethernet object      Name    Type a name for the new object  type over the default  name   Each object in the workspace must have a unique  name  An object name has no size limitation but must start  with a letter  A name cannot contain spaces but may use the  underline character  _   The percent      pound     and dol   lar sign     symbols can be used at the end of the name     enabled  If the object is to be enabled  select true from the drop   down list  To disable the object  select false     parent 
173. nt theme  the changes to the unsaved theme are  not saved when you click  OK      5 4 2 Named Colors    NOTE  named colors not supported for older objects  Named colors cannot be assigned to objects in libraries  from Qlarity Foundry versions earlier than 2 1     To create or edit named colors  begin by selecting a theme  from the Theme drop down list  Named colors are saved in  themes  The colors assigned to all named colors for the  selected theme are displayed  Both the named color label  and the color currently assigned to the named color are  shown     NOTE  changes to named colors and themes   Any change to a named color only applies to the currently  selected theme  If you are making changes to more than one  theme  make sure you click  Save current border and  color settings as theme  before you change themes     39    When you have finished editing or creating named colors   click  OK  to save the changes and exit  or click  Cancel  to  discard the changes and exit     5 4 2 1 Change Named Color    To change the color assigned to a named color  click the  named color to select it  then click a color in one of the  color palettes  The new color is assigned to the named color   Click  Save current border and color settings as theme   to save the new color in the theme     NOTE  named color changed for all assigned objects  When you change the color assigned to a named color  it is  changed for all objects and properties to which the named  color is assigned     5 4 2 2
174. ntly configured  If  any configuration contains an error  a message 1s displayed     Edit in Code View   Click  Edit in Code View  to view the event   s actions as  programming code  If you understand the Qlarity program   ming language  you may use Code View to work with pro   gramming code  You generally only work in Code View if  you are customizing actions or creating actions  If you are  learning Qlarity programming  it may also be helpful to  view the code to understand how an event is programmed     Descriptions Code Preview   Click  Descriptions  to display the Qlarity programming  code for the actions in the    Description    column of the  action table  The button label changes to  Code Preview    Click  Code Preview  to switch back to a description of  each action in the table     8 4 3 Select and Configure Actions    A sample workspace  eventbuilder qly  containing events  created using Event Builder is included with Qlarity  Foundry  For information on loading and using the sample  workspace  refer to section 8 4 4     Load Event Builder  Sample Workspace     The sample workspace is used in the  images and examples in this section  You may find it helpful  to load the sample workspace and use it to view examples of  the actions described in this section     8 4 3 1 Select Actions  To select actions for an object   s events  do the following     1  In the open workspace   e g   eventbuilder gly  select  the object for which you want to set up an event  e g    Tank
175. o show or hide the Call Stack window in  Simulation View  Refer to section 3 10 4 for information     Refresh  Layout View and Simulation View only   Select this option to redraw the graphics on the screen in  Layout View     Layout View  Select this option to switch to Layout View     Code View  Select this option to switch to Code View     Simulation View  Select this option to switch to Simulation View     3 4 4 Tools Menu    View Only Enabled Objects  Layout View only   Disabled objects are displayed in Layout View by default   Select this option if you want to see only enabled objects in  the work area     NOTE  disabled objects vs  hidden objects  Keep in mind that the    enable disable    option is different  from the    show hide    option  Disabled objects are not dis     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     10    played on the Qlarity based terminal  hidden objects are  displayed on the terminal  unless they are disabled   they  are only hidden in Qlarity Foundry  Refer to section 3 8 for  information on the    show hide    option     Stop Qlarity Interpreter   When a workspace is compiled  the Qlarity interpreter runs  a portion of the user application in Qlarity Foundry  Select  this option to stop the user application from running  For  example  if an object instance contains an infinite loop  you  will not be able to work in Layout View  You can select this  option to terminate the interpreter and switch to Code View  s
176. o you can correct the problem     NOTE  error message   The Qlarity interpreter may detect the infinite loop when it  tries to run the application and display a prompt for you to  stop the application     Settings   Use this option to open the Qlarity Foundry Preferences dia   log box to define the Qlarity based terminal   s configuration  and to enter Qlarity Foundry preferences  Qlarity Foundry  attempts to simulate the terminal   s display area  input type   and so on as closely as possible  Refer to Chapter 6     Qlar   ity Foundry Preferences    for information     Snap to Grid  Layout View only    Select this option to enable or disable the    snap to grid     function  If enabled  this feature forces objects to    snap    to  the nearest grid point when added or moved  The top left  corner of an object   s rectangle snaps to the nearest grid  point when you release the mouse button     View Grid  Layout View only    Select this option to show or hide the    grid     You can dis   play a grid over the work area to help you more accurately  place and align objects  For information on changing the  spacing or color of the grid  refer to section 8 1 3     Drawing  Aids        Align Size Space Objects  Layout View only    This option provides several tools for aligning  sizing  and  spacing objects in your workspace  Select the object you  want to manipulate  then select the tool from the submenu   Refer to section 8 3 2 4     Align Size Space Objects    for  more informati
177. of the object on the display     Since the area object is drawable  a MSG_DRAW handler  is required to do the actual drawing  The boilerplate version  of this method is as follows        Display the object      This function will be called whenever   gt      necessary to show the object   func Draw    handles MSG DRAW    SetFGColor  RGB _WHITE   SetBGColor  RGB GRAY   DrawBox    POSp   VEL OS   XPOS   width   Ly   gt   yPos   height   1   DrawLine  xPos  yPos  xPos   width   gt     ube    yPos    MESTRE   13  DrawLine  xPos  yPos   height   1    gt   XPOS       widely   iby yPos   endfunc    NOTE  code formatting   A statement is defined as a single line of code  In order for  the compiler to distinguish between statements  each state   ment must be separated by a    newline    character  If a state   ment must be split into multiple lines  type   gt  at the end of  the line to tell the compiler to look for the rest of the state   ment on the next line     This function sets the foreground color to white and the  background color to gray  It then draws a box using the  object   s properties to determine the location and size  The  two calls to DrawLine   draw an X inside the box  This  code is easily modified to provide the desired drawing  behavior     10 5 1 3 Container Objects    The boilerplate code for a container template is very similar  to the code for an area object template  The MSG_DRAW  handler is slightly different  as follows     OptoTerminal Qlarity Foundry Use
178. olAttack tattacito  as  ob  rer    handles MSG_TOOL_ATTACH    Attach  me  attachTo   endfunc       This function is called in response to   gt       calling Attach  primarily in a handler   gt       tor  MSG TOOL ATTACH  but  possibly 10    gt       other places as well_    func ToolAttached  newParent as objref   handles MSG _ TOOL ATTACHED       Set our parent property to reflect   gt      who we are attached to and save  parent    newParent   parent     Tool_Persist    Save parent    endfunc       This function is called when the user   gt      created an instance of this template by   gt      selecting it from the object palette and   gt      dragging it in the layout view       The handler for MSG_INIT is not called   gt      automatically  and 1 you Want  ab   gt      called  you should call 4t manually       You should call Tool Persist on all the   gt      properties that you set up in this   gt      message handler     func ToolDragCreate  parentObj as objref   handles MSG _TOOL DRAGCREATE    parent    parentObj  Tool_Persist  parent      Call our MSG_INIT handler  Startup       97    endfunc    endir    First  note that all of the tool handlers are enclosed inside a     Hf TOOL  endif    block  This excludes the tool handlers  when the application is compiled for the Qlarity based ter   minal     As noted in the comments  the MSG TOOL_ATTACH  message is sent to an object when it has been dragged onto a  new parent in the Object Tree  An objref referencing the  new p
179. omputer   to a Qlarity based terminal via the port  serial or Ethernet    To do this  you specify an object and its property to receive  the data in a user application  This changes the specified  property value to the received data value    Use the following format to send data to a user application     lt Object name gt   lt property name gt   lt value gt       Do not include the angle brackets       lt Object name gt   The name of the targeted object instance      lt property name gt   The name of the targeted property  must be entered exactly  as it appears in the Properties window      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual     lt value gt   The value that you want to insert in the targeted property     You can also request that an object   s property value be sent  back to the external device from a Qlarity based terminal by  sending the object name and property as follows      lt object name gt   lt property name gt     Do not include the angle brackets       lt Object name gt   The name of the targeted object instance      lt property name gt   The name of the targeted property  must be entered exactly  as 1t appears in the Properties window      The value of the property followed by a semicolon     is  sent back out the terminal   s port to the device making the    query     NOTE  property value requests  You cannot request property values for the following  properties  color  bitma
180. on     Add Theme Selection Listbox  Layout View only   Select this option to create a listbox object that can be used  to dynamically select color and border themes for all    OptoTerminal Qlarity Foundry User   s Manual    objects in the workspace   See section 5 4 and section 5 5  for information on themes   The current themes available to  the workspace will be listed  If you previously created a  theme selection listbox and have not renamed the object   when you select this option the previous theme selection  object is replaced with a new one     Add Theme Selection DropDownList  Layout View  only    Select this option to create a drop down list object that can  be used to dynamically select color and border themes for  all objects in the workspace  similar to a theme selection  listbox but uses less display space    See section 5 4 and  section 5 5 for information on themes   The current themes  available to the workspace will be listed  If you previously  created a theme selection drop down list and have not  renamed the object  when you select this option the previ   ous theme selection object is replaced with a new one     Rescale Application  Code View only    When migrating an application from a terminal with a  320x240 display to one with a 640x480 display  select this  option to automatically resize the objects in your workspace  based on the new display settings  A dialog box is displayed  to specify the changes you want to make     NOTE  no undo for Rescale App
181. on for the  last thrown exception  check the error type  and respond  appropriately to each type of anticipated exception  If the  error type is not what was anticipated  the exception should  be rethrown using the Rethrow   API function  This gives  higher level exception handling code the opportunity to  handle the exception if desired     NOTE  GetException    Ordinarily  GetException   should be called only ONCE in  an    on error    block  In a global MSG_ERROR handler   GetException   is typically called repeatedly until all excep   tions have been retrieved     Details on the syntax of    check error       on error    can be  found in the    Exception Handling    section of the OptoTer   minal Programmer   s Reference Manual     10 5 Create a New Object Template    To create a new object template in your application  do the  following     1  Click on the toolbar  or select Add Edit Templates  from the Edit menu  and the Add Edit Templates dialog  box is displayed   You can also right click anywhere in  the Templates branch of the Object Tree  and click  Add Edit Templates on the shortcut menu         OptoTerminal Qlarity Foundry User   s Manual    Add   Edit Templates    Template Base Template    New Template      2  Click  New Template  and the following dialog box is  displayed     New Template Wizard      Create a template ready to operate in   Qlanty Foundry     a    Create a completely blank template     c Copy the code of an existing template in a  library     Ex
182. on in  Layout View  this handler is necessarily more complex than  the handler in the non drawable boilerplate code  The   x1 y1  and  x2 y2  coordinates that are passed to the han   dler as parameters indicate the locations of the initial click  and release  respectively  at the end of the drag     The handler calculates the position and size properties of  the object based on the values of  x1 y1  and  x2 y2   It also  sets the parent  persists the changed properties  and calls the  MSG_INIT handler to complete the object initialization     The boilerplate handlers should suffice for most objects   and the code is easily modified to suit unusual circum   stances  Writing these handlers    from scratch    can be  tedious and error prone  For this reason  using the boiler   plate code as a basis for new object template designs is rec   ommended     10 5 3 Adding Object Template Documentation       AutoDoc    is a Qlarity Foundry feature that automatically  documents the object templates included in a workspace   All libraries provided with Qlarity Foundry  as well as func   tions  variables  and APIs  are already included in Object  Documentation and the optional    extra pop up Help     see  section 6 2     Layout         Press  lt F1 gt  or select Object Documentation on the Help  menu to open Object Documentation     To add documentation on global variables  global functions   objects  methods  or properties that you create  you must  add the proper     doc    code to your
183. onForeground  lt  M   ci_FiiCotor  EE Clr_LabelB ackground  Clr_LabelForeground  EE Clr_ScreenBackground  Cl_ScreenForeground  Em Cir_SoftkeybarB ackground  Cir_SoftkeybarButtonB q  E Clr_SoftkeybarButtonF g                      Cir_ButtonB ackgroundalt    2  Edit named colors   Preview    Cancel       The list of named colors is also displayed in this dialog box     The current color of the property is displayed beneath the  palette  If it is a named color  the named color label is high   lighted in the list  If it is a color from the color palette  it is  selected in the color palette     To edit a named color  click  Edit Named Colors   Refer to  section 5 4 for information on editing and creating named  colors     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     70    Click either a named color or a color in the palette to assign  a different color to the property     If you want to match a color from another object in the  workspace  click 2  and an image of the workspace 1s dis   played  Click in the area of the workspace that has the color  you want to match     The color of the area you clicked is shown in the    Sample       box  In addition  the    4X    box displays the area magnified  four times     Scar E de ICT       Cancel      You can click a color in the    4X    box to select it  This is  useful if you want to identify a color in a congested area of  the display  You can also click in the    4X    box  and drag the  mouse to sh
184. ontains a new icon rep   resenting the new template  By default  the new tem   plate   s icon is the same as the icon for the library  template that served as the basis for the new template   except that the background color is different   Icons  for local templates in a workspace appear before library  template icons     5  To edit the icon or change the name  click on the  toolbar  or select Add Edit Templates from the Edit  menu  Click the template name in the Add Edit Tem   plates dialog box  then click  Edit Icon   Refer to  section 5 1 2     Edit a Template Icon    for more informa   tion     9 7 Where to Go From Here    This chapter introduced the basics of programming applica   tions using Code View and the Qlarity programming lan   guage  As your familiarity with Qlarity increases  your  ability to program complex tasks and customize your appli   cation will grow  To strengthen your background in Qlarity   you should read the OptoTerminal Programmer   s Refer   ence Manual     Next  proceed to Chapter 10     Advanced Design    in this  manual to help you get started producing your own object  templates     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     88    OptoTerminal Qlarity Foundry User   s Manual    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 10    ADVANCED DESIGN    The ability to completely design custom objects for a user  application is the crowning feature of the Qlarity program  
185. option to enable the port   6 1 2 Input   Keyboard External Keypad TouchScreen    Click the input mode or modes that are supported by your  terminal and that you plan to use     If you select  External Keypad   click  Select  to select an  external keypad configuration  create a new configuration   or modify an existing one to match the actual keypad that  you are using with the terminal     6 1 3 Communications    Number of serial ports   Select the number of serial ports available on your Qlarity   based terminal  Most terminals have either one or two serial  ports     6 1 4 Miscellaneous    Manufacturer ID  MID    If you purchased a custom MID code for your Qlarity based  terminal  enter it in the text box  Your Qlarity based termi   nal will emulate a terminal with the MID code  If you did  not purchase a custom MID code  leave this value at the  default     6 2 Layout    Click the Layout tab to define the layout of the Qlarity  Foundry work area to simulate your terminal display     OptoTerminal Qlarity Foundry User   s Manual    Olarte Foundry Preferences                 Terminal Layout   Editor   Compile   Simulation    Ti how legend around I Highlight object under the mouse    e E    Grid  Grid Spacing ho  lt    e Show Grid  Snap to Grid      Show data types in properties window            IY Show popup help for objects  amp  properties    Tab location  Bottom        Layout View colors  double click to set     Display Border  Selected Object  Hot object       Dragging
186. or is drawn when the mouse passes    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    over the resize grip and the restrictions on drag movement  for the resize grip  See    Tool Messages    in the OptoTermi   nal Programmer   s Reference Manual     The xCoords and yCoords arrays receive the horizontal and  vertical locations for each resize grip  respectively  The size  of the three arrays  xCoords  yCoords  and cursors  deter   mines the number of resize grips that will be drawn  All  three arrays should be sized to the same value  The boiler   plate code sizes these arrays to 8  so 8 resize grips will be  drawn for the object  The code then locates the grips on the  perimeter of the object at locations calculated from the posi   tion and size properties     Qlarity Foundry draws lines to connect each resize grip   The closed parameter determines whether a line connecting  the first and last grips will be drawn  Ordinarily  this is  desirable  However  certain objects  such as the Line and  PolyLine objects in the QSI Common object library  do not     enclose    a space on the screen and the last line is not desir   able  A value of TRUE causes this line to be drawn  This  property also determines whether clicking inside the object  will select it in Layout View     The code for the MSG _ TOOL  MOVEHANDLE handler is  as follows     Hinis tu  etion 1s Called an response to       gt      user movin
187. orner of the dis     play      Sc i cl S  FY    Test was completed  l    Test  vas  completed        Serial data programmed to be transmitted through the termi   nal   s Com1 or Com2 port appears in the lower portion of the  Communications window  You can also enter data in the  upper portion of the window and click  Xmit  to simulate  data being sent to the terminal     Click El to access the Communications Settings dialog box   see section 6 5 1 for information      Click  Fl to clear  flush  the contents of the window   3 10 2 Simulation View Limitations  Simulation View has the following limitations     e When using a keyboard         the repeat delay rate is determined by the global set   ting in Windows  This will only match your terminal s  settings 1f you set 1t to match on your PC         PrintScreen and Pause Break keys cannot be properly  simulated     e SetSystemSetting    and related API functions  may not  be fully simulated     e The flash file system 1s simulated but not persistent  1 e    it is erased when you leave Simulation View      Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     18    3 10 3 Source Level Debugger    A source level debugger is included in Qlarity Foundry   This allows an application developer to look at the execu   tion of the Qlarity code line by line in order to find pro   gramming errors  If an error is expected in a specific place  in the code  a breakpoint can be set at that point and execu   tion will
188. ors if you  choose     Qlarity Foundry includes several predefined named colors  with each new workspace  e g   Clr_ScreenBackground and  Clr_ScreenForeground  Clr_ButtonBackground and  Clr_ButtonForeground  and so on   You can create as many  additional named colors as needed for a workspace  e g    Clr_StartEndButtons_BG and Clr_StartEndButtons_FG      The colors of named colors  along with named borders  see  section 5 5  are set up in    themes     see section 5 4 1   You  can create your own themes and named colors  and you can  edit the predefined themes and named colors     To create or edit named colors and themes for a workspace   select Edit Named Colors from the Edit menu  The follow   ing dialog box is displayed         Edit Named Colors  Select a named color from the list  then click on a new color to assign to it     CALAS SEE orita        EERE Bee A A    xl               Clr_ButtonBackground  Clr_ButtonBackground  lt  i Clr_ButtonForeground       Cl_ButtonForegroundalt  M   ci_FiiCotor  Clr_LabelBackground             rename color  Reset color to theme defaut         Theme     standard y             ie          Save current border and      lb A T  color settings as theme  III CS         HHH      _  Clr_ScreenB ackground  Cl_ScreenForeground  Clr_SoftkeybarB ackground  Cir_SoftkeybarButtonB g    ES  Clr_SoftkeybarButtonFg          O Cancel         5 4 1    Themes    The colors and border definitions assigned to named colors  and named borders are grouped togethe
189. p  ttfont  and bdffont     8 6 Test the User Application    You can test most of your application s functionality in  Simulation View before you download it to the terminal  If  the application uses serial communication  you may want to  configure Simulation View to use your PC s serial port s  to  simulate serial communication  refer to section 6 5 3      Serial Port Setup         17    8 7 Save and Compile a Workspace    8 7 1 Save a Workspace   You should save your workspace often while you are work   ing on it to prevent losing work in the event of a computer  lockup or power failure  To save a workspace  click p on  the toolbar or select Save Workspace from the File menu   For more information on saving a workspace  refer to  section 4 4     8 7 2 Compile a Workspace    You should compile your workspace periodically while you  are working on it to properly display the changes in Layout  View  Compiling is also required before you download a  user application  Click 2 on the toolbar  or select Com   pile Workspace from the File menu to compile the current  workspace into the format required for a user application     If the compile is successful  the program displays the work   space in Layout View  If any errors occur during the com   pile  the program switches to Code View  and the error  messages are displayed in the Compile dialog box     8 8 Download a User Application    Before you can download a user application to the Qlarity   based terminal  you need to configur
190. p Bitmap 0 00 Renare Ent  BacklUpEitmap Bitmap 0 00  BasicEthernet Source 1 52 Set Entry Version  BasicSerial Source 1 52        DisplaySettinmg Source 1 52  Ethernet Source 1 52  EthernetProtocolFunctions Source 1 52 Add New Entry    Gauge Source 1 52  Grid Source 1 52  Homebuttar Source 1 52  homecdownbitrnap Bitmap 0 00  homeupbitmap Bitmap 0 00 O K    Line Source 1 52 a as       NOTE  use caution in editing libraries   Changes that you make to libraries take effect immediately  and cannot be undone  Remember that a library may be  used in more than one workspace  and changes made to the  library affect every workspace in which it is loaded     You can change the library name  version  or icon colors  as  well as change the entries in the library     Name   To change the library   s name  click in the    Name    text box   and type over the existing entry  The change is reflected in  the    Filename    column in the Libraries dialog box     Version   To change the version number of the library  click in the     Version    text box  and type over the existing number  The  change is reflected in the    Status    column in the Libraries  dialog box     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Icon Foreground Icon Background   On the Object Palette  icons for all objects in a library use a  common color scheme  Use these options to specify or  change the foreground and or background color of
191. p download size    4601   Flash required  64 kbytes  Download application    Download other BFF          Serial   Ethemet      Port  com      Baud rate   115200     Data Format  en       Send sting over senal connection      nt  ag Induce  Set unit time e      In Apploader    NOTICE  receiwed request from kernel to enter bootloader  Entering G5  Bootloader 1 07 4      ln Bootloader gt    Bootloader entered    O51 Bootloader 41 074   Built Jan 20 2003 at 17 22 15   Received new kernel  266626 bytes       yO Clear results box   Close Window      If Open serial port whenever this screen is shown            a       57    7 4 5 Set Unit Time    Use the Set Unit Time function to set the real time clock on  the Qlarity based terminal  as follows     1  The terminal must be in    download    or    develop     mode  If necessary  set up the Qlarity based terminal  for downloading using the terminal   s Power On Setup  utility  Refer to the OptoTerminal Hardware User   s  Manual for information on using Power On Setup     NOTE  time set through serial port   The time is set through the serial port connection  If your  terminal is connected to an Ethernet port  you will need to  change it to a serial port to perform this function     2  Click Set Unit Time  bottom of the Serial tab      The message      lt Setting Time gt     is displayed in the     Results    box  If no further message is displayed  the  terminal   s time has been set  If an error occurs  it 1s dis   played in the    R
192. past its left edge      Finally  the container area object boilerplate code for the  MSG_TOOL_DRAGCREATE handler is as follows        The following function is called when   gt      the user created an instance of this   gt      template by selecting it from the object   gt      palette and dragging it in the layout view      The handler for MSG_INIT is not called   gt      automatically  and if you want it   gt      called  you should call it manually       You should call Tool_Persist on all the   gt      properties that you set up in this   gt      message handler   xl  yl  are the   gt      coordinates that the user started his   gt      drag and  x2  y2  are the coordinates   gt      that the mouse was released     parentObj as objref    gt   xl as integer  yl as integer  x2 as   gt     func ToolDragCreate    integer  y2 as integer   handles MSG _TOOL DRAGCREATE    if  x2  lt  x1  then    xPos    x2   width    x1   x2   1  else   xPos    x1   width    x2   x1   1  endif    ie Aya  lt  yl   then  yPos    y2    OptoTerminal Qlarity Foundry User   s Manual    height     yl   y2   1  else   yPos    yl   height    y2   yl   1  endif   parent    parentObj       Save the properties that we just set  Tool_Persist  parent    Tool Persist  xPos    Tool_Persist  yPos    Tool Persist  width    Tool_Persist  height        Call our MSG_INIT handler  StartUp     endfunc    Since the location and size of an area object container is  determined by the extent of the click and drag operati
193. perties window for you to select the resource for an  object instance  For information on changing the name   refer to section 5 2 3     5 2 2 Preview Resources   When you select a resource in the list  a preview of the  resource is displayed in the    Preview    box  as shown  below  1f appropriate  If you selected an audio resource   click the button in the    Preview    box to listen to the sound     31    Edit Resources       Bitmaps   BDF Fonts   TrueType Fonts   Audio   Binary         Catalog resources catalog  bmp  default     Glarity  bmp  E I  cita resources gbermq U  brp       resources splash2  bmp  resources  tankap    bmp       splash   tank ap    Resource data  Filename     resources gterm a70  bmp Browse    Rename  gterm_gr 0                    Resource data  Filename     larabiet  ttf Browse    Rename  larabieb          Mew TrueType fort   Remove TrueType font    Cancel           10  The Quick Broun Fox      The Quick Brown A   gt  The Quick Bro  A  The Quick H    The Huic  The Qui            ei    5 2 3 Rename a Resource    In the Edit Resources dialog box  do the following to  change the name of a resource  This changes the name that  appears in the Properties window for you to select the  resource for an object instance  it does not change the file  name of the resource     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     32    1  From the list of resources  select the resource that you  want to rename  and click  Rename    re
194. plate in a library  Use this option to copy an object template from an  existing library object  When you select this option  a     Based on    box replaces the    Object type    box  Select  the object you want to copy from the drop down list     Extend  inherit  a template from an existing tem   plate in a library   Use this option to create a new object template based  on the programming code from an existing library  object  When you select this option  a    Based on    box  replaces the    Object type    box  Select the object you  want to copy from the drop down list  Refer to the    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     28    5     OptoTerminal Programmer   s Reference Manual for  more information on extending templates     In the    Template Name    box  type a name for the new  template  Each template in the workspace must have a  unique name  A template name has no size limitation  but must start with a letter  A name cannot contain  spaces but may use the underline character  _   The  percent      pound      and dollar sign     symbols can  be used at the end of the name     The last box is labeled either    Object Type    or    Based  on    depending on the option you selected     In the    Object Type    box  select the type of object you  are creating from the drop down list  as follows     An object that contains other objects  Container  e g   a form   It can be defined as  part or all of the terminal screen     l A di
195. ption is aborted  but the current message continues to  propagate to other objects until it has been processed to  completion     At this point  if there are any exceptions in the system  exception stack  the system software generates a  MSG_ERROR message  which is processed immediately   1 e   before any other pending messages are processed    MSG_ERROR is a special message that can only be pro   cessed by handlers in the Global Code space  This allows  applications to provide a    last chance    global error handler  routine that receives all unhandled exceptions  The  MSG_ERROR handler has no parameters  so the exceptions  must still be retrieved by calls to GetException       Retrieving an exception by calling GetException   removes  the exception from the system exception stack  Therefore   calling GetException   terminates an exception unless it is  rethrown by calling the Rethrow   API function     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     92    If the exception has not been handled  1 e   removed from  the system exception stack  after MSG_ERROR is pro   cessed  or if there is no global MSG_ERROR handler  the  exception is either discarded  for exception levels of  EXLEV_IGNORABLE or lower   or the exception location  and description are transmitted from the primary serial port   for exceptions of EXLEV_SYSTEM or higher      The typical    check error    block or global MSG_ERROR  handler calls GetException   to retrieve informati
196. r   ders are shown next to the named border labels     Save Current Border and Color Settings As Theme   To save as a theme any changes you made to the named bor   ders  click  Save current border and color settings as  theme   A prompt appears with the name of the currently  selected theme  If you do not want to change the border  designs in the theme displayed  enter a new name to create a  new theme  Remember that the current named colors  see  section 5 4     Edit Named Colors     are also saved as part of  the theme     NOTE  save current theme  If you change themes without saving the changes you made  to the current theme  the changes to the unsaved theme are  not saved when you click  OK      5 5 2 Named Borders    NOTE  named borders not supported on older objects  Named borders cannot be assigned to objects in libraries  from Qlarity Foundry versions earlier than 2 1     To create or edit named borders  begin by selecting a theme  from the Theme drop down list  The attributes of named  borders are saved in themes     All named border attributes for the selected theme are dis   played  Both the named border label and the border  attributes currently assigned to the named border are shown     To change the attributes for a named border  click the  named border to select it  then select from the    General  Effects        Rounded Corners     and    Double Borders     options  see the following sections for details  to modify the  border  The new attributes are shown in 
197. r   s Manual       Display the object      This function will be called whenever   gt      necessary to show the object   func Draw pass as boolean   handles MSG DRAW  if not pass then  SetFGColor  RGB _WHITE   SetBGColor  RGB_GRAY   DrawBox  XPOS  YPS  XPOS F width   gt     ls YPOS   bergh 1   DrawLine  xPos  yPos  xPos   width   gt     lig    POS    Herghte   1   DrawLine  xPos  yPos   height   1    gt   XPOS E WHGER   1   YPOS   endif    endfunc    Notice that the MSG_DRAW handler for a container takes  a boolean parameter  This is because a container receives  two opportunities to handle a MSG_DRAW message  once  before the message is passed to its children  and once after  the children have finished handling the message  The value  that the handler receives in the pass parameter indicates  whether or not the message has already been passed to the  container   s children  see    Draw Messages    section of the  OptoTerminal Programmer   s Reference Manual      10 5 2 Getting New Object Templates to Work in  Qlarity Foundry    Since Qlarity Foundry does not have knowledge of the  implementation of a Qlarity object  the object template must  implement handlers for several tool messages to work prop   erly in Qlarity Foundry  These messages are generated by  Qlarity Foundry when the user interacts with the object in  Layout View  For example  when an object is selected  it  should display a series of resize grips to allow the user to  resize the object by dragging the mouse 
198. r gt  to save the new name  or press  lt Esc gt  to  revert to the old name     5 1 4 Remove a Template    In the Add Edit Templates dialog box  do the following to  remove an object template from the workspace     1  Click the template that you want to remove  It is high   lighted in blue     2  Click  Remove Template      3  A prompt is displayed to confirm that you want to  remove the template  Select  Yes  to remove the object  template from the workspace     5 1 5 Send Template to Library    After you have created and customized an object template   you can add it to a library  By placing your object templates  in a library  they can easily be distributed to other locations  or computers by copying the library file  e g   libraryname lib      NOTE  do not add to QSI libraries  You should not save your new object templates to QSI  libraries  QSI libraries are regularly updated  and the new    29    libraries replace the existing ones  so your templates would  be overwritten  Instead  you should create a new library in  which to store your own object design work  Refer to  section 5 3     Edit Libraries    for more information     In the Add Edit Templates dialog box  do the following to  add an object template to a library     1  Click the template that you want to add to a library  It is  highlighted in blue     2  Click  Send Template to Library   The following dia   log box is displayed     Send to Library l x   Select ibrar  Es      Entry name  NewM ha    Leave templa
199. r in themes   See  section 5 5     Edit Named Borders    for information on  named borders   Several predefined themes are set up in  Qlarity Foundry  You can change the colors or border defi     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    nitions in a predefined theme  or you can save the changes  as a new theme     Generally  a theme represents a color scheme  such as a  theme with all grayscale colors  a theme with shades of  blue  or a theme with neon colors  To view the colors in a  theme  select the theme from the Theme drop down list   The colors assigned to the named colors are shown  Each  theme uses the same named color labels  only the colors  assigned to them are different from theme to theme     Theme  Click the drop down list and select a theme  Its defined col   ors are shown next to the named color labels     Save Current Border and Color Settings As Theme   To save as a theme any changes you made to the named col   ors  click  Save current border and color settings as  theme   A prompt appears with the name of the currently  selected theme  If you do not want to change the colors in  the theme displayed  enter a new name to create a new  theme  Remember that the current named border definitions   see section 5 5     Edit Named Borders        are also saved as  part of the theme     NOTE  save current theme  If you change themes without saving the changes you made  to the curre
200. r more detail     Validation functions may also be associated with global  variables  These global validation functions should be  included in the Global Code space     NOTE  strict assignment operator   Ordinarily  the validation function assigns the new value to  the property using the strict assignment operator       It is  important to use the strict assignment operator when assign   ing the new value to the property inside the validation func   tion  If the validation assignment operator is used  the  validation function recursively calls itself until the system  software stack overflows     Refer to    Validation Methods    section in the OptoTerminal  Programmer   s Reference Manual for additional details on  validation functions     10 3 The Qlarity API Library    The Qlarity API  Application Programming Interface  is a  library of functions built into the Qlarity system software   These functions allow Qlarity applications to interact with  the Qlarity based hardware to perform tasks such as draw   ing on the display or sending data to a communications  interface  Other functions perform common tasks that  would be tedious or difficult to implement using the Qlarity  language  Over 100 functions are available  All functions  are documented in    Qlarity API Function Reference    sec   tion of the OptoTerminal Programmer   s Reference Manual     10 4 Exception Handling    When an abnormal condition arises while a Qlarity applica   tion is running  the system software 
201. riables as desired     6  Click   or select Compile from the File menu to  compile the workspace  Any errors in the new source  code are identified by messages in the Messages and  Errors window  If no errors are present  the compiled  workspace is returned to Layout View     9 5 2 Add a Global Function to a Workspace  To add a global function to the workspace  do the following     1  Select Globals in the Object Tree to access the Global  Code space     2  Select Code View  The editor window displays any cur   rent global source code     3  On a blank line in the editor window  outside of any  other function  declare a new function by typing the     func    keyword  followed by the name of the function   a left parenthesis  the parameters of the new function   and a right parenthesis  If the function returns a vari   able  the right parenthesis should be followed by the  keyword    returns     then the type of the returned value   The end of the new function is indicated by the    end   func    keyword  on its own line   The parameters appear  as new variable declarations  see section 9 5 1  without  the    dim    keyword  Each parameter is separated from  other parameters by a comma     OptoTerminal Qlarity Foundry User   s Manual    For example  the following code declares a new func   tion named    average    that takes two floats  named first  and second  as parameters and returns a float     func average first as float  second as   gt     float   endfunc    returns floa
202. rity  Foundry to automatically create a validation function     8  Optionally enter an initial value for the variable  the  Properties window category in which the variable  should be placed  i e  General  Main  etc     and any  text that you want added to the variable   s online docu   mentation     9  Click  OK  to add the global variable     9 5 1 2 Add a Global Variable in the Global Code Sec   tion    Use the following method to enter the variable directly in  the Globals section in the Code View window     1  Click the Code View tab   2  Click Globals in the Object Tree to open the Global  Code section  Any current global source code is dis     played in the editor window     3  Ona blank line in the editor window  separate from any  other function   declare a new variable by typing the    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     84       dim     dimension  keyword  followed by the name of  the variable  the keyword    as     and then the type of the  new variable     For example  the following code declares a new integer  variable named    count        dim count as integer    4  If desired  also assign an initial value to the variable by  adding a new line containing the keyword    init     the  name of the new variable  the          operator  and the ini   tial value of the variable     For example  the following line initializes the new  count variable to a value of 10     init count    10  5  Repeat steps 3 and 4 for as many va
203. rity Foundry  the    Welcome to  Qlarity Foundry    dialog box is displayed  To start a new  workspace from this dialog box  click  Start New      To start a new workspace with Qlarity Foundry open  click   y on the toolbar  or select New Workspace from the File  menu     The following dialog box is displayed     Select the type of workspace to create     Choose the type of project to create   Workspace for PAC Control  loControl  andor Opto F operation    Workspace for PAC Control or ioControl communication anly    Workspace for OptoMMP communication anly    Create workspace like the last one created  Workspace for PAC Control  ioContral     Description     Enables an OptoT erminal to communicate with Opto 22 controllers using PAC  Control or ioControl strategy vanables andor the UptoMMP  memon map  protocol   The workspace also has several display options and objects not available in other  workspaces  This workspace can only be used with Opto 22 controllers that can  run a PAC Control or ioControl strategy and have firmware AB O or later        Show Details  gt  gt     The upper box lists several types of workspaces you can  create  The difference between workspace types is deter   mined by the library or libraries included with the selection   The following workspace types are available     PAC Control  ioControl  and or OptoMMP operation   This option includes the Opto22 PAC library   Opto22_PAC qlib   the Basic library  basic qlib   and the  Extra library  extra qlib   
204. rogramming language  Once  you are familiar with the basics of Qlarity programming  it  is easy to program complex event handling into objects  without the need to manage numerous    event    properties    9 4 1 Override an Object Method    To override an object method in your application  do the  following     1  Add the object that will be used to handle the event   e g   ButtonV2  TimerV2      2  Select the object in the workspace in Layout View or in  the Object Tree  and select Code View     3  From the  Events Overrides  drop down list above the  code  select the method you want to override     Select  Show only event functions  if you want the  drop down list to displays only methods that have been  designated    event methods     If  Show only event  functions  is not selected  all possible override meth   ods are listed  Move the mouse pointer over a method  in the list to display a description of the function     4  When you select a method from the list  code similar to  the following appears beneath all code for the object     func click      endfunc    5  Between the    func    statement and the    endfunc    state   ment  add Qlarity code to implement the desired  response to the event     A typical event response might include code to set  properties in this or another object  The Qlarity code to  do this is as follows      lt objname gt   lt propertyname gt   lt value gt      lt objname gt    This is the name of the object whose property will be  changed  To a
205. rror    Message Handlers we  Existing functions wt New Variable      Insert at    a ARRE r RENA ARRE RARA ARRE RARA RAR RARA RAR RARA RARA RRA ARA RRA a a a a r aa  8     0     Author     Date     i FTFSerwer  EE   af  HideFullS creenColorLbIT  i   of  QwertyKeypad    of  TranslucentColorPicker  E af  BacklightDownBtn  E af  BacklightUpBtn Description   E af ContrastDownBtn  Version  1 0 2    iT  E af  ContrastUpBtn   Copyright   001  051 Corporation    Em  af EndGames   Permission is granted to copy  distribute and modify this code     Bl   gt  af HelpSideButtonsS cr  i          y ObjectsScr provided that this copyright statement is Preserved   Cee TTT a a a a a a a a a a a r a a aa a a a a aa    af  GraphicsS cr    y CiagnosticsS cr   af FunScr   af NavScreen   af  TemplateS cr    y SplashScreen   af  ScreenSaver   af  SorSaverdn   af ScrSaverLlf   af  Scr2Home    a  e af Scr2Next    Be af Cur DDL ListBox    af  Curr DDL_HideT immer return     a  Templates endfunc  ES _ODLHideTimer Jm     DropDownList 2  CE  DropDownLis Layout View  E  Code View    SA FodeFinmap      Line  1  Col  1    Polyqonve   Randy Flint     2 Novy 2003   This object Draws a Polyline    library standard source  3dcolors   doc object LaserPolygon     This object can be used to draw polygons  multiple connected   line   segments that share a first and last endpoint    fdefaultitem func   fdefaultiterm prop    gl   gt   50       gl   gt   50  sae  50    e  50  sae  gl   gt   a  E  a    E    aE  a  sE  p  
206. ry default     6 3 2 Font    From the Font drop down list  select a font for the text in  Code View  A sample of the font is shown in the    Sample  Text    box  From the Point Size drop down list  select a  point size for the selected font  The    Sample Text    reflects  the selected point size     6 3 3 Tab Spacing    Enter the number of characters  or use the selection arrows  to select the number  to be indented when you press  lt Tab gt      6 3 4 Show Advanced Code Sections in Object Tree     Normally disabled  Select this option to show the advanced  code sections in Code View  This adds an    Advanced  Code        Libraries     and    Internals    branch to the Object  Tree  and enables advanced users to work with advanced    OptoTerminal Qlarity Foundry User   s Manual    and library code  For information on these functions  refer  to section 10 1     6 3 5 Fast Selection    This option determines how text selected in Code View is  displayed  If you enable this option  selected text is  inverted  If disabled  text is blocked and highlighted     6 3 6 Parenthesis Matching    If you enable this option  when the cursor in Code View is  at a parenthesis or square bracket character  both the charac   ter at the cursor and the matching parenthesis or square  bracket are underlined  If disabled  parentheses and square  brackets are not matched     6 3 7 Edit Events in the Event Builder    If you enable this option  the default event editor is Event  Builder  see section 8 
207. s ces aren ese eae tuceie ie as taste E seatace sa neea heen E E meee  44  M EONO corar sass ve oois sea Saaa adore crea dloeanaha E I 45  E A A A II II elo ad ne adele de route a oon 45  E OAC sss ced sata PP    nce eased skies nak aS oo tga ceca Sas acess oes oceans eo a das bbe GasuaiTas uae ca aed ue thal sew muaceontahaastoaia test 46  Sree So A A nS er 46  6 34 Show Advanced Code Sections in Object TE iia 46  E A A AE 46  6 3 0 Parenthesis Mate hii mesias loco dea dicta 46  6a Edi Events in the  Event DUI dE a A tail 46  6  Auto Help SEIS ai aia 46  G53  8  Functions and  Methods misil di 4   030 2  Tener Completo ia doa ie Mi atesced dacanestbeeoned imagens uneeser ees E sue eu eal 47  6 3 8 3 Assignment and Parameters cxtshateadececcessedeebencecaendesecodadeeicanesacnsracnsseebenaytiiee wvedasdeelonigts session 47  6 3 9 4 Show Global Variables    and Functions desainer n ida 47  6 3 8 5 Show Object Properties and Methods          ccccccccccccecccceeeeeeeeeeececeeseeeeaaeeaeaessaeesseseseessseseeeseeeeeseseeees 47  6 3 5 6  SHOW for Built Data TiPesira iaa 47  030 2  Fade AMORE P TIDS ee E E E Ena 47  04 COMPE N E R 48  o aR TII ao 1R VIE Weiss cet E AET ENE AAA ANA AA A E 48  631 Communications Window SEC GS isc shin dec hens io 49  EA Gy DAG SeN S i A 50  00  Sem all PORE SEUS bid 50  CHAPTER 7   DOWNLOAD SOFTWARE  TO THE TERMINA Locas ieron chica dacsadecnsedcusnesetasseutiesadetdadssasescuasdedesecbedseidccusdvestecastecbicauoetasuseesssdeeuss 53  TA Configure Co
208. s in the  Object Tree       Feet Selection    popup pep packoround ll    Set color   Automatic colo  Edit events in the Event Builder  Reset all colors to default   AutoHelp settings      6 3 1    Colors    You can specify a background color or different colors for  different parts of the programming code  as follows    e Background   e Normal text   e Keywords   e Strings    e Symbols    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     46    e Comments   e Documentation   e Errors   e Selection   e Popup help background  e Popup help border    e Help accent color    You can specify that keywords  strings  symbols  comments   or errors appear in colors different from normal text to assist  in finding and identifying them within the code     Click an item to display its color in the    Sample Text    box   Double click an item  or click  Set Color  to change the  color  A color selector dialog box appears  Click a color in  the basic colors section to select it  To create a custom color   drag the color selector in the rainbow palette to a color  and  then drag the slider up or down to adjust the saturation and  lightness of the color  or enter the HSL or RGB of a color   Click  OK  to change the item to the selected color     Automatic Color  Click an item  then click  Automatic Color  to set the color  to the automatic color     Reset All Colors to Default  Click  Reset All Colors to Default  to set the color of every  item to the Qlarity Found
209. s option  other system libraries are not  included  If code in one library relies on code in another  library that is not included in the Qlarity workspace  the  compiler will generate errors     Include as reference   If you select this option  a reference to all system libraries in  your workspace is included  A library that is included as a  reference is available to the Qlarity compiler but will not  generate an error if the workspace is moved to a computer  that does not have that library     Include directly   If you select this option  all system libraries are included  directly  If the workspace is moved to a computer that does  not have one of the system libraries  compile time errors  will occur     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     38    NOTE  included system library objects   If you select an option to include additional system librar   ies  the library objects do not appear in the Object Palette   5 3 5 Create a New Library    Do the following to create a new Qlarity Foundry library     1  Click  Create New Library   A dialog box similar to  the one shown below is displayed     Create new library     Save in  E Qlarity Foundry         __ AppHelp  C  Samples          a 8 E El    e  multilingual  glib        pan       LJ AutoDoc LITT Fonts o 2warld  glib  LJ auxsuppor tutorials   CI bdf fonts E Basic  lib   L  documentation 2 DataProc  glib   2  Firmware 2 Extra  qlib   File name     A  Save as type   Library files    l
210. set to  lt None gt   any serial send and receive  requests by the application are ignored  If you are setting up  more than one port  assign a different PC serial port to each  terminal serial port     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     52    OptoTerminal Qlarity Foundry User   s Manual    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     CHAPTER 7    DOWNLOAD SOFTWARE TO THE TERMINAL    This chapter provides information to do the following     Configure Communications Port  e Download a User Application  e Download a BFF File    e Upgrade the Firmware    7 1 Configure Communications Port    To configure the communications port used to download  user applications to your Qlarity based terminal  select  Download Application from the File menu  The following  dialog box is displayed     25 Download application to unit           Download  pp download size  24614  Flash required  64 kbytes  Download application      Download other BFF    Upgrade firmware           Serial   Ethemet          Port  fealty H    Baud rate   115200     Data Format  en       Send sting over senal connection      nt  a je   Induce    Set unit time bootloader    Results      oe Clear results box   Close Window      W Open serial port whenever this screen is shown    a       NOTE  settings must match the terminal   Your communication settings in Qlarity Foundry must  match those at the Qlarity based terminal  For information  on ref
211. sion of firmware is on the Qlar     ity based terminal  do the following to determine the cur   rent version of terminal firmware     1  Verify that the Qlarity based terminal is connected to  your computer     2  Put the Qlarity based terminal in    Develop    mode   App Mode  Develop   Refer to the OptoTerminal  Hardware User   s Manual for instructions     3  Select Download Application from the File menu     4  Power the terminal on  If it is already on  power it off  and back on     The firmware version and date of issue are displayed in  the    Results    box  as shown in the figure below     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     56    E Download application to unit           Download    pp download size    4607  Flash required  64 kbytes    Download other BFF    Upgrade firmware           Serial   Ethemet      Port  com     Baud rate  115200     Data Format  ani       Send sting over serial connection       srt  oe Induce   aci Wilk ime   bootloader      Engineering ethernet address detected   Development mode   Firmware version 1 570 c 1 016 BFF   Built Mar 19 2003 at 13 38 12  Download application                 ee Eee Clear results box   Close Window      y Open serial port whenever this screen is shown e       7 4 2 Prepare Terminal for Upgrade    To prepare the terminal to receive new firmware using a  serial or Ethernet connection  set the    App Mode    option to  either Develop or Download  Refer to the OptoTerminal  H
212. sions       Onentation    Landscape     Display Type      Color       M Audio Decoder  I  Ethernet              Tabs are available to define your Qlarity based terminal  display  to define the layout of the Qlarity Foundry work  area  to set up the code editor  and to set up compile  defaults  as described in the following sections     6 1 Terminal    The options in the Terminal tab are for advanced users or  for those setting up a custom hardware configuration  Gen   erally  you should use the Hardware Configuration Assis   tant to set up your terminal     Base Terminal   To change the type of Qlarity based terminal you want to  program  select the new terminal type from the drop down  list  The type of terminal selected determines the legend you  will see around the display in Layout View  The display     Dimensions    setting changes to match that of the selected  terminal    6 1 1 Display Setup   Dimensions   From the drop down list  select the display dimensions  in  pixels  of your model of Qlarity based terminal  Refer to  your Qlarity based terminal specifications for this informa   tion     Orientation   A terminal may be mounted in landscape  longest dimen   sion is horizontal  or portrait  longest dimension is vertical   mode  Select one of the following options from the drop   down list  Portrait  Landscape  Portrait Il  or Landscape  II     The Portrait Il and Landscape Il options can be used by  advanced programmers in conjunction with the GetSystem   Setting   
213. sons 5   Sli  Hardware    Oni lS uracon ASS ta a S 5   Bel ADEM  WO E e a 5   ILL AO WO AA A A A meine  7   sA MIEL OPUS A OO LOS 8   A A o O o ME autacnieniameniias sshsteaatituutesadae sh aseamandacedinias  8   ee A A 9   IAV ION NE A PP An 10   IA TOOLS MA A tT ae 10   O e A AAA PPP ta dutuieeieaes i unseeaesdeunsd E E 12   OO NAM sta cetiese st icate E sass tatnod aa nua palscaee ead E Aen eae eee  12   0 Layout View TOD atea 12   IZ C ode Vie wT OOM A Cana end eee ee cerca ee naan 13   IAS SIMU AON nn o o coats A a 14   DOs IVINS Ce ATC OUS Bar ak ca see Basis areas sisted a round da Pucgawinsc a eats dvad Ga aa gaiooa nb lutea decal a acl a weAe sees eecue  14   Sl Navicanon Bat  Code VIEW ONY anio 15   SL Global Template or LDL COS A A a 15   ate ODjEC E stance Codere ral ia ia inci 15   KOOD ECEE e O Ae uel masta tunin AA cadmas a eta toad 15   SOL ll is 16   FSL OB EE emplee Ni 16   5 9  Layout and Code VCW S taa mewcnancedats 17   ni AAA a O an sees 17   SAO Sena MO SUP DUE add iisids 18   521022  Simulation VIEW AUTOS o E 18   LO Source Level DEDO dlls cuendo inca 19   DAOA Carle Stack WING OWN 19   SMS Wate  Wind Wiese a eiii  19   Se lil  A esac rusia Pataca Cees Dea hea TE a Beale asia ceeds clue 19   DAZ ODC CEPA E a aa E A ana 21   3 121   Add a New Object IMS tan Si ios A oan  21   JLS  MONE and Resize WW IMG OWS dd 22   Sy Where CO iO Prom TCC eine a daa casein cd tad ede ats aie a ante a ieee eee aed es eae Steieaetiae sie 22  CHAPTER 4     Opto 22 Fax 800 
214. source name       e g    Rename    qterm_g70       A dialog box is dis   played with the current name of the resource selected in  the text box     Olarte Foundry    Enter the new name for the resource       2  Type over the name with the new name  or edit the  name as desired     3  Click  OK  to rename the resource and close the dialog  box  The new name appears in the    name    column of  the resource list     5 2 4 Change a Resource File    In the Edit Resources dialog box  do the following to  change the file assigned to an existing resource name     1  From the list of resources  select the resource for which  you want to change the file     2  Click  Browse  and an Open dialog box appears     3  Select the file that you want to assign to the resource  name     4  Click  Open  to accept the file and close the dialog  box  and the file is changed     5 2 5 Remove a Resource    In the Edit Resources dialog box  do the following to  remove a resource from the workspace     1  From the list of resources  select the resource or  resources that you want to remove  You can select mul   tiple resources as described in the note above     2  Click  Remove resource type   e s    Remove BDF  Font    The selected resource s  is removed from the  workspace     OptoTerminal Qlarity Foundry User   s Manual    5 2 6 Bitmaps    Qlarity Foundry supports bitmap images in the standard   bmp format  Use the following guidelines when creating  bitmap images to be displayed on Qlarity based t
215. space and Qlarity libraries  All of the  libraries provided with Qlarity Foundry have been docu   mented using the AutoDoc feature  This appendix contains  the complete specification on how to write AutoDoc meta  data  If you choose not to add AutoDoc meta data  your  templates  properties  and methods will still appear in the  object documentation and be available for the AutoHelp  feature in Qlarity Foundry  but they will not contain helpful  descriptions     B 1 Documentation Declaration    To begin documenting a program element  use the follow   ing syntax      doc  lt element type gt   lt element name gt     Where  lt element type gt  is one of  func  prop  obj   override  type  group   and  lt element name gt  is  the name of the element you are documenting  Normally   you would place the documentation declaration immedi   ately before the element declaration  However   doc obj  declarations for object templates often appear inside the  template definition itself     All AutoDoc constructs that follow a documentation decla   ration apply to that declaration until a new declaration is  encountered  AutoDoc constructs that appear before a docu   mentation declaration are not allowed      doc func MyNewFunc   doc obj NewObject   doc type DataType    The following program elements may be documented     Func  A global function or an object method     Prop  A global variable or object property     Obj  An object template     Override   The same as a function except that it de
216. specified item will be  imported     itemlist  Only valid for    type     lt element types gt   Imports a simple list  of enumeration or start type items for the specified data    type     OptoTerminal Qlarity Foundry User   s Manual    itemdesc   Only valid for    type     lt element types gt   Imports the list of  enumeration or start type items for the specified data type as  well as those items    descriptions  The items and descrip   tions are displayed in a table format     In addition to  lt import what gt   importing items also supports  the following  non exclusive  format commands     indent  The imported text tables will be indented from the left mar   gin     box  The imported text tables will be displayed in a box     fill  The imported text tables will be displayed in a box that is  filled with a gradient fill     Examples      This function will return one of the   following values     importdoc type weekday   itemlist  indent   box     Please review the following valid   protocols    importdoc type netprotocol   all    B 5 Function Parameters    When documenting functions  you may use the  param  directive to describe the parameters of the function  When  the documentation is displayed  the parameters are summa   rized in an easy to read table   param directives are also  used for the AutoHelp feature in Qlarity Foundry      param  lt parameter name gt   lt parameter  description gt     This assigns  lt parameter name gt  the given  lt parameter  description g
217. splay element  e g   text object   bitmap object  line object  etc      An object that serves a function not  related to the display  e g   key defi   nition  communications  etc       Non drawable  object       For more information on object types  refer to Chapter  8     Basic Design    and to Appendix A     Glossary of  Software Terms        In the    Based on    box  select the library object on  which the new object template is to be based  The pro   gramming code from the library object will be copied  to the new object template     Click  OK  to create the new template     5 1 2 Edit a Template Icon    Each template 1s identified in the Object Tree by an icon  To  customize the icon for a template  click the template name  in the Add Edit Templates dialog box  then click  Edit  Icon   The following dialog box is displayed     OptoTerminal Qlarity Foundry User   s Manual    Edit Template Icon    Invert      Left Button  E Dl pm  Right Button mi    El    Filicon lm       Copy icon Py    OR    Cancel         The icon form is graphically represented as a grid  Each  square in the grid is an individual pixel  On the grid  draw  the icon for the template using the following tools     e If you want to modify an existing icon to create a new  one  click the drop down arrow at the    Copy icon    box   and select an icon from the list  The selected icon is dis   played     e If you would like to start with all pixels the same color   1 e   white  black  or a shade of gray   cli
218. ssary  An error message is displayed  when an error occurs that prevents compiling  Error mes   sages cannot be disabled     Limit BDF Fonts to ASCII Characters   If this option is enabled  only the ASCII characters in BDF  fonts are displayed  Unless you need to use characters  beyond the standard ASCII character set  you should enable  this option to reduce the memory requirements for BDF  fonts   The Qlarity based terminal contains 256 ASCII  characters       Enable Unicode support in the standard objects   If this option is enabled  the workspace is compiled so that  all text is drawn using the Unicode character set  This  option is primarily used when developing Qlarity applica   tions that support non Latin based languages such as Chi   nese or Japanese  To use the extended characters in the  Unicode character set  you must include one or more fonts  in the workspace that contain the Unicode characters that  you want to display  There are many such BDF and True   Type fonts available on the Internet     OptoTerminal Qlarity Foundry User   s Manual    NOTE  Unicode support and advanced programming  When Unicode support is enabled  Qlarity Foundry treats  the charstr data type as a unistring rather than a string  Since  most objects    value or caption properties are of type charstr   string  or byte array  data must be converted to a charstr  before they can be displayed in an object  This includes all  data received from a serial or Ethernet port  as well as many  API f
219. ssign values to its own properties  the  override function in an object can refer to itself using  the    me    keyword as the     lt objname gt         OptoTerminal Qlarity Foundry User   s Manual     lt propertyname gt   This is the name of the property to change      lt value gt   This is the new value to assign to the property     Another common activity is switching screens  display  pages  or hiding one object and displaying another  To  switch screens  the method typically disables the cur   rent screen object and enables the screen object for the  desired new screen  as follows     false    curscreen enabled    newscreen enabled true  where    curscreen    and    newscreen    are the names of  the screen objects to be manipulated     Since the override method is a complete Qlarity func   tion  local variables can be declared and code including  conditional statements  if else   looping  for next  do   while  etc    and any other legal Qlarity code can be  added to the function  Complete details on the Qlarity  programming language are found in the OptoTerminal   Programmer   s Reference Manual     NOTE  return from functions   Since Qlarity is an event driven program  you should return  from functions in a timely manner  Writing code that does  not return will cause the system to hang     6  Click      Compile button   or select Compile from the  File menu to compile the workspace  If there are com   pile errors in your code  messages are displayed in the  Messages an
220. t    NOTE  code formatting   A statement is defined as a single line of code  In order for  the compiler to distinguish between statements  each state   ment must be separated by a    newline    character  If a state   ment must be split into multiple lines  type   gt  at the end of  the line to tell the compiler to look for the rest of the state   ment on the next line     4  Fill the body of the function  between the    func    state   ment and the    endfunc    statement  with the Qlarity  code to implement the desired function  If the function  returns a value  be sure to include a return statement   followed by an expression that yields the value being  returned  For more information  see the OptoTerminal  Programmer   s Reference Manual     In the example above  the completed function is as fol   lows     func average first as float  second as   gt     float  returns float  return  first   second   2 1  endfunc    5  Repeat steps 3 and 4 for as many functions as desired     6  Press     or select Compile from the File menu to  compile the workspace  Any errors in the new source  code are identified by messages in the Messages and  Errors window  If no errors are present  the compiled  workspace is returned to Layout View     9 5 3 Add a Global Message Handler to a Workspace    Message handlers are functions that are called by the system  in response to a message generated by an event  Examples  of such events are a touch screen press or the receipt of  characters throug
221. t   The  param directive must appear entirely on  one line  It may not be split into multiple lines      doc func sqrt    param real The value whose square root will  be calculated      Calculates the square root  of the parameter   lt b gt read lt  b gt  and returns that value    func sqrt  real as float  returns float    Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual       calculate the square root  endfunc    You may also use the  link or  importdoc directives in a   param directive as follows      param LEDCommand  Determines the behavior  of the LED  One of the following values    importdoc type ledcmd     itemdesc      param PixmapToProcess  A pixmap to process   This should be an array returned from the    link func GetOb jPixmap  function    B 6 Data Type Elements    When documenting data types  you may assign descriptions  to each enumeration or start type item      item  lt item name gt   lt item description gt     This assigns  lt item name gt  the specified  lt item description gt    The  item directive must be completely specified on a sin   gle line  It may not be split into multiple lines     doc type ledcmd    Used by the   Flank func SetLED      APT to determine the state to put the LED in   item LED_ON  Turn on the specified LED   item LED_OFF  Turn off the specified LED   item LED_TOGGLE  Toggle the state of the  specified LED   enumerate ledcmd as LED_ON    1  LED_OFF     2  LED_
222. t Shift gt   lt Tab gt  to move backwards     NOTE  Properties window  When you press  lt Tab gt   the Properties window changes to  match the newly selected object     8 3 2 1 Move an Object    To move an object  do one of the following   e Use the mouse  Click in the center of the object  hold    down the mouse button  and drag the object to a different  position  You can hold down the  lt Shift gt  key while mov     OptoTerminal Qlarity Foundry User   s Manual    ing an object to limit its movement to horizontal  vertical   or a 45   angle     e Use the Properties window  Enter a new x and or y posi   tion integer in the Properties window     8 3 2 2 Resize an Object  To resize an object  do one of the following     e Use the mouse  If the object has    resize grips     sizing  handles   you can click and drag any grip to resize the  object  Click and drag a corner grip to maintain the  height width proportions while resizing     Resize Grips E    e Use the Properties window  Change the height and or  width integer in the Properties window     8 3 2 3 Change the Order of Objects    You can change the Z order of an object or the parent child  relationship simply by changing the object   s position in the  Object Tree     To move an object to a different location in the Object Tree   click and drag it to the desired position  The icon for the  object is dragged to the new location     A horizontal placement line  as shown in the illustration  below  appears as you drag the o
223. t is not currently  loaded in Qlarity Foundry to the Qlarity based terminal  but  the file must be in binary file format  BFF   Use this option  to save a file to BFF  Refer to section 4 6 for information     Download Application  Layout and Code View only   Select this option to download files to the Qlarity based ter   minal  You can download the currently loaded workspace   any BFF file  or a firmware upgrade  Refer to Chapter 7      Download Software to the Terminal    for information     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     Recent Files   After you have created and saved Qlarity files  you can use  this option as a shortcut to open a file that was recently  opened  Click Recent Files  and a list of previously opened  files is displayed  Click the file that you want to open     Exit  Select this option to exit Qlarity Foundry     3 4 2 Edit Menu    The options in the Edit menu change depending on whether  you are in Layout View or Code View   The Edit menu is  not available in Simulation View      Select All  Code View only   Select this option to select all code in the Code View win   dow     Cut   In Layout View  select an object in the work area  then  select this option  or press  lt CtrI gt   lt X gt   to cut the object  from the workspace  In Code View  select code  then select  this option  or press  lt Ctrl gt   lt X gt   to cut the selected code  from the workspace  The object or code remains on the    Windows clipboard 
224. t_dowmnibl  B a  Instructions   YS gf  Lines  Ea    ai ColorPalette  EHD    yf SpeakerTab    sl Line 6  B d Instructions  a HighButton     men  Mrs r na       OptoTerminal Qlarity Foundry User   s Manual    A parent object can also be a child  a container object with  children inside another container object      HardwareNew     and    SoftwareNew    in the illustration are examples of par   ent objects within other parent objects     8 2 4 Z Order    Z order is the order in which objects are layered  The Z   order determines how objects are displayed  whether they  are behind or in front of another object or objects  and the  order in which information is processed  messaging   In a  Qlarity Foundry workspace  the Object Tree lists objects in  their Z order  with those listed first receiving the highest  display and messaging priority     To change an object   s Z order  click and drag the object  name to a different position in the Object Tree  To learn  more about how parent child relationships and Z order  affect user applications  read the next section     8 2 5 Events and Messaging    Qlarity is an event driven programming language  An event  is any type of input  such as the following     e A keyboard key press or release   e A touch screen press or release   e A change in a value  increment or decrement   e A timer action    e Data received through the serial port    When an event occurs  a Qlarity user application responds  with all appropriate and specified actions 
225. tance created from the template  Indeed   many objects have methods that are intended only for over   ride  the default method in the template does nothing  This  allows an object to provide or    publish    a way to customize  the behavior of the object without modifying the template   For example  a timer object might provide a function called  Alarm    which is called by the object each time a preset    81    time period expires  The function in the template does noth   ing  but it allows instances to override the function to pro   vide a desired response to the timer expiration     The code for the method override is defined inside the  object instance  The override method must have the same  name  parameters  and return type as the template method  that is being overridden  For example  if the method in the  template is named    foo     and it takes an integer and a float  as parameters and returns a float  then the override function  must also be named    foo    and must also take an integer and  a float as parameters  in the same order as the template  method  and return a float     In addition  if the template method handles one or more  messages  the override must handle the same message s    This may require you to examine the code in the template   possibly in a library   Otherwise  the method is like any  other Qlarity function and may contain whatever Qlarity  code is desired     The special function  Default    when placed inside an over   ride method  calls the
226. te in workspace when done         Cancel         3  Inthe    Select Library    box  select the library to which  you want the object template copied     4  The    Entry Name    box displays the name of the object  template  To assign it a different name within the  library  type a new name     5  If you want to leave the template in the current work   space after you copy it to the library  select Leave tem     plate in workspace when done     6  Click  OK  to place the object template in the selected  library     5 1 6 Change Template Type    In the Add Edit Templates dialog box  do the following to  change the object type of a template     1  Click the template that you want to change  It is high   lighted in blue     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     30    2  Click the radio button for the object template type to  which you want to change the template  as follows     An object that contains other objects   e g   a form   It can be defined as  part or all of the terminal screen     Container    Area object A display element      8   text object   bitmap object  line object  etc      An object that serves a function not  related to the display  e g   key defi   nition  communications  etc       Non drawable  object    For more information on object types  refer to Chapter  8     Basic Design    and to Appendix A     Glossary of  Software Terms        5 1 7 Extend a Template    A template may extend another    base    template  A 
227. template  that extends another template    inherits    the base template   s  properties and methods  In the Add Edit Templates dialog  box  do the following to extend a template     1  Click the template that you want to modify  It is high   lighted in blue     2  From the    Extends template    drop down list  select the  base template that you want the selected template to  extend  If you do not want the template to extend  another template  select  lt none gt  from the drop down  list  Refer to the OptoTerminal Programmer   s Refer   ence Manual for detailed information on extending  object templates     5 2 Edit Resources    Resources include all bitmap images  fonts  audio files  and  binary data files that are available in a workspace and  even   tually  in the user application  You must add resources to a  workspace before you can use them in object instances     Use the    Edit Resources    option to add resource files to  your workspace or to change or remove the resources avail   able  Because resources become part of the user application  when it is compiled  you should delete any unnecessary  resources        OptoTerminal Qlarity Foundry User   s Manual    NOTE  default bitmaps and fonts   When you create a new workspace  you have the option to  add default bitmap images and fonts to your workspace   Some objects may require at least one bitmap  BDF font  or  TT font resource before the object will function properly   When you have finished creating a workspace  
228. tend  inherit  a template from an existing  template in a library     Template name      Area Object       Caneel      Object type        3  Select one of the following options to start the new  template     Create a template ready to operate in Qlarity  Foundry   Use this option to insert the new template boilerplate  code into your workspace  see section 10 5 1     New  Template Boilerplate Code         Create a completely blank template  Use this option to start with a blank  unprogrammed  object template  You will need to add all Qlarity code     4  Type a name for the new template in the    Template  Name    edit box     5  Select the type of object  non drawable  area object  or  container  from the    Object Type    list box     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    10     11     Click  OK   The new template name appears in the  Add Edit Templates dialog box     Click  Close  to close the Add Edit Templates dialog  box     Select Code View  The new template name appears  under the Templates icon in the Object Tree  Templates  are not shown in the Object Tree in Layout View     Click on the new template in the Object Tree  If you  created a template    ready to operate in QF     the boiler   plate code appears in the edit window     Variables declared inside a template become properties  of the template object  and functions declared inside  the template become the object   s metho
229. ter a new value     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    Highlight object under the mouse   If this option is enabled  each object   s outline is highlighted  as you move the mouse pointer over it  If disabled  an  object   s outline only appears when you click it     Show data types in properties window   If this option is enabled  the data type of each property   integer  color  string  boolean  bdf font  etc   1s shown in  the Properties window     Show pop up help for objects and properties  If this option is enabled  a Help pop up appears when you  move the mouse pointer over icons in the Object Palette and  when you click on properties in the Properties window  The  text for the pop up Help is based on the Object Documenta   tion file  which you can view by pressing  lt F1 gt      Tab Location  From the drop down list  select your preferred location in  the window for the Layout View and Code View tabs     Layout View Colors   The components that appear in the work area layout are  listed  Click a component to display an example  in the     Sample    box  of the color in which it appears in the work  area  Double click an item to change the color  A color  selector dialog box appears  Click a color in the basic colors  section to select it  To create a custom color  drag the color  selector in the rainbow palette to a color and then drag the  slider up or down to adjust the satura
230. that  Qlarity Foundry will insert a blank entry in the library  To  enter the programming code for the object template  select  the new entry and click Edit Entry     You can also add new object templates that you have  already created with the    Send Template to Library    option  in Add Edit Templates  see section 5 1 5  for information     5 3 4 Advanced    Click  Advanced  to display the advanced options for edit   ing the standard and core libraries     OptoTerminal Qlarity Foundry User   s Manual       Advanced Library Options    Edit standard  natives  lib               System libraries that are not explicitly included in  this Workspace      Include as reference  recommended        OF    Cancel         5 3 4 1 Edit Standard  natives lib     In addition to native API functions  as described in the  OptoTerminal Programmer s Reference Manual   the stan   dard Natives library  natives lib  contains several utility  functions written in the Qlarity language  To make these  functions available  type the following in the Globals sec   tion of your workspace     library standard source  lt entryname gt      lt entryname gt  is the name of the library that contains the  additional API functions you want to use  To determine the  entry in which a function resides  locate the function in the  Object Documentation Help file  Each utility function in the  library begins with the underscore  _  character     Click the  Edit standard  button to view the utility func   tions includ
231. that can be performed by the object    type     8 4 1 Overview of Event Builder Steps  To design a user application using Event Builder  you will  generally take the following steps     e Decide what you want your Qlarity application to do     e Determine which objects you need  Some objects will be  used for events  others will perform the actions associ   ated with the events  Place all of the objects in the work   space     e Outline each event action association  e g   when a but   ton 1s pressed  an action or actions occur      e Use Event Builder to assign actions to each event     8 4 2 Event Builder Dialog Box   In Layout View  select an object in the workspace for which  you want to set up an event  The properties and events asso   ciated with the object are displayed in the Properties win   dow     Click the Events tab to see the events associated with the  selected object        Object Properties    Properties Events      click Bi  handler elease Ej  handlePress E     amp  a  T           Click El next to an event to open the Event Builder dialog  box to assign actions to the event     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual         Action AA  Fa       1 Click to add action       Select what type of action you wish to add from the drop down list in the grid  Once you have  selected a general action type  you may customize what exactly occurs during that action     Cancel    Edit in 
232. the Qlarity programming  language     An example of the work area of a workspace in Layout  View is shown below     Security View    Gutside On    Dutside Off  gt        Layout View closely simulates how the workspace will  appear after it has been compiled and downloaded to the  Qlarity based terminal     If you understand the Qlarity programming language  you  may use Code View to work with an object   s programming  code  Select an object instance and click the Code View tab  to display the property initializations for the object instance   Object instance code may also contain method overrides   which change the behavior of an object instance from that  specified in the object template     The following example shows the code for a text object in  the sample workspace  in the Layout View example above      OptoTerminal Qlarity Foundry User   s Manual    parent i  SetTernp    xpos i  42   yoos    210   width    236   height    20   caption     Currently set to     font    helvi4  transparent    true    fgcolor    rgb white       The following example shows the first portion of the pro   gramming code for the    TemperatureUpdate    template     Him enabled as boolean   init enabled    true   func enabled newval as boolean   enabled    newval  enable  me  enabled    endfunc    dim parent as objref   func parent  newval as objref   parent    neral  attach  me  parent    endfunoc     current temperature values   dim ctemp 4  as float   init ctemp i   F1  71  Fl  71    func ct
233. the list of  tutorials displayed  Click the tutorial you want to work  and  the tutorial   pdf file  1s opened in Adobe Acrobat  Read  through the tutorial and follow the instructions using the  sample workspace     Begin editing in Layout View   If this option is enabled  a workspace is automatically com   piled and shown in the    Layout View    when it is opened  If  disabled  the workspace is displayed in    Code View    and  will need to be compiled before it can be displayed in Lay   out View  You can also change this setting using the Set   tings function  Compile tab  see section 6 4     Compile         Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     3 3 Main Window    The Qlarity Foundry main window is shown below     g Olarity Foundry 2 501   New Workspace   Globals  File Edit view Tools Help Vienu Bar    Deng    xl Layout scale  1 v Outline all objects     Theme   classic w Misc  Bar    A   af ExceptionDisplay  EN   a    OptoPACComm    Hs  ae    af ScreenSaver    Object Tree    Work Area    Duo Errors    OptoTerminal Qlarity Foundry User   s Manual    Gal AM il  A 2 Toolbar    Object Palette     Seas  40 Be    1  E El E    _defaulipaccommo      optopaccornm    Properties window    Messages and Errors window    Menu Bar   The menu bar contains the File  Edit  View  Tools  and Help  menus  Refer to section 3 4 for a brief description of the  menu options  You can access all Qlarity Foundry options  from the menus     Toolbar   The tool
234. the parameters and return type for this function  The  allowed parameters and return type depend on what  message is being handled  There are no restrictions on  the name of the function except those imposed by Qlar   ity   See the OptoTerminal Programmer   s Reference  Manual  for more details      Also  a    handles    statement is needed on the line fol   lowing the function declaration  The statement begins  with the keyword    handles    followed by the name of  the message that is being handled by the function     For example  the following code declares a new mes   sage handler named    timer    that handles  MSG_TIMETICK  As explained in the OptoTerminal  Programmer   s Reference Manual  the handler takes no  parameters and does not return a value     func timer     handles MSG_TIMETICK  endfunc    Fill the body of the handler  on lines between the    han   dles    statement and the    endfunc    statement  with the  Qlarity code to implement the desired function  If the  handler returns a value  be sure to include a    return     statement  For more information  see the OptoTerminal  Programmer   s Reference Manual     For example  the handler described above could check  the value of a global variable named    threshold    and  enable an object named    cal_screen    if threshold is  greater than 10     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     86    The complete function example follows     func timer     handles MSG _TIMETICK 
235. the small image  next to the label  as well as in the preview box     NOTE  named border changed for all assigned objects  When you change the border design for a named border  it  is changed for all objects and properties to which the named  border is assigned     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     OptoTerminal Qlarity Foundry User   s Manual    NOTE  changes to named borders and themes   Any change to a named border only applies to the currently  selected theme  If you are making changes to more than one  theme  make sure you click  Save current border and  color settings as theme  before you change themes     When you have finished editing or creating named borders   click  OK  to save the changes and exit  or click  Cancel  to  discard the changes and exit     5 5 2 1 General Effects    Border Width  In the Border width box  enter  or click the arrow buttons  to select  the width of the border in number of pixels     3D Bevel   If you want a beveled border  as for a button   select 3D  Bevel  The options to select a raised or sunken bevel  appear  You can see the effect of each option in the pre   view     Border Color   If you do not select a 3D bevel  you can select a different  color for the border  Click Border Color  and a Select Color  palette appears from which to select the color     If you want to match a color from another object in the  workspace  click 2 beneath the color palette  and an image  of the workspace is d
236. tion and lightness of  the color  or enter the HSL or RGB of a color  Click  OK  to  change the component to the selected color     The work area components include the following     Out of Display  The area that the legend covers  not shown if    Show  Legend Around Display    is enabled      Display Border  The line separating the border and the work area  not  shown if    Show Legend Around Display    is enabled      Selected Object  An object that you click  The selected color outlines the  object to show that it is selected     Hot Object   The object under the mouse pointer if    Highlight object  under the mouse    is selected  The selected color out   lines the object as the pointer moves over it     45    Object Outlines  The outlines around objects if    Outline all objects    on  the toolbar is enabled     Grid  Grid lines appear in the selected color if    Show Grid     is enabled     Allow Locked Objects to be Moved within Object Tree  If an object is locked  it cannot be moved in the work area   If this function is enabled  however  a locked object can be  moved in the Object Tree     6 3 Editor    Click the Editor tab to set up options for Code View  The  code editor is displayed when Code View is selected and is  used to enter and edit objects    programming code           Glarity Foundry Preferences        Terminal   Layout Editor   Compile   Simulation    Colors Font    sample Text               Courier New    Tab Spacing    E    r Show advanced code section
237. u can also use the Add Edit Templates function to  change the name of an existing template     Click on the toolbar  or select Add Edit Templates  from the Edit menu  and the Add Edit Templates dialog box  is displayed   You can also right click anywhere in the  Templates branch of the Object Tree  and click Add Edit  Templates on the shortcut menu      FE  Add   Edit Templates          Base Template    Template       New Template    Remove lempate                   5 1 1    Add a New Object Template    In the Add Edit Templates dialog box  do the following to  create a new object template     1  Click  New Template  and the following dialog box is  displayed     New Template Vizard    SETENTA  O e eormne      Create a completely blank template     Copy the code of an existing template in a  library     C E stend  inherit  a template from an existing  template in a library     Template name      Area Object       Caneel      Object type        2  Select one of the following options to start the new    template     Create a template ready to operate in Qlarity  Foundry   Use this option to create a new object template by start   ing with the programming code for a basic object that  will function in Qlarity Foundry and display on the  screen  Additional programming is required to define  the object   s function  appearance  and so on     Create a completely blank template  Use this option to start with a blank  unprogrammed  object template     Copy the code of an existing tem
238. u want to save the workspace that was  loaded  or click  No  if you do not want to save it  A new   unnamed project is started using the default resources from  the previous workspace  At this point  you can start a new  project or open a different project using the    Open Work   space    option     4 4 Save a Workspace    The first time you save a new workspace  the Save As dia   log box appears so that you can enter a name for the work   space file  see section 4 4 2   Then  when you save the file   1t 1s saved to the file name you entered     If you want to make a copy of the workspace or change the  file name  use    Save Workspace As        If you want to transfer a workspace to another computer   use the    Collect for Output    function  see section 4 4 3  below    4 4 1 Save Workspace   To save a workspace  click E on the toolbar  or select  Save Workspace from the File menu  If you have already  named the workspace  the file is saved  If it is a new work     space and you have not yet named it  the Save As dialog  box appears  see section 4 4 2      4 4 2 Save Workspace As    To save a workspace to a different name  select Save Work   space As from the File menu  The following dialog box is  displayed     25    Save in   a Samples    e 1 Ed      communications packet parsing  Demo   g7Odemo   g Sdemo       games  hvac sample  transflective demo  Libasic_keyboard aly  Libasic_serial_communication qly  Lipassword _protected_screen qly    File name     o       Cancel  
239. unctions such as Str    Also  data in objects must be  converted to strings before they can be transmitted out the  serial port  You may use the _StrToCharstr   and  _CharstrToStr   functions to convert between string types   For more information  press  lt F1 gt  to view Object Docu   mentation  refer to section 3 4 5     Help Menu         Start in Layout View   If this option is enabled  a workspace is compiled as soon as  you load it  If you typically work in Layout View  you will  want this feature enabled  If you work more often in Code  View or your workspace has errors that haven   t been cor   rected yet  you may want to disable it     6 5 Simulation View    Use the options in the Simulation View tab to adjust or mute  the sound during terminal simulation  to set up communica   tions for the Communications window in Simulation View   to set up the computer   s ports to simulate the serial ports on  the Qlarity based terminal  and to specify simulated keypad  settings for applications that use an external keypad     Qlarity Foundry Preferences l x     Terminal   Layout   Editor   Compile Simulation    Speaker Volume    Communications Window Settings    Keypad Settings      Select             T Mute    Ethernet    simulation Default simulation       Play sound at  break paint    Serial Port Setup    Terminal Port    115200 aH  Hone  115200 aH  Hone        lt hOre gt   nones    These settings are the initial communications  settings that the com port s  use in Simulation
240. undry work  area  which includes the QSI standard touch key legend set   ting   to set up compile defaults  and to set up the Simula     tion display  Refer to Chapter 6     Qlarity Foundry    Preferences    for more information   8 1 3 Drawing Aids    When arranging the graphical objects on the terminal dis   play  proper alignment is important  Qlarity Foundry pro   vides the following tools to assist you with object layout     Layout scale   1        To change the scale of the work area  click the drop down  arrow and select the scale from the drop down list     Outline all objects       Select this option to draw a line around all defined objects   This is useful when you want to know the exact border loca   tion of each object  or when one or more objects was acci   dently moved out of the work area     61    Grid   You can display a grid over the work area to help you more  accurately place and align objects  You can turn the grid off  and on and change the spacing and color of the grid lines     Snap to Grid   If enabled  this feature forces objects to    snap    to the near   est grid line when added or moved  The top left corner of an  object   s rectangle snaps to the nearest horizontal and verti   cal grid lines when you release the mouse button     To customize the grid and enable    Snap to Grid     click    on the toolbar  or select Settings from the View menu   Click the Layout tab  and edit the follow settings as needed   refer to section 6 2 for more informat
241. until replaced by another    cut    or     copy    operation     Copy   In Layout View  select an object in the work area  then  select this option  or press  lt Ctrl gt   lt C gt   to make a copy of  the object  In Code View  select code  then select this option   or press  lt Ctrl gt   lt C gt   to copy the selected code  The object  or code remains on the Windows clipboard until replaced by  another    cut    or    copy    operation     Paste   In Layout View  select this option  or press  lt Ctrl gt   lt V gt   to  place a cut or copied object in a new location in the same  workspace or in a different workspace  In Code View  select  this option  or press  lt Ctrll gt   lt V gt   to place cut or copied  code at the cursor position in the same or a different work   space or in a different Windows application     Find  Code View only    Select this option to find code in the displayed object  instance  template  or workspace  Enter the characters or  code you want to find  and click  Find Next   To find only  characters matching the entered case  upper or lower    select Match Case  To search through all object instances  and templates in the workspace  select Entire Workspace     OptoTerminal Qlarity Foundry User   s Manual    Replace  Code View only    Select this option to find code in the displayed object  instance or template and replace it with specified code  In  the    Find What    field  enter the characters or code you want  to find  In the    Replace With    fiel
242. up of objects in the workspace  Before select   ing a tool  select the group of objects you want to manipu   late using one of the following methods     e Click and drag to create a selection box that encompasses  all of the objects you want to select  To cancel the box   click outside it     e Press and hold  lt Ctrl gt  or  lt Shift gt  and select objects either  by clicking on them in the workspace or by clicking on  their names in the Object Tree     NOTE  objects must have common parent   When aligning or spacing objects  all selected objects must  share the same object parent  1 e   must be in the same ter   minal screen   When sizing objects  all selected objects  must have a width or height property     With the group of objects selected  either right click one of  the selected objects in the work area  or pull down the Tools  menu  and select Align Size Space Objects     If you are aligning or sizing the objects  they will be aligned  or sized with the actively selected object in the group  To  make an object active  do one of the following     e Right click the object to select Align Size Space  Objects from its right click menu     67    e Press and hold  lt Ctrl gt  while you click the object in the  workspace or the Object Tree     The active object is indicated by solid resize grips and by  bold highlighting in the Object Tree     The following options are available on the Align Size Space  Objects menu     Align left  Aligns the left most resize grip of each se
243. value  Apart from  these restrictions  the function is written and behaves as a  normal function  The validation function can be explicitly  called from other Qlarity functions if desired     For example  when the graph level property of a bar graph  object is changed  you need to redraw the graph at the new  level  Also  values outside the range of the gauge should be     clipped    to a maximum or minimum value  These can both  be accomplished with a validation function for the graph  level property  Suppose that the property is an integer  named    graphlevel     The validation function might look  like the following     func graphlevel  newval as integer      clip to the max or min value  1f  newval  gt  maxval  then  newval   maxval   elseif  newval  lt  minval  then   newval   minval   endif      Now assign newval to level      Note the use of strict assignment op    graphlevel    newval      Now request this object to redraw   rerender  me     endfunc    The Rerender   function is a Qlarity API function  see  section 10 3     The Qlarity API Library     that generates a  MSG_DRAW message for the area of the object     For array properties  separate validation functions can be  written for assignment of the entire array and assignment of  individual elements of the array  See    Array Validation  Functions    and    Array Element Validation Function    sec     OptoTerminal Qlarity Foundry User   s Manual    tions of the OptoTerminal Programmer   s Reference Man   ual fo
244. workspaces in  Qlarity Foundry      J Chapter 5     Templates  Resources  and Libraries     How to add and edit templates  advanced function   edit  resources  and edit libraries     O Chapter 6     Qlarity Foundry Preferences     How to set up and define your terminal settings for  Qlarity Foundry and enter Qlarity Foundry preferences      J Chapter 7     Download Software to the Terminal     How to configure the terminal communications port   download user applications and BFF files  and upgrade  new firmware      J Appendix A     Glossary of Software Terms     A list of Qlarity    terms and their definitions  You  should read and understand these terms before you  attempt to perform the functions described in Chapter 9  and Chapter 10     Also available is the OptoTerminal Quick Start Guide  Opto  22 form 1338      1 2 Description    Olarity  pronounced    clarity      the programming language  used to program the Qlarity based terminal  is a powerful   BASIC like language that utilizes the full potential of the  Qlarity based terminal  Qlarity Foundry is a Windows     based design tool that uses Qlarity to help you design user  applications for the Qlarity based terminal     Qlarity uses    objects    as the building blocks for all user  applications  An object can take many forms  including text  labels and fields  bitmaps  lines  forms  key definitions   clocks  counters  and so on     Libraries  which are supplied with Qlarity Foundry  contain  predefined objects for w
245. y    that have not been added to the workspace     2  Select one or more libraries from the list     Opto 22 Fax 800 832 OPTO  6786  Web www opto22 com Phone 800 321 OPTO  6786     34    To select multiple libraries that appear consecutively in  the list  press and hold  lt Shift gt   then click the first and  last library in the group you want to select  To select  multiple non consecutive libraries  press and hold   lt Ctrl gt   then click each library that you want to select     The objects in the selected library or libraries are dis   played at the bottom of the dialog box     3  Click  OK  to close the dialog box  and the selected  libraries are added to the workspace  The objects in the  new libraries are added to the Object Palette     4  To add a library that is not listed  click  Add Other  Library  and an Open dialog box appears  Select the  library or libraries that you want to add  change the  folder if necessary   and click  Open   The library is  added to the workspace     5  Click  Close  to save your changes and exit the dialog  box  The workspace is compiled and the objects in the  new library are available for use in the workspace     6  Save the workspace to save the information to disk   5 3 2 Remove Library    Do the following to remove a library from the current work   space     1  All libraries that are loaded in the workspace are listed   Click the library that you want to remove  It is high   lighted     2  Click  Remove Library  and the library file
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Mode d`emploi  L-ACOUSTICS XT LINE  holiday  MAGNUM® PRO 250/350/450 AND 550  GE 164 D2092P167 Oven User Manual  Notice constructeur - Habitat Automatisme  Sólo de DuPont    Copyright © All rights reserved. 
   Failed to retrieve file