浏览代码

Added mojox module.

Mark Sibly 9 年之前
父节点
当前提交
2bdb9512ae
共有 100 个文件被更改,包括 910 次插入0 次删除
  1. 206 0
      modules/mojox/action.monkey2
  2. 二进制
      modules/mojox/assets/mojox/filetype_icons/_dir.png
  3. 二进制
      modules/mojox/assets/mojox/filetype_icons/_file.png
  4. 二进制
      modules/mojox/assets/mojox/filetype_icons/_page.png
  5. 二进制
      modules/mojox/assets/mojox/filetype_icons/aac.png
  6. 二进制
      modules/mojox/assets/mojox/filetype_icons/ai.png
  7. 二进制
      modules/mojox/assets/mojox/filetype_icons/aiff.png
  8. 二进制
      modules/mojox/assets/mojox/filetype_icons/avi.png
  9. 二进制
      modules/mojox/assets/mojox/filetype_icons/bmp.png
  10. 二进制
      modules/mojox/assets/mojox/filetype_icons/c.png
  11. 二进制
      modules/mojox/assets/mojox/filetype_icons/cpp.png
  12. 二进制
      modules/mojox/assets/mojox/filetype_icons/css.png
  13. 二进制
      modules/mojox/assets/mojox/filetype_icons/dat.png
  14. 二进制
      modules/mojox/assets/mojox/filetype_icons/dmg.png
  15. 二进制
      modules/mojox/assets/mojox/filetype_icons/doc.png
  16. 二进制
      modules/mojox/assets/mojox/filetype_icons/dotx.png
  17. 二进制
      modules/mojox/assets/mojox/filetype_icons/dwg.png
  18. 二进制
      modules/mojox/assets/mojox/filetype_icons/dxf.png
  19. 二进制
      modules/mojox/assets/mojox/filetype_icons/eps.png
  20. 二进制
      modules/mojox/assets/mojox/filetype_icons/exe.png
  21. 63 0
      modules/mojox/assets/mojox/filetype_icons/filetypes.txt
  22. 二进制
      modules/mojox/assets/mojox/filetype_icons/flv.png
  23. 二进制
      modules/mojox/assets/mojox/filetype_icons/gif.png
  24. 二进制
      modules/mojox/assets/mojox/filetype_icons/h.png
  25. 二进制
      modules/mojox/assets/mojox/filetype_icons/hpp.png
  26. 二进制
      modules/mojox/assets/mojox/filetype_icons/html.png
  27. 二进制
      modules/mojox/assets/mojox/filetype_icons/ics.png
  28. 二进制
      modules/mojox/assets/mojox/filetype_icons/iso.png
  29. 二进制
      modules/mojox/assets/mojox/filetype_icons/java.png
  30. 二进制
      modules/mojox/assets/mojox/filetype_icons/jpg.png
  31. 二进制
      modules/mojox/assets/mojox/filetype_icons/js.png
  32. 二进制
      modules/mojox/assets/mojox/filetype_icons/key.png
  33. 二进制
      modules/mojox/assets/mojox/filetype_icons/less.png
  34. 二进制
      modules/mojox/assets/mojox/filetype_icons/mid.png
  35. 二进制
      modules/mojox/assets/mojox/filetype_icons/mp3.png
  36. 二进制
      modules/mojox/assets/mojox/filetype_icons/mp4.png
  37. 二进制
      modules/mojox/assets/mojox/filetype_icons/mpg.png
  38. 二进制
      modules/mojox/assets/mojox/filetype_icons/odf.png
  39. 二进制
      modules/mojox/assets/mojox/filetype_icons/ods.png
  40. 二进制
      modules/mojox/assets/mojox/filetype_icons/odt.png
  41. 二进制
      modules/mojox/assets/mojox/filetype_icons/otp.png
  42. 二进制
      modules/mojox/assets/mojox/filetype_icons/ots.png
  43. 二进制
      modules/mojox/assets/mojox/filetype_icons/ott.png
  44. 二进制
      modules/mojox/assets/mojox/filetype_icons/pdf.png
  45. 二进制
      modules/mojox/assets/mojox/filetype_icons/php.png
  46. 二进制
      modules/mojox/assets/mojox/filetype_icons/png.png
  47. 二进制
      modules/mojox/assets/mojox/filetype_icons/ppt.png
  48. 二进制
      modules/mojox/assets/mojox/filetype_icons/psd.png
  49. 二进制
      modules/mojox/assets/mojox/filetype_icons/py.png
  50. 二进制
      modules/mojox/assets/mojox/filetype_icons/qt.png
  51. 二进制
      modules/mojox/assets/mojox/filetype_icons/rar.png
  52. 二进制
      modules/mojox/assets/mojox/filetype_icons/rb.png
  53. 二进制
      modules/mojox/assets/mojox/filetype_icons/rtf.png
  54. 二进制
      modules/mojox/assets/mojox/filetype_icons/sass.png
  55. 二进制
      modules/mojox/assets/mojox/filetype_icons/scss.png
  56. 二进制
      modules/mojox/assets/mojox/filetype_icons/sql.png
  57. 二进制
      modules/mojox/assets/mojox/filetype_icons/tga.png
  58. 二进制
      modules/mojox/assets/mojox/filetype_icons/tgz.png
  59. 二进制
      modules/mojox/assets/mojox/filetype_icons/tiff.png
  60. 二进制
      modules/mojox/assets/mojox/filetype_icons/txt.png
  61. 二进制
      modules/mojox/assets/mojox/filetype_icons/wav.png
  62. 二进制
      modules/mojox/assets/mojox/filetype_icons/xls.png
  63. 二进制
      modules/mojox/assets/mojox/filetype_icons/xlsx.png
  64. 二进制
      modules/mojox/assets/mojox/filetype_icons/xml.png
  65. 二进制
      modules/mojox/assets/mojox/filetype_icons/yml.png
  66. 二进制
      modules/mojox/assets/mojox/filetype_icons/zip.png
  67. 327 0
      modules/mojox/assets/mojox/htmlview_master_css.css
  68. 24 0
      modules/mojox/assets/mojox/markdown_wrapper.html
  69. 二进制
      modules/mojox/assets/themes/button_skin.png
  70. 二进制
      modules/mojox/assets/themes/checkbox_icons.png
  71. 290 0
      modules/mojox/assets/themes/default.json
  72. 二进制
      modules/mojox/assets/themes/dialog_skin.png
  73. 二进制
      modules/mojox/assets/themes/filetype_icons/7z.png
  74. 二进制
      modules/mojox/assets/themes/filetype_icons/_dir.png
  75. 二进制
      modules/mojox/assets/themes/filetype_icons/_file.png
  76. 二进制
      modules/mojox/assets/themes/filetype_icons/ai.png
  77. 二进制
      modules/mojox/assets/themes/filetype_icons/aiff.png
  78. 二进制
      modules/mojox/assets/themes/filetype_icons/arj.png
  79. 二进制
      modules/mojox/assets/themes/filetype_icons/asc.png
  80. 二进制
      modules/mojox/assets/themes/filetype_icons/asp.png
  81. 二进制
      modules/mojox/assets/themes/filetype_icons/audio.png
  82. 二进制
      modules/mojox/assets/themes/filetype_icons/avi.png
  83. 二进制
      modules/mojox/assets/themes/filetype_icons/bin.png
  84. 二进制
      modules/mojox/assets/themes/filetype_icons/bmp.png
  85. 二进制
      modules/mojox/assets/themes/filetype_icons/bz2.png
  86. 二进制
      modules/mojox/assets/themes/filetype_icons/c.png
  87. 二进制
      modules/mojox/assets/themes/filetype_icons/cdr.png
  88. 二进制
      modules/mojox/assets/themes/filetype_icons/cfc.png
  89. 二进制
      modules/mojox/assets/themes/filetype_icons/cfm.png
  90. 二进制
      modules/mojox/assets/themes/filetype_icons/chm.png
  91. 二进制
      modules/mojox/assets/themes/filetype_icons/class.png
  92. 二进制
      modules/mojox/assets/themes/filetype_icons/conf.png
  93. 二进制
      modules/mojox/assets/themes/filetype_icons/cpp.png
  94. 二进制
      modules/mojox/assets/themes/filetype_icons/cs.png
  95. 二进制
      modules/mojox/assets/themes/filetype_icons/css.png
  96. 二进制
      modules/mojox/assets/themes/filetype_icons/csv.png
  97. 二进制
      modules/mojox/assets/themes/filetype_icons/deb.png
  98. 二进制
      modules/mojox/assets/themes/filetype_icons/divx.png
  99. 二进制
      modules/mojox/assets/themes/filetype_icons/doc.png
  100. 二进制
      modules/mojox/assets/themes/filetype_icons/docx.png

