diff --git a/Java/Configuration/Application.upl b/Java/Configuration/Application.upl new file mode 100644 index 00000000..1e09ee88 Binary files /dev/null and b/Java/Configuration/Application.upl differ diff --git a/Java/Configuration/Application.xml b/Java/Configuration/Application.xml new file mode 100644 index 00000000..fce61a2a --- /dev/null +++ b/Java/Configuration/Application.xml @@ -0,0 +1,14 @@ + + + + + + + + + C:\Temp\UETEST\uetest.farc + + + + + \ No newline at end of file diff --git a/Java/Configuration/CommandBars.xml b/Java/Configuration/CommandBars.xml new file mode 100644 index 00000000..8e2e7703 --- /dev/null +++ b/Java/Configuration/CommandBars.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Configuration/Commands.xml b/Java/Configuration/Commands.xml new file mode 100644 index 00000000..16ea1f17 --- /dev/null +++ b/Java/Configuration/Commands.xml @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Configuration/MainMenu.xml b/Java/Configuration/MainMenu.xml new file mode 100644 index 00000000..5275d841 --- /dev/null +++ b/Java/Configuration/MainMenu.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Configuration/ObjectModels.xml b/Java/Configuration/ObjectModels.xml new file mode 100644 index 00000000..2f96c0e7 --- /dev/null +++ b/Java/Configuration/ObjectModels.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/Java/Configuration/SplashScreen.upl b/Java/Configuration/SplashScreen.upl new file mode 100644 index 00000000..9d7f7552 Binary files /dev/null and b/Java/Configuration/SplashScreen.upl differ diff --git a/Java/Configuration/StartPage.xml b/Java/Configuration/StartPage.xml new file mode 100644 index 00000000..6aeb42df --- /dev/null +++ b/Java/Configuration/StartPage.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Java/net.alcetech.UniversalEditor/Themes/Default/Icons/16x16/MainIcon.png b/Java/Themes/Default/Icons/16x16/MainIcon.png similarity index 100% rename from Java/net.alcetech.UniversalEditor/Themes/Default/Icons/16x16/MainIcon.png rename to Java/Themes/Default/Icons/16x16/MainIcon.png diff --git a/Java/net.alcetech.UniversalEditor/Themes/Default/Icons/32x32/MainIcon.png b/Java/Themes/Default/Icons/32x32/MainIcon.png similarity index 100% rename from Java/net.alcetech.UniversalEditor/Themes/Default/Icons/32x32/MainIcon.png rename to Java/Themes/Default/Icons/32x32/MainIcon.png diff --git a/Java/net.alcetech.UniversalEditor/Themes/Default/Icons/scalable/MainIcon.ico b/Java/Themes/Default/Icons/scalable/MainIcon.ico similarity index 100% rename from Java/net.alcetech.UniversalEditor/Themes/Default/Icons/scalable/MainIcon.ico rename to Java/Themes/Default/Icons/scalable/MainIcon.ico diff --git a/Java/Themes/Default/Theme.xml b/Java/Themes/Default/Theme.xml new file mode 100644 index 00000000..d10bce4f --- /dev/null +++ b/Java/Themes/Default/Theme.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/Accessor.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/Accessor.java index 8164f613..f60752c4 100644 --- a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/Accessor.java +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/Accessor.java @@ -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); + } } diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/Accessors/FileAccessor.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/Accessors/FileAccessor.java new file mode 100644 index 00000000..ea0a77df --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/Accessors/FileAccessor.java @@ -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); + } +} diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/DataFormat.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/DataFormat.java new file mode 100644 index 00000000..c046fc50 --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/DataFormat.java @@ -0,0 +1,9 @@ +package net.alcetech.UniversalEditor.Core; + +public abstract class DataFormat +{ + public DataFormatReference getDataFormatReference() + { + return new DataFormatReference(this.getClass().getName()); + } +} diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/DataFormatReference.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/DataFormatReference.java new file mode 100644 index 00000000..688f2783 --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/DataFormatReference.java @@ -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 _supportedObjectModelCollection = new Collection(); + public Collection getSupportedObjectModelCollection() { return _supportedObjectModelCollection; } +} diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/BitConverter.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/BitConverter.java new file mode 100644 index 00000000..10c45a0e --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/BitConverter.java @@ -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) + }; + */ + } +} diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Reader.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Reader.java index 83913000..e9334412 100644 --- a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Reader.java +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Reader.java @@ -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; diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/SeekOrigin.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/SeekOrigin.java new file mode 100644 index 00000000..ad8c6aab --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/SeekOrigin.java @@ -0,0 +1,8 @@ +package net.alcetech.UniversalEditor.Core.IO; + +public enum SeekOrigin +{ + Begin, + Current, + End +} diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Writer.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Writer.java index 2ce2dc86..9c5f7cf5 100644 --- a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Writer.java +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/IO/Writer.java @@ -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); + } + } diff --git a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/ObjectModelReference.java b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/ObjectModelReference.java index 334a53cd..259346b6 100644 --- a/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/ObjectModelReference.java +++ b/Java/net.alcetech.UniversalEditor.Core/src/net/alcetech/UniversalEditor/Core/ObjectModelReference.java @@ -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, ObjectModelReference> _omrsByClass = new Dictionary, 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) { diff --git a/Java/net.alcetech.UniversalEditor.Plugins.Core/.classpath b/Java/net.alcetech.UniversalEditor.Plugins.Core/.classpath new file mode 100644 index 00000000..af8d7fa2 --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Plugins.Core/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/DataFormats/Markup/XML/XMLDataFormat.java b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/DataFormats/Markup/XML/XMLDataFormat.java new file mode 100644 index 00000000..e5b1bfbc --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/DataFormats/Markup/XML/XMLDataFormat.java @@ -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; + } +} diff --git a/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/Elements/MarkupTagElement.java b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/Elements/MarkupTagElement.java new file mode 100644 index 00000000..6feea9be --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/Elements/MarkupTagElement.java @@ -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 = ""; + } +} diff --git a/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupElement.java b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupElement.java new file mode 100644 index 00000000..642ea4c8 --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupElement.java @@ -0,0 +1,5 @@ +package net.alcetech.UniversalEditor.ObjectModels.Markup; + +public abstract class MarkupElement +{ +} diff --git a/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupElementCollection.java b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupElementCollection.java new file mode 100644 index 00000000..4476b5d6 --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupElementCollection.java @@ -0,0 +1,8 @@ +package net.alcetech.UniversalEditor.ObjectModels.Markup; + +import net.alcetech.Core.Collections.ObjectModel.Collection; + +public class MarkupElementCollection extends Collection +{ + +} diff --git a/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupObjectModel.java b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupObjectModel.java new file mode 100644 index 00000000..b784c580 --- /dev/null +++ b/Java/net.alcetech.UniversalEditor.Plugins.Core/src/net/alcetech/UniversalEditor/ObjectModels/Markup/MarkupObjectModel.java @@ -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 getElements() + { + Collection list = new Collection(); + 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 getElementsByTagName(String tagName) + { + Collection list = new Collection(); + ReadOnlyCollection 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(); + } +} diff --git a/Java/net.alcetech.UniversalEditor/.classpath b/Java/net.alcetech.UniversalEditor/.classpath index 8c3d4b01..f144c22b 100644 --- a/Java/net.alcetech.UniversalEditor/.classpath +++ b/Java/net.alcetech.UniversalEditor/.classpath @@ -5,5 +5,6 @@ + diff --git a/Java/net.alcetech.UniversalEditor/src/net/alcetech/UniversalEditor/Program.java b/Java/net.alcetech.UniversalEditor/src/net/alcetech/UniversalEditor/Program.java index aa4ebc93..0b2e9c2a 100644 --- a/Java/net.alcetech.UniversalEditor/src/net/alcetech/UniversalEditor/Program.java +++ b/Java/net.alcetech.UniversalEditor/src/net/alcetech/UniversalEditor/Program.java @@ -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); }