Updated the documentation for the ui_interact proc.

Moved the client nanoclose verb into nanoexternal.dm.

Removed debug comments.
This commit is contained in:
Mark Aherne (Faerdan)
2013-09-11 22:24:21 +01:00
parent 03bbea6f35
commit 2e957c8b51
4 changed files with 41 additions and 31 deletions

View File

@@ -65,7 +65,7 @@
/**
* The ui_interact proc is used to open and update Nano UIs
* If ui_interact is not used then the UI will not update correctly
* ui_interact is currently defined for /obj and /mob
* ui_interact is currently defined for /atom/movable
*
* @param user /mob The mob who is interacting with this ui
* @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")

View File

@@ -1,4 +1,40 @@
// All movable things can have a Nano UI, always use ui_interact to open/interact with a Nano UI
// This file contains all Nano procs/definitions for external classes/objects
/**
* Called when a Nano UI window is closed
* This is how Nano handles closed windows
* It must be a verb so that it can be called using winset
*
* @return nothing
*/
/client/verb/nanoclose(var/uiref as text)
set hidden = 1 // hide this verb from the user's panel
set name = "nanoclose"
var/datum/nanoui/ui = locate(uiref)
if (ui)
ui.close()
if(ui.ref)
var/href = "close=1"
src.Topic(href, params2list(href), ui.ref) // this will direct to the atom's Topic() proc via client.Topic()
else if (ui.on_close_logic)
// no atomref specified (or not found)
// so just reset the user mob's machine var
if(src && src.mob)
src.mob.unset_machine()
/**
* The ui_interact proc is used to open and update Nano UIs
* If ui_interact is not used then the UI will not update correctly
* ui_interact is currently defined for /atom/movable
*
* @param user /mob The mob who is interacting with this ui
* @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")
*
* @return nothing
*/
/atom/movable/proc/ui_interact(mob/user, ui_key = "main")
return

View File

@@ -28,7 +28,7 @@ nanoui is used to open and update nano browser uis
var/height = 0
// whether to use extra logic when window closes
var/on_close_logic = 1
// the ref to use when the window is closed (if on_close_logic is 1), usually null
// an extra ref to use when the window is closed, usually null
var/atom/ref = null
// options for modifying window behaviour
var/window_options = "focus=0;can_close=1;can_minimize=1;can_maximize=0;can_resize=1;titlebar=1;" // window option is set using window_id
@@ -240,7 +240,7 @@ nanoui is used to open and update nano browser uis
content = ncontent
/**
* Set whether or not to use the "old" on close logic (custom refs and unset_machine())
* Set whether or not to use the "old" on close logic (mainly unset_machine())
*
* @param state int (bool) Set on_close_logic to 1 or 0 (true/false)
*
@@ -376,32 +376,6 @@ nanoui is used to open and update nano browser uis
winset(user, window_id, "on-close=\"nanoclose [params]\"")
/**
* Called when a Nano UI window is closed
* This is how Nano handles closed windows
*
* @return nothing
*/
/client/verb/nanoclose(var/uiref as text)
set hidden = 1 // hide this verb from the user's panel
set name = "nanoclose" // no autocomplete on cmd line
var/datum/nanoui/ui = locate(uiref)
if (ui)
ui.close()
if (ui.on_close_logic)
if(ui.ref)
var/href = "close=1"
src.Topic(href, params2list(href), ui.ref) // this will direct to the atom's
// Topic() proc via client.Topic()
else
// no atomref specified (or not found)
// so just reset the user mob's machine var
if(src && src.mob)
src.mob.unset_machine()
/**
* Push data to an already open UI window
*

View File

@@ -70,7 +70,7 @@
/**
* The ui_interact proc is used to open and update Nano UIs
* If ui_interact is not used then the UI will not update correctly
* ui_interact is currently defined for /obj and /mob
* ui_interact is currently defined for /atom/movable
*
* @param user /mob The mob who is interacting with this ui
* @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")