DgsCreateCheckBox: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 53: Line 53:
==Example==  
==Example==  
<!-- Explain what the example is in a single sentance -->
<!-- Explain what the example is in a single sentance -->
This example creates a GUI window with a checked and an unchecked checkbox and adds a command to toggle their visibility
This example creates a DGS window with a checked and an unchecked checkbox and adds a command to toggle their visibility
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized -->
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized -->
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
DGS = exports.dgs
function drawGUI()
function drawGUI()
local guiWindow = guiCreateWindow(100,100,200,100,"Checkbox test area",false,false) -- create the container window
local window = DGS:dgsDxCreateWindow(100,100,200,120,"Checkbox test area",false,false) -- create the container window
local checkedBox = guiCreateCheckBox(20,30,150,20,"Checked checkbox",true,false,guiWindow) -- note the parameter after header, it will make the checkbox be checked
local checkedBox = DGS:dgsDxCreateCheckBox(20,30,150,20,"Checked checkbox",true,false,window) -- note the parameter after header, it will make the checkbox be checked
local uncheckedBox = guiCreateCheckBox(20,60,150,20,"Unchecked checkbox",false,false,guiWindow) -- not here though
local uncheckedBox = DGS:dgsDxCreateCheckBox(20,60,150,20,"Unchecked checkbox",false,false,window) -- not here though
guiSetVisible(guiWindow,false) -- set it invisible just in case
local indeterminateBox= DGS:dgsDxCreateCheckBox(20,90,150,20,"Unchecked checkbox",nil,false,window) -- not here though
return guiWindow -- we return the guiWindow
DGS:dgsDxGUISetVisible(window,false) -- set it invisible just in case
return window -- we return the window
end
end
function cmdGUI(cmd)
function cmdGUI(cmd)
if not checkBoxWindow then -- if it hasn't been declared yet
if not checkBoxWindow then -- if it hasn't been declared yet
checkBoxWindow = drawGUI() -- we draw the gui window
checkBoxWindow = drawGUI() -- we draw the dgs window
guiSetVisible(checkBoxWindow,true) -- we set it visible again. Strictly speaking it's not necessary, could have omitted both this and the upper guiSetVisible, but this is needed if you want to cache a window without actually showing it
DGS:dgsDxGUISetVisible(checkBoxWindow,true) -- we set it visible again. Strictly speaking it's not necessary, could have omitted both this and the upper dgsDxGUISetVisible, but this is needed if you want to cache a window without actually showing it
else -- if we actually have run this function before and declared checkBoxWindow
else -- if we actually have run this function before and declared checkBoxWindow
guiSetVisible(checkBoxWindow, not guiGetVisible(checkBoxWindow)) -- we just toggle the visibility. If it was visible, not visible returns false and thus sets it's visibility false, effectivly hiding it
DGS:dgsDxGUISetVisible(checkBoxWindow, not DGS:dgsDxGUIGetVisible(checkBoxWindow)) -- we just toggle the visibility. If it was visible, not visible returns false and thus sets it's visibility false, effectivly hiding it
end
end
showCursor(not isCursorShowing()) -- similar to above visibility
showCursor(not isCursorShowing()) -- similar to above visibility

Revision as of 11:13, 2 October 2017

This function creates a DGS Dx Check Box.

Note: DGS Dx Check Box have 3 states.(checked: true; unchecked: false; indeterminate: nil)

Syntax

element dgsDxCreateCheckBox ( float x, float y, float width, float height, string text, bool relative [, element parent = nil, int textcolor, float textScaleX = 1.0, float textScaleY = 1.0, element defimg_f = nil, element hovimg_f = nil, element cliimg_f = nil, int defcolor_f = 0xFFFFFFFF, int hovcolor_f = 0xFFFFFFFF, int clicolor_f = 0xFFB4B4B4, element defimg_t = nil, element  hovimg_t = nil, element cliimg_t = nil, int defcolor_t = 0xFFFFFFFF, int hovcolor_t = 0xFFFFFFFF,int clicolor_t = 0xFFB4B4B4, element defimg_i = nil, element  hovimg_i = nil, element cliimg_i = nil, int defcolor_i = 0xFFFFFFFF, int hovcolor_i = 0xFFFFFFFF,int clicolor_i = 0xFFB4B4B4 ] )

Required Arguments

