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> " + name + "</b>" +
- "<p> <font color=#969696> " + 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> " + name + "</b>" +
+ "<p> <font color=#969696> " + 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> " + panelModel.configData.getName() + "</b>"
+
+ "<p> <font color=#969696> " +
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
|