# Copyright 2007-2008 Nanorex, Inc. See LICENSE file for details. """ WhatsThisText_for_PropertyManagers.py This file provides functions for setting the "What's This" and tooltip text for widgets in all NE1 Property Managers only. Edit WhatsThisText_for_MainWindow.py to set "What's This" and tooltip text for widgets in the Main Window. @version: $Id$ @copyright: 2007-2008 Nanorex, Inc. See LICENSE file for details. """ def whatsThis_DnaDuplexPropertyManager(propMgr): """ Whats This text for the DnaDuplex Property Manager @see: B{DnaDuplexPropertyManager._addWhatsThisText} """ propMgr.conformationComboBox.setWhatsThis( """Conformation

DNA exists in several possible conformations, with A-DNA, B-DNA, and Z-DNA being the most common.

Only B-DNA is currently supported in NanoEngineer-1.

""") propMgr.dnaModelComboBox.setWhatsThis( """Model Choice

Selects between the model types supported by NanoEngineer-1: PAM3, PAM5, and atomistic representations of DNA.

""") propMgr.numberOfBasePairsSpinBox.setWhatsThis( """Base Pairs

Allows the user to create a duplex by specifying the number of base pairs

""") propMgr.basesPerTurnDoubleSpinBox.setWhatsThis( """Bases Per Turn

Allows the user to specifying the number of base pairs between one full turn of the DNA helix

""") propMgr.duplexLengthLineEdit.setWhatsThis( """Duplex Length

Displays the length of the DNA duplex in angstroms

""") propMgr.dnaRubberBandLineDisplayComboBox.setWhatsThis( """Display As

Selects between Ribbon and Ladder display styles

""") propMgr.lineSnapCheckBox.setWhatsThis( """Enable Line Snap

When checked a duplex will be constrained to a grid

""") return # End of whatsThis_DnaDuplexPropertyManager def whatsThis_MakeCrossoversPropertyManager(propMgr): """ Whats This text for the DnaDuplex Property Manager @see: B{MakeCrossovers_PropertyManager._addWhatsThisText} """ propMgr.segmentListWidget.setWhatsThis(""" List of Dna segments for crossover search

Lists DnaSegments that will be searched for potential crossover sites. To add/remove Dna segments to/from this list, activate the appropriate tool in this property manager and select the whole axis of the Dna segment. To add/remove multiple segments to the list at once, hold down left mouse button and drag it to draw a selection rectangle around the segments.

""") propMgr.crossoversBetGivenSegmentsOnly_checkBox.setWhatsThis(""" Between above segments only Checkbox

*If checked, program will search for the crossover sites only between the DNA segments listed in the segment's list.

*Unchecking this checkbox will make the program search for the crossover sites between each DNA segment in the segment's list and all the DNA segments in the model, that are within a certain distance from that particular DNA segment.

NoteThis operation could be time consuming so it is recommended that user keeps this checkbox checked.

""") return # End of whatsThis_whatsThis_MakeCrossoversPropertyManager def whatsThis_PeptideGeneratorPropertyManager(propMgr): """ "Whats This" text for widgets in the Peptide Generator Property Manager. """ propMgr.aaTypeComboBox.setWhatsThis( """Chain Confirmation

Lists the available confirmations for the polypeptide chain

""") propMgr.startOverButton.setWhatsThis( """Start Over

Deletes the current sequence from the sequence editor

""") propMgr.sequenceEditor.setWhatsThis( """Sequence Editor

Displays the current amino acid sequence

""") return def whatsThis_PeptideGeneratorPropertyManager(propMgr): """ "Whats This" text for widgets in the Peptide Generator Property Manager. """ propMgr.aaTypeComboBox.setWhatsThis( """Chain Confirmation

Lists the available confirmations for the polypeptide chain

""") propMgr.startOverButton.setWhatsThis( """Start Over

Deletes the current sequence from the sequence editor

""") propMgr.phiAngleField.setWhatsThis( """Phi angle

Sets a Phi dihedral backbone angle of the polypeptide chain

""") propMgr.psiAngleField.setWhatsThis( """Psi angle

Sets a Psi dihedral backbone angle of the polypeptide chain

""") propMgr.invertChiralityPushButton.setWhatsThis( """Invert chirality

Inverts a chirality of the polypeptide bakcbone

""") propMgr.aaTypesButtonGroup.setWhatsThis( """Amino acids

Adds an amino acid to the constructed peptide

""") propMgr.sequenceEditor.setWhatsThis( """Sequence Editor

