Exemplo n.º 1
0
class _DoubleSpinnerEditor(SimpleSpinEditor):
    def init (self, parent):
        """ Finishes initializing the editor by creating the underlying toolkit
            widget.
        """
        factory = self.factory
        if not factory.low_name:
            self.low = factory.low

        if not factory.high_name:
            self.high = factory.high

        self.sync_value(factory.low_name, 'low', 'from')
        self.sync_value(factory.high_name, 'high', 'from')
        low = self.low
        high = self.high

        self.control = QDoubleSpinBox()
        if factory.step:
            self.control.setSingleStep(factory.step)

        self.control.setMinimum(low)
        self.control.setMaximum(high)
        self.control.setValue(self.value)
        QtCore.QObject.connect(self.control,
                QtCore.SIGNAL('valueChanged(int)'), self.update_object)
        self.set_tooltip()
Exemplo n.º 2
0
class _DoubleSpinnerEditor(SimpleSpinEditor):
    def init(self, parent):
        """ Finishes initializing the editor by creating the underlying toolkit
            widget.
        """
        factory = self.factory
        if not factory.low_name:
            self.low = factory.low

        if not factory.high_name:
            self.high = factory.high

        self.sync_value(factory.low_name, 'low', 'from')
        self.sync_value(factory.high_name, 'high', 'from')
        low = self.low
        high = self.high

        self.control = QDoubleSpinBox()
        if factory.step:
            self.control.setSingleStep(factory.step)

        self.control.setMinimum(low)
        self.control.setMaximum(high)
        self.control.setValue(self.value)
        QtCore.QObject.connect(self.control,
                               QtCore.SIGNAL('valueChanged(int)'),
                               self.update_object)
        self.set_tooltip()
    def add_color(self, name, color, layout, row):
        layout.addWidget(QLabel('<b>{0}</b>'.format(name)), row, 0)
        layout.addWidget(QLabel('R'), row, 1)
        r = QDoubleSpinBox()
        r.setValue(color.red)
        r.setMinimum(0.0)
        r.setMaximum(1.0)
        layout.addWidget(r, row, 2)
        self.controls['{0}r'.format(name)] = r

        layout.addWidget(QLabel('G'), row, 3)
        g = QDoubleSpinBox()
        g.setValue(color.green)
        g.setMinimum(0.0)
        g.setMaximum(1.0)
        layout.addWidget(g, row, 4)
        self.controls['{0}g'.format(name)] = g

        layout.addWidget(QLabel('B'), row, 5)
        b = QDoubleSpinBox()
        b.setValue(color.blue)
        b.setMinimum(0.0)
        b.setMaximum(1.0)
        layout.addWidget(b, row, 6)
        self.controls['{0}b'.format(name)] = b

        layout.addWidget(QLabel('A'), row, 7)
        a = QDoubleSpinBox()
        a.setValue(color.alpha)
        a.setMinimum(0.0)
        a.setMaximum(1.0)
        layout.addWidget(a, row, 8)
        self.controls['{0}a'.format(name)] = a
class SetRangeStringCompound(QWidget):
  def __init__(self, parent=None):
    super(SetRangeStringCompound, self).__init__(parent)
    label_string = QLabel("Range string")
    self.lineedit_string = QLineEdit()
    self.lineedit_string.setMinimumWidth(100)
    label_value = QLabel("Value")
    self.spinbox_value = QDoubleSpinBox()
    self.spinbox_value.setMaximum(9999)
    self.spinbox_value.setValue(1.0)
    row = 0 ; col = 0;
    layout = QGridLayout()
    layout.addWidget(label_string, row, col)
    col += 1
    layout.addWidget(self.lineedit_string, row, col)
    row += 1; col = 0;
    layout.addWidget(label_value, row, col)
    col += 1
    layout.addWidget(self.spinbox_value, row, col)
    self.setLayout(layout)
