Author: sletellier Date: 2008-10-20 16:43:49 +0000 (Mon, 20 Oct 2008) New Revision: 1567 Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx Log: Script JAXX Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2008-10-20 16:43:49 UTC (rev 1567) @@ -0,0 +1,73 @@ +package fr.ifremer.isisfish.ui.script; + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author letellier + */ +import fr.ifremer.isisfish.datastore.AnalysePlanStorage; +import fr.ifremer.isisfish.datastore.ExportStorage; +import fr.ifremer.isisfish.datastore.FormuleStorage; +import fr.ifremer.isisfish.datastore.RuleStorage; +import fr.ifremer.isisfish.datastore.ScriptStorage; +import fr.ifremer.isisfish.datastore.SimulationStorage; +import fr.ifremer.isisfish.ui.script.Action.ScriptMapping; +import java.io.File; +import java.util.List; +public class ScriptAction { + public ScriptAction(){ + + } + /** @return an array of all script's modules names managed by this screen */ + public static String[] getScriptTypesNames() { + ScriptMapping[] values = ScriptMapping.values(); + String[] result = new String[values.length]; + for (int i = 0; i < result.length; i++) { + result[i] = values[i].name(); + } + return result; + } + public List<String> getScriptNames(){ + return ScriptStorage.getScriptNames(); + } + public List<String> getSimulationNames(){ + return SimulationStorage.getSimulationNames(); + } + public List<String> getExportNames(){ + return ExportStorage.getExportNames(); + } + public List<String> getRuleNames(){ + return RuleStorage.getRuleNames(); + } + public List<String> getAnalysePlanNames(){ + return AnalysePlanStorage.getAnalysePlanNames(); + } + public List<String> getCategories(){ + return FormuleStorage.getCategories(); + } + public List<String> getFormuleNames(String Categories){ + return FormuleStorage.getFormuleNames(Categories); + } + public File getScriptDirectory(){ + return ScriptStorage.getScriptDirectory(); + } + public File getSimulationDirectory(){ + return SimulationStorage.getSimulationDirectory(); + } + public File getExportDirectory(){ + return ExportStorage.getExportDirectory(); + } + public File getRuleDirectory(){ + return RuleStorage.getRuleDirectory(); + } + public File getAnalysePlanDirectory(){ + return AnalysePlanStorage.getAnalysePlanDirectory(); + } + public File getFormuleDirectory(){ + return FormuleStorage.getFormuleDirectory(); + } +} Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2008-10-17 14:58:29 UTC (rev 1566) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2008-10-20 16:43:49 UTC (rev 1567) @@ -32,6 +32,109 @@ --> <JPanel id="script" layout='{new BorderLayout()}'> + <script><![CDATA[ + import jaxx.runtime.swing.Item; + import javax.swing.event.TreeSelectionListener; + import jaxx.runtime.swing.JAXXTree; + import javax.swing.tree.TreePath; + + protected Map<String, Item> items; + + setContextValue(new ScriptAction()); + setItems(); + tree.addTreeSelectionListener(new TreeSelectionListener() { + @Override + public void valueChanged(TreeSelectionEvent e) { + JAXXTree tree = (JAXXTree)e.getSource(); + String selectedValue = (String)tree.getSelectionValue(); + Item i = items.get(selectedValue); + File f = null; + if (i != null){ + Item parent = i.getParent(); + if (parent.equals(scriptItem)){ + f = new File(getContextValue(ScriptAction.class).getScriptDirectory().getPath() + File.separator + selectedValue); + } + else if (parent.equals(simulationItem)){ + f = new File(getContextValue(ScriptAction.class).getSimulationDirectory().getPath() + File.separator + selectedValue); + } + else if (parent.equals(exportItem)){ + f = new File(getContextValue(ScriptAction.class).getExportDirectory().getPath() + File.separator + selectedValue); + } + else if (parent.equals(ruleItem)){ + f = new File(getContextValue(ScriptAction.class).getRuleDirectory().getPath() + File.separator + selectedValue); + } + else if (parent.equals(analysePlanItem)){ + f = new File(getContextValue(ScriptAction.class).getAnalysePlanDirectory().getPath() + File.separator + selectedValue); + } + else if (parent.equals(equationModelItem)){ + f = new File(getContextValue(ScriptAction.class).getFormuleDirectory().getPath() + File.separator + selectedValue); + } + if (f!=null){ + setEditor(f); + } + } + } + }); + protected void setItems(){ + items = new HashMap<String, Item>(); + setScriptItems(); + setSimulationItems(); + setExportItems(); + setRuleItems(); + setAnalysePlanItem(); + setEquationModelItem(); + } + protected void setScriptItems(){ + for (String value : getContextValue(ScriptAction.class).getScriptNames()){ + Item i = new Item(value, null, value, false); + items.put(value, i); + scriptItem.addChild(i); + } + } + protected void setSimulationItems(){ + for (String value : getContextValue(ScriptAction.class).getSimulationNames()){ + Item i = new Item(value, null, value, false); + items.put(value, i); + simulationItem.addChild(i); + } + } + protected void setExportItems(){ + for (String value : getContextValue(ScriptAction.class).getExportNames()){ + Item i = new Item(value, null, value, false); + items.put(value, i); + exportItem.addChild(i); + } + } + protected void setRuleItems(){ + for (String value : getContextValue(ScriptAction.class).getRuleNames()){ + Item i = new Item(value, null, value, false); + items.put(value, i); + ruleItem.addChild(i); + } + } + protected void setAnalysePlanItem(){ + for (String value : getContextValue(ScriptAction.class).getAnalysePlanNames()){ + Item i = new Item(value, null, value, false); + items.put(value, i); + analysePlanItem.addChild(i); + } + } + protected void setEquationModelItem(){ + for (String categorie : getContextValue(ScriptAction.class).getCategories()){ + Item item = new Item(categorie, null, categorie, false); + equationModelItem.addChild(item); + for (String formule : getContextValue(ScriptAction.class).getFormuleNames(categorie)){ + Item i = new Item(formule, null, formule, false); + items.put(formule, i); + i.addChild(i); + } + } + } + protected void setEditor(File f){ + editor.open(f); + } + ]]> + </script> <!-- title="isisfish.script.title" visible="true" size='{new Dimension(620,400)}' @@ -57,7 +160,7 @@ | Toolbar +--> <JPanel id="buttonBar" layout='{new GridLayout()}' constraints='BorderLayout.NORTH'> - <JComboBox id="ScriptTypeChoice"> + <JComboBox id="ScriptTypeChoice" model='{new DefaultComboBoxModel(getContextValue(ScriptAction.class).getScriptTypesNames())}'/> <!-- origin="ScriptType" renderer="org.codelutin.i18n.I18n._(.)" @@ -67,7 +170,6 @@ <!-- Fixme : comboboxmodel <comboboxmodel origin="fr.ifremer.isisfish.ui.script.Action.getScriptTypesNames()"/> --> - </JComboBox> <JButton id="buttonScriptNew" text="isisfish.script.new"/> <!-- ToolTipText="Create a new script" @@ -145,6 +247,13 @@ constraints='"tree"' --> <JTree id="tree" name="tree" rootVisible="false"> + <item id='scriptItem' selected='true' value="Script"/> + <item id='simulationItem' value="Simulator"/> + <item id='exportItem' value="Export"/> + <item id='ruleItem' value="Rule"/> + <item id='analysePlanItem' value="AnalysePlan"/> + <item id='equationModelItem' value="EquationModel"/> + <!-- Fixme : NestedTreeModel, TreeRenderer and TreeSelectionEvents <NestedTreeModel id="treeModel"> <TreeNode name="Root"> @@ -186,9 +295,8 @@ <!-- | Editor script +--> + <org.codelutin.widget.editor.Editor id='editor'/> <!-- Fixme : editor - <editor id="scriptJedit" constraints='"fieldScriptEdit"'/> - origin="$ScriptStorage/file" --> <!--
participants (1)
-
sletellier@users.labs.libre-entreprise.org