From c4bf31561f420cf892d422bda178d081f3c4658f Mon Sep 17 00:00:00 2001
From: Willem <willemtsade.git.5785@distributedrebirth.love>
Date: Sun, 19 Jan 2025 18:08:29 +0100
Subject: [PATCH] updated to tdoc

---
 .../metamodel/doc/DocModelWriter.java         | 14 ++++----
 .../metamodel/doc/DocModelWriterSchema.java   | 17 +++++-----
 .../metamodel/doc/DocModelWriterTable.java    | 32 +++++++++----------
 .../gdxapp4d/app/notepad/NotepadDeskApp.java  |  3 ++
 gdxapp4d-tos4/pom.xml                         |  6 +++-
 .../gdxapp4d/tos4/GDXAppTos4BootFactory.java  | 18 +++++++++--
 pom.xml                                       | 31 +++++++++---------
 7 files changed, 71 insertions(+), 50 deletions(-)

diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java
index 388bf9d2..795654f7 100644
--- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java
+++ b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java
@@ -38,13 +38,13 @@ import org.eobjects.metamodel.schema.Column;
 import org.eobjects.metamodel.schema.Relationship;
 import org.eobjects.metamodel.schema.Schema;
 import org.eobjects.metamodel.schema.Table;
-import org.x4o.xml.eld.doc.api.ApiDocGenerator;
-import org.x4o.xml.eld.doc.api.DefaultPageWriterHelp;
-import org.x4o.xml.eld.doc.api.DefaultPageWriterIndexAll;
-import org.x4o.xml.eld.doc.api.DefaultPageWriterTree;
-import org.x4o.xml.eld.doc.api.dom.ApiDoc;
-import org.x4o.xml.eld.doc.api.dom.ApiDocConcept;
-import org.x4o.xml.eld.doc.api.dom.ApiDocNode;
+import org.x4o.o2o.tdoc.ApiDocGenerator;
+import org.x4o.o2o.tdoc.DefaultPageWriterHelp;
+import org.x4o.o2o.tdoc.DefaultPageWriterIndexAll;
+import org.x4o.o2o.tdoc.DefaultPageWriterTree;
+import org.x4o.o2o.tdoc.dom.ApiDoc;
+import org.x4o.o2o.tdoc.dom.ApiDocConcept;
+import org.x4o.o2o.tdoc.dom.ApiDocNode;
 import org.xml.sax.SAXException;
 
 public class DocModelWriter {
diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java
index 896160ed..ace2cf3b 100644
--- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java
+++ b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java
@@ -27,6 +27,7 @@
 
 package org.eobjects.metamodel.doc;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -36,12 +37,12 @@ import org.eobjects.metamodel.query.FunctionType;
 import org.eobjects.metamodel.schema.Schema;
 import org.eobjects.metamodel.schema.Table;
 import org.eobjects.metamodel.schema.TableType;
-import org.x4o.xml.eld.doc.api.ApiDocContentCss;
-import org.x4o.xml.eld.doc.api.ApiDocContentWriter;
-import org.x4o.xml.eld.doc.api.ApiDocNodeWriterMethod;
-import org.x4o.xml.eld.doc.api.dom.ApiDocNode;
-import org.x4o.xml.eld.doc.api.dom.ApiDocNodeBody;
-import org.x4o.xml.eld.doc.api.dom.ApiDocWriteEvent;
+import org.x4o.o2o.tdoc.ApiDocContentCss;
+import org.x4o.o2o.tdoc.ApiDocContentWriter;
+import org.x4o.o2o.tdoc.ApiDocNodeWriterMethod;
+import org.x4o.o2o.tdoc.dom.ApiDocNode;
+import org.x4o.o2o.tdoc.dom.ApiDocNodeBody;
+import org.x4o.o2o.tdoc.dom.ApiDocWriteEvent;
 import org.xml.sax.SAXException;
 
 public class DocModelWriterSchema {
@@ -57,7 +58,7 @@ public class DocModelWriterSchema {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Schema.class})
-	public void writeSchemaTableSummary(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeSchemaTableSummary(ApiDocWriteEvent<ApiDocNode> event) throws SAXException, IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Schema schema  = (Schema)event.getEventObject().getUserData();
 		DataContext dc = (DataContext)event.getEventObject().getParent().getUserData();
@@ -82,7 +83,7 @@ public class DocModelWriterSchema {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Schema.class})
-	public void writeSchemaViewSummary(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeSchemaViewSummary(ApiDocWriteEvent<ApiDocNode> event) throws SAXException, IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Schema schema  = (Schema)event.getEventObject().getUserData();
 		List<Table> tables = filterTables(schema,TableType.VIEW,true);
diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java
index c14d7c3c..ce05a15e 100644
--- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java
+++ b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java
@@ -27,6 +27,7 @@
 
 package org.eobjects.metamodel.doc;
 
+import java.io.IOException;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -43,14 +44,13 @@ import org.eobjects.metamodel.schema.Relationship;
 import org.eobjects.metamodel.schema.Table;
 import org.eobjects.metamodel.schema.TableType;
 import org.x4o.o2o.io.ContentWriterHtml.Tag;
-import org.x4o.xml.eld.doc.api.ApiDocContentCss;
-import org.x4o.xml.eld.doc.api.ApiDocContentWriter;
-import org.x4o.xml.eld.doc.api.ApiDocNodeWriterMethod;
-import org.x4o.xml.eld.doc.api.dom.ApiDocIndexItem;
-import org.x4o.xml.eld.doc.api.dom.ApiDocNode;
-import org.x4o.xml.eld.doc.api.dom.ApiDocNodeBody;
-import org.x4o.xml.eld.doc.api.dom.ApiDocWriteEvent;
-import org.xml.sax.SAXException;
+import org.x4o.o2o.tdoc.ApiDocContentCss;
+import org.x4o.o2o.tdoc.ApiDocContentWriter;
+import org.x4o.o2o.tdoc.ApiDocNodeWriterMethod;
+import org.x4o.o2o.tdoc.dom.ApiDocIndexItem;
+import org.x4o.o2o.tdoc.dom.ApiDocNode;
+import org.x4o.o2o.tdoc.dom.ApiDocNodeBody;
+import org.x4o.o2o.tdoc.dom.ApiDocWriteEvent;
 
 public class DocModelWriterTable {
 	
@@ -100,7 +100,7 @@ public class DocModelWriterTable {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.DESCRIPTION_LINKS,targetClasses={Table.class})
-	public void writeTableDescription(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeTableDescription(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Table table  = (Table)event.getEventObject().getUserData();
 		
@@ -144,7 +144,7 @@ public class DocModelWriterTable {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.DESCRIPTION_NODE,targetClasses={Table.class})
-	public void writeTableSqlView(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeTableSqlView(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Table table  = (Table)event.getEventObject().getUserData();
 		
@@ -167,7 +167,7 @@ public class DocModelWriterTable {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Table.class},nodeBodyOrders={3},contentGroup="Columns",contentGroupType="summary")
-	public void writeTableSummary(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeTableSummary(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Table table  = (Table)event.getEventObject().getUserData();
 		if (TableType.VIEW.equals(table.getType())) {
@@ -183,7 +183,7 @@ public class DocModelWriterTable {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Table.class},nodeBodyOrders={1},contentGroup="Primary Key",contentGroupType="summary")
-	public void writeTablePKSummary(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeTablePKSummary(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Table table  = (Table)event.getEventObject().getUserData();
 		DBTable tableDB = getDBTable(event);
@@ -229,7 +229,7 @@ public class DocModelWriterTable {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Table.class},nodeBodyOrders={2},contentGroup="Indexes",contentGroupType="summary")
-	public void writeTableIDXSummary(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeTableIDXSummary(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Table table  = (Table)event.getEventObject().getUserData();
 		DBTable tableDB = getDBTable(event);
@@ -270,7 +270,7 @@ public class DocModelWriterTable {
 		}
 	}
 	
-	private void writeSqlBlock(ApiDocContentWriter writer,String sql) throws SAXException {
+	private void writeSqlBlock(ApiDocContentWriter writer,String sql) throws IOException {
 		writer.printTagStart(Tag.div,ApiDocContentCss.block);
 		writer.printTagStart(Tag.pre);
 		writer.printCharacters(sql);
@@ -279,7 +279,7 @@ public class DocModelWriterTable {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.DETAIL,targetClasses={Table.class},nodeBodyOrders={1},contentGroup="Indexes",contentGroupType="overview")
-	public void writeTableDetailIndex(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeTableDetailIndex(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		//Table table  = (Table)event.getEventObject().getUserData();
 		DBTable tableDB = getDBTable(event);
@@ -345,7 +345,7 @@ public class DocModelWriterTable {
 	}
 	
 	@ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.DETAIL,targetClasses={Table.class},nodeBodyOrders={2},contentGroup="Columns",contentGroupType="overview")
-	public void writeTableDetail(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
+	public void writeTableDetail(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
 		ApiDocContentWriter writer = event.getWriter();
 		Table table  = (Table)event.getEventObject().getUserData();
 		DBTable tableDB = getDBTable(event);
diff --git a/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java b/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java
index 418976ae..7bd1e02e 100644
--- a/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java
+++ b/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java
@@ -157,6 +157,9 @@ public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer,
 				DrawCharacter drawChar = unicode4DService.getCharacterForUnicode(unicodeChar);
 				if (drawChar == null) {
 					drawChar = unicode4DService.getCharacterForUnicode(DEFAULT_CHAR);
+					if (drawChar == null) {
+						continue;
+					}
 				}
 				float scale = 1f;
 				int color = 0x3c68bb5b;
diff --git a/gdxapp4d-tos4/pom.xml b/gdxapp4d-tos4/pom.xml
index f8af77d6..e629644e 100644
--- a/gdxapp4d-tos4/pom.xml
+++ b/gdxapp4d-tos4/pom.xml
@@ -55,7 +55,11 @@
 		</dependency>
 		<dependency>
 			<groupId>love.distributedrebirth.nx01</groupId>
-			<artifactId>nx01-x4o-eld-doc</artifactId>
+			<artifactId>nx01-x4o-fc18</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>love.distributedrebirth.nx01</groupId>
+			<artifactId>nx01-x4o-o2o</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.eobjects.metamodel</groupId>
diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java
index 4ce66961..d42fa672 100644
--- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java
+++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java
@@ -124,25 +124,37 @@ public class GDXAppTos4BootFactory {
 				"imgui.gl3,"+
 				"imgui.type,"+
 				"net.spookygames.gdx.nativefilechooser,"+
+				"org.x4o.fc18,"+
+				"org.x4o.fc18.cake2,"+
+				"org.x4o.fc18.cake2.clk1k,"+
+				"org.x4o.fc18.cake2.pie9c,"+
+				"org.x4o.fc18.cake2.pie9d,"+
+				"org.x4o.fc18.cake2.zero33,"+
+				"org.x4o.fc18.cake2.zero33.vt06,"+
+				"org.x4o.fc18.zion7,"+
 				"org.x4o.o2o,"+
 				"org.x4o.o2o.io,"+
 				"org.x4o.o2o.io.sax3,"+
 				"org.x4o.o2o.io.sax3.xdbx,"+
 				"org.x4o.o2o.io.sax4,"+
 				"org.x4o.o2o.io.tlv,"+
-				"org.x4o.o2o.io.octal,"+
-				"org.x4o.o2o.io.octo,"+
-				"org.x4o.o2o.io.octo.conv,"+
+				"org.x4o.o2o.octal,"+
+				"org.x4o.o2o.octo,"+
+				"org.x4o.o2o.octo.conv,"+
+				"org.x4o.o2o.tdoc,"+
+				"org.x4o.o2o.tdoc.dom,"+
 				"org.x4o.xml,"+
 				"org.x4o.xml.conv,"+
 				"org.x4o.xml.conv.text,"+
 				"org.x4o.xml.el,"+
 				"org.x4o.xml.eld,"+
+				"org.x4o.xml.eld.doc,"+
 				"org.x4o.xml.eld.lang,"+
 				"org.x4o.xml.eld.xsd,"+
 				"org.x4o.xml.element,"+
 				"org.x4o.xml.io,"+
 				"org.x4o.xml.lang,"+
+				"org.x4o.xml.lang.meta,"+
 				"org.x4o.xml.lang.phase,"+
 				"org.x4o.xml.lang.task,"+
 				"org.x4o.xml.lang.task.run,"+
diff --git a/pom.xml b/pom.xml
index a591a0d5..b0c2b2b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -106,25 +106,37 @@
 			imgui.gl3,
 			imgui.type,
 			net.spookygames.gdx.nativefilechooser,
+			org.x4o.fc18,
+			org.x4o.fc18.cake2,
+			org.x4o.fc18.cake2.clk1k,
+			org.x4o.fc18.cake2.pie9c,
+			org.x4o.fc18.cake2.pie9d,
+			org.x4o.fc18.cake2.zero33,
+			org.x4o.fc18.cake2.zero33.vt06,
+			org.x4o.fc18.zion7,
 			org.x4o.o2o,
 			org.x4o.o2o.io,
 			org.x4o.o2o.io.sax3,
 			org.x4o.o2o.io.sax3.xdbx,
 			org.x4o.o2o.io.sax4,
 			org.x4o.o2o.io.tlv,
-			org.x4o.o2o.io.octal,
-			org.x4o.o2o.io.octo,
-			org.x4o.o2o.io.octo.conv,
+			org.x4o.o2o.octal,
+			org.x4o.o2o.octo,
+			org.x4o.o2o.octo.conv,
+			org.x4o.o2o.tdoc,
+			org.x4o.o2o.tdoc.dom,
 			org.x4o.xml,
 			org.x4o.xml.conv,
 			org.x4o.xml.conv.text,
 			org.x4o.xml.el,
 			org.x4o.xml.eld,
+			org.x4o.xml.eld.doc,
 			org.x4o.xml.eld.lang,
 			org.x4o.xml.eld.xsd,
 			org.x4o.xml.element,
 			org.x4o.xml.io,
 			org.x4o.xml.lang,
+			org.x4o.xml.lang.meta,
 			org.x4o.xml.lang.phase,
 			org.x4o.xml.lang.task,
 			org.x4o.xml.lang.task.run,
@@ -221,12 +233,6 @@
 			org.apache.commons.lang3.tuple
 		</lang3.packages>
 		<mmdoc.packages>
-			org.x4o.xml.eld.doc,
-			org.x4o.xml.eld.doc.api,
-			org.x4o.xml.eld.doc.api.dom,
-			org.x4o.xml.eld.doc.theme.base,
-			org.x4o.xml.eld.doc.theme.jdk6,
-			org.x4o.xml.eld.doc.theme.jdk7,
 			org.eobjects.metamodel,
 			org.eobjects.metamodel.convert,
 			org.eobjects.metamodel.create,
@@ -442,12 +448,7 @@
 			</dependency>
 			<dependency>
 				<groupId>love.distributedrebirth.nx01</groupId>
-				<artifactId>nx01-x4o-eld-doc</artifactId>
-				<version>${nx01.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>love.distributedrebirth.nx01</groupId>
-				<artifactId>nx01-x4o-meta</artifactId>
+				<artifactId>nx01-x4o-fc18</artifactId>
 				<version>${nx01.version}</version>
 			</dependency>
 			<dependency>