From e516770fcab0ca35ec6dd3618a3cf06f125b7209 Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@mail.ru> Date: Wed, 5 Dec 2018 19:13:19 +0100 Subject: [PATCH] World can be imported from JSON At least for assets. --- nbproject/project.properties | 2 +- src/opensesim/gui/AssetEditor/AssetEditorPanel.java | 8 +++++--- src/opensesim/gui/AssetEditor/AssetListDialog.java | 5 +++++ src/opensesim/gui/SeSimApplication.java | 5 +++-- src/opensesim/world/World.java | 6 +++++- src/opensesim/world/WorldAdm.java | 6 ++++-- 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/nbproject/project.properties b/nbproject/project.properties index de91a1b..629da03 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -1,4 +1,4 @@ -#Wed, 05 Dec 2018 18:41:22 +0100 +#Wed, 05 Dec 2018 19:04:38 +0100 annotation.processing.enabled=true annotation.processing.enabled.in.editor=false annotation.processing.processors.list= diff --git a/src/opensesim/gui/AssetEditor/AssetEditorPanel.java b/src/opensesim/gui/AssetEditor/AssetEditorPanel.java index c268111..34b2a2b 100644 --- a/src/opensesim/gui/AssetEditor/AssetEditorPanel.java +++ b/src/opensesim/gui/AssetEditor/AssetEditorPanel.java @@ -218,12 +218,12 @@ public class AssetEditorPanel extends javax.swing.JPanel { ); }// //GEN-END:initComponents - @Export - public String getDeecimals() { + @Export("decimals") + public String getDecimals() { return decimalsField.getValue().toString(); } - @Import + @Import("decimals") public void setDecimals(String d) { decimalsField.setValue(Integer.parseInt(d)); } @@ -277,6 +277,8 @@ public class AssetEditorPanel extends javax.swing.JPanel { public boolean save(WorldAdm worldadm ){ JSONObject jo = Json.get(this); + System.out.printf("ASSETGETTER: %s\n",jo.toString(5)); + if (jo.getString(World.JKEYS.ASSET_SYMBOL).length()==0){ javax.swing.JOptionPane.showMessageDialog(this, "Symbol must not be empty.", "Error", diff --git a/src/opensesim/gui/AssetEditor/AssetListDialog.java b/src/opensesim/gui/AssetEditor/AssetListDialog.java index 2544909..617b4cd 100644 --- a/src/opensesim/gui/AssetEditor/AssetListDialog.java +++ b/src/opensesim/gui/AssetEditor/AssetListDialog.java @@ -178,10 +178,15 @@ public class AssetListDialog extends EscDialog { AssetEditorDialog.runDialog(this, worldadm, o, null); assetListPanel.reload(); + + }//GEN-LAST:event_newButtonActionPerformed private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed dispose(); + + JSONObject o = worldadm.world.getJson(); + Globals.prefs.put("world", o.toString()); }//GEN-LAST:event_doneButtonActionPerformed private void doEdit() { diff --git a/src/opensesim/gui/SeSimApplication.java b/src/opensesim/gui/SeSimApplication.java index acce1fe..e88a0b5 100644 --- a/src/opensesim/gui/SeSimApplication.java +++ b/src/opensesim/gui/SeSimApplication.java @@ -91,8 +91,9 @@ public class SeSimApplication extends javax.swing.JFrame { // Globals.setLookAndFeel("Metal"); initComponents(); - - worldadm = new WorldAdm(); + JSONObject cfg; + cfg = new JSONObject(Globals.prefs.get("world","{}")); + worldadm = new WorldAdm(cfg); diff --git a/src/opensesim/world/World.java b/src/opensesim/world/World.java index 2c8d820..bb3a02f 100644 --- a/src/opensesim/world/World.java +++ b/src/opensesim/world/World.java @@ -90,6 +90,9 @@ public class World implements GetJson { private void putJson(JSONObject cfg){ // Read assets JSONArray jassets = cfg.optJSONArray(World.JKEYS.ASSETS); + if (jassets==null){ + jassets=new JSONArray(); + } for (int i=0; i