Displays the current amino acid sequence

""") return # End of whatsThis_PeptideGeneratorPropertyManager def whatsThis_NanotubeGeneratorPropertyManager(propMgr): """ "Whats This" text for widgets in the Nanotube Property Manager. """ propMgr.chiralityNSpinBox.setWhatsThis( """Chirality (n)

Specifies n of the chiral vector (n, m), where n and m are integers of the vector equation R = na1 + ma2 .

""") propMgr.chiralityMSpinBox.setWhatsThis( """Chirality (m)

Specifies m of the chiral vector (n, m), where n and m are integers of the vector equation R = na1 + ma2 .

""") propMgr.typeComboBox.setWhatsThis( """Type

Specifies the type of nanotube to generate.

Selecting Carbon creates a carbon nanotube (CNT) made entirely of carbon atoms.

Selecting Boron nitride creates a boron nitride (BN) nanotube made of boron and nitrogen atoms.

""") propMgr.endingsComboBox.setWhatsThis( """Endings

Specify how to deal with bondpoints on the two ends of the nanotube.

Selecting None does nothing, leaving bondpoints on the ends.

Selecting Hydrogenterminates the bondpoints using hydrogen atoms.

Selecting Nitrogen transmutes atoms with bondpoints into nitrogen atoms.

""") propMgr.lengthField.setWhatsThis( """Length

Specify the length of the nanotube in angstroms.

""") propMgr.bondLengthField.setWhatsThis( """Bond Length

Specify the bond length between atoms in angstroms.

""") propMgr.twistSpinBox.setWhatsThis( """Twist

Introduces a twist along the length of the nanotube specified in degrees/angstrom.

""") propMgr.zDistortionField.setWhatsThis( """Z-distortion

Distorts the bond length between atoms along the length of the nanotube by this amount in angstroms.

""") propMgr.bendSpinBox.setWhatsThis( """Bend

Bend the nanotube by the specified number of degrees.

""") propMgr.xyDistortionField.setWhatsThis( """XY-distortion

Distorts the tube's cross-section so that the width in the X direction is this many angstroms greater than the width in the Y direction. Some distortion of bond lengths results.

""") propMgr.mwntCountSpinBox.setWhatsThis( """Number of Nanotubes

Specifies the number or Multi-Walled Nanotubes. Multi-Walled nanotubes (MWNT) consist of many concentric tubes wrapped one inside another.

The specified chirality applies only to the innermost nanotube. The others, being larger, will have larger chiralities.

""") propMgr.mwntSpacingField.setWhatsThis( """Spacing

Specify the spacing between nanotubes in angstroms.

""") return def whatsThis_InsertNanotube_PropertyManager(propMgr): """ "Whats This" text for widgets in the Nanotube Property Manager. """ propMgr.ntTypeComboBox.setWhatsThis( """Type

Specifies the type of nanotube to insert.

Selecting Carbon creates a carbon nanotube (CNT) made entirely of carbon atoms.

Selecting Boron Nitride creates a boron nitride nanotube (BNNT) made of boron and nitrogen atoms.

""") propMgr.ntDiameterLineEdit.setWhatsThis( """Diameter

Displays the diameter of the nanotube in angstroms.

""") propMgr.chiralityNSpinBox.setWhatsThis( """Chirality (n)

Specifies n of the chiral vector (n, m), where n and m are integers of the vector equation R = na1 + ma2 .

""") propMgr.chiralityMSpinBox.setWhatsThis( """Chirality (m)

Specifies m of the chiral vector (n, m), where n and m are integers of the vector equation R = na1 + ma2 .

""") propMgr.endingsComboBox.setWhatsThis( """Endings

Specify how to deal with bondpoints on the two ends of the nanotube.

Selecting None does nothing, leaving bondpoints on the ends.

Selecting Hydrogen terminates the bondpoints using hydrogen atoms.

Selecting Nitrogen transmutes atoms with bondpoints into nitrogen atoms.

""") propMgr.bondLengthDoubleSpinBox.setWhatsThis( """Bond Length

Specify the bond length between neighboring atoms in angstroms.

""") propMgr.twistSpinBox.setWhatsThis( """Twist

Introduces a twist along the length of the nanotube specified in degrees/angstrom.

""") propMgr.zDistortionDoubleSpinBox.setWhatsThis( """Z-distortion

Distorts the bond length between atoms along the length of the nanotube by this amount in angstroms.

""") propMgr.bendSpinBox.setWhatsThis( """Bend

Bend the nanotube by the specified number of degrees.

