## 4.3 Normal Button

Normal buttons are also refered to as push buttons. They are similar to labels in appearance except they respond to the mouse or keyboard.

When the pointer is over a push button, the button becomes highlighted. This highlighting indicates that the button is ready for selection. When mouse button 1 (left button) is pressed, the push button indicates that it has been selected by changing its border to make it look pressed down. When the mouse button is released over the button, the buttons callbacks are invoked. If the pointer is moved off of the button before the pointer button is released, the button reverts to its normal appearance, and releasing the mouse button has no effect. This behavior allows the user to cancel an action.

If a push button is configured with a keyboard accelerator, it can also be invoked by typing the corresponding key strokes.

### Widget Info

Symbolic widget type | EZ_WIDGET_NORMAL_BUTTON
Default class name | "Button"
Default instance name | "button"

### Widget Interface Routines

`int EZ_SetWidgetLabelString(EZ_Widget *widget, char *str);`

set the textual label.

`void EZ_SetWidgetLabelPixmap(EZ_Widget *widget, EZ_Bitmap *pixmap);`

set the pixmap label.

`char *EZ_GetWidgetLabelString(EZ_Widget *widget);`

return the textual label.

### Screenshot

### Resources

Config_Option | ResourceName | DefaultValue
EZ_CLASS | class | `"Button"`
EZ_NAME | name | `"button"`

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 | `raised`
EZ_FOCUS_PAD | focusPad | `2`

EZ_PADX | padx | `8`
EZ_PADY | pady | `6`
EZ_IPADX | iPadx | `8`
EZ_IPADY | iPady | `6`

EZ_EXPAND | expand | `false`
EZ_PROPAGATE | propagate | `true`
EZ_TRANSIENT | transient | `false`

EZ_FONT_ID | fontID | `3`
EZ_FONT_NAME | fontName | `"*Bold*"`
EZ_LABEL_STRING | labelString | `null`
EZ_LABEL_POSITION | labelPosition | `center`
EZ_JUSTIFICATION | justification | `left`
EZ_TEXT_LINE_LENGTH | textLineLength | `30`
EZ_ARROW_LABEL | arrowLabel | `0`

EZ_UNDERLINE | underline | `-1`
EZ_CURSOR | cursor | `"XC_left_ptr"`
EZ_BUBBLE_STRING | bubbleString | `null`

EZ_CALLBACK | N/A | `null null`
EZ_DESTROY_CALLBACK | N/A | `null null`
EZ_EVENT_HANDLER | N/A | `null null`

EZ_PIXMAP_FILE | pixmapFile | `null`
EZ_IMAGE_FILE | imageFile | `null`
EZ_BITMAP_DATA | N/A | `null`
EZ_PIXMAP_DATA | N/A | `null`
EZ_X_PIXMAP | N/A | `none`
EZ_LABELPIXMAP | N/A | `null`
EZ_RAW_RGB_DATA | N/A | `null`
EZ_SHAPED_WINDOW | shapedWindow | `false`
EZ_SHAPE_FILE | shapeFile | `NULL`
EZ_SHAPE_PIXMAP | N/A | `NULL`

EZ_FOREGROUND | foreground | `"black"`
EZ_BACKGROUND | background | `"gray74`
EZ_BG_IMAGE_FILE | bgImageFile | `null`
EZ_BG_PIXMAP | N/A | `none`
EZ_HIGHLIGHT_FOREGROUND | highlightForeground |
EZ_HIGHLIGHT_BACKGROUND | highlightBackground |

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_BACKING_STORE | backingStore | `false`
EZ_SHORTCUT_KEY | shortcutKey | `null`

EZ_GRID_CELL_GEOMETRY | gridCellGeometry |
EZ_GRID_CELL_PLACEMENT | gridCellPlacement |

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