Exemplo n.º 5
0
    def initUI(self):
        grp = QGroupBox('Bounding Box')
        grplay = QGridLayout()

        # Extents.
        extx = QDoubleSpinBox()
        extx.setMinimum(0)
        extx.setMaximum(100)
        extx.setValue(self.bbox.extents[0])
        self.controls['extx'] = extx
        exty = QDoubleSpinBox()
        exty.setMinimum(0)
        exty.setMaximum(100)
        exty.setValue(self.bbox.extents[1])
        self.controls['exty'] = exty
        extz = QDoubleSpinBox()
        extz.setMinimum(0)
        extz.setMaximum(100)
        extz.setValue(self.bbox.extents[2])
        self.controls['extz'] = extz
        grplay.addWidget(QLabel('<b>Extents</b>'), 0, 0)
        grplay.addWidget(QLabel('X'), 0, 1)
        grplay.addWidget(extx, 0, 2)
        grplay.addWidget(QLabel('Y'), 0, 3)
        grplay.addWidget(exty, 0, 4)
        grplay.addWidget(QLabel('Z'), 0, 5)
        grplay.addWidget(extz, 0, 6)
        # Center.
        cntx = QDoubleSpinBox()
        cntx.setMinimum(-10000)
        cntx.setMaximum(10000)
        cntx.setValue(self.bbox.center[0])
        self.controls['cntx'] = cntx
        cnty = QDoubleSpinBox()
        cnty.setMinimum(-10000)
        cnty.setMaximum(10000)
        cnty.setValue(self.bbox.center[1])
        self.controls['cnty'] = cnty
        cntz = QDoubleSpinBox()
        cntz.setMinimum(-10000)
        cntz.setMaximum(10000)
        cntz.setValue(self.bbox.center[2])
        self.controls['cntz'] = cntz
        grplay.addWidget(QLabel('<b>Center</b>'), 1, 0)
        grplay.addWidget(QLabel('X'), 1, 1)
        grplay.addWidget(cntx, 1, 2)
        grplay.addWidget(QLabel('Y'), 1, 3)
        grplay.addWidget(cnty, 1, 4)
        grplay.addWidget(QLabel('Z'), 1, 5)
        grplay.addWidget(cntz, 1, 6)
        # Radius.
        radius = QDoubleSpinBox()
        cntz.setMinimum(0)
        cntz.setMaximum(10000)
        radius.setValue(self.bbox.radius)
        self.controls['radius'] = radius
        grplay.addWidget(QLabel('<b>BSphereRadius'), 2, 0)
        grplay.addWidget(radius, 2, 1, 1, 2)

        grp.setLayout(grplay)
        # Buttons.
        save_btn = QPushButton('Save')
        save_btn.clicked.connect(self.save)
        cancel_btn = QPushButton('Cancel')
        cancel_btn.clicked.connect(self.close)
        btns = QHBoxLayout()
        btns.addStretch()
        btns.addWidget(save_btn)
        btns.addWidget(cancel_btn)

        # Main Layout.
        mainlay = QVBoxLayout()
        mainlay.addWidget(grp)
        mainlay.addLayout(btns)
        mainlay.addStretch()

        self.setLayout(mainlay)
        self.setGeometry(340, 340, 400, 100)
        self.setWindowTitle('MSH Suite - Edit BBox')
        self.show()