""") propMgr.xyDistortionDoubleSpinBox.setWhatsThis( """XY-distortion

Distorts the tube's cross-section so that the width in the X direction is this many angstroms greater than the width in the Y direction. Some distortion of bond lengths results.

""") propMgr.mwntCountSpinBox.setWhatsThis( """Number of Nanotubes

Specifies the number or Multi-Walled Nanotubes. Multi-Walled nanotubes (MWNT) consist of many concentric tubes wrapped one inside another.

The specified chirality applies only to the innermost nanotube. The others, being larger, will have larger chiralities.

""") propMgr.mwntSpacingDoubleSpinBox.setWhatsThis( """Wall Spacing

Specify the spacing between nanotubes in angstroms.

""") return def whatsThis_GrapheneGeneratorPropertyManager(propMgr): """ "What's This" text for widgets in the Graphene Property Manager. """ propMgr.heightField.setWhatsThis( """Height

The height (up to 50 angstroms) of the graphite sheet in angstroms.

""") propMgr.widthField.setWhatsThis( """Width

The width (up to 50 angstroms) of the graphene sheet in angstroms.

""") propMgr.bondLengthField.setWhatsThis( """Bond length

You can change the bond lengths (1.0-3.0 angstroms) in the graphene sheet. We believe the default value is accurate for sp 2-hybridized carbons.

""") propMgr.endingsComboBox.setWhatsThis( """Endings

Graphene sheets can be unterminated (dangling bonds), or terminated with hydrogen atoms or nitrogen atoms.

""") return def whatsThis_MovePropertyManager(propMgr): """ "What's This" text for widgets in the Move Property Manager. """ # Translate group box widgets ################################ propMgr.translateComboBox.setWhatsThis( """Translation Options

This menu provides different options for translating the current selection where:

Free Drag: translates the selection by dragging the mouse while holding down the left mouse button (LMB).

By Delta XYZ: tranlates the selection by a specified offset.

To XYZ Position: moves the selection to an absolute XYZ coordinate. The centroid of the selection is used for this operation.

""") propMgr.transFreeButton.setWhatsThis( """Unconstrained Translation

Translates the selection freely within the plane of the screen.

""") propMgr.transXButton.setWhatsThis( """X Translation

Constrains translation of the selection to the X axis.

""") propMgr.transYButton.setWhatsThis( """Y Translation

Constrains translation of the selection to the Y axis.

""") propMgr.transZButton.setWhatsThis( """Z Translation

Constrains translation of the selection to the Z axis.

""") propMgr.transAlongAxisButton.setWhatsThis( """Axial Translation/Rotation

Constrains both translation and rotation of the selection along the central axis of the selected object(s). This is especially useful for translating and rotating DNA duplexes along their own axis.

""") propMgr.moveFromToButton.setWhatsThis( """Move From To

Moves selection by offset vector between two user defined points

""") # By Delta XYZ widgets propMgr.moveDeltaXSpinBox.setWhatsThis( """Delta X

The X offset distance the selection is moved when clicking the +/- Delta buttons.

""") propMgr.moveDeltaYSpinBox.setWhatsThis( """Delta Y

The Y offset distance the selection is moved when clicking the +/- Delta buttons.

""") propMgr.moveDeltaZSpinBox.setWhatsThis( """Delta Z

The Z offset distance the selection is moved when clicking the +/- Delta buttons.

""") propMgr.transDeltaPlusButton.setWhatsThis( """Delta +

Moves the current selection by an offset specified by the Delta X, Y and Z spinboxes.

""") propMgr.transDeltaMinusButton.setWhatsThis( """Delta -

Moves the current selection by an offset opposite of that specified by the Delta X, Y and Z spinboxes.

""") # To XYZ Position widgets propMgr.moveXSpinBox.setWhatsThis( """X

The X coordinate the selection is moved when clicking the +/- Delta buttons.

""") propMgr.moveYSpinBox.setWhatsThis( """Y

The Y coordinate the selection is moved when clicking the +/- Delta buttons.

""") propMgr.moveZSpinBox.setWhatsThis( """Z

The Z coordinate the selection is moved when clicking the Move to Absolute Position button.

""") propMgr.moveAbsoluteButton.setWhatsThis( """Move to Absolute Position

Moves the current selection to the position specified by the X, Y and Z spinboxes. The selection's centroid is used compute how the selection is moved.

""") # Rotate group box widgets ############################ propMgr.rotateComboBox.setWhatsThis( """Rotate Options

