Slider

From IfsoGUIWiki

Jump to: navigation, search

Contents

Slider

Type: ifsoGUI_Slider
Module: ifsogui.slider
Extends: ifsoGUI_Base
Imports: None

General

The slider gadget is used to allow the user to select a value between a min and max with a handle that can be dragged. The slider gadget can be configured to show tick marks or not.

The background of the slider is a little different in the way it is drawn. The background will always be as thick as the graphic that is used to create it, but it’s length will stretch to that of the slider size.

Events

  • ifsoGUI_EVENT_CHANGE – Gadget’s value has changed.
  • ifsoGUI_EVENT_MOUSE_ENTER – Mouse has moved over the gadget. Data is set to 0.
  • ifsoGUI_EVENT_MOUSE_EXIT – Mouse has moved away from the gadget. Data is set to 0.
  • ifsoGUI_EVENT_GAIN_FOCUS – Gadget has gained the focus. Data, iMouseX, and iMouseY are all set to 0.
  • ifsoGUI_EVENT_LOST_FOCUS – Gadget has lost the focus. Data, iMouseX, and iMouseY are all set to 0.

Functions

Functions used by the programmer to use the gadgets.

  • Create:ifsoGUI_Slider(iX:Int, iY:Int, iSize:Int, strName:String, bVertical:Int = False) - Creates and returns an instance of the gadget.

Methods/Properties

These are the methods and properties used by the programmer to use the gadgets.

  • AddSound(iSoundEvent:Int, sndSound:TSound) - Add a sound to the event of a gadget.
  • BringToFront() - Brings the gadget to the front of its parents child list.
  • CanActive:Int() - Returns whether or not this gadget can be the active gadget.
  • GetAbsoluteXY(iX:Int Var, iY:Int Var, caller:ifsoGUI_Base = Null) - Retrieves the gadgets Absolute x and y position.
  • GetDirection:Int() - Returns the direction the graphic is facing.
  • GetEnabled:Int() - Returns whether the gadget is enabled.
  • GetGadgetAlpha:Float() - Returns the gadgets alpha value.
  • GetH:Int() - Returns the gadgets height.
  • GetInterval:Int() - Returns the amount the value changes per tick.
  • GetMax:Int() - Returns the maximum value of the gadget.
  • GetMin:Int() - Returns the minimum value of the gadget.
  • GetProperty:Object(key:String) - Returns a custom property.
  • GetShowFocus:Int() - Returns whether or not the gadget will show the focus box.
  • GetShowTicks:Int() - Returns whether or not the tick marks are shown.
  • GetSize:Int() - Returns the gadgets length.
  • GetTabOrder:Int() - Returns the gadgets TabOrder.
  • GetTip:String() - Returns the gadgets tip text.
  • GetValue:Int() - Returns the current value.
  • GetVertical:Int() - Returns whether or not the gadget is vertical.
  • GetVisible:Int() - Returns whether the gadget is visible.
  • GetW:Int() - Returns the gadgets width.
  • GetWH(width:Int Var, height:Int Var) - Retrieves the gadgets width and height.
  • GetXY(iX:Int Var, iY:Int Var) - Retrieves the gadgets x and y positions.
  • SendToBack() - Sends the gadget to the back of its parent child list.
  • SetBounds(iX:Int, iY:Int, iW:Int, iH:Int) - Sets the x, y, width, and height all in one call.
  • SetCallBack(func(gadget:ifsoGUI_Base, id:Int, data:Int, iMouseX:Int, iMouseY:Int)) - Sets the event callback function for the gadget.
  • SetDirection(intDirection:Int) - Sets the direction the graphic is facing.
  • SetEnabled(bEnabled:Int = True) - Sets the gadget enabled/disabled.
  • SetFocus() - Gives the gadget the focus.
  • SetFocusColor(iRed:Int, iGreen:Int, iBlue:Int) - Sets the gadgets focus box color.
  • SetGadgetAlpha(fltAlpha:Float) - Sets the gadgets alpha value.
  • SetGadgetColor(iRed:Int, iGreen:Int, iBlue:Int) - Sets the gadget color of the gadget.
  • SetInterval(intInterval:Int) - Sets the amount the value changes per tick.
  • SetMax(intMax:Int) - Sets the maximum value of the gadget..
  • SetMin(intMin:Int) - Sets the minimum value of the gadget.
  • SetMinMax(intMin:Int, intMax:Int) - Sets the minimum and maximum values of the gadget in one call.
  • SetProperty(key:String, value:Object) - Set a custom property.
  • SetShowFocus(intShowFocus:Int) - Sets whether or not to show the focus box for this gadget.
  • SetShowTicks(intShowTicks:Int) - Sets whether or not the tick marks are shown.
  • SetSize(intSize:Int) - Sets the gadgets length.
  • SetTabOrder(iTabOrder:Int) - Sets the gadgets TabOrder. 0=Do not tab to this gadget -1=Last in the Tab Order
  • SetTip(strTip:String) - Sets the gadget tip text.
  • SetValue(iNewValue:Int) - Sets the current value.
  • SetVisible(bVisible:Int) - Sets whether the gadget is visible.
  • SetWH(width:Int, height:Int) - Sets the gadgets width and height.
  • SetXY(iX:Int, iY:Int) - Sets the gadgets x and y position.

