logo       


r140 - in izpack-frontend/trunk/src: conf/pages/en izpack/frontend/controll: msg#00095

Subject: r140 - in izpack-frontend/trunk/src: conf/pages/en izpack/frontend/controller/validators izpack/frontend/model izpack/frontend/model/stages izpack/frontend/view izpack/frontend/view/components izpack/frontend/view/mode izpack/frontend/view/renderers izpack/frontend/view/stages izpack/frontend/view/stages/configure izpack/frontend/view/stages/geninfo izpack/frontend/view/stages/panelselect res/imgs
Author: gumbo
Date: 2005-08-29 23:43:37 +0200 (Mon, 29 Aug 2005)
New Revision: 140

Added:
   
izpack-frontend/trunk/src/izpack/frontend/model/stages/ConfigurationStageModel.java
   
izpack-frontend/trunk/src/izpack/frontend/view/components/ItemProgressPanel.java
   izpack-frontend/trunk/src/izpack/frontend/view/renderers/
   izpack-frontend/trunk/src/izpack/frontend/view/renderers/ImageLabel.java
   
izpack-frontend/trunk/src/izpack/frontend/view/renderers/ItemProgressRenderer.java
   izpack-frontend/trunk/src/izpack/frontend/view/renderers/LabelRenderer.java
   izpack-frontend/trunk/src/izpack/frontend/view/renderers/LangLabel.java
   izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurationDisplayer.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurator.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/ValidationDocumentationPanel.java
   izpack-frontend/trunk/src/res/imgs/greyArrow.png
   izpack-frontend/trunk/src/res/imgs/invalid.png
   izpack-frontend/trunk/src/res/imgs/valid.png
Removed:
   izpack-frontend/trunk/src/izpack/frontend/view/components/ImageLabel.java
   izpack-frontend/trunk/src/izpack/frontend/view/components/LabelPanel.java
   izpack-frontend/trunk/src/izpack/frontend/view/components/LabelRenderer.java
   izpack-frontend/trunk/src/izpack/frontend/view/components/LangLabel.java
   izpack-frontend/trunk/src/izpack/frontend/view/stages/panels/
   izpack-frontend/trunk/src/res/imgs/button_cancel.png
Modified:
   izpack-frontend/trunk/src/conf/pages/en/Compile.xml
   izpack-frontend/trunk/src/conf/pages/en/Finish.xml
   izpack-frontend/trunk/src/conf/pages/en/HTMLInfo.xml
   izpack-frontend/trunk/src/conf/pages/en/HTMLLicense.xml
   izpack-frontend/trunk/src/conf/pages/en/ImgPacks.xml
   izpack-frontend/trunk/src/conf/pages/en/Info.xml
   izpack-frontend/trunk/src/conf/pages/en/Install.xml
   izpack-frontend/trunk/src/conf/pages/en/Packs.xml
   izpack-frontend/trunk/src/conf/pages/en/PathSelection.xml
   izpack-frontend/trunk/src/conf/pages/en/Process.xml
   izpack-frontend/trunk/src/conf/pages/en/Shortcut.xml
   izpack-frontend/trunk/src/conf/pages/en/SimpleFinish.xml
   izpack-frontend/trunk/src/conf/pages/en/Target.xml
   izpack-frontend/trunk/src/conf/pages/en/UserInput.xml
   izpack-frontend/trunk/src/conf/pages/en/XInfo.xml
   izpack-frontend/trunk/src/conf/pages/en/license.xml
   izpack-frontend/trunk/src/conf/pages/en/welcome.xml
   
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
   izpack-frontend/trunk/src/izpack/frontend/model/PanelInfo.java
   izpack-frontend/trunk/src/izpack/frontend/model/PanelInfoManager.java
   izpack-frontend/trunk/src/izpack/frontend/model/SelectListModel.java
   
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
   
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java
   izpack-frontend/trunk/src/izpack/frontend/view/AppBase.java
   izpack-frontend/trunk/src/izpack/frontend/view/IzPackFrame.java
   
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
   izpack-frontend/trunk/src/izpack/frontend/view/components/SelectList.java
   izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
   izpack-frontend/trunk/src/izpack/frontend/view/stages/IzPackStage.java
   izpack-frontend/trunk/src/izpack/frontend/view/stages/StageOrder.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
   izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
Log:
Working on the configuration system. Have bindings set up for the three views, 
and the model for it all. Need to implement the display classes, and the rest 
of the editors.

Modified: izpack-frontend/trunk/src/conf/pages/en/Compile.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Compile.xml 2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Compile.xml 2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Compile Panel" classname="CompilePanel">
+<izpack-panel name="Compile Panel" classname="CompilePanel" 
editingClass="Compile">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Compile installed source</panel-desc-short>
        <panel-desc-long>Compile Java source code that has just been 
installed.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/Finish.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Finish.xml  2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Finish.xml  2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Finish Panel" classname="FinishPanel">
+<izpack-panel name="Finish Panel" classname="FinishPanel" editingClass="NONE">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Finish install, with automation</panel-desc-short>
        <panel-desc-long>Finish the installer, and provide automated installer 