+ 206 - 0
modules/mojox/action.monkey2

@@ -0,0 +1,206 @@
+
+Namespace mojox
+
+#rem monkeydoc The Action class.
+#end
+Class Action
+
+	#rem monkeydoc Invoked when the action is triggered.
+	#end
+	Field Triggered:Void()
+	
+	#rem monkeydoc Invoked when the [[Text]], [[Icon]] or [[Enabled]] property is changed.
+	#end
+	Field Modified:Void()
+
+	#rem monkeydoc Creates a new action.
+	#end
+	Method New( text:String,icon:Image=Null )
+	
+		_text=text
+		_icon=icon
+	End
+
+	#rem monkeydoc Text representintg the action.
+
+	This is used for button or menu text.
+
+	#end
+	Property Text:String()
+	
+		Return _text
+	
+	Setter( text:String )
+		If text=_text Return
+	
+		_text=text
+		
+		Modified()
+	End
+	
+	#rem monkeydoc Icon representing the action.
+	
+	This is used for button or menu icon.
+	
+	#end
+	Property Icon:Image()
+	
+		Return _icon
+	
+	Setter( icon:Image )
+		If icon=_icon Return
+		
+		_icon=icon
+		
+		Modified()
+	End
+	
+	#rem monkeydoc Action enabled state.
+	#end
+	Property Enabled:Bool()
+	
+		Return _enabled
+	
+	Setter( enabled:Bool )
+		If enabled=_enabled Return
+		
+		_enabled=enabled
+		
+		If _enabled EnableHotKey() Else DisableHotKey()
+		
+		Modified()
+	End
+	
+	#rem monkeydoc Action async flag.
+	
+	If true, then when the action is triggered the [[Triggered]] signal is run on a new fiber.
+	
+	Default to true.
+	
+	#end
+	Property Async:Bool()
+	
+		Return _async
+	
+	Setter( async:Bool )
+	
+		_async=async
+	End
+	
+	#rem monkeydoc Hotkey for the action.
+	#end
+	Property HotKey:Key()
+	
+		Return _hotKey
+	
+	Setter( hotKey:Key )
+		If hotKey=_hotKey Return
+	
+		If _enabled DisableHotKey()
+	
+		_hotKey=hotKey
+		
+		If _enabled EnableHotKey()
+	End
+	
+	#rem monkeydoc Hotkey modifiers for the action.
+	#end
+	Property HotKeyModifiers:Modifier()
+	
+		Return _hotKeyMods
+	
+	Setter( hotKeyModifiers:Modifier )
+	
+		_hotKeyMods=hotKeyModifiers
+	End
+	
+	#rem monkeydoc Text representation of the action hotkey.
+	#end
+	Property HotKeyText:String()
+
+		If Not _hotKey Return ""
+		
+		Local text:=""
+		If _hotKeyMods & Modifier.Shift text+="Shift"
+		If _hotKeyMods & Modifier.Control text+="+Ctrl"
+		If _hotKeyMods & Modifier.Alt text+="+Alt"
+		If _hotKeyMods & Modifier.Gui text+="+Cmd"
+		text+="+"+Keyboard.KeyName( _hotKey )
+		If text.StartsWith( "+" ) text=text.Slice( 1 )
+		Return text
+	End
+
+	#rem monkeydoc Triggers the action.
+	#end	
+	Method Trigger()
+	
+		If _async
+			New Fiber( Triggered )
+		Else
+			Triggered()
+		Endif
+		
+	End
+	
+	Private
+	
+	Field _enabled:Bool=True
+	Field _text:String
+	Field _icon:Image
+	Field _hotKey:Key
+	Field _hotKeyMods:Modifier
+	Field _async:Bool=True
+	
+	Global _hotKeys:Map<Key,Stack<Action>>
+	
+	Method DisableHotKey()
+	
+		If Not _hotKey Return
+		
+		_hotKeys[_hotKey].Remove( Self )
+	End
+	
+	Method EnableHotKey()
+	
+		If Not _hotKey Return
+		
+		If Not _hotKeys
+			
+			_hotKeys=New Map<Key,Stack<Action>>
+			
+			App.KeyEventFilter+=Lambda( event:KeyEvent )
+			
+				If event.Eaten Return
+				
+				If App.ModalView Return
+			
+				If event.Type<>EventType.KeyDown Return
+
+				Local actions:=_hotKeys[event.Key]
+				If Not actions Return
+
+				Local mods:=event.Modifiers
+				mods|=Cast<Modifier>( (Int(mods) & $541) Shl 1 | (Int(mods) & $a82) Shr 1 )
+
+				For Local action:=Eachin actions
+					If event.Key<>action._hotKey Continue
+					If mods<>action._hotKeyMods Continue
+					action.Trigger()
+					event.Eat()
+					Return
+				Next
+				
+			End
+			
+		Endif
+		
+		Local actions:=_hotKeys[_hotKey]
+		If Not actions
+			actions=New Stack<Action>
+			_hotKeys[_hotKey]=actions
+		Endif
+		
+		actions.Add( Self )
+	End
+
+End