Exemplo n.º 6
0
    def initUI(self):
        grp = QGroupBox('Transform')
        grplay = QGridLayout()
        # Translation
        grplay.addWidget(QLabel('<b>Translation</b>'), 0, 0)

        trax = QDoubleSpinBox()
        trax.setMinimum(-10000)
        trax.setMaximum(10000)
        trax.setValue(self.tran.translation[0])
        self.controls['trax'] = trax
        grplay.addWidget(trax, 0, 1)

        tray = QDoubleSpinBox()
        tray.setMinimum(-10000)
        tray.setMaximum(10000)
        tray.setValue(self.tran.translation[1])
        self.controls['tray'] = tray
        grplay.addWidget(tray, 0, 2)

        traz = QDoubleSpinBox()
        traz.setMinimum(-10000)
        traz.setMaximum(10000)
        traz.setValue(self.tran.translation[2])
        self.controls['traz'] = traz
        grplay.addWidget(traz, 0, 3)

        # Rotation.
        grplay.addWidget(QLabel('<b>Rotation</b>'), 1, 0)

        rotx = QSpinBox()
        rotx.setMinimum(-10000)
        rotx.setMaximum(10000)
        #rotx.setText(str(self.tran.euler_angles()[0]))
        traz.setValue(self.tran.euler_angles()[0])
        self.controls['rotx'] = rotx
        grplay.addWidget(rotx, 1, 1)

        roty = QSpinBox()
        roty.setMinimum(-10000)
        roty.setMaximum(10000)
        #roty.setText(str(self.tran.euler_angles()[1]))
        traz.setValue(self.tran.euler_angles()[1])
        self.controls['roty'] = roty
        grplay.addWidget(roty, 1, 2)

        rotz = QSpinBox()
        rotz.setMinimum(-10000)
        rotz.setMaximum(10000)
        #rotz.setText(str(self.tran.euler_angles()[2]))
        traz.setValue(self.tran.euler_angles()[2])
        self.controls['rotz'] = rotz
        grplay.addWidget(rotz, 1, 3)

        # Scale.
        grplay.addWidget(QLabel('<b>Scale</b>'), 2, 0)

        sclx = QDoubleSpinBox()
        sclx.setMinimum(-10000)
        sclx.setMaximum(10000)
        sclx.setValue(self.tran.scale[0])
        self.controls['sclx'] = sclx
        grplay.addWidget(sclx, 2, 1)

        scly = QDoubleSpinBox()
        scly.setMinimum(-10000)
        scly.setMaximum(10000)
        scly.setValue(self.tran.scale[1])
        self.controls['scly'] = scly
        grplay.addWidget(scly, 2, 2)

        sclz = QDoubleSpinBox()
        sclz.setMinimum(-10000)
        sclz.setMaximum(10000)
        sclz.setValue(self.tran.scale[2])
        self.controls['sclz'] = sclz
        grplay.addWidget(sclz, 2, 3)

        grp.setLayout(grplay)
        # Buttons.
        save_btn = QPushButton('Save')
        save_btn.clicked.connect(self.save)
        cancel_btn = QPushButton('Cancel')
        cancel_btn.clicked.connect(self.close)
        btns = QHBoxLayout()
        btns.addStretch()
        btns.addWidget(save_btn)
        btns.addWidget(cancel_btn)

        # Main Layout.
        mainlay = QVBoxLayout()
        mainlay.addWidget(grp)
        mainlay.addLayout(btns)
        mainlay.addStretch()

        self.setLayout(mainlay)
        self.setGeometry(340, 340, 400, 100)
        self.setWindowTitle('MSH Suite - Edit BBox')
        self.show()
Exemplo n.º 7
0
class ProfileFormWidget(QWidget):
    '''
    classdocs
    '''
    def __init__(self):
        '''
        Constructor
        '''
        QWidget.__init__(self)
        self._initGUI()

    def _initGUI(self):
        self.layout = QVBoxLayout()
        self.form = QFormLayout()

        self.name = QLineEdit()
        self.surname = QLineEdit()

        self.birthdate = QCalendarWidget()
        self.birthdate.setGridVisible(True)
        self.birthdate.setMinimumDate(QDate(1850, 1, 1))
        self.birthdate.setMaximumDate(QDate.currentDate())

        self.male = QRadioButton("Male")
        self.male.setChecked(True)
        self.female = QRadioButton("Female")

        self.height = QDoubleSpinBox()
        self.height.setMaximum(250)
        self.height.setMinimum(50)
        self.height.setValue(165)
        self.height.setSuffix(" cm")

        self.mass = QDoubleSpinBox()
        self.mass.setMaximum(300)
        self.mass.setMinimum(20)
        self.mass.setValue(60)
        self.mass.setSuffix(" Kg")

        btnLayout = QVBoxLayout()

        self.form.addRow("Name", self.name)
        self.form.addRow("Surname", self.surname)
        self.form.addRow("Birth date", self.birthdate)

        sexLayout = QHBoxLayout()
        sexLayout.addWidget(self.male)
        sexLayout.addWidget(self.female)
        self.form.addRow("Sex", sexLayout)

        self.form.addRow("Height", self.height)
        self.form.addRow("Mass", self.mass)

        self.layout.addLayout(self.form)
        self.layout.addLayout(btnLayout)
        self.setLayout(self.layout)

    def getLayout(self):
        return self.layout

    def getWidget(self):
        widget = QWidget()
        widget.setLayout(self.layout)

        return widget

    def setProfile(self, athlete):
        self.name.setText(athlete._name)
        self.surname.setText(athlete._surname)
        self.birthdate.setSelectedDate(athlete._birthDate)

        if athlete._sex == "Male":
            self.male.setChecked(True)
        else:
            self.female.setChecked(True)

        self.height.setValue(athlete._height)
        self.mass.setValue(athlete._mass)

    def getProfile(self):
        qDate = self.birthdate.selectedDate()
        birthDate = self.qDate_to_date(qDate)

        athleteProfile = Athlete(self.name.text(), self.surname.text(),
                                 self._getSex(), birthDate,
                                 self.height.value(), self.mass.value())
        return athleteProfile

    def qDate_to_date(self, qDate):
        return date(qDate.year(), qDate.month(), qDate.day())

    def _getSex(self):
        if (self.male.isChecked()):
            return "Male"
        elif (self.female.isChecked()):
            return "Female"
        else:
            print "Error: No sex selected"
            return False
