Merge branch 'master' of github.com:alcexhim/UniversalEditor
Conflicts: Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/SeekOrigin.java
This commit is contained in:
commit
27ed0bdc89
BIN
Java/Configuration/Application.upl
Normal file
BIN
Java/Configuration/Application.upl
Normal file
Binary file not shown.
14
Java/Configuration/Application.xml
Normal file
14
Java/Configuration/Application.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<UniversalEditor>
|
||||
<Configuration>
|
||||
<Group ID="Application">
|
||||
<Property ID="ConfirmExit" Value="true" />
|
||||
<Group ID="Startup">
|
||||
<Property ID="ForceLoadStartupFileNames" Value="true" />
|
||||
<Property ID="FileNames">
|
||||
<Value>C:\Temp\UETEST\uetest.farc</Value>
|
||||
</Property>
|
||||
</Group>
|
||||
</Group>
|
||||
</Configuration>
|
||||
</UniversalEditor>
|
||||
24
Java/Configuration/CommandBars.xml
Normal file
24
Java/Configuration/CommandBars.xml
Normal file
@ -0,0 +1,24 @@
|
||||
<UniversalEditor>
|
||||
<Application>
|
||||
<CommandBars LargeButtons="false" ScreenTips="true" ScreenTipShortcutKeys="true">
|
||||
<CommandBar ID="tbStandard" Title="Standard">
|
||||
<Items>
|
||||
<CommandReference CommandID="FileNew" />
|
||||
<CommandReference CommandID="FileOpen" />
|
||||
<CommandReference CommandID="FileSave" />
|
||||
<CommandReference CommandID="FilePrint" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="EditCut" />
|
||||
<CommandReference CommandID="EditCopy" />
|
||||
<CommandReference CommandID="EditPaste" />
|
||||
<CommandReference CommandID="EditDelete" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="EditUndo" />
|
||||
<CommandReference CommandID="EditRedo" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="Help" />
|
||||
</Items>
|
||||
</CommandBar>
|
||||
</CommandBars>
|
||||
</Application>
|
||||
</UniversalEditor>
|
||||
354
Java/Configuration/Commands.xml
Normal file
354
Java/Configuration/Commands.xml
Normal file
@ -0,0 +1,354 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<UniversalEditor>
|
||||
<Application>
|
||||
<Commands>
|
||||
<!-- File -->
|
||||
<Command ID="File">
|
||||
<Items>
|
||||
<CommandReference CommandID="FileNew" />
|
||||
<CommandReference CommandID="FileOpen" />
|
||||
<CommandReference CommandID="FileSave" />
|
||||
<CommandReference CommandID="FileClose" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="FilePrint" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="FileRecentFiles" />
|
||||
<CommandReference CommandID="FileRecentProjects" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="FileRestart" />
|
||||
<CommandReference CommandID="FileExit" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="FileNew" DefaultCommandID="FileNewDocument">
|
||||
<Items>
|
||||
<!--
|
||||
<CommandReference CommandID="FileNewDocumentFileSystem" />
|
||||
<Separator />
|
||||
-->
|
||||
<CommandReference CommandID="FileNewDocument" />
|
||||
<CommandReference CommandID="FileNewProject" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="FileNewDocument">
|
||||
<Shortcut Modifiers="Control" Key="N" />
|
||||
<Parameters>
|
||||
<!-- This command takes one parameter which is not set by default -->
|
||||
<Parameter Name="ObjectModelTypeName" />
|
||||
</Parameters>
|
||||
</Command>
|
||||
<Command ID="FileNewDocumentFileSystem" ParentCommandID="FileNewDocument">
|
||||
<!-- Execute FileNewDocument with the specified parameters -->
|
||||
<ParameterValues>
|
||||
<ParameterValue Name="ObjectModelTypeName" Value="UniversalEditor.ObjectModels.FileSystem.FileSystemObjectModel" />
|
||||
</ParameterValues>
|
||||
</Command>
|
||||
<Command ID="FileNewProject">
|
||||
<Shortcut Modifiers="Control,Shift" Key="N" />
|
||||
</Command>
|
||||
<Command ID="FileOpen" DefaultCommandID="FileOpenDocument">
|
||||
<Items>
|
||||
<CommandReference CommandID="FileOpenDocument" />
|
||||
<CommandReference CommandID="FileOpenProject" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="FileOpenDocument">
|
||||
<Shortcut Modifiers="Control" Key="O" />
|
||||
</Command>
|
||||
<Command ID="FileOpenProject">
|
||||
<Shortcut Modifiers="Control,Shift" Key="O" />
|
||||
</Command>
|
||||
<Command ID="FileSave" DefaultCommandID="FileSaveDocument">
|
||||
<Items>
|
||||
<CommandReference CommandID="FileSaveDocument" />
|
||||
<CommandReference CommandID="FileSaveDocumentAs" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="FileSaveProject" />
|
||||
<CommandReference CommandID="FileSaveProjectAs" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="FileSaveAll" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="FileSaveDocument">
|
||||
<Shortcut Modifiers="Control" Key="S" />
|
||||
</Command>
|
||||
<Command ID="FileSaveDocumentAs" />
|
||||
<Command ID="FileSaveProject" />
|
||||
<Command ID="FileSaveProjectAs" />
|
||||
<Command ID="FileSaveAll">
|
||||
<Shortcut Modifiers="Control,Shift" Key="S" />
|
||||
</Command>
|
||||
<Command ID="FileClose">
|
||||
<Items>
|
||||
<CommandReference CommandID="FileCloseDocument" />
|
||||
<CommandReference CommandID="FileCloseProject" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="FileCloseWindow" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="FileCloseDocument">
|
||||
<Shortcut Modifiers="Control" Key="W" />
|
||||
</Command>
|
||||
<Command ID="FileCloseProject">
|
||||
<Shortcut Modifiers="Control,Shift" Key="W" />
|
||||
</Command>
|
||||
<Command ID="FileCloseWindow">
|
||||
<Shortcut Modifiers="Alt" Key="F4" />
|
||||
</Command>
|
||||
<Command ID="FilePrint">
|
||||
<Shortcut Modifiers="Control" Key="P" />
|
||||
</Command>
|
||||
<Command ID="FileRecentFiles">
|
||||
<Items>
|
||||
<CommandPlaceholder ID="RecentFiles" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="FileRecentProjects">
|
||||
<Items>
|
||||
<CommandPlaceholder ID="RecentProjects" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="FileRestart" />
|
||||
<Command ID="FileExit">
|
||||
<Shortcut Modifiers="Control" Key="Q" />
|
||||
</Command>
|
||||
|
||||
<!-- Edit -->
|
||||
<Command ID="Edit">
|
||||
<Items>
|
||||
<CommandReference CommandID="EditUndo" />
|
||||
<CommandReference CommandID="EditRedo" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="EditCut" />
|
||||
<CommandReference CommandID="EditCopy" />
|
||||
<CommandReference CommandID="EditPaste" />
|
||||
<CommandReference CommandID="EditDelete" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="EditSelectAll" />
|
||||
<CommandReference CommandID="EditInvertSelection" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="EditFindReplace" />
|
||||
<CommandReference CommandID="EditGoTo" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="EditUndo">
|
||||
<Shortcut Modifiers="Control" Key="Z" />
|
||||
</Command>
|
||||
<Command ID="EditRedo">
|
||||
<Shortcut Modifiers="Control" Key="Y" />
|
||||
</Command>
|
||||
<Command ID="EditCut">
|
||||
<Shortcut Modifiers="Control" Key="X" />
|
||||
</Command>
|
||||
<Command ID="EditCopy">
|
||||
<Shortcut Modifiers="Control" Key="C" />
|
||||
</Command>
|
||||
<Command ID="EditPaste">
|
||||
<Shortcut Modifiers="Control" Key="V" />
|
||||
</Command>
|
||||
<Command ID="EditDelete">
|
||||
<Shortcut Key="Delete" />
|
||||
</Command>
|
||||
<Command ID="EditSelectAll">
|
||||
<Shortcut Modifiers="Control" Key="A" />
|
||||
</Command>
|
||||
<Command ID="EditInvertSelection">
|
||||
<Shortcut Modifiers="Control,Shift" Key="A" />
|
||||
</Command>
|
||||
<Command ID="EditFindReplace">
|
||||
<Shortcut Modifiers="Control" Key="F" />
|
||||
</Command>
|
||||
<Command ID="EditGoTo">
|
||||
<Shortcut Modifiers="Control" Key="G" />
|
||||
</Command>
|
||||
|
||||
<!-- View -->
|
||||
<Command ID="View">
|
||||
<Items>
|
||||
<CommandReference CommandID="ViewToolbars" />
|
||||
<CommandReference CommandID="ViewStatusBar" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ViewPanels" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ViewPerspective" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ViewStartPage" />
|
||||
<CommandReference CommandID="ViewFullScreen" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ViewRefresh" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="ViewToolbars">
|
||||
<Items>
|
||||
<CommandReference CommandID="ViewToolbarsCustomize" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="ViewToolbarsCustomize" />
|
||||
<Command ID="ViewStatusBar" />
|
||||
<Command ID="ViewPanels" />
|
||||
<Command ID="ViewPerspective">
|
||||
<Items>
|
||||
<CommandReference CommandID="ViewPerspective1" />
|
||||
<CommandReference CommandID="ViewPerspective2" />
|
||||
<CommandReference CommandID="ViewPerspective3" />
|
||||
<CommandReference CommandID="ViewPerspective4" />
|
||||
<CommandReference CommandID="ViewPerspective5" />
|
||||
<CommandReference CommandID="ViewPerspective6" />
|
||||
<CommandReference CommandID="ViewPerspective7" />
|
||||
<CommandReference CommandID="ViewPerspective8" />
|
||||
<CommandReference CommandID="ViewPerspective9" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ViewPerspectiveCustomize" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="ViewPerspective1">
|
||||
<Shortcut Key="TopRow1" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective2">
|
||||
<Shortcut Key="TopRow2" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective3">
|
||||
<Shortcut Key="TopRow3" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective4">
|
||||
<Shortcut Key="TopRow4" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective5">
|
||||
<Shortcut Key="TopRow5" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective6">
|
||||
<Shortcut Key="TopRow6" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective7">
|
||||
<Shortcut Key="TopRow7" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective8">
|
||||
<Shortcut Key="TopRow8" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspective9">
|
||||
<Shortcut Key="TopRow9" Modifiers="Control,Alt" />
|
||||
</Command>
|
||||
<Command ID="ViewPerspectiveCustomize" />
|
||||
|
||||
<Command ID="ViewStartPage" />
|
||||
<Command ID="ViewFullScreen">
|
||||
<Shortcut Key="F11" />
|
||||
</Command>
|
||||
|
||||
<!-- Project -->
|
||||
<Command ID="Project">
|
||||
<Items>
|
||||
<CommandReference CommandID="ProjectAddNew" />
|
||||
<CommandReference CommandID="ProjectAddExisting" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ProjectExclude" />
|
||||
<CommandReference CommandID="ProjectShowAllFiles" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ProjectProperties" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="ProjectAddNew">
|
||||
<Shortcut Modifiers="Control" Key="A" />
|
||||
</Command>
|
||||
<Command ID="ProjectAddExisting">
|
||||
<Shortcut Modifiers="Control,Shift" Key="A" />
|
||||
</Command>
|
||||
<Command ID="ProjectExclude" />
|
||||
<Command ID="ProjectShowAllFiles" />
|
||||
<Command ID="ProjectProperties" />
|
||||
|
||||
<Command ID="Bookmarks">
|
||||
<Items>
|
||||
<CommandReference CommandID="BookmarksAdd" />
|
||||
<CommandReference CommandID="BookmarksAddAll" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="BookmarksManage" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="BookmarksAdd">
|
||||
<Shortcut Modifiers="Control" Key="D" />
|
||||
</Command>
|
||||
<Command ID="BookmarksAddAll">
|
||||
<Shortcut Modifiers="Control,Shift" Key="D" />
|
||||
</Command>
|
||||
<Command ID="BookmarksManage" />
|
||||
|
||||
<Command ID="Tools">
|
||||
<Items>
|
||||
<CommandReference CommandID="ToolsSessionManager" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ToolsExternalTools" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ToolsCustomize" />
|
||||
<CommandReference CommandID="ToolsOptions" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="ToolsSessionManager" />
|
||||
<Command ID="ToolsExternalTools">
|
||||
<Items>
|
||||
<CommandPlaceholder ID="ExternalTools" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="ToolsExternalToolsCustomize" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="ToolsExternalToolsCustomize" />
|
||||
|
||||
<Command ID="ToolsCustomize" />
|
||||
<Command ID="ToolsOptions" />
|
||||
|
||||
<Command ID="Window">
|
||||
<Items>
|
||||
<CommandReference CommandID="WindowNewWindow" />
|
||||
<CommandReference CommandID="WindowSplit" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="WindowFloat" />
|
||||
<CommandReference CommandID="WindowFloatAll" />
|
||||
<CommandReference CommandID="WindowDock" />
|
||||
<CommandReference CommandID="WindowAutoHide" />
|
||||
<CommandReference CommandID="WindowAutoHideAll" />
|
||||
<CommandReference CommandID="WindowHide" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="WindowPinTab" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="WindowNewTabGroupHorizontal" />
|
||||
<CommandReference CommandID="WindowNewTabGroupVertical" />
|
||||
<CommandReference CommandID="WindowCloseAllDocuments" />
|
||||
<CommandReference CommandID="WindowResetWindowLayout" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="WindowWindows" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="WindowNewWindow" />
|
||||
<Command ID="WindowSplit" />
|
||||
<Command ID="WindowFloat" />
|
||||
<Command ID="WindowFloatAll" />
|
||||
<Command ID="WindowDock" />
|
||||
<Command ID="WindowAutoHide" />
|
||||
<Command ID="WindowAutoHideAll" />
|
||||
<Command ID="WindowHide" />
|
||||
<Command ID="WindowPinTab" />
|
||||
<Command ID="WindowNewTabGroupHorizontal" />
|
||||
<Command ID="WindowNewTabGroupVertical" />
|
||||
<Command ID="WindowCloseAllDocuments" />
|
||||
<Command ID="WindowResetWindowLayout" />
|
||||
<Command ID="WindowWindows" />
|
||||
|
||||
<Command ID="Help" DefaultCommandID="HelpViewHelp">
|
||||
<Items>
|
||||
<CommandReference CommandID="HelpViewHelp" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="HelpCustomerFeedbackOptions" />
|
||||
<CommandReference CommandID="HelpLicensingAndActivation" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="HelpSoftwareManager" />
|
||||
<Separator />
|
||||
<CommandReference CommandID="HelpAboutPlatform" />
|
||||
</Items>
|
||||
</Command>
|
||||
<Command ID="HelpViewHelp" />
|
||||
<Command ID="HelpCustomerFeedbackOptions" />
|
||||
<Command ID="HelpLicensingAndActivation" />
|
||||
<Command ID="HelpSoftwareManager" />
|
||||
<Command ID="HelpAboutPlatform" />
|
||||
</Commands>
|
||||
</Application>
|
||||
</UniversalEditor>
|
||||
16
Java/Configuration/MainMenu.xml
Normal file
16
Java/Configuration/MainMenu.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<UniversalEditor>
|
||||
<Application>
|
||||
<MainMenu>
|
||||
<Items>
|
||||
<CommandReference CommandID="File" />
|
||||
<CommandReference CommandID="Edit" />
|
||||
<CommandReference CommandID="View" />
|
||||
<CommandReference CommandID="Project" />
|
||||
<CommandReference CommandID="Bookmarks" />
|
||||
<CommandReference CommandID="Tools" />
|
||||
<CommandReference CommandID="Window" />
|
||||
<CommandReference CommandID="Help" />
|
||||
</Items>
|
||||
</MainMenu>
|
||||
</Application>
|
||||
</UniversalEditor>
|
||||
14
Java/Configuration/ObjectModels.xml
Normal file
14
Java/Configuration/ObjectModels.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UniversalEditor Version="4.0">
|
||||
<ObjectModels>
|
||||
<!--
|
||||
Default settings for all object models unless overridden with a specific ObjectModel tag.
|
||||
|
||||
Enabled
|
||||
Determines whether the ObjectModel is visible in user interface elements (for example, creating
|
||||
a new document). If false, the ObjectModel won't show up in the user interface but will still
|
||||
be accessible to any code that references it directly.
|
||||
-->
|
||||
<Default Visible="true" />
|
||||
</ObjectModels>
|
||||
</UniversalEditor>
|
||||
BIN
Java/Configuration/SplashScreen.upl
Normal file
BIN
Java/Configuration/SplashScreen.upl
Normal file
Binary file not shown.
29
Java/Configuration/StartPage.xml
Normal file
29
Java/Configuration/StartPage.xml
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<UniversalEditor>
|
||||
<Configuration>
|
||||
<Group ID="Application">
|
||||
<Group ID="StartPage">
|
||||
<!--
|
||||
Set to false if you don't want the StartPage to be available. Note
|
||||
that you will also need to remove the ViewStartPage menu item if it's
|
||||
defined in MainMenu.xml to completely remove all entry points to the
|
||||
Start Page.
|
||||
-->
|
||||
<Property ID="Enabled" Value="true" />
|
||||
|
||||
<!--
|
||||
The URL from which to download Start Page content.
|
||||
-->
|
||||
<Property ID="ContentURL" />
|
||||
|
||||
<!--
|
||||
Configuration settings for content refresh.
|
||||
-->
|
||||
<Group ID="ContentRefreshTimeout">
|
||||
<Property ID="Enabled" Value="false" />
|
||||
<Property ID="Interval" Value="0" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</Configuration>
|
||||
</UniversalEditor>
|
||||
|
Before Width: | Height: | Size: 600 B After Width: | Height: | Size: 600 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
7
Java/Themes/Default/Theme.xml
Normal file
7
Java/Themes/Default/Theme.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<net.alcetech.UserInterface.Theming>
|
||||
<Themes>
|
||||
<Theme ID="889B0D01-5BAC-4C54-9A86-0B978B7A5510">
|
||||
|
||||
</Theme>
|
||||
</Themes>
|
||||
</net.alcetech.UserInterface.Theming>
|
||||
@ -1,6 +1,56 @@
|
||||
package net.alcetech.UniversalEditor.Core;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.alcetech.UniversalEditor.Core.IO.*;
|
||||
|
||||
public abstract class Accessor
|
||||
{
|
||||
|
||||
public void seek(long position, SeekOrigin origin) throws IOException
|
||||
{
|
||||
/*
|
||||
switch (origin)
|
||||
{
|
||||
case Begin:
|
||||
{
|
||||
if (position > getLength())
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
seekInternal(position, origin);
|
||||
}
|
||||
protected abstract void seekInternal(long position, SeekOrigin origin) throws IOException;
|
||||
|
||||
public void open() throws IOException
|
||||
{
|
||||
openInternal();
|
||||
}
|
||||
public void close() throws IOException
|
||||
{
|
||||
closeInternal();
|
||||
}
|
||||
|
||||
protected abstract void openInternal() throws IOException;
|
||||
protected abstract void closeInternal() throws IOException;
|
||||
|
||||
protected abstract int readInternal(byte[] buffer, int start, int length) throws IOException;
|
||||
protected abstract int writeInternal(byte[] buffer, int start, int length) throws IOException;
|
||||
|
||||
public int read(byte[] buffer, int start, int length) throws IOException
|
||||
{
|
||||
return readInternal(buffer, start, length);
|
||||
}
|
||||
public int write(byte[] buffer, int start, int length) throws IOException
|
||||
{
|
||||
return writeInternal(buffer, start, length);
|
||||
}
|
||||
public int read(byte[] buffer) throws IOException
|
||||
{
|
||||
return readInternal(buffer, 0, buffer.length);
|
||||
}
|
||||
public int write(byte[] buffer) throws IOException
|
||||
{
|
||||
return write(buffer, 0, buffer.length);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
package net.alcetech.UniversalEditor.Core.Accessors;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import net.alcetech.UniversalEditor.Core.*;
|
||||
import net.alcetech.UniversalEditor.Core.IO.*;
|
||||
|
||||
public class FileAccessor extends Accessor
|
||||
{
|
||||
private RandomAccessFile _file = null;
|
||||
|
||||
public FileAccessor()
|
||||
{
|
||||
}
|
||||
public FileAccessor(String fileName)
|
||||
{
|
||||
mvarFileName = fileName;
|
||||
}
|
||||
|
||||
private String mvarFileName = "";
|
||||
public void setFileName(String value) { mvarFileName = value; }
|
||||
public String getFileName() { return mvarFileName; }
|
||||
|
||||
protected void openInternal() throws IOException
|
||||
{
|
||||
String mode = "rw";
|
||||
_file = new RandomAccessFile(new File(getFileName()), mode);
|
||||
}
|
||||
protected void closeInternal() throws IOException
|
||||
{
|
||||
if (_file != null)
|
||||
{
|
||||
_file.close();
|
||||
}
|
||||
}
|
||||
|
||||
protected int readInternal(byte[] buffer, int offset, int length) throws IOException
|
||||
{
|
||||
return _file.read(buffer, offset, length);
|
||||
}
|
||||
protected int writeInternal(byte[] buffer, int offset, int length) throws IOException
|
||||
{
|
||||
_file.write(buffer, offset, length);
|
||||
return length;
|
||||
}
|
||||
|
||||
protected void seekInternal(long position, SeekOrigin origin) throws IOException
|
||||
{
|
||||
_file.seek(position);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package net.alcetech.UniversalEditor.Core;
|
||||
|
||||
public abstract class DataFormat
|
||||
{
|
||||
public DataFormatReference getDataFormatReference()
|
||||
{
|
||||
return new DataFormatReference(this.getClass().getName());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package net.alcetech.UniversalEditor.Core;
|
||||
|
||||
import net.alcetech.Core.NotImplementedException;
|
||||
import net.alcetech.Core.Collections.ObjectModel.Collection;
|
||||
|
||||
public class DataFormatReference
|
||||
{
|
||||
private String mvarTypeName = null;
|
||||
public DataFormatReference(String typeName)
|
||||
{
|
||||
mvarTypeName = typeName;
|
||||
}
|
||||
|
||||
public DataFormat Create()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private Collection<ObjectModelReference> _supportedObjectModelCollection = new Collection<ObjectModelReference>();
|
||||
public Collection<ObjectModelReference> getSupportedObjectModelCollection() { return _supportedObjectModelCollection; }
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
package net.alcetech.UniversalEditor.Core.IO;
|
||||
|
||||
import net.alcetech.Core.NotImplementedException;
|
||||
|
||||
public class BitConverter
|
||||
{
|
||||
public static byte[] getBytes(boolean value)
|
||||
{
|
||||
return new byte[] { value ? (byte)1 : (byte)0 };
|
||||
}
|
||||
public static byte[] getBytes(char value)
|
||||
{
|
||||
return getBytes((short)value);
|
||||
}
|
||||
public static byte[] getBytes(short value)
|
||||
{
|
||||
return new byte[]
|
||||
{
|
||||
(byte)((value & (0xFF << 0)) >> 0),
|
||||
(byte)((value & (0xFF << 8)) >> 8)
|
||||
};
|
||||
}
|
||||
public static byte[] getBytes(int value)
|
||||
{
|
||||
return new byte[]
|
||||
{
|
||||
(byte)((value & (0xFF << 0)) >> 0),
|
||||
(byte)((value & (0xFF << 8)) >> 8),
|
||||
(byte)((value & (0xFF << 16)) >> 16),
|
||||
(byte)((value & (0xFF << 24)) >> 24)
|
||||
};
|
||||
}
|
||||
public static byte[] getBytes(long value)
|
||||
{
|
||||
return new byte[]
|
||||
{
|
||||
(byte)((value & (0xFF << 0)) >> 0),
|
||||
(byte)((value & (0xFF << 8)) >> 8),
|
||||
(byte)((value & (0xFF << 16)) >> 16),
|
||||
(byte)((value & (0xFF << 24)) >> 24),
|
||||
(byte)((value & (0xFF << 32)) >> 32),
|
||||
(byte)((value & (0xFF << 40)) >> 40),
|
||||
(byte)((value & (0xFF << 48)) >> 48),
|
||||
(byte)((value & (0xFF << 56)) >> 56)
|
||||
};
|
||||
}
|
||||
public static byte[] getBytes(float value)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
/*
|
||||
return new byte[]
|
||||
{
|
||||
(byte)(((int)value & (0xFF << 0)) >> 0),
|
||||
(byte)(((int)value & (0xFF << 8)) >> 8),
|
||||
(byte)(((int)value & (0xFF << 16)) >> 16),
|
||||
(byte)(((int)value & (0xFF << 24)) >> 24)
|
||||
};
|
||||
*/
|
||||
}
|
||||
}
|
||||
@ -1,8 +1,19 @@
|
||||
package net.alcetech.UniversalEditor.Core.IO;
|
||||
|
||||
import net.alcetech.UniversalEditor.Core.Accessor;
|
||||
|
||||
public class Reader
|
||||
{
|
||||
private Endianness mvarEndianness = Endianness.BigEndian;
|
||||
private Accessor _accessor = null;
|
||||
public Accessor getAccessor() { return _accessor; }
|
||||
public void setAccessor(Accessor value) { _accessor = value; }
|
||||
|
||||
public Reader(Accessor accessor)
|
||||
{
|
||||
_accessor = accessor;
|
||||
}
|
||||
|
||||
private Endianness mvarEndianness = Endianness.LittleEndian;
|
||||
public void setEndianness(Endianness value)
|
||||
{
|
||||
mvarEndianness = value;
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
package net.alcetech.UniversalEditor.Core.IO;
|
||||
|
||||
public enum SeekOrigin
|
||||
{
|
||||
Begin,
|
||||
Current,
|
||||
End
|
||||
}
|
||||
@ -1,8 +1,21 @@
|
||||
package net.alcetech.UniversalEditor.Core.IO;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.alcetech.UniversalEditor.Core.*;
|
||||
|
||||
public class Writer
|
||||
{
|
||||
private Endianness mvarEndianness = Endianness.BigEndian;
|
||||
private Accessor _accessor = null;
|
||||
public Accessor getAccessor() { return _accessor; }
|
||||
public void setAccessor(Accessor value) { _accessor = value; }
|
||||
|
||||
public Writer(Accessor accessor)
|
||||
{
|
||||
_accessor = accessor;
|
||||
}
|
||||
|
||||
private Endianness mvarEndianness = Endianness.LittleEndian;
|
||||
public void setEndianness(Endianness value)
|
||||
{
|
||||
mvarEndianness = value;
|
||||
@ -12,4 +25,99 @@ public class Writer
|
||||
return mvarEndianness;
|
||||
}
|
||||
|
||||
public void writeByte(byte value) throws IOException
|
||||
{
|
||||
byte[] buffer = new byte[] { value };
|
||||
writeByteArray(buffer);
|
||||
}
|
||||
public void writeInt16(short value) throws IOException
|
||||
{
|
||||
byte[] _buffer = BitConverter.getBytes(value);
|
||||
byte[] buffer = new byte[2];
|
||||
if (getEndianness() == Endianness.BigEndian)
|
||||
{
|
||||
buffer[1] = _buffer[0];
|
||||
buffer[0] = _buffer[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
buffer[0] = _buffer[0];
|
||||
buffer[1] = _buffer[1];
|
||||
}
|
||||
writeByteArray(buffer);
|
||||
}
|
||||
public void writeInt32(int value) throws IOException
|
||||
{
|
||||
byte[] _buffer = BitConverter.getBytes(value);
|
||||
byte[] buffer = new byte[4];
|
||||
if (getEndianness() == 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];
|
||||
}
|
||||
writeByteArray(buffer);
|
||||
}
|
||||
public void writeInt64(long value) throws IOException
|
||||
{
|
||||
byte[] _buffer = BitConverter.getBytes(value);
|
||||
byte[] buffer = new byte[8];
|
||||
if (getEndianness() == Endianness.BigEndian)
|
||||
{
|
||||
buffer[7] = _buffer[0];
|
||||
buffer[6] = _buffer[1];
|
||||
buffer[5] = _buffer[2];
|
||||
buffer[4] = _buffer[3];
|
||||
buffer[3] = _buffer[4];
|
||||
buffer[2] = _buffer[5];
|
||||
buffer[1] = _buffer[6];
|
||||
buffer[0] = _buffer[7];
|
||||
}
|
||||
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];
|
||||
}
|
||||
writeByteArray(buffer);
|
||||
}
|
||||
public void writeSingle(float value) throws IOException
|
||||
{
|
||||
byte[] _buffer = BitConverter.getBytes(value);
|
||||
byte[] buffer = new byte[4];
|
||||
if (getEndianness() == 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];
|
||||
}
|
||||
writeByteArray(buffer);
|
||||
}
|
||||
|
||||
public void writeByteArray(byte[] value) throws IOException
|
||||
{
|
||||
_accessor.write(value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,9 +1,17 @@
|
||||
package net.alcetech.UniversalEditor.Core;
|
||||
|
||||
import net.alcetech.Core.NotImplementedException;
|
||||
import net.alcetech.Core.Collections.Generic.Dictionary;
|
||||
|
||||
public class ObjectModelReference
|
||||
{
|
||||
private static Dictionary<Class<?>, ObjectModelReference> _omrsByClass = new Dictionary<Class<?>, ObjectModelReference>();
|
||||
public static ObjectModelReference fromClass(Class<?> clazz)
|
||||
{
|
||||
if (_omrsByClass.containsKey(clazz)) return _omrsByClass.getValueByKey(clazz);
|
||||
return null;
|
||||
}
|
||||
|
||||
private String mvarTypeName = null;
|
||||
public ObjectModelReference(String typeName)
|
||||
{
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/net.alcetech.UniversalEditor.Core"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/net.alcetech.Core"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
@ -0,0 +1,18 @@
|
||||
package net.alcetech.UniversalEditor.DataFormats.Markup.XML;
|
||||
|
||||
import net.alcetech.UniversalEditor.Core.*;
|
||||
import net.alcetech.UniversalEditor.ObjectModels.Markup.*;
|
||||
|
||||
public class XMLDataFormat extends DataFormat
|
||||
{
|
||||
private static DataFormatReference _dfr = null;
|
||||
public DataFormatReference getDataFormatReference()
|
||||
{
|
||||
if (_dfr == null)
|
||||
{
|
||||
_dfr = super.getDataFormatReference();
|
||||
_dfr.getSupportedObjectModelCollection().add(ObjectModelReference.fromClass(MarkupObjectModel.class));
|
||||
}
|
||||
return _dfr;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package net.alcetech.UniversalEditor.ObjectModels.Markup.Elements;
|
||||
|
||||
import net.alcetech.UniversalEditor.ObjectModels.Markup.*;
|
||||
|
||||
public class MarkupTagElement extends MarkupElement
|
||||
{
|
||||
private String mvarName = "";
|
||||
public void setName(String value) { mvarName = value; }
|
||||
public String getName() { return mvarName; }
|
||||
|
||||
private String mvarNamespace = "";
|
||||
public void setNamespace(String value) { mvarNamespace = value; }
|
||||
public String getNamespace() { return mvarNamespace; }
|
||||
|
||||
public MarkupTagElement(String fullName)
|
||||
{
|
||||
this.setFullName(fullName);
|
||||
}
|
||||
public MarkupTagElement(String fullName, String value)
|
||||
{
|
||||
this.setFullName(fullName);
|
||||
this.setValue(value);
|
||||
}
|
||||
|
||||
public String getFullName()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (mvarNamespace != "")
|
||||
{
|
||||
sb.append(mvarNamespace);
|
||||
sb.append(':');
|
||||
}
|
||||
sb.append(mvarName);
|
||||
return sb.toString();
|
||||
}
|
||||
public void setFullName(String value)
|
||||
{
|
||||
String[] parts = value.split(":");
|
||||
if (parts.length > 1)
|
||||
{
|
||||
mvarNamespace = parts[0];
|
||||
mvarName = parts[1];
|
||||
}
|
||||
else if (parts.length > 0)
|
||||
{
|
||||
mvarNamespace = "";
|
||||
mvarName = parts[0];
|
||||
}
|
||||
}
|
||||
|
||||
private String mvarValue = "";
|
||||
public void setValue(String value) { mvarValue = value; mvarHasValue = true; }
|
||||
public String getValue() { return mvarValue; }
|
||||
|
||||
private boolean mvarHasValue = false;
|
||||
public boolean hasValue() { return mvarHasValue; }
|
||||
|
||||
public void clearValue()
|
||||
{
|
||||
mvarHasValue = false;
|
||||
mvarValue = "";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package net.alcetech.UniversalEditor.ObjectModels.Markup;
|
||||
|
||||
public abstract class MarkupElement
|
||||
{
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package net.alcetech.UniversalEditor.ObjectModels.Markup;
|
||||
|
||||
import net.alcetech.Core.Collections.ObjectModel.Collection;
|
||||
|
||||
public class MarkupElementCollection extends Collection<MarkupElement>
|
||||
{
|
||||
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package net.alcetech.UniversalEditor.ObjectModels.Markup;
|
||||
|
||||
import net.alcetech.Core.Collections.ObjectModel.*;
|
||||
|
||||
import net.alcetech.UniversalEditor.Core.*;
|
||||
import net.alcetech.UniversalEditor.ObjectModels.Markup.Elements.*;
|
||||
|
||||
public class MarkupObjectModel extends ObjectModel
|
||||
{
|
||||
private static ObjectModelReference _omr = null;
|
||||
public ObjectModelReference getObjectModelReference()
|
||||
{
|
||||
if (_omr == null)
|
||||
{
|
||||
_omr = super.getObjectModelReference();
|
||||
}
|
||||
return _omr;
|
||||
}
|
||||
|
||||
private MarkupElementCollection mvarElementCollection = new MarkupElementCollection();
|
||||
public MarkupElementCollection getElementCollection()
|
||||
{
|
||||
return mvarElementCollection;
|
||||
}
|
||||
|
||||
public ReadOnlyCollection<MarkupTagElement> getElements()
|
||||
{
|
||||
Collection<MarkupTagElement> list = new Collection<MarkupTagElement>();
|
||||
int count = mvarElementCollection.count();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
MarkupElement el = mvarElementCollection.getByIndex(i);
|
||||
if (MarkupTagElement.class.isInstance(el)) list.add((MarkupTagElement)el);
|
||||
}
|
||||
return list.toReadOnlyCollection();
|
||||
}
|
||||
|
||||
public ReadOnlyCollection<MarkupTagElement> getElementsByTagName(String tagName)
|
||||
{
|
||||
Collection<MarkupTagElement> list = new Collection<MarkupTagElement>();
|
||||
ReadOnlyCollection<MarkupTagElement> elems = getElements();
|
||||
for (int i = 0; i < elems.count(); i++)
|
||||
{
|
||||
if (elems.getByIndex(i).getFullName().equals(tagName)) list.add(elems.getByIndex(i));
|
||||
}
|
||||
return list.toReadOnlyCollection();
|
||||
}
|
||||
}
|
||||
@ -5,5 +5,6 @@
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/net.alcetech.Core"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/net.alcetech.UniversalEditor.Core"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/net.alcetech.UserInterface"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/net.alcetech.UniversalEditor.Plugins.Core"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
@ -1,26 +1,43 @@
|
||||
package net.alcetech.UniversalEditor;
|
||||
|
||||
import javax.swing.UIManager;
|
||||
import java.io.IOException;
|
||||
|
||||
import net.alcetech.Core.*;
|
||||
import net.alcetech.UniversalEditor.Windows.*;
|
||||
import net.alcetech.UserInterface.Theming.*;
|
||||
import net.alcetech.UniversalEditor.Core.Accessors.*;
|
||||
import net.alcetech.UniversalEditor.Core.IO.*;
|
||||
import net.alcetech.UniversalEditor.ObjectModels.Markup.*;
|
||||
import net.alcetech.UniversalEditor.ObjectModels.Markup.Elements.*;
|
||||
|
||||
public class Program
|
||||
{
|
||||
private static void setTheme(String className)
|
||||
{
|
||||
try
|
||||
{
|
||||
UIManager.setLookAndFeel(className);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.out.println("unable to initialize look and feel '" + className + "'");
|
||||
}
|
||||
}
|
||||
public static void main(String[] args)
|
||||
{
|
||||
setTheme(UIManager.getSystemLookAndFeelClassName());
|
||||
ThemeManager.Initialize();
|
||||
|
||||
FileAccessor fa = new FileAccessor("/var/tmp/test.xml");
|
||||
|
||||
/*
|
||||
Writer writer = new Writer(fa);
|
||||
try
|
||||
{
|
||||
fa.open();
|
||||
writer.setEndianness(Endianness.BigEndian);
|
||||
writer.writeSingle(3.141578f);
|
||||
|
||||
fa.close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
*/
|
||||
|
||||
MarkupObjectModel mom = new MarkupObjectModel();
|
||||
mom.getElementCollection().add(new MarkupTagElement("test", "honduras"));
|
||||
|
||||
MainWindow mw = new MainWindow();
|
||||
mw.setVisible(true);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user