This menu provides different options for rotating the current selection where:

Free Drag: rotates the selection by dragging the mouse while holding down the left mouse button (LMB).

By Specified Angle: rotates the selection by a specified angle.

""") # Free Drag widgets. propMgr.rotateFreeButton.setWhatsThis( """Unconstrained Rotation

Rotates the selection freely about its centroid.

""") propMgr.rotateXButton.setWhatsThis( """X Rotation

Constrains rotation of the selection to the X axis.

""") propMgr.rotateYButton.setWhatsThis( """Y Rotation

Constrains rotation of the selection to the Y axis.

""") propMgr.rotateZButton.setWhatsThis( """Z Rotation

Constrains rotation of the selection to the Z axis.

""") propMgr.rotAlongAxisButton.setWhatsThis( """Axial Translation/Rotation

Constrains both translation and rotation of the selection along the central axis of the selected object(s). This is especially useful for translating and rotating DNA duplexes along their own axis.

""") propMgr.rotateAsUnitCB.setWhatsThis( """Rotate as unit

When checked, the selection is rotated as a unit about its collective centroid.
When unchecked, the selected objects are rotated about their own individual centroids.

""") # By Specified Angle widgets propMgr.rotateXButton.setWhatsThis( """Rotate about X axis

Constrains rotation about the X axis.

""") propMgr.rotateYButton.setWhatsThis( """Rotate about Y axis

Constrains rotation about the Y axis.

""") propMgr.rotateZButton.setWhatsThis( """Rotate about Z axis

Constrains rotation about the Z axis.

""") propMgr.rotateThetaSpinBox.setWhatsThis( """Rotation angle

Specifies the angle of rotation.

""") # These next two aren't working. # I don't understand why not. Mark 2007-06-25. propMgr.rotateThetaPlusButton.setWhatsThis( """Rotate

Rotates the selection by the specified angle.

""") propMgr.rotateThetaMinusButton.setWhatsThis( """Rotate (minus)

Rotates the selection by the specified angle (in the opposite direction).

""") propMgr.rotXaxisButton.setWhatsThis( """Rotate about X axis

Constrains rotation about the X axis.

""") propMgr.rotYaxisButton.setWhatsThis( """Rotate about Y axis

Constrains rotation about the Y axis.

""") propMgr.rotZaxisButton.setWhatsThis( """Rotate about Z axis

Constrains rotation about the Z axis.

""") return # End of whatsThis_DnaDuplexPropertyManager def whatsThis_MoviePropertyManager(propMgr): """ "What's This" text for widgets in the Movie Property Manager. """ propMgr.frameNumberSpinBox.setWhatsThis( """Frame Number

Advances the movie to a specified frame

""") propMgr.movieLoop_checkbox.setWhatsThis( """Loop

Displays the movie as a continuous loop. When enabled the movie player will automatically reset to the first frame after the last frame is shown and replay the movie.

""") propMgr.frameSkipSpinBox.setWhatsThis( """Skip

Allows you to skip the entered amount of frames during movie playback.

""") propMgr.fileOpenMovieAction.setWhatsThis( """Open Movie File

Loads an exsisting movie from file

""") propMgr.fileSaveMovieAction.setWhatsThis( """Save Movie File

Loads and exsisting movie file or saves the file as a POV-ray series to be used in an animation

""") propMgr.moviePlayRevAction.setWhatsThis( """Play Reverse

Plays the movie backward in time

""") propMgr.moviePlayAction.setWhatsThis( """Play Forward

Plays the movie forward in time

""") propMgr.moviePauseAction.setWhatsThis( """Pause Movie

Pauses movie on current frame

""") propMgr.movieMoveToEndAction.setWhatsThis( """Advance to End

Advances movie to last frame

""") propMgr.movieResetAction.setWhatsThis( """Reset Movie

Advances movie to first frame

""") propMgr.frameNumberSlider.setWhatsThis( """Advance Frame

Dragging the slider advances the movie

""") return def whatsThis_SequenceEditor(propMgr): """ "What's This" text for widgets in the DNA Sequence Editor. """ propMgr.loadSequenceButton.setWhatsThis( """Load Sequence File

Loads an existing strand sequence from a text file

""") propMgr.sequenceTextEdit.setWhatsThis( """Edit Sequence

Allows the user to edit a strand sequence

""") propMgr.saveSequenceButton.setWhatsThis( """Save Sequence

Saves a strand sequence as a text file

""") propMgr.baseDirectionChoiceComboBox.setWhatsThis( """Strand Directon

