From 23fdd39f08e5c4e214bda7928ed5cc80f60fae5c Mon Sep 17 00:00:00 2001 From: teo_sarca Date: Thu, 13 Sep 2007 20:43:39 +0000 Subject: [PATCH] FR [ 1794050 ] Usability: VCreateFrom OK button always enabled http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1794050&group_id=176962 --- client/src/org/compiere/grid/VCreateFrom.java | 21 ++++++++++++++++++- .../org/compiere/grid/VCreateFromInvoice.java | 2 +- .../compiere/grid/VCreateFromShipment.java | 2 +- .../compiere/grid/VCreateFromStatement.java | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/client/src/org/compiere/grid/VCreateFrom.java b/client/src/org/compiere/grid/VCreateFrom.java index 86ab087d8f..c399765fd4 100644 --- a/client/src/org/compiere/grid/VCreateFrom.java +++ b/client/src/org/compiere/grid/VCreateFrom.java @@ -37,6 +37,9 @@ import org.compiere.util.*; * * @author Jorg Janke * @version $Id: VCreateFrom.java,v 1.4 2006/10/11 09:52:23 comdivision Exp $ + * + * @author Teo Sarca, SC ARHIPAC SERVICE SRL + *
  • FR [ 1794050 ] Usability: VCreateFrom OK button always enabled */ public abstract class VCreateFrom extends CDialog implements ActionListener, TableModelListener @@ -134,7 +137,7 @@ public abstract class VCreateFrom extends CDialog private CPanel southPanel = new CPanel(); private BorderLayout southLayout = new BorderLayout(); private ConfirmPanel confirmPanel = new ConfirmPanel(true); - protected StatusBar statusBar = new StatusBar(); + private StatusBar statusBar = new StatusBar(); protected MiniTable dataTable = new MiniTable(); protected JLabel locatorLabel = new JLabel(); protected VLocator locatorField = new VLocator(); @@ -514,5 +517,21 @@ public abstract class VCreateFrom extends CDialog // Table UI dataTable.autoSize(); } // loadOrder + + /** + * Set form status line. + * Please note, will enable/disable the OK button if the selectedRowCount > 0. + * @param selectedRowCount number of selected lines + * @param text additional text + */ + protected void setStatusLine(int selectedRowCount, String text) { + StringBuffer sb = new StringBuffer(String.valueOf(selectedRowCount)); + if (text != null && text.trim().length() > 0) { + sb.append(" - ").append(text); + } + statusBar.setStatusLine(sb.toString()); + // + confirmPanel.getOKButton().setEnabled(selectedRowCount > 0); + } } // VCreateFrom diff --git a/client/src/org/compiere/grid/VCreateFromInvoice.java b/client/src/org/compiere/grid/VCreateFromInvoice.java index ba47bcfafa..578cf8df8a 100644 --- a/client/src/org/compiere/grid/VCreateFromInvoice.java +++ b/client/src/org/compiere/grid/VCreateFromInvoice.java @@ -266,7 +266,7 @@ public class VCreateFromInvoice extends VCreateFrom implements VetoableChangeLis if (((Boolean)model.getValueAt(i, 0)).booleanValue()) count++; } - statusBar.setStatusLine(String.valueOf(count)); + setStatusLine(count, null); } // infoInvoice /** diff --git a/client/src/org/compiere/grid/VCreateFromShipment.java b/client/src/org/compiere/grid/VCreateFromShipment.java index 123dd931aa..6bdaf3b796 100644 --- a/client/src/org/compiere/grid/VCreateFromShipment.java +++ b/client/src/org/compiere/grid/VCreateFromShipment.java @@ -479,7 +479,7 @@ public class VCreateFromShipment extends VCreateFrom implements VetoableChangeLi if (((Boolean) model.getValueAt(i, 0)).booleanValue()) count++; } - statusBar.setStatusLine(String.valueOf(count)); + setStatusLine(count, null); } // info /** diff --git a/client/src/org/compiere/grid/VCreateFromStatement.java b/client/src/org/compiere/grid/VCreateFromStatement.java index 1dcc25369b..8ed8c12cea 100644 --- a/client/src/org/compiere/grid/VCreateFromStatement.java +++ b/client/src/org/compiere/grid/VCreateFromStatement.java @@ -211,7 +211,7 @@ public class VCreateFromStatement extends VCreateFrom implements VetoableChangeL count++; } } - statusBar.setStatusLine(String.valueOf(count) + " - " + Msg.getMsg(Env.getCtx(), "Sum") + " " + format.format(total)); + setStatusLine(count, Msg.getMsg(Env.getCtx(), "Sum") + " " + format.format(total)); } // infoStatement /**