diff --git a/src/Mod/Ship/tankGZ/TaskPanel.py b/src/Mod/Ship/tankGZ/TaskPanel.py
index 07b84abc9..5408cb61f 100644
--- a/src/Mod/Ship/tankGZ/TaskPanel.py
+++ b/src/Mod/Ship/tankGZ/TaskPanel.py
@@ -95,6 +95,7 @@ class TaskPanel:
form.tanks = form.findChild(QtGui.QListWidget, "Tanks")
form.disp = form.findChild(QtGui.QLabel, "DisplacementLabel")
form.draft = form.findChild(QtGui.QLabel, "DraftLabel")
+ form.update = form.findChild(QtGui.QPushButton, "UpdateData")
form.trim = form.findChild(QtGui.QDoubleSpinBox, "Trim")
form.autoTrim = form.findChild(QtGui.QPushButton, "TrimAutoCompute")
form.roll0 = form.findChild(QtGui.QDoubleSpinBox, "StartAngle")
@@ -105,9 +106,9 @@ class TaskPanel:
if self.initValues():
return True
self.retranslateUi()
- self.onTanksSelection()
# Connect Signals and Slots
QtCore.QObject.connect(form.tanks,QtCore.SIGNAL("itemSelectionChanged()"),self.onTanksSelection)
+ QtCore.QObject.connect(form.update,QtCore.SIGNAL("pressed()"),self.onUpdate)
QtCore.QObject.connect(form.trim,QtCore.SIGNAL("valueChanged(double)"),self.onTrim)
QtCore.QObject.connect(form.autoTrim,QtCore.SIGNAL("pressed()"),self.onAutoTrim)
QtCore.QObject.connect(form.roll0,QtCore.SIGNAL("valueChanged(double)"),self.onRoll)
@@ -199,10 +200,18 @@ class TaskPanel:
self.form.findChild(QtGui.QLabel, "StartAngleLabel").setText(Translator.translate("Start") + " [deg]")
self.form.findChild(QtGui.QLabel, "EndAngleLabel").setText(Translator.translate("End") + " [deg]")
self.form.findChild(QtGui.QLabel, "NAngleLabel").setText(Translator.translate("Number of points"))
+ self.form.disp.setText(Translator.translate("Displacement = Press update to compute"))
+ self.form.draft.setText(Translator.translate("Draft = Press update to compute"))
+ self.form.update.setText(Translator.translate("Update displacement and draft"))
def onTanksSelection(self):
""" Called when tanks are selected or deselected.
"""
+ pass
+
+ def onUpdate(self):
+ """ Called when update displacement and draft is requested.
+ """
# Set displacement label
disp = self.computeDisplacement()
self.form.disp.setText(Translator.translate("Displacement") + ' = %g [kg]' % (disp[0]))
@@ -236,7 +245,7 @@ class TaskPanel:
z = BG[0]*math.sin(math.radians(trim)) + BG[2]*math.cos(math.radians(trim))
var = math.degrees(math.atan2(x,z))
# Iterate looking stability point
- dVar = math.copysign(0.0033, var)
+ dVar = math.copysign(0.01, var)
while True:
if (dVar*math.copysign(dVar, var) < 0.0):
break
diff --git a/src/Mod/Ship/tankGZ/TaskPanel.ui b/src/Mod/Ship/tankGZ/TaskPanel.ui
index 80439d94d..6f2da22e2 100644
--- a/src/Mod/Ship/tankGZ/TaskPanel.ui
+++ b/src/Mod/Ship/tankGZ/TaskPanel.ui
@@ -71,6 +71,13 @@
+ -
+
+
+ Update displacement and draft
+
+
+
-
-