二进制
modules/mojox/assets/mojox/filetype_icons/_dir.png


二进制
modules/mojox/assets/mojox/filetype_icons/_file.png


二进制
modules/mojox/assets/mojox/filetype_icons/_page.png


二进制
modules/mojox/assets/mojox/filetype_icons/aac.png


二进制
modules/mojox/assets/mojox/filetype_icons/ai.png


二进制
modules/mojox/assets/mojox/filetype_icons/aiff.png


二进制
modules/mojox/assets/mojox/filetype_icons/avi.png


二进制
modules/mojox/assets/mojox/filetype_icons/bmp.png


二进制
modules/mojox/assets/mojox/filetype_icons/c.png


二进制
modules/mojox/assets/mojox/filetype_icons/cpp.png


二进制
modules/mojox/assets/mojox/filetype_icons/css.png


二进制
modules/mojox/assets/mojox/filetype_icons/dat.png


二进制
modules/mojox/assets/mojox/filetype_icons/dmg.png


二进制
modules/mojox/assets/mojox/filetype_icons/doc.png


二进制
modules/mojox/assets/mojox/filetype_icons/dotx.png


二进制
modules/mojox/assets/mojox/filetype_icons/dwg.png


二进制
modules/mojox/assets/mojox/filetype_icons/dxf.png