Exemplo n.º 8
0
class ProfileFormWidget(QWidget):
    '''
    classdocs
    '''
    
    def __init__(self):
        '''
        Constructor
        '''
        QWidget.__init__(self)
        self._initGUI()
        
    def _initGUI(self):
        self.layout = QVBoxLayout()
        self.form = QFormLayout()
        
        self.name = QLineEdit()
        self.surname = QLineEdit()
        
        self.birthdate = QCalendarWidget()
        self.birthdate.setGridVisible(True)
        self.birthdate.setMinimumDate(QDate(1850,1,1))
        self.birthdate.setMaximumDate(QDate.currentDate())
        
        self.male = QRadioButton("Male")
        self.male.setChecked(True)
        self.female = QRadioButton("Female")
        
        self.height = QDoubleSpinBox()
        self.height.setMaximum(250)
        self.height.setMinimum(50)
        self.height.setValue(165)
        self.height.setSuffix(" cm")
        
        self.mass = QDoubleSpinBox()
        self.mass.setMaximum(300)
        self.mass.setMinimum(20)
        self.mass.setValue(60)
        self.mass.setSuffix(" Kg")
        
        btnLayout = QVBoxLayout()
        
        self.form.addRow("Name", self.name)
        self.form.addRow("Surname", self.surname)
        self.form.addRow("Birth date",self.birthdate)
        
        sexLayout = QHBoxLayout()
        sexLayout.addWidget(self.male)
        sexLayout.addWidget(self.female)
        self.form.addRow("Sex", sexLayout)
        
        self.form.addRow("Height", self.height)
        self.form.addRow("Mass", self.mass)
                
        self.layout.addLayout(self.form)
        self.layout.addLayout(btnLayout)
        self.setLayout(self.layout)
        
    def getLayout(self):
        return self.layout
    
    def getWidget(self):
        widget = QWidget()
        widget.setLayout(self.layout)
    
        return widget
    
    def setProfile(self, athlete):
        self.name.setText(athlete._name)
        self.surname.setText(athlete._surname)
        self.birthdate.setSelectedDate(athlete._birthDate)
        
        if athlete._sex=="Male":
            self.male.setChecked(True)
        else:
            self.female.setChecked(True)
            
        self.height.setValue(athlete._height)
        self.mass.setValue(athlete._mass)
                
    def getProfile(self):        
        qDate = self.birthdate.selectedDate()
        birthDate = self.qDate_to_date(qDate)
        
        athleteProfile = Athlete(self.name.text(),
                                 self.surname.text(),
                                 self._getSex(),
                                 birthDate,
                                 self.height.value(),
                                 self.mass.value())
        return athleteProfile 
    
    def qDate_to_date(self, qDate):        
        return date(qDate.year(), qDate.month(),qDate.day())
     
    def _getSex(self):
        if (self.male.isChecked()):
            return "Male"
        elif (self.female.isChecked()):
            return "Female"
        else :
            print "Error: No sex selected"
            return False