Google

SECTION 2.12 - THE CONTROL PANEL ITEMS VIEW-OBJECT ROUTINES

2.12.1 INTRODUCTION

The control panel view-objects give access from an application to the individual Panel Items within XDL_VIEW (Panel choice, button, slider etc.). The documentation on these items should be used in conjunction with this documentation. For those items which have an input to the application program, an active strip may be included within the control item and should be used where possible to fit in with the general philosophy of input to application programs via XDL_VIEW view-objects.

The following sets of routines are available:

Panel Choice Item Routines
Panel Button Item Routines
Panel Label Item Routines
Panel Value Item Routines
Panel Slider Item Routines
Panel I/O Item Routines

2.12.2 PANEL CHOICE ITEM ROUTINES

2.12.2.1 Introduction

These are routines for creating an handling a view-object containing a panel choice item.

The following routines are available:

View_object with a Panel Choice Item - xdl_control_choice
Reset selected choice - xdl_control_choice_reset
Get selected item number - xdl_control_choice_getdata
Get required size - xdl_control_choice_getzize

2.12.2.2 View_object with a Panel Choice Item - xdl_control_choice

The routine xdl_control_choice (xdlf_control_choice) is used to create a view object containing a Panel Choice item (See Panel Item Routines). An active strip may be displayed if desired.
 
Fortran call:
 
         CALL XDLF_CONTROL_CHOICE (IVH, IVHPARENT, IX, IY, IACT,
        +                          IHCEN, IVCEN, IFONT, IBRDR,
        +                          XDLSTR(LABEL), LLEN,
        +                          NITEMS, XDLSTR(STRINGS), LENSTRS,
        +                          IDFITEM, MSG, LENMSG,
        +                          MINW, MINH,IERR)
 
Parameters:
 
IVH       (R)   View-object handle (see vh)
IVHPARENT (R)   View-object handle for parent 0=none 
                (see vh_parent)
IX        (R)   X position (may be -1 if no parent) (see x)
IY        (R)   Y position (may be -1 if no parent) (see y)
IACT      (R)   Display active strip flag 1=yes, 0=no (see
                act_strip)
IHCEN     (R)   =1 Centre panel item horizontally, = 0 do
                not (left justify instead) (see hcen)
IVCEN     (R)   =1 Centre panel item vertically, = 0 do
                not (top justify instead) (see vcen)
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   Flag =1 border, =0 no border (see brdr)
LABEL     (R)   Address of label string for panel choice.
                ** Pass address using the XDLSTR function **
LLEN      (R)   Length of the label string (>0)
NITEMS    (R)   No. of panel choice item strings (see
                num_items)
STRINGS   (R)   Fortran array of character strings cotaining
                the panel choice item strings.
                [CHARACTER*LENSTRS STRINGS(NITEMS)].
                ** Pass address using XDLSTR function **
                (see strings)