二进制
modules/mojox/assets/mojox/filetype_icons/eps.png


二进制
modules/mojox/assets/mojox/filetype_icons/exe.png


+ 63 - 0
modules/mojox/assets/mojox/filetype_icons/filetypes.txt

@@ -0,0 +1,63 @@
+_dir.png
+_file.png
+aac.png
+ai.png
+aiff.png
+avi.png
+bmp.png
+c.png
+cpp.png
+css.png
+dat.png
+dmg.png
+doc.png
+dotx.png
+dwg.png
+dxf.png
+eps.png
+exe.png
+flv.png
+gif.png
+h.png
+hpp.png
+html.png
+ics.png
+iso.png
+java.png
+jpg.png
+js.png
+key.png
+less.png
+mid.png
+mp3.png
+mp4.png
+mpg.png
+odf.png
+ods.png
+odt.png
+otp.png
+ots.png
+ott.png
+pdf.png
+php.png
+png.png
+ppt.png
+psd.png
+py.png
+qt.png
+rar.png
+rb.png
+rtf.png
+sass.png
+scss.png
+sql.png
+tga.png
+tgz.png
+tiff.png
+txt.png
+wav.png
+xls.png
+xlsx.png
+xml.png
+yml.png
+zip.png

二进制
modules/mojox/assets/mojox/filetype_icons/flv.png


二进制
modules/mojox/assets/mojox/filetype_icons/gif.png


二进制
modules/mojox/assets/mojox/filetype_icons/h.png


二进制
modules/mojox/assets/mojox/filetype_icons/hpp.png


二进制
modules/mojox/assets/mojox/filetype_icons/html.png


二进制
modules/mojox/assets/mojox/filetype_icons/ics.png


二进制
modules/mojox/assets/mojox/filetype_icons/iso.png


二进制
modules/mojox/assets/mojox/filetype_icons/java.png


二进制
modules/mojox/assets/mojox/filetype_icons/jpg.png


二进制
modules/mojox/assets/mojox/filetype_icons/js.png


二进制
modules/mojox/assets/mojox/filetype_icons/key.png


二进制
modules/mojox/assets/mojox/filetype_icons/less.png


二进制
modules/mojox/assets/mojox/filetype_icons/mid.png


二进制
modules/mojox/assets/mojox/filetype_icons/mp3.png