options.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/HTMLInfo.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/HTMLInfo.xml        2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/HTMLInfo.xml        2005-08-29 
21:43:37 UTC (rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="HTML Information Panel" classname="HTMLInfoPanel">
+<izpack-panel name="HTML Information Panel" classname="HTMLInfoPanel" 
editingClass="HTMLInfo">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Display a HTML 'Readme' File</panel-desc-short>
        <panel-desc-long>Display a HTML 'Readme' file of any length - perhaps 
the Readme included in the install.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/HTMLLicense.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/HTMLLicense.xml     2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/HTMLLicense.xml     2005-08-29 
21:43:37 UTC (rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="HTML License Panel" classname="HTMLLicencePanel">
+<izpack-panel name="HTML License Panel" classname="HTMLLicencePanel" 
editingClass="HTMLLicense">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Display product license, HTML style</panel-desc-short>
        <panel-desc-long>Display a panel to users providing HTML license 
information, as well as requiring them to accept the license to 
continue.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/ImgPacks.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/ImgPacks.xml        2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/ImgPacks.xml        2005-08-29 
21:43:37 UTC (rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Image Packs Panel" classname="ImgPacksPanel">
+<izpack-panel name="Image Packs Panel" classname="ImgPacksPanel" 
editingClass="ImagePacks">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Choose packs to install, 
graphically</panel-desc-short>
        <panel-desc-long>Allow users to choose the packs to install, and show 
an associated image with each.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/Info.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Info.xml    2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Info.xml    2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Information Panel" classname="InfoPanel">
+<izpack-panel name="Information Panel" classname="InfoPanel"   
editingClass="Info">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Display a 'Readme' File</panel-desc-short>
        <panel-desc-long>Display a 'Readme' file of any length - perhaps the 
Readme included in the install.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/Install.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Install.xml 2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Install.xml 2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Install Panel" classname="InstallPanel">
+<izpack-panel name="Install Panel" classname="InstallPanel" 
editingClass="NONE">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Perform the install</panel-desc-short>
        <panel-desc-long>Perform the install process, and display progress 
information.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/Packs.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Packs.xml   2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Packs.xml   2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Packs Panel" classname="PacksPanel">
+<izpack-panel name="Packs Panel" classname="PacksPanel" 
editingClass="PREVIOUSLY CONF">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Choose packs to install</panel-desc-short>
        <panel-desc-long>Allow users to choose the packs to 
install.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/PathSelection.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/PathSelection.xml   2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/PathSelection.xml   2005-08-29 
21:43:37 UTC (rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="JDK Path Panel" classname="JDKPathPanel">
+<izpack-panel name="JDK Path Panel" classname="JDKPathPanel" 
editingClass="JDKPath">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Allow users to select JDK path</panel-desc-short>
        <panel-desc-long>Allow a user to select the location of the JDK, if 
your installer needs its features.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/Process.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Process.xml 2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Process.xml 2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Process Panel" classname="ProcessPanel">
+<izpack-panel name="Process Panel" classname="ProcessPanel" 
editingClass="Process">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Execute files post-install</panel-desc-short>
        <panel-desc-long>Allow files to be executed after the installation has 
completed (e.g setting permissions)</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/Shortcut.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Shortcut.xml        2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Shortcut.xml        2005-08-29 
21:43:37 UTC (rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Shortcut Panel" classname="ShortcutPanel">
+<izpack-panel name="Shortcut Panel" classname="ShortcutPanel" 
editingClass="Shortcut">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Configure shortcuts</panel-desc-short>
        <panel-desc-long>Allow user to configure shortcuts (desktop, etc.) 
Currently Windows only.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/SimpleFinish.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/SimpleFinish.xml    2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/SimpleFinish.xml    2005-08-29 
21:43:37 UTC (rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Simple Finish Panel" classname="SimpleFinishPanel">
+<izpack-panel name="Simple Finish Panel" classname="SimpleFinishPanel" 
editingClass="NONE">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Finish the installer</panel-desc-short>
        <panel-desc-long>Display a finish page without allowing for an 
automated installer.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/Target.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/Target.xml  2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/Target.xml  2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Target Panel" classname="TargetPanel">
+<izpack-panel name="Target Panel" classname="TargetPanel" 
editingClass="Target">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Select installation directory</panel-desc-short>
        <panel-desc-long>Allow users to select the installation 
directory</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/UserInput.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/UserInput.xml       2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/UserInput.xml       2005-08-29 
21:43:37 UTC (rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="User Input Panel" classname="UserInputPanel">
+<izpack-panel name="User Input Panel" classname="UserInputPanel" 
editingClass="UserInput">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Ask user for input</panel-desc-short>
        <panel-desc-long>Display a panel to prompt the user for input, based on 
an XML file.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/XInfo.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/XInfo.xml   2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/XInfo.xml   2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="XInfo Panel" classname="XInfoPanel">
+<izpack-panel name="XInfo Panel" classname="XInfoPanel" editingClass="XInfo">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Display adaptive text</panel-desc-short>
        <panel-desc-long>Display adaptive text (e.g. by parsing 
variables)</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/license.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/license.xml 2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/license.xml 2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="License Panel" classname="LicencePanel">
+<izpack-panel name="License Panel" classname="LicencePanel" 
editingClass="License">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Display product license</panel-desc-short>
        <panel-desc-long>Display a panel to users providing license 
information, as well as requiring them to accept the license to 
continue.</panel-desc-long>

Modified: izpack-frontend/trunk/src/conf/pages/en/welcome.xml
===================================================================
--- izpack-frontend/trunk/src/conf/pages/en/welcome.xml 2005-08-25 15:50:39 UTC 
(rev 139)
+++ izpack-frontend/trunk/src/conf/pages/en/welcome.xml 2005-08-29 21:43:37 UTC 
(rev 140)
@@ -22,7 +22,7 @@
 -->
 
 <!-- IzPack frontend panel config file. -->
-<izpack-panel name="Welcome Panel" classname="HelloPanel">
+<izpack-panel name="Welcome Panel" classname="HelloPanel" editingClass="NONE">
        <panel-version>1.0</panel-version>
        <panel-desc-short>Welcome users to the installer</panel-desc-short>
        <panel-desc-long>Display a welcome panel to users with general 
information about the application to be installed.</panel-desc-long>

Modified: 
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
        2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
        2005-08-29 21:43:37 UTC (rev 140)
@@ -23,21 +23,42 @@
  */
 package izpack.frontend.controller.validators;
 
+import izpack.frontend.model.stages.PanelSelectionModel;
+
+import com.jgoodies.validation.Severity;
 import com.jgoodies.validation.ValidationResult;
+import com.jgoodies.validation.message.PropertyValidationMessage;
 
 /**
  * @author Andy Gombos
  */
 public class PanelSelectionValidator implements StageValidator
 {
-
+    public PanelSelectionValidator(PanelSelectionModel model)
+    {
+        this.model = model;
+    }
     /* (non-Javadoc)
      * @see com.jgoodies.validation.ValidationCapable#validate()
      */
     public ValidationResult validate()
     {
-        // TODO Auto-generated method stub
-        return null;
+        ValidationResult vr = new ValidationResult();
+        
+        //Check for no panels added
+        if (model.size() == 0)
+        {   
+            vr.add(new PropertyValidationMessage(
+                            Severity.ERROR,
+                            "must have at least one panel selected",
+                            model,
+                            "Panels",
+                            "dest"
+                            ));
+        }
+        
+        return vr;
     }
 
+    PanelSelectionModel model;
 }

Modified: izpack-frontend/trunk/src/izpack/frontend/model/PanelInfo.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/model/PanelInfo.java      
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/model/PanelInfo.java      
2005-08-29 21:43:37 UTC (rev 140)
@@ -32,9 +32,11 @@
 
 public class PanelInfo implements Comparable
 {
-    public PanelInfo(String classname, String name, String shortDesc, String 
longDesc, Author[] authors, Resource[] resources)
+    public PanelInfo(String classname, String editorClassname, String name, 
String shortDesc, String longDesc,
+                    Author[] authors, Resource[] resources)
     {
         this.classname = classname;
+        this.editorClassname = editorClassname;
         this.name = name;
         this.authors = authors;
         this.shortDesc = shortDesc;
@@ -97,6 +99,9 @@
     /** Name of the IzPack class represented */
     private String classname;
     
+    /** Name of the class that will visually edit this panel */
+    private String editorClassname;
+    
     /** Name of the panel */
     private String name;
     
@@ -163,4 +168,14 @@
             this.type = type;
         }
     }
+
+    public String getEditorClassname()
+    {
+        return editorClassname;
+    }
+
+    public void setEditorClassname(String editorClassname)
+    {
+        this.editorClassname = editorClassname;
+    }
 }

Modified: izpack-frontend/trunk/src/izpack/frontend/model/PanelInfoManager.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/model/PanelInfoManager.java       
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/model/PanelInfoManager.java       
2005-08-29 21:43:37 UTC (rev 140)
@@ -24,6 +24,7 @@
 package izpack.frontend.model;
 
 import izpack.frontend.controller.GUIController;
+import izpack.frontend.view.stages.configure.panels.IzPanel;
 
 import java.io.File;
 import java.io.FilenameFilter;
@@ -60,6 +61,10 @@
                        XPath xpath = XPathFactory.newInstance().newXPath();
                        
                        String classname = ( (Element) 
xpath.evaluate("/izpack-panel", doc, XPathConstants.NODE) 
).getAttribute("classname");
+            
+            String editingClass = editorPackage + 
+                    determineEditingClass(( (Element) 
xpath.evaluate("/izpack-panel", doc, XPathConstants.NODE) 
).getAttribute("editingClass"));
+            
                        String name = ( (Element) 
xpath.evaluate("/izpack-panel", doc, XPathConstants.NODE) 
).getAttribute("name");                     
                                                
                        //Load panel descriptions                       
@@ -68,7 +73,7 @@
                        
                        //Load the authors array
                        NodeList authorElems = (NodeList) 
xpath.evaluate("//authors/author", doc, XPathConstants.NODESET);
-                       ArrayList authors = new ArrayList();
+                       ArrayList<Author> authors = new ArrayList<Author>();
                        for (int i = 0; i < authorElems.getLength(); i++)
             {
                            Element element = (Element) authorElems.item(i);
@@ -79,7 +84,7 @@
             }
                        
                        Element resourcesElem = (Element) 
xpath.evaluate("//resources", doc, XPathConstants.NODE);                      
-                       ArrayList resources = new ArrayList();
+                       ArrayList<PanelInfo.Resource> resources = new 
ArrayList<PanelInfo.Resource>();
                        if (resourcesElem != null)
                        {                       
                            NodeList resourceElem = (NodeList) 
xpath.evaluate("//resources/res", doc, XPathConstants.NODESET);                 
         
@@ -109,7 +114,7 @@
                        }
                        }                       
                        
-                       return new PanelInfo(classname, name, shortDesc, 
longDesc, (Author[]) authors.toArray(new Author[0]),
+                       return new PanelInfo(classname, editingClass, name, 
shortDesc, longDesc, (Author[]) authors.toArray(new Author[0]),
                                        (PanelInfo.Resource[]) 
resources.toArray(new PanelInfo.Resource[0]));                                  
 
         }
         catch (XPathExpressionException e)
@@ -118,6 +123,17 @@
         }
     }    
     
+    private static String determineEditingClass(String attribute)
+    {
+        if (attribute.equalsIgnoreCase("NONE"))
+            return "NoEditingNecessary";
+        else if (attribute.equalsIgnoreCase("PREVIOUSLY CONF"))
+            return "PreviouslyConfigured";
+        
+        
+        return attribute;
+    }
+
     private static String[] getConfigFiles()
     {        
         return new File(CONFIG_PATH).list(new FilenameFilter() 
@@ -129,22 +145,24 @@
                });
     }
     
-    public static ArrayList getAvailablePages()
+    public static ArrayList<PanelInfo> getAvailablePages()
     {
         String[] confFiles = getConfigFiles();
         for (int i = 0; i < confFiles.length; i++)
         {                       
-            pages.add(loadPage(CONFIG_PATH + confFiles[i]));            
+            panels.add(loadPage(CONFIG_PATH + confFiles[i]));            
        }        
                
-        Object[] sortedPages = pages.toArray();
+        PanelInfo[] sortedPages = panels.toArray(new PanelInfo[0]);
         Arrays.sort(sortedPages);
-        pages = new ArrayList(Arrays.asList(sortedPages));
+        
+        panels = new ArrayList<PanelInfo>(Arrays.asList(sortedPages));
 
-        return pages;
+        return panels;
     }
     
     //Determine the correct path by requesting the language code of the 
application
     private static String CONFIG_PATH = "conf/pages/" + 
GUIController.getInstance().appConfiguration().getI18NLangCode() + "/";
-    private static ArrayList pages = new ArrayList();
+    private static ArrayList<PanelInfo> panels = new ArrayList<PanelInfo>();
+    private static String editorPackage = IzPanel.class.getPackage().getName() 
+ ".";
 }

Modified: izpack-frontend/trunk/src/izpack/frontend/model/SelectListModel.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/model/SelectListModel.java        
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/model/SelectListModel.java        
2005-08-29 21:43:37 UTC (rev 140)
@@ -31,7 +31,7 @@
 public class SelectListModel extends DefaultListModel
 {
     public Object getElementAt(int index)
-    {        
+    {   
         return get(index);
     }
     

Added: 
izpack-frontend/trunk/src/izpack/frontend/model/stages/ConfigurationStageModel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/model/stages/ConfigurationStageModel.java
 2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/model/stages/ConfigurationStageModel.java
 2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,109 @@
+/*
+ * Created on Aug 25, 2005
+ * 
+ * $Id: ConfigurationStageModel.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : ConfigurationStageModel.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.model.stages;
+
+import izpack.frontend.model.PanelInfo;
+
+import java.util.ArrayList;
+
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
+
+import org.w3c.dom.Document;
+
+import com.jgoodies.binding.beans.Model;
+
+public class ConfigurationStageModel extends Model implements StageDataModel, 
ListDataListener
+{
+
+    public ConfigurationStageModel()
+    {
+        super();
+        // TODO Auto-generated constructor stub
+    }
+
+    public Document writeToXML()
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public void initFromXML(Document doc)
+    {
+        // TODO Auto-generated method stub
+
+    }
+
+    public class PanelModel
+    {
+        public Class representingClass;
+        
+        public String representingClassName;
+        
+        public PanelInfo configData;
+        
+        public boolean valid;        
+    }
+    
+    ArrayList<PanelModel> panels;
+    int currentlyActivePanel;
+    
+    public int getCurrentlyActivePanel()
+    {
+        return currentlyActivePanel;
+    }
+
+    public ArrayList<PanelModel> getPanels()
+    {
+        return panels;
+    }
+
+    public void setCurrentlyActivePanel(int currentlyActivePanel)
+    {
+        this.currentlyActivePanel = currentlyActivePanel;
+    }
+
+    public void setPanels(ArrayList<PanelModel> panels)
+    {
+        this.panels = panels;
+    }
+
+    public void intervalAdded(ListDataEvent e)
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public void intervalRemoved(ListDataEvent e)
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public void contentsChanged(ListDataEvent e)
+    {
+        // TODO Auto-generated method stub
+        
+    }    
+}

Modified: 
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
 2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
 2005-08-29 21:43:37 UTC (rev 140)
@@ -25,7 +25,7 @@
 
 import izpack.frontend.model.Author;
 import izpack.frontend.model.SelectListModel;
-import izpack.frontend.view.components.LangLabel;
+import izpack.frontend.view.renderers.LangLabel;
 
 import java.util.ArrayList;
 

Modified: 
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java 
    2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java 
    2005-08-29 21:43:37 UTC (rev 140)
@@ -31,7 +31,7 @@
 import utils.XML;
 
 import izpack.frontend.model.SelectListModel;
-import izpack.frontend.view.components.ImageLabel;
+import izpack.frontend.view.renderers.ImageLabel;
 
 /**
  * @author Andy Gombos

Modified: izpack-frontend/trunk/src/izpack/frontend/view/AppBase.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/AppBase.java 2005-08-25 
15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/AppBase.java 2005-08-29 
21:43:37 UTC (rev 140)
@@ -25,7 +25,7 @@
 import izpack.frontend.model.AppConfiguration;
 import izpack.frontend.model.LangResources;
 import izpack.frontend.view.stages.Stage;
-import izpack.frontend.view.stages.panels.IzPanel;
+import izpack.frontend.view.stages.configure.panels.IzPanel;
 
 import java.util.Observer;
 

Modified: izpack-frontend/trunk/src/izpack/frontend/view/IzPackFrame.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/IzPackFrame.java     
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/IzPackFrame.java     
2005-08-29 21:43:37 UTC (rev 140)
@@ -26,7 +26,7 @@
 import izpack.frontend.model.LangResources;
 import izpack.frontend.view.stages.IzPackStage;
 import izpack.frontend.view.stages.Stage;
-import izpack.frontend.view.stages.panels.IzPanel;
+import izpack.frontend.view.stages.configure.panels.IzPanel;
 
 import java.awt.BorderLayout;
 import java.awt.Component;

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
   2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
   2005-08-29 21:43:37 UTC (rev 140)
@@ -24,8 +24,8 @@
 package izpack.frontend.view.components;
 
 import izpack.frontend.model.SelectListModel;
-import izpack.frontend.view.stages.panels.ConfigurePanel;
-import izpack.frontend.view.stages.panels.IzPackPanel;
+import izpack.frontend.view.stages.configure.panels.ConfigurePanel;
+import izpack.frontend.view.stages.configure.panels.IzPackPanel;
 
 import java.awt.Color;
 import java.awt.Dimension;

Deleted: 
izpack-frontend/trunk/src/izpack/frontend/view/components/ImageLabel.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/components/ImageLabel.java   
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/components/ImageLabel.java   
2005-08-29 21:43:37 UTC (rev 140)
@@ -1,91 +0,0 @@
-/*
- * Created on Jun 28, 2004
- * 
- * $Id: ImageLabel.java Feb 8, 2004 izpack-frontend
- * Copyright (C) 2001-2003 IzPack Development Group
- * 
- * File : ImageLabel.java 
- * Description : TODO Add description
- * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
- * 
- * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-package izpack.frontend.view.components;
-
-import java.awt.Color;
-import java.awt.FlowLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-
-/**
- * @author Andy Gombos
- * 
- * Provide a component that displays an icon and text, but with consistent 
alignment
- */
-public class ImageLabel extends JButton implements ActionListener
-{    
-    public ImageLabel(String classname, String name, String shortDesc, String 
imgFile)
-    {
-        this.classname = classname;
-        configure("<html>" +
-                               "<b>&nbsp;" + name + "</b>" +
-                               "<p> <font color=#969696>&nbsp;" + shortDesc + 
"</font>", imgFile);
-    }
-    
-    public void configure(String text, String imgFile)
-    {
-        setLayout(new FlowLayout());
-        ((FlowLayout) getLayout()).setAlignment(FlowLayout.LEFT);        
-        
-        icon = new JLabel(new ImageIcon(imgFile));        
-        lText = new JLabel(text);        
-                      
-        add(icon);
-        add(lText);
-        
-        addActionListener(this);
-    }
-    
-    private JLabel icon, lText;
-
-    /* (non-Javadoc)
-     * @see 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-     */
-    //TODO Update when new LAF comes out
-    public void actionPerformed(ActionEvent e)
-    {
-        if (isSelected())
-        {
-            setBackground(Color.WHITE);
-            setSelected(false);
-        }
-        else
-        {
-            setBackground(Color.decode("0xCCCCCC"));
-            setSelected(true);
-        }
-        
-    }
-    
-    public String getClassname()
-    {
-        return classname;
-    }
-    
-    String classname;
-}

Added: 
izpack-frontend/trunk/src/izpack/frontend/view/components/ItemProgressPanel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/components/ItemProgressPanel.java
    2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/components/ItemProgressPanel.java
    2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,74 @@
+/*
+ * Created on Aug 25, 2005
+ * 
+ * $Id: ItemProgressPanel.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : ItemProgressPanel.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.view.components;
+
+import izpack.frontend.model.stages.ConfigurationStageModel;
+import izpack.frontend.view.renderers.ItemProgressRenderer;
+
+import java.text.DecimalFormat;
+
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+
+import com.jgoodies.binding.adapter.BasicComponentFactory;
+import com.jgoodies.binding.list.SelectionInList;
+import com.jgoodies.binding.value.ValueModel;
+
+/*
+ * 
+ * TODO Associate this with the XML class containers as well as the panel 
configurators, see what information needs to be present
+ * 
+ * This is more of an indicator rather than an actuator, though
+ * 
+ * 
+ */
+public class ItemProgressPanel extends JPanel
+{
+    public ItemProgressPanel(ConfigurationStageModel model)
+    {
+        this.model = model;
+        
+        panelListBinding = new SelectionInList(model.getPanels());
+        
+        panelList = BasicComponentFactory.createList(panelListBinding, new 
ItemProgressRenderer());
+        
+        add(panelList);
+    }
+    
+    public ValueModel getSelectionIndexHolder()
+    {
+        return panelListBinding.getSelectionIndexHolder();
+    }
+    
+    public ValueModel getSelectionHolder()
+    {
+        return panelListBinding.getSelectionHolder();
+    }
+
+    
+    JList panelList;    
+    SelectionInList panelListBinding;
+    ConfigurationStageModel model;
+}

Deleted: 
izpack-frontend/trunk/src/izpack/frontend/view/components/LabelPanel.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/components/LabelPanel.java   
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/components/LabelPanel.java   
2005-08-29 21:43:37 UTC (rev 140)
@@ -1,35 +0,0 @@
-/*
- * Created on Nov 18, 2004
- * 
- * $Id: LabelPanel.java Feb 8, 2004 izpack-frontend
- * Copyright (C) 2001-2003 IzPack Development Group
- * 
- * File : LabelPanel.java 
- * Description : TODO Add description
- * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
- * 
- * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-package izpack.frontend.view.components;
-
-/**
- * @author Andy Gombos
- */
-public class LabelPanel
-{
-    public LabelPanel()
-    {
-        
-    }
-}

Deleted: 
izpack-frontend/trunk/src/izpack/frontend/view/components/LabelRenderer.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/components/LabelRenderer.java    
    2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/components/LabelRenderer.java    
    2005-08-29 21:43:37 UTC (rev 140)
@@ -1,55 +0,0 @@
-package izpack.frontend.view.components;
-import java.awt.Component;
-
-import javax.swing.DefaultListCellRenderer;
-import javax.swing.JComponent;
-import javax.swing.JList;
-import javax.swing.border.Border;
-import javax.swing.border.SoftBevelBorder;
-/*
- * Created on Nov 18, 2004
- * 
- * $Id: LabelRenderer.java Feb 8, 2004 izpack-frontend
- * Copyright (C) 2001-2003 IzPack Development Group
- * 
- * File : LabelRenderer.java 
- * Description : TODO Add description
- * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
- * 
- * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/**
- * @author Andy Gombos
- */
-public class LabelRenderer extends DefaultListCellRenderer
-{
-
-    /* (non-Javadoc)
-     * @see 
javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, 
java.lang.Object, int, boolean, boolean)
-     */    
-    public Component getListCellRendererComponent(JList list, Object value, 
int index, boolean isSelected, boolean cellHasFocus)
-    {
-        JComponent c = (JComponent) value;
-        if (isSelected)
-            c.setBorder(selected);
-        else
-            c.setBorder(unselected);
-        
-        return (Component) c;
-    }
-
-    Border unselected = new SoftBevelBorder(SoftBevelBorder.RAISED);
-    Border selected = new SoftBevelBorder(SoftBevelBorder.LOWERED);
-}

Deleted: 
izpack-frontend/trunk/src/izpack/frontend/view/components/LangLabel.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/components/LangLabel.java    
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/components/LangLabel.java    
2005-08-29 21:43:37 UTC (rev 140)
@@ -1,55 +0,0 @@
-/*
- * Created on Mar 31, 2005
- * 
- * $Id: LangLabel.java Feb 8, 2004 izpack-frontend
- * Copyright (C) 2001-2003 IzPack Development Group
- * 
- * File : LangLabel.java 
- * Description : TODO Add description
- * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
- * 
- * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-package izpack.frontend.view.components;
-
-import javax.swing.Icon;
-import javax.swing.JLabel;
-
-/**
- * @author Andy Gombos
- */
-public class LangLabel extends JLabel
-{
-    /**
-     * @param text
-     * @param icon
-     * @param horizontalAlignment
-     */
-    public LangLabel(String text, Icon icon, int horizontalAlignment)
-    {
-        super(text, icon, horizontalAlignment);                
-    }
-    
-    public void setISO3Code(String code)
-    {
-        iso3Code = code;
-    }
-    
-    public String getISO3Code()
-    {
-        return iso3Code;
-    }
-    
-    String iso3Code;
-}

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/components/SelectList.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/components/SelectList.java   
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/components/SelectList.java   
2005-08-29 21:43:37 UTC (rev 140)
@@ -24,6 +24,7 @@
 package izpack.frontend.view.components;
 
 import izpack.frontend.model.SelectListModel;
+import izpack.frontend.view.renderers.LabelRenderer;
 
 import javax.swing.DefaultListModel;
 import javax.swing.JList;

Modified: izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java 
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java 
2005-08-29 21:43:37 UTC (rev 140)
@@ -27,6 +27,7 @@
 import izpack.frontend.controller.StageChangeListener;
 import izpack.frontend.view.stages.IzPackStage;
 import izpack.frontend.view.stages.StageOrder;
+import izpack.frontend.view.stages.configure.PanelConfigurator;
 import izpack.frontend.view.stages.geninfo.GeneralInformation;
 import izpack.frontend.view.stages.packs.Pack;
 import izpack.frontend.view.stages.panelselect.PanelSelection;
@@ -55,9 +56,7 @@
  * @author Andy Gombos
  */
 public class WizardMode extends JFrame implements StageChangeListener, 
WindowListener
-{
-    private IzPackStage tmp;
-    
+{   
     public static void main(String[] args)
     {
         new WizardMode();
@@ -74,11 +73,12 @@
         
         iconPanel = createIconPanel();
         
-        IzPackStage geninfo =  createStage(GeneralInformation.class, base);    
    
-        IzPackStage sel        =       createStage(PanelSelection.class, base);
-        IzPackStage pack       =       createStage(Pack.class, base);
+        IzPackStage geninfo =  createStage(GeneralInformation.class, base);
         
-        tmp = pack;
+        createStage(PanelSelection.class, base);
+        createStage(Pack.class, base);
+        createStage(PanelConfigurator.class, base);
+        
         addWindowListener(this);
         
         iconPanel.add(geninfo.getTopNavBar());
@@ -195,7 +195,7 @@
      */
     public void windowClosing(WindowEvent e)
     {
-        tmp.createInstallerData();        
+                
     }
 
     /* (non-Javadoc)

Added: izpack-frontend/trunk/src/izpack/frontend/view/renderers/ImageLabel.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/renderers/ImageLabel.java    
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/renderers/ImageLabel.java    
2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,98 @@
+/*
+ * Created on Jun 28, 2004
+ * 
+ * $Id: ImageLabel.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : ImageLabel.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.view.renderers;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+
+/**
+ * @author Andy Gombos
+ * 
+ * Provide a component that displays an icon and text, but with consistent 
alignment
+ */
+public class ImageLabel extends JButton implements ActionListener
+{    
+    public ImageLabel(int index, String classname, String name, String 
shortDesc, String imgFile)
+    {
+        this.index = index;
+        this.classname = classname;
+        configure("<html>" +
+                               "<b>&nbsp;" + name + "</b>" +
+                               "<p> <font color=#969696>&nbsp;" + shortDesc + 
"</font>", imgFile);
+    }
+    
+    public void configure(String text, String imgFile)
+    {
+        setLayout(new FlowLayout());
+        ((FlowLayout) getLayout()).setAlignment(FlowLayout.LEFT);        
+        
+        icon = new JLabel(new ImageIcon(imgFile));        
+        lText = new JLabel(text);        
+                      
+        add(icon);
+        add(lText);
+        
+        addActionListener(this);
+    }
+    
+    private JLabel icon, lText;
+
+    /* (non-Javadoc)
+     * @see 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    //TODO Update when new LAF comes out
+    public void actionPerformed(ActionEvent e)
+    {
+        if (isSelected())
+        {
+            setBackground(Color.WHITE);
+            setSelected(false);
+        }
+        else
+        {
+            setBackground(Color.decode("0xCCCCCC"));
+            setSelected(true);
+        }
+        
+    }
+    
+    public String getClassname()
+    {
+        return classname;
+    }
+    
+    public int getPanelArrayIndex()
+    {
+        return index;
+    }    
+    
+    String classname;
+    private int index;
+}

Added: 
izpack-frontend/trunk/src/izpack/frontend/view/renderers/ItemProgressRenderer.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/renderers/ItemProgressRenderer.java
  2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/renderers/ItemProgressRenderer.java
  2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,82 @@
+/*
+ * Created on Aug 26, 2005
+ * 
+ * $Id: ItemProgressRenderer.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : ItemProgressRenderer.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.view.renderers;
+
+import izpack.frontend.model.stages.ConfigurationStageModel.PanelModel;
+
+import java.awt.Component;
+import java.awt.FlowLayout;
+
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.ListCellRenderer;
+
+public class ItemProgressRenderer implements ListCellRenderer
+{
+
+    public ItemProgressRenderer()
+    {
+        super();
+    }
+
+    public Component getListCellRendererComponent(JList list, Object value,
+                    int index, boolean isSelected, boolean cellHasFocus)
+    {
+        PanelModel panelModel = (PanelModel) value;
+        
+        JPanel renderer = new JPanel();
+        
+        renderer.setLayout(new FlowLayout());
+        ((FlowLayout) renderer.getLayout()).setAlignment(FlowLayout.LEFT);
+        
+        String labelText = "<html>" +
+                        "<b>&nbsp;" + panelModel.configData.getName() + "</b>" 
+
+                        "<p> <font color=#969696>&nbsp;" + 
panelModel.configData.getShortDesc() + "</font>";        
+                
+        JLabel lText = new JLabel(labelText);
+        
+        if (isSelected)
+        {
+            renderer.add(selectedIcon);
+            //renderer.setBackground(renderer.getBackground().brighter());
+        }
+                
+        if (panelModel.valid)
+            renderer.add(validIcon);
+        else
+            renderer.add(invalidIcon);
+        
+        renderer.add(lText);
+        
+        return renderer;
+    }   
+    
+
+    private static JLabel validIcon = new JLabel( new 
ImageIcon("res/imgs/valid.png") );
+    private static JLabel invalidIcon = new JLabel( new 
ImageIcon("res/imgs/invalid.png") );
+    
+    private static JLabel selectedIcon = new JLabel( new 
ImageIcon("res/imgs/greyArrow.png") );
+}

Added: 
izpack-frontend/trunk/src/izpack/frontend/view/renderers/LabelRenderer.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/renderers/LabelRenderer.java 
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/renderers/LabelRenderer.java 
2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,55 @@
+package izpack.frontend.view.renderers;
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JComponent;
+import javax.swing.JList;
+import javax.swing.border.Border;
+import javax.swing.border.SoftBevelBorder;
+/*
+ * Created on Nov 18, 2004
+ * 
+ * $Id: LabelRenderer.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : LabelRenderer.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * @author Andy Gombos
+ */
+public class LabelRenderer extends DefaultListCellRenderer
+{
+
+    /* (non-Javadoc)
+     * @see 
javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, 
java.lang.Object, int, boolean, boolean)
+     */    
+    public Component getListCellRendererComponent(JList list, Object value, 
int index, boolean isSelected, boolean cellHasFocus)
+    {
+        JComponent c = (JComponent) value;
+        if (isSelected)
+            c.setBorder(selected);
+        else
+            c.setBorder(unselected);
+        
+        return (Component) c;
+    }
+
+    Border unselected = new SoftBevelBorder(SoftBevelBorder.RAISED);
+    Border selected = new SoftBevelBorder(SoftBevelBorder.LOWERED);
+}

Added: izpack-frontend/trunk/src/izpack/frontend/view/renderers/LangLabel.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/renderers/LangLabel.java     
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/renderers/LangLabel.java     
2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,55 @@
+/*
+ * Created on Mar 31, 2005
+ * 
+ * $Id: LangLabel.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : LangLabel.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.view.renderers;
+
+import javax.swing.Icon;
+import javax.swing.JLabel;
+
+/**
+ * @author Andy Gombos
+ */
+public class LangLabel extends JLabel
+{
+    /**
+     * @param text
+     * @param icon
+     * @param horizontalAlignment
+     */
+    public LangLabel(String text, Icon icon, int horizontalAlignment)
+    {
+        super(text, icon, horizontalAlignment);                
+    }
+    
+    public void setISO3Code(String code)
+    {
+        iso3Code = code;
+    }
+    
+    public String getISO3Code()
+    {
+        return iso3Code;
+    }
+    
+    String iso3Code;
+}

Modified: izpack-frontend/trunk/src/izpack/frontend/view/stages/IzPackStage.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/stages/IzPackStage.java      
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/stages/IzPackStage.java      
2005-08-29 21:43:37 UTC (rev 140)
@@ -82,9 +82,16 @@
     public final JPanel getTopNavBar()
     {
         JPanel base = new JPanel();
+        
+        System.out.println("Current class: " + this.getClass());
         final StageContainer previousCont = 
stageOrder.getPreviousStage(this.getClass());
         final StageContainer nextCont = 
stageOrder.getNextStage(this.getClass());
         
+        if (previousCont != null)
+            System.out.println("Prev: " + previousCont.stageClass);
+        if (nextCont != null)
+            System.out.println("Next: " + nextCont.stageClass);
+        
         JButton previous = null, next = null;
         
         if (previousCont != null)

Modified: izpack-frontend/trunk/src/izpack/frontend/view/stages/StageOrder.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/stages/StageOrder.java       
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/stages/StageOrder.java       
2005-08-29 21:43:37 UTC (rev 140)
@@ -25,6 +25,7 @@
 
 import izpack.frontend.model.LangResources;
 import izpack.frontend.view.IzPackFrame;
+import izpack.frontend.view.stages.configure.PanelConfigurator;
 import izpack.frontend.view.stages.geninfo.GeneralInformation;
 import izpack.frontend.view.stages.packs.Pack;
 import izpack.frontend.view.stages.panelselect.PanelSelection;
@@ -38,12 +39,12 @@
 {
     public StageOrder()
     {
-        stages = new ArrayList();        
+        stages = new ArrayList<StageContainer>();        
                 
         stages.add(new StageContainer(lr.getText("UI.StageNames.GenInfo"), 
GeneralInformation.class));
         stages.add(new StageContainer(lr.getText("UI.StageNames.PanelSelect"), 
PanelSelection.class));
         stages.add(new StageContainer(lr.getText("UI.StageNames.Packs"), 
Pack.class));
-        //stages.add(new StageContainer(lr.getText("UI.StageNames.Configure"), 
Configure.class));
+        stages.add(new StageContainer(lr.getText("UI.StageNames.Configure"), 
PanelConfigurator.class));
     }
     
     public StageContainer getPreviousStage(Class stage)
@@ -54,7 +55,7 @@
         stageIndex--;
         
         if (stageIndex >= 0)
-            return (StageContainer) stages.get(stageIndex);
+            return stages.get(stageIndex);
         else        
             return null;
     }
@@ -67,7 +68,7 @@
         stageIndex++;
         
         if (stageIndex < stages.size())
-            return (StageContainer) stages.get(stageIndex);
+            return stages.get(stageIndex);
         else        
             return null;
     }
@@ -100,6 +101,6 @@
         public Class stageClass = null;        
     }
     
-    private ArrayList stages;
+    private ArrayList<StageContainer> stages;
     private static LangResources lr = 
IzPackFrame.getInstance().langResources();
 }

Added: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurationDisplayer.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurationDisplayer.java
    2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurationDisplayer.java
    2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,66 @@
+/*
+ * Created on Aug 26, 2005
+ * 
+ * $Id: PanelConfigurationDisplayer.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : PanelConfigurationDisplayer.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.view.stages.configure;
+
+import izpack.frontend.model.stages.ConfigurationStageModel.PanelModel;
+
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+public class PanelConfigurationDisplayer extends JPanel
+{    
+    public PanelConfigurationDisplayer()
+    {
+        label = new JLabel();
+        add(label);
+    }
+    
+    public Object getPanelOnDisplay()
+    {
+        return panelOnDisplay;
+    }
+
+    public void setPanelOnDisplay(Object panelOnDisplay)
+    {
+        if (panelOnDisplay == null)
+            return;
+        
+        if (panelOnDisplay instanceof PanelModel)
+            this.panelOnDisplay = (PanelModel) panelOnDisplay;        
+        
+        try
+        {
+            Class c = 
Class.forName(this.panelOnDisplay.configData.getEditorClassname());
+            label.setText(c.getName());
+        }
+        catch (ClassNotFoundException e)
+        {
+            label.setText("No editing necessary");
+        }
+        //label.setText(this.panelOnDisplay.representingClassName);
+    } 
+    
+    private PanelModel panelOnDisplay;
+    private JLabel label;
+}

Added: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurator.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurator.java
      2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/PanelConfigurator.java
      2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,76 @@
+/*
+ * Created on Aug 25, 2005
+ * 
+ * $Id: PanelConfigurator.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : PanelConfigurator.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.view.stages.configure;
+
+import javax.swing.JPanel;
+
+import org.w3c.dom.Document;
+
+import com.jgoodies.validation.ValidationResult;
+
+import izpack.frontend.model.stages.StageDataModel;
+import izpack.frontend.view.stages.IzPackStage;
+
+public class PanelConfigurator extends IzPackStage
+{
+
+    public PanelConfigurator()
+    {
+        super();
+        // TODO Auto-generated constructor stub
+    }
+
+    @Override
+    public Document createInstallerData()
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public ValidationResult validateStage()
+    {
+        return new ValidationResult();
+    }
+
+    @Override
+    public StageDataModel getDataModel()
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public void initializeStage()
+    {
+        // TODO Auto-generated method stub
+
+    }
+
+    public JPanel getLeftNavBar()
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Added: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/ValidationDocumentationPanel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/ValidationDocumentationPanel.java
   2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/ValidationDocumentationPanel.java
   2005-08-29 21:43:37 UTC (rev 140)
@@ -0,0 +1,60 @@
+/*
+ * Created on Aug 26, 2005
+ * 
+ * $Id: ValidationDocumentationPanel.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ * 
+ * File : ValidationDocumentationPanel.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * 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 2 of the License, or 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, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.view.stages.configure;
+
+import izpack.frontend.model.stages.ConfigurationStageModel.PanelModel;
+
+import java.awt.Color;
+
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+public class ValidationDocumentationPanel extends JPanel
+{   
+    public ValidationDocumentationPanel()
+    {
+        label = new JLabel("No class chosen");
+        label.setForeground(Color.BLUE);
+        add(label);
+    }
+    
+    public Object getPanelOnDisplay()
+    {
+        return panelOnDisplay;
+    }
+
+    public void setPanelOnDisplay(Object panelOnDisplay)
+    {
+        if (panelOnDisplay == null)
+            return;
+        
+        if (panelOnDisplay instanceof PanelModel)
+            this.panelOnDisplay = (PanelModel) panelOnDisplay;        
+        
+        label.setText(this.panelOnDisplay.representingClassName);
+    } 
+    
+    private PanelModel panelOnDisplay;
+    private JLabel label;
+}   

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
 2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
 2005-08-29 21:43:37 UTC (rev 140)
@@ -28,8 +28,8 @@
 import izpack.frontend.model.stages.GeneralInformationModel;
 import izpack.frontend.view.IzPackFrame;
 import izpack.frontend.view.stages.IzPackStage;
-import izpack.frontend.view.stages.panels.ConfigurePanel;
-import izpack.frontend.view.stages.panels.IzPackPanel;
+import izpack.frontend.view.stages.configure.panels.ConfigurePanel;
+import izpack.frontend.view.stages.configure.panels.IzPackPanel;
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
   2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
   2005-08-29 21:43:37 UTC (rev 140)
@@ -26,8 +26,8 @@
 import izpack.frontend.model.SelectListModel;
 import izpack.frontend.model.stages.GeneralInformationModel;
 import izpack.frontend.view.components.AbstractListSelect;
-import izpack.frontend.view.components.LangLabel;
 import izpack.frontend.view.components.SelectList;
+import izpack.frontend.view.renderers.LangLabel;
 import izpack.frontend.view.stages.IzPackStage;
 
 import java.net.URL;

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java 
2005-08-25 15:50:39 UTC (rev 139)
+++ izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java 
2005-08-29 21:43:37 UTC (rev 140)
@@ -25,8 +25,8 @@
 
 import izpack.frontend.view.components.YesNoCheckBox;
 import izpack.frontend.view.stages.IzPackStage;
-import izpack.frontend.view.stages.panels.ConfigurePanel;
-import izpack.frontend.view.stages.panels.IzPackPanel;
+import izpack.frontend.view.stages.configure.panels.ConfigurePanel;
+import izpack.frontend.view.stages.configure.panels.IzPackPanel;
 
 import javax.swing.JLabel;
 import javax.swing.JTextField;

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
      2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
      2005-08-29 21:43:37 UTC (rev 140)
@@ -28,8 +28,8 @@
 import izpack.frontend.model.SelectListModel;
 import izpack.frontend.model.stages.PanelSelectionModel;
 import izpack.frontend.view.components.AbstractListSelect;
-import izpack.frontend.view.components.ImageLabel;
 import izpack.frontend.view.components.SelectList;
+import izpack.frontend.view.renderers.ImageLabel;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -65,12 +65,14 @@
     
     public void initSrcList()
        {
+        int index = 0;
            ArrayList panels = PanelInfoManager.getAvailablePages();            
    
         for (Iterator iter = panels.iterator(); iter.hasNext();)
         {
             PanelInfo page = (PanelInfo) iter.next();
             
-            ( (SelectListModel) src.getModel() ).addElement( new 
ImageLabel(page.getClassname(), page.getName(), page.getShortDesc(), 
"res/imgs/folder.png") );
+            ( (SelectListModel) src.getModel() ).addElement( new 
ImageLabel(index, page.getClassname(), page.getName(), page.getShortDesc(), 
"res/imgs/folder.png") );
+            index++;            
         }
        }
     

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
       2005-08-25 15:50:39 UTC (rev 139)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
       2005-08-29 21:43:37 UTC (rev 140)
@@ -29,6 +29,8 @@
 import izpack.frontend.view.stages.IzPackStage;
 
 import javax.swing.JPanel;
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -42,13 +44,19 @@
 /**
  * @author Andy Gombos
  */
-public class PanelSelection extends IzPackStage
+public class PanelSelection extends IzPackStage implements ListDataListener
 {
     public PanelSelection()
     {
         super();
         
         panelSelect = new PanelSelectList();
+        
+        model = panelSelect.getDestModel();
+        
+        model.addListDataListener(this);
+        
+        validator = new PanelSelectionValidator(model);
            
                add(panelSelect);
     }
@@ -61,39 +69,10 @@
      * @see izpack.frontend.view.stages.IzPackStage#createInstallerData()
      */
     public Document createInstallerData()
-    {   
-        /*Element root = XML.createRootElement("installation");
-        Document rootDoc = root.getOwnerDocument();
+    {           
+        return model.writeToXML();
+    }    
         
-        root.setAttribute("version", "1.0");                
-        root.appendChild(rootDoc.importNode(panelSelect.createXML(), true));
-        
-        return rootDoc;*/
-        return panelSelect.getDestModel().writeToXML();
-    }
-
-    /* (non-Javadoc)
-     * @see izpack.frontend.view.stages.IzPackStage#validateStage()
-     */
-    //TODO warnings for common forgotten panels
-    public ValidationResult validateStage()
-    {
-        ValidationResult vr = new ValidationResult();
-        
-        if (panelSelect.dest.getNumElements() < 0)
-        {
-            vr.add(new PropertyValidationMessage(
-                            Severity.ERROR,
-                            "must have at least one panel selected to use",
-                            panelSelect.dest,
-                            "Panels",
-                            "selected"
-                            ));
-        }
-        
-        return vr;
-    }
-    
     PanelSelectList panelSelect;
 
     /* (non-Javadoc)
@@ -120,6 +99,39 @@
         return model;
     }
     
+    /* (non-Javadoc)
+     * @see izpack.frontend.view.stages.IzPackStage#validateStage()
+     */
+    // TODO warnings for common forgotten panels
+    public ValidationResult validateStage()
+    {
+        ValidationResult vr = validator.validate();
+        validationModel.setResult(vr);
+        
+        return vr; 
+    }
+
+    
     private static PanelSelectionModel model;
     private static PanelSelectionValidator validator;
+
+    /*
+     * Validation stuff  
+     * Should probably be refactored into a nicer, more unified interface
+     */
+    
+    public void intervalAdded(ListDataEvent e)
+    {
+        validateStage();        
+    }
+
+    public void intervalRemoved(ListDataEvent e)
+    {
+        validateStage();
+    }
+
+    public void contentsChanged(ListDataEvent e)
+    {
+        validateStage();        
+    }
 }

Deleted: izpack-frontend/trunk/src/res/imgs/button_cancel.png
===================================================================
(Binary files differ)

Added: izpack-frontend/trunk/src/res/imgs/greyArrow.png
===================================================================
(Binary files differ)


Property changes on: izpack-frontend/trunk/src/res/imgs/greyArrow.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-frontend/trunk/src/res/imgs/invalid.png
===================================================================
(Binary files differ)


Property changes on: izpack-frontend/trunk/src/res/imgs/invalid.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-frontend/trunk/src/res/imgs/valid.png
===================================================================
(Binary files differ)


Property changes on: izpack-frontend/trunk/src/res/imgs/valid.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream


Ruby Jobs
Java Jobs
Jobs in California
more...
what
job title, keywords
where
city, state, zip
jobs by job search
Search:
Java, servers, webhosting, windows, cisco ...
more...
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
encryption.gpg....    ietf.rfc822/199...    freebsd.devel.i...    lang.haskell.li...    mail.squirrelma...    web.zope.plone....    yellowdog.gener...    text.xml.xalan....    recreation.phot...    kde.devel.educa...    hardware.bus.ca...    printing.ghosts...    voip.peering/20...    assembly/2006-0...    org.user-groups...    culture.interne...    network.i2p/200...    boot-loaders.ya...    xfree86.render/...    qnx.openqnx.dev...    jakarta.velocit...    user-groups.pal...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe