# Copyright 2006-2007 Nanorex, Inc. See LICENSE file for details. """ RotaryMotorGenerator.py $Id$ History: Mark 2007-05-27: Created. """ __author__ = "Mark" from utilities.Log import greenmsg from PyQt4.Qt import QDialog from RotaryMotorGeneratorDialog import RotaryMotorPropMgr from command_support.GeneratorBaseClass import GeneratorBaseClass # RotaryMotorPropMgr must come BEFORE GeneratorBaseClass in this list. class RotaryMotorGenerator(RotaryMotorPropMgr, GeneratorBaseClass): """The Rotary Motor Generator class. """ cmd = greenmsg("Insert Rotary Motor: ") # prefix = '' # Not used by jigs. # All jigs like rotary and linear motors already created their # name, so do not (re)create it (in GeneratorBaseClass) from the prefix. create_name_from_prefix = False # We now support multiple keywords in a list or tuple # sponsor_keyword = ('Graphenes', 'Carbon') sponsor_keyword = 'RotaryMotor' # pass window arg to constructor rather than use a global, wware 051103 def __init__(self, win, motor, glpane): self.jig = motor self.name = motor.name # Adopt the motor's name as our name. RotaryMotorPropMgr.__init__(self, motor, glpane) GeneratorBaseClass.__init__(self, win) # Display Rotary Motor. Mark 2007-05-28. self.preview_btn_clicked() # Kludge? Works though. ################################################### # How to build this kind of structure, along with # any necessary helper functions def gather_parameters(self): """Return all the parameters from the Property Manager. """ torque = self.torqueDblSpinBox.value() initial_speed = self.initialSpeedDblSpinBox.value() final_speed = self.finalSpeedDblSpinBox.value() dampers_state = self.dampersCheckBox.isChecked() enable_minimize_state = self.enableMinimizeCheckBox.isChecked() color = self.jig.color atoms = self.jig.atoms[:] #atoms = self.selectedAtomsListWidget.atoms if 1: print "\n---------------------------------------------------" \ "\ngather_parameters(): "\ "\ntorque = ", torque, \ "\ninitial_speed = ", initial_speed, \ "\nfinal_speed = ", final_speed, \ "\ndampers_state = ", dampers_state, \ "\nenable_minimize_state = ", enable_minimize_state, \ "\ncolor = ", color, \ "\natoms = ", atoms return (torque, initial_speed, final_speed, dampers_state, enable_minimize_state, color, atoms) def build_struct(self, name, params, position): """Build and return a new rotary motor from the parameters in the Property Manager. """ torque, initial_speed, final_speed, \ dampers_state, enable_minimize_state, \ color, atoms = params self.jig.cancelled = False self.jig.torque = torque self.jig.initial_speed = initial_speed self.jig.speed = final_speed self.jig.dampers_enabled = dampers_state self.jig.enable_minimize = enable_minimize_state self.jig.color = color self.jig.atoms = atoms if 1: print "\n---------------------------------------------------" \ "\nbuild_struct(): "\ "\ntorque = ", self.jig.torque, \ "\ninitial_speed = ", self.jig.initial_speed, \ "\nfinal_speed = ", self.jig.speed, \ "\ndampers_state = ", self.jig.dampers_enabled, \ "\nenable_minimize_state =", self.jig.enable_minimize, \ "\ncolor = ", self.jig.color, \ "\natoms = ", self.jig.atoms return self.jig