r410 - in trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing: . action/application action/tab model
Author: tchemit Date: 2008-01-22 12:55:35 +0000 (Tue, 22 Jan 2008) New Revision: 410 Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTabFactory.java trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/application/ExpandAllAction.java trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/tab/ShowDetailTabAction.java trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DetailTabModel.java Log: ajout listener sur le tableau : quand on double click, on affiche le d?\195?\169tail de l'application (dans l'unique onglet r?\195?\169serv?\195?\169 ?\195?\160 cette effet) ajout m?\195?\169thode de refresh ui pour le tab de detail ajout de deux propri?\195?\169t?\195?\169s dans le model de d?\195?\169tail pour conserver le temps du chargement du tab de la position de l'application ?\195?\160 affichier dans la liste ajout code de l'action d'affichage du tab de d?\195?\169tail Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java 2008-01-22 12:52:19 UTC (rev 409) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java 2008-01-22 12:55:35 UTC (rev 410) @@ -20,8 +20,10 @@ import fr.cemagref.simexplorer.is.ui.SimExplorer; import fr.cemagref.simexplorer.is.ui.swing.action.ChangeI18nAbstractAction; +import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel; import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel; import fr.cemagref.simexplorer.is.ui.swing.model.PaginationModel; +import fr.cemagref.simexplorer.is.ui.swing.tab.JApplicationDetailTab; import fr.cemagref.simexplorer.is.ui.swing.tab.JApplicationListTab; import org.codelutin.i18n.CountryEnum; import org.codelutin.i18n.LanguageEnum; @@ -64,6 +66,21 @@ } } + public void refreshDetailTabUI(final DetailTabModel model, final JApplicationDetailTab ui) { + + SwingUtilities.invokeLater(new Runnable() { + public void run() { + ui.getTree().setToolTipText(model.getUuid()+" version "+model.getVersion()+" remote ?"+model.isRemote()); + + // tree data model may have changed, must revalidate + ui.getTree().invalidate(); + + // parent must be repaint (will revalidate layout for tree) + ui.repaint(); + } + }); + } + public void refreshListTabUI(final ListTabModel model, final JApplicationListTab ui) { SwingUtilities.invokeLater(new Runnable() { @@ -89,7 +106,7 @@ protected void refreshPagination(JApplicationListTab ui, PaginationModel pagination) { int page = pagination.getCurrentPage(); - boolean notLast = page + 1 < pagination.getNbPages(); + boolean notLast = page + 1 < pagination.getNbPages(); ui.getGoNextPage().setEnabled(notLast); ui.getGoLastPage().setEnabled(notLast); } Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTabFactory.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTabFactory.java 2008-01-22 12:52:19 UTC (rev 409) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTabFactory.java 2008-01-22 12:55:35 UTC (rev 410) @@ -20,6 +20,8 @@ import fr.cemagref.simexplorer.is.ui.SimExplorer; import fr.cemagref.simexplorer.is.ui.SimExplorerRuntimeException; +import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel; +import fr.cemagref.simexplorer.is.ui.swing.tab.JApplicationListTab; import fr.cemagref.simexplorer.is.ui.swing.util.MyTabHeader; import jaxx.runtime.JAXXObject; import jaxx.runtime.builder.TabContentConfig; @@ -29,7 +31,10 @@ import javax.swing.AbstractButton; import javax.swing.JComponent; import javax.swing.JTabbedPane; +import javax.swing.JTable; +import javax.swing.AbstractAction; import java.awt.Component; +import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.lang.reflect.Field; @@ -60,6 +65,27 @@ protected void initTab(JComponent tab, String tabName, TabContentConfig config) { SimExplorerActionManager.loadActions((JAXXObject) tab, getTab(tabName)); + final SimExplorerTab def = getTab(tabName); + if (def == SimExplorerTab.local || def == SimExplorerTab.remote) { + // add a mouse listener on table + final JApplicationListTab comp = (JApplicationListTab) tab; + + comp.getTable().addMouseListener(new MouseAdapter() { + AbstractAction detailAction = SimExplorerActionManager.newAction("showTab_detail", (AbstractButton) null); + @Override + public void mouseClicked(MouseEvent e) { + if (e.getClickCount() == 2) { + JTable table = (JTable) e.getSource(); + int selectRow = table.getSelectedRow(); + DetailTabModel model = (DetailTabModel) SimExplorerTab.detail.getModel(); + model.setRemote(def== SimExplorerTab.remote); + model.setIndex(selectRow); + detailAction.actionPerformed(new ActionEvent(table, ActionEvent.ACTION_FIRST, "showTab_detail")); + System.out.println("action detail " + selectRow + " : " + table.getValueAt(selectRow, 0)); + } + } + }); + } } protected SimExplorerTab getTab(String tabName) { Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/application/ExpandAllAction.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/application/ExpandAllAction.java 2008-01-22 12:52:19 UTC (rev 409) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/application/ExpandAllAction.java 2008-01-22 12:55:35 UTC (rev 410) @@ -41,10 +41,5 @@ public ExpandAllAction(String name) { super(name); } - - @Override - public void actionPerformed(java.awt.event.ActionEvent e) { - super.actionPerformed(e); - //TODO - } + } \ No newline at end of file Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/tab/ShowDetailTabAction.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/tab/ShowDetailTabAction.java 2008-01-22 12:52:19 UTC (rev 409) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/action/tab/ShowDetailTabAction.java 2008-01-22 12:55:35 UTC (rev 410) @@ -18,8 +18,16 @@ * \#\#% */ package fr.cemagref.simexplorer.is.ui.swing.action.tab; +import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; +import fr.cemagref.simexplorer.is.entities.metadata.Version; +import fr.cemagref.simexplorer.is.ui.swing.SimExplorerTab; import fr.cemagref.simexplorer.is.ui.swing.action.ShowTabAbstractAction; +import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel; +import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel; +import fr.cemagref.simexplorer.is.ui.swing.tab.JApplicationDetailTab; +import java.awt.event.ActionEvent; + /** * Action pour afficher le tab local * @@ -38,7 +46,46 @@ private static final long serialVersionUID = 6643631041114311643L; + public ShowDetailTabAction(String name) { super(name); } + + @Override + protected boolean beforeAction(ActionEvent e) throws Exception { + + ListTabModel listModel; + DetailTabModel model = (DetailTabModel) getModel(); + if (model.isRemote()) { + listModel = (ListTabModel) SimExplorerTab.remote.getModel(); + + } else { + listModel = (ListTabModel) SimExplorerTab.local.getModel(); + } + MetaDataEntity data = listModel.get(model.getIndex()); + + model.setBean(data); + String uuid = data.getUuid(); + Version version = data.getVersion(); + log.info("show detail uuid:" + uuid + ", version:" + version); + return true; + } + + @Override + protected void afterAction(ActionEvent e) { + + DetailTabModel model = (DetailTabModel) getModel(); + + // push model into tree model + JApplicationDetailTab container = (JApplicationDetailTab) getUI(); + + // refresh ui + getMainUI().refreshDetailTabUI(model, container); + + } + + @Override + protected void clear() { + super.clear(); + } } Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DetailTabModel.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DetailTabModel.java 2008-01-22 12:52:19 UTC (rev 409) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DetailTabModel.java 2008-01-22 12:55:35 UTC (rev 410) @@ -40,6 +40,12 @@ protected MetaDataEntity bean; + protected String uuid; + + protected boolean remote; + + protected int index; + protected Version[] versions; public String getName() { @@ -54,6 +60,22 @@ return bean; } + public boolean isRemote() { + return remote; + } + + public int getIndex() { + return index; + } + + public void setRemote(boolean remote) { + this.remote = remote; + } + + public void setIndex(int index) { + this.index = index; + } + public Version[] getVersions() { return versions; }
participants (1)
-
tchemit@users.labs.libre-entreprise.org