Internal Functions

These function are internal to the gadget. They should only need to be called, if you are creating a gadget.

  • Drawbox(images:TImage[], ws:Int[], hs:Int[], rX:Int, rY:Int, rW:Int, rH:Int, bDrawBorder:Int = True, bTileSides:Int = False, bTileCenter:Int = False) - Draws the standard ifsoGUI image based on 4 corners, 4 sides, and a center background portion.
  • GetDimensions:String(strName:String) - Gets the dimensions from the dimension file for the gadgets graphics.
  • Load9Image(srcpath:String, dimensions:String[], gImage:TImage[] Var, imagew:Int[] Var, imageh:Int[] Var) - Loads the graphics for an image in 9 standard parts.
  • LoadTheme() - Called when a new theme is loaded, so the gadget can load its images for drawing. The base gadget does not have a LoadTheme function, but any gadget than can be created should have one.
  • SystemEvent(id:Int, data:Int) - Called when a system level event occurs that all gadgets should know about, like loading a new theme or changing the default GUI font. The base gadget does not have a SystemEvent function, but any gadget than can be created should have one.

Internal Methods

These methods are called by the GUI itself and should only be used if you are creating your own gadget.

  • Compare:Int(withObject:Object) - Compares two gadgets by TabOrder.
  • Draw(parX:Int, parY:Int, parW:Int, parH:Int) - Draws the gadget and its children.
  • DrawFocus(iX:Int, iY:Int, iW:Int, iH:Int) - Draws the focus box around the gadget.
  • DrawTip(iMouseX:Int, iMouseY:Int) - Draws the gadgets tip.
  • GadgetSystemEvent(id:Int, data:Int) - Gadget Level GUI system event occured.
  • GainFocus(LostFocus:ifsoGUI_Base) - Called when the gadget becomes the active gadget.
  • gMouseDown(iButton:Int, iMouseX:Int, iMouseY:Int) - Called when the mouse button is pressed on the gadget.
  • gMouseUp(iButton:Int, iMouseX:Int, iMouseY:Int) - Called when the mouse button is released on the gadget.
  • IsMouseOver:Int(parX:Int, parY:Int, parW:Int, parH:Int, iMouseX:Int, iMouseY:Int) - Returns whether or not the mouse is over the gadget.
  • KeyPress(key:Int) - Called when a key is pressed on the active gadget.
  • LostFocus(GainedFocus:ifsoGUI_Base) - Called when the gadget is no longer the Active Gadget.
  • MouseOut(iMouseX:Int, iMouseY:Int, gOverGadget:ifsoGUI_Base) - Called when the mouse leaves the gadget.
  • MouseOver(iMouseX:Int, iMouseY:Int, gWasOverGadget:ifsoGUI_Base) - Called when the mouse is over this gadget.
  • MouseStatus:Int(iMouseX:Int, iMouseY:Int) - Called to determine the mouse status from the gadget.
  • Refresh() - Refreshes the gadget.
  • SendEvent(id:Int, data:Int, iMouseX:Int, iMouseY:Int) - Sends an event from the gadget.

Skinning

dimensions.txt keyword: slider
Filename: sliderback.png
This is a representation of the background slide portion of the slider, the sides will be stretched or tiled the height of the slider background, the top and bottom will be stretched or tiled the width of the slider background, and the center will be stretched or tiled to the length and width of the slider background. The corners will remain as is and will not be stretched or tiled at all.

Filename: slider.png
Filename: sliderdown.png
Filename: sliderover.png
This is a representation of the slider handle of the slider, the image will not be scaled or stretched or tiled. The slider button is always drawn the size of the native graphic. The sliderdown.png and sliderover.png files are the pressed and mouseover images.

Personal tools