# Class: SkinableButton

### LuxModule: gui

A skinablebutton based on the TextButton.

## Hierarchy

    o-+ Component
      o-+ Button
        o-+ TextButton
          o-+ SkinableButton
            o-- SkinableCheckbox

## Methods:

### Method overview:

- createVisibles
- hideVisibles
- mousePressed
- mouseReleased
- new
- positionUpdate
- setCustomL2d
- showVisibles
- toString

new (table class, float x,y,w,h, table skinparam, string caption)
  returns: (SkinableButton)
  Creates a skinnedbutton with the given string as caption. The skinparam table content is used as arguments for the SkinnedImage constructor. The SkinnedImage should have 8 states:
  1. normal state
  2. mouseover state
  3. pressed state
  4. pressed state while mouseover
  5. focused state
  6. focused mouseover state
  7. focused pressed state
  8. focused mouseover pressed state
createVisibles (SkinableButton self)
  returns: ()
  called when a Component is now displayable (doesn't have to be visible)
hideVisibles (SkinableButton self)
  returns: ()
  called when visible objects (l2ds) are no longer visible
mousePressed (Component self, MouseEvent e)
  returns: ()
  description from overloaded method of Component:

  called if the mouse was pressed on the component
mouseReleased (Component self, MouseEvent e)
  returns: ()
  description from overloaded method of Component:

  called if the mouse was released on the component
positionUpdate (SkinableButton self)
  returns: ()
  updates all the position info
setCustomL2d (Component self,[l2dnode, float x, y,z])
  returns: ([l2dnode])
  set a custom l2dnode for own purpose. The previously set custom l2dnode is deleted. The new customl2dnode ist also deleted if the button is deleted. The new customl2dnode is returned by this function. If no l2dnode is given, the old customl2dnode is deleted.
showVisibles (Component self)
  returns: ()
  called when visible objects (l2ds) are now visible
toString (SkinableButton self)
  returns: ()
  returns simple string representation of the button

## Inherited Methods:

### From TextButton

colors, colors.background, colors.focus, colors.foreground, colors.highlight, colors.mousedown, colors.mouseover, colors.shadow, createVisibles, deleteVisibles, hideVisibles, new, positionUpdate, showVisibles, toString

### From Button

actionListeners, addActionListener, clicked, dataButton, dataButton.isFocusable, dataButton.mouseover, dataButton.pressed, dataButton.pressedMouseButton, dataButton.pressedSince, isFocusable, isPushButton, isPushed, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, new, onAction, onClicked, removeActionListener, setDisplayable, setPushState, setPushable, setVisibility

### From Component

addKeyListener, addMouseListener, clipinsets, colors, contains, createVisibles, delete, deleteVisibles, focus, focuscolors, getBounds, getClipRect, getFocusComponentAt, getFocusElement, getFocusIndex, getHeight, getLocation, getMinSize, getMouseLock, getSize, getWidth, getX, getY, hasFocus, hideVisibles, index, invalidate, isDisplayedFlag, isFocusable, isMouseLocker, isVisible, isVisibleFlag, keyEvent, keylisteners, local2world, lockMouse, mouseClicked, mouseEntered, mouseEvent, mouseExited, mouseMoved, mousePressed, mouseReleased, mouselisteners, new, onDestroy, onDisplayChange, onGainedFocus, onLostFocus, onVisibilityChange, positionUpdate, releaseMouse, remove, removeKeyListener, removeMouseListener, setBounds, setDisplayable, setLocation, setSize, setVisibility, showVisibles, think, toString, transferFocus, transferFocusOnArrows, transferFocusOnTab, validate, white, world2local, zorderoffset