diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Branding/MainIcon.ico b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Branding/MainIcon.ico
new file mode 100644
index 00000000..cae06de0
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Branding/MainIcon.ico differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Branding/SplashScreen.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Branding/SplashScreen.png
new file mode 100644
index 00000000..a82b6b38
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Branding/SplashScreen.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/Application.upl b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/Application.upl
new file mode 100644
index 00000000..1e09ee88
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/Application.upl differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/CommandBars.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/CommandBars.xml
new file mode 100644
index 00000000..bc31958a
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/CommandBars.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/Commands.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/Commands.xml
new file mode 100644
index 00000000..af234d6f
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/Commands.xml
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/MainMenu.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/MainMenu.xml
new file mode 100644
index 00000000..5275d841
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/MainMenu.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/SplashScreen.upl b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/SplashScreen.upl
new file mode 100644
index 00000000..9d7f7552
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Configuration/SplashScreen.upl differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugBreak.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugBreak.png
new file mode 100644
index 00000000..abf9e61a
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugBreak.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugStart.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugStart.png
new file mode 100644
index 00000000..2bbad8af
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugStart.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugStop.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugStop.png
new file mode 100644
index 00000000..1d3c06ea
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/Commands/mnuDebugStop.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandAffect.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandAffect.png
new file mode 100644
index 00000000..9d6463fb
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandAffect.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandCamera.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandCamera.png
new file mode 100644
index 00000000..2aa00737
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandCamera.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowDo.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowDo.png
new file mode 100644
index 00000000..9a897e38
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowDo.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowDoWait.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowDoWait.png
new file mode 100644
index 00000000..31e4f7ef
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowDoWait.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowWait.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowWait.png
new file mode 100644
index 00000000..0bb5ccf4
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandControlFlowWait.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandDeclare.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandDeclare.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandDeclare.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandElse.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandElse.png
new file mode 100644
index 00000000..f336f074
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandElse.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandFlush.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandFlush.png
new file mode 100644
index 00000000..cd2d1b67
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandFlush.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandFree.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandFree.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandFree.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandIf.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandIf.png
new file mode 100644
index 00000000..f336f074
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandIf.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandKill.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandKill.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandKill.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandLoop.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandLoop.png
new file mode 100644
index 00000000..e53ce696
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandLoop.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandMove.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandMove.png
new file mode 100644
index 00000000..baf1e96a
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandMove.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandPlay.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandPlay.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandPlay.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandPrint.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandPrint.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandPrint.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRem.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRem.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRem.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRemove.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRemove.png
new file mode 100644
index 00000000..1cdad78e
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRemove.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRotate.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRotate.png
new file mode 100644
index 00000000..b85acd4f
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRotate.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRun.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRun.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandRun.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSet.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSet.png
new file mode 100644
index 00000000..6951b65f
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSet.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSignal.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSignal.png
new file mode 100644
index 00000000..2ef94ff2
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSignal.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSound.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSound.png
new file mode 100644
index 00000000..ef38926a
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandSound.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandTask.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandTask.png
new file mode 100644
index 00000000..9d6463fb
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandTask.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandTemplate.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandTemplate.png
new file mode 100644
index 00000000..e68c9037
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandTemplate.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandUse.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandUse.png
new file mode 100644
index 00000000..a79a3934
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandUse.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandWait.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandWait.png
new file mode 100644
index 00000000..0e3978b5
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandWait.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandWaitSignal.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandWaitSignal.png
new file mode 100644
index 00000000..acabd03d
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Icarus.IcarusScriptEditor/Images/ImageList/16x16/IcarusCommandWaitSignal.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Attribute.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Attribute.png
new file mode 100644
index 00000000..913bfaaf
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Attribute.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Comment.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Comment.png
new file mode 100644
index 00000000..fefd63cf
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Comment.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Entity.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Entity.png
new file mode 100644
index 00000000..3d673c25
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Entity.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Preprocessor.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Preprocessor.png
new file mode 100644
index 00000000..641badd9
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Preprocessor.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Tag.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Tag.png
new file mode 100644
index 00000000..7b21ac67
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.MarkupEditor/Images/Tag.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/16x16/Message.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/16x16/Message.png
new file mode 100644
index 00000000..0e94ffdb
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/16x16/Message.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/16x16/Service.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/16x16/Service.png
new file mode 100644
index 00000000..1abfe1af
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/16x16/Service.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/32x32/Message.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/32x32/Message.png
new file mode 100644
index 00000000..4fa1b573
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/32x32/Message.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/32x32/Service.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/32x32/Service.png
new file mode 100644
index 00000000..9c3dd091
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Editors/UniversalEditor.Editors.Web.WebService.Description.WebServiceDescriptionEditor/Images/ImageList/32x32/Service.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Languages/English.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Languages/English.xml
new file mode 100644
index 00000000..c52fac2d
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Languages/English.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Languages/Japanese.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Languages/Japanese.xml
new file mode 100644
index 00000000..328d8440
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Languages/Japanese.xml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/ProjectTypes/{A0786B88-2ADB-4C21-ABE8-AA2D79766269}.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/ProjectTypes/{A0786B88-2ADB-4C21-ABE8-AA2D79766269}.xml
new file mode 100644
index 00000000..48998107
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/ProjectTypes/{A0786B88-2ADB-4C21-ABE8-AA2D79766269}.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+ PHP Web Project
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/ProjectTypes/{D3A89FE2-7C08-433B-8165-F484A073588B}.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/ProjectTypes/{D3A89FE2-7C08-433B-8165-F484A073588B}.xml
new file mode 100644
index 00000000..f09a403f
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/ProjectTypes/{D3A89FE2-7C08-433B-8165-F484A073588B}.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+ PHP Web Project
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Properties/AssemblyInfo.cs b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..3f7464bf
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("UniversalEditor.Content.PlatformIndependent")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("City of Orlando")]
+[assembly: AssemblyProduct("UniversalEditor.Content.PlatformIndependent")]
+[assembly: AssemblyCopyright("Copyright © City of Orlando 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("f06910f7-0c0e-41ec-b0b2-cb7ef1d18d8e")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/AssetsDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/AssetsDatabase.xml
new file mode 100644
index 00000000..fd3da35d
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/AssetsDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Assets
+ Keep track of assets, including asset details and owners.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/ContactsDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/ContactsDatabase.xml
new file mode 100644
index 00000000..5bfeaa1d
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/ContactsDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Contacts
+ Manage information about people that your team works with, such as customers and partners.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/EventsDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/EventsDatabase.xml
new file mode 100644
index 00000000..bbe67ac3
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/EventsDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Events
+ Track upcoming meetings, deadlines, and other important events.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/FacultyDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/FacultyDatabase.xml
new file mode 100644
index 00000000..98c004c8
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/FacultyDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Faculty
+ Keep track of information about faculty members, including emergency contacts and information about their education history.
+
+
+ Education
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/IssuesDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/IssuesDatabase.xml
new file mode 100644
index 00000000..3aa03ba6
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/IssuesDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Issues
+ Manage a set of issues or problems. Assign, prioritize, and follow the progress of issues from start to finish.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/MarketingProjectsDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/MarketingProjectsDatabase.xml
new file mode 100644
index 00000000..002bd24a
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/MarketingProjectsDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Marketing Projects
+ Track time-sensitive deliverables and vendor status for projects.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/NorthwindDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/NorthwindDatabase.xml
new file mode 100644
index 00000000..15cb6f6e
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/NorthwindDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Northwind 2007
+ Northwind Sample
+
+
+ Samples
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/ProjectsDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/ProjectsDatabase.xml
new file mode 100644
index 00000000..9715dae7
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/ProjectsDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Projects
+ Track multiple projects and assign tasks to different people.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/SalesPipelineDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/SalesPipelineDatabase.xml
new file mode 100644
index 00000000..af37440c
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/SalesPipelineDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Sales Pipeline
+ Track the progress of prospective sales within a small group of sales professionals.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/StudentsDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/StudentsDatabase.xml
new file mode 100644
index 00000000..79ad5417
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/StudentsDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Students
+ Keep track of information about your students, including emergency contacts, medical information, and information about their guardians.
+
+
+ Education
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/TasksDatabase.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/TasksDatabase.xml
new file mode 100644
index 00000000..1287661a
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/TasksDatabase.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Tasks
+ Track a group of work items that you or your team need to complete.
+
+
+ Business
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/database.ico b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/database.ico
new file mode 100644
index 00000000..fe431e1b
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Database/database.ico differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/WindowsFileSystem.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/WindowsFileSystem.xml
new file mode 100644
index 00000000..5e86b454
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/WindowsFileSystem.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+ Windows filesystem
+ Creates a standard Windows NT file structure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/windows_16x16.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/windows_16x16.png
new file mode 100644
index 00000000..4b5b8e4d
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/windows_16x16.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/windows_32x32.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/windows_32x32.png
new file mode 100644
index 00000000..23c4eb72
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/FileSystem/windows_32x32.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Asset Tracking.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Asset Tracking.xml
new file mode 100644
index 00000000..d8222f7e
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Asset Tracking.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+ Asset Tracking
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Expense Report.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Expense Report.xml
new file mode 100644
index 00000000..375a5181
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Expense Report.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+ Expense Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Meeting Agenda.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Meeting Agenda.xml
new file mode 100644
index 00000000..3718e644
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Meeting Agenda.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+ Meeting Agenda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Status Report.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Status Report.xml
new file mode 100644
index 00000000..f6ec5539
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Status Report.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+ Status Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Travel Request.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Travel Request.xml
new file mode 100644
index 00000000..4b1fd1e3
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/Travel Request.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ Travel Request
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_16x16.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_16x16.png
new file mode 100644
index 00000000..e8f2da75
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_16x16.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_32x32.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_32x32.png
new file mode 100644
index 00000000..0cef1570
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_32x32.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_48x48.png b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_48x48.png
new file mode 100644
index 00000000..9881eb8d
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Form/icon_48x48.png differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Software Development/Websites/PHP/PHP Web Project.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Software Development/Websites/PHP/PHP Web Project.xml
new file mode 100644
index 00000000..9fa93939
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Software Development/Websites/PHP/PHP Web Project.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+ Application Development
+ Websites
+ PHP
+
+
+
+
+
+ ]]>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/HTMLPage.ico b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/HTMLPage.ico
new file mode 100644
index 00000000..3cced8c5
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/HTMLPage.ico differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/HTMLPage.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/HTMLPage.xml
new file mode 100644
index 00000000..30dff7b1
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/HTMLPage.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+ HTML Page
+ An HTML page that can include client-side code
+
+
+
+ Web Development
+
+
+
+
+
+
+
+
+
+
+
+ $(PageTitle)
+
+
+
+
+
+]]>
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/MasterPage.ico b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/MasterPage.ico
new file mode 100644
index 00000000..3f06aa73
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/MasterPage.ico differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/MasterPage.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/MasterPage.xml
new file mode 100644
index 00000000..127c0c3a
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/MasterPage.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ Master Page
+ A Master Page for Web Applications
+
+
+
+ Web Development
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(PageTitle)
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/TravelRequest.xsn b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/TravelRequest.xsn
new file mode 100644
index 00000000..cc5d9ef7
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/TravelRequest.xsn differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebForm.ico b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebForm.ico
new file mode 100644
index 00000000..d331d7b7
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebForm.ico differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebForm.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebForm.xml
new file mode 100644
index 00000000..eef3918f
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebForm.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ Web Form
+ A form for Web Applications
+
+
+
+ Web Development
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(PageTitle)
+
+
+
+
+]]>
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebService.ico b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebService.ico
new file mode 100644
index 00000000..1aa23046
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebService.ico differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebService.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebService.xml
new file mode 100644
index 00000000..8725f44f
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebService.xml
@@ -0,0 +1,68 @@
+
+
+
+
+
+ Web Service
+ A visually-designed class for creating a Web Service
+
+
+
+ Web Development
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Data;
+using System.Diagnostics;
+using System.Web;
+using System.Web.Services;
+
+[WebService(Namespace = "$(Namespace)")]
+[WebServiceBinding(ConformsTo = WsiProfiles.$(ConformsTo))]
+// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
+// [System.Web.Script.Services.ScriptService]
+public class WebService1 : System.Web.Services.WebService
+{
+ public WebService1()
+ {
+ //
+ // TODO: Add any constructor code required
+ //
+ }
+
+ // WEB SERVICE EXAMPLE
+ // The HelloWorld() example service returns the string Hello World.
+
+ [WebMethod]
+ public string HelloWorld()
+ {
+ return "Hello World";
+ }
+}
+]]>
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebUserControl.ico b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebUserControl.ico
new file mode 100644
index 00000000..455d76c8
Binary files /dev/null and b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebUserControl.ico differ
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebUserControl.xml b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebUserControl.xml
new file mode 100644
index 00000000..9cbba705
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/Templates/Web/WebUserControl.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+ Web User Control
+ An ASP.NET server control created using the visual designer
+
+
+
+ Web Development
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Content/UniversalEditor.Content.PlatformIndependent/UniversalEditor.Content.PlatformIndependent.csproj b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/UniversalEditor.Content.PlatformIndependent.csproj
new file mode 100644
index 00000000..4a492d1d
--- /dev/null
+++ b/CSharp/Content/UniversalEditor.Content.PlatformIndependent/UniversalEditor.Content.PlatformIndependent.csproj
@@ -0,0 +1,143 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}
+ Library
+ Properties
+ UniversalEditor.Content.PlatformIndependent
+ UniversalEditor.Content.PlatformIndependent
+ v3.5
+ 512
+
+
+
+ true
+ full
+ false
+ ..\..\Output\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+
+
+ pdbonly
+ true
+ ..\..\Output\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs
index a8d286fa..e05ceaca 100644
--- a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs
+++ b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs
@@ -177,6 +177,18 @@ namespace UniversalEditor.UserInterface.WindowsForms
return null;
}
+ private Keys ShortcutKeyToWinFormsKeys(CommandShortcutKey sk)
+ {
+ Keys keys = Keys.None;
+ if ((sk.Modifiers & CommandShortcutKeyModifiers.Alt) == CommandShortcutKeyModifiers.Alt) keys |= Keys.Alt;
+ if ((sk.Modifiers & CommandShortcutKeyModifiers.Control) == CommandShortcutKeyModifiers.Control) keys |= Keys.Control;
+ if ((sk.Modifiers & CommandShortcutKeyModifiers.Meta) == CommandShortcutKeyModifiers.Meta) keys |= Keys.Alt;
+ if ((sk.Modifiers & CommandShortcutKeyModifiers.Shift) == CommandShortcutKeyModifiers.Shift) keys |= Keys.Shift;
+ if ((sk.Modifiers & CommandShortcutKeyModifiers.Super) == CommandShortcutKeyModifiers.Super) keys |= Keys.LWin;
+ keys |= (Keys)sk.Value;
+ return keys;
+ }
+
private void LoadCommandBarItem(CommandItem item, ToolStripDropDownItem parent)
{
ToolStripItem tsi = InitializeCommandBarItem(item, true);
@@ -239,6 +251,7 @@ namespace UniversalEditor.UserInterface.WindowsForms
tsmi.Click += tsmiCommand_Click;
tsmi.Tag = cmd;
tsmi.Text = cmd.Title.Replace("_", "&");
+ tsmi.ShortcutKeys = ShortcutKeyToWinFormsKeys(cmd.ShortcutKey);
foreach (CommandItem item1 in cmd.Items)
{
LoadCommandBarMenuItem(item1, tsmi);
diff --git a/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs b/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs
index 94f29916..41593c63 100644
--- a/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs
+++ b/CSharp/Engines/WindowsForms/Libraries/UniversalEditor.UserInterface.WindowsForms/Editors/FileSystemEditor.cs
@@ -260,7 +260,7 @@ namespace UniversalEditor.UserInterface.WindowsForms.Editors
AwesomeControls.ListView.ListViewItem lvi = new AwesomeControls.ListView.ListViewItem();
lvi.Text = folder.Name;
lvi.ImageKey = "generic-folder-closed";
- lvi.Data = folder;
+ lvi.Data = folder;
foreach (Folder folder1 in folder.Folders)
{
RecursiveLoadListViewFolder(folder1, lvi);
@@ -282,12 +282,12 @@ namespace UniversalEditor.UserInterface.WindowsForms.Editors
private void tv_AfterSelect(object sender, TreeViewEventArgs e)
{
- mvarCurrentFolder = (tv.SelectedNode.Tag as Folder);
+ mvarCurrentFolder = (tv.SelectedNode.Tag as Folder);
UpdateListView();
lv.Refresh();
}
- private Folder mvarCurrentFolder = null;
+ private Folder mvarCurrentFolder = null;
private void UpdateListView()
{
@@ -303,9 +303,9 @@ namespace UniversalEditor.UserInterface.WindowsForms.Editors
}
tIconLoader = new System.Threading.Thread(tIconLoader_ThreadStart);
- if (mvarCurrentFolder != null)
+ if (mvarCurrentFolder != null)
{
- Folder folder = mvarCurrentFolder;
+ Folder folder = mvarCurrentFolder;
foreach (Folder folder1 in folder.Folders)
{
RecursiveLoadListViewFolder(folder1, null);
@@ -328,38 +328,38 @@ namespace UniversalEditor.UserInterface.WindowsForms.Editors
}
lv.EndUpdate();
- RecursiveUpdateTreeView();
+ RecursiveUpdateTreeView();
- if (tIconLoader != null)
- {
- tIconLoader.Abort();
- tIconLoader = new System.Threading.Thread(tIconLoader_ThreadStart);
- }
+ if (tIconLoader != null)
+ {
+ tIconLoader.Abort();
+ tIconLoader = new System.Threading.Thread(tIconLoader_ThreadStart);
+ }
tIconLoader.Start();
}
- private void RecursiveUpdateTreeView(TreeNode parent = null)
- {
- if (parent == null)
- {
- foreach (TreeNode tn in tv.Nodes)
- {
- RecursiveUpdateTreeView(tn);
- }
- }
- else
- {
- if ((parent.Tag == null && mvarCurrentFolder == null) || (parent.Tag == mvarCurrentFolder))
- {
- tv.SelectedNode = parent;
- }
+ private void RecursiveUpdateTreeView(TreeNode parent = null)
+ {
+ if (parent == null)
+ {
+ foreach (TreeNode tn in tv.Nodes)
+ {
+ RecursiveUpdateTreeView(tn);
+ }
+ }
+ else
+ {
+ if ((parent.Tag == null && mvarCurrentFolder == null) || (parent.Tag == mvarCurrentFolder))
+ {
+ tv.SelectedNode = parent;
+ }
- foreach (TreeNode tn in parent.Nodes)
- {
- RecursiveUpdateTreeView(tn);
- }
- }
- }
+ foreach (TreeNode tn in parent.Nodes)
+ {
+ RecursiveUpdateTreeView(tn);
+ }
+ }
+ }
private void lv_MouseMove(object sender, MouseEventArgs e)
{
@@ -619,14 +619,14 @@ namespace UniversalEditor.UserInterface.WindowsForms.Editors
lvi.Data = file;
lv.Items.Add(lvi);
- if (tIconLoader != null)
- {
- if (tIconLoader.ThreadState != System.Threading.ThreadState.Unstarted)
- {
- tIconLoader = new System.Threading.Thread(tIconLoader_ThreadStart);
- }
- tIconLoader.Start();
- }
+ if (tIconLoader != null)
+ {
+ if (tIconLoader.ThreadState != System.Threading.ThreadState.Unstarted)
+ {
+ tIconLoader = new System.Threading.Thread(tIconLoader_ThreadStart);
+ }
+ tIconLoader.Start();
+ }
lv.Refresh();
}
@@ -796,42 +796,42 @@ namespace UniversalEditor.UserInterface.WindowsForms.Editors
UpdateListView();
}
- private void lv_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Back)
- {
- if (mvarCurrentFolder != null)
- {
- if (mvarCurrentFolder.Parent != null)
- {
- mvarCurrentFolder = mvarCurrentFolder.Parent;
- }
- else
- {
- mvarCurrentFolder = null;
- }
- }
- else
- {
- System.Media.SystemSounds.Beep.Play();
- }
- UpdateListView();
- }
- }
+ private void lv_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Back)
+ {
+ if (mvarCurrentFolder != null)
+ {
+ if (mvarCurrentFolder.Parent != null)
+ {
+ mvarCurrentFolder = mvarCurrentFolder.Parent;
+ }
+ else
+ {
+ mvarCurrentFolder = null;
+ }
+ }
+ else
+ {
+ System.Media.SystemSounds.Beep.Play();
+ }
+ UpdateListView();
+ }
+ }
- private void lv_ItemActivate(object sender, EventArgs e)
- {
- if (lv.SelectedItems.Count == 1)
- {
- if (lv.SelectedItems[0].Items.Count > 0)
- {
- if (lv.SelectedItems[0].Data is Folder)
- {
- mvarCurrentFolder = (lv.SelectedItems[0].Data as Folder);
- UpdateListView();
- }
- }
- }
- }
+ private void lv_ItemActivate(object sender, EventArgs e)
+ {
+ if (lv.SelectedItems.Count == 1)
+ {
+ if (lv.SelectedItems[0].Items.Count > 0)
+ {
+ if (lv.SelectedItems[0].Data is Folder)
+ {
+ mvarCurrentFolder = (lv.SelectedItems[0].Data as Folder);
+ UpdateListView();
+ }
+ }
+ }
+ }
}
}
diff --git a/CSharp/Libraries/UniversalEditor.Compression/CompressionMethod.cs b/CSharp/Libraries/UniversalEditor.Compression/CompressionMethod.cs
index 96fb17b2..f884dd05 100644
--- a/CSharp/Libraries/UniversalEditor.Compression/CompressionMethod.cs
+++ b/CSharp/Libraries/UniversalEditor.Compression/CompressionMethod.cs
@@ -15,8 +15,8 @@ namespace UniversalEditor.Compression
Gzip,
LZMA,
LZMASolid,
- LZSS,
- LZH,
+ LZSS,
+ LZH,
LZW,
LZX,
PPPMd,
diff --git a/CSharp/Libraries/UniversalEditor.Compression/CompressionModules.cs b/CSharp/Libraries/UniversalEditor.Compression/CompressionModules.cs
index 604c09e0..eac0aa1d 100644
--- a/CSharp/Libraries/UniversalEditor.Compression/CompressionModules.cs
+++ b/CSharp/Libraries/UniversalEditor.Compression/CompressionModules.cs
@@ -6,18 +6,18 @@ using System.Text;
namespace UniversalEditor.Compression
{
public static class CompressionModules
- {
+ {
- private static Modules.Bzip2.Bzip2CompressionModule mvarBzip2 = new Modules.Bzip2.Bzip2CompressionModule();
- public static Modules.Bzip2.Bzip2CompressionModule Bzip2 { get { return mvarBzip2; } }
+ private static Modules.Bzip2.Bzip2CompressionModule mvarBzip2 = new Modules.Bzip2.Bzip2CompressionModule();
+ public static Modules.Bzip2.Bzip2CompressionModule Bzip2 { get { return mvarBzip2; } }
- private static Modules.Deflate.DeflateCompressionModule mvarDeflate = new Modules.Deflate.DeflateCompressionModule();
- public static Modules.Deflate.DeflateCompressionModule Deflate { get { return mvarDeflate; } }
+ private static Modules.Deflate.DeflateCompressionModule mvarDeflate = new Modules.Deflate.DeflateCompressionModule();
+ public static Modules.Deflate.DeflateCompressionModule Deflate { get { return mvarDeflate; } }
private static Modules.Gzip.GzipCompressionModule mvarGzip = new Modules.Gzip.GzipCompressionModule();
- public static Modules.Gzip.GzipCompressionModule Gzip { get { return mvarGzip; } }
+ public static Modules.Gzip.GzipCompressionModule Gzip { get { return mvarGzip; } }
- private static Modules.Zlib.ZlibCompressionModule mvarZlib = new Modules.Zlib.ZlibCompressionModule();
- public static Modules.Zlib.ZlibCompressionModule Zlib { get { return mvarZlib; } }
+ private static Modules.Zlib.ZlibCompressionModule mvarZlib = new Modules.Zlib.ZlibCompressionModule();
+ public static Modules.Zlib.ZlibCompressionModule Zlib { get { return mvarZlib; } }
}
}
diff --git a/CSharp/Libraries/UniversalEditor.Compression/RLEW/RLEWCompressionModule.cs b/CSharp/Libraries/UniversalEditor.Compression/RLEW/RLEWCompressionModule.cs
index 3f6d8a0d..693409c1 100644
--- a/CSharp/Libraries/UniversalEditor.Compression/RLEW/RLEWCompressionModule.cs
+++ b/CSharp/Libraries/UniversalEditor.Compression/RLEW/RLEWCompressionModule.cs
@@ -6,147 +6,147 @@ using UniversalEditor.Accessors;
namespace UniversalEditor.Compression.RLEW
{
- public class RLEWCompressionModule : CompressionModule
- {
- public override string Name
- {
- get { return "RLEW"; }
- }
+ public class RLEWCompressionModule : CompressionModule
+ {
+ public override string Name
+ {
+ get { return "RLEW"; }
+ }
- private short mvarRLEWTag = 0;
- public short RLEWTag { get { return mvarRLEWTag; } set { mvarRLEWTag = value; } }
+ private short mvarRLEWTag = 0;
+ public short RLEWTag { get { return mvarRLEWTag; } set { mvarRLEWTag = value; } }
protected override void CompressInternal(System.IO.Stream inputStream, System.IO.Stream outputStream)
- {
- IO.Reader br = new IO.Reader(new StreamAccessor(inputStream));
- IO.Writer bw = new IO.Writer(new StreamAccessor(outputStream));
-
- short lastWord = 0;
- short wordCount = 0;
- bool hasLastWord = false;
+ {
+ IO.Reader br = new IO.Reader(new StreamAccessor(inputStream));
+ IO.Writer bw = new IO.Writer(new StreamAccessor(outputStream));
+
+ short lastWord = 0;
+ short wordCount = 0;
+ bool hasLastWord = false;
- while (!br.EndOfStream)
- {
- // to make this work efficiently, we need to have at least four equal words
- // (RLEWtag + count + value = 3 words)
+ while (!br.EndOfStream)
+ {
+ // to make this work efficiently, we need to have at least four equal words
+ // (RLEWtag + count + value = 3 words)
- // read the next value in
- short word = 0;
- if (br.Remaining == 0)
- {
- break;
- }
- else if (br.Remaining == 1)
- {
- word = br.ReadByte();
- }
- else if (br.Remaining >= 2)
- {
- word = br.ReadInt16();
- }
+ // read the next value in
+ short word = 0;
+ if (br.Remaining == 0)
+ {
+ break;
+ }
+ else if (br.Remaining == 1)
+ {
+ word = br.ReadByte();
+ }
+ else if (br.Remaining >= 2)
+ {
+ word = br.ReadInt16();
+ }
- if (!hasLastWord)
- {
- lastWord = word;
- hasLastWord = true;
- wordCount++;
- continue;
- }
+ if (!hasLastWord)
+ {
+ lastWord = word;
+ hasLastWord = true;
+ wordCount++;
+ continue;
+ }
- if (word == lastWord)
- {
- // it's equal to the last word, so increment our word count
- wordCount++;
+ if (word == lastWord)
+ {
+ // it's equal to the last word, so increment our word count
+ wordCount++;
- if (wordCount == 4)
- {
- // we have at least four equal words, so push out an RLEWtag...
- bw.WriteInt16(mvarRLEWTag);
- }
- }
- else
- {
- // word is not equal, flush the remaining words...
- if (wordCount <= 3)
- {
- // we do not have at least four equal words, it would be more efficient to
- // just store the values as-is, so flush the remaining words
- for (ushort i = 0; i < wordCount; i++)
- {
- bw.WriteInt16(word);
- }
+ if (wordCount == 4)
+ {
+ // we have at least four equal words, so push out an RLEWtag...
+ bw.WriteInt16(mvarRLEWTag);
+ }
+ }
+ else
+ {
+ // word is not equal, flush the remaining words...
+ if (wordCount <= 3)
+ {
+ // we do not have at least four equal words, it would be more efficient to
+ // just store the values as-is, so flush the remaining words
+ for (ushort i = 0; i < wordCount; i++)
+ {
+ bw.WriteInt16(word);
+ }
- bw.WriteInt16(lastWord);
+ bw.WriteInt16(lastWord);
- lastWord = 0;
- wordCount = 0;
- }
- else
- {
- bw.WriteInt16(wordCount);
- bw.WriteInt16(lastWord);
- }
+ lastWord = 0;
+ wordCount = 0;
+ }
+ else
+ {
+ bw.WriteInt16(wordCount);
+ bw.WriteInt16(lastWord);
+ }
- // ... and clear the word count
- lastWord = 0;
- wordCount = 0;
+ // ... and clear the word count
+ lastWord = 0;
+ wordCount = 0;
- // finally, set the last word to the current word
- lastWord = word;
- }
- }
+ // finally, set the last word to the current word
+ lastWord = word;
+ }
+ }
- // word is not equal, flush the remaining words...
- if (wordCount <= 3)
- {
- // we do not have at least four equal words, it would be more efficient to
- // just store the values as-is, so flush the remaining words
- for (ushort i = 0; i < wordCount; i++)
- {
- bw.WriteInt16(lastWord);
- }
+ // word is not equal, flush the remaining words...
+ if (wordCount <= 3)
+ {
+ // we do not have at least four equal words, it would be more efficient to
+ // just store the values as-is, so flush the remaining words
+ for (ushort i = 0; i < wordCount; i++)
+ {
+ bw.WriteInt16(lastWord);
+ }
- lastWord = 0;
- wordCount = 0;
- }
- else
- {
- bw.WriteInt16(wordCount);
- bw.WriteInt16(lastWord);
- }
+ lastWord = 0;
+ wordCount = 0;
+ }
+ else
+ {
+ bw.WriteInt16(wordCount);
+ bw.WriteInt16(lastWord);
+ }
- bw.Flush();
- }
+ bw.Flush();
+ }
protected override void DecompressInternal(System.IO.Stream inputStream, System.IO.Stream outputStream, int inputLength, int outputLength)
- {
- IO.Reader br = new IO.Reader(new StreamAccessor(inputStream));
- IO.Writer bw = new IO.Writer(new StreamAccessor(outputStream));
-
- while (!br.EndOfStream)
- {
- // read one word from compressed block
- short word = br.ReadInt16();
- if (word == mvarRLEWTag)
- {
- // next two words are a compressed run of data, first word is number
- // of words to write
- short count = br.ReadInt16();
- short value = br.ReadInt16();
- for (short i = 0; i < count; i++)
- {
- bw.WriteInt16(value);
- }
- }
- else
- {
- // if word is not equal to RLEWtag, then simply write that word out
- bw.WriteInt16(word);
- }
- }
+ {
+ IO.Reader br = new IO.Reader(new StreamAccessor(inputStream));
+ IO.Writer bw = new IO.Writer(new StreamAccessor(outputStream));
+
+ while (!br.EndOfStream)
+ {
+ // read one word from compressed block
+ short word = br.ReadInt16();
+ if (word == mvarRLEWTag)
+ {
+ // next two words are a compressed run of data, first word is number
+ // of words to write
+ short count = br.ReadInt16();
+ short value = br.ReadInt16();
+ for (short i = 0; i < count; i++)
+ {
+ bw.WriteInt16(value);
+ }
+ }
+ else
+ {
+ // if word is not equal to RLEWtag, then simply write that word out
+ bw.WriteInt16(word);
+ }
+ }
- bw.Flush();
- bw.Close();
- }
- }
+ bw.Flush();
+ bw.Close();
+ }
+ }
}
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessor.cs
index bb0c75ca..08999a33 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessor.cs
@@ -7,74 +7,74 @@ using System.Diagnostics;
namespace UniversalEditor
{
- [DebuggerNonUserCode()]
- public abstract class Accessor
- {
- public Accessor()
- {
- mvarReader = new Reader(this);
- mvarWriter = new Writer(this);
- }
+ [DebuggerNonUserCode()]
+ public abstract class Accessor
+ {
+ public Accessor()
+ {
+ mvarReader = new Reader(this);
+ mvarWriter = new Writer(this);
+ }
- public abstract long Length { get; set; }
+ public abstract long Length { get; set; }
protected abstract long GetPosition();
- public virtual long Position { get { return GetPosition(); } set { Seek(value, SeekOrigin.Begin); } }
+ public virtual long Position { get { return GetPosition(); } set { Seek(value, SeekOrigin.Begin); } }
- public long Remaining
- {
- get
- {
- long r = Length - Position;
- if (r <= 0) return 0;
- return r;
- }
- }
+ public long Remaining
+ {
+ get
+ {
+ long r = Length - Position;
+ if (r <= 0) return 0;
+ return r;
+ }
+ }
- public void Seek(int length, SeekOrigin position)
- {
- Seek((long)length, position);
- }
- public abstract void Seek(long length, SeekOrigin position);
+ public void Seek(int length, SeekOrigin position)
+ {
+ Seek((long)length, position);
+ }
+ public abstract void Seek(long length, SeekOrigin position);
- internal abstract int ReadInternal(byte[] buffer, int start, int count);
- internal abstract int WriteInternal(byte[] buffer, int start, int count);
+ internal abstract int ReadInternal(byte[] buffer, int start, int count);
+ internal abstract int WriteInternal(byte[] buffer, int start, int count);
- internal virtual void FlushInternal()
- {
- }
+ internal virtual void FlushInternal()
+ {
+ }
- private bool mvarIsOpen = false;
- public bool IsOpen { get { return mvarIsOpen; } protected set { mvarIsOpen = value; } }
+ private bool mvarIsOpen = false;
+ public bool IsOpen { get { return mvarIsOpen; } protected set { mvarIsOpen = value; } }
- public void Open()
- {
- if (mvarIsOpen) return;
+ public void Open()
+ {
+ if (mvarIsOpen) return;
- OpenInternal();
- mvarIsOpen = true;
- }
- public void Close()
- {
- if (!mvarIsOpen) return;
+ OpenInternal();
+ mvarIsOpen = true;
+ }
+ public void Close()
+ {
+ if (!mvarIsOpen) return;
- CloseInternal();
- mvarIsOpen = false;
- }
+ CloseInternal();
+ mvarIsOpen = false;
+ }
- protected abstract void OpenInternal();
- protected abstract void CloseInternal();
+ protected abstract void OpenInternal();
+ protected abstract void CloseInternal();
- private Encoding mvarDefaultEncoding = Encoding.Default;
- ///
- /// The default to use when reading and writing strings.
- ///
- public Encoding DefaultEncoding { get { return mvarDefaultEncoding; } set { mvarDefaultEncoding = value; } }
+ private Encoding mvarDefaultEncoding = Encoding.Default;
+ ///
+ /// The default to use when reading and writing strings.
+ ///
+ public Encoding DefaultEncoding { get { return mvarDefaultEncoding; } set { mvarDefaultEncoding = value; } }
- private Reader mvarReader = null;
- public Reader Reader { get { return mvarReader; } }
- private Writer mvarWriter = null;
- public Writer Writer { get { return mvarWriter; } }
+ private Reader mvarReader = null;
+ public Reader Reader { get { return mvarReader; } }
+ private Writer mvarWriter = null;
+ public Writer Writer { get { return mvarWriter; } }
public virtual string Title
{
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs
index a29c507e..c02cbf60 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs
@@ -40,7 +40,7 @@ namespace UniversalEditor.Accessors
_data = data;
}
- // [DebuggerNonUserCode()]
+ // [DebuggerNonUserCode()]
public override void Seek(long length, SeekOrigin position)
{
long start = 0;
@@ -81,8 +81,8 @@ namespace UniversalEditor.Accessors
internal override int ReadInternal(byte[] buffer, int start, int count)
{
- System.Array.Copy(_data, Position, buffer, start, count);
- Position += count;
+ System.Array.Copy(_data, Position, buffer, start, count);
+ Position += count;
return count;
}
internal override int WriteInternal(byte[] buffer, int start, int count)
@@ -92,10 +92,10 @@ namespace UniversalEditor.Accessors
return count;
}
- protected override void OpenInternal()
+ protected override void OpenInternal()
{
}
- protected override void CloseInternal()
+ protected override void CloseInternal()
{
}
}
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs
index afde7ddc..5242e4bf 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs
@@ -102,10 +102,10 @@ namespace UniversalEditor.Accessors
return count;
}
- protected override void OpenInternal()
+ protected override void OpenInternal()
{
}
- protected override void CloseInternal()
+ protected override void CloseInternal()
{
}
}
diff --git a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/Adler32/Adler32ChecksumModule.cs b/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/Adler32/Adler32ChecksumModule.cs
index 67916cbc..e7e9fbb0 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/Adler32/Adler32ChecksumModule.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/Adler32/Adler32ChecksumModule.cs
@@ -76,10 +76,10 @@ namespace UniversalEditor.Checksum.Modules.Adler32
///
public sealed class Adler32 : ChecksumModule
{
- public override string Name
- {
- get { return "Adler32"; }
- }
+ public override string Name
+ {
+ get { return "Adler32"; }
+ }
///
/// largest prime smaller than 65536
diff --git a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/CRC32/CRC32ChecksumModule.cs b/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/CRC32/CRC32ChecksumModule.cs
index 92eb133b..7fceba7b 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/CRC32/CRC32ChecksumModule.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/CRC32/CRC32ChecksumModule.cs
@@ -40,40 +40,40 @@ using System;
namespace UniversalEditor.Checksum.Modules.CRC32
{
- ///
- /// Generate a table for a byte-wise 32-bit CRC calculation on the polynomial:
- /// x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
- ///
- /// Polynomials over GF(2) are represented in binary, one bit per coefficient,
- /// with the lowest powers in the most significant bit. Then adding polynomials
- /// is just exclusive-or, and multiplying a polynomial by x is a right shift by
- /// one. If we call the above polynomial p, and represent a byte as the
- /// polynomial q, also with the lowest power in the most significant bit (so the
- /// byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
- /// where a mod b means the remainder after dividing a by b.
- ///
- /// This calculation is done using the shift-register method of multiplying and
- /// taking the remainder. The register is initialized to zero, and for each
- /// incoming bit, x^32 is added mod p to the register if the bit is a one (where
- /// x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
- /// x (which is shifting right by one and adding x^32 mod p if the bit shifted
- /// out is a one). We start with the highest power (least significant bit) of
- /// q and repeat for all eight bits of q.
- ///
- /// The table is simply the CRC of all possible eight bit values. This is all
- /// the information needed to generate CRC's on data a byte at a time for all
- /// combinations of CRC register values and incoming bytes.
- ///
- public sealed class CRC32ChecksumModule : ChecksumModule
- {
- const uint CrcSeed = 0xFFFFFFFF;
+ ///
+ /// Generate a table for a byte-wise 32-bit CRC calculation on the polynomial:
+ /// x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
+ ///
+ /// Polynomials over GF(2) are represented in binary, one bit per coefficient,
+ /// with the lowest powers in the most significant bit. Then adding polynomials
+ /// is just exclusive-or, and multiplying a polynomial by x is a right shift by
+ /// one. If we call the above polynomial p, and represent a byte as the
+ /// polynomial q, also with the lowest power in the most significant bit (so the
+ /// byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
+ /// where a mod b means the remainder after dividing a by b.
+ ///
+ /// This calculation is done using the shift-register method of multiplying and
+ /// taking the remainder. The register is initialized to zero, and for each
+ /// incoming bit, x^32 is added mod p to the register if the bit is a one (where
+ /// x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
+ /// x (which is shifting right by one and adding x^32 mod p if the bit shifted
+ /// out is a one). We start with the highest power (least significant bit) of
+ /// q and repeat for all eight bits of q.
+ ///
+ /// The table is simply the CRC of all possible eight bit values. This is all
+ /// the information needed to generate CRC's on data a byte at a time for all
+ /// combinations of CRC register values and incoming bytes.
+ ///
+ public sealed class CRC32ChecksumModule : ChecksumModule
+ {
+ const uint CrcSeed = 0xFFFFFFFF;
- public override string Name
- {
- get { return "CRC32"; }
- }
+ public override string Name
+ {
+ get { return "CRC32"; }
+ }
- readonly static uint[] CrcTable = new uint[] {
+ readonly static uint[] CrcTable = new uint[] {
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419,
0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4,
0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07,
@@ -128,81 +128,81 @@ namespace UniversalEditor.Checksum.Modules.CRC32
0x2D02EF8D
};
- private static uint ComputeCrc32(uint oldCrc, byte value)
- {
- return (uint)(CrcTable[(oldCrc ^ value) & 0xFF] ^ (oldCrc >> 8));
- }
+ private static uint ComputeCrc32(uint oldCrc, byte value)
+ {
+ return (uint)(CrcTable[(oldCrc ^ value) & 0xFF] ^ (oldCrc >> 8));
+ }
- ///
- /// The crc data checksum so far.
- ///
- uint crc;
+ ///
+ /// The crc data checksum so far.
+ ///
+ uint crc;
- ///
- /// Returns the CRC32 data checksum computed so far.
- ///
- public override long Value
- {
- get
- {
- return (long)crc;
- }
- }
+ ///
+ /// Returns the CRC32 data checksum computed so far.
+ ///
+ public override long Value
+ {
+ get
+ {
+ return (long)crc;
+ }
+ }
- ///
- /// Updates the checksum with the int bval.
- ///
- ///
- /// the byte is taken as the lower 8 bits of value
- ///
- public override void Update(int value)
- {
- crc ^= CrcSeed;
- crc = CrcTable[(crc ^ value) & 0xFF] ^ (crc >> 8);
- crc ^= CrcSeed;
- }
+ ///
+ /// Updates the checksum with the int bval.
+ ///
+ ///
+ /// the byte is taken as the lower 8 bits of value
+ ///
+ public override void Update(int value)
+ {
+ crc ^= CrcSeed;
+ crc = CrcTable[(crc ^ value) & 0xFF] ^ (crc >> 8);
+ crc ^= CrcSeed;
+ }
- ///
- /// Adds the byte array to the data checksum.
- ///
- ///
- /// The buffer which contains the data
- ///
- ///
- /// The offset in the buffer where the data starts
- ///
- ///
- /// The number of data bytes to update the CRC with.
- ///
- public override void Update(byte[] buffer, int offset, int count)
- {
- if (buffer == null)
- {
- throw new ArgumentNullException("buffer");
- }
+ ///
+ /// Adds the byte array to the data checksum.
+ ///
+ ///
+ /// The buffer which contains the data
+ ///
+ ///
+ /// The offset in the buffer where the data starts
+ ///
+ ///
+ /// The number of data bytes to update the CRC with.
+ ///
+ public override void Update(byte[] buffer, int offset, int count)
+ {
+ if (buffer == null)
+ {
+ throw new ArgumentNullException("buffer");
+ }
- if (count < 0)
- {
+ if (count < 0)
+ {
#if NETCF_1_0
throw new ArgumentOutOfRangeException("count");
#else
- throw new ArgumentOutOfRangeException("count", "Count cannot be less than zero");
+ throw new ArgumentOutOfRangeException("count", "Count cannot be less than zero");
#endif
- }
+ }
- if (offset < 0 || offset + count > buffer.Length)
- {
- throw new ArgumentOutOfRangeException("offset");
- }
+ if (offset < 0 || offset + count > buffer.Length)
+ {
+ throw new ArgumentOutOfRangeException("offset");
+ }
- crc ^= CrcSeed;
+ crc ^= CrcSeed;
- while (--count >= 0)
- {
- crc = CrcTable[(crc ^ buffer[offset++]) & 0xFF] ^ (crc >> 8);
- }
+ while (--count >= 0)
+ {
+ crc = CrcTable[(crc ^ buffer[offset++]) & 0xFF] ^ (crc >> 8);
+ }
- crc ^= CrcSeed;
- }
- }
+ crc ^= CrcSeed;
+ }
+ }
}
diff --git a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs b/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs
index 70868113..917ee79b 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs
@@ -45,10 +45,10 @@ namespace UniversalEditor.Checksum.Modules.StrangeCRC
///
public class StrangeCRCChecksumModule : ChecksumModule
{
- public override string Name { get { return "StrangeCRC"; } }
+ public override string Name { get { return "StrangeCRC"; } }
readonly static uint[] crc32Table =
- {
+ {
0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9,
0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005,
0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61,
diff --git a/CSharp/Libraries/UniversalEditor.Core/Document.cs b/CSharp/Libraries/UniversalEditor.Core/Document.cs
index 54222ccb..31e2db9c 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Document.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Document.cs
@@ -5,19 +5,19 @@ using System.Text;
namespace UniversalEditor
{
- ///
- /// Represents a combination of , , and
- /// that allows you to easily manipulate documents. The Accessor determines WHERE the data is read from and written
- /// to, the DataFormat determines HOW the data is written, and the ObjectModel contains the actual data in a format-
- /// agnostic representation.
- ///
- public class Document
- {
- private Accessor mvarInputAccessor = null;
- ///
- /// The which determines where the data is read from.
- ///
- public Accessor InputAccessor { get { return mvarInputAccessor; } set { mvarInputAccessor = value; } }
+ ///
+ /// Represents a combination of , , and
+ /// that allows you to easily manipulate documents. The Accessor determines WHERE the data is read from and written
+ /// to, the DataFormat determines HOW the data is written, and the ObjectModel contains the actual data in a format-
+ /// agnostic representation.
+ ///
+ public class Document
+ {
+ private Accessor mvarInputAccessor = null;
+ ///
+ /// The which determines where the data is read from.
+ ///
+ public Accessor InputAccessor { get { return mvarInputAccessor; } set { mvarInputAccessor = value; } }
private Accessor mvarOutputAccessor = null;
///
@@ -25,11 +25,11 @@ namespace UniversalEditor
///
public Accessor OutputAccessor { get { return mvarOutputAccessor; } set { mvarOutputAccessor = value; } }
- private DataFormat mvarInputDataFormat = null;
- ///
+ private DataFormat mvarInputDataFormat = null;
+ ///
/// The which determines how the data is read from the accessor.
- ///
- public DataFormat InputDataFormat { get { return mvarInputDataFormat; } set { mvarInputDataFormat = value; } }
+ ///
+ public DataFormat InputDataFormat { get { return mvarInputDataFormat; } set { mvarInputDataFormat = value; } }
private DataFormat mvarOutputDataFormat = null;
///
@@ -37,57 +37,57 @@ namespace UniversalEditor
///
public DataFormat OutputDataFormat { get { return mvarOutputDataFormat; } set { mvarOutputDataFormat = value; } }
- private ObjectModel mvarObjectModel = null;
- ///
- /// The , which stores the actual data in a format-agnostic representation.
- ///
- public ObjectModel ObjectModel { get { return mvarObjectModel; } set { mvarObjectModel = value; } }
+ private ObjectModel mvarObjectModel = null;
+ ///
+ /// The , which stores the actual data in a format-agnostic representation.
+ ///
+ public ObjectModel ObjectModel { get { return mvarObjectModel; } set { mvarObjectModel = value; } }
- ///
- /// Reads data into the current from the using the
- /// current .
- ///
- public void Load()
- {
- mvarInputDataFormat.Accessor = mvarInputAccessor;
- mvarObjectModel.Accessor = mvarInputAccessor;
+ ///
+ /// Reads data into the current from the using the
+ /// current .
+ ///
+ public void Load()
+ {
+ mvarInputDataFormat.Accessor = mvarInputAccessor;
+ mvarObjectModel.Accessor = mvarInputAccessor;
mvarInputDataFormat.Load(ref mvarObjectModel);
mvarLastUsedAccessor = LastUsedAccessor.Input;
- }
- ///
- /// Writes the data contained in the to the using the
- /// current .
- ///
- public void Save()
- {
- mvarOutputDataFormat.Accessor = mvarOutputAccessor;
- mvarObjectModel.Accessor = mvarOutputAccessor;
+ }
+ ///
+ /// Writes the data contained in the to the using the
+ /// current .
+ ///
+ public void Save()
+ {
+ mvarOutputDataFormat.Accessor = mvarOutputAccessor;
+ mvarObjectModel.Accessor = mvarOutputAccessor;
mvarOutputDataFormat.Save(mvarObjectModel);
mvarLastUsedAccessor = LastUsedAccessor.Output;
- }
+ }
- public Document(ObjectModel objectModel, DataFormat dataFormat) : this(objectModel, dataFormat, null)
- {
- }
- public Document(ObjectModel objectModel, DataFormat dataFormat, Accessor accessor) : this(objectModel, dataFormat, dataFormat, accessor)
+ public Document(ObjectModel objectModel, DataFormat dataFormat) : this(objectModel, dataFormat, null)
+ {
+ }
+ public Document(ObjectModel objectModel, DataFormat dataFormat, Accessor accessor) : this(objectModel, dataFormat, dataFormat, accessor)
{
}
public Document(ObjectModel objectModel, DataFormat inputDataFormat, DataFormat outputDataFormat, Accessor accessor) : this(objectModel, inputDataFormat, outputDataFormat, accessor, accessor)
{
}
public Document(ObjectModel objectModel, DataFormat inputDataFormat, DataFormat outputDataFormat, Accessor inputAccessor, Accessor outputAccessor)
- {
- mvarObjectModel = objectModel;
+ {
+ mvarObjectModel = objectModel;
mvarInputDataFormat = inputDataFormat;
mvarOutputDataFormat = outputDataFormat;
- mvarInputAccessor = inputAccessor;
+ mvarInputAccessor = inputAccessor;
mvarOutputAccessor = outputAccessor;
- }
+ }
public static Document Load(ObjectModel objectModel, DataFormat dataFormat, Accessor accessor, bool autoClose = true)
{
Document document = new Document(objectModel, dataFormat, accessor);
- objectModel.Accessor = document.InputAccessor;
+ objectModel.Accessor = document.InputAccessor;
document.InputAccessor.Open();
document.Load();
if (autoClose) document.InputAccessor.Close();
@@ -95,8 +95,8 @@ namespace UniversalEditor
}
public static Document Save(ObjectModel objectModel, DataFormat dataFormat, Accessor accessor, bool autoClose = true)
{
- Document document = new Document(objectModel, dataFormat, accessor);
- objectModel.Accessor = document.OutputAccessor;
+ Document document = new Document(objectModel, dataFormat, accessor);
+ objectModel.Accessor = document.OutputAccessor;
document.OutputAccessor.Open();
document.Save();
if (autoClose) document.OutputAccessor.Close();
diff --git a/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs b/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs
index c939d3e9..384a419a 100644
--- a/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs
@@ -528,13 +528,13 @@ namespace UniversalEditor
}
public static byte[] ToByteArray(this System.IO.Stream stream)
{
- long oldpos = stream.Position;
+ long oldpos = stream.Position;
byte[] array = new byte[(int)((IntPtr)stream.Length)];
stream.Position = 0L;
stream.Read(array, 0, array.Length);
- stream.Position = oldpos;
+ stream.Position = oldpos;
return array;
}
#endregion
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs
index 94e3d2ef..f35e66bc 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs
@@ -17,12 +17,12 @@
namespace UniversalEditor.IO
{
- public abstract class Encoding
- {
- private static Encoding _Default = new DefaultEncoding();
- public static Encoding Default
- {
- get { return _Default; }
+ public abstract class Encoding
+ {
+ private static Encoding _Default = new DefaultEncoding();
+ public static Encoding Default
+ {
+ get { return _Default; }
}
private static Encoding _ASCII = new ASCIIEncoding();
public static Encoding ASCII
@@ -62,32 +62,32 @@ namespace UniversalEditor.IO
get { return _ShiftJIS; }
}
- public byte[] GetBytes(string value)
- {
- return GetBytes(value.ToCharArray());
- }
- public byte[] GetBytes(char[] chars)
- {
- return GetBytes(chars, 0, chars.Length);
- }
- public abstract byte[] GetBytes(char[] chars, int index, int count);
+ public byte[] GetBytes(string value)
+ {
+ return GetBytes(value.ToCharArray());
+ }
+ public byte[] GetBytes(char[] chars)
+ {
+ return GetBytes(chars, 0, chars.Length);
+ }
+ public abstract byte[] GetBytes(char[] chars, int index, int count);
- public string GetString(byte[] bytes)
- {
- return GetString(bytes, 0, bytes.Length);
- }
- public string GetString(byte[] bytes, int index, int count)
- {
- char[] chars = GetChars(bytes, index, count);
+ public string GetString(byte[] bytes)
+ {
+ return GetString(bytes, 0, bytes.Length);
+ }
+ public string GetString(byte[] bytes, int index, int count)
+ {
+ char[] chars = GetChars(bytes, index, count);
string retval = new string(chars);
- return retval;
- }
+ return retval;
+ }
- public char[] GetChars(byte[] bytes)
- {
- return GetChars(bytes, 0, bytes.Length);
- }
- public abstract char[] GetChars(byte[] bytes, int index, int count);
+ public char[] GetChars(byte[] bytes)
+ {
+ return GetChars(bytes, 0, bytes.Length);
+ }
+ public abstract char[] GetChars(byte[] bytes, int index, int count);
public virtual int GetMaxByteCount(int count)
{
@@ -115,27 +115,27 @@ namespace UniversalEditor.IO
return GetByteCount(chars, 0, chars.Length);
}
}
- public class DefaultEncoding : Encoding
- {
- public override byte[] GetBytes(char[] chars, int index, int count)
- {
- byte[] bytes = new byte[count];
- for (int i = 0; i < chars.Length; i++)
- {
- bytes[i] = (byte)(chars[i]);
- }
- return bytes;
- }
- public override char[] GetChars(byte[] bytes, int index, int count)
- {
- char[] retval = new char[count];
- for (int i = 0; i < count; i++)
- {
- retval[i] = (char)bytes[i];
- }
- return retval;
- }
- }
+ public class DefaultEncoding : Encoding
+ {
+ public override byte[] GetBytes(char[] chars, int index, int count)
+ {
+ byte[] bytes = new byte[count];
+ for (int i = 0; i < chars.Length; i++)
+ {
+ bytes[i] = (byte)(chars[i]);
+ }
+ return bytes;
+ }
+ public override char[] GetChars(byte[] bytes, int index, int count)
+ {
+ char[] retval = new char[count];
+ for (int i = 0; i < count; i++)
+ {
+ retval[i] = (char)bytes[i];
+ }
+ return retval;
+ }
+ }
public class ASCIIEncoding : Encoding
{
private System.Text.Encoding _encoding = System.Text.Encoding.ASCII;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs
index 57c1e8b9..90372328 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs
@@ -21,9 +21,9 @@ using System.IO;
namespace UniversalEditor.IO
{
- public class Writer
+ public class Writer
{
- private Accessor mvarAccessor = null;
+ private Accessor mvarAccessor = null;
public Accessor Accessor { get { return mvarAccessor; } }
private Endianness mvarEndianness = Endianness.LittleEndian;
@@ -33,71 +33,71 @@ namespace UniversalEditor.IO
set { mvarEndianness = value; }
}
- private NewLineSequence mvarNewLineSequence = NewLineSequence.Default;
- public NewLineSequence NewLineSequence { get { return mvarNewLineSequence; } set { mvarNewLineSequence = value; } }
- public string GetNewLineSequence()
- {
- string newline = System.Environment.NewLine;
- switch (mvarNewLineSequence)
- {
- case IO.NewLineSequence.CarriageReturn:
- {
- newline = "\r";
- break;
- }
- case IO.NewLineSequence.LineFeed:
- {
- newline = "\n";
- break;
- }
- case IO.NewLineSequence.CarriageReturnLineFeed:
- {
- newline = "\r\n";
- break;
- }
- }
- return newline;
- }
+ private NewLineSequence mvarNewLineSequence = NewLineSequence.Default;
+ public NewLineSequence NewLineSequence { get { return mvarNewLineSequence; } set { mvarNewLineSequence = value; } }
+ public string GetNewLineSequence()
+ {
+ string newline = System.Environment.NewLine;
+ switch (mvarNewLineSequence)
+ {
+ case IO.NewLineSequence.CarriageReturn:
+ {
+ newline = "\r";
+ break;
+ }
+ case IO.NewLineSequence.LineFeed:
+ {
+ newline = "\n";
+ break;
+ }
+ case IO.NewLineSequence.CarriageReturnLineFeed:
+ {
+ newline = "\r\n";
+ break;
+ }
+ }
+ return newline;
+ }
- public void SwapEndianness()
- {
- if (mvarEndianness == IO.Endianness.LittleEndian)
- {
- mvarEndianness = IO.Endianness.BigEndian;
- }
- else
- {
- mvarEndianness = IO.Endianness.LittleEndian;
- }
- }
+ public void SwapEndianness()
+ {
+ if (mvarEndianness == IO.Endianness.LittleEndian)
+ {
+ mvarEndianness = IO.Endianness.BigEndian;
+ }
+ else
+ {
+ mvarEndianness = IO.Endianness.LittleEndian;
+ }
+ }
- public Writer(Accessor accessor)
- {
- mvarAccessor = accessor;
- }
+ public Writer(Accessor accessor)
+ {
+ mvarAccessor = accessor;
+ }
- public void Write(byte[] buffer, int start, int count)
- {
- mvarAccessor.WriteInternal(buffer, start, count);
- }
+ public void Write(byte[] buffer, int start, int count)
+ {
+ mvarAccessor.WriteInternal(buffer, start, count);
+ }
public void WriteBoolean(bool value)
{
WriteByte(value ? (byte)1 : (byte)0);
}
- public void WriteByte(byte value)
- {
- WriteBytes(new byte[] { value });
- }
- public void WriteSByte(sbyte value)
- {
- WriteBytes(new byte[] { (byte)value });
- }
- public void WriteBytes(byte[] data)
- {
- if (data == null) return;
- Write(data, 0, data.Length);
- }
+ public void WriteByte(byte value)
+ {
+ WriteBytes(new byte[] { value });
+ }
+ public void WriteSByte(sbyte value)
+ {
+ WriteBytes(new byte[] { (byte)value });
+ }
+ public void WriteBytes(byte[] data)
+ {
+ if (data == null) return;
+ Write(data, 0, data.Length);
+ }
public void WriteFixedLengthBytes(byte[] data, int count)
{
@@ -106,163 +106,163 @@ namespace UniversalEditor.IO
WriteBytes(realdata);
}
- public void WriteChar(char value)
- {
- WriteChar(value, mvarAccessor.DefaultEncoding);
- }
- public void WriteChar(char value, Encoding encoding)
- {
- byte[] data = encoding.GetBytes(new char[] { value });
- WriteBytes(data);
- }
+ public void WriteChar(char value)
+ {
+ WriteChar(value, mvarAccessor.DefaultEncoding);
+ }
+ public void WriteChar(char value, Encoding encoding)
+ {
+ byte[] data = encoding.GetBytes(new char[] { value });
+ WriteBytes(data);
+ }
- public void Write(char value)
- {
- Write(value.ToString());
- }
- public void Write(string value)
- {
- WriteFixedLengthString(value);
- }
- public void WriteLine()
- {
- WriteLine(String.Empty);
- }
- public void WriteLine(char value)
- {
- WriteLine(value.ToString());
- }
- public void WriteLine(string value)
- {
- WriteFixedLengthString(value + GetNewLineSequence());
- }
+ public void Write(char value)
+ {
+ Write(value.ToString());
+ }
+ public void Write(string value)
+ {
+ WriteFixedLengthString(value);
+ }
+ public void WriteLine()
+ {
+ WriteLine(String.Empty);
+ }
+ public void WriteLine(char value)
+ {
+ WriteLine(value.ToString());
+ }
+ public void WriteLine(string value)
+ {
+ WriteFixedLengthString(value + GetNewLineSequence());
+ }
- public void WriteGuid(Guid guid)
- {
- WriteBytes(guid.ToByteArray());
- }
- public void WriteFixedLengthString(string value)
- {
- WriteFixedLengthString(value, mvarAccessor.DefaultEncoding);
- }
- public void WriteFixedLengthString(string value, int length)
- {
- WriteFixedLengthString(value, mvarAccessor.DefaultEncoding, length);
- }
- public void WriteFixedLengthString(string value, uint length)
- {
+ public void WriteGuid(Guid guid)
+ {
+ WriteBytes(guid.ToByteArray());
+ }
+ public void WriteFixedLengthString(string value)
+ {
+ WriteFixedLengthString(value, mvarAccessor.DefaultEncoding);
+ }
+ public void WriteFixedLengthString(string value, int length)
+ {
WriteFixedLengthString(value, mvarAccessor.DefaultEncoding, length);
- }
- public void WriteFixedLengthString(string value, Encoding encoding)
- {
- byte[] data = encoding.GetBytes(value);
- WriteBytes(data);
- }
- public void WriteFixedLengthString(string value, int length, char paddingChar)
- {
+ }
+ public void WriteFixedLengthString(string value, uint length)
+ {
+ WriteFixedLengthString(value, mvarAccessor.DefaultEncoding, length);
+ }
+ public void WriteFixedLengthString(string value, Encoding encoding)
+ {
+ byte[] data = encoding.GetBytes(value);
+ WriteBytes(data);
+ }
+ public void WriteFixedLengthString(string value, int length, char paddingChar)
+ {
WriteFixedLengthString(value, mvarAccessor.DefaultEncoding, length, paddingChar);
- }
- public void WriteFixedLengthString(string value, uint length, char paddingChar)
- {
+ }
+ public void WriteFixedLengthString(string value, uint length, char paddingChar)
+ {
this.WriteFixedLengthString(value, mvarAccessor.DefaultEncoding, length, paddingChar);
- }
- public void WriteFixedLengthString(string value, Encoding encoding, int length)
- {
- this.WriteFixedLengthString(value, encoding, length, '\0');
- }
- public void WriteFixedLengthString(string value, Encoding encoding, uint length)
- {
- WriteFixedLengthString(value, encoding, length, '\0');
- }
- public void WriteFixedLengthString(string value, Encoding encoding, int length, char paddingChar)
- {
- WriteFixedLengthString(value, encoding, (uint)length, paddingChar);
- }
- public void WriteFixedLengthString(string value, Encoding encoding, uint length, char paddingChar)
- {
- string v = value;
+ }
+ public void WriteFixedLengthString(string value, Encoding encoding, int length)
+ {
+ this.WriteFixedLengthString(value, encoding, length, '\0');
+ }
+ public void WriteFixedLengthString(string value, Encoding encoding, uint length)
+ {
+ WriteFixedLengthString(value, encoding, length, '\0');
+ }
+ public void WriteFixedLengthString(string value, Encoding encoding, int length, char paddingChar)
+ {
+ WriteFixedLengthString(value, encoding, (uint)length, paddingChar);
+ }
+ public void WriteFixedLengthString(string value, Encoding encoding, uint length, char paddingChar)
+ {
+ string v = value;
if (v == null) v = String.Empty;
- byte[] data = encoding.GetBytes(v);
- byte[] realData = new byte[length];
+ byte[] data = encoding.GetBytes(v);
+ byte[] realData = new byte[length];
- uint realLength = length;
- if (data.Length < realLength)
- {
- realLength = (uint)data.Length;
- }
- Array.Copy(data, 0, realData, 0, realLength);
+ uint realLength = length;
+ if (data.Length < realLength)
+ {
+ realLength = (uint)data.Length;
+ }
+ Array.Copy(data, 0, realData, 0, realLength);
- for (int i = data.Length; i < realData.Length; i++)
- {
- realData[i] = (byte)paddingChar;
- }
- WriteBytes(realData);
- }
+ for (int i = data.Length; i < realData.Length; i++)
+ {
+ realData[i] = (byte)paddingChar;
+ }
+ WriteBytes(realData);
+ }
- public void WriteLengthPrefixedString(string value)
- {
- WriteLengthPrefixedString(value, mvarAccessor.DefaultEncoding);
- }
- public void WriteLengthPrefixedString(string value, Encoding encoding)
- {
- throw new NotImplementedException();
- }
+ public void WriteLengthPrefixedString(string value)
+ {
+ WriteLengthPrefixedString(value, mvarAccessor.DefaultEncoding);
+ }
+ public void WriteLengthPrefixedString(string value, Encoding encoding)
+ {
+ throw new NotImplementedException();
+ }
- public void WriteNullTerminatedString(string sz)
- {
- if (sz != null)
- {
- for (int i = 0; i < sz.Length; i++)
- {
- WriteChar(sz[i]);
- }
- }
- WriteChar('\0');
- }
- public void WriteNullTerminatedString(string sz, Encoding encoding)
- {
+ public void WriteNullTerminatedString(string sz)
+ {
+ if (sz != null)
+ {
+ for (int i = 0; i < sz.Length; i++)
+ {
+ WriteChar(sz[i]);
+ }
+ }
+ WriteChar('\0');
+ }
+ public void WriteNullTerminatedString(string sz, Encoding encoding)
+ {
byte[] values = encoding.GetBytes(sz);
WriteBytes(values);
WriteInt16(0);
- }
- public void WriteNullTerminatedString(string sz, int length)
- {
- this.WriteFixedLengthString(sz, length);
- }
-
- public void WriteInt16(short value)
- {
- byte[] _buffer = BitConverter.GetBytes(value);
- byte[] buffer = new byte[2];
- if (mvarEndianness == Endianness.BigEndian)
- {
- buffer[1] = _buffer[0];
- buffer[0] = _buffer[1];
- }
- else
- {
- buffer[0] = _buffer[0];
- buffer[1] = _buffer[1];
- }
- WriteBytes(buffer);
- }
- public void WriteUInt16(ushort value)
- {
- byte[] _buffer = BitConverter.GetBytes(value);
- byte[] buffer = new byte[2];
- if (mvarEndianness == Endianness.BigEndian)
- {
- buffer[1] = _buffer[0];
- buffer[0] = _buffer[1];
- }
- else
- {
- buffer[0] = _buffer[0];
- buffer[1] = _buffer[1];
- }
- WriteBytes(buffer);
- }
+ }
+ public void WriteNullTerminatedString(string sz, int length)
+ {
+ this.WriteFixedLengthString(sz, length);
+ }
+
+ public void WriteInt16(short value)
+ {
+ byte[] _buffer = BitConverter.GetBytes(value);
+ byte[] buffer = new byte[2];
+ if (mvarEndianness == Endianness.BigEndian)
+ {
+ buffer[1] = _buffer[0];
+ buffer[0] = _buffer[1];
+ }
+ else
+ {
+ buffer[0] = _buffer[0];
+ buffer[1] = _buffer[1];
+ }
+ WriteBytes(buffer);
+ }
+ public void WriteUInt16(ushort value)
+ {
+ byte[] _buffer = BitConverter.GetBytes(value);
+ byte[] buffer = new byte[2];
+ if (mvarEndianness == Endianness.BigEndian)
+ {
+ buffer[1] = _buffer[0];
+ buffer[0] = _buffer[1];
+ }
+ else
+ {
+ buffer[0] = _buffer[0];
+ buffer[1] = _buffer[1];
+ }
+ WriteBytes(buffer);
+ }
public void WriteInt24 (int value)
{
byte[] buffer = new byte[3];
@@ -280,117 +280,117 @@ namespace UniversalEditor.IO
}
WriteBytes(buffer);
}
- public void WriteUInt24(uint value)
- {
- byte[] buffer = new byte[3];
- if (mvarEndianness == Endianness.BigEndian)
- {
- buffer[2] = (byte)value;
- buffer[1] = (byte)(value >> 8);
- buffer[0] = (byte)(value >> 16);
- }
- else
- {
- buffer[0] = (byte)value;
- buffer[1] = (byte)(value >> 8);
- buffer[2] = (byte)(value >> 16);
- }
- WriteBytes(buffer);
- }
- public void WriteInt32(int value)
- {
- byte[] _buffer = BitConverter.GetBytes(value);
- byte[] buffer = new byte[4];
- if (mvarEndianness == Endianness.BigEndian)
- {
- buffer[3] = _buffer[0];
- buffer[2] = _buffer[1];
- buffer[1] = _buffer[2];
- buffer[0] = _buffer[3];
- }
- else
- {
- buffer[0] = _buffer[0];
- buffer[1] = _buffer[1];
- buffer[2] = _buffer[2];
- buffer[3] = _buffer[3];
- }
- WriteBytes(buffer);
- }
- public void WriteUInt32(uint value)
- {
- byte[] _buffer = BitConverter.GetBytes(value);
- byte[] buffer = new byte[4];
- if (mvarEndianness == Endianness.BigEndian)
- {
- buffer[3] = _buffer[0];
- buffer[2] = _buffer[1];
- buffer[1] = _buffer[2];
- buffer[0] = _buffer[3];
- }
- else
- {
- buffer[0] = _buffer[0];
- buffer[1] = _buffer[1];
- buffer[2] = _buffer[2];
- buffer[3] = _buffer[3];
- }
- WriteBytes(buffer);
- }
- public void WriteInt64(long value)
- {
- byte[] _buffer = new byte[8];
- if (mvarEndianness == IO.Endianness.BigEndian)
- {
- _buffer[0] = (byte)(value >> 56);
- _buffer[1] = (byte)(value >> 48);
- _buffer[2] = (byte)(value >> 40);
- _buffer[3] = (byte)(value >> 32);
- _buffer[4] = (byte)(value >> 24);
- _buffer[5] = (byte)(value >> 16);
- _buffer[6] = (byte)(value >> 8);
- _buffer[7] = (byte)value;
- }
- else
- {
- _buffer[0] = (byte)value;
- _buffer[1] = (byte)(value >> 8);
- _buffer[2] = (byte)(value >> 16);
- _buffer[3] = (byte)(value >> 24);
- _buffer[4] = (byte)(value >> 32);
- _buffer[5] = (byte)(value >> 40);
- _buffer[6] = (byte)(value >> 48);
- _buffer[7] = (byte)(value >> 56);
- }
- WriteBytes(_buffer);
- }
- public void WriteUInt64(ulong value)
- {
- byte[] _buffer = new byte[8];
- if (mvarEndianness == IO.Endianness.BigEndian)
- {
- _buffer[0] = (byte)(value >> 56);
- _buffer[1] = (byte)(value >> 48);
- _buffer[2] = (byte)(value >> 40);
- _buffer[3] = (byte)(value >> 32);
- _buffer[4] = (byte)(value >> 24);
- _buffer[5] = (byte)(value >> 16);
- _buffer[6] = (byte)(value >> 8);
- _buffer[7] = (byte)value;
- }
- else
- {
- _buffer[0] = (byte)value;
- _buffer[1] = (byte)(value >> 8);
- _buffer[2] = (byte)(value >> 16);
- _buffer[3] = (byte)(value >> 24);
- _buffer[4] = (byte)(value >> 32);
- _buffer[5] = (byte)(value >> 40);
- _buffer[6] = (byte)(value >> 48);
- _buffer[7] = (byte)(value >> 56);
- }
- WriteBytes(_buffer);
- }
+ public void WriteUInt24(uint value)
+ {
+ byte[] buffer = new byte[3];
+ if (mvarEndianness == Endianness.BigEndian)
+ {
+ buffer[2] = (byte)value;
+ buffer[1] = (byte)(value >> 8);
+ buffer[0] = (byte)(value >> 16);
+ }
+ else
+ {
+ buffer[0] = (byte)value;
+ buffer[1] = (byte)(value >> 8);
+ buffer[2] = (byte)(value >> 16);
+ }
+ WriteBytes(buffer);
+ }
+ public void WriteInt32(int value)
+ {
+ byte[] _buffer = BitConverter.GetBytes(value);
+ byte[] buffer = new byte[4];
+ if (mvarEndianness == Endianness.BigEndian)
+ {
+ buffer[3] = _buffer[0];
+ buffer[2] = _buffer[1];
+ buffer[1] = _buffer[2];
+ buffer[0] = _buffer[3];
+ }
+ else
+ {
+ buffer[0] = _buffer[0];
+ buffer[1] = _buffer[1];
+ buffer[2] = _buffer[2];
+ buffer[3] = _buffer[3];
+ }
+ WriteBytes(buffer);
+ }
+ public void WriteUInt32(uint value)
+ {
+ byte[] _buffer = BitConverter.GetBytes(value);
+ byte[] buffer = new byte[4];
+ if (mvarEndianness == Endianness.BigEndian)
+ {
+ buffer[3] = _buffer[0];
+ buffer[2] = _buffer[1];
+ buffer[1] = _buffer[2];
+ buffer[0] = _buffer[3];
+ }
+ else
+ {
+ buffer[0] = _buffer[0];
+ buffer[1] = _buffer[1];
+ buffer[2] = _buffer[2];
+ buffer[3] = _buffer[3];
+ }
+ WriteBytes(buffer);
+ }
+ public void WriteInt64(long value)
+ {
+ byte[] _buffer = new byte[8];
+ if (mvarEndianness == IO.Endianness.BigEndian)
+ {
+ _buffer[0] = (byte)(value >> 56);
+ _buffer[1] = (byte)(value >> 48);
+ _buffer[2] = (byte)(value >> 40);
+ _buffer[3] = (byte)(value >> 32);
+ _buffer[4] = (byte)(value >> 24);
+ _buffer[5] = (byte)(value >> 16);
+ _buffer[6] = (byte)(value >> 8);
+ _buffer[7] = (byte)value;
+ }
+ else
+ {
+ _buffer[0] = (byte)value;
+ _buffer[1] = (byte)(value >> 8);
+ _buffer[2] = (byte)(value >> 16);
+ _buffer[3] = (byte)(value >> 24);
+ _buffer[4] = (byte)(value >> 32);
+ _buffer[5] = (byte)(value >> 40);
+ _buffer[6] = (byte)(value >> 48);
+ _buffer[7] = (byte)(value >> 56);
+ }
+ WriteBytes(_buffer);
+ }
+ public void WriteUInt64(ulong value)
+ {
+ byte[] _buffer = new byte[8];
+ if (mvarEndianness == IO.Endianness.BigEndian)
+ {
+ _buffer[0] = (byte)(value >> 56);
+ _buffer[1] = (byte)(value >> 48);
+ _buffer[2] = (byte)(value >> 40);
+ _buffer[3] = (byte)(value >> 32);
+ _buffer[4] = (byte)(value >> 24);
+ _buffer[5] = (byte)(value >> 16);
+ _buffer[6] = (byte)(value >> 8);
+ _buffer[7] = (byte)value;
+ }
+ else
+ {
+ _buffer[0] = (byte)value;
+ _buffer[1] = (byte)(value >> 8);
+ _buffer[2] = (byte)(value >> 16);
+ _buffer[3] = (byte)(value >> 24);
+ _buffer[4] = (byte)(value >> 32);
+ _buffer[5] = (byte)(value >> 40);
+ _buffer[6] = (byte)(value >> 48);
+ _buffer[7] = (byte)(value >> 56);
+ }
+ WriteBytes(_buffer);
+ }
public void WriteObject (object value)
{
@@ -485,104 +485,104 @@ namespace UniversalEditor.IO
WriteInt64(value.ToBinary());
}
- public void WriteDecimal(decimal value)
- {
- int[] bits = decimal.GetBits(value);
- int lo = bits[0], mid = bits[1], hi = bits[2], flags = bits[3];
+ public void WriteDecimal(decimal value)
+ {
+ int[] bits = decimal.GetBits(value);
+ int lo = bits[0], mid = bits[1], hi = bits[2], flags = bits[3];
- byte[] buffer = new byte[16];
- if (mvarEndianness == IO.Endianness.LittleEndian)
- {
- buffer[0] = (byte)lo;
- buffer[1] = (byte)(lo >> 8);
- buffer[2] = (byte)(lo >> 16);
- buffer[3] = (byte)(lo >> 24);
- buffer[4] = (byte)mid;
- buffer[5] = (byte)(mid >> 8);
- buffer[6] = (byte)(mid >> 16);
- buffer[7] = (byte)(mid >> 24);
- buffer[8] = (byte)hi;
- buffer[9] = (byte)(hi >> 8);
- buffer[10] = (byte)(hi >> 16);
- buffer[11] = (byte)(hi >> 24);
- buffer[12] = (byte)flags;
- buffer[13] = (byte)(flags >> 8);
- buffer[14] = (byte)(flags >> 16);
- buffer[15] = (byte)(flags >> 24);
- }
- else
- {
- buffer[15] = (byte)lo;
- buffer[14] = (byte)(lo >> 8);
- buffer[13] = (byte)(lo >> 16);
- buffer[12] = (byte)(lo >> 24);
- buffer[11] = (byte)mid;
- buffer[10] = (byte)(mid >> 8);
- buffer[9] = (byte)(mid >> 16);
- buffer[9] = (byte)(mid >> 24);
- buffer[7] = (byte)hi;
- buffer[6] = (byte)(hi >> 8);
- buffer[5] = (byte)(hi >> 16);
- buffer[4] = (byte)(hi >> 24);
- buffer[3] = (byte)flags;
- buffer[2] = (byte)(flags >> 8);
- buffer[1] = (byte)(flags >> 16);
- buffer[0] = (byte)(flags >> 24);
- }
- WriteBytes(buffer);
- }
+ byte[] buffer = new byte[16];
+ if (mvarEndianness == IO.Endianness.LittleEndian)
+ {
+ buffer[0] = (byte)lo;
+ buffer[1] = (byte)(lo >> 8);
+ buffer[2] = (byte)(lo >> 16);
+ buffer[3] = (byte)(lo >> 24);
+ buffer[4] = (byte)mid;
+ buffer[5] = (byte)(mid >> 8);
+ buffer[6] = (byte)(mid >> 16);
+ buffer[7] = (byte)(mid >> 24);
+ buffer[8] = (byte)hi;
+ buffer[9] = (byte)(hi >> 8);
+ buffer[10] = (byte)(hi >> 16);
+ buffer[11] = (byte)(hi >> 24);
+ buffer[12] = (byte)flags;
+ buffer[13] = (byte)(flags >> 8);
+ buffer[14] = (byte)(flags >> 16);
+ buffer[15] = (byte)(flags >> 24);
+ }
+ else
+ {
+ buffer[15] = (byte)lo;
+ buffer[14] = (byte)(lo >> 8);
+ buffer[13] = (byte)(lo >> 16);
+ buffer[12] = (byte)(lo >> 24);
+ buffer[11] = (byte)mid;
+ buffer[10] = (byte)(mid >> 8);
+ buffer[9] = (byte)(mid >> 16);
+ buffer[9] = (byte)(mid >> 24);
+ buffer[7] = (byte)hi;
+ buffer[6] = (byte)(hi >> 8);
+ buffer[5] = (byte)(hi >> 16);
+ buffer[4] = (byte)(hi >> 24);
+ buffer[3] = (byte)flags;
+ buffer[2] = (byte)(flags >> 8);
+ buffer[1] = (byte)(flags >> 16);
+ buffer[0] = (byte)(flags >> 24);
+ }
+ WriteBytes(buffer);
+ }
- public void WriteVersion(Version version)
- {
- WriteVersion(version, 4);
- }
- public void WriteVersion(Version version, int count)
- {
- switch (count)
- {
- case 1:
- {
- WriteByte(1);
- WriteInt32(version.Major);
- break;
- }
- case 2:
- {
- WriteByte(2);
- WriteInt32(version.Major);
- WriteInt32(version.Minor);
- break;
- }
- case 3:
- {
- WriteByte(3);
- WriteInt32(version.Major);
- WriteInt32(version.Minor);
- WriteInt32(version.Build);
- break;
- }
- case 4:
- {
- WriteByte(4);
- WriteInt32(version.Major);
- WriteInt32(version.Minor);
- WriteInt32(version.Build);
- WriteInt32(version.Revision);
- break;
- }
- }
- }
+ public void WriteVersion(Version version)
+ {
+ WriteVersion(version, 4);
+ }
+ public void WriteVersion(Version version, int count)
+ {
+ switch (count)
+ {
+ case 1:
+ {
+ WriteByte(1);
+ WriteInt32(version.Major);
+ break;
+ }
+ case 2:
+ {
+ WriteByte(2);
+ WriteInt32(version.Major);
+ WriteInt32(version.Minor);
+ break;
+ }
+ case 3:
+ {
+ WriteByte(3);
+ WriteInt32(version.Major);
+ WriteInt32(version.Minor);
+ WriteInt32(version.Build);
+ break;
+ }
+ case 4:
+ {
+ WriteByte(4);
+ WriteInt32(version.Major);
+ WriteInt32(version.Minor);
+ WriteInt32(version.Build);
+ WriteInt32(version.Revision);
+ break;
+ }
+ }
+ }
- public long CountAlignment(int paddingCount)
- {
- return CountAlignment(paddingCount, 0);
- }
- public long CountAlignment(int paddingCount, int dataCount)
- {
- long position = (mvarAccessor.Position + dataCount);
- int num = (int)(position % paddingCount);
- return num;
- }
+ public long CountAlignment(int paddingCount)
+ {
+ return CountAlignment(paddingCount, 0);
+ }
+ public long CountAlignment(int paddingCount, int dataCount)
+ {
+ long position = (mvarAccessor.Position + dataCount);
+ int num = (int)(position % paddingCount);
+ return num;
+ }
public void Align(int paddingCount)
@@ -600,9 +600,9 @@ namespace UniversalEditor.IO
}
case 4:
{
- long num = mvarAccessor.Position;
+ long num = mvarAccessor.Position;
num = (num + 3L & -4L);
- long num2 = num - mvarAccessor.Position;
+ long num2 = num - mvarAccessor.Position;
byte[] array = new byte[num2];
array.Initialize();
WriteBytes(array);
@@ -610,106 +610,106 @@ namespace UniversalEditor.IO
}
default:
{
- long count = (mvarAccessor.Position % paddingCount);
- byte[] array = new byte[count];
- WriteBytes(array);
- break;
+ long count = (mvarAccessor.Position % paddingCount);
+ byte[] array = new byte[count];
+ WriteBytes(array);
+ break;
}
}
}
- public void WriteSingle(float value)
- {
- byte[] buffer = BitConverter.GetBytes(value);
- byte[] _buffer = new byte[4];
- if (mvarEndianness == IO.Endianness.BigEndian)
- {
- _buffer[0] = buffer[3];
- _buffer[1] = buffer[2];
- _buffer[2] = buffer[1];
- _buffer[3] = buffer[0];
- }
- else
- {
- _buffer[0] = buffer[0];
- _buffer[1] = buffer[1];
- _buffer[2] = buffer[2];
- _buffer[3] = buffer[3];
- }
- WriteBytes(_buffer);
- }
- public void WriteDouble(double value)
- {
- byte[] buffer = BitConverter.GetBytes(value);
- byte[] _buffer = new byte[8];
- if (mvarEndianness == IO.Endianness.BigEndian)
- {
- _buffer[0] = buffer[7];
- _buffer[1] = buffer[6];
- _buffer[2] = buffer[5];
- _buffer[3] = buffer[4];
- _buffer[4] = buffer[3];
- _buffer[5] = buffer[2];
- _buffer[6] = buffer[1];
- _buffer[7] = buffer[0];
- }
- else
- {
- _buffer[0] = buffer[0];
- _buffer[1] = buffer[1];
- _buffer[2] = buffer[2];
- _buffer[3] = buffer[3];
- _buffer[4] = buffer[4];
- _buffer[5] = buffer[5];
- _buffer[6] = buffer[6];
- _buffer[7] = buffer[7];
- }
- WriteBytes(_buffer);
- }
+ public void WriteSingle(float value)
+ {
+ byte[] buffer = BitConverter.GetBytes(value);
+ byte[] _buffer = new byte[4];
+ if (mvarEndianness == IO.Endianness.BigEndian)
+ {
+ _buffer[0] = buffer[3];
+ _buffer[1] = buffer[2];
+ _buffer[2] = buffer[1];
+ _buffer[3] = buffer[0];
+ }
+ else
+ {
+ _buffer[0] = buffer[0];
+ _buffer[1] = buffer[1];
+ _buffer[2] = buffer[2];
+ _buffer[3] = buffer[3];
+ }
+ WriteBytes(_buffer);
+ }
+ public void WriteDouble(double value)
+ {
+ byte[] buffer = BitConverter.GetBytes(value);
+ byte[] _buffer = new byte[8];
+ if (mvarEndianness == IO.Endianness.BigEndian)
+ {
+ _buffer[0] = buffer[7];
+ _buffer[1] = buffer[6];
+ _buffer[2] = buffer[5];
+ _buffer[3] = buffer[4];
+ _buffer[4] = buffer[3];
+ _buffer[5] = buffer[2];
+ _buffer[6] = buffer[1];
+ _buffer[7] = buffer[0];
+ }
+ else
+ {
+ _buffer[0] = buffer[0];
+ _buffer[1] = buffer[1];
+ _buffer[2] = buffer[2];
+ _buffer[3] = buffer[3];
+ _buffer[4] = buffer[4];
+ _buffer[5] = buffer[5];
+ _buffer[6] = buffer[6];
+ _buffer[7] = buffer[7];
+ }
+ WriteBytes(_buffer);
+ }
- public void WriteDoubleEndianInt16(short value)
- {
- WriteInt16(value);
- SwapEndianness();
- WriteInt16(value);
- SwapEndianness();
- }
- public void WriteDoubleEndianInt32(int value)
- {
- WriteInt32(value);
- SwapEndianness();
- WriteInt32(value);
- SwapEndianness();
- }
- public void WriteDoubleEndianInt64(long value)
- {
- WriteInt64(value);
- SwapEndianness();
- WriteInt64(value);
- SwapEndianness();
- }
- public void WriteDoubleEndianUInt16(ushort value)
- {
- WriteUInt16(value);
- SwapEndianness();
- WriteUInt16(value);
- SwapEndianness();
- }
- public void WriteDoubleEndianUInt32(uint value)
- {
- WriteUInt32(value);
- SwapEndianness();
- WriteUInt32(value);
- SwapEndianness();
- }
- public void WriteDoubleEndianUInt64(ulong value)
- {
- WriteUInt64(value);
- SwapEndianness();
- WriteUInt64(value);
- SwapEndianness();
- }
+ public void WriteDoubleEndianInt16(short value)
+ {
+ WriteInt16(value);
+ SwapEndianness();
+ WriteInt16(value);
+ SwapEndianness();
+ }
+ public void WriteDoubleEndianInt32(int value)
+ {
+ WriteInt32(value);
+ SwapEndianness();
+ WriteInt32(value);
+ SwapEndianness();
+ }
+ public void WriteDoubleEndianInt64(long value)
+ {
+ WriteInt64(value);
+ SwapEndianness();
+ WriteInt64(value);
+ SwapEndianness();
+ }
+ public void WriteDoubleEndianUInt16(ushort value)
+ {
+ WriteUInt16(value);
+ SwapEndianness();
+ WriteUInt16(value);
+ SwapEndianness();
+ }
+ public void WriteDoubleEndianUInt32(uint value)
+ {
+ WriteUInt32(value);
+ SwapEndianness();
+ WriteUInt32(value);
+ SwapEndianness();
+ }
+ public void WriteDoubleEndianUInt64(ulong value)
+ {
+ WriteUInt64(value);
+ SwapEndianness();
+ WriteUInt64(value);
+ SwapEndianness();
+ }
public void WriteUInt16SizedString(string value)
{
@@ -724,20 +724,20 @@ namespace UniversalEditor.IO
WriteBytes(output);
}
- public void WriteInt64String(string value)
- {
- WriteInt64(value.Length);
- WriteFixedLengthString(value);
- }
+ public void WriteInt64String(string value)
+ {
+ WriteInt64(value.Length);
+ WriteFixedLengthString(value);
+ }
- public void Flush()
- {
- mvarAccessor.FlushInternal();
- }
+ public void Flush()
+ {
+ mvarAccessor.FlushInternal();
+ }
public void Close()
{
mvarAccessor.Close();
}
- }
+ }
}
diff --git a/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs b/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs
index 82865a56..4f7ade2c 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs
@@ -4,24 +4,24 @@ using System.Text;
namespace UniversalEditor.Localization
{
- public static class StringTable
- {
- private static string mvarApplicationName = "Universal Editor";
- public static string ApplicationName { get { return mvarApplicationName; } }
+ public static class StringTable
+ {
+ private static string mvarApplicationName = "Universal Editor";
+ public static string ApplicationName { get { return mvarApplicationName; } }
- private static string mvarErrorDataFormatNotOpen = "The data format is not open.";
- public static string ErrorDataFormatNotOpen { get { return mvarErrorDataFormatNotOpen; } }
+ private static string mvarErrorDataFormatNotOpen = "The data format is not open.";
+ public static string ErrorDataFormatNotOpen { get { return mvarErrorDataFormatNotOpen; } }
- private static string mvarErrorDataCorrupted = "The file is corrupted.";
- public static string ErrorDataCorrupted { get { return mvarErrorDataCorrupted; } }
+ private static string mvarErrorDataCorrupted = "The file is corrupted.";
+ public static string ErrorDataCorrupted { get { return mvarErrorDataCorrupted; } }
- private static string mvarErrorFileNotFound = "The file could not be found.";
- public static string ErrorFileNotFound { get { return mvarErrorFileNotFound; } }
- private static string mvarErrorNotAnObjectModel = "The specified type is not an object model.";
- public static string ErrorNotAnObjectModel { get { return mvarErrorNotAnObjectModel; } }
+ private static string mvarErrorFileNotFound = "The file could not be found.";
+ public static string ErrorFileNotFound { get { return mvarErrorFileNotFound; } }
+ private static string mvarErrorNotAnObjectModel = "The specified type is not an object model.";
+ public static string ErrorNotAnObjectModel { get { return mvarErrorNotAnObjectModel; } }
- private static string mvarErrorObjectModelNull = "The object model must not be null.";
- public static string ErrorObjectModelNull { get { return mvarErrorObjectModelNull; } set { mvarErrorObjectModelNull = value; } }
+ private static string mvarErrorObjectModelNull = "The object model must not be null.";
+ public static string ErrorObjectModelNull { get { return mvarErrorObjectModelNull; } set { mvarErrorObjectModelNull = value; } }
private static string mvarErrorDataFormatInvalid = "The data format is invalid.";
public static string ErrorDataFormatInvalid { get { return mvarErrorDataFormatInvalid; } set { mvarErrorDataFormatInvalid = value; } }
diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/Command.cs b/CSharp/Libraries/UniversalEditor.UserInterface/Command.cs
index e94a37c9..1c4aaafb 100644
--- a/CSharp/Libraries/UniversalEditor.UserInterface/Command.cs
+++ b/CSharp/Libraries/UniversalEditor.UserInterface/Command.cs
@@ -21,13 +21,13 @@ namespace UniversalEditor.UserInterface
}
private bool mvarEnableTearoff = false;
- public bool EnableTearoff { get { return mvarEnableTearoff; } set { mvarEnableTearoff = value; } }
+ public bool EnableTearoff { get { return mvarEnableTearoff; } set { mvarEnableTearoff = value; } }
- private bool mvarChecked = false;
- ///
- /// Determines whether this command displays as checked.
- ///
- public bool Checked { get { return mvarChecked; } set { mvarChecked = value; } }
+ private bool mvarChecked = false;
+ ///
+ /// Determines whether this command displays as checked.
+ ///
+ public bool Checked { get { return mvarChecked; } set { mvarChecked = value; } }
private string mvarID = String.Empty;
///
@@ -45,7 +45,7 @@ namespace UniversalEditor.UserInterface
public string DefaultCommandID { get { return mvarDefaultCommandID; } set { mvarDefaultCommandID = value; } }
private CommandShortcutKey mvarShortcutKey = new CommandShortcutKey();
- public CommandShortcutKey ShortcutKey { get { return mvarShortcutKey; } }
+ public CommandShortcutKey ShortcutKey { get { return mvarShortcutKey; } set { mvarShortcutKey = value; } }
private StockCommandType mvarStockCommandType = StockCommandType.None;
///
@@ -78,6 +78,6 @@ namespace UniversalEditor.UserInterface
{
if (Executed != null) Executed(this, EventArgs.Empty);
}
- }
+ }
}
diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/CommandShortcutKey.cs b/CSharp/Libraries/UniversalEditor.UserInterface/CommandShortcutKey.cs
index ba88de28..b8b86ad6 100644
--- a/CSharp/Libraries/UniversalEditor.UserInterface/CommandShortcutKey.cs
+++ b/CSharp/Libraries/UniversalEditor.UserInterface/CommandShortcutKey.cs
@@ -5,17 +5,94 @@ using System.Text;
namespace UniversalEditor.UserInterface
{
+ [Flags()]
public enum CommandShortcutKeyModifiers
{
None = 0,
Control = 1,
Shift = 2,
Alt = 4,
- Meta = 8
+ Meta = 8,
+ Super = 16
}
public enum CommandShortcutKeyValue
{
- TopRow0,
+ None = 0,
+
+ //
+ // Summary:
+ // The SPACEBAR key.
+ Space = 32,
+ //
+ // Summary:
+ // The PAGE UP key.
+ Prior = 33,
+ //
+ // Summary:
+ // The PAGE UP key.
+ PageUp = 33,
+ //
+ // Summary:
+ // The PAGE DOWN key.
+ Next = 34,
+ //
+ // Summary:
+ // The PAGE DOWN key.
+ PageDown = 34,
+ //
+ // Summary:
+ // The END key.
+ End = 35,
+ //
+ // Summary:
+ // The HOME key.
+ Home = 36,
+ //
+ // Summary:
+ // The LEFT ARROW key.
+ Left = 37,
+ //
+ // Summary:
+ // The UP ARROW key.
+ Up = 38,
+ //
+ // Summary:
+ // The RIGHT ARROW key.
+ Right = 39,
+ //
+ // Summary:
+ // The DOWN ARROW key.
+ Down = 40,
+ //
+ // Summary:
+ // The SELECT key.
+ Select = 41,
+ //
+ // Summary:
+ // The PRINT key.
+ Print = 42,
+ //
+ // Summary:
+ // The EXECUTE key.
+ Execute = 43,
+ //
+ // Summary:
+ // The PRINT SCREEN key.
+ PrintScreen = 44,
+ //
+ // Summary:
+ // The INS key.
+ Insert = 45,
+ //
+ // Summary:
+ // The DEL key.
+ Delete = 46,
+ //
+ // Summary:
+ // The HELP key.
+ Help = 47,
+
+ TopRow0 = 48,
TopRow1,
TopRow2,
TopRow3,
@@ -25,7 +102,8 @@ namespace UniversalEditor.UserInterface
TopRow7,
TopRow8,
TopRow9,
- A,
+
+ A = 65,
B,
C,
D,
@@ -51,7 +129,8 @@ namespace UniversalEditor.UserInterface
X,
Y,
Z,
- NumPad0,
+
+ NumPad0 = 96,
NumPad1,
NumPad2,
NumPad3,
@@ -60,11 +139,37 @@ namespace UniversalEditor.UserInterface
NumPad6,
NumPad7,
NumPad8,
- NumPad9
+ NumPad9,
+
+ F1 = 112,
+ F2,
+ F3,
+ F4,
+ F5,
+ F6,
+ F7,
+ F8,
+ F9,
+ F10,
+ F11,
+ F12
}
public class CommandShortcutKey
{
private CommandShortcutKeyModifiers mvarModifiers = CommandShortcutKeyModifiers.None;
public CommandShortcutKeyModifiers Modifiers { get { return mvarModifiers; } set { mvarModifiers = value; } }
+
+ private CommandShortcutKeyValue mvarValue = CommandShortcutKeyValue.None;
+ public CommandShortcutKeyValue Value { get { return mvarValue; } set { mvarValue = value; } }
+
+ public CommandShortcutKey()
+ : this(CommandShortcutKeyValue.None, CommandShortcutKeyModifiers.None)
+ {
+ }
+ public CommandShortcutKey(CommandShortcutKeyValue value, CommandShortcutKeyModifiers modifiers = CommandShortcutKeyModifiers.None)
+ {
+ mvarValue = value;
+ mvarModifiers = modifiers;
+ }
}
}
diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs b/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs
index ab88565d..5e64ae68 100644
--- a/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs
+++ b/CSharp/Libraries/UniversalEditor.UserInterface/Common/Reflection.cs
@@ -178,10 +178,10 @@ namespace UniversalEditor.UserInterface.Common
list.Add(editor);
}
}
- if (!editorsByObjectModelType.ContainsKey(objectModelReference.ObjectModelType))
- {
- editorsByObjectModelType.Add(objectModelReference.ObjectModelType, list.ToArray());
- }
+ if (!editorsByObjectModelType.ContainsKey(objectModelReference.ObjectModelType))
+ {
+ editorsByObjectModelType.Add(objectModelReference.ObjectModelType, list.ToArray());
+ }
}
// editorsByObjectModelType.Clear();
return editorsByObjectModelType[objectModelReference.ObjectModelType];
diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs b/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs
index 91c78086..216bc7e2 100644
--- a/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs
+++ b/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs
@@ -169,16 +169,16 @@ namespace UniversalEditor.UserInterface
editor.Redo();
});
#endregion
- #region View
- AttachCommandEventHandler("ViewFullScreen", delegate(object sender, EventArgs e)
- {
- Command cmd = (sender as Command);
- LastWindow.FullScreen = !LastWindow.FullScreen;
- cmd.Checked = LastWindow.FullScreen;
- });
- #endregion
- #region Tools
- // ToolsOptions should actually be under the Edit menu as "Preferences" on Linux systems
+ #region View
+ AttachCommandEventHandler("ViewFullScreen", delegate(object sender, EventArgs e)
+ {
+ Command cmd = (sender as Command);
+ LastWindow.FullScreen = !LastWindow.FullScreen;
+ cmd.Checked = LastWindow.FullScreen;
+ });
+ #endregion
+ #region Tools
+ // ToolsOptions should actually be under the Edit menu as "Preferences" on Linux systems
AttachCommandEventHandler("ToolsOptions", delegate(object sender, EventArgs e)
{
LastWindow.ShowOptionsDialog();
@@ -416,6 +416,57 @@ namespace UniversalEditor.UserInterface
{
cmd.Title = cmd.ID;
}
+
+ MarkupTagElement tagShortcut = (tagCommand.Elements["Shortcut"] as MarkupTagElement);
+ if (tagShortcut != null)
+ {
+ MarkupAttribute attModifiers = tagShortcut.Attributes["Modifiers"];
+ MarkupAttribute attKey = tagShortcut.Attributes["Key"];
+ if (attKey != null)
+ {
+ CommandShortcutKeyModifiers modifiers = CommandShortcutKeyModifiers.None;
+ if (attModifiers != null)
+ {
+ string[] strModifiers = attModifiers.Value.Split(new char[] { ',' });
+ foreach (string strModifier in strModifiers)
+ {
+ switch (strModifier.Trim().ToLower())
+ {
+ case "alt":
+ {
+ modifiers |= CommandShortcutKeyModifiers.Alt;
+ break;
+ }
+ case "control":
+ {
+ modifiers |= CommandShortcutKeyModifiers.Control;
+ break;
+ }
+ case "meta":
+ {
+ modifiers |= CommandShortcutKeyModifiers.Meta;
+ break;
+ }
+ case "shift":
+ {
+ modifiers |= CommandShortcutKeyModifiers.Shift;
+ break;
+ }
+ case "super":
+ {
+ modifiers |= CommandShortcutKeyModifiers.Super;
+ break;
+ }
+ }
+ }
+ }
+
+ CommandShortcutKeyValue value = CommandShortcutKeyValue.None;
+ value = (CommandShortcutKeyValue)Enum.Parse(typeof(CommandShortcutKeyValue), attKey.Value);
+
+ cmd.ShortcutKey = new CommandShortcutKey(value, modifiers);
+ }
+ }
MarkupTagElement tagItems = (tagCommand.Elements["Items"] as MarkupTagElement);
if (tagItems != null)
@@ -429,7 +480,7 @@ namespace UniversalEditor.UserInterface
}
}
- mvarCommands.Add (cmd);
+ mvarCommands.Add(cmd);
}
}
@@ -460,18 +511,21 @@ namespace UniversalEditor.UserInterface
UpdateSplashScreenStatus("Loading languages and translations");
MarkupTagElement tagLanguages = (mvarRawMarkup.FindElement("UniversalEditor", "Application", "Languages") as MarkupTagElement);
- foreach (MarkupElement elLanguage in tagLanguages.Elements)
+ if (tagLanguages != null)
{
- MarkupTagElement tagLanguage = (elLanguage as MarkupTagElement);
- if (tagLanguage == null) continue;
- if (tagLanguage.FullName != "Language") continue;
- InitializeLanguage(tagLanguage);
- }
+ foreach (MarkupElement elLanguage in tagLanguages.Elements)
+ {
+ MarkupTagElement tagLanguage = (elLanguage as MarkupTagElement);
+ if (tagLanguage == null) continue;
+ if (tagLanguage.FullName != "Language") continue;
+ InitializeLanguage(tagLanguage);
+ }
- MarkupAttribute attDefaultLanguageID = tagLanguages.Attributes["DefaultLanguageID"];
- if (attDefaultLanguageID != null)
- {
- mvarDefaultLanguage = mvarLanguages[attDefaultLanguageID.Value];
+ MarkupAttribute attDefaultLanguageID = tagLanguages.Attributes["DefaultLanguageID"];
+ if (attDefaultLanguageID != null)
+ {
+ mvarDefaultLanguage = mvarLanguages[attDefaultLanguageID.Value];
+ }
}
#endregion
diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/IHostApplicationWindow.cs b/CSharp/Libraries/UniversalEditor.UserInterface/IHostApplicationWindow.cs
index 941ca0d2..a4892ef4 100644
--- a/CSharp/Libraries/UniversalEditor.UserInterface/IHostApplicationWindow.cs
+++ b/CSharp/Libraries/UniversalEditor.UserInterface/IHostApplicationWindow.cs
@@ -32,7 +32,7 @@ namespace UniversalEditor.UserInterface
IEditorImplementation GetCurrentEditor();
- bool FullScreen { get; set; }
+ bool FullScreen { get; set; }
///
/// Displays the "Options" dialog (on Windows, under the "Tools" menu; on Linux, under the "Edit"
diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/MenuBar.cs b/CSharp/Libraries/UniversalEditor.UserInterface/MenuBar.cs
index 6554180a..1817b521 100644
--- a/CSharp/Libraries/UniversalEditor.UserInterface/MenuBar.cs
+++ b/CSharp/Libraries/UniversalEditor.UserInterface/MenuBar.cs
@@ -6,178 +6,178 @@ namespace UniversalEditor.UserInterface
{
public class MenuBar
{
- private MenuItem.MenuItemCollection mvarItems = new MenuItem.MenuItemCollection();
- public MenuItem.MenuItemCollection Items { get { return mvarItems; } }
- }
+ private MenuItem.MenuItemCollection mvarItems = new MenuItem.MenuItemCollection();
+ public MenuItem.MenuItemCollection Items { get { return mvarItems; } }
+ }
- public abstract class MenuItem
- {
- public class MenuItemCollection
- : System.Collections.ObjectModel.Collection