Sets sequence direction between three prime and five prime strand ends

""") propMgr.findLineEdit.setWhatsThis( """Find Sequence

Searches for a specific sequence within the strand

""") propMgr.findPreviousToolButton.setWhatsThis( """Find Previous

Searches for the previous occurrence of given sequence along the strand

""") propMgr.findNextToolButton.setWhatsThis( """Find Next

Searches for the next occurrence of given sequence along the strand

""") propMgr.replacePushButton.setWhatsThis( """Replace

Allows user to edit the strand sequence returned by the Find command

""") propMgr.sequenceTextEdit_mate.setWhatsThis( """Mate

Shows the complementary strand sequence

""") return def whatsThis_ExtrudePropertyManager(propMgr): """ "What's This" text for widgets in the Extrude Property Manager. """ propMgr.extrude_productTypeComboBox.setWhatsThis( """Final product

The type of product to create. Options are:

Rod: a straight rod.
Ring: a closed ring.

""") propMgr.extrudeSpinBox_n.setWhatsThis( """Number of copies

The total number of copies, including the originally selected chunk(s).

""") propMgr.showEntireModelCheckBox.setWhatsThis( """Show Entire Model

Normally, only the selection and their copies are displayed during the Extrude command. Checking this option displays everything in the current model.

""") propMgr.makeBondsCheckBox.setWhatsThis( """Make Bonds

When checked, bonds will be made between pairs of bondpoints highlighted in blue and green after clicking Done.

""") propMgr.extrudeBondCriterionSlider.setWhatsThis( """Tolerance slider

Sets the bond criterion tolerance. The larger the tolerance value, the further bonds will be formed between pairs of bondpoints.

""") propMgr.extrudePrefMergeSelection.setWhatsThis( """Merge Selection

Merges the selected chunks into a single chunk after clicking Done.

""") propMgr.mergeCopiesCheckBox.setWhatsThis( """Merge Copies

When checked, copies are merged with the original chunk after clicking Done.

""") propMgr.extrudeSpinBox_length.setWhatsThis( """Total Offset

The total offset distance between copies.

""") propMgr.extrudeSpinBox_x.setWhatsThis( """X Offset

The X offset distance between copies.

""") propMgr.extrudeSpinBox_y.setWhatsThis( """Y Offset

The Y offset distance between copies.

""") propMgr.extrudeSpinBox_z.setWhatsThis( """Z Offset

The Z offset distance between copies.

""") return def whatsThis_CookiePropertyManager(propMgr): """ "What's This" text for widgets in the Crystal (Cookie) Property Manager. """ propMgr.surface100_btn.setWhatsThis(\ "Surface 100"\ "

"\ "Reorients the view to the nearest angle that would "\ "look straight into a (1,0,0) surface of a "\ "diamond lattice."\ "

") # Surface 110 propMgr.surface110_btn.setWhatsThis(\ "Surface 110"\ "

"\ "Reorients the view to the nearest angle that would "\ "look straight into a (1,1,0) surface of a "\ "diamond lattice."\ "

") # Surface 111 propMgr.surface111_btn.setWhatsThis(\ "Surface 111"\ "

"\ "Reorients the view to the nearest angle that would "\ "look straight into a (1,1,1) surface of a "\ "diamond lattice."\ "

") propMgr.addLayerButton.setWhatsThis(\ "Add Layer"\ "

"\ "Adds a new layer of diamond lattice to the existing "\ "layer."\ "

") propMgr.latticeCBox.setWhatsThis( "Lattice Type"\ "

"\ "Selects which lattice structure is displayed, either "\ "Diamond or Lonsdaleite"\ "

") propMgr.rotateGridByAngleSpinBox.setWhatsThis( "Rotate By"\ "

"\ "Allows you to select the degree of rotation"\ "

") propMgr.rotGridAntiClockwiseButton.setWhatsThis( "Rotate Counter Clockwise"\ "

"\ "Rotates the current view in a counter-clockwise direction"\ "

") propMgr.rotGridClockwiseButton.setWhatsThis( "Rotate Clockwise"\ "

"\ "Rotates the current view in a clockwise direction"\ "

") propMgr.layerCellsSpinBox.setWhatsThis( "Lattice Cells"\ "

"\ "Determines the thickness of the crystal layer"\ "

") propMgr.dispModeComboBox.setWhatsThis ( "Display Style"\ "

"\ "Lets you select the format in which your crystal selection " "is displayed"\ "

") propMgr.layerThicknessLineEdit.setWhatsThis( "Thickness"\ "

"\ "Thickness of layer in angstroms is displayed"\ "

") propMgr.gridLineCheckBox.setWhatsThis( "Show Grid"\ "

"\ "Allows you to turn on/off the orange lattice grid lines"\ "

") propMgr.fullModelCheckBox.setWhatsThis( "Show Model"\ "

"\ "Allows you to view your current model from the Graphics Area in "\ "overlay with the Cookie Cutter lattice view"\ "

") propMgr.snapGridCheckBox.setWhatsThis( "Snap Grid"\ "

"\ "Makes your lattice selection correspond with the grid lines "\ "

") propMgr.freeViewCheckBox.setWhatsThis( "Free View"\ "

"\ "Allows you to change the current view of the lattice structure so "\ "that it can be viewed from any angle. This can be done by using the "\ "middle mouse button."\ "

") return def whatsThis_RotaryMotorPropertyManager(propMgr): """ What's This text for some of the widgets in the Property Manager. """ # Removed name field from property manager. Mark 2007-05-28 #propMgr.nameLineEdit.setWhatsThis("""Name

