diff --git a/README.md b/README.md index ca84b5d..5129ad7 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ WIzard for DOCumenting Ontologies (WIDOCO) **Author**: Daniel Garijo Verdejo -**Contributors**: María Poveda, Idafen Santana, Almudena Ruiz, Miguel Angel García, Oscar Corcho, Daniel Vila and Sergio Barrio. +**Contributors**: María Poveda, Idafen Santana, Almudena Ruiz, Miguel Angel García, Oscar Corcho, Daniel Vila, Sergio Barrio, Martin Scharm, Maxime Lefrancois. **Citing WIDOCO**: Please cite the latest version of WIDOCO in Zenodo: https://zenodo.org/badge/latestdoi/11427075. Also see our ISWC 2017 paper: https://iswc2017.semanticweb.org/paper-138 @@ -71,6 +71,8 @@ The `-licensius` flag uses the Licensius web services (http://licensius.com/apid The `-ignoreIndividuals` allows you to ignore the named individuals in the ontology. +The `-includeAnnotationProperties` will include annotation properties defined in your ontology (by default they are not included) + How can I make WIDOCO automatically recognize my vocabulary annotations? ========== There are two ways for making WIDOCO get your vocabulary metadata annotations and use them automatically to document the ontology. diff --git a/src/main/java/widoco/Configuration.java b/src/main/java/widoco/Configuration.java index 41e3ce5..d6d058b 100644 --- a/src/main/java/widoco/Configuration.java +++ b/src/main/java/widoco/Configuration.java @@ -167,10 +167,10 @@ public final void initializeConfig(){ includeIndex = true; includeChangeLog = true; if(languages==null){ - currentLanguage = "en"; languages = new HashMap(); - languages.put("en", false); } + currentLanguage = "en"; + languages.put("en", false); useW3CStyle = true;//by default error = ""; addImportedOntologies = false; @@ -199,10 +199,11 @@ private void initializeOntology(){ License l = new License(); mainOntologyMetadata.setLicense(l); mainOntologyMetadata.setSerializations(new HashMap()); - //add default serializations: rdf/xml, n3 and turtle + //add default serializations: rdf/xml, n3, turtle and json-ld mainOntologyMetadata.addSerialization("RDF/XML", "ontology.xml"); mainOntologyMetadata.addSerialization("TTL", "ontology.ttl"); mainOntologyMetadata.addSerialization("N-Triples", "ontology.nt"); + mainOntologyMetadata.addSerialization("JSON-LD", "ontology.json"); mainOntologyMetadata.setCreators(new ArrayList()); mainOntologyMetadata.setContributors(new ArrayList()); mainOntologyMetadata.setCiteAs(""); @@ -385,7 +386,8 @@ public void loadPropertiesFromOntology(OWLOntology o){ //get name, get URI, add to the config Ontology ont = new Ontology(); ont.setNamespaceURI(i.getOntologyID().getOntologyIRI().get().toString()); - ont.setName(i.getOntologyID().getOntologyIRI().get().getShortForm()); + ont.setName(i.getOntologyID().getOntologyIRI().get().getShortForm().replace("<", "<").replace(">", ">")); + //added replacements so they will be shown in html mainOntologyMetadata.getImportedOntologies().add(ont); }); this.mainOntologyMetadata.setThisVersion(versionUri); @@ -479,49 +481,57 @@ private void completeMetadata(OWLAnnotation a){ mainOntologyMetadata.setNamespaceURI(value); break; case Constants.PROP_DCTERMS_LICENSE: case Constants.PROP_DC_RIGHTS: - case Constants.PROP_SCHEMA_LICENSE: case Constants.PROP_CC_LICENSE: - value = WidocoUtils.getValueAsLiteralOrURI(a.getValue()); - License l = new License(); - if(isURL(value)){ - l.setUrl(value); - l.setName(value); - }else{ - l.setName(value); + case Constants.PROP_SCHEMA_LICENSE: case Constants.PROP_CC_LICENSE: + try{ + value = WidocoUtils.getValueAsLiteralOrURI(a.getValue()); + License l = new License(); + if(isURL(value)){ + l.setUrl(value); + l.setName(value); + }else{ + l.setName(value); + } + mainOntologyMetadata.setLicense(l); + }catch(Exception e){ + System.err.println("Could not retrieve license. Please avoid using blank nodes..."); } - mainOntologyMetadata.setLicense(l); break; case Constants.PROP_DC_CONTRIBUTOR: case Constants.PROP_DCTERMS_CONTRIBUTOR: case Constants.PROP_SCHEMA_CONTRIBUTOR: case Constants.PROP_PAV_CONTRIBUTED_BY: - case Constants.PROP_DC_CREATOR: case Constants.PROP_DCTERMS_CREATOR: case Constants.PROP_SCHEMA_CREATOR: - case Constants.PROP_PAV_CREATED_BY: case Constants.PROP_PROV_ATTRIBUTED_TO: - case Constants.PROP_DC_PUBLISHER: case Constants.PROP_DCTERMS_PUBLISHER: - case Constants.PROP_SCHEMA_PUBLISER: - value = WidocoUtils.getValueAsLiteralOrURI(a.getValue()); - Agent g = new Agent(); - if(isURL(value)){ - g.setURL(value); - g.setName(value); - }else{ - g.setName(value); - g.setURL(""); - } - switch (propertyName) { - case Constants.PROP_DC_CONTRIBUTOR: case Constants.PROP_DCTERMS_CONTRIBUTOR: - case Constants.PROP_SCHEMA_CONTRIBUTOR: case Constants.PROP_PAV_CONTRIBUTED_BY: - mainOntologyMetadata.getContributors().add(g); - break; - case Constants.PROP_DC_CREATOR: case Constants.PROP_DCTERMS_CREATOR: - case Constants.PROP_PAV_CREATED_BY: case Constants.PROP_PROV_ATTRIBUTED_TO: - case Constants.PROP_SCHEMA_CREATOR: - mainOntologyMetadata.getCreators().add(g); - break; - default: - mainOntologyMetadata.setPublisher(g); - break; + case Constants.PROP_DC_CREATOR: case Constants.PROP_DCTERMS_CREATOR: case Constants.PROP_SCHEMA_CREATOR: + case Constants.PROP_PAV_CREATED_BY: case Constants.PROP_PROV_ATTRIBUTED_TO: + case Constants.PROP_DC_PUBLISHER: case Constants.PROP_DCTERMS_PUBLISHER: + case Constants.PROP_SCHEMA_PUBLISER: + try{ + value = WidocoUtils.getValueAsLiteralOrURI(a.getValue()); + Agent g = new Agent(); + if(isURL(value)){ + g.setURL(value); + g.setName(value); + }else{ + g.setName(value); + g.setURL(""); + } + switch (propertyName) { + case Constants.PROP_DC_CONTRIBUTOR: case Constants.PROP_DCTERMS_CONTRIBUTOR: + case Constants.PROP_SCHEMA_CONTRIBUTOR: case Constants.PROP_PAV_CONTRIBUTED_BY: + mainOntologyMetadata.getContributors().add(g); + break; + case Constants.PROP_DC_CREATOR: case Constants.PROP_DCTERMS_CREATOR: + case Constants.PROP_PAV_CREATED_BY: case Constants.PROP_PROV_ATTRIBUTED_TO: + case Constants.PROP_SCHEMA_CREATOR: + mainOntologyMetadata.getCreators().add(g); + break; + default: + mainOntologyMetadata.setPublisher(g); + break; + } + }catch(Exception e){ + System.err.println("Could not retrieve cretor/contirbutor. Please avoid using blank nodes..."); } break; case Constants.PROP_DCTERMS_CREATED: case Constants.PROP_SCHEMA_DATE_CREATED: - case Constants.PROP_PROV_GENERATED_AT_TIME: case Constants.PROP_PAV_CREATED_ON: + case Constants.PROP_PROV_GENERATED_AT_TIME: case Constants.PROP_PAV_CREATED_ON: if(mainOntologyMetadata.getReleaseDate()==null || "".equals(mainOntologyMetadata.getReleaseDate())){ value = a.getValue().asLiteral().get().getLiteral(); mainOntologyMetadata.setReleaseDate(value); diff --git a/src/main/java/widoco/Constants.java b/src/main/java/widoco/Constants.java index e2680cc..c7350df 100644 --- a/src/main/java/widoco/Constants.java +++ b/src/main/java/widoco/Constants.java @@ -525,7 +525,7 @@ public static String getIndexDocument(String resourcesFolderName,Configuration c if(c.getMainOntology().getTitle()!=null &&!"".equals(c.getMainOntology().getTitle())) document += " "+c.getMainOntology().getTitle()+"\n"; else - document += " Ontologies Documentation generated by WIDOCO\n"; + document += " Ontology Documentation generated by WIDOCO\n"; @@ -782,6 +782,8 @@ public static String getProvenanceRDF(Configuration c){ if(c.getMainOntology().getTitle()!=null &&!"".equals(c.getMainOntology().getTitle())){ provrdf+= "\t dc:title \""+c.getMainOntology().getTitle()+"\";\n"; } + String agents = ""; + int i = 0; if(!c.getMainOntology().getCreators().isEmpty()){ Iterator creators = c.getMainOntology().getCreators().iterator(); while(creators.hasNext()){ @@ -791,7 +793,9 @@ public static String getProvenanceRDF(Configuration c){ provrdf+= "\t prov:wasAttributedTo <"+currCreator.getURL()+">;\n"; provrdf+= "\t dc:creator <"+currCreator.getURL()+">;\n"; }else{ - provrdf+= "\t prov:wasAttributedTo [ a prov:Agent; foaf:name \""+currCreator.getName()+"\".];\n"; + provrdf+= "\t prov:wasAttributedTo :agent"+i+";\n";//[ a prov:Agent; foaf:name \""+currCreator.getName()+"\".];\n"; + agents +=":agent"+i+" a prov:Agent; foaf:name \""+currCreator.getName()+"\".\n"; + i++; } } } @@ -803,7 +807,9 @@ public static String getProvenanceRDF(Configuration c){ provrdf+= "\t prov:wasAttributedTo <"+currContrib.getURL()+">;\n"; provrdf+= "\t dc:contributor <"+currContrib.getURL()+">;\n"; }else{ - provrdf+= "\t prov:wasAttributedTo [ a prov:Agent; foaf:name \""+currContrib.getName()+"\".];\n"; + provrdf+= "\t prov:wasAttributedTo :agent"+i+";\n";//[ a prov:Agent; foaf:name \""+currContrib.getName()+"\".];\n"; + agents +=":agent"+i+" a prov:Agent; foaf:name \""+currContrib.getName()+"\".\n"; + i++; } } } @@ -818,6 +824,7 @@ public static String getProvenanceRDF(Configuration c){ provrdf+="\t prov:wasGeneratedAt \""+c.getMainOntology().getReleaseDate()+"\";\n"; } provrdf +=".\n"; + provrdf += agents; return provrdf; } diff --git a/src/main/java/widoco/CreateResources.java b/src/main/java/widoco/CreateResources.java index cfb3d86..cd76545 100644 --- a/src/main/java/widoco/CreateResources.java +++ b/src/main/java/widoco/CreateResources.java @@ -32,6 +32,7 @@ import lode.LODEGeneration; import org.semanticweb.owlapi.formats.N3DocumentFormat; import org.semanticweb.owlapi.formats.NTriplesDocumentFormat; +import org.semanticweb.owlapi.formats.RDFJsonLDDocumentFormat; import org.semanticweb.owlapi.formats.RDFXMLDocumentFormat; import org.semanticweb.owlapi.formats.TurtleDocumentFormat; import org.semanticweb.owlapi.model.OWLOntology; @@ -46,7 +47,7 @@ */ public class CreateResources { - //to do: analyze if this is the right name for the class. Maybe "generate" is better + public static void generateDocumentation(String outFolder, Configuration c, File lodeResources) throws Exception{ String lodeContent; String folderOut = outFolder; @@ -115,6 +116,7 @@ public static void generateDocumentation(String outFolder, Configuration c, File WidocoUtils.writeModel(om, o, new RDFXMLDocumentFormat(), folderOut+File.separator+"ontology.xml"); WidocoUtils.writeModel(om, o, new TurtleDocumentFormat(), folderOut+File.separator+"ontology.ttl"); WidocoUtils.writeModel(om, o, new NTriplesDocumentFormat(), folderOut+File.separator+"ontology.nt"); + WidocoUtils.writeModel(om, o, new RDFJsonLDDocumentFormat(), folderOut+File.separator+"ontology.json"); if(c.isIncludeIndex()){ createIndexDocument(folderOut,c, lode, languageFile); } diff --git a/src/main/java/widoco/gui/GuiController.java b/src/main/java/widoco/gui/GuiController.java index 7e8d62f..6363983 100644 --- a/src/main/java/widoco/gui/GuiController.java +++ b/src/main/java/widoco/gui/GuiController.java @@ -71,7 +71,7 @@ public GuiController(String[] args){ String outFolder="myDocumentation"+(new Date().getTime()), ontology="", configOutFile=null; boolean isFromFile=false, oops = false, rewriteAll=false, getOntoMetadata = true, useW3Cstyle = true, includeImportedOntologies = false, htAccess = false, webVowl=false, errors = false, licensius = false, - generateOnlyCrossRef = false, includeNamedIndividuals=true; + generateOnlyCrossRef = false, includeNamedIndividuals=true, includeAnnotationProperties = false; String confPath=""; String[] languages = null; int i=0; @@ -133,11 +133,13 @@ public GuiController(String[] args){ break; case "-ignoreIndividuals": includeNamedIndividuals=false; - i++; + break; + case "-includeAnnotationProperties": + includeAnnotationProperties = true; break; default: System.out.println("Command"+s+" not recognized."); - System.out.println("Usage: java -jar widoco.jar [-ontFile file] or [-ontURI uri] [-outFolder folderName] [-confFile propertiesFile] [-getOntologyMetadata] [-oops] [-rewriteAll] [-crossRef] [-saveConfig configOutFile] [-lang lang1-lang2] [-includeImportedOntologies] [-htaccess] [-licensius] [-webVowl] [-ignoreIndividuals]\n"); + System.out.println("Usage: java -jar widoco.jar [-ontFile file] or [-ontURI uri] [-outFolder folderName] [-confFile propertiesFile] [-getOntologyMetadata] [-oops] [-rewriteAll] [-crossRef] [-saveConfig configOutFile] [-lang lang1-lang2] [-includeImportedOntologies] [-htaccess] [-licensius] [-webVowl] [-ignoreIndividuals] [-includeAnnotationProperties]\n"); return; } i++; @@ -171,6 +173,7 @@ public GuiController(String[] args){ this.config.setCreateWebVowlVisualization(webVowl); this.config.setUseLicensius(licensius); this.config.setIncludeNamedIndividuals(includeNamedIndividuals); + this.config.setIncludeAnnotationProperties(includeAnnotationProperties); if(languages!=null){ config.removeLanguageToGenerate("en");//default for (String language : languages) { diff --git a/src/main/java/widoco/gui/SelectLanguage.form b/src/main/java/widoco/gui/SelectLanguage.form index 2a37743..34afdac 100644 --- a/src/main/java/widoco/gui/SelectLanguage.form +++ b/src/main/java/widoco/gui/SelectLanguage.form @@ -5,6 +5,7 @@ + @@ -33,9 +34,9 @@ + - @@ -53,7 +54,7 @@ - + @@ -97,37 +98,36 @@ - + - + + - + - + + - + - - + - + - - + - + - + - + - - + diff --git a/src/main/java/widoco/gui/SelectLanguage.java b/src/main/java/widoco/gui/SelectLanguage.java index 95530ff..cd5ecc6 100644 --- a/src/main/java/widoco/gui/SelectLanguage.java +++ b/src/main/java/widoco/gui/SelectLanguage.java @@ -25,7 +25,7 @@ public class SelectLanguage extends javax.swing.JFrame { */ public SelectLanguage(GuiStep2 g, Configuration c) { initComponents(); - + this.setIconImage(c.getWidocoLogoMini()); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // Determine the new location of the window int w = this.getSize().width; @@ -51,7 +51,11 @@ else if(nextL.contains("es")){ } else if(nextL.contains("pt")){ pt.setSelected(true); - }else{ + } + else if(nextL.contains("fr")){ + fr.setSelected(true); + } + else{ otherText.setText(nextL); lang = nextL; } @@ -73,16 +77,17 @@ private void initComponents() { doneButton = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); otherText = new javax.swing.JTextField(); - en = new javax.swing.JRadioButton(); - es = new javax.swing.JRadioButton(); it = new javax.swing.JRadioButton(); - fr = new javax.swing.JRadioButton(); - pt = new javax.swing.JRadioButton(); de = new javax.swing.JRadioButton(); + en = new javax.swing.JCheckBox(); + fr = new javax.swing.JCheckBox(); + es = new javax.swing.JCheckBox(); + pt = new javax.swing.JCheckBox(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Languages..."); setAlwaysOnTop(true); + setResizable(false); jLabel1.setText("Select languages from the following list:"); @@ -95,21 +100,20 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jLabel2.setText("Other (will select labels in that lang):"); - en.setText("en (default)"); - - es.setText("es"); - it.setText("it (coming soon)"); it.setEnabled(false); - fr.setText("fr (coming soon)"); - fr.setEnabled(false); - - pt.setText("pt"); - de.setText("de (coming soon)"); de.setEnabled(false); + en.setText("en (default)"); + + fr.setText("fr"); + + es.setText("es"); + + pt.setText("pt"); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( @@ -122,9 +126,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(pt) + .addComponent(en) .addComponent(fr) .addComponent(es) - .addComponent(en) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(de) @@ -137,7 +141,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGap(9, 9, 9) .addComponent(en) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(es) @@ -178,6 +182,11 @@ private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI }else{ this.c.removeLanguageToGenerate("pt"); } + if(fr.isSelected()){ + this.c.addLanguageToGenerate("fr"); + }else{ + this.c.removeLanguageToGenerate("fr"); + } String otherL = otherText.getText(); if(!"".equals(otherL)){ this.c.addLanguageToGenerate(otherL); @@ -200,13 +209,13 @@ private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JRadioButton de; private javax.swing.JButton doneButton; - private javax.swing.JRadioButton en; - private javax.swing.JRadioButton es; - private javax.swing.JRadioButton fr; + private javax.swing.JCheckBox en; + private javax.swing.JCheckBox es; + private javax.swing.JCheckBox fr; private javax.swing.JRadioButton it; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JTextField otherText; - private javax.swing.JRadioButton pt; + private javax.swing.JCheckBox pt; // End of variables declaration//GEN-END:variables } diff --git a/src/main/java/widoco/gui/TestInterface.form b/src/main/java/widoco/gui/TestInterface.form new file mode 100644 index 0000000..67e810f --- /dev/null +++ b/src/main/java/widoco/gui/TestInterface.form @@ -0,0 +1,201 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/widoco/gui/TestInterface.java b/src/main/java/widoco/gui/TestInterface.java new file mode 100644 index 0000000..6404813 --- /dev/null +++ b/src/main/java/widoco/gui/TestInterface.java @@ -0,0 +1,219 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package widoco.gui; + +import java.awt.Color; +import java.awt.Image; +import java.awt.image.BufferedImage; +import java.io.IOException; +import javax.imageio.ImageIO; +import javax.swing.ImageIcon; + +/** + * + * @author dgarijo + */ +public class TestInterface extends javax.swing.JFrame { + + /** + * Creates new form TestInterface + */ + public TestInterface() { + initComponents(); + //set a transparent image + Image icon = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB_PRE); + this.setIconImage(icon); + try { + Image logo = ImageIO.read(ClassLoader.getSystemResource("logo/logo2.png")); + Image l = logo.getScaledInstance(widocoLogo.getWidth(), widocoLogo.getHeight(), Image.SCALE_SMOOTH); + widocoLogo.setIcon(new ImageIcon(l)); + widocoLogo.setText(""); +// this.setIconImage(g.getConfig().getWidocoLogoMini());// + } catch (IOException e) { + System.err.println("Error loading the logo :( "+e.getMessage()); + } + +// Image l = g.getConfig().getWidocoLogo().getScaledInstance(widocoLogo.getWidth(), widocoLogo.getHeight(), Image.SCALE_SMOOTH); + + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + backgroundPanel = new javax.swing.JPanel(); + sidePanel = new javax.swing.JPanel(); + jPanel2 = new javax.swing.JPanel(); + iconNumber = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); + jPanel3 = new javax.swing.JPanel(); + widocoLogo = new javax.swing.JLabel(); + jPanel4 = new javax.swing.JPanel(); + jLabel1 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + setResizable(false); + + backgroundPanel.setBackground(new java.awt.Color(204, 204, 204)); + backgroundPanel.setPreferredSize(new java.awt.Dimension(1000, 500)); + backgroundPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + sidePanel.setBackground(new java.awt.Color(255, 255, 255)); + sidePanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jPanel2.setBackground(new java.awt.Color(240, 244, 252)); + jPanel2.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jPanel2MouseClicked(evt); + } + public void mouseEntered(java.awt.event.MouseEvent evt) { + jPanel2MouseEntered(evt); + } + }); + + iconNumber.setIcon(new javax.swing.ImageIcon(getClass().getResource("/widoco/images/one.png"))); // NOI18N + + jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 16)); // NOI18N + jLabel2.setText("Select Template"); + + javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createSequentialGroup() + .addGap(6, 6, 6) + .addComponent(iconNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(32, Short.MAX_VALUE)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(iconNumber, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE) + .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()) + ); + + sidePanel.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 160, -1, 58)); + + jPanel3.setBackground(new java.awt.Color(126, 145, 204)); + + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 200, Short.MAX_VALUE) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 51, Short.MAX_VALUE) + ); + + sidePanel.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 290, -1, -1)); + + widocoLogo.setText("LOGO"); + sidePanel.add(widocoLogo, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 13, 176, 80)); + + jPanel4.setBackground(new java.awt.Color(240, 244, 252)); + + javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 200, Short.MAX_VALUE) + ); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 50, Short.MAX_VALUE) + ); + + sidePanel.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 360, -1, -1)); + + backgroundPanel.add(sidePanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 200, 500)); + + jLabel1.setText("Change to white at the end"); + backgroundPanel.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 450, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(backgroundPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(backgroundPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + + pack(); + }// //GEN-END:initComponents + + private void jPanel2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel2MouseClicked + //this is a test that will be changed at the end + this.jPanel2.setBackground(Color.magenta); + //la idea es que cuando hagas un paso, el panel anterior aparezca como completado. + //cada paso tiene un logo con la i. Si haces click, te explica. + }//GEN-LAST:event_jPanel2MouseClicked + + private void jPanel2MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel2MouseEntered + jPanel2.setToolTipText("Select your template in this step"); + }//GEN-LAST:event_jPanel2MouseEntered + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* 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(TestInterface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(TestInterface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(TestInterface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(TestInterface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new TestInterface().setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JPanel backgroundPanel; + private javax.swing.JLabel iconNumber; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel sidePanel; + private javax.swing.JLabel widocoLogo; + // End of variables declaration//GEN-END:variables +} diff --git a/src/main/resources/lode.zip b/src/main/resources/lode.zip index 78c0cd6..ce99c4a 100644 Binary files a/src/main/resources/lode.zip and b/src/main/resources/lode.zip differ diff --git a/src/main/resources/lode/extraction.xsl b/src/main/resources/lode/extraction.xsl index 286b487..f8336ad 100644 --- a/src/main/resources/lode/extraction.xsl +++ b/src/main/resources/lode/extraction.xsl @@ -158,11 +158,12 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +
:
diff --git a/src/main/resources/widoco/images/Readme.txt b/src/main/resources/widoco/images/Readme.txt new file mode 100644 index 0000000..e10113c --- /dev/null +++ b/src/main/resources/widoco/images/Readme.txt @@ -0,0 +1,3 @@ +icons made by Freepik and Chris Veigt from www.flaticon.com + +Sizes 26x26 \ No newline at end of file diff --git a/src/main/resources/widoco/images/info.png b/src/main/resources/widoco/images/info.png new file mode 100644 index 0000000..aed742e Binary files /dev/null and b/src/main/resources/widoco/images/info.png differ diff --git a/src/main/resources/widoco/images/one.png b/src/main/resources/widoco/images/one.png new file mode 100644 index 0000000..95c5421 Binary files /dev/null and b/src/main/resources/widoco/images/one.png differ