Mark Sibly пре 9 година
родитељ
комит
2bdb9512ae
100 измењених фајлова са 910 додато и 0 уклоњено
  1. 206 0
      modules/mojox/action.monkey2
  2. BIN
      modules/mojox/assets/mojox/filetype_icons/_dir.png
  3. BIN
      modules/mojox/assets/mojox/filetype_icons/_file.png
  4. BIN
      modules/mojox/assets/mojox/filetype_icons/_page.png
  5. BIN
      modules/mojox/assets/mojox/filetype_icons/aac.png
  6. BIN
      modules/mojox/assets/mojox/filetype_icons/ai.png
  7. BIN
      modules/mojox/assets/mojox/filetype_icons/aiff.png
  8. BIN
      modules/mojox/assets/mojox/filetype_icons/avi.png
  9. BIN
      modules/mojox/assets/mojox/filetype_icons/bmp.png
  10. BIN
      modules/mojox/assets/mojox/filetype_icons/c.png
  11. BIN
      modules/mojox/assets/mojox/filetype_icons/cpp.png
  12. BIN
      modules/mojox/assets/mojox/filetype_icons/css.png
  13. BIN
      modules/mojox/assets/mojox/filetype_icons/dat.png
  14. BIN
      modules/mojox/assets/mojox/filetype_icons/dmg.png
  15. BIN
      modules/mojox/assets/mojox/filetype_icons/doc.png
  16. BIN
      modules/mojox/assets/mojox/filetype_icons/dotx.png
  17. BIN
      modules/mojox/assets/mojox/filetype_icons/dwg.png
  18. BIN
      modules/mojox/assets/mojox/filetype_icons/dxf.png
  19. BIN
      modules/mojox/assets/mojox/filetype_icons/eps.png
  20. BIN
      modules/mojox/assets/mojox/filetype_icons/exe.png
  21. 63 0
      modules/mojox/assets/mojox/filetype_icons/filetypes.txt
  22. BIN
      modules/mojox/assets/mojox/filetype_icons/flv.png
  23. BIN
      modules/mojox/assets/mojox/filetype_icons/gif.png
  24. BIN
      modules/mojox/assets/mojox/filetype_icons/h.png
  25. BIN
      modules/mojox/assets/mojox/filetype_icons/hpp.png
  26. BIN
      modules/mojox/assets/mojox/filetype_icons/html.png
  27. BIN
      modules/mojox/assets/mojox/filetype_icons/ics.png
  28. BIN
      modules/mojox/assets/mojox/filetype_icons/iso.png
  29. BIN
      modules/mojox/assets/mojox/filetype_icons/java.png
  30. BIN
      modules/mojox/assets/mojox/filetype_icons/jpg.png
  31. BIN
      modules/mojox/assets/mojox/filetype_icons/js.png
  32. BIN
      modules/mojox/assets/mojox/filetype_icons/key.png
  33. BIN
      modules/mojox/assets/mojox/filetype_icons/less.png
  34. BIN
      modules/mojox/assets/mojox/filetype_icons/mid.png
  35. BIN
      modules/mojox/assets/mojox/filetype_icons/mp3.png
  36. BIN
      modules/mojox/assets/mojox/filetype_icons/mp4.png
  37. BIN
      modules/mojox/assets/mojox/filetype_icons/mpg.png
  38. BIN
      modules/mojox/assets/mojox/filetype_icons/odf.png
  39. BIN
      modules/mojox/assets/mojox/filetype_icons/ods.png
  40. BIN
      modules/mojox/assets/mojox/filetype_icons/odt.png
  41. BIN
      modules/mojox/assets/mojox/filetype_icons/otp.png
  42. BIN
      modules/mojox/assets/mojox/filetype_icons/ots.png
  43. BIN
      modules/mojox/assets/mojox/filetype_icons/ott.png
  44. BIN
      modules/mojox/assets/mojox/filetype_icons/pdf.png
  45. BIN
      modules/mojox/assets/mojox/filetype_icons/php.png
  46. BIN
      modules/mojox/assets/mojox/filetype_icons/png.png
  47. BIN
      modules/mojox/assets/mojox/filetype_icons/ppt.png
  48. BIN
      modules/mojox/assets/mojox/filetype_icons/psd.png
  49. BIN
      modules/mojox/assets/mojox/filetype_icons/py.png
  50. BIN
      modules/mojox/assets/mojox/filetype_icons/qt.png
  51. BIN
      modules/mojox/assets/mojox/filetype_icons/rar.png
  52. BIN
      modules/mojox/assets/mojox/filetype_icons/rb.png
  53. BIN
      modules/mojox/assets/mojox/filetype_icons/rtf.png
  54. BIN
      modules/mojox/assets/mojox/filetype_icons/sass.png
  55. BIN
      modules/mojox/assets/mojox/filetype_icons/scss.png
  56. BIN
      modules/mojox/assets/mojox/filetype_icons/sql.png
  57. BIN
      modules/mojox/assets/mojox/filetype_icons/tga.png
  58. BIN
      modules/mojox/assets/mojox/filetype_icons/tgz.png
  59. BIN
      modules/mojox/assets/mojox/filetype_icons/tiff.png
  60. BIN
      modules/mojox/assets/mojox/filetype_icons/txt.png
  61. BIN
      modules/mojox/assets/mojox/filetype_icons/wav.png
  62. BIN
      modules/mojox/assets/mojox/filetype_icons/xls.png
  63. BIN
      modules/mojox/assets/mojox/filetype_icons/xlsx.png
  64. BIN
      modules/mojox/assets/mojox/filetype_icons/xml.png
  65. BIN
      modules/mojox/assets/mojox/filetype_icons/yml.png
  66. BIN
      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. BIN
      modules/mojox/assets/themes/button_skin.png
  70. BIN
      modules/mojox/assets/themes/checkbox_icons.png
  71. 290 0
      modules/mojox/assets/themes/default.json
  72. BIN
      modules/mojox/assets/themes/dialog_skin.png
  73. BIN
      modules/mojox/assets/themes/filetype_icons/7z.png
  74. BIN
      modules/mojox/assets/themes/filetype_icons/_dir.png
  75. BIN
      modules/mojox/assets/themes/filetype_icons/_file.png
  76. BIN
      modules/mojox/assets/themes/filetype_icons/ai.png
  77. BIN
      modules/mojox/assets/themes/filetype_icons/aiff.png
  78. BIN
      modules/mojox/assets/themes/filetype_icons/arj.png
  79. BIN
      modules/mojox/assets/themes/filetype_icons/asc.png
  80. BIN
      modules/mojox/assets/themes/filetype_icons/asp.png
  81. BIN
      modules/mojox/assets/themes/filetype_icons/audio.png
  82. BIN
      modules/mojox/assets/themes/filetype_icons/avi.png
  83. BIN
      modules/mojox/assets/themes/filetype_icons/bin.png
  84. BIN
      modules/mojox/assets/themes/filetype_icons/bmp.png
  85. BIN
      modules/mojox/assets/themes/filetype_icons/bz2.png
  86. BIN
      modules/mojox/assets/themes/filetype_icons/c.png
  87. BIN
      modules/mojox/assets/themes/filetype_icons/cdr.png
  88. BIN
      modules/mojox/assets/themes/filetype_icons/cfc.png
  89. BIN
      modules/mojox/assets/themes/filetype_icons/cfm.png
  90. BIN
      modules/mojox/assets/themes/filetype_icons/chm.png
  91. BIN
      modules/mojox/assets/themes/filetype_icons/class.png
  92. BIN
      modules/mojox/assets/themes/filetype_icons/conf.png
  93. BIN
      modules/mojox/assets/themes/filetype_icons/cpp.png
  94. BIN
      modules/mojox/assets/themes/filetype_icons/cs.png
  95. BIN
      modules/mojox/assets/themes/filetype_icons/css.png
  96. BIN
      modules/mojox/assets/themes/filetype_icons/csv.png
  97. BIN
      modules/mojox/assets/themes/filetype_icons/deb.png
  98. BIN
      modules/mojox/assets/themes/filetype_icons/divx.png
  99. BIN
      modules/mojox/assets/themes/filetype_icons/doc.png
  100. BIN
      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

