/* * Get Organized - Organize your schedule, course assignments, and grades * Copyright © 2012 Alex Laird * getorganized@alexlaird.com * alexlaird.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package adl.go.gui; import adl.go.gui.ColoredComponent.GradientStyle; import java.awt.Color; import java.awt.Cursor; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.ResourceBundle; /** * The Helium dialog. * * @author Alex Laird */ public class HeliumDialog extends EscapeDialog { /** * Construct the Helium dialog. * * @param viewPanel A reference to the view panel. */ public HeliumDialog(ViewPanel viewPanel) { super (viewPanel.mainFrame); setMainPanel (viewPanel); initComponents (); } /** * Initialize the Helium dialog. */ public void init() { setTitle ("Switch to Helium!"); heliumJPanel.setBackground (viewPanel.domain.utility.currentTheme.colorSingleWindowBackground1); heliumCloseButton.setFont (viewPanel.domain.utility.currentTheme.fontPlain12); heliumCloseButton.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground); heliumIntroLabel1.setFont (viewPanel.domain.utility.currentTheme.fontBold14); hyperlinkLabel1.setFont (viewPanel.domain.utility.currentTheme.fontPlain12); heliumIntroLabel.setFont (viewPanel.domain.utility.currentTheme.fontPlain12); heliumIntroLabel2.setFont (viewPanel.domain.utility.currentTheme.fontPlain12); dontShowCheckBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12); heliumImg.setFont (viewPanel.domain.utility.currentTheme.fontPlain12); heliumIntroLabel.setFont (viewPanel.domain.utility.currentTheme.fontPlain12); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings ("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { heliumJPanel = new adl.go.gui.ColoredJPanel(GradientStyle.VERTICAL_GRADIENT_DOWN, Color.WHITE); closeButtonPanel = new javax.swing.JPanel(); heliumCloseButton = new javax.swing.JButton(); dontShowCheckBox = new javax.swing.JCheckBox(); hyperlinkLabel1 = new javax.swing.JLabel(); heliumImg = new javax.swing.JLabel(); heliumLabel = new javax.swing.JLabel(); heliumIntroLabel = new javax.swing.JLabel(); heliumImg1 = new javax.swing.JLabel(); heliumIntroLabel1 = new javax.swing.JLabel(); heliumIntroLabel2 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setResizable(false); closeButtonPanel.setOpaque(false); heliumCloseButton.setText("Close"); heliumCloseButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { heliumCloseButtonActionPerformed(evt); } }); closeButtonPanel.add(heliumCloseButton); dontShowCheckBox.setText("Don't show this dialog on startup"); dontShowCheckBox.setOpaque(false); dontShowCheckBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { dontShowCheckBoxActionPerformed(evt); } }); closeButtonPanel.add(dontShowCheckBox); hyperlinkLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); hyperlinkLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adl/go/images/helium.png"))); // NOI18N hyperlinkLabel1.setText("<html><a href=\"http://www.heliumedu.com\">Get Organized has been replaced with Helium. Switch today!</a></html>"); hyperlinkLabel1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(java.awt.event.MouseEvent evt) { hyperlinkLabel1MouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { hyperlinkLabel1MouseExited(evt); } public void mouseReleased(java.awt.event.MouseEvent evt) { hyperlinkLabel1MouseReleased(evt); } }); heliumImg.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adl/go/images/helium_calendar.png"))); // NOI18N heliumLabel.setFont(new java.awt.Font("Verdana", 1, 14)); // NOI18N heliumLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); heliumLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adl/go/images/helium_logo.png"))); // NOI18N heliumIntroLabel.setText("<html>A brand new school year means it's time for a new take on student success and organization, so we're pleased to announce Helium—an innovative revamp replacing Get Organized.<br /><br />Helium is your ticket to the top of the class, with every tool you'll need for easier schedule management, more flexible assignment organization, due date notifications, and improved full-scope grade tracking in a sleek, easy-to-use, online format.</html>"); heliumIntroLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP); heliumImg1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adl/go/images/helium_grades.png"))); // NOI18N heliumIntroLabel1.setText("<html>Looking to Get Organized? Try Helium Instead!</html>"); heliumIntroLabel2.setText("<html>Now web-based and mobile-friendly, Helium is Get Organized taken to the next level, with the goal of taking your success as a student to the next level with it. And don't worry, your entire Get Organized schedule can be easily imported into Helium. Switch today!</html>"); javax.swing.GroupLayout heliumJPanelLayout = new javax.swing.GroupLayout(heliumJPanel); heliumJPanel.setLayout(heliumJPanelLayout); heliumJPanelLayout.setHorizontalGroup( heliumJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(heliumJPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(heliumJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(heliumLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 493, Short.MAX_VALUE) .addComponent(closeButtonPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 493, Short.MAX_VALUE) .addComponent(hyperlinkLabel1) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, heliumJPanelLayout.createSequentialGroup() .addGroup(heliumJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(heliumIntroLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addComponent(heliumIntroLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(heliumJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(heliumImg1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(heliumImg, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addComponent(heliumIntroLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); heliumJPanelLayout.setVerticalGroup( heliumJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(heliumJPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(heliumLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(heliumJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(heliumJPanelLayout.createSequentialGroup() .addComponent(heliumIntroLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(heliumIntroLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 249, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(heliumJPanelLayout.createSequentialGroup() .addComponent(heliumImg, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(heliumImg1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(heliumIntroLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(hyperlinkLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(closeButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(heliumJPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(heliumJPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); pack(); }// </editor-fold>//GEN-END:initComponents private void heliumCloseButtonActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_heliumCloseButtonActionPerformed {//GEN-HEADEREND:event_heliumCloseButtonActionPerformed dispose (); viewPanel.requestFocus (); }//GEN-LAST:event_heliumCloseButtonActionPerformed private void hyperlinkLabel1MouseReleased(java.awt.event.MouseEvent evt)//GEN-FIRST:event_hyperlinkLabel1MouseReleased {//GEN-HEADEREND:event_hyperlinkLabel1MouseReleased if (Domain.desktop != null) { try { Domain.desktop.browse (new URI ("https://www.heliumedu.com")); } catch (IOException ex) { Domain.LOGGER.add (ex); } catch (URISyntaxException ex) { Domain.LOGGER.add (ex); } } }//GEN-LAST:event_hyperlinkLabel1MouseReleased private void hyperlinkLabel1MouseEntered(java.awt.event.MouseEvent evt)//GEN-FIRST:event_hyperlinkLabel1MouseEntered {//GEN-HEADEREND:event_hyperlinkLabel1MouseEntered setCursor (Cursor.getPredefinedCursor (Cursor.HAND_CURSOR)); }//GEN-LAST:event_hyperlinkLabel1MouseEntered private void hyperlinkLabel1MouseExited(java.awt.event.MouseEvent evt)//GEN-FIRST:event_hyperlinkLabel1MouseExited {//GEN-HEADEREND:event_hyperlinkLabel1MouseExited setCursor (Cursor.getDefaultCursor()); }//GEN-LAST:event_hyperlinkLabel1MouseExited private void dontShowCheckBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_dontShowCheckBoxActionPerformed {//GEN-HEADEREND:event_dontShowCheckBoxActionPerformed viewPanel.domain.utility.preferences.dontShowHelium = dontShowCheckBox.isSelected (); viewPanel.domain.needsPreferencesSave = true; }//GEN-LAST:event_dontShowCheckBoxActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel closeButtonPanel; protected javax.swing.JCheckBox dontShowCheckBox; private javax.swing.JButton heliumCloseButton; private javax.swing.JLabel heliumImg; private javax.swing.JLabel heliumImg1; private javax.swing.JLabel heliumIntroLabel; private javax.swing.JLabel heliumIntroLabel1; private javax.swing.JLabel heliumIntroLabel2; protected adl.go.gui.ColoredJPanel heliumJPanel; private javax.swing.JLabel heliumLabel; private javax.swing.JLabel hyperlinkLabel1; // End of variables declaration//GEN-END:variables /** * Launch the Helium dialog. */ protected void goViewHelium() { dontShowCheckBox.setSelected (viewPanel.domain.utility.preferences.dontShowGettingStarted); pack (); setLocationRelativeTo (viewPanel); setVisible (true); } /** * Apply the language for this dialog. * * @param language The language resource to be applied. */ public void applyLanguage(ResourceBundle language) { } }