diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/gui/MainFrame.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/gui/MainFrame.java index 2cdea0e3..6f1862a0 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/gui/MainFrame.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/gui/MainFrame.java @@ -7,6 +7,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.util.Arrays; import java.util.EnumSet; import java.util.HashMap; import java.util.Map; @@ -27,6 +28,7 @@ import org.diylc.common.BadPositionException; import org.diylc.common.EventType; import org.diylc.common.IPlugIn; import org.diylc.common.IPlugInPort; +import org.diylc.images.IconLoader; import org.diylc.plugins.canvas.CanvasPlugin; import org.diylc.plugins.clipboard.ClipboardManager; import org.diylc.plugins.file.FileManager; @@ -58,6 +60,8 @@ public class MainFrame extends JFrame implements IView { setPreferredSize(new Dimension(800, 600)); createBasePanels(); menuMap = new HashMap(); + setIconImages(Arrays.asList(IconLoader.IconSmall.getImage(), IconLoader.IconMedium + .getImage(), IconLoader.IconLarge.getImage())); DialogFactory.getInstance().initialize(this); this.presenter = new Presenter(this); @@ -248,8 +252,8 @@ public class MainFrame extends JFrame implements IView { fileName = "Untitled"; } String modified = (Boolean) params[1] ? " (modified)" : ""; - setTitle(String.format("DIYLC %s alpha - %s %s", plugInPort.getCurrentVersionNumber(), - fileName, modified)); + setTitle(String.format("DIYLC %s alpha - %s %s", plugInPort + .getCurrentVersionNumber(), fileName, modified)); } } } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java index 4df65037..e5d3c061 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java @@ -1,5 +1,10 @@ package org.diylc.images; +import java.awt.Image; +import java.awt.image.BufferedImage; +import java.io.IOException; + +import javax.imageio.ImageIO; import javax.swing.Icon; import javax.swing.ImageIcon; @@ -23,8 +28,9 @@ public enum IconLoader { "id_card.png"), IdCardAdd("id_card_add.png"), Chest("chest.png"), Upload("upload.png"), Wrench( "wrench.png"), Group("group.png"), Ungroup("ungroup.png"), TraceMask("trace_mask.png"), Faq( "faq.png"), Component("component.png"), Plugin("plugin.png"), Manual("manual.png"), Donate( - "donate.png"), Bug("bug.png"), AboutDialog("about_dialog.png"), DocumentEdit( - "document_edit.png"), EditComponent("edit_component.png"); + "donate.png"), Bug("bug.png"), IconLarge("icon_large.png"), IconMedium( + "icon_medium.png"), IconSmall("icon_small.png"), DocumentEdit("document_edit.png"), EditComponent( + "edit_component.png"); protected String name; @@ -41,4 +47,14 @@ public enum IconLoader { return null; } } + + public Image getImage() { + BufferedImage img = null; + try { + img = ImageIO.read(getClass().getResourceAsStream(name)); + } catch (IOException e) { + System.err.println("Couldn't find file: " + name); + } + return img; + } } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/about_dialog.png b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_large.png similarity index 100% rename from diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/about_dialog.png rename to diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_large.png diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_medium.png b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_medium.png new file mode 100644 index 00000000..d5559652 Binary files /dev/null and b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_medium.png differ diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_small.png b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_small.png new file mode 100644 index 00000000..ca6af1c6 Binary files /dev/null and b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/icon_small.png differ diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/help/HelpManager.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/help/HelpManager.java index cd46da4d..08537897 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/help/HelpManager.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/help/HelpManager.java @@ -50,7 +50,7 @@ public class HelpManager implements IPlugIn { BUG_URL), HELP_TITLE); plugInPort.injectMenuAction(null, HELP_TITLE); plugInPort.injectMenuAction(new NavigateURLAction("Donate", IconLoader.Donate.getIcon(), - BUG_URL), HELP_TITLE); + DONATE_URL), HELP_TITLE); plugInPort.injectMenuAction(new AboutAction(), HELP_TITLE); } @@ -66,7 +66,7 @@ public class HelpManager implements IPlugIn { private AboutDialog getAboutDialog() { if (aboutDialog == null) { aboutDialog = DialogFactory.getInstance().createAboutDialog("DIY Layout Creator 4", - IconLoader.AboutDialog.getIcon(), + IconLoader.IconLarge.getIcon(), plugInPort.getCurrentVersionNumber().toString(), "Branislav Stojkovic", "diylc.org", "bancika@gmail.com", ""); } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java index 279f75a2..bd5bdd77 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java @@ -365,6 +365,13 @@ public class Presenter implements IPlugInPort { break; case POINT_BY_POINT: if (controlPointSlot != null) { + snapPointToGrid(scaledPoint); + if (scaledPoint.equals(controlPointSlot)) { + String message = "Cannot create the component because both controls points match. Choose the second control point."; + LOG.warn(message); + view.showMessage(message, "Error", JOptionPane.ERROR_MESSAGE); + return; + } try { instantiateComponent(componentSlot, controlPointSlot, scaledPoint); } catch (Exception e) {