•  Back 
  •  Message-list 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File8.7.9.2  Messages from Geneva                                      TOS

 X_MN_SELECTED (0xE000)
     This message is either accompanied by the MU_MESAG bit of an 
     evnt_multi return, or is returned by the evnt_mesag call. When 
     this message occurs, the message buffer contains:

      Portion      Contents 
      msg[0]       0xE000 
      msg[3]       The object index of the menu title selected 
      msg[4]       The object index of the selected menu item 
      msg[5], [6]  The object tree of the menu item selected 
      msg[7]       The handle of the window containing the menu 

     This feature is used in conjunction with the wind_set option 
     X_WF_MENU, described in detail, below.

 X_WM_SELECTED (0xE100)
     This message is received when the user clicks on a window gadget 
     in a window whose flags were modified with the wind_tree 
     function. It only occurs when the X_WTFL_CLICKS attribute is off. 
     If the user clicks on one of the normal scroll gadgets or arrows, 
     a standard WM_ARROWED message is sent to the application. 
     However, when the user clicks on any other gadget, an 
     X_WM_SELECTED message is sent:

      Portion  Contents 
      msg[0]   0xE100 
      msg[3]   The handle of the window containing the gadget 
      msg[4]   The object index of the window tree object the user clicked on 

     This feature is used by the Task Manager's "Keyboard..." dialog.

 X_GET_HELP (0xE200)
     This message is sent to the Help display program when the user 
     requests help on a certain topic. The message is actually 
     comprised of two parts. When the application sees the X_GET_HELP 
     message, it must then use the appl_read function to get the 
     entire remainder of the message, whether it intends to use the 
     whole thing or not. The first part of the message is comprised of 
     the following values:

      Portion  Contents 
      msg[0]   0xE200 
      msg[1]   Application ID 
      msg[2]   Length of the second part ofthe message 
      msg[3]   Length of the topic portion of the message, including 
               the NUL terminator 
      msg[4]   Length of the filename portion of the message, including 
               the NUL terminator 
      msg[5]   Upper/lowercase sensitivity. If non-zero, the topic is 
               case-sensitive. 

     The second part of the message contains the actual text of the 
     topic and filename fields. This can be read with one or more 
     calls to appl_read.

     Example:

         void read_string( char *s, int max, int size )
         {
           char dummy;
 
           if( size<=max )               /* the whole string fits */
             appl_read( my_application_id, size, s );
           else
           {
             /* read what we can */
             appl_read( my_application_id, max-1, s);
             s[max-1] = '\0';            /* terminate the string   */
             /* now, get the remaining bytes of the string         */
             for( size=size-(max-1); size>0; size-- )
                appl_read( my_application_id, 1, &dummy );
           }
         }
 
         main()
         {
           int msg[8], caps_sens;
           char topic[20], filename[100];
 
           evnt_mesag( msg );
           switch( msg[0] )
           {
             case X_GET_HELP:
                caps_sens = msg[5];
               /* Read the topic portion */
                read_string( topic, sizeof(topic), msg[3] );
               /* Read the filename portion */
                 read_string( filename, sizeof(filename). msg[4] );
               /* Do whatever with it... */

 X_WM_HSPLIT (0xE400)
     This message is sent to an application when the position of the 
     horizontal split bar has changed:

      Portion  Contents 
      msg[0]   0xE400 
      msg[1]   Application ID 
      msg[2]   0 
      msg[3]   Handle of the window being affected 
      msg[4]   The new offset (in pixels) of the split bar 

     The application is then free to either act upon this message and 
     change the split bar position with wind_set( X_WF_HSPLIT, or to 
     ignore the message completely.

     See the x_wind_create function for more information.

 X_WM_ARROWED2 (0xE600)
     This message is sent to an application when the user has licked 
     on one of the arrow or scroll bar gadgets which are not reported 
     by the normal WM_ARROWED message. X_WM_ARROWED2 reports changes 
     in gadgets which are below a vertical split bar and/or to the 
     right of a horizontal split bar. The format of a X_WM_ARROWED2 
     message is identical to that of WM_ARROWED.

     See the x_wind_create function for more information.

 X_WM_HSLID2 (0xE700)
     This message is sent to an application when the user has dragged 
     the second horizontal scroll gadget, which appears to the right 
     of a horizontal split bar. The format of this message is 
     identical to that of WM_HSLID.

     See the x_wind_create function for more information.

 X_WM_VSLID2 (0xE800)
     This message is sent to an application when the user has dragged 
     the second vertical scroll gadget, which appears below a vertical 
     split bar. The format of this message is identical to that of 
     WM_VSLID.

     See the x_wind_create function for more information.

 X_WM_OBJECT (0xE900) (since Update 003)


     This message type is returned to an application when it uses 
     wind_set mode X_WF_OBJHAND to affect the manner in which window 
     gadgets are handled.

     If an application receives this message, it is because the object 
     tree handler routine instructed Geneva not to process the mouse 
     click on a window gadget as a normal event. Instead, a special 
     message is returned to the application:

      Portion  Contents 
      msg[0]   0xE900 
      msg[1]   Application ID 
      msg[2]   0 
      msg[3]   Handle of the window containing the object 
      msg[4]   Object tree index of the object which was clicked 

     Note that in order for Geneva to determine that the mouse has 
     been clicked on an object in a window's tree structure, it must 
     be of type EXIT or TOUCHEXIT. Geneva's default window gadgets 
     already have these attributes set correctly.

     See also: wind_set mode   X_WF_OBJHAND.