BIN
modules/mojox/assets/mojox/filetype_icons/_dir.png


BIN
modules/mojox/assets/mojox/filetype_icons/_file.png


BIN
modules/mojox/assets/mojox/filetype_icons/_page.png


BIN
modules/mojox/assets/mojox/filetype_icons/aac.png


BIN
modules/mojox/assets/mojox/filetype_icons/ai.png


BIN
modules/mojox/assets/mojox/filetype_icons/aiff.png


BIN
modules/mojox/assets/mojox/filetype_icons/avi.png


BIN
modules/mojox/assets/mojox/filetype_icons/bmp.png


BIN
modules/mojox/assets/mojox/filetype_icons/c.png


BIN
modules/mojox/assets/mojox/filetype_icons/cpp.png


BIN
modules/mojox/assets/mojox/filetype_icons/css.png


BIN
modules/mojox/assets/mojox/filetype_icons/dat.png


BIN
modules/mojox/assets/mojox/filetype_icons/dmg.png


BIN
modules/mojox/assets/mojox/filetype_icons/doc.png


BIN
modules/mojox/assets/mojox/filetype_icons/dotx.png


BIN
modules/mojox/assets/mojox/filetype_icons/dwg.png


BIN
modules/mojox/assets/mojox/filetype_icons/dxf.png


BIN
modules/mojox/assets/mojox/filetype_icons/eps.png


BIN
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

BIN
modules/mojox/assets/mojox/filetype_icons/flv.png


BIN
modules/mojox/assets/mojox/filetype_icons/gif.png


BIN
modules/mojox/assets/mojox/filetype_icons/h.png


BIN
modules/mojox/assets/mojox/filetype_icons/hpp.png


BIN
modules/mojox/assets/mojox/filetype_icons/html.png


BIN
modules/mojox/assets/mojox/filetype_icons/ics.png


BIN
modules/mojox/assets/mojox/filetype_icons/iso.png


