2015-03-24 05:12:19 +00:00
{
2015-03-26 05:23:14 +00:00
/ *
M e n u C o n f i g u r a t i o n
2015-04-04 20:41:04 +00:00
2015-08-12 03:36:08 +00:00
T i p : d e m j s o n ' s j s o n l i n t i s a n e x c e l l e n t t o o l f o r l i n t i n g J S O N f i l e s
t h a t c o n t a i n s c o m m e n t s :
j s o n l i n t - S m e n u . j s o n
2015-04-04 20:41:04 +00:00
S o m e c o n c e p t / i d e a s :
"mci" : {
2015-04-16 04:46:45 +00:00
"BT1" : {
2015-04-04 20:41:04 +00:00
. . .
"draw" : "@script:blah.js/drawButton"
2015-04-05 07:15:04 +00:00
// @method:scriptName[.js]/methodName (foreign .js)
// @art:artName
// @method:/methodName (local to module.js)
2015-05-15 05:01:00 +00:00
// ... pass isFocused/etc. into draw method
2015-04-21 04:50:58 +00:00
N O t e t h a t @ d r a w & @ a r t s h o u l d c h e c k t h e m e f i r s t .
@ d r a w : m y M e t h o d - > t h e m e / d r a w . j s : : m y M e t h o d ( o p t s )
2015-05-01 04:29:24 +00:00
p r i o r i t y :
@ d r a w : l o c a t i o n . j s / m y M e t h o d - > o u t s i d e o f t h e m e
@ d r a w : m y M e t h o d - > c h e c k s t h e m e - > l o c a l f i r s t
- O R - j u s t i n s i d e t h e m e s f o r c u s t o m i z a t i o n . . .
e . g ;
{
"myTheme" {
"views" : {
"VerticalMenuView" : {
"draw" : "@method:location.js/myMethod"
}
}
}
}
2015-04-04 20:41:04 +00:00
}
}
2015-03-26 05:23:14 +00:00
* /
2015-05-16 05:02:58 +00:00
"menus" : {
"connected" : {
2015-07-30 04:09:51 +00:00
"art" : "CONNECT" ,
2015-05-16 05:02:58 +00:00
"next" : "matrix" ,
"options" : {
"cls" : true ,
"nextTimeout" : 1500
}
} ,
"matrix" : {
"art" : "matrix" ,
"form" : {
"0" : { // :TODO: Make form "0" the default if missing (e.g. optional)... not sure how with current structure though
2015-07-22 05:52:20 +00:00
"VM" : {
2015-05-16 05:02:58 +00:00
"mci" : {
"VM1" : {
"submit" : true ,
"focus" : true ,
// :TODO: need a good way to localize these ... Standard Orig->Lookup seems good.
"items" : [ "Login" , "Apply" , "Log Off" ] //,
}
} ,
"submit" : {
"*" : [
{
"value" : { "1" : 0 } ,
"action" : "@menu:login"
} ,
{
"value" : { "1" : 1 } ,
"action" : "@menu:apply"
} ,
{
"value" : { "1" : 2 } ,
"action" : "@menu:logoff"
}
]
2015-04-02 04:13:29 +00:00
}
2015-05-16 05:02:58 +00:00
}
}
} ,
"options" : {
"cls" : true
}
} ,
"login" : {
// :TODO: may want { "prompt" : { "name" : "blah", "action" : ... }}
"prompt" : "userCredentials" ,
"fallback" : "matrix" ,
2015-08-31 03:42:24 +00:00
//"next" : "fullLoginSequenceLoginArt",
"next" : "messageArea" ,
2015-05-16 05:02:58 +00:00
"action" : "@systemMethod:login" ,
// :TODO: support alt submit method for prompts
// if present, standard filters apply. No need for multiple submit ID's
// since a prompt can only utilize one:
"submit" : [
{
"value" : { "1" : "thing" } ,
"action" : "@method:doThings"
}
] ,
"options" : {
"cls" : true
}
} ,
"logoff" : {
"art" : "LOGOFF" ,
"action" : "@systemMethod:logoff" ,
"options" : { "cls" : true }
} ,
"apply" : {
"art" : "APPLY" ,
"next" : "newUserActive" ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"BTBTETETETETETETETETETMETL" : {
2015-05-16 05:02:58 +00:00
"mci" : {
"ET1" : {
"focus" : true ,
"argName" : "username" ,
"maxLength" : "@config:users.usernameMax"
} ,
"ET2" : {
"argName" : "realName" ,
"maxLength" : 32
} ,
2015-07-21 04:56:48 +00:00
"ME3" : {
2015-07-22 05:52:20 +00:00
"argName" : "birthdate" ,
2015-07-21 04:56:48 +00:00
"maskPattern" : "####/##/##"
2015-05-16 05:02:58 +00:00
} ,
"ET4" : {
"argName" : "sex" ,
"maxLength" : 1
} ,
"ET5" : {
"argName" : "location" ,
"maxLength" : 32
} ,
"ET6" : {
"argName" : "affils" ,
"maxLength" : 32
} ,
"ET7" : {
"argName" : "email" ,
"maxLength" : 255
} ,
"ET8" : {
"argName" : "web" ,
"maxLength" : 255
} ,
"ET9" : {
"argName" : "password" ,
"password" : true ,
"maxLength" : "@config:users.passwordMax"
} ,
"ET10" : {
"argName" : "passwordConfirm" ,
"password" : true ,
"maxLength" : "@config:users.passwordMax"
2015-04-02 04:13:29 +00:00
} ,
2015-05-16 05:02:58 +00:00
"BT12" : {
"submit" : true ,
"text" : "Apply"
2015-04-02 04:13:29 +00:00
} ,
2015-05-16 05:02:58 +00:00
"BT13" : {
2015-06-06 06:33:59 +00:00
"submit" : [ "escape" ] ,
2015-05-16 05:02:58 +00:00
"text" : "Cancel"
2015-04-02 04:13:29 +00:00
}
2015-05-16 05:02:58 +00:00
} ,
"submit" : {
"12" : [ // Apply
{
"value" : 12 , // :TODO: better, this should be optional; if not present it's a any match
"action" : "@method:apply/submitApplication" ,
"extraArgs" : {
"inactive" : "userNeedsActivated" ,
"error" : "newUserCreateError"
}
}
] ,
"13" : [ // Cancel
{
"value" : 13 ,
"action" : "@menu:matrix"
}
]
}
2015-03-30 03:47:48 +00:00
}
2015-04-02 04:13:29 +00:00
}
2015-05-16 05:02:58 +00:00
} ,
"options" : {
"cls" : true
2015-03-27 04:58:22 +00:00
}
2015-04-10 04:49:56 +00:00
} ,
2015-07-31 15:11:57 +00:00
"fullLoginSequenceLoginArt" : {
"art" : "LOGIN" ,
"options" : { "cls" : true , "pause" : true } ,
"action" : "@menu:fullLoginSequenceLastCallers"
} ,
"fullLoginSequenceLastCallers" : {
"module" : "last_callers" ,
"art" : "LASTCALL" ,
"options" : { "cls" : true , "pause" : true } ,
2015-08-04 05:11:17 +00:00
"config" : {
"dateTimeFormat" : "ddd MMM Do h:mm a"
} ,
2015-07-31 15:11:57 +00:00
"action" : "@menu:fullLoginSequenceUserStats"
} ,
"fullLoginSequenceUserStats" : {
"art" : "userstats" ,
"options" : { "cls" : true , "pause" : true } ,
"action" : "@menu:mainMenu"
} ,
2015-05-16 05:02:58 +00:00
"newUserActive" : {
2015-07-23 05:08:08 +00:00
"art" : "SO-CC1.ANS" ,
2015-07-30 04:09:51 +00:00
"options" : { "cls" : true , "pause" : true } ,
"action" : "@menu:currentUserStats"
2015-07-23 05:08:08 +00:00
} ,
"currentUserStats" : {
2015-05-16 05:02:58 +00:00
"art" : "userstats" ,
2015-08-04 05:11:17 +00:00
"options" : { "cls" : true , "pause" : true }
//"action" : "@menu:lastCallers"
2015-07-26 06:20:07 +00:00
} ,
2015-07-31 15:11:57 +00:00
"mainMenu" : {
"art" : "MAINMENU" ,
"options" : { "cls" : true } ,
2015-08-07 05:08:10 +00:00
"prompt" : "menuCommand" ,
"submit" : [
{
"value" : { "command" : "G" } ,
"action" : "@menu:logoff"
} ,
{
"value" : { "command" : "D" } ,
"action" : "@menu:doorPimpWars"
} ,
{
"value" : { "command" : "L" } ,
"action" : "@menu:doorLORD"
} ,
2015-08-10 01:32:38 +00:00
{
"value" : { "command" : "M" } ,
2015-08-12 03:36:08 +00:00
"action" : "@menu:messageArea"
2015-08-10 01:32:38 +00:00
} ,
2015-08-07 05:08:10 +00:00
{
"value" : 1 ,
"action" : "@menu:mainMenu"
}
]
2015-07-31 15:11:57 +00:00
} ,
2015-08-10 01:32:38 +00:00
///////////////////////////////////////////////////////////////////////
// Message Area Related
///////////////////////////////////////////////////////////////////////
2015-08-12 03:36:08 +00:00
"messageArea" : {
"module" : "msg_area" ,
"art" : "MSGAREA" ,
2015-09-07 06:12:01 +00:00
"desc" : "Message Area" ,
2015-08-12 03:36:08 +00:00
"options" : { "cls" : true } ,
"prompt" : "menuCommand" ,
"submit" : [
{
"value" : { "command" : "N" } ,
2015-08-18 03:45:11 +00:00
"action" : "@menu:messageAreaNewPost" //,
//"extraArgs" : { "messageAreaId" : 123 }
} ,
{
2015-08-18 21:27:14 +00:00
"value" : { "command" : "C" } ,
"action" : "@menu:messageAreaChangeCurrentArea"
} ,
2015-08-27 05:04:04 +00:00
{
"value" : { "command" : "L" } ,
"action" : "@menu:messageAreaMessageList"
} ,
2015-08-18 21:27:14 +00:00
/ * {
2015-08-18 03:45:11 +00:00
"value" : { "command" : "A" } ,
"action" : "@method:changeArea"
2015-08-16 19:35:34 +00:00
} ,
2015-08-18 21:27:14 +00:00
* /
2015-08-16 19:35:34 +00:00
{
"value" : { "command" : "Q" } ,
"action" : "@menu:mainMenu"
2015-09-06 21:58:58 +00:00
} ,
{
"value" : 1 ,
"action" : "@menu:messageArea"
2015-08-12 03:36:08 +00:00
}
]
} ,
2015-08-18 21:27:14 +00:00
"messageAreaChangeCurrentArea" : {
"art" : "msg_area_list.ans" ,
"module" : "msg_area_list" ,
"options" : { "cls" : true } ,
2015-08-19 04:45:47 +00:00
"fallback" : "messageArea" ,
2015-08-18 21:27:14 +00:00
"form" : {
"0" : {
2015-08-20 00:50:40 +00:00
"VM" : {
2015-08-18 21:27:14 +00:00
"mci" : {
2015-08-19 04:45:47 +00:00
"VM1" : {
2015-08-18 21:27:14 +00:00
"widht" : 30 ,
2015-08-18 23:00:18 +00:00
"height" : 10 ,
2015-08-19 04:45:47 +00:00
"focus" : true ,
"submit" : true ,
"argName" : "area"
2015-08-18 21:27:14 +00:00
}
2015-08-18 23:00:18 +00:00
} ,
"submit" : {
"*" : [
{
2015-08-19 04:45:47 +00:00
"value" : { "area" : null } ,
2015-08-18 23:00:18 +00:00
"action" : "@method:changeArea"
}
]
2015-08-19 05:11:13 +00:00
} ,
2015-08-20 00:50:40 +00:00
"actionKeys" : [
2015-08-19 05:11:13 +00:00
{
"keys" : [ "escape" ] ,
"action" : "@menu:messageArea"
}
]
2015-08-18 21:27:14 +00:00
}
}
}
} ,
2015-08-27 05:04:04 +00:00
"messageAreaMessageList" : {
"module" : "msg_list" ,
"art" : "msg_list" ,
"options" : { "cls" : true } ,
"fallback" : "messageArea" ,
"config" : {
2015-09-04 22:17:41 +00:00
"listType" : "public"
2015-08-27 05:04:04 +00:00
} ,
"form" : {
"0" : {
"VM" : {
"mci" : {
"VM1" : {
2015-08-31 03:42:24 +00:00
"height" : 10 ,
"focus" : true ,
"submit" : true ,
"argName" : "message"
2015-08-27 05:04:04 +00:00
}
2015-08-31 03:42:24 +00:00
} ,
"submit" : {
"*" : [
{
"value" : { "message" : null } ,
"action" : "@method:selectMessage"
}
]
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"action" : "@menu:messageArea"
}
]
2015-08-27 05:04:04 +00:00
}
}
}
} ,
2015-09-01 05:18:46 +00:00
"messageAreaViewPost" : {
"module" : "msg_area_view_fse" ,
"options" : { "cls" : true } ,
"fallback" : "messageArea" , // :TODO: remove once default fallback is in place
"config" : {
"art" : {
2015-09-02 04:20:29 +00:00
"header" : "msg_area_view_header" ,
2015-09-01 05:18:46 +00:00
"body" : "demo_fse_netmail_body.ans" ,
"footerEdit" : "demo_fse_netmail_footer_edit.ans" ,
"footerEditMenu" : "demo_fse_netmail_footer_edit_menu.ans" ,
"footerView" : "msg_area_footer_view.ans" ,
"help" : "demo_fse_netmail_help.ans"
} ,
2015-09-02 04:20:29 +00:00
"editorMode" : "view" ,
2015-09-01 05:18:46 +00:00
"editorType" : "area"
} ,
"form" : {
"0" : {
2015-09-03 05:11:17 +00:00
"mci" : {
"TL1" : {
"width" : 36
} ,
"TL2" : {
"width" : 36
} ,
"TL3" : {
"width" : 39 ,
"textOverflow" : "..."
} ,
"TL5" : {
"width" : 19
} ,
"MA5" : {
"width" : 19 ,
"textOverflow" : "..."
2015-09-01 05:18:46 +00:00
}
}
} ,
"1" : {
"MT" : {
"mci" : {
"MT1" : {
"width" : 79 ,
2015-09-03 05:11:17 +00:00
"height" : 17 ,
"mode" : "preview"
2015-09-01 05:18:46 +00:00
}
} ,
"submit" : {
"*" : [
{
"value" : "message" ,
"action" : "@method:editModeEscPressed"
}
]
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 1
}
]
}
} ,
"2" : {
"TLTL" : {
"mci" : {
"TL1" : {
"width" : 5
} ,
"TL2" : {
"width" : 4
}
}
}
} ,
2015-09-06 21:58:58 +00:00
"4" : {
2015-09-01 05:18:46 +00:00
"HM" : {
"mci" : {
"HM1" : {
2015-09-06 21:58:58 +00:00
// (P)rev/(N)ext/Post/(R)eply/(Q)uit/(?)Help
// (#)Jump/(L)Index (msg list)/Last
"items" : [ "Prev" , "Next" , "Reply" , "Quit" , "Help" ]
2015-09-01 05:18:46 +00:00
}
2015-09-06 21:58:58 +00:00
} ,
2015-09-01 05:18:46 +00:00
"submit" : {
"*" : [
2015-09-07 06:12:01 +00:00
{
"value" : { "1" : 0 } ,
"action" : "@method:prevMessage"
} ,
2015-09-01 05:18:46 +00:00
{
2015-09-06 21:58:58 +00:00
"value" : { "1" : 1 } ,
"action" : "@method:nextMessage"
} ,
{
"value" : { "1" : 3 } ,
"action" : "@menu:messageArea"
2015-09-01 05:18:46 +00:00
}
]
2015-09-06 21:58:58 +00:00
} ,
"actionKeys" : [
2015-09-07 06:12:01 +00:00
/ *
2015-09-01 05:18:46 +00:00
{
"keys" : [ "escape" ] ,
2015-09-06 21:58:58 +00:00
"action" : "@method:editModeEscPressed" // :TODO: fixme
2015-09-07 06:12:01 +00:00
} ,
* /
{
"keys" : [ "down arrow" , "up arrow" , "page up" , "page down" ] ,
"action" : "@method:movementKeyPressed"
2015-09-01 05:18:46 +00:00
}
]
}
}
}
} ,
2015-08-18 03:45:11 +00:00
// :TODO: messageAreaSelect (change msg areas -> call @systemMethod -> fallback to menu
2015-08-12 03:36:08 +00:00
"messageAreaNewPost" : {
2015-09-06 21:58:58 +00:00
"status" : "Posting message" ,
2015-08-14 20:49:06 +00:00
"module" : "msg_area_post_fse" ,
2015-08-12 03:36:08 +00:00
"options" : { "cls" : true } ,
2015-08-20 04:10:18 +00:00
"fallback" : "messageArea" , // :TODO: remove once default fallback is in place
2015-08-12 03:36:08 +00:00
"config" : {
2015-08-14 20:49:06 +00:00
"art" : {
2015-08-12 04:28:43 +00:00
"header" : "msg_area_post_header" ,
2015-08-12 03:36:08 +00:00
"body" : "demo_fse_netmail_body.ans" ,
2015-09-04 20:28:05 +00:00
"footerEditor" : "demo_fse_netmail_footer_edit.ans" ,
"footerEditorMenu" : "demo_fse_netmail_footer_edit_menu.ans" ,
2015-08-12 03:36:08 +00:00
"footerView" : "demo_fse_netmail_footer_view.ans" ,
"help" : "demo_fse_netmail_help.ans"
2015-08-20 04:10:18 +00:00
} ,
2015-09-04 06:02:28 +00:00
"editorMode" : "edit" ,
2015-08-20 04:10:18 +00:00
"editorType" : "area"
2015-08-13 04:08:33 +00:00
} ,
"form" : {
"0" : {
2015-08-20 04:10:18 +00:00
"ETETTL" : {
2015-08-13 04:08:33 +00:00
"mci" : {
"TL1" : {
"width" : 36 ,
"argName" : "from"
} ,
"ET2" : {
"width" : 36 ,
"argName" : "to" ,
"focus" : true
} ,
"ET3" : {
"width" : 65 ,
"argName" : "subject" ,
"maxLength" : 72 ,
"submit" : true
} ,
2015-08-20 04:10:18 +00:00
"MA5" : {
2015-08-13 04:08:33 +00:00
"width" : 19 ,
"textOverflow" : "..."
}
2015-08-20 04:10:18 +00:00
/ * ,
"TL4" : {
"width" : 19 ,
"textOverflow" : "..."
} * /
2015-08-14 04:30:55 +00:00
} ,
2015-08-13 04:08:33 +00:00
"submit" : {
"3" : [
{
"value" : { "subject" : null } ,
2015-08-16 19:35:34 +00:00
"action" : "@method:headerSubmit"
2015-08-13 04:08:33 +00:00
}
]
2015-08-14 04:30:55 +00:00
}
2015-08-13 04:08:33 +00:00
}
2015-08-13 22:05:17 +00:00
} ,
"1" : {
"MT" : {
"mci" : {
"MT1" : {
"width" : 79 ,
"height" : 17 ,
"argName" : "message"
}
2015-08-14 04:30:55 +00:00
} ,
2015-08-13 22:05:17 +00:00
"submit" : {
"*" : [
{
"value" : "message" ,
2015-08-16 19:35:34 +00:00
"action" : "@method:editModeEscPressed"
2015-08-13 22:05:17 +00:00
}
]
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 1
}
]
}
2015-08-14 04:30:55 +00:00
} ,
"2" : {
"TLTL" : {
"mci" : {
"TL1" : {
"width" : 5
} ,
"TL2" : {
"width" : 4
}
}
}
} ,
"3" : {
"HM" : {
"mci" : {
"HM1" : {
// :TODO: Continue, Save, Discard, Clear, Quote, Help
"items" : [ "Save" , "Discard" , "Quote" , "Help" ]
}
} ,
"submit" : {
"*" : [
{
"value" : { "1" : 0 } ,
2015-08-16 19:35:34 +00:00
"action" : "@method:editModeMenuSave"
2015-08-14 04:30:55 +00:00
} ,
{
"value" : { "1" : 1 } ,
"action" : "@menu:messageArea"
} ,
{
"value" : { "1" : 2 } ,
"action" : "@method:fseSubmitProxy"
} ,
{
"value" : { "1" : 3 } ,
2015-08-16 19:35:34 +00:00
"action" : "@method:editModeMenuHelp"
} / * ,
2015-08-14 04:30:55 +00:00
{
"value" : 1 ,
2015-08-16 19:35:34 +00:00
"action" : "@method:editModeEscPressed"
} * /
2015-08-14 04:30:55 +00:00
]
} ,
"actionKeys" : [ // :TODO: Need better name
{
"keys" : [ "escape" ] ,
2015-08-16 19:35:34 +00:00
"action" : "@method:editModeEscPressed"
2015-08-14 04:30:55 +00:00
}
]
// :TODO: something like the following for overriding keymap
// this should only override specified entries. others will default
/ *
"keyMap" : {
"accept" : [ "return" ]
}
* /
}
2015-08-13 04:08:33 +00:00
}
2015-08-12 03:36:08 +00:00
}
} ,
2015-08-10 01:32:38 +00:00
///////////////////////////////////////////////////////////////////////
// Doors
///////////////////////////////////////////////////////////////////////
2015-08-03 00:27:05 +00:00
"doorPimpWars" : {
"module" : "abracadabra" ,
2015-08-04 05:11:17 +00:00
"fallback" : "mainMenu" ,
2015-08-03 00:27:05 +00:00
"config" : {
2015-08-04 05:11:17 +00:00
"name" : "PimpWars" ,
"dropFileType" : "DORINFO" ,
"cmd" : "/usr/bin/dosemu" ,
"args" : [
"-quiet" , "-f" , "/home/nuskooler/DOS/X/LORD/dosemu.conf" , "X:\\PW\\START.BAT {dropfile} {node}"
] ,
2015-08-04 05:21:23 +00:00
"nodeMax" : 1 ,
"tooManyArt" : "doortoomany.ans"
2015-08-04 05:11:17 +00:00
}
} ,
"doorLORD" : {
"module" : "abracadabra" ,
"fallback" : "mainMenu" ,
"config" : {
"name" : "LORD" ,
"dropFileType" : "DOOR" ,
"cmd" : "/usr/bin/dosemu" ,
"args" : [
"-quiet" , "-f" , "/home/nuskooler/DOS/X/LORD/dosemu.conf" , "X:\\LORD\\START.BAT {node}"
]
2015-08-03 00:27:05 +00:00
}
} ,
2015-07-31 15:11:57 +00:00
////////////////////////////////////////////////////////////////////////
// Mods
////////////////////////////////////////////////////////////////////////
2015-08-05 04:35:59 +00:00
"idleLogoff" : {
"art" : "IDLELOG" ,
"options" : { "cls" : true } ,
"action" : "@systemMethod:logoff"
} ,
////////////////////////////////////////////////////////////////////////
// Mods
////////////////////////////////////////////////////////////////////////
2015-07-26 06:20:07 +00:00
"lastCallers" : {
"module" : "last_callers" ,
"art" : "LASTCALL.ANS" ,
2015-07-30 04:09:51 +00:00
"options" : { "cls" : true , "pause" : true } ,
2015-07-27 04:51:06 +00:00
"config" : {
2015-07-28 04:10:20 +00:00
"dateTimeFormat" : "ddd MMM Do H:mm a"
2015-07-27 04:51:06 +00:00
} ,
"form" : {
"0" : {
2015-07-28 04:10:20 +00:00
"TLTLTLTL" : {
2015-07-27 04:51:06 +00:00
"mci" : {
2015-07-28 04:10:20 +00:00
// :TODO: Bug: Without any keys here, theme customization does not apply!!!!
"TL1" : {
"styleSGR1" : "|00|24"
2015-07-27 04:51:06 +00:00
} ,
"TL2" : {
2015-07-28 04:10:20 +00:00
"styleSGR1" : "|00|24"
} ,
"TL3" : {
"styleSGR1" : "|00|24"
} ,
"TL4" : {
"styleSGR1" : "|00|24"
2015-07-27 04:51:06 +00:00
}
2015-07-28 04:10:20 +00:00
2015-07-27 04:51:06 +00:00
}
}
}
}
2015-05-16 05:02:58 +00:00
} ,
2015-07-31 15:11:57 +00:00
////////////////////////////////////////////////////////////////////////
// Demo Section
////////////////////////////////////////////////////////////////////////
2015-05-16 05:02:58 +00:00
"demoMain" : {
"art" : "demo_selection_vm.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"VM" : {
2015-05-16 05:02:58 +00:00
"mci" : {
"VM1" : {
"items" : [
"Single Line Text Editing Views" ,
"Spinner & Toggle Views" ,
"Mask Edit Views" ,
2015-05-16 20:39:14 +00:00
"Multi Line Text Editor" ,
2015-05-16 05:02:58 +00:00
"Vertical Menu Views" ,
"Horizontal Menu Views" ,
"Art Display" ,
2015-08-26 05:17:09 +00:00
"Full Screen Editor"
2015-05-16 05:02:58 +00:00
] ,
"height" : 10 ,
"itemSpacing" : 1 ,
"justify" : "center" ,
"focusTextStyle" : "small i"
}
2015-04-10 04:49:56 +00:00
} ,
2015-05-16 05:02:58 +00:00
"submit" : {
"*" : [
{
"value" : { "1" : 0 } ,
"action" : "@menu:demoEditTextView"
} ,
{
"value" : { "1" : 1 } ,
"action" : "@menu:demoSpinAndToggleView"
} ,
{
"value" : { "1" : 2 } ,
"action" : "@menu:demoMaskEditView"
} ,
{
2015-05-16 20:39:14 +00:00
"value" : { "1" : 3 } ,
"action" : "@menu:demoMultiLineEditTextView"
} ,
2015-08-26 05:17:09 +00:00
{
"value" : { "1" : 4 } ,
"action" : "@menu:demoVerticalMenuView"
} ,
2015-07-01 04:45:27 +00:00
{
"value" : { "1" : 5 } ,
"action" : "@menu:demoHorizontalMenuView"
} ,
2015-05-16 20:39:14 +00:00
{
"value" : { "1" : 6 } ,
2015-05-16 05:02:58 +00:00
"action" : "@menu:demoArtDisplay"
2015-06-25 04:45:21 +00:00
} ,
{
"value" : { "1" : 7 } ,
2015-06-25 22:33:17 +00:00
"action" : "@menu:demoFullScreenEditor"
2015-05-16 05:02:58 +00:00
}
]
2015-04-07 04:29:45 +00:00
}
}
}
}
2015-04-10 04:49:56 +00:00
} ,
2015-05-16 05:02:58 +00:00
"demoEditTextView" : {
"art" : "demo_edit_text_view1.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"BTETETETET" : {
2015-05-16 05:02:58 +00:00
"mci" : {
"ET1" : {
"width" : 20 ,
"maxLength" : 20
} ,
"ET2" : {
"width" : 20 ,
"maxLength" : 40 ,
"textOverflow" : "..."
2015-04-29 03:15:36 +00:00
} ,
2015-05-16 05:02:58 +00:00
"ET3" : {
"width" : 20 ,
"fillChar" : "-" ,
"styleSGR1" : "|00|36" ,
"maxLength" : 20
2015-05-03 23:35:55 +00:00
} ,
2015-05-16 05:02:58 +00:00
"ET4" : {
"width" : 20 ,
"maxLength" : 20 ,
"password" : true
2015-05-15 05:01:00 +00:00
} ,
2015-05-16 05:02:58 +00:00
"BT5" : {
"width" : 8 ,
2015-07-10 05:23:37 +00:00
"text" : "< Back"
2015-04-25 20:44:48 +00:00
}
2015-04-27 23:27:23 +00:00
} ,
2015-05-16 05:02:58 +00:00
"submit" : {
"*" : [
{
"value" : 5 ,
"action" : "@menu:demoMain"
}
]
2015-07-10 05:23:37 +00:00
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 5
}
]
2015-04-29 03:15:36 +00:00
}
}
}
2015-05-16 05:02:58 +00:00
} ,
"demoSpinAndToggleView" : {
"art" : "demo_spin_and_toggle.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"BTSMSMTM" : {
2015-05-16 05:02:58 +00:00
"mci" : {
"SM1" : {
"items" : [ "Henry Morgan" , "François l'Ollonais" , "Roche Braziliano" , "Black Bart" , "Blackbeard" ]
} ,
"SM2" : {
"items" : [ "Razor 1911" , "DrinkOrDie" , "TRSI" ]
} ,
"TM3" : {
"items" : [ "Yarly" , "Nowaii" ] ,
"styleSGR1" : "|00|30|01" ,
2015-06-05 22:20:26 +00:00
"hotKeys" : { "Y" : 0 , "N" : 1 }
2015-05-16 05:02:58 +00:00
} ,
"BT8" : {
2015-07-10 05:23:37 +00:00
"text" : "< Back"
2015-05-16 05:02:58 +00:00
}
2015-04-29 03:15:36 +00:00
} ,
2015-05-16 05:02:58 +00:00
"submit" : {
"*" : [
{
"value" : 8 ,
"action" : "@menu:demoMain"
}
]
2015-07-10 05:23:37 +00:00
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 8
}
]
2015-04-27 23:27:23 +00:00
}
}
}
2015-05-16 05:02:58 +00:00
} ,
"demoMaskEditView" : {
"art" : "demo_mask_edit_text_view1.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"BTMEME" : {
2015-05-16 05:02:58 +00:00
"mci" : {
"ME1" : {
"maskPattern" : "##/##/##" ,
"styleSGR1" : "|00|30|01" ,
2015-07-22 05:52:20 +00:00
//"styleSGR2" : "|00|45|01",
"styleSGR3" : "|00|30|35" ,
"fillChar" : "#"
2015-05-16 20:39:14 +00:00
} ,
"BT5" : {
2015-07-10 05:23:37 +00:00
"text" : "< Back"
2015-05-16 20:39:14 +00:00
}
2015-05-18 03:33:27 +00:00
} ,
"submit" : {
"*" : [
{
"value" : 5 ,
"action" : "@menu:demoMain"
}
]
2015-07-10 05:23:37 +00:00
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 5
}
]
2015-05-16 20:39:14 +00:00
}
}
}
} ,
"demoMultiLineEditTextView" : {
"art" : "demo_multi_line_edit_text_view1.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"BTMT" : {
2015-05-16 20:39:14 +00:00
"mci" : {
"MT1" : {
2015-06-20 21:15:37 +00:00
"width" : 70 ,
2015-05-18 03:33:27 +00:00
"height" : 17 ,
2015-07-22 05:52:20 +00:00
//"text" : "@art:demo_multi_line_edit_text_view_text.txt",
// "text" : "@systemMethod:textFromFile"
"text" : "Hints:\n\t* Insert / CTRL-V toggles overtype mode\n\t* CTRL-Y deletes the current line\n\t* Try Page Up / Page Down\n\t* Home goes to the start of line text\n\t* End goes to the end of a line\n\n\nTab handling:\n-------------------------------------------------\n\tA\tB\tC\tD\tE\tF\nA\tB\tC\tD\tE\tF\tG\tH\n\tA\tB\tC\tD\tE\tF\nA\tB\tC\tD\tE\tF\tG\tH\nA0\tBB\t1\tCCC\t2\tDDD\t3EEEE\nW\t\tX\t\tY\t\tZ\n\nAn excerpt from A Clockwork Orange:\n\"What sloochatted then, of course, was that my cellmates woke up and started joining in, tolchocking a bit wild in the near-dark, and the shoom seemed to wake up the whole tier, so that you could slooshy a lot of creeching and banging about with tin mugs on the wall, as though all the plennies in all the cells thought a big break was about to commence, O my brothers.\n" ,
2015-05-18 03:33:27 +00:00
"focus" : true
2015-05-16 20:39:14 +00:00
} ,
"BT5" : {
2015-07-10 05:23:37 +00:00
"text" : "< Back"
2015-05-16 05:02:58 +00:00
}
2015-05-18 03:33:27 +00:00
} ,
"submit" : {
"*" : [
{
"value" : 5 ,
"action" : "@menu:demoMain"
}
]
2015-07-10 05:23:37 +00:00
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 5
}
]
2015-05-15 05:01:00 +00:00
}
}
}
2015-05-16 05:02:58 +00:00
} ,
2015-07-01 04:45:27 +00:00
"demoHorizontalMenuView" : {
"art" : "demo_horizontal_menu_view1.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"BTHMHM" : {
2015-07-01 04:45:27 +00:00
"mci" : {
"HM1" : {
2015-07-02 02:18:34 +00:00
"items" : [ "One" , "Two" , "Three" ] ,
"hotKeys" : { "1" : 0 , "2" : 1 , "3" : 2 }
} ,
"HM2" : {
"items" : [ "Uno" , "Dos" , "Tres" ] ,
"hotKeys" : { "U" : 0 , "D" : 1 , "T" : 2 }
2015-07-01 04:45:27 +00:00
} ,
"BT5" : {
2015-07-10 05:23:37 +00:00
"text" : "< Back"
2015-07-01 04:45:27 +00:00
}
2015-07-02 02:18:34 +00:00
} ,
"submit" : {
"*" : [
{
"value" : 5 ,
"action" : "@menu:demoMain"
}
]
2015-07-10 05:23:37 +00:00
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 5
}
]
2015-07-01 04:45:27 +00:00
}
}
}
} ,
2015-08-26 05:17:09 +00:00
"demoVerticalMenuView" : {
"art" : "demo_vertical_menu_view1.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
"BTVM" : {
"mci" : {
"VM1" : {
"items" : [
"|33Oblivion/2" ,
"|33iNiQUiTY" ,
"|33ViSiON/X"
] ,
"focusItems" : [
"|33Oblivion|01/|00|332" ,
"|01|33i|00|33N|01i|00|33QU|01i|00|33TY" ,
"|33ViSiON/X"
]
//
// :TODO: how to do the following:
// 1) Supply a view a string for a standard vs focused item
// "items" : [...], "focusItems" : [ ... ] ?
// "draw" : "@method:drawItemX", then items: [...]
} ,
"BT5" : {
"text" : "< Back"
}
} ,
"submit" : {
"*" : [
{
"value" : 5 ,
"action" : "@menu:demoMain"
}
]
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 5
}
]
}
}
}
} ,
2015-05-16 05:02:58 +00:00
"demoArtDisplay" : {
"art" : "demo_selection_vm.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"VM" : {
2015-05-16 05:02:58 +00:00
"mci" : {
"VM1" : {
"items" : [
"Defaults - DOS ANSI" ,
2015-07-20 03:49:48 +00:00
"bw_mindgames.ans - DOS" ,
"test.ans - DOS" ,
2015-05-16 05:02:58 +00:00
"Defaults - Amiga" ,
"Pause at Term Height"
] ,
// :TODO: justify not working??
"focusTextStyle" : "small i"
}
} ,
"submit" : {
"*" : [
{
"value" : { "1" : 0 } ,
"action" : "@menu:demoDefaultsDosAnsi"
2015-07-20 03:49:48 +00:00
} ,
{
"value" : { "1" : 1 } ,
"action" : "@menu:demoDefaultsDosAnsi_bw_mindgames"
} ,
{
"value" : { "1" : 2 } ,
"action" : "@menu:demoDefaultsDosAnsi_test"
}
2015-05-16 05:02:58 +00:00
]
2015-05-03 23:35:55 +00:00
}
}
}
}
2015-05-16 05:02:58 +00:00
} ,
"demoDefaultsDosAnsi" : {
2015-07-20 03:49:48 +00:00
"art" : "DM-ENIG2.ANS" ,
"options" : { "cls" : true }
} ,
"demoDefaultsDosAnsi_bw_mindgames" : {
"art" : "bw_mindgames.ans" ,
"options" : { "cls" : true }
} ,
"demoDefaultsDosAnsi_test" : {
"art" : "test.ans" ,
2015-05-16 05:02:58 +00:00
"options" : { "cls" : true }
2015-06-25 04:45:21 +00:00
} ,
2015-06-25 22:33:17 +00:00
"demoFullScreenEditor" : {
2015-08-08 21:52:47 +00:00
"module" : "@systemModule:fse" ,
2015-06-25 05:09:26 +00:00
"options" : { "cls" : true } ,
2015-06-26 04:34:33 +00:00
"config" : {
2015-07-04 18:02:37 +00:00
"editorType" : "netMail" ,
"art" : {
"header" : "demo_fse_netmail_header.ans" ,
"body" : "demo_fse_netmail_body.ans" ,
2015-09-04 20:28:05 +00:00
"footerEditor" : "demo_fse_netmail_footer_edit.ans" ,
"footerEditorMenu" : "demo_fse_netmail_footer_edit_menu.ans" ,
2015-07-11 22:39:42 +00:00
"footerView" : "demo_fse_netmail_footer_view.ans" ,
"help" : "demo_fse_netmail_help.ans"
2015-07-04 18:02:37 +00:00
}
2015-06-27 21:32:29 +00:00
} ,
2015-07-04 18:02:37 +00:00
"form" : {
"0" : {
2015-07-22 05:52:20 +00:00
"ETETET" : {
2015-07-04 18:02:37 +00:00
"mci" : {
"ET1" : {
// :TODO: from/to may be set by args
// :TODO: focus may change dep on view vs edit
"width" : 36 ,
2015-07-13 04:56:33 +00:00
"focus" : true ,
"argName" : "to"
2015-07-04 18:02:37 +00:00
} ,
"ET2" : {
2015-07-13 04:56:33 +00:00
"width" : 36 ,
"argName" : "from"
2015-07-04 18:02:37 +00:00
} ,
"ET3" : {
"width" : 65 ,
"maxLength" : 72 ,
2015-07-13 04:56:33 +00:00
"submit" : [ "enter" ] ,
"argName" : "subject"
2015-07-04 18:02:37 +00:00
}
} ,
"submit" : {
"3" : [
{
2015-07-13 19:41:21 +00:00
"value" : { "subject" : null } ,
2015-07-04 18:02:37 +00:00
"action" : "@method:headerSubmit"
}
]
}
}
} ,
"1" : {
2015-07-22 05:52:20 +00:00
"MT" : {
2015-07-04 18:02:37 +00:00
"mci" : {
"MT1" : {
"width" : 79 ,
2015-07-06 01:05:55 +00:00
"height" : 17 ,
2015-07-13 04:56:33 +00:00
"text" : "" , // :TODO: should not be req.
"argName" : "message"
2015-07-04 18:02:37 +00:00
}
} ,
"submit" : {
"*" : [
{
2015-07-13 19:41:21 +00:00
"value" : "message" ,
2015-07-09 04:49:22 +00:00
"action" : "@method:editModeEscPressed"
2015-07-04 18:02:37 +00:00
}
]
2015-07-10 05:23:37 +00:00
} ,
"actionKeys" : [
{
"keys" : [ "escape" ] ,
"viewId" : 1
}
]
2015-07-04 18:02:37 +00:00
}
2015-07-06 01:05:55 +00:00
} ,
"2" : {
2015-07-22 05:52:20 +00:00
"TLTL" : {
2015-07-06 01:05:55 +00:00
"mci" : {
"TL1" : {
"width" : 5
} ,
"TL2" : {
"width" : 4
}
}
}
2015-07-09 04:07:25 +00:00
} ,
"3" : {
2015-07-22 05:52:20 +00:00
"HM" : {
2015-07-09 04:07:25 +00:00
"mci" : {
"HM1" : {
2015-07-12 06:32:31 +00:00
// :TODO: Continue, Save, Discard, Clear, Quote, Help
"items" : [ "Save" , "Discard" , "Quote" , "Help" ]
2015-07-09 04:07:25 +00:00
}
2015-07-09 04:49:22 +00:00
} ,
"submit" : {
"*" : [
{
2015-07-09 23:06:09 +00:00
"value" : { "1" : 0 } ,
2015-07-12 06:32:31 +00:00
"action" : "@method:editModeMenuSave"
2015-07-09 04:49:22 +00:00
} ,
2015-07-10 05:23:37 +00:00
{
"value" : { "1" : 1 } ,
2015-07-12 02:12:07 +00:00
"action" : "@menu:demoMain"
2015-07-10 05:23:37 +00:00
} ,
{
"value" : { "1" : 2 } ,
2015-07-12 06:32:31 +00:00
"action" : "@method:editModeMenuQuote"
2015-07-10 05:23:37 +00:00
} ,
{
"value" : { "1" : 3 } ,
2015-07-12 02:12:07 +00:00
"action" : "@method:editModeMenuHelp"
2015-07-10 05:23:37 +00:00
} ,
2015-07-09 04:49:22 +00:00
{
"value" : 1 ,
"action" : "@method:editModeEscPressed"
}
]
2015-07-10 05:23:37 +00:00
} ,
"actionKeys" : [ // :TODO: Need better name
{
"keys" : [ "escape" ] ,
"action" : "@method:editModeEscPressed"
}
]
2015-07-10 21:24:30 +00:00
// :TODO: something like the following for overriding keymap
// this should only override specified entries. others will default
/ *
"keyMap" : {
"accept" : [ "return" ]
}
* /
2015-07-09 04:07:25 +00:00
}
2015-07-04 18:02:37 +00:00
}
}
/ *
2015-06-27 21:32:29 +00:00
"form" : {
"0" : {
"ET1ET2MT3" : {
"mci" : {
"ET1" : {
2015-06-29 04:31:12 +00:00
"width" : 20 ,
"placeholder" : "TODO support this" ,
"focus" : true
2015-06-27 21:32:29 +00:00
} ,
"ET2" : {
2015-06-29 04:31:12 +00:00
"width" : 20
2015-06-27 21:32:29 +00:00
} ,
"MT3" : {
"width" : 79 ,
"height" : 17 ,
"text" : "" ,
"submit" : [ "escape" ]
}
} ,
"submit" : {
// :TODO: It may be nice to have a way to submit without data - e.g. we just care about the key press.
"3" : [
{
"value" : 3 ,
"action" : "@method:editorEscPressed"
}
]
}
}
}
2015-06-25 05:09:26 +00:00
}
2015-07-04 18:02:37 +00:00
* /
2015-05-03 23:35:55 +00:00
}
2015-05-16 05:02:58 +00:00
/ *
: T O D O : c o n c e p t u a l s i m p l i f i e d m e n u s - - a c t i o n s / e t c . w i t h o u t f o r m s
2015-04-28 23:18:02 +00:00
2015-05-16 05:02:58 +00:00
{
"myMenu" : {
"art" : "MENUART" ,
"mci" : { // lack of "form": direct to form:0 {}
"VM1" : {
"items" : [ "Hello" , "Goodbye" ] ,
"action" : "@method:someMethod" // implies { "submit" : true }
} ,
"submit" : {
// alternate form with filters
}
2015-04-28 23:18:02 +00:00
}
2015-04-28 04:40:05 +00:00
}
}
2015-05-16 05:02:58 +00:00
* /
/ *
"demoEditTextView" : {
"art" : "demo_edit_text_view.ans" ,
"options" : { "cls" : true } ,
"form" : {
"0" : {
"ET1ET2ET3ET5SM4TM6" : {
"mci" : {
"ET1" : { "maxLength" : 1 } ,
"ET2" : { "maxLength" : 1 } ,
"ET3" : { "maxLength" : 1 } ,
"SM4" : {
"items" : [ "One" , "Two" , "Three" , "Four" ]
} ,
"ET5" : {
"password" : true ,
2015-06-06 06:33:59 +00:00
"submit" : [ "escape" ] ,
2015-05-16 05:02:58 +00:00
"fillChar" : "#"
} ,
"TM6" : {
"items" : [ "Yes" , "No" ] ,
"hotkeys" : { "Y" : 0 , "n" : 1 }
}
2015-04-27 02:46:16 +00:00
}
}
2015-04-25 20:44:48 +00:00
}
}
}
2015-05-16 05:02:58 +00:00
* /
2015-03-24 05:12:19 +00:00
}
}