Name of Rotary Motor #that appears in the Model Tree

""") propMgr.torqueDblSpinBox.setWhatsThis( """Torque

Simulations will begin with the motor's torque set to this value.

""") propMgr.initialSpeedDblSpinBox.setWhatsThis( """Initial Speed

Simulations will begin with the motor's flywheel rotating at this velocity.

""") propMgr.finalSpeedDblSpinBox.setWhatsThis( """Final Speed

The final velocity of the motor's flywheel during simulations.

""") propMgr.dampersCheckBox.setWhatsThis( """Dampers

If checked, the dampers are enabled for this motor during a simulation. See the Rotary Motor web page on the NanoEngineer-1 Wiki for more information.

""") propMgr.enableMinimizeCheckBox.setWhatsThis( """Enable in Minimize (experimental)

If checked, the torque specified above will be applied to the motor atoms during a structure minimization. While intended to allow simulations to begin with rotary motors running at speed, this feature requires more work to be useful.

""") propMgr.motorLengthDblSpinBox.setWhatsThis( """Motor Length

The motor jig is drawn as a cylinder. This is the dimensions of the solid's length, measured in angstroms.

""") propMgr.motorRadiusDblSpinBox.setWhatsThis( """Motor Radius

The motor jig is drawn as a cylinder. This is the radius of the cylinder, measured in angstroms.

""") propMgr.spokeRadiusDblSpinBox.setWhatsThis( """Spoke Radius

Atoms are connected to the motor body by spokes, and this is the radius of the spokes, measured in angstroms.

""") propMgr.colorPushButton.setWhatsThis( """Color

Allows you to change the color of the motor body and spokes

""") propMgr.directionPushButton.setWhatsThis( """Change Direction

Changes direction of the motor

""") return def whatsThis_LinearMotorPropertyManager(propMgr): """ What's This text for widgets in the Linear Motor Property Manager. """ propMgr.forceDblSpinBox.setWhatsThis( """Force

Simulations will begin with the motor's force set to this value.

""") propMgr.enableMinimizeCheckBox.setWhatsThis( """Enable in Minimize (WARNING: EXPERIMENTAL FEATURE)

If checked, the force specified above will be applied to the motor atoms during a structure minimization. While intended to allow simulations to begin with Linear motors running at speed, this feature requires more work to be useful.

""") propMgr.stiffnessDblSpinBox.setWhatsThis( """Stiffness

If non-zero, this parameter will modify the motor's force according to its position, as though the motor were a spring.

When stiffness = 0, the motor's force is constant and will have the same direction and magnitude regardless of atom position.

""") propMgr.motorLengthDblSpinBox.setWhatsThis( """Motor Length

The body of the motor jig is drawn as a rectangular solid, with the long dimension in the direction of the motor's motion. This is the dimensions of the solid's length, measured in angstroms.

""") propMgr.motorWidthDblSpinBox.setWhatsThis( """Motor Width

The body of the motor jig is drawn as a rectangular solid, with the long dimension in the direction of the motor's motion. This is the dimensions of the solid's width, measured in angstroms.

""") propMgr.spokeRadiusDblSpinBox.setWhatsThis( """Spoke Radius

Atoms are connected to the motor body by spokes, and this is the radius of the spokes, measured in angstroms.

""") propMgr.colorPushButton.setWhatsThis( """Color

Allows you to change the color of the motor body and spokes

