| 
									
										
										
										
											2009-01-06 14:56:14 -05:00
										 |  |  | ! Copyright (C) 2007, 2009 Slava Pestov. | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							| 
									
										
										
										
											2009-05-14 17:54:16 -04:00
										 |  |  | USING: colors kernel models tools.deploy.config | 
					
						
							|  |  |  | tools.deploy.config.editor tools.deploy vocabs namespaces | 
					
						
							|  |  |  | models.mapping sequences system accessors fry ui.gadgets ui.render | 
					
						
							| 
									
										
										
										
											2015-07-29 11:31:19 -04:00
										 |  |  | ui.gadgets.packs ui.gadgets.labels ui.gadgets.editors ui.gadgets.borders ui.gadgets.buttons ui.gadgets.toolbar ui.gestures ui.commands assocs | 
					
						
							| 
									
										
										
										
											2014-07-16 05:26:52 -04:00
										 |  |  | ui.gadgets.tracks ui ui.tools.listener ui.tools.browser | 
					
						
							|  |  |  | ui.gadgets.worlds ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | IN: ui.tools.deploy | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-11 01:01:22 -04:00
										 |  |  | TUPLE: deploy-gadget < pack vocab settings ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-13 15:48:29 -04:00
										 |  |  | : bundle-name ( parent -- parent )
 | 
					
						
							| 
									
										
										
										
											2008-12-11 17:47:38 -05:00
										 |  |  |     deploy-name get <model-field> | 
					
						
							| 
									
										
										
										
											2008-07-13 15:48:29 -04:00
										 |  |  |     "Executable name:" label-on-left add-gadget ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 20:26:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-22 19:55:35 -04:00
										 |  |  | : deploy-console ( parent -- parent )
 | 
					
						
							|  |  |  |     deploy-console? get
 | 
					
						
							| 
									
										
										
										
											2011-11-21 16:10:55 -05:00
										 |  |  |     "Deploy as console application" <checkbox> add-gadget ;
 | 
					
						
							| 
									
										
										
										
											2010-03-22 19:55:35 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-13 15:48:29 -04:00
										 |  |  | : deploy-ui ( parent -- parent )
 | 
					
						
							| 
									
										
										
										
											2007-10-31 20:26:24 -04:00
										 |  |  |     deploy-ui? get
 | 
					
						
							| 
									
										
										
										
											2008-07-13 15:48:29 -04:00
										 |  |  |     "Include user interface framework" <checkbox> add-gadget ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-13 15:48:29 -04:00
										 |  |  | : reflection-settings ( parent -- parent )
 | 
					
						
							| 
									
										
										
										
											2011-11-15 15:53:21 -05:00
										 |  |  |     "Reflection level:" <label> add-gadget | 
					
						
							| 
									
										
										
										
											2008-07-13 15:48:29 -04:00
										 |  |  |     deploy-reflection get deploy-reflection-options <radio-buttons> add-gadget ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : advanced-settings ( parent -- parent )
 | 
					
						
							| 
									
										
										
										
											2011-11-15 15:53:21 -05:00
										 |  |  |     "Additional reflection:" <label> add-gadget | 
					
						
							|  |  |  |     deploy-unicode? get "Unicode character literal table" <checkbox> add-gadget | 
					
						
							| 
									
										
										
										
											2008-07-13 15:48:29 -04:00
										 |  |  |     deploy-word-props? get "Retain all word properties" <checkbox> add-gadget | 
					
						
							|  |  |  |     deploy-word-defs? get "Retain all word definitions" <checkbox> add-gadget | 
					
						
							| 
									
										
										
										
											2011-08-04 18:49:33 -04:00
										 |  |  |     deploy-c-types? get "Retain all C types" <checkbox> add-gadget | 
					
						
							|  |  |  |     deploy-help? get "Retain documentation" <checkbox> add-gadget ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-13 15:51:54 -04:00
										 |  |  | : deploy-settings-theme ( gadget -- gadget )
 | 
					
						
							| 
									
										
										
										
											2008-09-27 15:36:04 -04:00
										 |  |  |     { 10 10 } >>gap | 
					
						
							|  |  |  |     1 >>fill ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-05 00:46:03 -05:00
										 |  |  | : <deploy-settings> ( vocab -- control )
 | 
					
						
							| 
									
										
										
										
											2011-10-19 13:40:12 -04:00
										 |  |  |     default-config [ <model> ] assoc-map [ | 
					
						
							|  |  |  |         <pile> | 
					
						
							|  |  |  |         bundle-name | 
					
						
							|  |  |  |         deploy-ui | 
					
						
							|  |  |  |         deploy-console | 
					
						
							|  |  |  |         reflection-settings | 
					
						
							|  |  |  |         advanced-settings | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         deploy-settings-theme | 
					
						
							|  |  |  |         namespace <mapping> >>model | 
					
						
							| 
									
										
										
										
											2012-07-19 03:02:47 -04:00
										 |  |  |     ] with-variables ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-08 16:32:55 -04:00
										 |  |  | : find-deploy-gadget ( gadget -- deploy-gadget )
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  |     [ deploy-gadget? ] find-parent ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-08 16:32:55 -04:00
										 |  |  | : find-deploy-vocab ( gadget -- vocab )
 | 
					
						
							| 
									
										
										
										
											2008-09-01 04:40:31 -04:00
										 |  |  |     find-deploy-gadget vocab>> ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-08 16:32:55 -04:00
										 |  |  | : find-deploy-config ( gadget -- config )
 | 
					
						
							| 
									
										
										
										
											2007-11-05 00:46:03 -05:00
										 |  |  |     find-deploy-vocab deploy-config ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-08 16:32:55 -04:00
										 |  |  | : find-deploy-settings ( gadget -- settings )
 | 
					
						
							| 
									
										
										
										
											2008-09-01 04:40:31 -04:00
										 |  |  |     find-deploy-gadget settings>> ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : com-revert ( gadget -- )
 | 
					
						
							|  |  |  |     dup find-deploy-config | 
					
						
							|  |  |  |     swap find-deploy-settings set-control-value ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : com-save ( gadget -- )
 | 
					
						
							|  |  |  |     dup find-deploy-settings control-value | 
					
						
							|  |  |  |     swap find-deploy-vocab set-deploy-config ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : com-deploy ( gadget -- )
 | 
					
						
							| 
									
										
										
										
											2009-02-12 10:48:05 -05:00
										 |  |  |     [ com-save ] | 
					
						
							|  |  |  |     [ find-deploy-vocab '[ _ deploy ] \ deploy call-listener ] | 
					
						
							|  |  |  |     [ close-window ] | 
					
						
							|  |  |  |     tri ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 20:26:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : com-help ( -- )
 | 
					
						
							| 
									
										
										
										
											2009-02-18 22:01:19 -05:00
										 |  |  |     "ui.tools.deploy" com-browse ;
 | 
					
						
							| 
									
										
										
										
											2007-10-31 20:26:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | \ com-help H{ | 
					
						
							|  |  |  |     { +nullary+ t } | 
					
						
							|  |  |  | } define-command | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-24 15:41:27 -05:00
										 |  |  | : com-close ( gadget -- )
 | 
					
						
							|  |  |  |     close-window ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-19 18:47:12 -05:00
										 |  |  | deploy-gadget "misc" "Miscellaneous commands" { | 
					
						
							|  |  |  |     { T{ key-down f f "ESC" } com-close } | 
					
						
							|  |  |  | } define-command-map | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | deploy-gadget "toolbar" f { | 
					
						
							| 
									
										
										
										
											2008-11-19 18:47:12 -05:00
										 |  |  |     { T{ key-down f f "F1" } com-help } | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  |     { f com-revert } | 
					
						
							|  |  |  |     { f com-save } | 
					
						
							| 
									
										
										
										
											2007-12-14 01:16:47 -05:00
										 |  |  |     { T{ key-down f f "RET" } com-deploy } | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | } define-command-map | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : <deploy-gadget> ( vocab -- gadget )
 | 
					
						
							| 
									
										
										
										
											2009-02-16 05:04:32 -05:00
										 |  |  |     deploy-gadget new
 | 
					
						
							| 
									
										
										
										
											2009-02-02 01:00:45 -05:00
										 |  |  |       over >>vocab | 
					
						
							|  |  |  |       vertical >>orientation | 
					
						
							|  |  |  |       swap <deploy-settings> >>settings | 
					
						
							|  |  |  |       dup settings>> add-gadget | 
					
						
							|  |  |  |       dup <toolbar> { 10 10 } >>gap add-gadget | 
					
						
							| 
									
										
										
										
											2008-07-13 15:51:54 -04:00
										 |  |  |     deploy-settings-theme | 
					
						
							|  |  |  |     dup com-revert ;
 | 
					
						
							| 
									
										
										
										
											2015-06-29 19:43:15 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-31 01:09:24 -04:00
										 |  |  | : deploy-tool ( vocab -- )
 | 
					
						
							| 
									
										
										
										
											2008-11-30 18:47:29 -05:00
										 |  |  |     vocab-name | 
					
						
							| 
									
										
										
										
											2009-02-02 01:00:45 -05:00
										 |  |  |     [ <deploy-gadget> { 10 10 } <border> ] | 
					
						
							| 
									
										
										
										
											2014-07-16 05:26:52 -04:00
										 |  |  |     [ | 
					
						
							|  |  |  |         <world-attributes> | 
					
						
							|  |  |  |             swap "Deploying “" "”" surround >>title | 
					
						
							| 
									
										
										
										
											2014-08-05 13:03:17 -04:00
										 |  |  |             [ { dialog-window } append ] change-window-controls | 
					
						
							| 
									
										
										
										
											2014-07-16 05:26:52 -04:00
										 |  |  |     ] bi
 | 
					
						
							| 
									
										
										
										
											2008-11-30 18:47:29 -05:00
										 |  |  |     open-window ;
 |