Main Page

From IfsoGUIWiki

Jump to: navigation, search

Contents

ifsoGUI - A Graphic User Interface for BlitzMax.

ifsoGUI is a full featured GUI for the BlitzMax programming language. Featuring a skinnable interface with many common gadgets and an event system; ifsoGUI enables the developer to quickly and easily add a GUI to his/her application or game. Including capabilities like a complete event system with an event queue or immediate event callbacks, the ability to interface with any custom font system (bitmap fonts), sound effects for events, files can be incbined and password protected zipped, and many more. All gadgets are full featured: panels and windows have automatic scrollbars if content extends out of their viewing area, listboxes and multi-column listbox columns can be sorted, etc.

Features

  • Skinnable - Each gadget is fully skinnable with normal, pressed, and mouse over images, all handled by the GUI for you; and custom mouse graphics including:

normal, mouse over, mouse down, resizing arrow, and ibar (over text field).

  • Custom Font System (bitmap fonts) - The standard BlitzMax font system can be used, or you can use any Custom Font System (bitmap fonts) you wish, using function callbacks.
  • Events - Many standard events are generated including Mouse Enter/Exit/Down/Up/Click/DoubleClick , Gain/Lost Focus, etc.
  • Sounds - A gadgets can play sounds for any Event that it generates.
  • SubClassing and Custom Gadgets - All gadgets can be extended or you can create your own gadget from scratch by extending the Base type.

ifsoGUI

  • GUI - The base type that controls the entire mod. It is a singleton, meaning you do not instantiate an instance of it.
  • ifsoGUI_VP - A singleton type used to control the drawing area. All ifsoGUI drawing is pushed through this type in order to be sure no drawing occurs outside of the bounds of any parent gadgets.
  • Events - Gadgets emit events into an event queue or you can assign Callback functions to handle the events.

Gadgets

  • Base - This is the base functionality all gadgets draw from.
  • Button - Push button gadget.
  • Checkbox - Checkbox gadget, can be turned on or off.
  • Combobox - Combobox gadget allows a selection from a dropdown list.
  • FileSelect - Allows a filename or directory to be selected.
  • ImageButton - Push button gadget with an image on it.
  • Label - Displays text that cannot be edited.
  • Listbox - Shows a list of items with single or multiple select.
  • Multi-Column Listbox - Listbox with multiple columns. Allows single or multiple selection and sorting by any column.
  • Multi-Line Textbox - A text area that can show multiple lines of text, with word wrap and automatic scrollbars. Can be edited or read only.
  • Panel - A parent gadget that can host other gadgets. Allows you to move/hide multiple gadget as a unit.
  • Progressbar - Displays a graphic representation of progress.
  • Scrollbar - Allows a user to change a selection range and graphically represent the percentage of the range by adjusting the size of the drag bar.
  • Slider - Allows the changing of a value by moving an indicator through a range of values.
  • Spinner - Allows the user to bump a value up or down by clicking buttons that are either side by side or above and below.
  • Tabber - Displays multiple panels of gadgets allowing the user to choose which panel is visible.
  • Textbox - Displays a line of text and allows the user edit text.
  • Window - A panel with a caption bar with or without text in it.
Personal tools