/* * Copyright 2012-2013 Ontology Engineering Group, Universidad Politecnica de Madrid, Spain Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ /* * WidocoGui2.java * * Created on 16-jun-2014, 21:38:19 */ package widoco.gui; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Image; import java.awt.Toolkit; import java.io.File; import java.net.URI; import java.net.URISyntaxException; import javax.swing.ImageIcon; import javax.swing.JOptionPane; /** * * @author Daniel Garijo */ public class GuiStep5 extends javax.swing.JFrame { GuiController g; /** Creates new form WidocoGui2 * @param g * @param isSkeleton */ public GuiStep5(GuiController g, boolean isSkeleton) { initComponents(); this.g = g; initializeGUI(isSkeleton); } private void initializeGUI(boolean isSkeleton){ Image l = g.getConfig().getWidocoLogo().getScaledInstance(widocoLogo.getWidth(), widocoLogo.getHeight(), Image.SCALE_SMOOTH); widocoLogo.setIcon(new ImageIcon(l)); this.setIconImage(g.getConfig().getWidocoLogoMini()); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // Determine the new location of the window int w = this.getSize().width; int h = this.getSize().height; int x = (dim.width-w)/2; int y = (dim.height-h)/2; // Move the window this.setLocation(x, y); if(isSkeleton){ labelOops.setEnabled(false); labelOops.setVisible(false); OOPSLogo.setVisible(false); } labelIsOntologyDocClicked.setVisible(false); labelStatusOOPS.setVisible(false); this.barStatus.setVisible(false); this.barStatus.setIndeterminate(false); labelProblems.setVisible(false); } public void stopLoadingSign(){ this.barStatus.setVisible(false); this.barStatus.setIndeterminate(false); this.labelStatusOOPS.setText("Evaluation saved in the documentation folder"); // this.labelStatusOOPS.setVisible(false); } public void updateMessage(String s){ this.labelStatusOOPS.setText(s); } /** 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() { buttonGroup1 = new javax.swing.ButtonGroup(); nextButton = new javax.swing.JButton(); backButton = new javax.swing.JButton(); jSeparator1 = new javax.swing.JSeparator(); jScrollPane1 = new javax.swing.JScrollPane(); textPaneSteps = new javax.swing.JTextPane(); jSeparator2 = new javax.swing.JSeparator(); labelTitle = new javax.swing.JLabel(); labelSteps = new javax.swing.JLabel(); labelTitle1 = new javax.swing.JLabel(); labelViewDoc = new javax.swing.JLabel(); labelOops = new javax.swing.JLabel(); OOPSLogo = new javax.swing.JLabel(); labelIsOntologyDocClicked = new javax.swing.JLabel(); labelStatusOOPS = new javax.swing.JLabel(); barStatus = new javax.swing.JProgressBar(); widocoLogo = new javax.swing.JLabel(); labelProblems = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Finish documentation"); setResizable(false); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } }); nextButton.setText("Finish"); nextButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { nextButtonActionPerformed(evt); } }); backButton.setText("Restart"); backButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { backButtonActionPerformed(evt); } }); textPaneSteps.setEditable(false); textPaneSteps.setContentType("text/html"); // NOI18N textPaneSteps.setText("<html>\r\n <head>\r\n\r\n </head>\r\n <body>\r \n1. Select template<br/> \n2. Load metadata<br/>\n3. Load sections<br/>\n<b>4. Finish</b>\n </body>\r\n</html>\r\n"); jScrollPane1.setViewportView(textPaneSteps); labelTitle.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N labelTitle.setText("You are done!"); labelSteps.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N labelSteps.setText("Steps"); labelTitle1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N labelTitle1.setText("The documentation was generated successfully. Now you can: "); labelViewDoc.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N labelViewDoc.setForeground(new java.awt.Color(0, 0, 255)); labelViewDoc.setText("View the ontology documentation in your Web browser"); labelViewDoc.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { labelViewDocMouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { labelViewDocMouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { labelViewDocMouseExited(evt); } }); labelOops.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N labelOops.setForeground(new java.awt.Color(0, 0, 255)); labelOops.setText("Validate ontology with OOPS!"); labelOops.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { labelOopsMouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { labelOopsMouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { labelOopsMouseExited(evt); } }); OOPSLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/oops/logoMini.png"))); // NOI18N OOPSLogo.setToolTipText("Click to go to the OOPS! Web Page"); OOPSLogo.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { OOPSLogoMouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { OOPSLogoMouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { OOPSLogoMouseExited(evt); } }); labelIsOntologyDocClicked.setText("Opening... it might take a while!"); labelStatusOOPS.setText("Loading... it might take a few seconds"); labelProblems.setForeground(new java.awt.Color(0, 0, 255)); labelProblems.setText("Click here if you cannot see your ontology"); labelProblems.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { labelProblemsMouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { labelProblemsMouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { labelProblemsMouseExited(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(backButton, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(nextButton, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jSeparator2, javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(labelSteps, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(widocoLogo, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(20, 20, 20) .addComponent(labelTitle1)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(labelTitle, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE))) .addGroup(layout.createSequentialGroup() .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(labelIsOntologyDocClicked) .addComponent(labelOops) .addComponent(labelProblems)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(OOPSLogo, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(barStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(labelStatusOOPS)) .addComponent(labelViewDoc)) .addGap(0, 0, Short.MAX_VALUE))))))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(widocoLogo, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(labelSteps)) .addGroup(layout.createSequentialGroup() .addGap(22, 22, 22) .addComponent(labelTitle, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(12, 12, 12) .addComponent(labelTitle1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(labelViewDoc) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(labelIsOntologyDocClicked) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addGroup(layout.createSequentialGroup() .addComponent(labelProblems) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(labelOops) .addGap(13, 13, 13) .addComponent(barStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addComponent(OOPSLogo, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(labelStatusOOPS)))) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, Short.MAX_VALUE) .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(backButton) .addComponent(nextButton)) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void backButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_backButtonActionPerformed g.switchState("restart"); }//GEN-LAST:event_backButtonActionPerformed private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextButtonActionPerformed g.switchState("cancel"); }//GEN-LAST:event_nextButtonActionPerformed private void labelOopsMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelOopsMouseClicked this.barStatus.setVisible(true); this.barStatus.setIndeterminate(true); this.g.switchState("evaluate"); this.labelStatusOOPS.setVisible(true); }//GEN-LAST:event_labelOopsMouseClicked private void labelViewDocMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelViewDocMouseClicked String url = g.getConfig().getDocumentationURI(); if(!g.getConfig().getMainOntology().isHashOntology()){ url+=File.separator+"doc"; } if(url!=null &&!"".equals(url)) { File f = new File(url+File.separator+"index-"+g.getConfig().getLanguagesToGenerateDoc().get(0)+".html"); if(f.exists()){ this.labelIsOntologyDocClicked.setVisible(true); this.labelProblems.setVisible(true); g.openBrowser(f.toURI()); }else{ JOptionPane.showMessageDialog(this,"There were errors creating the documentation. I cannot open it."); } } }//GEN-LAST:event_labelViewDocMouseClicked private void labelOopsMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelOopsMouseEntered setCursor (Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); }//GEN-LAST:event_labelOopsMouseEntered private void labelOopsMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelOopsMouseExited setCursor (Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); }//GEN-LAST:event_labelOopsMouseExited private void labelViewDocMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelViewDocMouseEntered setCursor (Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); }//GEN-LAST:event_labelViewDocMouseEntered private void labelViewDocMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelViewDocMouseExited setCursor (Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); }//GEN-LAST:event_labelViewDocMouseExited private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing this.g.switchState("cancel"); }//GEN-LAST:event_formWindowClosing private void OOPSLogoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_OOPSLogoMouseClicked try { g.openBrowser(new URI("http://www.oeg-upm.net/oops/")); } catch (URISyntaxException ex) { } }//GEN-LAST:event_OOPSLogoMouseClicked private void OOPSLogoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_OOPSLogoMouseEntered setCursor (Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); }//GEN-LAST:event_OOPSLogoMouseEntered private void OOPSLogoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_OOPSLogoMouseExited setCursor (Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); }//GEN-LAST:event_OOPSLogoMouseExited private void labelProblemsMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelProblemsMouseClicked try { g.openBrowser(new URI("https://github.com/dgarijo/Widoco#browser-problems")); } catch (URISyntaxException ex) { } }//GEN-LAST:event_labelProblemsMouseClicked private void labelProblemsMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelProblemsMouseEntered setCursor (Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); }//GEN-LAST:event_labelProblemsMouseEntered private void labelProblemsMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_labelProblemsMouseExited setCursor (Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); }//GEN-LAST:event_labelProblemsMouseExited // //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. // * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html // */ // try { // for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { // if ("Nimbus".equals(info.getName())) { // javax.swing.UIManager.setLookAndFeel(info.getClassName()); // break; // } // } // } catch (ClassNotFoundException ex) { // java.util.logging.Logger.getLogger(GuiStep5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (InstantiationException ex) { // java.util.logging.Logger.getLogger(GuiStep5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (IllegalAccessException ex) { // java.util.logging.Logger.getLogger(GuiStep5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (javax.swing.UnsupportedLookAndFeelException ex) { // java.util.logging.Logger.getLogger(GuiStep5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } // //</editor-fold> // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel OOPSLogo; private javax.swing.JButton backButton; private javax.swing.JProgressBar barStatus; private javax.swing.ButtonGroup buttonGroup1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JLabel labelIsOntologyDocClicked; private javax.swing.JLabel labelOops; private javax.swing.JLabel labelProblems; private javax.swing.JLabel labelStatusOOPS; private javax.swing.JLabel labelSteps; private javax.swing.JLabel labelTitle; private javax.swing.JLabel labelTitle1; private javax.swing.JLabel labelViewDoc; private javax.swing.JButton nextButton; private javax.swing.JTextPane textPaneSteps; private javax.swing.JLabel widocoLogo; // End of variables declaration//GEN-END:variables }