--- /dev/null
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013 EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+from PyQt4.QtGui import *
+from PyQt4.QtCore import *
+from Extensions.i18n import tr
+
+from feuille import Feuille
+from desWidgetSimpComplexe import Ui_WidgetSimpComplexe
+from politiquesValidation import PolitiqueUnique
+from qtSaisie import SaisieValeur
+
+
+class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
+
+ def __init__(self,node,monSimpDef,nom,objSimp,parentQt):
+ Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt)
+ self.parentQt.commandesLayout.insertWidget(-1,self)
+ self.setFocusPolicy(Qt.StrongFocus)
+ self.connect(self.LEImag,SIGNAL("returnPressed()"),self.LEImagRPressed)
+ self.connect(self.LEReel,SIGNAL("returnPressed()"),self.LEReelRPressed)
+ self.connect(self.RBRI,SIGNAL("clicked()"), self.ValeurPressed )
+ self.connect(self.RBMP,SIGNAL("clicked()"), self.ValeurPressed )
+ self.connect(self.LEComp,SIGNAL("returnPressed()"),self.LECompRPressed)
+
+
+ def setValeurs(self):
+ self.politique=PolitiqueUnique(self.node,self.editor)
+ valeur=self.node.item.get_valeur()
+ if valeur == None or valeur == '' : return
+ if type(valeur) not in (types.ListType,types.TupleType) :
+ self.LEComp.setText(str(valeur))
+ else :
+ typ_cplx,x1,x2=valeur
+ self.LEReel.setText(str(x1))
+ self.LEImag.setText(str(x2))
+ if typ_cplx == "RI" :
+ self.RBRI.setChecked(1)
+ else :
+ self.RBMP.setChecked(1)
+
+ def LECompRPressed(self) :
+ self.LEReel.clear()
+ self.LEImag.clear()
+ commentaire=tr("expression valide")
+ valeur = str(self.LEComp.text())
+ d={}
+ try :
+ v=eval(valeur,d)
+ except :
+ commentaire=tr("expression invalide")
+ self.editor.affiche_infos(commentaire,Qt.red)
+ return
+ try :
+ i=v.imag
+ self.editor.affiche_infos(commentaire)
+ self.ValeurPressed()
+ except :
+ commentaire=tr("l expression n est pas de la forme a+bj")
+ self.editor.affiche_infos(commentaire,Qt.red)
+
+ def LEReelRPressed(self):
+ self.LEComp.clear()
+ commentaire=tr("expression valide")
+ valeur = str(self.LEReel.text())
+ try :
+ a=string.atof(valeur)
+ self.editor.affiche_infos(commentaire)
+ except :
+ commentaire=tr("expression invalide")
+ self.editor.affiche_infos(commentaire,Qt.red)
+ if self.LEImag.text()!="" : self.ValeurPressed()
+
+ def LEImagRPressed(self):
+ self.LEComp.clear()
+ commentaire=tr("expression valide")
+ valeur = str(self.LEImag.text())
+ try :
+ a=string.atof(valeur)
+ self.editor.affiche_infos(commentaire)
+ except :
+ commentaire=tr("expression invalide")
+ self.editor.affiche_infos(commentaire,Qt.red)
+ if self.LEReel.text()!="" : self.ValeurPressed()
+
+ def finCommentaire(self):
+ commentaire="valeur de type complexe"
+ return commentaire
+
+ def getValeurComp(self):
+ commentaire=tr("expression valide")
+ valeur = str(self.LEComp.text())
+ d={}
+ try :
+ v=eval(valeur,d)
+ except :
+ commentaire=tr("expression invalide")
+ self.editor.affiche_infos(commentaire,Qt.red)
+ return None
+ try :
+ i=v.imag
+ except :
+ commentaire=tr("expression n est pas de la forme a+bj")
+ self.editor.affiche_infos(commentaire,Qt.red)
+ return None
+ return v
+
+
+ def ValeurPressed(self):
+ if self.LEComp.text()== "" and (self.LEReel.text()=="" or self.LEImag.text()=="") :
+ return
+ if self.LEComp.text()== "" : valeur = self.getValeurRI()
+ else :
+ if self.LEReel.text() != "" or self.LEImag.text() != "" :
+ commentaire=tr("entrer une seule valeur SVP")
+ self.editor.affiche_infos(commentaire,Qt.red)
+ return
+ valeur= self.getValeurComp()
+ self.politique.RecordValeur(valeur)
+ self.parentQt.donneFocus()
+
+ def getValeurRI(self):
+ """
+ Retourne le complexe saisi par l'utilisateur
+ """
+ l=[]
+ if (self.RBMP.isChecked() == 1 ) :
+ l.append("MP")
+ elif (self.RBRI.isChecked() == 1) :
+ l.append("RI")
+ else :
+ commentaire=tr("saisir le type de complexe")
+ self.editor.affiche_infos(commentaire,Qt.red)
+ return None
+ try :
+ l.append(string.atof(str(self.LEReel.text())))
+ l.append(string.atof(str(self.LEImag.text())))
+ except :
+ return None
+ return `tuple(l)`
+
+
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>WidgetSimpBool</class>
- <widget class="QWidget" name="WidgetSimpBool">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>1053</width>
- <height>38</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>940</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>1493</width>
- <height>85</height>
- </size>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>1</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QToolButton" name="RBValide">
- <property name="minimumSize">
- <size>
- <width>21</width>
- <height>31</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RBPoubelle">
- <property name="minimumSize">
- <size>
- <width>21</width>
- <height>31</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>21</width>
- <height>31</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>32</width>
- <height>32</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="minimumSize">
- <size>
- <width>178</width>
- <height>24</height>
- </size>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="text">
- <string><html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html></string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>19</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QRadioButton" name="RBRI">
- <property name="text">
- <string>Réel/Imaginaire</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="RBMP">
- <property name="text">
- <string>Module/Phase</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>19</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <item>
- <widget class="QLineEdit" name="LEReelModule"/>
- </item>
- <item>
- <widget class="QLineEdit" name="LEImagPhase"/>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSimpComplexe</class>
+ <widget class="QWidget" name="WidgetSimpComplexe">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>1010</width>
+ <height>85</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>940</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>1493</width>
+ <height>85</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>2</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>2</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0" rowspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetFixedSize</enum>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>21</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="MonBoutonValide" name="RBValide">
+ <property name="minimumSize">
+ <size>
+ <width>21</width>
+ <height>31</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>21</width>
+ <height>35</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">border : 0px</string>
+ </property>
+ <property name="text">
+ <string>...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>220</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>178</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="text">
+ <string><html><head/><body><p><span style=" color:#0055ff;">Label</span></p></body></html></string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Complexe : a+bj</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>19</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string><html><head/><body><p align="center"><span style=" font-weight:600;">OU </span></p></body></html></string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="leftMargin">
+ <number>4</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="RBRI">
+ <property name="text">
+ <string>Réel/Imaginaire</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="RBMP">
+ <property name="text">
+ <string>Module/Phase</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="4">
+ <widget class="QToolButton" name="RBPoubelle">
+ <property name="minimumSize">
+ <size>
+ <width>21</width>
+ <height>31</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>21</width>
+ <height>31</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">border : 0px</string>
+ </property>
+ <property name="text">
+ <string>...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" rowspan="2">
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>47</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="3" rowspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QLineEdit" name="LEReel"/>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="LEImag"/>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="4" rowspan="2">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>18</width>
+ <height>47</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>39</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="LEComp"/>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>MonBoutonValide</class>
+ <extends>QToolButton</extends>
+ <header>monBoutonValide.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>