diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath
index ec3f46f8..14e0fb47 100644
--- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath
+++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath
@@ -7,13 +7,13 @@
-
-
-
-
+
+
+
+
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/DIYLCStarter.launch b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/DIYLCStarter.launch
index 1e31e94a..11d120ec 100644
--- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/DIYLCStarter.launch
+++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/DIYLCStarter.launch
@@ -10,7 +10,6 @@
-
-
+
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.5.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.5.jar
deleted file mode 100644
index 781fe27d..00000000
Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.5.jar and /dev/null differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.8.1.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.8.1.jar
new file mode 100644
index 00000000..ebd2d8c2
Binary files /dev/null and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.8.1.jar differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar
index 29dd1951..6697dac9 100644
Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/objenesis-1.1.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/objenesis-1.1.jar
deleted file mode 100644
index f178db33..00000000
Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/objenesis-1.1.jar and /dev/null differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/objenesis-1.2.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/objenesis-1.2.jar
new file mode 100644
index 00000000..fb04d7fa
Binary files /dev/null and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/objenesis-1.2.jar differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar
index 920e5157..2ecb3dba 100644
Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java
index ab9b1201..991612e4 100644
--- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java
+++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java
@@ -8,6 +8,7 @@ import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -30,7 +31,7 @@ public class MeasureEditor extends Container {
@SuppressWarnings("unchecked")
public MeasureEditor(final PropertyWrapper property) {
setLayout(new BorderLayout());
- AbstractMeasure measure = ((AbstractMeasure) property.getValue());
+ final AbstractMeasure measure = ((AbstractMeasure) property.getValue());
valueField = new DoubleTextField(measure.getValue());
oldBg = valueField.getBackground();
valueField.addPropertyChangeListener(DoubleTextField.VALUE_PROPERTY,
@@ -39,14 +40,24 @@ public class MeasureEditor extends Container {
@Override
public void propertyChange(PropertyChangeEvent evt) {
try {
- AbstractMeasure> newMeasure = (AbstractMeasure>) ((AbstractMeasure) property
- .getValue()).clone();
- newMeasure.setValue((Double) evt.getNewValue());
+ Constructor ctor = measure.getClass().getConstructors()[0];
+ AbstractMeasure> newMeasure = (AbstractMeasure>) ctor.newInstance((Double) evt.getNewValue(), measure.getUnit());
property.setValue(newMeasure);
property.setChanged(true);
valueField.setBackground(oldBg);
unitBox.setBackground(oldBg);
- } catch (CloneNotSupportedException ex) {
+ } catch (IllegalArgumentException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InstantiationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
}
});
@@ -58,16 +69,26 @@ public class MeasureEditor extends Container {
unitBox.addActionListener(new ActionListener() {
@Override
- public void actionPerformed(ActionEvent e) {
+ public void actionPerformed(ActionEvent evt) {
try {
- AbstractMeasure> newMeasure = (AbstractMeasure>) ((AbstractMeasure) property
- .getValue()).clone();
- newMeasure.setUnit((Enum extends Unit>) unitBox.getSelectedItem());
+ Constructor ctor = measure.getClass().getConstructors()[0];
+ AbstractMeasure> newMeasure = (AbstractMeasure>) ctor.newInstance((Enum extends Unit>) unitBox.getSelectedItem());
property.setValue(newMeasure);
property.setChanged(true);
valueField.setBackground(oldBg);
unitBox.setBackground(oldBg);
- } catch (CloneNotSupportedException ex) {
+ } catch (IllegalArgumentException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InstantiationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
}
});
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java
index 9631373d..64d51989 100644
--- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java
+++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java
@@ -27,7 +27,7 @@ public class AutoSavePlugin implements IPlugIn {
public AutoSavePlugin(IView view) {
this.view = view;
- executor = Executors.newSingleThreadExecutor();
+ executor = Executors.newSingleThreadExecutor();
}
@Override
@@ -66,17 +66,18 @@ public class AutoSavePlugin implements IPlugIn {
@Override
public void processMessage(EventType eventType, Object... params) {
if (eventType == EventType.PROJECT_MODIFIED) {
- executor.execute(new Runnable() {
+ if (System.currentTimeMillis() - lastSave > autoSaveFrequency) {
+ executor.execute(new Runnable() {
+
+ @Override
+ public void run() {
+ Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
- @Override
- public void run() {
- Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
- if (System.currentTimeMillis() - lastSave > autoSaveFrequency) {
lastSave = System.currentTimeMillis();
plugInPort.saveProjectToFile(AUTO_SAVE_FILE_NAME, true);
}
- }
- });
+ });
+ }
}
}
}
diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml
index 8c0848eb..8a938ea1 100644
--- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml
+++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml
@@ -677,5 +677,25 @@
http://code.google.com/p/diy-layout-creator/downloads/list
+
+
+ 3
+ 10
+ 0
+
+ 2012-08-20 20:00:00.000 CET
+
+
+
+ IMPROVEMENT
+ Improved overall performance
+
+
+ BUG_FIX
+ Should be more stable under OSX and not crash unexpectedly
+
+
+ http://code.google.com/p/diy-layout-creator/downloads/list
+
\ No newline at end of file