001 package org.shiftone.jrat.desktop.util;
002
003 import org.jdesktop.swingx.JXTipOfTheDay;
004 import org.jdesktop.swingx.tips.TipLoader;
005 import org.jdesktop.swingx.tips.TipOfTheDayModel;
006 import org.shiftone.jrat.desktop.DesktopPreferences;
007 import org.shiftone.jrat.util.io.ResourceUtil;
008
009 import java.awt.*;
010 import java.util.Random;
011
012 /**
013 * @author (jeff@shiftone.org) Jeff Drost
014 */
015 public class Tips {
016
017 private static final TipOfTheDayModel MODEL = TipLoader.load(
018 ResourceUtil.getResourceAsProperties(
019 "org/shiftone/jrat/desktop/tips.properties"
020 )
021 );
022
023 private static final JXTipOfTheDay TOTD = new JXTipOfTheDay(MODEL);
024
025 public static void show(Component parent, boolean force) {
026 TOTD.setCurrentTip(new Random().nextInt(MODEL.getTipCount() - 1));
027 TOTD.showDialog(parent, new Choice(), force);
028 }
029
030 private static class Choice implements JXTipOfTheDay.ShowOnStartupChoice {
031
032 public void setShowingOnStartup(boolean showOnStartup) {
033 DesktopPreferences.setShowTipsOnStartup(showOnStartup);
034 }
035
036 public boolean isShowingOnStartup() {
037 return DesktopPreferences.isShowTipsOnStartup();
038 }
039 }
040 }