HGamer3D-GUI-0.4.0: HGamer3D/GUI/BaseAPI.hs
-- This source file is part of HGamer3D
-- (A project to enable 3D game development in Haskell)
-- For the latest info, see http://www.hgamer3d.org
--
-- (c) 2011-2013 Peter Althainz
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
-- GUI.hs
-- |GUI functionality of HGamer3D, public API.
module HGamer3D.GUI.BaseAPI
(
-- * General GUI Functionality
-- ** Data Definitions, Types
GUISystem,
-- ** Initializing
initGUI,
freeGUI,
pollGUIEvent,
-- ** Configuration
loadGuiScheme,
loadGuiFont,
setGuiDefaultFont,
setGuiDefaultMouseCursor,
setGuiDefaultTooltip,
-- * General Handling of GUI Elements
-- ** Data Definition, Types
GUIElement,
GUIDim (..),
GUIVec2 (..),
-- ** Work on the GUI Element Tree
addChildGuiEl,
getChildGuiEl,
removeChildGuiEl,
findChildGuiElRecursive,
-- ** Add Elements to Display and Remove from Display
addGuiElToDisplay,
removeGuiElFromDisplay,
-- ** Work with GUI Element Properties
getGuiElProperty,
setGuiElProperty,
enableGuiEl,
disableGuiEl,
activateGuiEl,
deactivateGuiEl,
deleteGuiEl,
showGuiEl,
hideGuiEl,
typeOfGuiEl,
-- ** Work with File Layouts
loadGuiLayoutFromFile,
-- * Event Handling
injectWinEventToGUI,
injectGUITimeDelta,
notifyDisplaySizeChanged,
GUIEvent (..),
registerGUIEvent,
-- * Widget Properties
-- ** Property Types
GUIElementProperty,
GUIHasValueProperty,
-- ** Property Functions
(=:),
setP,
getP,
-- ** GUI Widget General Properties
pText,
pDisabled,
pVisible,
pAlpha,
pTooltip,
pAlwaysOnTop,
pMargin,
pX,
pY,
pWidth,
pHeight,
pSelected,
pValue,
pTextSelection,
pTextChoice,
-- * Widget Specific Types, Functions and Properties
-- ** Button Widget
GUIButton,
GUIButtonProperty,
button,
toButton,
findButton,
-- ** RadioButton Widget
GUIRadioButton,
GUIRadioButtonProperty,
radioButton,
toRadioButton,
findRadioButton,
-- ** CheckBox Widget
GUICheckBox,
GUICheckBoxProperty,
checkBox,
toCheckBox,
findCheckBox,
-- ** EditText Widget
GUIEditText,
GUIEditTextProperty,
editText,
toEditText,
findEditText,
-- ** MultilineText Widget
GUIMultilineText,
multilineText,
toMultilineText,
findMultilineText,
-- ** Listbox/Combobox Widget
GUIListBox,
GUIComboBox,
GUIHasSelectionProperty,
comboBox,
listBox,
toComboBox,
toListBox,
findComboBox,
findListBox,
listboxAddText,
listboxGetSelectedText,
listboxRemoveAllText,
listboxInitialize,
listboxStatus,
comboboxAddText,
comboboxRemoveAllText,
comboboxStatus,
-- ** Slider/Spinner Widget
GUISlider,
GUISpinner,
GUISliderProperty,
GUISpinnerProperty,
slider,
spinner,
toSlider,
toSpinner,
findSlider,
findSpinner,
-- ** Layout Container Widgets
GUIHLayout,
GUIVLayout,
GUIGridLayout,
hLayout,
vLayout,
gridLayout,
toHLayout,
toVLayout,
toGridLayout,
-- ** Window Widget
GUIWindow,
window,
toWindow,
-- ** CRUD for Form based GUIs
GUIEngineData,
createForm,
updateForm,
removeForm,
getFormValues,
setFormValues
)
where
import HGamer3D.GUI.Internal.Base
import HGamer3D.GUI.Internal.Widgets
import HGamer3D.GUI.Internal.Properties
import HGamer3D.GUI.Internal.Form
import HGamer3D.GUI.Schema.GUIDim