PtNumericInteger

Gamma/Photon: Using Gamma™ with the Photon microGUIŽ, Version 4.0
Prev |  | Next

# `PtNumericInteger`

`PtNumericInteger` -- An entry box for integer values.

## Synopsis

    class PtNumericInteger PtNumeric
    {
        numeric_increment;    // integer  (Pt_ARG_NUMERIC_INCREMENT)
        numeric_max;          // integer  (Pt_ARG_NUMERIC_MAX)
        numeric_min;          // integer  (Pt_ARG_NUMERIC_MIN)
        numeric_value;        // integer  (Pt_ARG_NUMERIC_VALUE)
    }

## Base Classes

`PtWidget` <-- `PtBasic` <-- `PtContainer` <-- `PtNumeric` <-- `PtNumericInteger`

## Description

This widget is a text-entry box for integers that can be incremented or decremented with small arrow-shaped buttons. You can set a minimum, a maximum, and the size of the increment/decrement for the arrow buttons. Inherited variables let you use comma separators or add a prefix/suffix strings.

| For detailed information, please refer to PtNumericInteger in the Photon documentation.

## Instance Variables

numeric_increment

  A number specifying the amount to increase or decrease the displayed value when the arrow buttons are pressed. Default is `1`.

numeric_max

  A number specifying the maximum allowable value to be entered. Default is `1,000,000`.

numeric_min

  A number specifying the minimum allowable value to be entered. Default is `-1,000,000`.

numeric_value

  The currently displayed value. Default is `0`.

## Callbacks

The following callback is associated with this widget:

Callback | Description
--- | ---
`Pt_CB_NUMERIC_CHANGED` | This callback is generated when the entered value changes.

## Associated Classes

`PtNumericIntegerCallback`, `PtCallbackInfo`

## Example

This example, `ex_PtNumeric-RtProgress.g`, is included in the `gamma_ph_`#`_examples_1_QNX4.tgz` file available on the Cogent Web Site.

    #!/usr/cogent/bin/phgamma

    /*
     * This example demonstrates PtNumeric and
     * PtProgress widgets.
     */

    require_lisp("PhotonWidgets.lsp");
    PtInit(nil);

    function display_value(wnum, wprog)
    {
      wprog.gauge_value = wnum.numeric_value;
    }

    win = new(PtWindow);
    win.SetDim(160, 190);

    ilab = new(PtLabel);
    ilab.text_string = "Integer values";
    ilab.SetArea(20, 6, 120, 20);
    ilab.horizontal_alignment = Pt_CENTER;

    inum = new(PtNumericInteger);
    inum.SetArea(20, 30, 120, 20);
    inum.numeric_increment = 5;
    inum.numeric_max = 50;
    inum.numeric_min = -50;
    inum.numeric_value = 5;
    inum.numeric_flags = cons(Pt_NUMERIC_WRAP, nil);
    inum.numeric_flags = cons(Pt_NUMERIC_AUTO_HIGHLIGHT, nil);

    iprog = new(RtProgress);
    iprog.SetArea(20, 60, 115, 20);
    iprog.gauge_minimum = -50;
    iprog.gauge_maximum = 50;

    flab = new(PtLabel);
    flab.text_string = "Float values";
    flab.SetArea(20, 96, 120, 20);
    flab.horizontal_alignment = Pt_CENTER;

    fnum = new(PtNumericFloat);
    fnum.SetArea(20, 120, 120, 20);
    fnum.numeric_increment = 4.8941;
    fnum.numeric_max = 50;
    fnum.numeric_min = -50;
    fnum.numeric_value = 5.34153;
    fnum.numeric_precision = 4;
    fnum.numeric_flags = cons(Pt_NUMERIC_WRAP, nil);
    fnum.numeric_flags = cons(Pt_NUMERIC_AUTO_HIGHLIGHT, nil);

    fprog = new(RtProgress);
    fprog.SetArea(20, 150, 115, 20);
    fprog.gauge_minimum = -50;
    fprog.gauge_maximum = 50;
    fprog.progress_bar_color = 0x0000ff;

    PtAttachCallback(inum, Pt_CB_NUMERIC_CHANGED, `display_value(@inum, @iprog));
    PtAttachCallback(fnum, Pt_CB_NUMERIC_CHANGED, `display_value(@fnum, @fprog));

    display_value(inum, iprog);
    display_value(fnum, fprog);

    PtRealizeWidget(win);
    PtMainLoop();

Prev | Home | Next
`PtNumericFloat` | Up | `PtOnOffButton`

Copyright 1995-2002 by Cogent Real-Time Systems, Inc.