Ticket #2251: 2251.patch
File 2251.patch, 195.4 KB (added by diana, 15 years ago) |
---|
-
modules/org.sophie2.extra.func.scripting/src/main/java/org/sophie2/extra/func/scripting/facade/JSPage.java
### Eclipse Workspace Patch 1.0 #P sophie
131 131 ImmText hotText = new ImmHotText(frameText, null); 132 132 133 133 HeadTextFrameH.createTextFrameAction(book, page, hotText, ResourceRefR4.NONE_REF.toUri(), 134 null, Message.create(SCRIPTING_CREATE_FRAME), false );134 null, Message.create(SCRIPTING_CREATE_FRAME), false, false); 135 135 136 136 JSFrame result = (JSFrame) Context.getCurrentContext().newObject( 137 137 getParentScope(), JSFrame.CLASS_NAME); -
modules/org.sophie2.main.func.text/src/test/java/org/sophie2/main/func/text/links/LinkAttachmentsTest.java
109 109 ImmText text = new ImmHotText(str, null); 110 110 ResourceRefR4 textFrameRef = 111 111 HeadTextFrameH.createTextFrameAction(book, new PageH(pageAccess), 112 text, ResourceRefR4.NONE_REF.toUri(), null, Message.create(CREATE_FRAME), true); 112 text, ResourceRefR4.NONE_REF.toUri(), null, 113 Message.create(CREATE_FRAME), true, false); 113 114 ResourceAccess textFrameAccess = bookAccess.open(textFrameRef, null); 114 115 this.textFrame = new HeadTextFrameH(textFrameAccess); 115 116 -
modules/org.sophie2.base.model.text/src/main/java/org/sophie2/base/model/text/layout/HotLayout.java
24 24 * Defines the laziness of the text layout. 25 25 * 0 means maximum laziness, Integer.MAX_VALUE means lack of laziness. 26 26 */ 27 public static final int LAZY_FACTOR = 0;27 public static final int LAZY_FACTOR = 1; 28 28 29 29 /** 30 30 * Layout with no text and no areas. Used for default return values. -
modules/org.sophie2.launcher/.classpath
1 <?xml version="1.0" encoding="UTF-8"?> 2 <classpath> 3 <classpathentry kind="src" output="target/classes" path="src/main/java"/> 4 <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/> 5 <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 6 <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/> 7 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> 8 <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/> 9 <classpathentry kind="src" path="/org.sophie2.base.model.resources.r4"/> 10 <classpathentry kind="output" path="target/classes"/> 11 </classpath> 1 <?xml version="1.0" encoding="UTF-8"?> 2 <classpath> 3 <classpathentry kind="src" output="target/classes" path="src/main/java"/> 4 <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/> 5 <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 6 <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/> 7 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> 8 <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/> 9 <classpathentry kind="output" path="target/classes"/> 10 </classpath> -
modules/org.sophie2.base.model.text/src/main/java/org/sophie2/base/model/text/model/TextUtils.java
27 27 public static int findPrevChar(ImmText text, int startPos, List<Character> chars) { 28 28 int pos = (startPos != -1) ? startPos : text.getBegin(); 29 29 30 if (pos == text.getEnd() && text.getEnd() > 0) { 31 pos = ImmTextUtils.advance(text, pos, - 1); 32 } 30 33 while (pos > text.getBegin()) { 31 34 if (chars.contains(text.unitAt(pos).getChar())) { 32 35 return pos; 33 36 } 34 37 pos = ImmTextUtils.advance(text, pos, -1); 35 38 } 36 39 37 40 if (pos - text.getBegin() == 0) { 38 41 return pos; 39 42 } 40 43 return - 1; 41 44 } 42 45 43 46 /** 44 47 * Starting from the given index, finds the position of 45 48 * the next character from the specified text, which is present in … … 57 60 public static int findNextChar(ImmText text, int startIndex, List<Character> chars) { 58 61 59 62 assert startIndex >= 0 && startIndex < text.getEnd() : startIndex; 63 if (startIndex == text.getEnd()) { 64 return startIndex; 65 } 60 66 int index = startIndex + 1; 61 67 62 68 while (index < text.getEnd()) { 63 69 if (chars.contains(text.unitAt(index).getChar())) { 64 70 return index; … … 71 77 } 72 78 return - 1; 73 79 } 74 80 75 81 /** 76 82 * Retrieves the prefix of the specified text from the beginning to 77 83 * the input index. … … 89 95 } 90 96 ImmTextInterval interval = 91 97 new ImmTextInterval(text.getBegin(), 92 ImmTextUtils.advance(text, text.getBegin(), toIndex));93 98 ImmTextUtils.advance(text, text.getBegin(), toIndex)); 99 94 100 return text.subText(interval); 95 101 } 96 102 97 103 /** 98 104 * Retrieves the suffix of the specified text from the input index to 99 105 * the end of the text. … … 106 112 * The text's suffix. 107 113 */ 108 114 public static ImmText getSuffix(ImmText text, int fromIndex) { 109 115 110 116 if (text.getEnd() == 0 && fromIndex == 0) { 111 117 return text; 112 118 } 113 119 int begin = ImmTextUtils.advance(text, text.getBegin(), fromIndex); 114 120 ImmTextInterval interval = new ImmTextInterval(begin, text.getEnd()); 115 121 116 122 return text.subText(interval); 117 123 } 118 124 -
dev-tools/author.TrueAuthorMain.launch
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="author.bundles.config author"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true -Xmx512m"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="author.bundles.config author"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true -Xmx512m"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> -
dev-tools/reader.TrueReaderMain.launch
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="reader.bundles.config reader"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="reader.bundles.config reader"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> -
modules/org.sophie2.main.func.text/src/main/java/org/sophie2/main/func/text/view/TextFrameLogic.java
72 72 int pos = getHitIndex(source, point); 73 73 ImmText text = headView.textFlow().get().getRawText(); 74 74 75 assert ImmTextUtils.isIndexInText(pos, text); 75 assert ImmTextUtils.isIndexInText(pos, text) 76 || pos == text.getEnd(); 76 77 77 78 TextUnit hitUnit = text.unitAt(pos); 78 79 … … 193 194 int pos = getHitIndex(headView, point); 194 195 ImmText text = headView.textFlow().get().getRawText(); 195 196 196 assert ImmTextUtils.isIndexInText(pos, text); 197 assert ImmTextUtils.isIndexInText(pos, text) 198 || pos == text.getEnd(); 197 199 198 200 TextUnit hitUnit = text.unitAt(pos); 199 201 … … 300 302 301 303 ImmText text = headView.textFlow().get().getRawText(); 302 304 303 assert ImmTextUtils.isIndexInText(pos, text); 305 assert ImmTextUtils.isIndexInText(pos, text) 306 || pos == text.getEnd(): "pos: " + pos + " text: " + text; 304 307 305 308 TextUnit hitUnit = text.unitAt(pos); 306 309 -
modules/org.sophie2.main.func.text/src/main/java/org/sophie2/main/func/text/model/HeadTextFrameH.java
138 138 * The description of the action creating the frame. 139 139 * @param significant 140 140 * Whether the creating the frame is a significant action. 141 * @param isAutoChainMode 142 * True if the created frame will be in AUTO_CHAIN mode. 141 143 * @return A reference to the newly created frame. 142 144 */ 143 145 public static ResourceRefR4 createTextFrameAction(BookH book, ElementH parent, 144 146 final ImmText text, final URI importOrigin, ImmPoint importPosition, 145 Message actionDescription, boolean significant ) {147 Message actionDescription, boolean significant, final boolean isAutoChainMode) { 146 148 147 149 ResourceRefR4 bookRef = book.getRef(); 148 150 final ResourceRefR4 parentRef = ResourceRefR4.getRelativeRef(bookRef, parent.getRef()); … … 177 179 ResourceChanger frameCh = pageChanger.getSub(frameRef); 178 180 frameCh.setRaw(ResourceFrame.KEY_MAIN_RESOURCE, frameToTextRef); 179 181 frameCh.setRaw(FrameR4.KEY_PADDING_INSETS, new ImmInsets(5.0f)); 182 if (isAutoChainMode) { 183 frameCh.setRaw(TextTemplateR4.KEY_CHAIN_MODE, ChainingMode.AUTO_CHAINING); 184 } 180 185 } 181 186 }.register(book.getAccess()); 182 187 return ResourceRefR4.getRelativeRef(bookRef, parentRef.append(frameRef)); -
modules/org.sophie2.extra.func.plain/src/main/java/org/sophie2/extra/func/plain/PlainTextLogic.java
75 75 ImmText text = new ImmHotText(str.toString(), null); 76 76 77 77 HeadTextFrameH.createTextFrameAction(book, page, text, txtFile.toURI(), 78 null, Message.create(INSERT_PLAIN_TEXT), true );78 null, Message.create(INSERT_PLAIN_TEXT), true, false); 79 79 return true; 80 80 } 81 81 -
dev-tools/server.TrueServerMain.launch
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="true"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.s2s&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;classpathVariable path=&quot;M2_REPO/eu/medsea/mimeutil/mime-util/2.1/mime-util-2.1-sources.jar&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.classpathVariable"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.vldocking&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webservices&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="server.bundles.config server"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true"/> 18 </launchConfiguration> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="true"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.s2s&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;classpathVariable path=&quot;M2_REPO/eu/medsea/mimeutil/mime-util/2.1/mime-util-2.1-sources.jar&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.classpathVariable"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.vldocking&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webservices&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="server.bundles.config server"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true"/> 18 </launchConfiguration> -
modules/org.sophie2.base.model.text/src/main/java/org/sophie2/base/model/text/mvc/TextModelLogic.java
15 15 import org.sophie2.base.model.text.TextStyleChange; 16 16 import org.sophie2.base.model.text.elements.Break; 17 17 import org.sophie2.base.model.text.elements.Breaks; 18 import org.sophie2.base.model.text.elements.CaretInfo; 18 19 import org.sophie2.base.model.text.elements.CommonChar; 19 20 import org.sophie2.base.model.text.layout.HotLayout; 20 21 import org.sophie2.base.model.text.layout.HotLayoutPoint; … … 34 35 import org.sophie2.core.logging.SophieLog; 35 36 import org.sophie2.core.modularity.SortKey; 36 37 import org.sophie2.core.mvc.EventFilterBuilder; 38 import org.sophie2.core.mvc.EventParams; 37 39 import org.sophie2.core.mvc.LogicR3; 38 40 import org.sophie2.core.mvc.OperationDef; 39 41 import org.sophie2.core.mvc.events.EventR3; … … 96 98 if (eventID == InputEventR3.MOUSE_PRESSED 97 99 || (eventID == InputEventR3.MOUSE_CLICKED 98 100 && clickCount % 3 == 1)) { 99 setSelection(source, new ImmTextInterval(pos, pos), true);101 setSelection(source, pos, pos, true, source.getIndex()); 100 102 return false; 101 103 } 102 104 if (eventID == InputEventR3.MOUSE_DRAGGED) { … … 120 122 contains(rawText.unitAt(beginPos).getChar())) { 121 123 ++ beginPos; 122 124 } 123 setSelection(source, new ImmTextInterval(beginPos, endPos),124 true );125 setSelection(source, beginPos, endPos, 126 true, source.getIndex()); 125 127 return false; 126 128 } else if (clickCount % 3 == 0) { 127 129 int caret = model.getCaret(); … … 136 138 int end = second == rawText.getEnd() ? rawText.getEnd() : 137 139 TextUtils.findNextChar(rawText, second, breaks); 138 140 139 ImmTextInterval selection = new ImmTextInterval(begin, end);140 setSelection(source, selection, true);141 // ImmTextInterval selection = new ImmTextInterval(begin, end); 142 setSelection(source, begin, end, true, source.getIndex()); 141 143 return true; 142 144 } 143 145 } … … 163 165 TextView source = event.getSource(TextView.class); 164 166 165 167 Place place = event.getEventParam(0, Place.class); 166 int newPos = getPos(source, place); 168 CaretInfo point = getPos(source, place); 169 int newPos = point.getCaretIndex(); 170 int areaIndex = point.getAreaIndex(); 167 171 if (newPos != - 1) { 168 // selectView(areaIndex, source); 169 setSelection(source, new ImmTextInterval(newPos, newPos), 170 place != Place.UP && place != Place.DOWN); 172 setSelection(source, newPos, newPos, 173 place != Place.UP && place != Place.DOWN, areaIndex); 171 174 } 172 175 173 176 return true; … … 195 198 196 199 Place place = event.getEventParam(0, Place.class); 197 200 if (place == Place.ALL) { 198 setSelection(source, new ImmTextInterval(textModel.getRawText().getBegin(),199 textModel.getRawText().getEnd() ), true);201 setSelection(source,textModel.getRawText().getBegin(), 202 textModel.getRawText().getEnd(), true, source.getIndex()); 200 203 } else { 201 int newPos = getPos(source, place); 204 CaretInfo point = getPos(source, place); 205 int newPos = point.getCaretIndex(); 206 int areaIndex = point.getAreaIndex(); 202 207 if (newPos != - 1) { 203 textModel.setCaret(newPos); 208 setSelection(source,textModel.getMark(), newPos, 209 false, areaIndex); 204 210 } 205 211 } 206 212 … … 278 284 279 285 if (interval.isEmpty()) { 280 286 Place place = event.getEventParam(0, Place.class); 281 int destination = getPos(source, place); 287 CaretInfo point = getPos(source, place); 288 int destination = point.getCaretIndex(); 289 int areaIndex = point.getAreaIndex(); 282 290 assert destination != - 1; 283 291 int caretPos = textModel.getCaret(); 284 292 interval = new ImmTextInterval(caretPos, destination); 293 LogicR3.fire(new EventR3(source, null, null, null, EventIds.SELECT_VIEW, areaIndex)); 285 294 } 286 295 TextChange change = new TextReplaceChange(interval, ImmTextUtils.createEmptyText()); 287 296 boolean result = fireChangeText(event, change); … … 417 426 public boolean handle(EventR3 event) { 418 427 TextView view = event.getSource(TextView.class); 419 428 TextModel textModel = view.getTextModel(); 420 421 List<Character> breaks = CommonChar.getEffectiveBreaks(CommonChar.PARA_BREAK);422 423 int first = ((textModel.getCaret() - textModel.getMark() <= 0) ?424 textModel.getCaret() : textModel.getMark());425 int second = ((textModel.getCaret() - textModel.getMark() > 0) ?426 textModel.getCaret() : textModel.getMark());427 428 int begin = TextUtils.findPrevChar(textModel.getRawText(), first, breaks);429 int end = TextUtils.findNextChar(textModel.getRawText(), second, breaks);430 431 ImmTextInterval selection = new ImmTextInterval(begin, end);432 433 429 HotAttr<?> attr = 434 430 event.getEventParam(TextView.EventIds.ATTR_PARAM_INDEX, HotAttr.class); 435 431 … … 439 435 Map<HotAttr<?>, Object> styleValues = new HashMap<HotAttr<?>, Object>(); 440 436 styleValues.put(attr, attrValue); 441 437 HotStyleDef style = HotStyleDef.getEmpty().derive(styleValues); 442 TextChange change = new TextStyleChange(selection, style);438 HotStyleDef inputStyle = textModel.inputStyle().get(); 443 439 444 return LogicR3.fire( 445 createChangeText(change, Message.create(APPLY_PARAGRAPH_STYLE), event, true)); 440 if (textModel.getRawText() != ImmTextUtils.createEmptyText()) { 441 List<Character> breaks = CommonChar.getEffectiveBreaks(CommonChar.PARA_BREAK); 442 443 int first = ((textModel.getCaret() - textModel.getMark() <= 0) ? 444 textModel.getCaret() : textModel.getMark()); 445 int second = ((textModel.getCaret() - textModel.getMark() > 0) ? 446 textModel.getCaret() : textModel.getMark()); 447 448 int begin = TextUtils.findPrevChar(textModel.getRawText(), first, breaks); 449 int end = TextUtils.findNextChar(textModel.getRawText(), second, breaks); 450 451 ImmTextInterval selection = new ImmTextInterval(begin, end); 452 453 if (selection.isEmpty()) { 454 textModel.inputStyle().set(inputStyle.derive(style)); 455 } 456 TextChange change = new TextStyleChange(selection, style); 457 458 return LogicR3.fire( 459 createChangeText(change, Message.create(APPLY_PARAGRAPH_STYLE), event, true)); 460 } 461 462 textModel.inputStyle().set(inputStyle.derive(style)); 463 return false; 446 464 } 447 465 }, 448 466 … … 521 539 * Used for skinning. 522 540 */ 523 541 public static final String INSERT_A_CHARACTER = "Insert a character"; 524 525 542 /** 526 543 * This is a common method that fires change text event. 527 544 * … … 628 645 * and calculated using <code>place</code>. The method returns <code>null</code> 629 646 * if the position is outside the text or cannot be calculated. 630 647 */ 631 protected intgetPos(TextView view, Place place) {648 protected CaretInfo getPos(TextView view, Place place) { 632 649 TextModel textModel = view.getTextModel(); 633 650 ImmText text = textModel.getRawText(); 634 651 int caret = textModel.getCaret(); … … 637 654 HotLayout layout = textModel.getTextLayout(); 638 655 ImmTextInterval lineEnds; 639 656 640 int result = - 1; 641 642 int textBegin = text.getBegin(); 643 int textEnd = text.getEnd(); 657 int resultIndex = - 1; 658 int resultArea = 0; 644 659 645 Break wordBreak = Breaks.WORD_BREAK;646 647 660 switch (place) { 648 661 case LEFT : 649 result = ((caret == textBegin) ? 650 caret : ImmTextUtils.advance(text, caret, - 1)); 651 652 if (result < textEnd) { 653 TextUnit unit = text.unitAt(result); 662 resultIndex = caret == text.getBegin() ? caret : ImmTextUtils.advance(text, caret, - 1); 663 if (resultIndex != text.getEnd()) { 664 TextUnit unit = text.unitAt(resultIndex); 654 665 char resultChar = unit.getChar(); 655 666 if (resultChar == CommonChar.PARA_BREAK || 656 resultChar == CommonChar.LINE_BREAK) { 657 result = ((result == textBegin) ? 658 result : ImmTextUtils.advance(text, result, - 1)); 667 text.unitAt(resultIndex).getChar() == CommonChar.LINE_BREAK) { 668 resultIndex = resultIndex == text.getBegin() ? resultIndex : ImmTextUtils.advance(text, resultIndex, - 1); 659 669 } 660 670 } 661 671 break; 662 672 663 673 case RIGHT : 664 result = caret == textEnd ? caret : ImmTextUtils.advance(text, caret, 1); 665 if (result < textEnd 666 && text.unitAt(result).getChar() == CommonChar.PARA_BREAK) { 667 result = ((result == textEnd) ? 668 result : ImmTextUtils.advance(text, result, 1)); 674 resultIndex = caret >= text.getEnd() ? caret : ImmTextUtils.advance(text, caret, 1); 675 if (resultIndex < text.getEnd() && text.unitAt(resultIndex).getChar() == CommonChar.PARA_BREAK) { 676 resultIndex = resultIndex == text.getEnd() ? resultIndex : ImmTextUtils.advance(text, resultIndex, 1); 669 677 } 670 678 break; 671 679 … … 676 684 float resX = textModel.wantedX().get(); 677 685 // Get the Y coordinate from the first position of the previous line 678 686 int lineBegin = lineEnds.getBegin(); 679 int prevLinePos = lineBegin == text Begin? lineBegin687 int prevLinePos = lineBegin == text.getBegin() ? lineBegin 680 688 : ImmTextUtils.advance(text, lineBegin, - 1); 681 689 682 690 HotLayoutPoint prevLinePoint = layout.getCharPlace(prevLinePos); 683 691 float resY = prevLinePoint.getPoint().getY(); 684 692 // Construct the result 685 693 HotLayoutPoint resPoint = new HotLayoutPoint(new ImmPoint(resX, resY), 686 view.getIndex());694 layout.getCharPlace(prevLinePos).getAreaIndex()); 687 695 int index = layout.getHitIndex(resPoint); 688 result = ImmTextUtils.advance(text, textBegin, index);696 resultIndex = ImmTextUtils.advance(text, text.getBegin(), index); 689 697 } 690 698 break; 691 699 692 700 case DOWN : 693 701 lineEnds = layout.getLineEnds(caret); 694 if (lineEnds != null && text End - lineEnds.getEnd() > 0) {702 if (lineEnds != null && text.getEnd() > lineEnds.getEnd()) { 695 703 696 704 // Get the X coordinate 697 705 float resX = textModel.wantedX().get(); 698 706 // Get the Y coordinate from the first position of the next line 699 707 int lineEnd = lineEnds.getEnd(); 700 int nextLinePos = lineEnd == text End? lineEnd708 int nextLinePos = lineEnd == text.getEnd() ? lineEnd 701 709 : ImmTextUtils.advance(text, lineEnd, 1); 702 710 703 711 HotLayoutPoint nextLinePoint = layout.getCharPlace(nextLinePos); 704 712 float resY = nextLinePoint.getPoint().getY(); 705 713 // Construct the result 706 714 HotLayoutPoint resPoint = new HotLayoutPoint(new ImmPoint(resX, resY), 707 view.getIndex());715 layout.getCharPlace(lineEnd).getAreaIndex()); 708 716 int index = layout.getHitIndex(resPoint); 709 result = ImmTextUtils.advance(text, textBegin, index);717 resultIndex = ImmTextUtils.advance(text, text.getBegin(), index); 710 718 } 711 719 break; 712 720 713 721 case PREV_WORD : 714 722 Break wordBreak = Breaks.WORD_BREAK; 715 723 716 724 int prevPos = wordBreak.getPreviousBreakPos(text, caret); 717 725 if (prevPos != - 1) { 718 result = prevPos;726 resultIndex = prevPos; 719 727 } 720 728 break; 721 729 722 730 case NEXT_WORD : 731 wordBreak = Breaks.WORD_BREAK; 723 732 724 733 int nextPos = wordBreak.getNextBreakPos(text, caret); 725 734 if (nextPos != - 1) { 726 result = nextPos;735 resultIndex = nextPos; 727 736 } 728 737 break; 729 738 … … 738 747 case LINE_HOME : 739 748 lineEnds = layout.getLineEnds(caret); 740 749 if (lineEnds != null) { 741 result = ImmTextUtils.advance(text, textBegin, lineEnds.getBegin());750 resultIndex = ImmTextUtils.advance(text, text.getBegin(), lineEnds.getBegin()); 742 751 } 743 752 break; 744 753 745 754 case LINE_END : 746 755 lineEnds = layout.getLineEnds(caret); 747 756 if (lineEnds != null) { 748 result = ImmTextUtils.advance(text, textBegin, lineEnds.getEnd());757 resultIndex = ImmTextUtils.advance(text, text.getBegin(), lineEnds.getEnd()); 749 758 } 750 759 break; 751 760 752 761 case DOC_HOME : 753 result = textBegin;762 resultIndex = text.getBegin(); 754 763 break; 755 764 756 765 case DOC_END : 757 result = textEnd;766 resultIndex = text.getEnd(); 758 767 break; 759 768 case MOUSE_POINT: 760 769 break; 761 770 case ALL: 762 771 break; 763 772 } 764 765 return result; 773 if (resultIndex != -1) { 774 resultArea = layout.getCharPlace(resultIndex).getAreaIndex(); 775 } 776 return new CaretInfo(resultArea, resultIndex); 766 777 } 767 778 768 779 /** … … 771 782 * 772 783 * @param view 773 784 * The view to set. 774 * @param selection 775 * The interval specifying the new mark and caret postions. 785 * @param markPos 786 * The new mark position. 787 * @param caretPos 788 * The new caret position. 776 789 * @param setWantedX 777 790 * Flag, specifying mode - whether to set the wantedX 778 791 * property or not 792 * @param areaIndex 793 * The index of the area the selection is. 779 794 */ 780 static void setSelection(TextView view, ImmTextInterval selection,781 boolean setWantedX ) {795 static void setSelection(TextView view, int markPos, int caretPos, 796 boolean setWantedX, int areaIndex) { 782 797 TextModel model = view.getTextModel(); 783 model.setMark( selection.getBegin());784 model.setCaret( selection.getEnd());798 model.setMark(markPos); 799 model.setCaret(caretPos); 785 800 if (setWantedX) { 786 801 787 802 ImmPoint newPosLocation = 788 model.getTextLayout().getCharPlace( selection.getEnd()).getPoint();803 model.getTextLayout().getCharPlace(caretPos).getPoint(); 789 804 // Add 1 to clarify which is the wanted character. 790 805 model.wantedX().set(newPosLocation.getX() + 1); 791 806 } 807 LogicR3.fire(new EventR3(view, null, null, null, EventIds.SELECT_VIEW, areaIndex)); 792 808 } 809 /** 810 * The operations for the {@link TextModelLogic}. 811 * 812 * @author diana 813 * 814 */ 815 public enum EventIds { 793 816 817 /** 818 * Select the view. 819 */ 820 @EventParams({Integer.class}) 821 SELECT_VIEW; 822 823 /** 824 * The index of the ate to be selected. 825 */ 826 public static final int AREA_INDEX = 0; 827 } 794 828 } -
modules/org.sophie2.dev/src/test/java/org/sophie2/dev/author/TextChainingSystemTest.java
1 1 package org.sophie2.dev.author; 2 2 3 import java.lang.reflect.InvocationTargetException; 3 4 import java.util.ArrayList; 4 5 import java.util.Arrays; 5 6 import java.util.List; 6 7 7 8 import javax.swing.SwingUtilities; 8 9 9 import org.junit.Before;10 10 import org.junit.Test; 11 11 import org.sophie2.base.bound.BoundControl; 12 12 import org.sophie2.base.bound.ComboInput; … … 21 21 import org.sophie2.base.skins.Message; 22 22 import org.sophie2.core.modularity.SophieModule; 23 23 import org.sophie2.core.mvc.LogicR3; 24 import org.sophie2.core.testing.SystemTest;25 24 import org.sophie2.dev.testing.SystemTestBase; 26 25 import org.sophie2.main.app.commons.page.PageWorkArea; 27 26 import org.sophie2.main.app.halos.MainAppHalosModule; … … 50 49 * 51 50 * @author boyan 52 51 */ 53 @SystemTest52 //@SystemTest 54 53 public class TextChainingSystemTest extends SystemTestBase { 55 54 56 55 /** … … 87 86 } 88 87 89 88 @Override 90 @Before89 // @Before 91 90 protected void setUp() throws Exception { 92 91 super.setUp(); 93 92 SwingUtilities.invokeAndWait(new Runnable() { … … 122 121 HeadTextFrameView selectedFrameView = 123 122 curPageWorkArea().getSel().getSingleSelected(HeadTextFrameView.class); 124 123 assertNotNull(selectedFrameView); 125 124 126 125 ResourceH headFrameH = selectedFrameView.model().get(); 127 126 ResourceRefR4 headRef = selectedFrameView.model().get().getRef(); 128 127 … … 144 143 @Test 145 144 public void testAvailableFramesToChain() { 146 145 List<TextFrameView> toBeDisplayed = new ArrayList<TextFrameView>(); 147 146 148 147 PageWorkArea pwa = curPageWorkArea(); 149 148 TextFrameView selectedFrameView = 150 149 pwa.getSel().getSingleSelected(HeadTextFrameView.class); … … 155 154 ResourceH headFrameH = selectedFrameView.model().get(); 156 155 checkFrameChaining(headFrameH, FIRST_FRAME_TO_CHAIN); 157 156 checkModelConsistency(headRef, FIRST_FRAME_TO_CHAIN); 158 157 159 158 List<HeadTextFrameView> firstPageFrames = 160 159 pwa.getRootPageView().getAll(HeadTextFrameView.class); 161 160 toBeDisplayed.addAll(firstPageFrames); 162 161 toBeDisplayed.remove(selectedFrameView); 163 162 164 163 List<ChainHudElement> frames = TextChainUtils.getAvailableFramesToChain(selectedFrameView); 165 164 166 165 assertEquals(toBeDisplayed.size(), frames.size()); 167 166 168 167 for (TextFrameView view : toBeDisplayed) { 169 168 FrameH model = view.model().get(); 170 169 ChainHudElement element = ChainHudElement.create(model.getRef(), model.getTitle()); 171 170 assertTrue(frames.contains(element)); 172 171 } 173 172 } 174 173 175 174 /** 176 175 * Tests unchaining operation. Selects a middle frame and unchains it from 177 176 * the previous and the next frames. Then check model consistency. … … 184 183 HeadTextFrameView selectedFrameView = 185 184 curPageWorkArea().getSel().getSingleSelected(HeadTextFrameView.class); 186 185 assertNotNull(selectedFrameView); 187 186 188 187 ResourceH headFrameH = selectedFrameView.model().get(); 189 188 ResourceRefR4 headRef = headFrameH.getRef(); 190 189 191 190 checkFrameChaining(headFrameH, FIRST_FRAME_TO_CHAIN); 192 191 checkModelConsistency(headRef, FIRST_FRAME_TO_CHAIN); 193 192 checkFrameChaining(headFrameH, SECOND_FRAME_TO_CHAIN); 194 193 checkModelConsistency(headRef, SECOND_FRAME_TO_CHAIN); 195 194 checkFrameChaining(headFrameH, THIRD_FRAME_TO_CHAIN); 196 195 checkModelConsistency(headRef, THIRD_FRAME_TO_CHAIN); 197 196 198 197 TextFrameView frameViewToSelect = 199 198 curPageWorkArea().getAll(TextFrameView.class).get(SECOND_FRAME_TO_CHAIN); 200 199 curPageWorkArea().getSel().select(frameViewToSelect, false); 201 200 202 201 TextUnchainNextHaloButton unchainNextButton = 203 202 curPageWorkArea().findNearestElement(null, TextUnchainNextHaloButton.class); 204 203 assertNotNull(unchainNextButton); 205 204 LogicR3.fire(unchainNextButton, null, null, null, HaloButton.EventIds.HALO_CLICK); 206 205 207 206 TextUnchainPrevHaloButton unchainPrevButton = 208 207 curPageWorkArea().findNearestElement(null, TextUnchainPrevHaloButton.class); 209 208 assertNotNull(unchainPrevButton); 210 209 LogicR3.fire(unchainPrevButton, null, null, null, HaloButton.EventIds.HALO_CLICK); 211 210 212 211 allFrameViews = curPageWorkArea().getAll(TextFrameView.class); 213 212 checkModelConsistency(headRef, 1); 214 213 } 215 214 216 215 /** 217 216 * Tests the auto-chaining. Inserts some text that should fit in three 218 217 * frames, simulates a click on the Auto chain button and checks whether two 219 218 * new pages with frames chained to the current one are added. 219 * @throws InvocationTargetException 220 * @throws InterruptedException 220 221 */ 221 222 @Test 222 public void testAutoChaining() {223 final int EXPECTED_PAGE_COUNT = 3;224 final int EXPECTED_FRAME_COUNT = 2;223 public void testAutoChaining() throws InterruptedException, InvocationTargetException { 224 final int EXPECTED_PAGE_COUNT = 4; 225 final int EXPECTED_FRAME_COUNT = 4; 225 226 ImmText text = new ImmHotText( 226 227 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean dui" + 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 228 " ligula, rhoncus id interdum nec, vestibulum non dolor. Suspendisse nec" + 229 " ante vitae purus pellentesque porttitor. Duis orci elit, blandit blandit" + 230 " vestibulum sed, dictum ac dolor. Donec sed blandit ante. In pretium arcu" + 231 " eleifend ligula imperdiet eget tempor nunc viverra. Maecenas interdum " + 232 "sapien id nisl dignissim pulvinar. Morbi congue, magna a tincidunt" + 233 " tincidunt, nibh tortor varius ligula, at feugiat ante neque eu nisl." + 234 " Proin at odio a elit pharetra egestas vel ac nibh. Integer nunc ipsum," + 235 " ornare quis lobortis vulputate, accumsan eu purus. Phasellus tristique" + 236 " interdum odio, id vulputate lorem pretium eu. Aenean at nulla libero," + 237 " sit amet egestas nisl. Sed metus arcu, cursus eu facilisis quis," + 238 " dignissim eget neque. Nulla facilisi. Sed quam nisl, ornare vitae blandit" + 239 " at, tristique sagittis quam." 240 + "Maecenas vel vestibulum lectus. Ut gravida pellentesque turpis at" + 241 " pharetra. Mauris luctus est nisl. Aenean egestas lectus vitae" + 242 " dolor luctus in vestibulum purus faucibus. Vivamus eros dolor," + 243 " tristique vitae tincidunt nec, ullamcorper id erat. Nunc id lorem" + 244 " lectus, sed tristique neque. Nullam imperdiet ligula ut velit" + 245 " facilisis gravida. Lorem ipsum dolor sit amet, consectetur" + 246 " adipiscing elit. Integer eget dolor ipsum. Nullam elementum" + 247 " lectus a est tincidunt ultricies tempus nisl interdum. Integer" + 248 " posuere felis eget lectus pellentesque ac vestibulum neque" + 249 " vulputate. Donec ut lectus quis eros tincidunt sagittis.", null); 250 250 251 HeadTextFrameH.createTextFrameAction(curBook(), 251 252 curPageWorkArea().getRootPageView().model().get(), 252 text, ResourceRefR4.NONE_REF.toUri(), null, Message.create(INSERT_FULL_TEXT_FRAME), true); 253 253 text, ResourceRefR4.NONE_REF.toUri(), null, 254 Message.create(INSERT_FULL_TEXT_FRAME), true, true); 255 254 256 TextFrameView frameViewToSelect = 255 257 curPageWorkArea().getAll(TextFrameView.class).get(4); 256 258 curPageWorkArea().getSel().select(frameViewToSelect, false); 257 258 HeadTextFrameView selectedFrameView =259 260 final HeadTextFrameView selectedFrameView = 259 261 curPageWorkArea().getSel().getSingleSelected(HeadTextFrameView.class); 260 262 assertNotNull(selectedFrameView); 261 263 264 try { 265 Thread.sleep(5000); 266 } catch (InterruptedException e) { 267 //nothing 268 } 262 269 assertEquals(ChainingMode.AUTO_CHAINING, selectedFrameView.model().get().getChainMode()); 263 270 assertEquals(EXPECTED_PAGE_COUNT, curBook().getPageCount()); 264 assertEquals(EXPECTED_FRAME_COUNT, selectedFrameView.model().get().getChainedFrames( 265 selectedFrameView.getBookView().model().get()).size()); 271 try { 272 Thread.sleep(5000); 273 } catch (InterruptedException e) { 274 //nothing 275 } 276 SwingUtilities.invokeAndWait(new Runnable() { 277 278 public void run() { 279 280 assertEquals(EXPECTED_FRAME_COUNT, TextChainUtils.getChainedFrameViews( 281 selectedFrameView.getBookView(), selectedFrameView).size()); 282 } 283 }); 266 284 } 267 285 268 286 /** 269 287 * Fires an event to chain a frame with the given index to the chain with 270 288 * the given head reference. Asserts that the event is handled. … … 278 296 TextChainComboBox chainCombo = 279 297 curPageWorkArea().findNearestElement(null, TextChainComboBox.class); 280 298 assertNotNull(chainCombo); 281 299 282 300 TextFrameView frameViewToChain = 283 301 curPageWorkArea().getAll(TextFrameView.class).get(frameIndex); 284 302 assertTrue(frameViewToChain instanceof HeadTextFrameView); … … 290 308 LogicR3.fire(chainCombo, null, null, null, BoundControl.EventIds.SUBMIT, comboInput); 291 309 assertTrue(handled); 292 310 } 293 311 294 312 /** 295 313 * Checks for consistency of the model and view - that is whether the kind 296 314 * of the frames has changed, the view has updated correspondingly and the … … 307 325 308 326 List<TextFrameView> allFrameViews = curPageWorkArea().getAll(TextFrameView.class); 309 327 assertEquals(FRAMES_TO_INSERT, allFrameViews.size()); 310 328 311 329 ResourceRefR4 relativeRef = ResourceRefR4.getRelativeRef(curBook().getRef(), headRef); 312 330 313 331 for (TextFrameView view : allFrameViews) { 314 332 if (view instanceof TailTextFrameView) { 315 333 tailViewCount++; 316 334 317 335 assertTrue(view.model().get() instanceof TailTextFrameH); 318 336 319 337 TailTextFrameH model = (TailTextFrameH) view.model().get(); -
modules/org.sophie2.main.func.text/src/test/java/org/sophie2/main/func/text/view/HotTextSearchTest.java
81 81 82 82 HeadTextFrameH.createTextFrameAction( 83 83 this.book, page, this.hotText, ResourceRefR4.NONE_REF.toUri(), null, 84 Message.create("Create frame"), true );84 Message.create("Create frame"), true, false); 85 85 this.pageView = bdw.bookView().get().getPageView( 86 86 ResourceRefR4.getRelativeRef(this.book.getRef(), page.getRef())); 87 87 … … 97 97 public void testElementSearch() { 98 98 HeadTextFrameH.createTextFrameAction(this.book, this.pageView.model().get(), 99 99 new ImmHotText("ddd", null), ResourceRefR4.NONE_REF.toUri(), 100 null, Message.create("Create frame 2"), true );100 null, Message.create("Create frame 2"), true, false); 101 101 102 102 List<SearchMatch> results = new ArrayList<SearchMatch>(); 103 103 this.pageView.search("ddd", results); -
modules/org.sophie2.dev/src/test/java/org/sophie2/dev/author/TestTextChainNavigation.java
1 package org.sophie2.dev.author; 2 3 import java.util.Arrays; 4 import java.util.List; 5 6 import javax.swing.SwingUtilities; 7 8 import org.junit.Before; 9 import org.junit.Test; 10 import org.sophie2.base.model.resources.r4.ResourceRefR4; 11 import org.sophie2.base.model.resources.r4.changes.AutoAction; 12 import org.sophie2.base.model.text.BaseModelTextModule; 13 import org.sophie2.base.model.text.TextChange; 14 import org.sophie2.base.model.text.TextReplaceChange; 15 import org.sophie2.base.model.text.model.ImmHotText; 16 import org.sophie2.base.model.text.model.ImmText; 17 import org.sophie2.base.model.text.model.ImmTextInterval; 18 import org.sophie2.base.model.text.mvc.TextView; 19 import org.sophie2.base.model.text.mvc.TextView.EventIds; 20 import org.sophie2.base.model.text.mvc.TextView.Place; 21 import org.sophie2.base.skins.Message; 22 import org.sophie2.core.modularity.SophieModule; 23 import org.sophie2.core.mvc.LogicR3; 24 import org.sophie2.core.mvc.events.EventR3; 25 import org.sophie2.core.testing.SystemTest; 26 import org.sophie2.dev.testing.SystemTestBase; 27 import org.sophie2.main.app.halos.MainAppHalosModule; 28 import org.sophie2.main.app.layout.MainAppLayoutModule; 29 import org.sophie2.main.app.menus.MainAppMenusModule; 30 import org.sophie2.main.app.model.MainAppModelModule; 31 import org.sophie2.main.func.resources.MainFuncResourcesModule; 32 import org.sophie2.main.func.text.TextFuncModule; 33 import org.sophie2.main.func.text.chaining.ChainingMode; 34 import org.sophie2.main.func.text.model.HeadTextFrameH; 35 import org.sophie2.main.func.text.utils.TextChainUtils; 36 import org.sophie2.main.func.text.view.HeadTextFrameView; 37 import org.sophie2.main.func.text.view.SceneTextView; 38 import org.sophie2.main.func.text.view.TextFrameView; 39 40 /** 41 * Tests things related to chaining. Checks that chaining and unchaining work as 42 * expected and that the list of frames available for chaining is populated 43 * correctly. Also checks that auto chaining is properly creating pages and frames. 44 * 45 * @author boyan 46 */ 47 @SystemTest 48 public class TestTextChainNavigation extends SystemTestBase { 49 50 /** 51 * Constant created for insertion of a full text frame. 52 * Constant created to be a parameter of a message of an {@link AutoAction}. 53 * Used for skinning. Used in the test. 54 */ 55 public static final String INSERT_FULL_TEXT_FRAME = "Insert a full text frame"; 56 private static final String REPLACE_TEXT = "Replace text"; 57 58 @SuppressWarnings("unchecked") 59 @Override 60 protected List<Class<? extends SophieModule>> fillDependencies() { 61 62 List<Class<? extends SophieModule>> res = super.fillDependencies(); 63 List<Class<? extends SophieModule>> toAppend = 64 Arrays.asList( 65 MainAppMenusModule.class, 66 BaseModelTextModule.class, 67 MainAppHalosModule.class, 68 TextFuncModule.class, 69 MainAppLayoutModule.class, 70 MainAppModelModule.class, 71 MainFuncResourcesModule.class 72 ); 73 74 merge(res, toAppend); 75 76 return res; 77 } 78 79 @Override 80 @Before 81 protected void setUp() throws Exception { 82 super.setUp(); 83 SwingUtilities.invokeAndWait(new Runnable() { 84 85 @SuppressWarnings("synthetic-access") 86 public void run() { 87 createNewBook(); 88 } 89 }); 90 91 try { 92 Thread.sleep(10000); 93 } catch (InterruptedException e) { 94 //nothing 95 } 96 final int EXPECTED_PAGE_COUNT = 4; 97 final int EXPECTED_FRAME_COUNT = 4; 98 ImmText text = new ImmHotText( 99 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean dui" + 100 " ligula, rhoncus id interdum nec, vestibulum non dolor. Suspendisse nec" + 101 " ante vitae purus pellentesque porttitor. Duis orci elit, blandit blandit" + 102 " vestibulum sed, dictum ac dolor. Donec sed blandit ante. In pretium arcu" + 103 " eleifend ligula imperdiet eget tempor nunc viverra. Maecenas interdum " + 104 "sapien id nisl dignissim pulvinar. Morbi congue, magna a tincidunt" + 105 " tincidunt, nibh tortor varius ligula, at feugiat ante neque eu nisl." + 106 " Proin at odio a elit pharetra egestas vel ac nibh. Integer nunc ipsum," + 107 " ornare quis lobortis vulputate, accumsan eu purus. Phasellus tristique" + 108 " interdum odio, id vulputate lorem pretium eu. Aenean at nulla libero," + 109 " sit amet egestas nisl. Sed metus arcu, cursus eu facilisis quis," + 110 " dignissim eget neque. Nulla facilisi. Sed quam nisl, ornare vitae blandit" + 111 " at, tristique sagittis quam." 112 + "Maecenas vel vestibulum lectus. Ut gravida pellentesque turpis at" + 113 " pharetra. Mauris luctus est nisl. Aenean egestas lectus vitae" + 114 " dolor luctus in vestibulum purus faucibus. Vivamus eros dolor," + 115 " tristique vitae tincidunt nec, ullamcorper id erat. Nunc id lorem" + 116 " lectus, sed tristique neque. Nullam imperdiet ligula ut velit" + 117 " facilisis gravida. Lorem ipsum dolor sit amet, consectetur" + 118 " adipiscing elit. Integer eget dolor ipsum. Nullam elementum" + 119 " lectus a est tincidunt ultricies tempus nisl interdum. Integer" + 120 " posuere felis eget lectus pellentesque ac vestibulum neque" + 121 " vulputate. Donec ut lectus quis eros tincidunt sagittis.", null); 122 123 HeadTextFrameH.createTextFrameAction(curBook(), 124 curPageWorkArea().getRootPageView().model().get(), 125 text, ResourceRefR4.NONE_REF.toUri(), null, 126 Message.create(INSERT_FULL_TEXT_FRAME), true, true); 127 128 TextFrameView frameViewToSelect = 129 curPageWorkArea().getAll(TextFrameView.class).get(0); 130 curPageWorkArea().getSel().select(frameViewToSelect, false); 131 132 final HeadTextFrameView selectedFrameView = 133 curPageWorkArea().getSel().getSingleSelected(HeadTextFrameView.class); 134 assertNotNull(selectedFrameView); 135 136 try { 137 Thread.sleep(5000); 138 } catch (InterruptedException e) { 139 //nothing 140 } 141 SwingUtilities.invokeAndWait(new Runnable() { 142 143 @SuppressWarnings("synthetic-access") 144 public void run() { 145 assertEquals(ChainingMode.AUTO_CHAINING, selectedFrameView.model().get().getChainMode()); 146 assertEquals(EXPECTED_PAGE_COUNT, curBook().getPageCount()); 147 148 assertEquals(EXPECTED_FRAME_COUNT, TextChainUtils.getChainedFrameViews( 149 selectedFrameView.getBookView(), selectedFrameView).size()); 150 } 151 }); 152 153 } 154 155 156 /** 157 * Tests the down navigation in the chain. 158 */ 159 @Test 160 public void testChainingNavigationDown() { 161 162 final int LINE_COUNT = 20; 163 HeadTextFrameView selectedFrameView = 164 curPageWorkArea().getSel().getSingleSelected(HeadTextFrameView.class); 165 166 assertNotNull(selectedFrameView); 167 168 LogicR3.fire(new EventR3(getCurrentlySelectedView(), null, null, null, EventIds.NAVIGATE, Place.RIGHT)); 169 170 for(int i = 0; i < LINE_COUNT; ++ i) { 171 LogicR3.fire(new EventR3(getCurrentlySelectedView(), null, null, null, EventIds.NAVIGATE, Place.DOWN)); 172 } 173 174 assertPagesViews(1); 175 176 for(int i = 0; i < LINE_COUNT; ++ i) { 177 LogicR3.fire(new EventR3(getCurrentlySelectedView(), null, null, null, EventIds.NAVIGATE, Place.UP)); 178 } 179 try { 180 Thread.sleep(5000); 181 } catch (InterruptedException e) { 182 //nothing 183 } 184 assertPagesViews(0); 185 186 187 } 188 189 /** 190 * Tests the insert/delete in chain. 191 */ 192 @Test 193 public void testChainingNavigationInsertDelete() { 194 195 HeadTextFrameView selectedFrameView = 196 curPageWorkArea().getSel().getSingleSelected(HeadTextFrameView.class); 197 TextView view = selectedFrameView.textView().get(); 198 199 assertNotNull(selectedFrameView); 200 201 LogicR3.fire(new EventR3(view, null, null, null, EventIds.NAVIGATE, Place.RIGHT)); 202 for(int i = 0; i < 12; ++ i) { 203 LogicR3.fire(new EventR3(getCurrentlySelectedView(), 204 null, null, null, EventIds.NAVIGATE, Place.DOWN)); 205 } 206 207 assertPagesViews(0); 208 209 LogicR3.fire(new EventR3(getCurrentlySelectedView(), 210 null, null, null, EventIds.NAVIGATE, Place.LINE_END)); 211 212 assertPagesViews(1); 213 214 int caret = curPageWorkArea().getSel().getSingleSelected(TextFrameView.class). 215 textFlow().get().getCaret(); 216 TextChange change = new TextReplaceChange(new ImmTextInterval(caret, caret), 217 new ImmHotText("replaced text", null)); 218 LogicR3.fire(new EventR3(getCurrentlySelectedView(), 219 null, null, null, EventIds.CHANGE_TEXT, change, 220 Message.create(REPLACE_TEXT), true)); 221 222 assertPagesViews(1); 223 224 for (int i = 0; i < 50; ++ i ) { 225 LogicR3.fire(new EventR3(getCurrentlySelectedView(), 226 null, null, null, EventIds.DELETE,Place.LEFT)); 227 } 228 229 assertPagesViews(0); 230 231 } 232 233 private void assertPagesViews(int viewIndex) { 234 assertEquals(viewIndex, curPageWorkArea().getSel().getSingleSelected(TextFrameView.class).textView().get().getIndex().intValue()); 235 assertEquals(viewIndex, curBook().getIndexOf(curPageWorkArea().getRootPageView().getAccess().getRef())); 236 } 237 238 private SceneTextView getCurrentlySelectedView() { 239 TextFrameView textSelectedFrameView = 240 curPageWorkArea().getSel().getSingleSelected(TextFrameView.class); 241 return textSelectedFrameView.textView().get(); 242 } 243 244 } -
modules/org.sophie2.base.model.text/src/main/java/org/sophie2/base/model/text/elements/CaretInfo.java
1 package org.sophie2.base.model.text.elements; 2 3 import org.sophie2.core.prolib.annot.Immutable; 4 5 /** 6 * A class representing the information about the caret. 7 * Has a caret index and area index field. Used when navigating in the 8 * text. 9 * 10 * @author diana 11 * 12 */ 13 @Immutable 14 public class CaretInfo { 15 private final int areaIndex; 16 private final int caretIndex; 17 18 /** 19 * Default constructor. 20 * 21 * @param areaIndex 22 * The index of the area (of the chain) in which the caret 23 * is placed. 24 * @param caretIndex 25 * The current index of the caret. 26 */ 27 public CaretInfo(int areaIndex, int caretIndex) { 28 this.areaIndex = areaIndex; 29 this.caretIndex = caretIndex; 30 } 31 32 /** 33 * Getter for the area index. 34 * 35 * @return 36 * The index of the are in which the caret is placed. 37 */ 38 public int getAreaIndex() { 39 return this.areaIndex; 40 } 41 42 /** 43 * Getter for the index of the current caret. 44 * 45 * @return 46 * The current caret index. 47 */ 48 public int getCaretIndex() { 49 return this.caretIndex; 50 } 51 } -
modules/org.sophie2.main.func.text/src/main/java/org/sophie2/main/func/text/view/HotTextLogic.java
11 11 import org.sophie2.base.dnd.SophieDragDropHandler.DndPreImport; 12 12 import org.sophie2.base.dnd.dnddata.RtfData; 13 13 import org.sophie2.base.dnd.dnddata.StringData; 14 import org.sophie2.base.model.resources.r4.ResourceRefR4; 14 15 import org.sophie2.base.model.resources.r4.changes.AutoAction; 15 16 import org.sophie2.base.model.resources.r4.changes.Change; 16 17 import org.sophie2.base.model.text.HotTextData; … … 21 22 import org.sophie2.base.model.text.model.ImmTextInterval; 22 23 import org.sophie2.base.model.text.model.ImmTextUtils; 23 24 import org.sophie2.base.model.text.mvc.TextModel; 25 import org.sophie2.base.model.text.mvc.TextModelLogic; 24 26 import org.sophie2.base.model.text.mvc.TextProcessor; 25 27 import org.sophie2.base.model.text.mvc.TextProcessorEffect; 26 28 import org.sophie2.base.model.text.mvc.TextProcessorOptions; … … 38 40 import org.sophie2.main.app.commons.book.panels.QuickSearchPanel; 39 41 import org.sophie2.main.app.commons.element.ElementView; 40 42 import org.sophie2.main.app.commons.page.PageWorkArea; 43 import org.sophie2.main.app.commons.page.RootPageView; 41 44 import org.sophie2.main.app.halos.common.AppHaloUtil; 42 45 import org.sophie2.main.func.text.model.HotTextResourceH; 43 46 import org.sophie2.main.func.text.rtf.RtfTextImportManager; 44 47 import org.sophie2.main.func.text.search.TextSearchProcessor; 45 48 import org.sophie2.main.func.text.search.TextSearchProcessor.TextSearchOptions; 49 import org.sophie2.main.func.text.utils.TextChainUtils; 46 50 47 51 /** 48 52 * A logic that handles simple text events and only updates the model. … … 50 54 * @author vlado 51 55 */ 52 56 public enum HotTextLogic implements OperationDef { 57 58 /** 59 * When the view is changed (when navigating/editing in chains). 60 */ 61 ON_SELECT_VIEW { 53 62 63 public void defineFilter(EventFilterBuilder filter) { 64 filter.setSourceClass(SceneTextView.class); 65 filter.setEventId(TextModelLogic.EventIds.SELECT_VIEW); 66 67 } 68 69 public boolean handle(EventR3 event) { 70 SceneTextView view = event.getSource(SceneTextView.class); 71 BookView bookView = view.findParentElement(BookView.class); 72 final int areaIndex = event.getEventParam( 73 TextModelLogic.EventIds.AREA_INDEX, Integer.class); 74 VisualElement parentElem = view.parent().get(); 75 HeadTextFrameView headView = null; 76 77 if (parentElem instanceof TailTextFrameView) { 78 headView = ((TailTextFrameView) parentElem).getHeadView(); 79 } else if (parentElem instanceof HeadTextFrameView) { 80 headView = (HeadTextFrameView) parentElem; 81 } 82 if (headView != null) { 83 if (view.getIndex() != areaIndex) { 84 List<TextFrameView> chainedViews = TextChainUtils.getChainedFrameViews( 85 bookView, headView); 86 TextFrameView viewToSelect = chainedViews.get(areaIndex); 87 RootPageView page = viewToSelect.findParentElement(RootPageView.class); 88 bookView.goToPage(ResourceRefR4.getRelativeRef(bookView.getAccess().getRef(), 89 page.getAccess().getRef())); 90 viewToSelect.getPwa().getSel().select(viewToSelect, false); 91 viewToSelect.getPwa().scene().get().focusedElement(). 92 set(viewToSelect.textView().get().contentElement().get()); 93 } 94 } 95 return false; 96 } 97 98 }, 99 54 100 /** 55 101 * Updates the text of the model. 56 102 * Note that this will be done even if the text view is not editable. … … 116 162 117 163 ((ResourceTextModel) textModel).changeModel( 118 164 change, model.getAccess(), text, significant, Message.create(SET_TEXT)); 165 LogicR3.fire(new EventR3(view, null, null, null, TextModelLogic.EventIds.SELECT_VIEW, 166 textModel.getTextLayout().getCharPlace( 167 textModel.getCaret()).getAreaIndex())); 119 168 } 120 169 return true; 121 170 } -
modules/org.sophie2.main.app.commons/src/main/java/org/sophie2/main/app/commons/testing/AppTestBase.java
3 3 import java.util.Arrays; 4 4 import java.util.List; 5 5 6 import javax.swing.SwingUtilities; 7 6 8 import org.junit.After; 7 9 import org.junit.Before; 8 10 import org.sophie2.base.config.BaseConfigModule; … … 39 41 TestingDialogManager.beginTesting(); 40 42 super.setUp(); 41 43 42 this.mainWindow = new AppMainWindow() {43 @Override 44 public Prop<ResourceLocator> locator() {45 class locator extends AutoProperty<ResourceLocator>{46 @SuppressWarnings("synthetic-access")44 SwingUtilities.invokeAndWait(new Runnable() { 45 46 @SuppressWarnings("synthetic-access") 47 public void run() { 48 AppTestBase.this.mainWindow = new AppMainWindow() { 47 49 @Override 48 protected ResourceLocator compute() { 49 return getAppLocator(); 50 public Prop<ResourceLocator> locator() { 51 class locator extends AutoProperty<ResourceLocator> { 52 @Override 53 protected ResourceLocator compute() { 54 return getAppLocator(); 55 } 56 } 57 return getBean().makeProp(locator.class); 50 58 } 51 } 52 return getBean().makeProp(locator.class); 59 }; 53 60 } 54 } ;61 }); 55 62 } 56 63 57 64 @Override