""") propMgr.directionPushButton.setWhatsThis( """Change Direction

Changes direction of the linear motor

""") return def whatsThis_PlanePropertyManager(propMgr): """ Add "What's This" text for widgets in the Plane Property Manager. """ propMgr.heightDblSpinBox.setWhatsThis( """Height

The height of the Plane in angstroms. (up to 200 angstroms)

""") propMgr.widthDblSpinBox.setWhatsThis( """Width

The width of the Plane in angstroms. (up to 200 angstroms)

""") return def whatsThis_QuteMolPropertyManager(propMgr): """ Add "What's This" text for widgets in the QuteMolX Property Manager. """ propMgr.launchQuteMolButton.setWhatsThis( """ Launch QuteMolX

Pressing this button launches QuteMolX.

""") propMgr.axesCombobox.setWhatsThis( """ Render Axes

Allows the user to select between rendering and hiding the DNA axis pseudo atoms

""") propMgr.basesCombobox.setWhatsThis( """ Render Bases

Allows the user to select between rendering and hiding the DNA strand bases

""") return def whatsThis_BuildAtomsPropertyManager(propMgr): """ Add "What's This" text for widgets in the QuteMolX Property Manager. """ propMgr.selectionFilterCheckBox.setWhatsThis( """Enable Selection Filter Checkbox

When checked, the selection filteris enabled and only atom types listed in the Selection Filter Field ield are selectable.

""") propMgr.filterlistLE.setWhatsThis( """Selection Filter Field

Lists the current atom type the user may select while Selection Filter is checked.

""") propMgr.autoBondCheckBox.setWhatsThis( """Auto bond

When enabled, additional bonds are formed automatically with the deposited atom if possile.

""") propMgr.reshapeSelectionCheckBox.setWhatsThis( """Dragging reshapes selection

When enabled, selected atoms are "reshaped" when dragged by the mouse.

When disabled (default), selected atoms follow the mouse as typical when dragged.

""") propMgr.waterCheckBox.setWhatsThis( """Z depth filter (water surface)

Enables/disables the Z depth filter for hover highlighting and single atom/bond selection. When enabled, a semi-transparent "water surface" is displayed that remains parallel to the screen. This gives the illusion that atoms below the surface are under water. Atoms and bonds under the water are not highlighted and cannot be selected by clicking on them. This is useful when working on local regions of large structures since only atoms and bonds above the surface are highlighted. This can speed up interactive response times significantly.

The depth of the water surface can be made deeper by holding down the Control + Shift keys together and pushing the mouse away while holding down the middle mouse button.

The depth of the water surface can be made shallower by holding down the Control + Shift keys together and pulling the mouse closer while holding down the middle mouse button.

Note: the region selection feature is immume to this filter.

""") propMgr.highlightingCheckBox.setWhatsThis( """Hover highlighting

Enables/disables hover highlighting. When enabled, atoms and bonds under the cursor are highlighted to indicate what would be selected if the user clicks the left mouse button.

""") propMgr.showSelectedAtomInfoCheckBox.setWhatsThis( """Show Selected Atoms's Info

When checked an atom's position is displayed as X Y Z coordinates. These coordinates can also be adjusted with provided spin boxes.

""") return def whatsThis_PartLibPropertyManager(propMgr): """ Add "What's This" text for widgets in the Part Library Property Manager. """ propMgr.previewGroupBox.setWhatsThis( """Preview Window

This window displays the selected part chosen from the library. The user may also rotate the part and set a hot spot while the part is displayed in the preview window""" ) propMgr.partLibGroupBox .setWhatsThis( """Part Library

This is a directory of available parts contained in the part library """ ) return def whatsThis_PasteItemsPropertyManager(propMgr): """ Add "What's This" text for widgets in the Part Library Property Manager. """ propMgr.previewGroupBox.setWhatsThis( """Preview Window

This window displays the selected part chosen from the clipboard. The user may also rotate the part and set a hot spot while the part is displayed in the preview window""" ) propMgr.clipboardGroupBox.setWhatsThis( """Clipboard

This is a list of items contained on the Clipboard """ ) return def WhatsThis_EditDnaDisplayStyle_PropertyManager(propMgr): """ Add "What's This" text for widgets in the Edit DNA Display Style Property Manager. """ propMgr.favoritesComboBox.setWhatsThis( """DNA Display Style Favorites

A list of DNA display style favorites added by the user that can be applied by pressing the Apply Favorite button. The settings are only in effect whenever the Global Display Style is set to DNA Cylinder or to DNA objects that have their display style set to DNA Cylinder.