二进制
modules/mojox/assets/mojox/filetype_icons/mp4.png


二进制
modules/mojox/assets/mojox/filetype_icons/mpg.png


二进制
modules/mojox/assets/mojox/filetype_icons/odf.png


二进制
modules/mojox/assets/mojox/filetype_icons/ods.png


二进制
modules/mojox/assets/mojox/filetype_icons/odt.png


二进制
modules/mojox/assets/mojox/filetype_icons/otp.png


二进制
modules/mojox/assets/mojox/filetype_icons/ots.png


二进制
modules/mojox/assets/mojox/filetype_icons/ott.png


二进制
modules/mojox/assets/mojox/filetype_icons/pdf.png


二进制
modules/mojox/assets/mojox/filetype_icons/php.png


二进制
modules/mojox/assets/mojox/filetype_icons/png.png


二进制
modules/mojox/assets/mojox/filetype_icons/ppt.png


二进制
modules/mojox/assets/mojox/filetype_icons/psd.png


二进制
modules/mojox/assets/mojox/filetype_icons/py.png


二进制
modules/mojox/assets/mojox/filetype_icons/qt.png


二进制
modules/mojox/assets/mojox/filetype_icons/rar.png


二进制
modules/mojox/assets/mojox/filetype_icons/rb.png


二进制
modules/mojox/assets/mojox/filetype_icons/rtf.png


二进制
modules/mojox/assets/mojox/filetype_icons/sass.png


二进制
modules/mojox/assets/mojox/filetype_icons/scss.png


二进制
modules/mojox/assets/mojox/filetype_icons/sql.png


二进制
modules/mojox/assets/mojox/filetype_icons/tga.png


二进制
modules/mojox/assets/mojox/filetype_icons/tgz.png


二进制
modules/mojox/assets/mojox/filetype_icons/tiff.png


二进制
modules/mojox/assets/mojox/filetype_icons/txt.png


二进制
modules/mojox/assets/mojox/filetype_icons/wav.png


二进制
modules/mojox/assets/mojox/filetype_icons/xls.png


二进制
modules/mojox/assets/mojox/filetype_icons/xlsx.png


二进制
modules/mojox/assets/mojox/filetype_icons/xml.png


二进制
modules/mojox/assets/mojox/filetype_icons/yml.png


二进制
modules/mojox/assets/mojox/filetype_icons/zip.png


+ 327 - 0
modules/mojox/assets/mojox/htmlview_master_css.css