BIN
modules/mojox/assets/mojox/filetype_icons/java.png


BIN
modules/mojox/assets/mojox/filetype_icons/jpg.png


BIN
modules/mojox/assets/mojox/filetype_icons/js.png


BIN
modules/mojox/assets/mojox/filetype_icons/key.png


BIN
modules/mojox/assets/mojox/filetype_icons/less.png


BIN
modules/mojox/assets/mojox/filetype_icons/mid.png


BIN
modules/mojox/assets/mojox/filetype_icons/mp3.png


BIN
modules/mojox/assets/mojox/filetype_icons/mp4.png


BIN
modules/mojox/assets/mojox/filetype_icons/mpg.png


BIN
modules/mojox/assets/mojox/filetype_icons/odf.png


BIN
modules/mojox/assets/mojox/filetype_icons/ods.png


BIN
modules/mojox/assets/mojox/filetype_icons/odt.png


BIN
modules/mojox/assets/mojox/filetype_icons/otp.png


BIN
modules/mojox/assets/mojox/filetype_icons/ots.png


BIN
modules/mojox/assets/mojox/filetype_icons/ott.png


BIN
modules/mojox/assets/mojox/filetype_icons/pdf.png


BIN
modules/mojox/assets/mojox/filetype_icons/php.png


BIN
modules/mojox/assets/mojox/filetype_icons/png.png


BIN
modules/mojox/assets/mojox/filetype_icons/ppt.png


BIN
modules/mojox/assets/mojox/filetype_icons/psd.png


BIN
modules/mojox/assets/mojox/filetype_icons/py.png


BIN
modules/mojox/assets/mojox/filetype_icons/qt.png


BIN
modules/mojox/assets/mojox/filetype_icons/rar.png


BIN
modules/mojox/assets/mojox/filetype_icons/rb.png


BIN
modules/mojox/assets/mojox/filetype_icons/rtf.png


BIN
modules/mojox/assets/mojox/filetype_icons/sass.png


BIN
modules/mojox/assets/mojox/filetype_icons/scss.png


BIN
modules/mojox/assets/mojox/filetype_icons/sql.png


BIN
modules/mojox/assets/mojox/filetype_icons/tga.png


BIN
modules/mojox/assets/mojox/filetype_icons/tgz.png


BIN
modules/mojox/assets/mojox/filetype_icons/tiff.png


BIN
modules/mojox/assets/mojox/filetype_icons/txt.png


BIN
modules/mojox/assets/mojox/filetype_icons/wav.png


BIN
modules/mojox/assets/mojox/filetype_icons/xls.png


BIN
modules/mojox/assets/mojox/filetype_icons/xlsx.png


BIN
modules/mojox/assets/mojox/filetype_icons/xml.png


BIN
modules/mojox/assets/mojox/filetype_icons/yml.png


BIN
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>

BIN
modules/mojox/assets/themes/button_skin.png


BIN
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 ]
+		}
+	}
+}

BIN
modules/mojox/assets/themes/dialog_skin.png


BIN
modules/mojox/assets/themes/filetype_icons/7z.png


BIN
modules/mojox/assets/themes/filetype_icons/_dir.png


BIN
modules/mojox/assets/themes/filetype_icons/_file.png


BIN
modules/mojox/assets/themes/filetype_icons/ai.png


BIN
modules/mojox/assets/themes/filetype_icons/aiff.png


BIN
modules/mojox/assets/themes/filetype_icons/arj.png


BIN
modules/mojox/assets/themes/filetype_icons/asc.png


BIN
modules/mojox/assets/themes/filetype_icons/asp.png


BIN
modules/mojox/assets/themes/filetype_icons/audio.png


BIN
modules/mojox/assets/themes/filetype_icons/avi.png


BIN
modules/mojox/assets/themes/filetype_icons/bin.png


BIN
modules/mojox/assets/themes/filetype_icons/bmp.png


BIN
modules/mojox/assets/themes/filetype_icons/bz2.png


BIN
modules/mojox/assets/themes/filetype_icons/c.png


BIN
modules/mojox/assets/themes/filetype_icons/cdr.png


BIN
modules/mojox/assets/themes/filetype_icons/cfc.png


BIN
modules/mojox/assets/themes/filetype_icons/cfm.png


BIN
modules/mojox/assets/themes/filetype_icons/chm.png


BIN
modules/mojox/assets/themes/filetype_icons/class.png


BIN
modules/mojox/assets/themes/filetype_icons/conf.png


BIN
modules/mojox/assets/themes/filetype_icons/cpp.png


BIN
modules/mojox/assets/themes/filetype_icons/cs.png


BIN
modules/mojox/assets/themes/filetype_icons/css.png


BIN
modules/mojox/assets/themes/filetype_icons/csv.png


BIN
modules/mojox/assets/themes/filetype_icons/deb.png


BIN
modules/mojox/assets/themes/filetype_icons/divx.png


BIN
modules/mojox/assets/themes/filetype_icons/doc.png


BIN
modules/mojox/assets/themes/filetype_icons/docx.png


Неке датотеке нису приказане због велике количине промена