The Apply Favorite button must be clicked to apply the current favorite selected from this list. Factory default settings resets all color options to their default settings.


The Add Favorite button allows new favorites to be added to the list. This saves the current settings to a user specified name.


The Delete Favorite button allows an existing favorite to be deleted from the list. Factory default settings can never be deleted, however. """) propMgr.applyFavoriteButton.setWhatsThis( """Apply Favorite


Applies the settings stored in the selected Favorite to the current settings. """) propMgr.addFavoriteButton.setWhatsThis( """Add Favorite


Allows a new Favorite to be added to the list. This saves the current settings to a user specified Favorite name. """) propMgr.deleteFavoriteButton.setWhatsThis( """Delete Favorite


Allows an existing favorite to be deleted from the list. Factory default settings can never be deleted, however. """) propMgr.loadFavoriteButton.setWhatsThis( """Load Favorite


Allows the user to load a favorites file from disk to be added to the favorites list. Favorites files must have a .txt extension. """) propMgr.saveFavoriteButton.setWhatsThis( """Save Favorite


Writes the selected favorite (selected in the combobox) to a file that can be given to another NE1 user (i.e. as an email attachment). The file is saved with a .txt entension so that it can loaded back using the Load Favorite button. """) return def WhatsThis_ColorScheme_PropertyManager(propMgr): """ Add "What's This" text for widgets in the Color Scheme Property Manager. """ propMgr.favoritesComboBox.setWhatsThis( """Color Scheme Favorites

A list of color scheme favorites added by the user that can be applied to NanoEngineer-1 by pressing the Apply Favorite button.


The Apply Favorite button must be clicked to apply the current favorite selected from this list. Factory default settings resets all color options to their default settings.


The Add Favorite button allows new favorite color schemes to be added to the list. This saves the current color settings to a user specified name.


The Delete Favorite button allows an existing favorite to be deleted from the list. Factory default settings can never be deleted, however. """) propMgr.applyFavoriteButton.setWhatsThis( """Apply Favorite


Applies the color settings stored in the selected Color Scheme Favorite to the current color scheme. """) propMgr.addFavoriteButton.setWhatsThis( """Add Favorite


Allows a new Color Scheme Favorite to be added to the list. This saves the current color settings to a user specified name. """) propMgr.deleteFavoriteButton.setWhatsThis( """Delete Favorite


Allows an existing favorite to be deleted from the list. Factory default settings can never be deleted, however. """) propMgr.loadFavoriteButton.setWhatsThis( """Load Favorite


Allows the user to load a favorites file from disk to be added to the favorites list. Favorites files must have a .txt extension. """) propMgr.saveFavoriteButton.setWhatsThis( """Save Favorite


Writes the selected favorite (selected in the combobox) to a file that can be given to another NE1 user (i.e. as an email attachment). The file is saved with a .txt entension so that it can loaded back using the Load Favorite button. """) return def WhatsThis_EditProteinDisplayStyle_PropertyManager(propMgr): """ Add "What's This" text for widgets in the Edit Protein Display Style Property Manager. """ propMgr.favoritesComboBox.setWhatsThis( """Protein Display Style Favorites

A list of Protein display style favorites added by the user that can be applied by pressing the Apply Favorite button.


The Apply Favorite button must be clicked to apply the current favorite selected from this list. Factory default settings resets all options to their default settings.


The Add Favorite button allows new favorites to be added to the list. This saves the current settings to a user specified name.


The Delete Favorite button allows an existing favorite to be deleted from the list. Factory default settings can never be deleted, however. """) propMgr.applyFavoriteButton.setWhatsThis( """Apply Favorite


Applies the settings stored in the selected Favorite to the current settings. """) propMgr.addFavoriteButton.setWhatsThis( """Add Favorite


Allows a new Favorite to be added to the list. This saves the current settings to a user specified Favorite name. """) propMgr.deleteFavoriteButton.setWhatsThis( """Delete Favorite


Allows an existing favorite to be deleted from the list. Factory default settings can never be deleted, however. """) propMgr.loadFavoriteButton.setWhatsThis( """Load Favorite


Allows the user to load a favorites file from disk to be added to the favorites list. Favorites files must have a .txt extension. """) propMgr.saveFavoriteButton.setWhatsThis( """Save Favorite


Writes the selected favorite (selected in the combobox) to a file that can be given to another NE1 user (i.e. as an email attachment). The file is saved with a .txt entension so that it can loaded back using the Load Favorite button. """) return