@@ -0,0 +1,327 @@
+html {
+    display: block;
+    height:100%;
+    width:100%;
+	position: relative;
+}
+
+head {
+    display: none
+}
+
+meta {
+    display: none
+}
+
+title {
+    display: none
+}
+
+link {
+    display: none
+}
+
+style {
+    display: none
+}
+
+script {
+    display: none
+}
+
+body {
+	display:block; 
+/*	margin:8px; */
+    height:100%;
+    width:100%;
+}
+
+p {
+	display:block; 
+	margin-top:1em; 
+	margin-bottom:1em;
+}
+
+b, strong {
+	display:inline; 
+	font-weight:bold;
+}
+
+i, em {
+	display:inline; 
+	font-style:italic;
+}
+
+center 
+{
+	text-align:center;
+	display:block;
+}
+
+a:link
+{
+	text-decoration: underline;
+	color: #00f;
+	cursor: pointer;
+}
+
+h1, h2, h3, h4, h5, h6, div {
+	display:block;
+}
+
+h1 {
+	font-weight:bold; 
+	margin-top:0.67em; 
+	margin-bottom:0.67em; 
+	font-size: 2em;
+}
+
+h2 {
+	font-weight:bold; 
+	margin-top:0.83em; 
+	margin-bottom:0.83em; 
+	font-size: 1.5em;
+}
+
+h3 {
+	font-weight:bold; 
+	margin-top:1em; 
+	margin-bottom:1em; 
+	font-size:1.17em;
+}
+
+h4 {
+	font-weight:bold; 
+	margin-top:1.33em; 
+	margin-bottom:1.33em
+}
+
+h5 {
+	font-weight:bold; 
+	margin-top:1.67em; 
+	margin-bottom:1.67em;
+	font-size:.83em;
+}
+
+h6 {
+	font-weight:bold; 
+	margin-top:2.33em; 
+	margin-bottom:2.33em;
+	font-size:.67em;
+} 
+
+br {
+	display:inline-block;
+}
+
+br[clear="all"]
+{
+	clear:both;
+}
+
+br[clear="left"]
+{
+	clear:left;
+}
+
+br[clear="right"]
+{
+	clear:right;
+}
+
+span {
+	display:inline
+}
+
+img {
+	display: inline-block;
+}
+
+img[align="right"]
+{
+	float: right;
+}
+
+img[align="left"]
+{
+	float: left;
+}
+
+hr {
+    display: block;
+    margin-top: 0.5em;
+    margin-bottom: 0.5em;
+    margin-left: auto;
+    margin-right: auto;
+    border-style: inset;
+    border-width: 1px
+}
+
+
+/***************** TABLES ********************/
+
+table {
+    display: table;
+    border-style: solid;
+    border-collapse: separate;
+    border-spacing: 2px;
+    border-top-color:gray;
+    border-left-color:gray;
+    border-bottom-color:black;
+    border-right-color:black;
+}
+
+tbody, tfoot, thead {
+	display:table-row-group;
+	vertical-align:middle;
+}
+
+tr {
+    display: table-row;
+    vertical-align: inherit;
+    border-color: inherit;
+}
+
+td, th {
+    display: table-cell;
+    vertical-align: inherit;
+    border-width:1px;
+    padding:1px;
+}
+
+th {
+	font-weight: bold;
+}
+
+table[border] {
+    border-style:solid;
+}
+
+table[border|=0] {
+    border-style:none;
+}
+
+table[border] td, table[border] th {
+    border-style:solid;
+    border-top-color:black;
+    border-left-color:black;
+    border-bottom-color:gray;
+    border-right-color:gray;
+}
+
+table[border|=0] td, table[border|=0] th {
+    border-style:none;
+}
+
+caption {
+	display: table-caption;
+}
+
+td[nowrap], th[nowrap] {
+	white-space:nowrap;
+}
+
+tt, code, kbd, samp {
+    font-family: monospace
+}
+
+pre, xmp, plaintext, listing {
+    display: block;
+    font-family: monospace;
+    white-space: pre;
+    margin: 1em 0
+}
+
+/***************** LISTS ********************/
+
+ul, menu, dir {
+    display: block;
+    list-style-type: disc;
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 0;
+    margin-right: 0;
+    padding-left: 40px
+}
+
+ol {
+    display: block;
+    list-style-type: decimal;
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 0;
+    margin-right: 0;
+    padding-left: 40px
+}
+
+li {
+    display: list-item;
+}
+
+ul ul, ol ul {
+    list-style-type: circle;
+}
+
+ol ol ul, ol ul ul, ul ol ul, ul ul ul {
+    list-style-type: square;
+}
+
+dd {
+    display: block;
+    margin-left: 40px;
+}
+
+dl {
+    display: block;
+    margin-top: 1em;
+    margin-bottom: 1em;
+    margin-left: 0;
+    margin-right: 0;
+}
+
+dt {
+    display: block;
+}
+
+ol ul, ul ol, ul ul, ol ol {
+    margin-top: 0;
+    margin-bottom: 0
+}
+
+blockquote {
+	display: block;
+	margin-top: 1em;
+	margin-bottom: 1em;
+	margin-left: 40px;
+	margin-left: 40px;
+}
+
+/*********** FORM ELEMENTS ************/
+
+form {
+	display: block;
+	margin-top: 0em;
+}
+
+option {
+	display: none;
+}
+
+input, textarea, keygen, select, button, isindex {
+	margin: 0em;
+	color: initial;
+	line-height: normal;
+	text-transform: none;
+	text-indent: 0;
+	text-shadow: none;
+	display: inline-block;
+}
+input[type="hidden"] {
+	display: none;
+}
+
+
+article, aside, footer, header, hgroup, nav, section 
+{
+	display: block;
+}

+ 24 - 0
modules/mojox/assets/mojox/markdown_wrapper.html

@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+
+<head>
+
+<style>
+
+body{
+	background: #888;
+	color: #fff;
+}
+
+</style>
+
+</head>
+
+<html>
+
+<body>
+
+${CONTENT}
+
+</body>
+
+</html>

二进制
modules/mojox/assets/themes/button_skin.png


二进制
modules/mojox/assets/themes/checkbox_icons.png


+ 290 - 0
modules/mojox/assets/themes/default.json

