|
From: Hirzel P. <ph...@us...> - 2006-01-13 17:40:47
|
Update of /cvsroot/tcotool/TCO-Tool/src/org/tcotool/application In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24017/src/org/tcotool/application Modified Files: CatalogueDetailView.java Log Message: Feature: Expendable, update-influence on assigned FactCost Index: CatalogueDetailView.java =================================================================== RCS file: /cvsroot/tcotool/TCO-Tool/src/org/tcotool/application/CatalogueDetailView.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CatalogueDetailView.java 13 Dec 2005 12:48:16 -0000 1.2 --- CatalogueDetailView.java 13 Jan 2006 17:40:36 -0000 1.3 *************** *** 20,33 **** import ch.softenvironment.jomm.mvc.controller.*; import ch.softenvironment.jomm.mvc.model.DbObject; import org.tcotool.model.*; /** * DetailView of Catalogue. * ! * @author: Peter Hirzel <i>soft</i>Environment * @version $Revision$ $Date$ */ ! public class CatalogueDetailView extends ch.softenvironment.jomm.mvc.view.DbBaseFrame implements ch.softenvironment.view.DetailView { private ch.softenvironment.view.DetailView caller = null; private javax.swing.JPanel ivjBaseDialogContentPane = null; private javax.swing.JTabbedPane ivjJTabbedPane1 = null; --- 20,38 ---- import ch.softenvironment.jomm.mvc.controller.*; import ch.softenvironment.jomm.mvc.model.DbObject; + import ch.softenvironment.view.BaseDialog; import org.tcotool.model.*; + import org.tcotool.tools.ModelUtility; + import org.tcotool.tools.TreeTool; + import org.tcotool.tools.TreeToolListener; /** * DetailView of Catalogue. * ! * @author Peter Hirzel <i>soft</i>Environment * @version $Revision$ $Date$ */ ! public class CatalogueDetailView extends ch.softenvironment.jomm.mvc.view.DbBaseFrame implements ch.softenvironment.view.DetailView, org.tcotool.tools.TreeToolListener { private ch.softenvironment.view.DetailView caller = null; + private boolean updateName = false; private javax.swing.JPanel ivjBaseDialogContentPane = null; private javax.swing.JTabbedPane ivjJTabbedPane1 = null; *************** *** 62,65 **** --- 67,72 ---- private ch.softenvironment.view.swingext.NumberTextField ivjTxtDepreciation = null; private ch.softenvironment.view.swingext.NumberTextField ivjTxtUsage = null; + private boolean ivjConnPtoP5Aligning = false; + private boolean ivjConnPtoP7Aligning = false; class IvjEventHandler implements ch.softenvironment.view.SimpleEditorPanelListener, ch.softenvironment.view.ToolBarListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.beans.PropertyChangeListener { *************** *** 67,70 **** --- 74,79 ---- if (e.getSource() == CatalogueDetailView.this.getCbxCurrency()) connPtoP11SetSource(); + if (e.getSource() == CatalogueDetailView.this.getChxExpendable()) + connPtoP8SetSource(); }; public void keyPressed(java.awt.event.KeyEvent e) {}; *************** *** 111,114 **** --- 120,125 ---- if (evt.getSource() == CatalogueDetailView.this.getObject() && (evt.getPropertyName().equals("usageDuration"))) connPtoP7SetTarget(); + if (evt.getSource() == CatalogueDetailView.this.getObject() && (evt.getPropertyName().equals("expendable"))) + connPtoP8SetTarget(); }; public void tbbCopyAction_actionPerformed(java.util.EventObject newEvent) {}; *************** *** 131,136 **** }; }; ! private boolean ivjConnPtoP5Aligning = false; ! private boolean ivjConnPtoP7Aligning = false; /** * Constructor --- 142,147 ---- }; }; ! private javax.swing.JCheckBox ivjChxExpendable = null; ! private boolean ivjConnPtoP8Aligning = false; /** * Constructor *************** *** 696,699 **** --- 707,760 ---- } /** + * connPtoP8SetSource: (Object.expendable <--> ChxExpendable.selected) + */ + /* WARNING: THIS METHOD WILL BE REGENERATED. */ + private void connPtoP8SetSource() { + /* Set the source from the target */ + try { + if (ivjConnPtoP8Aligning == false) { + // user code begin {1} + // user code end + ivjConnPtoP8Aligning = true; + if ((getObject() != null)) { + getObject().setExpendable(new java.lang.Boolean(getChxExpendable().isSelected())); + } + // user code begin {2} + // user code end + ivjConnPtoP8Aligning = false; + } + } catch (java.lang.Throwable ivjExc) { + ivjConnPtoP8Aligning = false; + // user code begin {3} + // user code end + handleException(ivjExc); + } + } + /** + * connPtoP8SetTarget: (Object.expendable <--> ChxExpendable.selected) + */ + /* WARNING: THIS METHOD WILL BE REGENERATED. */ + private void connPtoP8SetTarget() { + /* Set the target from the source */ + try { + if (ivjConnPtoP8Aligning == false) { + // user code begin {1} + // user code end + ivjConnPtoP8Aligning = true; + if ((getObject() != null)) { + getChxExpendable().setSelected((getObject().getExpendable()).booleanValue()); + } + // user code begin {2} + // user code end + ivjConnPtoP8Aligning = false; + } + } catch (java.lang.Throwable ivjExc) { + ivjConnPtoP8Aligning = false; + // user code begin {3} + // user code end + handleException(ivjExc); + } + } + /** * Create a new Object as a "copy" of a selected one (and open * it for e.g. in a DetailView). *************** *** 742,746 **** ivjCbxCurrency = new javax.swing.JComboBox(); ivjCbxCurrency.setName("CbxCurrency"); ! ivjCbxCurrency.setBounds(364, 157, 61, 23); ivjCbxCurrency.setEnabled(true); // user code begin {1} --- 803,807 ---- ivjCbxCurrency = new javax.swing.JComboBox(); ivjCbxCurrency.setName("CbxCurrency"); ! ivjCbxCurrency.setBounds(364, 163, 61, 23); ivjCbxCurrency.setEnabled(true); // user code begin {1} *************** *** 755,758 **** --- 816,843 ---- } /** + * Return the ChxExpendable property value. + * @return javax.swing.JCheckBox + */ + /* WARNING: THIS METHOD WILL BE REGENERATED. */ + private javax.swing.JCheckBox getChxExpendable() { + if (ivjChxExpendable == null) { + try { + ivjChxExpendable = new javax.swing.JCheckBox(); + ivjChxExpendable.setName("ChxExpendable"); + ivjChxExpendable.setText("Verbrauchsmaterial"); + ivjChxExpendable.setBounds(161, 133, 263, 22); + // user code begin {1} + ivjChxExpendable.setText(getResourceString("ChxExpendable_text")); + ivjChxExpendable.setToolTipText(getResourceString("ChxExpendable_toolTipText")); + // user code end + } catch (java.lang.Throwable ivjExc) { + // user code begin {2} + // user code end + handleException(ivjExc); + } + } + return ivjChxExpendable; + } + /** * Return the ConsistencyController property value. * @return ch.softenvironment.jomm.controls.ConsistencyController *************** *** 962,966 **** ivjLblPrice.setName("LblPrice"); ivjLblPrice.setText("Kosten:"); ! ivjLblPrice.setBounds(11, 161, 141, 14); // user code begin {1} ivjLblPrice.setText(ResourceManager.getResource(ServiceDetailView.class, "PnlCost_text", true)); --- 1047,1051 ---- ivjLblPrice.setName("LblPrice"); ivjLblPrice.setText("Kosten:"); ! ivjLblPrice.setBounds(11, 167, 141, 14); // user code begin {1} ivjLblPrice.setText(ResourceManager.getResource(ServiceDetailView.class, "PnlCost_text", true)); *************** *** 1056,1059 **** --- 1141,1145 ---- getPnlDetail().add(getLblMonthTco(), getLblMonthTco().getName()); getPnlDetail().add(getLblMonthDepreciation(), getLblMonthDepreciation().getName()); + getPnlDetail().add(getChxExpendable(), getChxExpendable().getName()); // user code begin {1} // user code end *************** *** 1157,1161 **** ivjTxtCost = new ch.softenvironment.view.swingext.NumberTextField(); ivjTxtCost.setName("TxtCost"); ! ivjTxtCost.setBounds(161, 160, 194, 20); // user code begin {1} // user code end --- 1243,1247 ---- ivjTxtCost = new ch.softenvironment.view.swingext.NumberTextField(); ivjTxtCost.setName("TxtCost"); ! ivjTxtCost.setBounds(161, 166, 194, 20); // user code begin {1} // user code end *************** *** 1256,1259 **** --- 1342,1346 ---- getTxtDepreciation().addKeyListener(ivjEventHandler); getTxtUsage().addKeyListener(ivjEventHandler); + getChxExpendable().addItemListener(ivjEventHandler); connPtoP6SetTarget(); connPtoP18SetTarget(); *************** *** 1266,1269 **** --- 1353,1357 ---- connPtoP5SetTarget(); connPtoP7SetTarget(); + connPtoP8SetTarget(); } /** *************** *** 1310,1314 **** caller.assignObjects(ch.softenvironment.util.ListUtils.createList(getObject())); } ! LauncherView.getInstance().saveObject(); closeOnSave(); --- 1398,1408 ---- caller.assignObjects(ch.softenvironment.util.ListUtils.createList(getObject())); } ! if (BaseDialog.showConfirm(this, getResourceString("CTUpdateReference"), getResourceString("CQUpdateReference"))) { ! // @see #treatFactCost() ! updateName = true; ! TreeTool treeTool = new TreeTool(this); ! treeTool.walkTree((TcoObject)LauncherView.getInstance().getUtility().getRoot()); ! updateName = false; ! } LauncherView.getInstance().saveObject(); closeOnSave(); *************** *** 1375,1381 **** --- 1469,1483 ---- ((Catalogue)object).refresh(false); ((Catalogue)object).setCurrency(LauncherView.getInstance().getUtility().getSystemParameter().getDefaultCurrency()); + + ((Catalogue)object).setExpendable(Boolean.FALSE); ((Catalogue)object).setDepreciationDuration(LauncherView.getInstance().getUtility().getSystemParameter().getDefaultDepreciationDuration()); ((Catalogue)object).setUsageDuration(LauncherView.getInstance().getUtility().getSystemParameter().getDefaultUsageDuration()); } + + if (((Catalogue)object).getExpendable().booleanValue()) { + // @see #updateModel() + getTxtUsage().setEditable(false); + getTxtDepreciation().setEditable(false); + } setObject((org.tcotool.model.Catalogue)object); *************** *** 1412,1415 **** --- 1514,1518 ---- connPtoP5SetTarget(); connPtoP7SetTarget(); + connPtoP8SetTarget(); // user code begin {1} // user code end *************** *** 1423,1426 **** --- 1526,1551 ---- // user code end } + public void treatCostDriver(CostDriver driver) { + } + /** + * @see #updateModel() + * @see @saveObject() + */ + public void treatFactCost(FactCost cost) { + if ((cost.getCatalogue() != null) && cost.getCatalogue().equals(getObject())) { + if (updateName) { + cost.setName(getObject().getNameString()); + } else { + ModelUtility.updateCatalogue(cost); + } + } + } + public void treatPersonalCost(PersonalCost cost) { + + } + public void treatService(Service service) { + } + public void treatTcoPackage(TcoPackage group) { + } /** * Undo the changes of an Object represented by this GUI. *************** *** 1432,1443 **** * Make sure any FactCost entries are recalculated. */ ! private void updateModel(java.beans.PropertyChangeEvent evt) { try { if (evt != null) { // be aware of ping-pong effect ! if (evt.getPropertyName().equals("price") || evt.getPropertyName().equals("currency")) { ! //TODO Tune fixModel -> needs only to correct PersonalCost entries ! LauncherView.getInstance().getUtility().fixModel((TcoObject)LauncherView.getInstance().getUtility().getRoot()); ! } } } catch(Throwable e) { --- 1557,1584 ---- * Make sure any FactCost entries are recalculated. */ ! private synchronized void updateModel(java.beans.PropertyChangeEvent evt) { try { if (evt != null) { // be aware of ping-pong effect ! // @see #saveObject() for event "name" ! if (evt.getPropertyName().equals("price") || evt.getPropertyName().equals("currency") || ! evt.getPropertyName().equals("usageDuration") || evt.getPropertyName().equals("depreciationDuration") || ! evt.getPropertyName().equals("expendable")) { ! if (evt.getPropertyName().equals("expendable")) { ! if (getObject().getExpendable().booleanValue()) { ! // fix duration to one year ! getTxtUsage().setEditable(false); ! getTxtDepreciation().setEditable(false); ! getObject().setUsageDuration(ModelUtility.EXPENDABLE_DURATION); ! getObject().setDepreciationDuration(ModelUtility.EXPENDABLE_DURATION); ! } else { ! getTxtUsage().setEditable(true); ! getTxtDepreciation().setEditable(true); ! } ! } ! // @see #treatFactCost() ! TreeTool treeTool = new TreeTool(this); ! treeTool.walkTree((TcoObject)LauncherView.getInstance().getUtility().getRoot()); ! } } } catch(Throwable e) { |