Author: tchemit Date: 2008-02-18 15:35:42 +0000 (Mon, 18 Feb 2008) New Revision: 1071 Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangePageAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangeSizorAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/SearchAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/ListTabModel.java Log: chaque liste a son sizor, refactor updateUi (a finir) Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangePageAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangePageAction.java 2008-02-18 15:34:45 UTC (rev 1070) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangePageAction.java 2008-02-18 15:35:42 UTC (rev 1071) @@ -19,19 +19,17 @@ package fr.cemagref.simexplorer.is.ui.swing.actions; import fr.cemagref.simexplorer.is.ui.swing.JListTab; -import fr.cemagref.simexplorer.is.ui.swing.ListTabRefreshHelper; import fr.cemagref.simexplorer.is.ui.swing.SimExplorerActionManager; import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel; -import fr.cemagref.simexplorer.is.ui.swing.model.ListTableModel; import fr.cemagref.simexplorer.is.ui.swing.model.PaginationModel; +import fr.cemagref.simexplorer.is.ui.swing.model.ListTableModel; import javax.swing.AbstractAction; import javax.swing.AbstractButton; import javax.swing.Action; import javax.swing.JComboBox; import javax.swing.JComponent; -import javax.swing.JTable; import java.awt.event.ActionEvent; /** @@ -83,24 +81,15 @@ // save new firstIndex in model pagination.setFirstIndex(newFirstIndex); - model.updateTabModel(getContext(), isRemote()); - - // update table model - JListTab container = (JListTab) getUI(); - JTable table = container.getTable(); - ListTableModel modelTab = (ListTableModel) table.getModel(); - modelTab.setData(model.getList()); - - // refresh ui - //ListTabRefreshHelper.refreshListTabUI(container, model); + // update model + model.updateTabModel(getContext(), (ListTableModel) ((JListTab) getUI()).getTable().getModel()); } @Override public void updateUI() { super.updateUI(); // refresh ui - getTab().updateUI(); - //ListTabRefreshHelper.refreshListTabUI((JListTab) getUI(), (ListTabModel) getModel()); + getTab().updateUI(); } @Override Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangeSizorAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangeSizorAction.java 2008-02-18 15:34:45 UTC (rev 1070) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ChangeSizorAction.java 2008-02-18 15:35:42 UTC (rev 1071) @@ -18,16 +18,14 @@ * ##% */ package fr.cemagref.simexplorer.is.ui.swing.actions; +import fr.cemagref.simexplorer.is.ui.swing.JListTab; import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; -import fr.cemagref.simexplorer.is.ui.swing.model.ListTableModel; 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.JListTab; -import fr.cemagref.simexplorer.is.ui.swing.ListTabRefreshHelper; +import fr.cemagref.simexplorer.is.ui.swing.model.ListTableModel; import javax.swing.Action; import javax.swing.JComboBox; -import javax.swing.JTable; import java.awt.event.ActionEvent; /** @@ -78,18 +76,16 @@ // la liste à zero pour simplifier pagination.setWidth(newWidth); pagination.setFirstIndex(0); - - model.updateTabModel(getContext(), isRemote()); - - - // save in TableModel - JListTab container = (JListTab) getUI(); - JTable jApplicationTable = container.getTable(); - ListTableModel modelTab = (ListTableModel) jApplicationTable.getModel(); - modelTab.setData(model.getList()); - - // refresh ui - //ListTabRefreshHelper.refreshListTabUI(container, model); + model.synch(null); + // on sauvegarde dans la config la nouvelle valeur + // la valeur sera utilisée apres chaque action de recherche + if (model.isRemote()) { + getContext().getConfig().setRemoteSizor(newWidth); + } else { + getContext().getConfig().setLocalSizor(newWidth); + } + // update model + model.updateTabModel(getContext(), (ListTableModel) ((JListTab) getUI()).getTable().getModel()); } @Override @@ -101,6 +97,7 @@ @Override protected void clear() { + // multi-tab action setTab(null); newWidth = null; } Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java 2008-02-18 15:34:45 UTC (rev 1070) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java 2008-02-18 15:35:42 UTC (rev 1071) @@ -18,13 +18,11 @@ * ##% */ package fr.cemagref.simexplorer.is.ui.swing.actions; +import fr.cemagref.simexplorer.is.ui.swing.JListTab; import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; -import fr.cemagref.simexplorer.is.ui.swing.model.ListTableModel; import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel; -import fr.cemagref.simexplorer.is.ui.swing.JListTab; -import fr.cemagref.simexplorer.is.ui.swing.ListTabRefreshHelper; +import fr.cemagref.simexplorer.is.ui.swing.model.ListTableModel; -import javax.swing.JTable; import java.awt.event.ActionEvent; /** @@ -75,20 +73,11 @@ // reset query in model model.setQuery(null); - // a new search begins always on first page - model.getPagination().setFirstIndex(0); + // pagination a vide + model.setPagination(null); - // get data from service - model.updateTabModel(getContext(), isRemote()); - - // update table model in ui - JListTab container = (JListTab) getUI(); - JTable table = container.getTable(); - ListTableModel modelTab = (ListTableModel) table.getModel(); - modelTab.setData(model.getList()); - - // refresh ui - //ListTabRefreshHelper.refreshListTabUI(container, model); + // update model + model.updateTabModel(getContext(), (ListTableModel) ((JListTab) getUI()).getTable().getModel()); } @Override Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/SearchAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/SearchAction.java 2008-02-18 15:34:45 UTC (rev 1070) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/SearchAction.java 2008-02-18 15:35:42 UTC (rev 1071) @@ -18,14 +18,12 @@ * ##% */ package fr.cemagref.simexplorer.is.ui.swing.actions; +import fr.cemagref.simexplorer.is.ui.swing.JListTab; import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel; import fr.cemagref.simexplorer.is.ui.swing.model.ListTableModel; -import fr.cemagref.simexplorer.is.ui.swing.JListTab; -import fr.cemagref.simexplorer.is.ui.swing.ListTabRefreshHelper; import javax.swing.JTextField; -import javax.swing.JTable; import java.awt.event.ActionEvent; /** @@ -53,7 +51,7 @@ } @Override - protected boolean beforeAction(ActionEvent e) throws Exception { + protected boolean beforeAction(ActionEvent e) throws Exception { JTextField uiObject = (JTextField) getUIObject("searchText"); query = uiObject.getText(); ListTabModel model = (ListTabModel) getModel(); @@ -66,26 +64,20 @@ ListTabModel model = (ListTabModel) getModel(); model.getQuery().setQuery(query); - // a new search begins always on first page - model.getPagination().setFirstIndex(0); + // on supprime la selection courante avant tout + model.synch(null); + model.setSelectedIndex(-1); - // get data from service - model.updateTabModel(getContext(), isRemote()); + // pagination a vide + model.setPagination(null); - // update table model in ui - JListTab container = (JListTab) getUI(); - JTable table = container.getTable(); - ListTableModel modelTab = (ListTableModel) table.getModel(); - modelTab.setData(model.getList()); - - // refresh ui - //ListTabRefreshHelper.refreshListTabUI(container, model); + // update model + model.updateTabModel(getContext(), (ListTableModel) ((JListTab) getUI()).getTable().getModel()); } @Override public void updateUI() { - super.updateUI(); - // refresh ui + // refresh tab ui getTab().updateUI(); } Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java 2008-02-18 15:34:45 UTC (rev 1070) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java 2008-02-18 15:35:42 UTC (rev 1071) @@ -41,12 +41,12 @@ public void actionPerformed(java.awt.event.ActionEvent e) { - log.debug("------------------------------------------------------------"); - log.debug("event : " + e); - log.debug("source : " + e.getSource()); + log.info("------------------------------------------------------------"); + log.info("event : " + e); + log.info("source : " + e.getSource()); try { boolean accepted = beforeAction(e); - log.debug("action : " + this); + log.info("action : " + this); if (accepted) { log.info(getActionName()+" (treate:" + accepted + ") : " + this); } else { Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/ListTabModel.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/ListTabModel.java 2008-02-18 15:34:45 UTC (rev 1070) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/ListTabModel.java 2008-02-18 15:35:42 UTC (rev 1071) @@ -68,8 +68,11 @@ } public MetaData get(int index) { + if (index == -1) { + return null; + } checkSize(index); - return index==-1?null:getList()[index]; + return getList()[index]; } public boolean isEmpty() { @@ -87,7 +90,7 @@ @Override public String toString() { String s = super.toString(); - return s.substring(s.lastIndexOf(".") + 1) + "<size: " + size() + ">"; + return s.substring(s.lastIndexOf(".") + 1) + "<size: " + size() + ",selectedItem:"+selectedItem+">"; } public void setSelectedIndex(int selectedIndex) { @@ -107,19 +110,20 @@ this.list = list; } - public void initTabModel(SimExplorerContext context, boolean remote) throws Exception { - // first local query, build model + public void initTabModel(SimExplorerContext context, boolean remote, ListTableModel tableModel) { - synch(remote,null,null); + // no selection at first load + synch(remote, null, null); - updateTabModel(context, remote); + // first query, build model + updateTabModel(context, tableModel); } - public void updateTabModel(SimExplorerContext context, boolean remote) throws Exception { + public void updateTabModel(SimExplorerContext context, ListTableModel tableModel) { // init pagination PaginationModel paginationModel; - paginationModel = pagination == null ? initPagination(context, remote) : pagination; + paginationModel = pagination == null ? initPagination(context) : pagination; // init query model QueryModel queryModel; @@ -130,9 +134,10 @@ // save in model setList(data); + tableModel.setData(data); } - protected PaginationModel initPagination(SimExplorerContext context, boolean remote) { + protected PaginationModel initPagination(SimExplorerContext context) { QueryModel queryModel; queryModel = getQuery(); @@ -145,7 +150,7 @@ paginationModel.setFirstIndex(0); paginationModel.setSize(size); // utilisation sizor par défaut - paginationModel.setWidth(context.getConfig().getSizor()); + paginationModel.setWidth(remote ? context.getConfig().getRemoteSizor() : context.getConfig().getLocalSizor()); // save pagination in model setPagination(paginationModel); @@ -153,7 +158,7 @@ } private void checkSize(int index) { - if (index>-1 && (isEmpty() || size() < index)) { + if (index > -1 && (isEmpty() || size() < index)) { throw new IllegalStateException(getClass() + " has size " + size() + " and was required index " + index); } }