@@ -0,0 +1,290 @@
+{
+	"colors":{
+
+		"clear": "#181818",
+		"gutter": "#262626",
+		"content": "#323232",
+		"panel": "#4c4c4c",
+		"knob": "#666666",
+		"hover": "#888888",
+		"active" : "#989898",
+		
+		"text-default": "#fff",
+		"text-highlight": "#ff0",
+		"text-disabled": "#888",
+		"text-background": "#888",
+		
+		"menu" : "content",
+
+		"textview-color0":"#0000",
+		"textview-color1":"#fff",
+		"textview-color2":"#ff0",
+		"textview-color3":"#0f8",
+		"textview-color4":"#0f8",
+		"textview-color5":"#0ff",
+		"textview-color6":"#fc0",
+		"textview-color7":"#fff",
+		
+		"windowClearColor":"clear"
+	},
+	
+	"fonts":{
+	
+		"normal":"DejaVuSans.ttf,16",
+		"fixedWidth":"DejaVuSansMono.ttf,16",
+		"small":"DejaVuSans.ttf,14"
+	},
+	
+	"styles":{
+
+		"default":{
+			"font":"normal",
+			"textColor":"text-default",
+			"iconColor":"#ffff",
+			"states":{
+				"disabled":{
+					"textColor":"text-disabled",
+					"iconColor":"#8fff"
+				}
+			}
+		},
+		
+		"Label":{
+			"padding":[8,4]
+		},
+		
+		"Button":{
+			"extends":"Label",
+			"padding":[4,2],
+			"skin":"button_skin.png",
+			"skinColor":"content",
+			
+			"states":{
+				"hover":{
+					"skinColor":"hover"
+				},
+				"active":{
+					"skinColor":"active"
+				},
+				"selected":{
+					"skinColor":"active"
+				}
+			}
+		},
+		
+		"PushButton":{
+			"extends":"Button",
+			"margin":[4,4]
+		},
+		
+		"CheckButton":{
+			"extends":"Label"
+		},
+		
+		"CheckBox":{
+			"icons":"checkbox_icons.png",
+			"margin":[8,0,0,0]
+		},
+		
+		"ProgressBar":{
+			"icons":"progressbar_icons.png"
+		},
+		
+		"ScrollView":{
+		},
+		
+		"ScrollBar":{
+			"backgroundColor":"gutter"
+		},
+		
+		"ScrollKnob":{
+			"padding":[ 4 ],
+			"border":[ 1 ],
+			"borderColor":"#0000",
+			"skin":"button_skin.png",
+			"skinColor":"knob",
+			"states":{
+				"hover":{
+					"skinColor":"hover"
+				},
+				"active":{
+					"skinColor":"active"
+				}
+			}
+		},
+		
+		"TextView":{
+			"font":"fixedWidth",
+			"backgroundColor":"content"
+		},
+		
+		"TextField":{
+			"padding":[ 2 ],
+			"margin":[ 2 ],
+			"skin":"button_skin.png",
+			"skinColor":"content"
+		},
+		
+		"DockingView":{
+		},
+		
+		"DockedView":{
+		},
+		
+		"DockKnob":{
+			"padding":[ 3 ],
+			"backgroundColor":"knob",
+			"states":{
+				"hover":{
+					"backgroundColor":"hover"
+				},
+				"active":{
+					"backgroundColor":"active"
+				}
+			}
+		},
+		
+		"ToolBar":{
+			"padding":[ 2 ],
+			"backgroundColor":"panel"
+		},
+		
+		"ToolButton":{
+			"extends":"Button",
+			"padding":[2,0],
+			"margin":[6,0]
+		},
+		
+		"Menu":{
+			"padding":[ 0 ],
+			"skin":"dialog_skin.png",
+			"skinColor":"panel"
+		},
+		
+		"MenuButton":{
+			"extends":"Button",
+			"skin":"",
+			"padding":[8,4],
+			"backgroundColor":"menu",
+			"states":{
+				"hover":{
+					"backgroundColor":"hover"
+				},
+				"active":{
+					"backgroundColor":"active"
+				},
+				"selected":{
+					"backgroundColor":"active"
+				}
+			}
+		},
+		
+		"MenuBar":{
+			"extends":"ToolBar",
+			"backgroundColor":"menu"
+		},
+		
+		"MenuSeparator":{
+			"padding":[ 0,0,0,1 ],
+			"backgroundColor":"panel",
+			"border":[ 8,8,7,7 ],
+			"borderColor":"menu"
+		},
+
+		"TabView":{
+		},
+		
+		"TabBar":{
+			"extends":"ToolBar",
+			"padding":[ 0,2,4,0 ],
+			"backgroundColor":"clear"
+		},
+		
+		"TabButton":{
+			"extends":"Button",
+//			"font":"small",
+			"padding":[1],
+			"margin":[2,0],
+			"backgroundColor":"#0000",
+			"skin":"tabbutton_skin.png",
+			"skinColor":"gutter",
+			"textColor":"text-background",
+			
+			"states":{
+				"hover":{
+					"skinColor":"gutter"
+				},
+				"active":{
+					"skinColor":"content"
+				},
+				"selected":{
+					"skinColor":"content",
+					"textColor":"text-default"
+				}
+			}
+		},
+		
+		"TabClose":{
+			"margin":[ 4,0,0,0 ],
+			"icons":"tabclose_icons.png",
+			"iconColor":"#cfff",
+			"states":{
+				"hover":{
+					"iconColor":"#ffff"
+				},
+				"active":{
+					"iconColor":"#ffff"
+				}
+			}
+		},
+		
+		"TableView":{
+			"extends":"DockingView"
+		},
+		
+		"TableHeader":{
+			"extends":"Label",
+			"textColor":"text-highlight",
+			"border":[0,0,0,1],
+			"borderColor":"panel"
+		},
+		
+		"TableColumn":{
+		},
+		
+		"TreeView":{
+			"backgroundColor":"content",
+			"icons":"treeview_icons.png"
+		},
+		
+		"FileBrowser":{
+			"extends":"TreeView"
+		},
+		
+		"HtmlView":{
+		},
+		
+		"Console":{
+			"backgroundColor":"content"
+		},
+		
+		"Dialog":{
+			"skin":"dialog_skin.png",
+			"skinColor":"panel"
+		},
+		
+		"DialogTitle":{
+			"extends":"Label",
+			"backgroundColor":"knob"
+		
+		},
+		
+		"DialogContent":{
+			"padding":[ 8,8,8,4 ]
+		},
+		
+		"DialogActions":{
+			"padding":[ 8,4,8,4 ]
+		}
+	}
+}

