EZ
Up Prev Next Contents


4.32 Spin Button

A spin button is a composite widget, it consists of an entry and a scroll button. A spin button is used to cycle through a series of string type inputs. The value is controled by a spin function of type

char *(func)(int old_idx, int new_idx, void *clientData);

When the left mouse button is pressed over the arrow button, the spin function func will be called to compute the next choice. The value will then be displayed in the entry widget. Here is an example.

static char *months[]={"January", "Febrary", "March", "April", "May",
                       "June", "July", "August", "September", "October",
                       "November", "December"};
static char *spinFunc(int last, int current, void *data)
{
  current %= 12;
  if(current < 0) current += 12;
  return(months[current]);
}

main(int ac, char **av)
{
  EZ_Widget *spin;
        
  EZ_Initialize(ac, av, 0);

  spin  = EZ_CreateWidget(EZ_WIDGET_SPIN_BUTTON,   NULL,
                          EZ_SPIN_VALUE,           3,   "April",
                          EZ_SPIN_FUNCTION,        nextF, NULL,
                          0);
  EZ_DisplayWidget(spin);
  EZ_EventMainLoop();
}

Widget Info

Symbolic widget type EZ_WIDGET_SPIN_BUTTON
Default class name "SpinButton"
Default instance name "spinButton"

Widget Interface Routines

char *EZ_GetSpinButtonValue(EZ_Widget *spinButton);

return the spin button selection.

void EZ_SetupSpinButton(EZ_Widget *spinBtn, char *value,

char *(nextValue)(int,int void *));

setup a spin button.

Screenshot

Resources

EZ_NAME
Config_Option ResourceName DefaultValue
EZ_CLASS class "Locator"
name "locator"

EZ_X x
EZ_Y y
EZ_WIDTH width
EZ_HEIGHT height

EZ_LOCATION location
EZ_SIZE size
EZ_GEOMETRY geometry

EZ_WIDTH_HINT widthHint
EZ_HEIGHT_HINT heightHint
EZ_SIZE_HINT sizeHint

EZ_BORDER_WIDTH borderWidth 2
EZ_BORDER_TYPE borderType sunken
EZ_FOCUS_PAD focusPad 2

EZ_EXPAND expand false
EZ_PROPAGATE propagate true
EZ_TRANSIENT transient false

EZ_CURSOR cursor "XC_left_ptr"
EZ_BUBBLE_STRING bubbleString null

EZ_MOTION_CALLBACK N/A null null
EZ_DESTROY_CALLBACK N/A null null
EZ_EVENT_HANDLER N/A null null

EZ_FOREGROUND foreground "black"
EZ_BACKGROUND background "gray74
EZ_BG_IMAGE_FILE bgImageFile null
EZ_BG_PIXMAP N/A none
EZ_SHAPED_WINDOW shapedWindow false
EZ_SHAPE_FILE shapeFile NULL
EZ_SHAPE_PIXMAP N/A NULL

EZ_BG_IMAGE_FILE_B bgImageFileB null
EZ_BG_PIXMAP_B N/A none
EZ_CLIENT_PTR_DATA N/A null
EZ_CLIENT_INT_DATA clientIntData 0

EZ_DND_DRAG_CURSOR dndDragCursor none
EZ_DND_BUBBLE_STRING dndBubbleString null

EZ_SPIN_VALUE spinValue 0, NULL
EZ_SPIN_FUNCTION N/A NULL,NULL


Up Prev Next Contents

HTML Documentation Maintainance:Arturo Espinosa <arturo@nuclecu.unam.mx>