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) unitBox.getSelectedItem()); + Constructor ctor = measure.getClass().getConstructors()[0]; + AbstractMeasure newMeasure = (AbstractMeasure) ctor.newInstance((Enum) 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