二进制
modules/mojox/assets/themes/dialog_skin.png


二进制
modules/mojox/assets/themes/filetype_icons/7z.png


二进制
modules/mojox/assets/themes/filetype_icons/_dir.png


二进制
modules/mojox/assets/themes/filetype_icons/_file.png


二进制
modules/mojox/assets/themes/filetype_icons/ai.png


二进制
modules/mojox/assets/themes/filetype_icons/aiff.png


二进制
modules/mojox/assets/themes/filetype_icons/arj.png


二进制
modules/mojox/assets/themes/filetype_icons/asc.png


二进制
modules/mojox/assets/themes/filetype_icons/asp.png


二进制
modules/mojox/assets/themes/filetype_icons/audio.png


二进制
modules/mojox/assets/themes/filetype_icons/avi.png


二进制
modules/mojox/assets/themes/filetype_icons/bin.png


二进制
modules/mojox/assets/themes/filetype_icons/bmp.png


二进制
modules/mojox/assets/themes/filetype_icons/bz2.png


二进制
modules/mojox/assets/themes/filetype_icons/c.png


二进制
modules/mojox/assets/themes/filetype_icons/cdr.png


二进制
modules/mojox/assets/themes/filetype_icons/cfc.png


二进制
modules/mojox/assets/themes/filetype_icons/cfm.png


二进制
modules/mojox/assets/themes/filetype_icons/chm.png


二进制
modules/mojox/assets/themes/filetype_icons/class.png


二进制
modules/mojox/assets/themes/filetype_icons/conf.png


二进制
modules/mojox/assets/themes/filetype_icons/cpp.png


二进制
modules/mojox/assets/themes/filetype_icons/cs.png


二进制
modules/mojox/assets/themes/filetype_icons/css.png


二进制
modules/mojox/assets/themes/filetype_icons/csv.png


二进制
modules/mojox/assets/themes/filetype_icons/deb.png


二进制
modules/mojox/assets/themes/filetype_icons/divx.png


二进制
modules/mojox/assets/themes/filetype_icons/doc.png


二进制
modules/mojox/assets/themes/filetype_icons/docx.png


部分文件因为文件数量过多而无法显示