Test Checkbox
  • x: A float of the 2D x position of the checkbox on a player's screen. This is affected by the relative argument.
  • y: A float of the 2D y position of the checkbox on a player's screen. This is affected by the relative argument.
  • width: A float of the width of the text field next to the checkbox. This is affected by the relative argument.
  • height: A float of the height of the text field next to the checkbox. This is affected by the relative argument.
  • text: The text to be displayed next to the checkbox.
  • selected: A boolean representing whether the checkbox created should be selected by default.
  • relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing measures relative to the parent.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • parent: This is the parent that the DGS check box is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.
  • textcolor: An int of the color of the check box.
  • textScaleX : A float of the width of the text scale.
  • textScaleY: A float of the height of the text scale.
  • defimg_f: An image element of the default state of the check box. (unchecked)
  • hovimg_f: An image element of the hovered state of the check box. (unchecked)
  • cliimg_f: An image element of the clicked state of the check box. (unchecked)
  • defcolor_f: An integer of the color of the default state of the check box. (unchecked)
  • hovcolor_f: An integer of the color of the hovered state of the check box. (unchecked)
  • clicolor_f: An integer of the color of the clicked state of the check box. (unchecked)
  • defimg_t: An image element of the default state of the check box. (checked)
  • hovimg_t: An image element of the hovered state of the check box. (checked)
  • cliimg_t: An image element of the clicked state of the check box. (checked)
  • defcolor_t: An integer of the color of the default state of the check box. (checked)
  • hovcolor_t: An integer of the color of the hovered state of the check box. (checked)
  • clicolor_t: An integer of the color of the clicked state of the check box. (checked)
  • defimg_i: An image element of the default state of the check box. (indeterminate)
  • hovimg_i: An image element of the hovered state of the check box. (indeterminate)
  • cliimg_i: An image element of the clicked state of the check box. (indeterminate)
  • defcolor_i: An integer of the color of the default state of the check box. (indeterminate)
  • hovcolor_i: An integer of the color of the hovered state of the check box. (indeterminate)
  • clicolor_i: An integer of the color of the clicked state of the check box. (indeterminate)

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • parent: This is the parent that the checkbox is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.

Returns

Returns element of the checkbox if it was created succesfully, false otherwise.

Example

This example creates a DGS window with a checked and an unchecked checkbox and adds a command to toggle their visibility

DGS = exports.dgs

function drawGUI()
	local window = DGS:dgsDxCreateWindow(100,100,200,120,"Checkbox test area",false,false) -- create the container window
	local checkedBox = DGS:dgsDxCreateCheckBox(20,30,150,20,"Checked checkbox",true,false,window) -- note the parameter after header, it will make the checkbox be checked
	local uncheckedBox = DGS:dgsDxCreateCheckBox(20,60,150,20,"Unchecked checkbox",false,false,window) -- not here though
	local indeterminateBox= DGS:dgsDxCreateCheckBox(20,90,150,20,"Unchecked checkbox",nil,false,window) -- not here though
	DGS:dgsDxGUISetVisible(window,false) -- set it invisible just in case
	return window -- we return the window
end
function cmdGUI(cmd)
	if not checkBoxWindow then -- if it hasn't been declared yet
		checkBoxWindow = drawGUI() -- we draw the dgs window
		DGS:dgsDxGUISetVisible(checkBoxWindow,true) -- we set it visible again. Strictly speaking it's not necessary, could have omitted both this and the upper dgsDxGUISetVisible, but this is needed if you want to cache a window without actually showing it
	else -- if we actually have run this function before and declared checkBoxWindow
		DGS:dgsDxGUISetVisible(checkBoxWindow, not DGS:dgsDxGUIGetVisible(checkBoxWindow)) -- we just toggle the visibility. If it was visible, not visible returns false and thus sets it's visibility false, effectivly hiding it	
	end
	showCursor(not isCursorShowing()) -- similar to above visibility
end
addCommandHandler("guiwindow",cmdGUI) -- trigger cmdGUI function with this command

See Also

Custom Cursor Functions

Multi Language Supports

Animation

3D Element

3D Interface

3D Line

3D Image

3D Text

Browser

Button

Check Box

Combo Box

Custom Renderer

Edit

Detect Area

Drag'N Drop

Grid List

Image

Memo

Menu

Label

Layout

Line

Progress Bar

Radio Button

Scale Pane

Scroll Bar

Scroll Pane

Selector

Style

Switch Button

Tab Panel

Window

Basic Shape Plugins

Circle

Quadrilateral

Rounded Rectangle

Other Plugins

Blur Box

Canvas

Chart

Color Picker

Effect 3D

Gradient

Mask

Media Browser

Nine Slice

Object Preview Supports

Paste Handler

QRCode

Remote Image

Screen Source

SVG

Tooltips