from qtsalome import QIcon, QStandardItemModel, QStandardItem, QMessageBox, pyqtSignal
from inputframe_ui import Ui_InputFrame
-from inputdata import InputData
+from .inputdata import InputData
DEBUG_MODE=True
GROUPNAME_MAXLENGTH=8
class InputDialog(GenericDialog):
TBL_HEADER_LABEL=["Input Mesh", "Output group name"]
-
+
inputValidated = pyqtSignal()
def __init__(self, parent=None, name="InputDialog", modal=0):
icon.addFile(os.path.join(iconfolder,"steelbar.png"))
self.__ui.cmbMeshType.setItemIcon(meshTypeIndex, icon)
self.MESHTYPE_ICONS[meshTypeIndex] = icon
-
+
# The click on btnSmeshObject (signal clicked() emitted by the
# button btnSmeshObject) is connected to the slot
# onSelectSmeshObject, etc ...
self.__ui.tblListInput.horizontalHeader().setStretchLastSection(True)
# Note that the type is not display explicitly in the Qt table
# because it is specified using an icon on the text of the
- # name item.
+ # name item.
+
+ # Setup default values for numerical parameters
+ self.__ui.txtParamNbIter.setValue(3)
# Note that PADDER does not support group name longer than 8
# characters. We apply then this limit in the gui field.
"""
# if the entry already exists, we remove it to replace by a
# new one
- if self.__dictInputData.has_key(meshName):
+ if meshName in self.__dictInputData:
self.__delInputFromMap(meshName)
-
+
inputData = InputData()
inputData.meshName = meshName
inputData.meshObject = meshObject
else:
self.__nbSteelbarMesh += 1
- print inputData
- print "meshType = ",inputData.meshType
- print "nb concrete mesh ",self.__nbConcreteMesh
- print "nb steelbar mesh ",self.__nbSteelbarMesh
-
+ print(inputData)
+ print("meshType = ",inputData.meshType)
+ print("nb concrete mesh ",self.__nbConcreteMesh)
+ print("nb steelbar mesh ",self.__nbSteelbarMesh)
+
def onDeleteInput(self):
"""
def __delInputFromMap(self, meshName):
"""
This function removes the specified entry from the internal
- map (for data management purpose)
+ map (for data management purpose)
"""
inputData = self.__dictInputData.pop(meshName)
if inputData.meshType == InputData.MESHTYPES.CONCRETE:
else:
self.__nbSteelbarMesh -= 1
- print inputData
- print "nb concrete mesh ",self.__nbConcreteMesh
- print "nb steelbar mesh ",self.__nbSteelbarMesh
+ print(inputData)
+ print("nb concrete mesh ",self.__nbConcreteMesh)
+ print("nb steelbar mesh ",self.__nbSteelbarMesh)
def setData(self, listInputData=[]):
meshObject = inputData.meshObject
meshType = inputData.meshType
groupName = inputData.groupName
-
+
self.__addInputInGui(meshName, meshObject, meshType, groupName)
self.__addInputInMap(meshName, meshObject, meshType, groupName)
"""
# Note that the values() function returns a copy of the list
# of values.
- return self.__dictInputData.values()
-
+ return list(self.__dictInputData.values())
+
def checkData(self):
"""
This function checks if the data are valid, from the dialog
"""
if self.__nbConcreteMesh == 0 and self.__nbSteelbarMesh == 0:
self.checkDataMessage = "You must define at least one mesh (CONCRETE or STEELBAR)"
- return False
+ return False
if self.__nbConcreteMesh > 1:
self.checkDataMessage = "You define multiple CONCRETE meshes."
self.checkDataMessage += "You should verify first that your version of PADDER support this configuration."
return True
+ #def setParameters(self,
# ==============================================================================
# Basic use case
dlg=InputDialog()
dlg.displayAndWait()
if dlg.wasOk():
- print "OK has been pressed"
+ print("OK has been pressed")
def TEST_InputDialog_setData():
import sys
dlg=InputDialog()
- from inputdata import InputData
+ from .inputdata import InputData
inputData = InputData()
inputData.meshName = "myMesh"
inputData.meshObject = None
inputData.groupName = "myGroup"
listInputData = []
listInputData.append(inputData)
-
+
dlg.setData2(listInputData)
-
+
dlg.displayAndWait()
if dlg.wasOk():
- print "OK has been pressed"
+ print("OK has been pressed")
outputListInputData = dlg.getData2()
- print outputListInputData
+ print(outputListInputData)
if __name__ == "__main__":