LENSTRS   (R)   Length of the panel choice item strings
                (>0 (see len_strs)
IDFITEM   (R)   Default item number (see df_item)
MSG       (R)   Address of character string for active strip
                message. May be a blank string if IACT = 0.
                ** Pass address using XDLSTR function **
                (see msg)
LENMSG    (R)   Length of active strip message string (>0)
                (see len_msg)
MINW      (R)   Minimum width required (may be 0) 
MINH      (R)   Minimum height required (may be 0)
IERR      (W)   Returns status from xdl_control_choice call
 
'C' call:
 
int xdl_control_choice (vh, vh_parent, x, y, act_strip, hcen, vcen,
                        font_type, brdr, label, llen, 
                        num_items, strings, len_strs, 
                        df_item, msg, len_msg, minw, minh)
 
Parameters:
 
int       vh;             /* User selected view-object handle (R)*/
int       vh_parent;      /* View-object handle for the parent base frame, 
                             if 0 then a base  level frame is created to
                             enclose the view-object (R)*/
int       x;              /* x coordinate for the view-object.
                             If no parent may be -1 to give default x (R)*/
int       y;              /* y coordinate for the view-object.
                             If no parent may be -1 to give default y (R)*/
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       hcen;           /* =1 Centre panel item horizontally, = 0 do
                             not (left justify instead) (R)*/
int       vcen;           /* =1 Centre panel item vertically, = 0 do
                             not (top justify instead) (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* Flag =1 border, =0 no border to be drawn round
                             panel item (R)*/
char    * label;          /* Label string (R)*/
int       llen;           /* Label length, may be 0 if null terminated
                             string passed (R)*/
int       num_items;      /* No. of panel choice item strings (R) */
char    * strings;        /* Panel choice item strings. This may 
                             either be an array of pointers to num_items 
                             null terminated character strings (len_strs=0)
                             or a character string num_items*len_strs in 
                             length with each string occupying len_strs 
                             characters (left justified and padded to the 
                             right with blanks if needed). (R)*/
int       len_strs;       /* Strings length (0 = array of pointers to
                             null terminated character strings (e.g. for 
                             'C' programs) or the length of each string 
                             (e.g. for Fortran programs). See also the 
                             previous item. (R) */
int       df_item;        /* Default item number (R)*/
char    * msg;            /* Message for active strip, may be null if
                             no active strip required (R)*/
int       len_msg;        /* Length of active strip message string; may
                             be 0 is a null terminated string given for
                             msg (R)*/
int minw;                 /* Minimum width required (may be 0) (R)*/
int minh;                 /* Minimum height required (may be 0) (R)*/
Return:  Status flag =0 OK, >0 error
         bit 0 set: Requested parent not found in the view-objects list
         bit 1 set: Cannot allocate memory required

2.12.2.3 Reset selected choice - xdl_control_choice_reset

The routine xdl_control_choice_reset (xdlf_control_choice_reset) is used to reset the selecte item number for a control Panel Choice view-object.
 
Fortran call:
 
         CALL XDLF_CONTROL_CHOICE_RESET (IVH, ITEM, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
ITEM      (R)  New selected item number
IERR      (W)  Returns status from xdl_control_choice_reset call
 
'C' call:
 
int xdl_control_choice_reset (vh, item)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
int item;                 /* Rest item number (R)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.2.4 Get selected item number - xdl_control_choice_getdata

The routine xdl_control_choice_getdata (xdlf_control_choice_getdata) is used to determine the selected item number after a return from an XDL_VIEW event handling routine such as xdl_get_events (xdlf_get_events) indicates that there was input from the view-object in question.
 
Fortran call:
 
         CALL XDLF_CONTROL_CHOICE_GETDATA (IVH, ITEM, IERR)
 
Parameters:
 
IVH      (R)  View-object handle (see vh)
ITEM     (W)  Selected choice item number
IERR     (W)  Returns status from xdl_control_choice_getdata call
 
'C' call:
 
int xdl_control_choice_getdata (vh, item)
 
Parameters:
 
int vh;          /* View-object handle (R)*/
int *item;       /* Returns selected item number (W)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.2.5 Get required size - xdl_control_choice_getzize

The routine xdl_control_choice_getsize (xdlf_control_choice_getsize) is used to determine the required size for a control view-object containing a Panel Choice Item given various details about the requirements of the item.
 
Fortran call:
 
         CALL XDLF_CONTROL_CHOICE_GETSIZE (IACT, IFONT, IBRDR,
        +                          LLEN, LENSTRS, IWIDTH, IHEIGHT)
 
Parameters:
 
IACT      (R)   =1 include active strip, =0 do not
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   Flag =1 border, =0 no border (see brdr)
LLEN      (R)   Length of the label string (>0)
LENSTRS   (R)   Length (maximum) of the panel choice item 
                strings (>0 (see len_strs)
IWIDTH    (W)   Width required for view-object
IHEIGHT   (W)   Height required for view-object
 
'C' call:
 
void xdl_control_choice_getsize (act_strip, font_type, brdr, llen,
                                 len_strs, width, height)
 
Parameters:
 
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* Flag =1 border, =0 no border to be drawn round
                             panel item (R)*/
int       llen;           /* Required label length (>0) (R)*/
int       len_strs;       /* Panel choice strings length (maximum) 
                             (>0) (R)*/
int     * width;          /* Returns the required width in pixels (W)*/
int     * height;         /* Returns the required height in pixels (W)*/
Return:  None

2.12.3 PANEL BUTTON ITEM ROUTINES

2.12.3.1 Introduction

These are routines for creating an handling a view-object containing a panel button item.

The following routines are available:

View_object with a Panel Button Item - xdl_control_button
Set new label string - xdl_control_button_set
Get required size - xdl_control_button_getzize

2.12.3.2 View_object with a Panel Button Item - xdl_control_button

The routine xdl_control_button (xdlf_control_button) is used to create a view object containing a Panel Button item (See Panel Item Routines). An active strip may be displayed if desired.
 
Fortran call:
 
         CALL XDLF_CONTROL_BUTTON (IVH, IVHPARENT, IX, IY, IACT,
        +                          IHCEN, IVCEN, IFONT, IBRDR,
        +                          XDLSTR(LABEL), LLEN, MAXLEN,
        +                          XDLSTR(MSG), LENMSG,
        +                          IBOLD, ICENT,
        +                          MINW, MINH,IERR)
 
Parameters:
 
IVH       (R)   View-object handle (see vh)
IVHPARENT (R)   View-object handle for parent 0=none 
                (see vh_parent)
IX        (R)   X position (may be -1 if no parent) (see x)
IY        (R)   Y position (may be -1 if no parent) (see y)
IACT      (R)   Display active strip flag 1=yes, 0=no (see
                act_strip)
IHCEN     (R)   =1 Centre panel item horizontally, = 0 do
                not (left justify instead) (see hcen)
IVCEN     (R)   =1 Centre panel item vertically, = 0 do
                not (top justify instead) (see vcen)
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   Button border width (>0)
LABEL     (R)   Address of label string for panel choice.
                ** Pass address using the XDLSTR function **
LLEN      (R)   Length of the label string (>0)
MAXLEN    (R)   Maximum length to allow for a label string
                (label may be changed)
MSG       (R)   Address of character string for active strip
                message. May be a blank string if IACT = 0.
                ** Pass address using XDLSTR function **
                (see msg)
LENMSG    (R)   Length of active strip message string (>0)
                (see len_msg)
IBOLD     (R)   = 1 bold print, = 0 normal print for label
ICENT     (R)   = 1 centre label in button, = 0 do not
MINW      (R)   Minimum width required (may be 0) 
MINH      (R)   Minimum height required (may be 0)
IERR      (W)   Returns status from xdl_control_button call
 
'C' call:
 
int xdl_control_button (vh, vh_parent, x, y, act_strip, hcen, vcen,
                        font_type, brdr, label, llen, maxlen,
                        msg, len_msg,
                        bold, cent, minw, minh)
 
Parameters:
 
int       vh;             /* User selected view-object handle (R)*/
int       vh_parent;      /* View-object handle for the parent base frame, 
                             if 0 then a base  level frame is created to
                             enclose the view-object (R)*/
int       x;              /* x coordinate for the view-object.
                             If no parent may be -1 to give default x (R)*/
int       y;              /* y coordinate for the view-object.
                             If no parent may be -1 to give default y (R)*/
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       hcen;           /* =1 Centre panel item horizontally, = 0 do
                             not (left justify instead) (R)*/
int       vcen;           /* =1 Centre panel item vertically, = 0 do
                             not (top justify instead) (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* Border width for the button (>0) (R)*/
char    * label;          /* Label string (R)*/
int       llen;           /* Label length, may be 0 if null terminated
                             string passed (R)*/
int       maxlen;         /* Maximum length required for a label (button
                             label may be reset (R)*/
char    * msg;            /* Message for active strip, may be null if
                             no active strip required (R)*/
int       len_msg;        /* Length of active strip message string; may
                             be 0 is a null terminated string given for
                             msg (R)*/
int       bold;           /* = 1 bold print, = 0 normal print for label
                             (R)*/
int       cent;           /* = 1 centre label in button, = 0 do not (R)*/
int minw;                 /* Minimum width required (may be 0) (R)*/
int minh;                 /* Minimum height required (may be 0) (R)*/
Return:  Status flag =0 OK, >0 error
         bit 0 set: Requested parent not found in the view-objects list
         bit 1 set: Cannot allocate memory required

2.12.3.3 Set new label string - xdl_control_button_set

The routine xdl_control_button_set (xdlf_control_button_set) is used to set a new label string for a control Panel Button view-object.
 
Fortran call:
 
         CALL XDLF_CONTROL_BUTTON_SET (IVH, XDLSTR(LABEL), LLEN, 
        +                                IBOLD, ICENT, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
LABEL     (R)  Address of new label string
               ** Pass address using the XDLSTR function **
LLEN      (R)  Length of the label string (>0)
IBOLD     (R)   = 1 bold print, = 0 normal print for label
ICENT     (R)   = 1 centre label in button, = 0 do not
IERR      (W)  Returns status from xdl_control_button_set call
 
'C' call:
 
int xdl_control_button_set (vh, label, llen, bold, cent)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
char    * label;          /* Label string (R)*/
int       llen;           /* Label length, may be 0 if null terminated
                             string passed (R)*/
int       bold;           /* = 1 bold print, = 0 normal print for label
                             (R)*/
int       cent;           /* = 1 centre label in button, = 0 do not (R)*/

Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.3.4 Get required size - xdl_control_button_getzize

The routine xdl_control_button_getsize (xdlf_control_button_getsize) is used to determine the required size for a control view-object containing a Panel Button item given various details about the requirements of the item.
 
Fortran call:
 
         CALL XDLF_CONTROL_BUTTON_GETSIZE (IACT, IFONT, IBRDR,
        +                          MAXLEN, IWIDTH, IHEIGHT)
 
Parameters:
 
IACT      (R)   =1 include active strip, =0 do not
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   Required border width (>0)
MAXLEN    (R)   Maximum required length of the label string (>0)
IWIDTH    (W)   Width required for view-object
IHEIGHT   (W)   Height required for view-object
 
'C' call:
 
void xdl_control_button_getsize (act_strip, font_type, brdr, maxlen,
                                 width, height)
 
Parameters:
 
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* Button border width (>0) (R)*/
int       maxlen;         /* maximum required label length (>0) (R)*/
int     * width;          /* Returns the required width in pixels (W)*/
int     * height;         /* Returns the required height in pixels (W)*/
Return:  None

2.12.4 PANEL LABEL ITEM ROUTINES

2.12.4.1 Introduction

These are routines for creating an handling a view-object containing a panel label item.

The following routines are available:

View_object with a Panel Label Item - xdl_control_label
Set new label string - xdl_control_label_set
Get required size - xdl_control_label_getzize

2.12.4.2 View_object with a Panel Label Item - xdl_control_label

The routine xdl_control_label (xdlf_control_label) is used to create a view object containing a Panel Label item (See Panel Item Routines).
 
Fortran call:
 
         CALL XDLF_CONTROL_LABEL (IVH, IVHPARENT, IX, IY, 
        +                          IHCEN, IVCEN, IFONT, IBRDR,
        +                          XDLSTR(LABEL), LLEN, MAXLEN,
        +                          IBOLD, MINW, MINH,IERR)
 
Parameters:
 
IVH       (R)   View-object handle (see vh)
IVHPARENT (R)   View-object handle for parent 0=none 
                (see vh_parent)
IX        (R)   X position (may be -1 if no parent) (see x)
IY        (R)   Y position (may be -1 if no parent) (see y)
IHCEN     (R)   =1 Centre panel item horizontally, = 0 do
                not (left justify instead) (see hcen)
IVCEN     (R)   =1 Centre panel item vertically, = 0 do
                not (top justify instead) (see vcen)
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, =0 do not
LABEL     (R)   Address of label string for panel choice.
                ** Pass address using the XDLSTR function **
LLEN      (R)   Length of the label string (>0)
MAXLEN    (R)   Maximum length to allow for a label string
                (label may be changed)
IBOLD     (R)   = 1 bold print, = 0 normal print for label
MINW      (R)   Minimum width required (may be 0) 
MINH      (R)   Minimum height required (may be 0)
IERR      (W)   Returns status from xdl_control_label call
 
'C' call:
 
int xdl_control_label (vh, vh_parent, x, y, hcen, vcen,
                        font_type, brdr, label, llen, maxlen,
                        bold, minw, minh)
 
Parameters:
 
int       vh;             /* User selected view-object handle (R)*/
int       vh_parent;      /* View-object handle for the parent base frame, 
                             if 0 then a base  level frame is created to
                             enclose the view-object (R)*/
int       x;              /* x coordinate for the view-object.
                             If no parent may be -1 to give default x (R)*/
int       y;              /* y coordinate for the view-object.
                             If no parent may be -1 to give default y (R)*/
int       hcen;           /* =1 Centre panel item horizontally, = 0 do
                             not (left justify instead) (R)*/
int       vcen;           /* =1 Centre panel item vertically, = 0 do
                             not (top justify instead) (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
char    * label;          /* Label string (R)*/
int       llen;           /* Label length, may be 0 if null terminated
                             string passed (R)*/
int       maxlen;         /* Maximum length required for a label 
                             (label may be reset) (R)*/
int       bold;           /* = 1 bold print, = 0 normal print for label
                             (R)*/
int minw;                 /* Minimum width required (may be 0) (R)*/
int minh;                 /* Minimum height required (may be 0) (R)*/
Return:  Status flag =0 OK, >0 error
         bit 0 set: Requested parent not found in the view-objects list
         bit 1 set: Cannot allocate memory required

2.12.4.3 Set new label string - xdl_control_label_set

The routine xdl_control_label_set (xdlf_control_label_set) is used to set a new label string for a control Panel Label view-object.
 
Fortran call:
 
         CALL XDLF_CONTROL_LABEL_SET (IVH, XDLSTR(LABEL), LLEN, 
        +                                IBOLD, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
LABEL     (R)  Address of new label string
               ** Pass address using the XDLSTR function **
LLEN      (R)  Length of the label string (>0)
IBOLD     (R)   = 1 bold print, = 0 normal print for label
IERR      (W)  Returns status from xdl_control_label_set call
 
'C' call:
 
int xdl_control_label_set (vh, label, llen, bold)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
char    * label;          /* Label string (R)*/
int       llen;           /* Label length, may be 0 if null terminated
                             string passed (R)*/
int       bold;           /* = 1 bold print, = 0 normal print for label
                             (R)*/

Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.4.4 Get required size - xdl_control_label_getzize

The routine xdl_control_label_getsize (xdlf_control_label_getsize) is used to determine the required size for a control view-object containing a Panel Label item given various details about the requirements of the item.
 
Fortran call:
 
         CALL XDLF_CONTROL_LABEL_GETSIZE (IFONT, IBRDR,
        +                          MAXLEN, IWIDTH, IHEIGHT)
 
Parameters:
 
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, = 0 do not
MAXLEN    (R)   Maximum required length of the label string (>0)
IWIDTH    (W)   Width required for view-object
IHEIGHT   (W)   Height required for view-object
 
'C' call:
 
void xdl_control_label_getsize (font_type, brdr, maxlen,
                                 width, height)
 
Parameters:
 
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
int       maxlen;         /* maximum required label length (>0) (R)*/
int     * width;          /* Returns the required width in pixels (W)*/
int     * height;         /* Returns the required height in pixels (W)*/
Return:  None

2.12.5 PANEL VALUE ITEM ROUTINES

2.12.5.1 Introduction

These are routines for creating an handling a view-object containing a panel value item.

The following routines are available:

View_object with a Panel Value Item - xdl_control_value
Set new value string - xdl_control_value_set
Get input value string - xdl_control_value_getdata
Get required size - xdl_control_value_getzize

2.12.5.2 View_object with a Panel Value Item - xdl_control_value

The routine xdl_control_value (xdlf_control_value) is used to create a view object containing a Panel Value item (See Panel Item Routines). An active strip may be displayed if desired.
 
Fortran call:
 
         CALL XDLF_CONTROL_VALUE (IVH, IVHPARENT, IX, IY, IACT,
        +                          IHCEN, IVCEN, IFONT, IBRDR,
        +                          XDLSTR(LABEL), LLEN, 
        +                          XDLSTR(VALUE), IVLEN, MAXVLEN,
        +                          XDLSTR(MSG), LENMSG,
        +                          MINW, MINH,IERR)
 
Parameters:
 
IVH       (R)   View-object handle (see vh)
IVHPARENT (R)   View-object handle for parent 0=none 
                (see vh_parent)
IX        (R)   X position (may be -1 if no parent) (see x)
IY        (R)   Y position (may be -1 if no parent) (see y)
IACT      (R)   Display active strip flag 1=yes, 0=no (see
                act_strip)
IHCEN     (R)   =1 Centre panel item horizontally, = 0 do
                not (left justify instead) (see hcen)
IVCEN     (R)   =1 Centre panel item vertically, = 0 do
                not (top justify instead) (see vcen)
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, = 0 do not
LABEL     (R)   Address of label string for panel choice.
                ** Pass address using the XDLSTR function **
LLEN      (R)   Length of the label string (>0)
VALUE     (R)   Address of value string for panel value.
                ** Pass address using the XDLSTR function **
IVLEN     (R)   Length of the value string (>0)
MAXVLEN   (R)   Maximum length to allow for a value string
                (value may be changed)
MSG       (R)   Address of character string for active strip
                message. May be a blank string if IACT = 0.
                ** Pass address using XDLSTR function **
                (see msg)
LENMSG    (R)   Length of active strip message string (>0)
                (see len_msg)
MINW      (R)   Minimum width required (may be 0) 
MINH      (R)   Minimum height required (may be 0)
IERR      (W)   Returns status from xdl_control_value call
 
'C' call:
 
int xdl_control_value (vh, vh_parent, x, y, act_strip, hcen, vcen,
                        font_type, brdr, label, llen, 
                        value, vlen, maxvlen,
                        msg, len_msg,
                        minw, minh)
 
Parameters:
 
int       vh;             /* User selected view-object handle (R)*/
int       vh_parent;      /* View-object handle for the parent base frame, 
                             if 0 then a base  level frame is created to
                             enclose the view-object (R)*/
int       x;              /* x coordinate for the view-object.
                             If no parent may be -1 to give default x (R)*/
int       y;              /* y coordinate for the view-object.
                             If no parent may be -1 to give default y (R)*/
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       hcen;           /* =1 Centre panel item horizontally, = 0 do
                             not (left justify instead) (R)*/
int       vcen;           /* =1 Centre panel item vertically, = 0 do
                             not (top justify instead) (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
char    * label;          /* Label string (R)*/
int       llen;           /* Label length, may be 0 if null terminated
                             string passed (R)*/
char    * value;          /* Value string (R)*/
int       vlen;           /* Value length, may be 0 if null terminated
                             string passed (R)*/
int       maxvlen;        /* Maximum length required for a value string
                             (value may be reset) (R)*/
char    * msg;            /* Message for active strip, may be null if
                             no active strip required (R)*/
int       len_msg;        /* Length of active strip message string; may
                             be 0 is a null terminated string given for
                             msg (R)*/
int minw;                 /* Minimum width required (may be 0) (R)*/
int minh;                 /* Minimum height required (may be 0) (R)*/
Return:  Status flag =0 OK, >0 error
         bit 0 set: Requested parent not found in the view-objects list
         bit 1 set: Cannot allocate memory required

2.12.5.3 Set new value string - xdl_control_value_set

The routine xdl_control_value_set (xdlf_control_value_set) is used to set a new value string for a control Panel Value view-object.
 
Fortran call:
 
         CALL XDLF_CONTROL_VALUE_SET (IVH, XDLSTR(VALUE), IVLEN, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
VALUE     (R)  Address of new value string
               ** Pass address using the XDLSTR function **
IVLEN     (R)  Length of the value string (>0)
IERR      (W)  Returns status from xdl_control_value_set call
 
'C' call:
 
int xdl_control_value_set (vh, value, vlen)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
char    * value;          /* Value string (R)*/
int       vlen;           /* Value length, may be 0 if null terminated
                             string passed (R)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.5.4 Get input value string - xdl_control_value_getdata

The routine xdl_control_value_getdata (xdlf_control_value_getdata) is used to return the input value string after a return from an XDL_VIEW event handling routine such as xdl_get_events (xdlf_get_events) indicates that there was input from the view-object in question.
 
Fortran call:
 
         CALL XDLF_CONTROL_VALUE_GETDATA (IVH, XDLSTR(VALSTR), MAXV, IERR)
 
Parameters:
 
IVH      (R)  View-object handle (see vh)
VALSTR   (W)  Address of character string in which to place
              returned value string
               ** Pass address using the XDLSTR function **
MAXV     (W)  Max length of VALSTR (>0)
IERR     (W)  Returns status from xdl_control_value_getdata call
 
'C' call:
 
int xdl_control_value_getdata (vh, valstr, maxv)
 
Parameters:
 
int vh;          /* View-object handle (R)*/
char * valstr;   /* String in which to return value (W)*/
int maxv;        /* if >0 Maximum length of returned string allowed 
                          (excluding terminating null - string must be 
                          at least max_len + 1 characters in length)
                    if <0 abs(max_len) characters will be returned padded 
                          with blanks if needed (for 'fortran' use) (R)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.5.5 Get required size - xdl_control_value_getzize

The routine xdl_control_value_getsize (xdlf_control_value_getsize) is used to determine the required size for a control view-object containing a Panel value item given various details about the requirements of the item.
 
Fortran call:
 
         CALL XDLF_CONTROL_VALUE_GETSIZE (IACT, IFONT, IBRDR,
        +                        LLEN,  MAXVLEN, IWIDTH, IHEIGHT)
 
Parameters:
 
IACT      (R)   =1 include active strip, =0 do not
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, = 0 do not
LLEN      (R)   Length of label ((>0)
MAXVLEN   (R)   Maximum required length of the value string (>0)
IWIDTH    (W)   Width required for view-object
IHEIGHT   (W)   Height required for view-object
 
'C' call:
 
void xdl_control_value_getsize (act_strip, font_type, brdr, llen, maxvlen,
                                 width, height)
 
Parameters:
 
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
int       llen;           /* Label length (>0) (R)*/
int       maxvlen;        /* Maximum required value length (>0) (R)*/
int     * width;          /* Returns the required width in pixels (W)*/
int     * height;         /* Returns the required height in pixels (W)*/
Return:  None

2.12.6 PANEL SLIDER ITEM ROUTINES

2.12.6.1 Introduction

These are routines for creating an handling a view-object containing a panel slider item.

The following routines are available:

View_object with a Panel Slider Item - xdl_control_slider
Set new slider position - xdl_control_slider_reset
Get input slider position - xdl_control_slider_getdata
Get required size - xdl_control_slider_getzize

2.12.6.2 View_object with a Panel Slider Item - xdl_control_slider

The routine xdl_control_slider (xdlf_control_slider) is used to create a view object containing a Panel Slider item (See Panel Item Routines). An active strip may be displayed if desired.
 
Fortran call:
 
         CALL XDLF_CONTROL_SLIDER (IVH, IVHPARENT, IX, IY, IACT,
        +                          IHCEN, IVCEN, IFONT, IBRDR,
        +                          XDLSTR(LABEL), LLEN, 
        +                          ITRAVEL, ISTART,
        +                          XDLSTR(MSG), LENMSG,
        +                          MINW, MINH,IERR)
 
Parameters:
 
IVH       (R)   View-object handle (see vh)
IVHPARENT (R)   View-object handle for parent 0=none 
                (see vh_parent)
IX        (R)   X position (may be -1 if no parent) (see x)
IY        (R)   Y position (may be -1 if no parent) (see y)
IACT      (R)   Display active strip flag 1=yes, 0=no (see
                act_strip)
IHCEN     (R)   =1 Centre panel item horizontally, = 0 do
                not (left justify instead) (see hcen)
IVCEN     (R)   =1 Centre panel item vertically, = 0 do
                not (top justify instead) (see vcen)
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, = 0 do not
LABEL     (R)   Address of label string for panel slider.
                ** Pass address using the XDLSTR function **
LLEN      (R)   Length of the label string (>0)
ITRAVEL   (R)   Travel length of slider (in pixels)
                (see travel_len)
ISTART    (R)   Start position of slider from 0 to ITRAVEL
                (see startpos)
MSG       (R)   Address of character string for active strip
                message. May be a blank string if IACT = 0.
                ** Pass address using XDLSTR function **
                (see msg)
LENMSG    (R)   Length of active strip message string (>0)
                (see len_msg)
MINW      (R)   Minimum width required (may be 0) 
MINH      (R)   Minimum height required (may be 0)
IERR      (W)   Returns status from xdl_control_slider call
 
'C' call:
 
int xdl_control_slider (vh, vh_parent, x, y, act_strip, hcen, vcen,
                        font_type, brdr, label, llen, 
                        travel_len, startpos,
                        msg, len_msg,
                        minw, minh)
 
Parameters:
 
int       vh;             /* User selected view-object handle (R)*/
int       vh_parent;      /* View-object handle for the parent base frame, 
                             if 0 then a base  level frame is created to
                             enclose the view-object (R)*/
int       x;              /* x coordinate for the view-object.
                             If no parent may be -1 to give default x (R)*/
int       y;              /* y coordinate for the view-object.
                             If no parent may be -1 to give default y (R)*/
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       hcen;           /* =1 Centre panel item horizontally, = 0 do
                             not (left justify instead) (R)*/
int       vcen;           /* =1 Centre panel item vertically, = 0 do
                             not (top justify instead) (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
char    * label;          /* Label string (R)*/
int       llen;           /* Label length, may be 0 if null terminated
                             string passed (R)*/
int       travel_len;     /* Slider travel length in pixels. The slider
                             positions will represent travel_len + 1
                             discrete values (R)*/
int       startpos;       /* Start position of slider from 0 to travel_len
                             (R)*/
char    * msg;            /* Message for active strip, may be null if
                             no active strip required (R)*/
int       len_msg;        /* Length of active strip message string; may
                             be 0 is a null terminated string given for
                             msg (R)*/
int minw;                 /* Minimum width required (may be 0) (R)*/
int minh;                 /* Minimum height required (may be 0) (R)*/
Return:  Status flag =0 OK, >0 error
         bit 0 set: Requested parent not found in the view-objects list
         bit 1 set: Cannot allocate memory required

2.12.6.3 Set new slider position - xdl_control_slider_reset

The routine xdl_control_slider_reset (xdlf_control_slider_reset) is used to set a new slider position for a control Panel Slider view-object.
 
Fortran call:
 
         CALL XDLF_CONTROL_SLIDER_RESET (IVH, ISLIDE, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
ISLIDE    (R)  New slider position (0 to ITRAVEL)
IERR      (W)  Returns status from xdl_control_slider_reset call
 
'C' call:
 
int xdl_control_slider_reset (vh, islide)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
int islide;               /* new slider position (0 to travel_len) (R)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.6.4 Get input slider position - xdl_control_slider_getdata

The routine xdl_control_slider_getdata (xdlf_control_slider_getdata) is used to return the input slider position after a return from an XDL_VIEW event handling routine such as xdl_get_events (xdlf_get_events) indicates that there was input from the view-object in question.
 
Fortran call:
 
         CALL XDLF_CONTROL_SLIDER_GETDATA (IVH, IPOS, ITRAVEL, IERR)
 
Parameters:
 
IVH      (R)  View-object handle (see vh)
IPOS     (W)  The returned slider position (0 to ITRAVEL)
ITRAVEL  (W)  The travel length for reference
IERR     (W)  Returns status from xdl_control_slider_getdata call
 
'C' call:
 
int xdl_control_slider_getdata (vh, ipos, travel_len)
 
Parameters:
 
int vh;          /* View-object handle (R)*/
int *ipos;       /* returns the current slider position (W)*/
int *travel_len; /* Returns the travel length for reference (W)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.6.5 Get required size - xdl_control_slider_getzize

The routine xdl_control_slider_getsize (xdlf_control_slider_getsize) is used to determine the required size for a control view-object containing a Panel Slider item given various details about the requirements of the item.
 
Fortran call:
 
         CALL XDLF_CONTROL_SLIDER_GETSIZE (IACT, IFONT, IBRDR,
        +                        LLEN,  ITRAVEL, IWIDTH, IHEIGHT)
 
Parameters:
 
IACT      (R)   =1 include active strip, =0 do not
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, = 0 do not
LLEN      (R)   Length of label ((>0)
ITRAVEL   (R)   Travel length
IWIDTH    (W)   Width required for view-object
IHEIGHT   (W)   Height required for view-object
 
'C' call:
 
void xdl_control_slider_getsize (act_strip, font_type, brdr, llen, 
                                 travel_len, width, height)
 
Parameters:
 
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
int       llen;           /* Label length (>0) (R)*/
int       travel_len;     /* Travel length (R)*/
int     * width;          /* Returns the required width in pixels (W)*/
int     * height;         /* Returns the required height in pixels (W)*/
Return:  None

2.12.7 PANEL I/O ITEM ROUTINES

2.12.7.1 Introduction

These are routines for creating an handling a view-object containing a panel input/output item.

The following routines are available:

View_object with a Panel I/O Item - xdl_control_io
Set new prompt string - xdl_control_io_prompt
Clear I/O item - xdl_control_io_clear
Set keyboard focus for I/O item - xdl_control_io_kbfocus
Get input string - xdl_control_io_getdata
Get required size - xdl_control_io_getzize

2.12.7.2 View_object with a Panel I/O Item - xdl_control_io

The routine xdl_control_io (xdlf_control_io) is used to create a view object containing a Panel I/O item (See Panel Item Routines). An active strip may be displayed if desired.
 
Fortran call:
 
         CALL XDLF_CONTROL_IO (IVH, IVHPARENT, IX, IY, IACT,
        +                          IHCEN, IVCEN, IFONT, IBRDR,
        +                          MAX_PR, MIN_RP, MAX_RP, ICH,
        +                          XDLSTR(MSG), LENMSG,
        +                          MINW, MINH,IERR)
 
Parameters:
 
IVH       (R)   View-object handle (see vh)
IVHPARENT (R)   View-object handle for parent 0=none 
                (see vh_parent)
IX        (R)   X position (may be -1 if no parent) (see x)
IY        (R)   Y position (may be -1 if no parent) (see y)
IACT      (R)   Display active strip flag 1=yes, 0=no (see
                act_strip)
IHCEN     (R)   =1 Centre panel item horizontally, = 0 do
                not (left justify instead) (see hcen)
IVCEN     (R)   =1 Centre panel item vertically, = 0 do
                not (top justify instead) (see vcen)
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, = 0 do not
MAX_PR    (R)   Maximum length for prompt field
MIN_RP    (R)   Minimum length for reply field
MAX_RP    (R)   Maximum length for reply
ICH       (R)   = 1 show character count, = 0 do not
MSG       (R)   Address of character string for active strip
                message. May be a blank string if IACT = 0.
                ** Pass address using XDLSTR function **
                (see msg)
LENMSG    (R)   Length of active strip message string (>0)
                (see len_msg)
MINW      (R)   Minimum width required (may be 0) 
MINH      (R)   Minimum height required (may be 0)
IERR      (W)   Returns status from xdl_control_io call
 
'C' call:
 
int xdl_control_io (vh, vh_parent, x, y, act_strip, hcen, vcen,
                        font_type, brdr, 
                        max_pr, min_rp, max_rp, ch_count,
                        msg, len_msg,
                        minw, minh)
 
Parameters:
 
int       vh;             /* User selected view-object handle (R)*/
int       vh_parent;      /* View-object handle for the parent base frame, 
                             if 0 then a base  level frame is created to
                             enclose the view-object (R)*/
int       x;              /* x coordinate for the view-object.
                             If no parent may be -1 to give default x (R)*/
int       y;              /* y coordinate for the view-object.
                             If no parent may be -1 to give default y (R)*/
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       hcen;           /* =1 Centre panel item horizontally, = 0 do
                             not (left justify instead) (R)*/
int       vcen;           /* =1 Centre panel item vertically, = 0 do
                             not (top justify instead) (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
int       max_pr;         /* Maximum length for prompt field (R)*/
int       min_rp;         /* Minimum length for reply field (R)*/
int       max_rp;         /* Maximum length for reply (R)*/
int       ch_count;       /* = 1 show character count, = 0 do not (R)*/
char    * msg;            /* Message for active strip, may be null if
                             no active strip required (R)*/
int       len_msg;        /* Length of active strip message string; may
                             be 0 is a null terminated string given for
                             msg (R)*/
int minw;                 /* Minimum width required (may be 0) (R)*/
int minh;                 /* Minimum height required (may be 0) (R)*/
Return:  Status flag =0 OK, >0 error
         bit 0 set: Requested parent not found in the view-objects list
         bit 1 set: Cannot allocate memory required

2.12.7.3 Set new prompt string - xdl_control_io_prompt

The routine xdl_control_io_prompt (xdlf_control_io_prompt) is used to set a new prompt string for a control Panel I/O view-object.
 
Fortran call:
 
         CALL XDLF_CONTROL_IO_PROMPT (IVH, XDLSTR(PROMPT), IPLEN,
        +                             IFLAG, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
PROMPT    (R)  Address of new prompt string
               ** Pass address using the XDLSTR function **
IPLEN     (R)  Length of the prompt string (>0)
IFLAG     (R)  Flag to be passed to callback identifying
               prompt (if required)
IERR      (W)  Returns status from xdl_control_io_prompt call
 
'C' call:
 
int xdl_control_io_prompt (vh, prompt, plen, iflag)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
char    * prompt;         /* Prompt string (R)*/
int       plen;           /* Prompt length, may be 0 if null terminated
                             string passed (R)*/
int       iflag;          /* User selected flag to identify flag (will
                             be passed to callback (R)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.7.4 Clear I/O item - xdl_control_io_clear

The routine xdl_control_io_clear (xdlf_control_io_clear) is used to clear a control Panel I/O view-object. It will remain inactive till another prompt is output via xdl_control_io_prompt (xdlf_control_io_prompt).
 
Fortran call:
 
         CALL XDLF_CONTROL_IO_CLEAR (IVH, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
IERR      (W)  Returns status from xdl_control_io_clear call
 
'C' call:
 
int xdl_control_io_clear (vh)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.7.5 Set keyboard focus for I/O item - xdl_control_io_kbfocus

The routine xdl_control_io_kbfocus (xdlf_control_io_kbfocus) is used to set the keyboard focus for a control Panel I/O view-object.
 
Fortran call:
 
         CALL XDLF_CONTROL_IO_KBFOCUS (IVH, IERR)
 
Parameters:
 
IVH       (R)  View-object handle (see vh)
IERR      (W)  Returns status from xdl_control_io_kbfocus call
 
'C' call:
 
int xdl_control_io_kbfocus (vh)
 
Parameters:
 
int vh;                   /* View-object handle (R)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.7.6 Get input string - xdl_control_io_getdata

The routine xdl_control_io_getdata (xdlf_control_io_getdata) is used to return the input string after a return from an XDL_VIEW event handling routine such as xdl_get_events (xdlf_get_events) indicates that there was input from the view-object in question.
 
Fortran call:
 
         CALL XDLF_CONTROL_IO_GETDATA (IVH, REPLY, MAXR, IRET,
        +                              IFLAG, IERR)
 
Parameters:
 
IVH      (R)  View-object handle (see vh)
REPLY    (W)  Address of character string in which to place
              returned input string
               ** Pass address using the XDLSTR function **
MAXR     (W)  Max length of REPLY (>0)
IRET     (W)  Returns input status flag = 1 non-blank string
                                        = 0 blank string
                                        =-1 escape pressed
IFLAG    (W)  User flag defined when setting prompt
IERR     (W)  Returns status from xdl_control_io_getdata call
 
'C' call:
 
int xdl_control_io_getdata (vh, reply, maxr, iret, iflag)
 
Parameters:
 
int vh;          /* View-object handle (R)*/
char * reply;    /* String in which to return value (W)*/
int maxr;        /* if >0 Maximum length of returned string allowed 
                          (excluding terminating null - string must be 
                          at least max_len + 1 characters in length)
                    if <0 abs(max_len) characters will be returned padded 
                          with blanks if needed (for 'fortran' use) (R)*/
int * iret;      /* Returns input status flag = 1 non-blank string
                                              = 0 blank string
                                              =-1 escape pressed (W)*/
int *iflag;      /* User flag defined when setting prompt (W)*/
Return:  Status = 0 OK, >0 error
                  bit 0 set:  View-object handle not found
                  bit 1 set:  View handle does not match view object

2.12.7.7 Get required size - xdl_control_io_getzize

The routine xdl_control_io_getsize (xdlf_control_io_getsize) is used to determine the required size for a control view-object containing a Panel I/O item given various details about the requirements of the item.
 
Fortran call:
 
         CALL XDLF_CONTROL_IO_GETSIZE (IACT, IFONT, IBRDR,
        +                        MAX_PR, MIN_RP, MAX_RP, ICH, 
        +                        IWIDTH, IHEIGHT)
 
Parameters:
 
IACT      (R)   =1 include active strip, =0 do not
IFONT     (R)   Font type (1-5) very small to very large (see
                font_type)
IBRDR     (R)   = 1 draw border, = 0 do not
MAX_PR    (R)   Maximum length for prompt field
MIN_RP    (R)   Minimum length for reply field
MAX_RP    (R)   Maximum length for reply
ICH       (R)   = 1 show character count, = 0 do not
IWIDTH    (W)   Width required for view-object
IHEIGHT   (W)   Height required for view-object
 
'C' call:
 
void xdl_control_io_getsize (act_strip, font_type, brdr, max_pr, min_rp,
                             max_rp, ch_count, width, height)
 
Parameters:
 
int       act_strip;      /* Display active strip flag 1=yes, 0=no (R)*/
int       font_type;      /* Font type (1-5) very small to very large (R)*/
int       brdr;           /* = 1 draw border, = 0 do not (R)*/
int       max_pr;         /* Maximum length for prompt field (R)*/
int       min_rp;         /* Minimum length for reply field (R)*/
int       max_rp;         /* Maximum length for reply (R)*/
int       ch_count;       /* = 1 show character count, = 0 do not (R)*/
int     * width;          /* Returns the required width in pixels (W)*/
int     * height;         /* Returns the required height in pixels (W)*/
Return:  None



John W. Campbell
CCLRC Daresbury Laboratory
Last update 4 Feb 1998