mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
Use balloon to show announcements and update notifications
This commit is contained in:
Binary file not shown.
@@ -51,7 +51,6 @@ public class AnnouncementProvider {
|
|||||||
}
|
}
|
||||||
if (!hasUnread)
|
if (!hasUnread)
|
||||||
return "";
|
return "";
|
||||||
sb.append("<br><font size='small'>Click OK to dismiss and mark these announcements as read.</font>");
|
|
||||||
sb.append("</html>");
|
sb.append("</html>");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public interface ISelectionProcessor {
|
|||||||
*
|
*
|
||||||
* @param xOffset
|
* @param xOffset
|
||||||
* @param yOffset
|
* @param yOffset
|
||||||
* @param affectStuckComponents
|
* @param includeStuckComponents
|
||||||
*/
|
*/
|
||||||
void nudgeSelection(Size xOffset, Size yOffset, boolean affectStuckComponents);
|
void nudgeSelection(Size xOffset, Size yOffset, boolean includeStuckComponents);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -856,11 +856,11 @@ public class Presenter implements IPlugInPort {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void nudgeSelection(Size xOffset, Size yOffset, boolean affectStuckComponents) {
|
public void nudgeSelection(Size xOffset, Size yOffset, boolean includeStuckComponents) {
|
||||||
if (selectedComponents == null || selectedComponents.isEmpty())
|
if (selectedComponents == null || selectedComponents.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
LOG.debug(String.format("nudgeSelection(%s, %s)", xOffset, yOffset));
|
LOG.debug(String.format("nudgeSelection(%s, %s, %s)", xOffset, yOffset, includeStuckComponents));
|
||||||
Map<IDIYComponent<?>, Set<Integer>> controlPointMap = new HashMap<IDIYComponent<?>, Set<Integer>>();
|
Map<IDIYComponent<?>, Set<Integer>> controlPointMap = new HashMap<IDIYComponent<?>, Set<Integer>>();
|
||||||
// If there aren't any control points, try to add all the selected
|
// If there aren't any control points, try to add all the selected
|
||||||
// components with all their control points. That will allow the
|
// components with all their control points. That will allow the
|
||||||
@@ -878,7 +878,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (affectStuckComponents) {
|
if (includeStuckComponents) {
|
||||||
includeStuckComponents(controlPointMap);
|
includeStuckComponents(controlPointMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -7,9 +7,10 @@
|
|||||||
<classpathentry kind="lib" path="lib/junit-4.7.jar"/>
|
<classpathentry kind="lib" path="lib/junit-4.7.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/iText-2.1.7.jar"/>
|
<classpathentry kind="lib" path="lib/iText-2.1.7.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/jettison-1.0.1.jar"/>
|
<classpathentry kind="lib" path="lib/jettison-1.0.1.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/app-framework.jar"/>
|
<classpathentry kind="lib" path="lib/app-framework.jar" sourcepath="/app-framework"/>
|
||||||
<classpathentry kind="lib" path="lib/swing-framework.jar"/>
|
<classpathentry kind="lib" path="lib/swing-framework.jar" sourcepath="/swing-framework"/>
|
||||||
<classpathentry kind="lib" path="library/main.jar" sourcepath="/diylc-library"/>
|
<classpathentry kind="lib" path="library/main.jar" sourcepath="/diylc-library"/>
|
||||||
|
<classpathentry kind="lib" path="lib/balloontip-1.2.4.1.jar"/>
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/diylc-core"/>
|
<classpathentry combineaccessrules="false" kind="src" path="/diylc-core"/>
|
||||||
<classpathentry kind="lib" path="lib/xstream-1.4.3.jar"/>
|
<classpathentry kind="lib" path="lib/xstream-1.4.3.jar"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_45"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_45"/>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -86,7 +86,7 @@ public class MainFrame extends JFrame implements ISwingUI {
|
|||||||
public MainFrame() {
|
public MainFrame() {
|
||||||
super("DIYLC 3");
|
super("DIYLC 3");
|
||||||
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||||
setPreferredSize(new Dimension(800, 600));
|
setPreferredSize(new Dimension(1024, 768));
|
||||||
createBasePanels();
|
createBasePanels();
|
||||||
menuMap = new HashMap<String, JMenu>();
|
menuMap = new HashMap<String, JMenu>();
|
||||||
buttonGroupMap = new HashMap<String, ButtonGroup>();
|
buttonGroupMap = new HashMap<String, ButtonGroup>();
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import java.awt.event.MouseEvent;
|
|||||||
import java.awt.geom.Point2D;
|
import java.awt.geom.Point2D;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.Format;
|
import java.text.Format;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -27,6 +28,10 @@ import javax.swing.JLabel;
|
|||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
|
||||||
|
import net.java.balloontip.BalloonTip;
|
||||||
|
import net.java.balloontip.styles.EdgedBalloonStyle;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.diylc.announcements.AnnouncementProvider;
|
import org.diylc.announcements.AnnouncementProvider;
|
||||||
@@ -93,7 +98,20 @@ public class StatusBar extends JPanel implements IPlugIn {
|
|||||||
@Override
|
@Override
|
||||||
public String doInBackground() throws Exception {
|
public String doInBackground() throws Exception {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
return announcementProvider.getCurrentAnnouncements(false);
|
String announcements = announcementProvider.getCurrentAnnouncements(false);
|
||||||
|
|
||||||
|
String update = getUpdateLabel().getUpdateChecker().findNewVersionShort();
|
||||||
|
|
||||||
|
if (update != null) {
|
||||||
|
String updateHtml =
|
||||||
|
"<font size='4'><b>New version available:</b> " + update
|
||||||
|
+ "</font><br>Click the lighbulb icon in the bottom-right corner of the window for more info.";
|
||||||
|
if (announcements == null || announcements.length() == 0)
|
||||||
|
return "<html>" + updateHtml + "</html>";
|
||||||
|
announcements = announcements.replace("<html>", "<html>" + updateHtml + "<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
return announcements;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -104,7 +122,8 @@ public class StatusBar extends JPanel implements IPlugIn {
|
|||||||
@Override
|
@Override
|
||||||
public void complete(String result) {
|
public void complete(String result) {
|
||||||
if (result != null && result.length() > 0) {
|
if (result != null && result.length() > 0) {
|
||||||
StatusBar.this.swingUI.showMessage(result, "Public Announcement", IView.INFORMATION_MESSAGE);
|
new BalloonTip(getUpdateLabel(), result, new EdgedBalloonStyle(UIManager.getColor("ToolTip.background"),
|
||||||
|
UIManager.getColor("ToolTip.foreground")), true);
|
||||||
announcementProvider.dismissed();
|
announcementProvider.dismissed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1730,6 +1730,10 @@
|
|||||||
<changeType>IMPROVEMENT</changeType>
|
<changeType>IMPROVEMENT</changeType>
|
||||||
<description>Use standard OSX/Mac "command" key for menu shortcuts and to un-stuck components</description>
|
<description>Use standard OSX/Mac "command" key for menu shortcuts and to un-stuck components</description>
|
||||||
</org.diylc.appframework.update.Change>
|
</org.diylc.appframework.update.Change>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>IMPROVEMENT</changeType>
|
||||||
|
<description>Use balloon to show announcements and update notifications</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
<org.diylc.appframework.update.Change>
|
<org.diylc.appframework.update.Change>
|
||||||
<changeType>BUG_FIX</changeType>
|
<changeType>BUG_FIX</changeType>
|
||||||
<description>Issues with DIL and SIL IC pin alignment when using metric grid and pin spacing</description>
|
<description>Issues with DIL and SIL IC pin alignment when using metric grid and pin spacing</description>
|
||||||
|
|||||||
Reference in New Issue
Block a user