Officially Tested Platforms
@@ -48,7 +48,7 @@ Click the following links to learn more about NanoEngineer-1 1.0.0:
Tested Platforms
-NE1 1.0.0 has been tested on:
+NanoEngineer-1 Version 1.0.1 has been tested on:
- Windows XP
- Mac OS X 10.3.9 (Panther), 10.4.9 (Tiger), and 10.5.2 (Leopard)
@@ -63,15 +63,15 @@ Limited testing has been done on:
Installation Instructions
Windows
-Run the NanoEngineer-1 self-extracting installer "NanoEngineer-1_1.0.0.exe".
+Run the NanoEngineer-1 self-extracting installer "NanoEngineer-1_1.0.1.exe".
Mac OS X
-Run the NanoEngineer-1 self-extracting installer "NanoEngineer-1_1.0.0.dmg".
+Run the NanoEngineer-1 self-extracting installer "NanoEngineer-1_1.0.1.dmg".
Note: If during installation, the message: "You cannot continue. There is nothing to install." appears, navigate to <your hard drive>/Library/Receipts/ and delete any files that start with "NanoEngineer-1". Then empty the Trash and run the installer again.
Linux and Developers
-NanoEngineer-1 1.0.0 must be compiled from sources for Linux users and developers. Download the NanoEngineer-1 1.0.0 source distribution "NanoEngineer-1_1.0.0.tar.gz" and follow the instructions found in the following steps:
+NanoEngineer-1 Version 1.0.1 must be compiled from sources for Linux users and developers. Download the NanoEngineer-1 Version 1.0.1 source distribution "NanoEngineer-1_1.0.1.tar.gz" and follow the instructions found in the following steps:
- NE1 Build Requirements - Before building NE1, check that the requirements for your platform are met. This page lists all the libraries necessary to build NE1, including some notes on library installation.
- NE1 Build and Install
@@ -103,6 +103,60 @@ Note that the NanoEngineer-1 Application Suite includes all of the above
New Features
+
+What is new in NanoEngineer-1 1.0.1 (5/6/2008):
+
+- User Interface Modifications
+
+ - New selection/highlighting/drag behavior in Build Dna and its sub-commands..
+
- Edit DnaStrands and DnaSegments on single-click.
+
- Option to render 3' and 5' arrowheads/spheres in different color.
+
- Convert bonds in "Build Chunks" command.
+
- New Dna seletion/highlighting and drag behavior in all modes. See Dna Selection and Movement perations.
+
+ - Fixed Bugs
+
+ - DNA Cylinder display style: Axis should not be displayed on ssDNA segments.
+
- Double-clicking strand does not select mate strands in MT. Hiding all strands only shows double-clicked strand as hidden in MT.
+
- undo/redo doesn't restore selectedness of DnaStrands
+
- Joining strands doesn't always pull in all necessary chunks (except for the dna updater).
+
- Closing or "tearing-off" history makes the energy minimize fail.
+
- Tooltip shows the Windows hotkey even on Mac.
+
- Fix Default path for all NE1 plug-ins.
+
- Zoom to proper scale (i.e. 50A half height) when editing a duplex the first time.
+
- Button images are missing from the sequence editor on Mac, an installer issue.
+
- Strand resize handle color is not updated for new strand.
+
- Atoms not rendered when global display style is "Dna Cylinder".
+
- Default settings for DNA Cylinder display style.
+
- Length of sequence unknown when typing into sequence editor.
+
- Tooltips and Help docs should include keyboard shortcuts.
+
- Bug when a strand is lengthened by 1 strand base atom
+
- Hitting enter in sequence editor inserts newline (which appears to clear the sequence) and inserts an "N" into the mates field.
+
- Mao 3-point star has discrepancies.
+
- SDN structure clean up in part library.
+
+
+
+See New Features Archives for information on previous versions.
+
+
+Known Bugs
+You may access a current copy of NE1 Known Bugs on-line at:
+
+ http://www.nanoengineer-1.net/mediawiki/index.php?title=NE1_Known_Bugs
+
+
+
Copyright and Licensing
+NanoEngineer-1 Copyright 2004-2008 Nanorex, Inc.
+
+This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+This program 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 General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+
New Features Archives
What is new in NanoEngineer-1 1.0.0 (4/25/2008):
- Core User Interface Operations Support
@@ -225,28 +279,6 @@ Note that the NanoEngineer-1 Application Suite includes all of the above
-
-
-See New Features Archives for information on previous versions.
-
-
-Known Bugs
-You may access a current copy of NE1 Known Bugs on-line at:
-
- http://www.nanoengineer-1.net/mediawiki/index.php?title=NE1_Known_Bugs
-
-
-
Copyright and Licensing
-NanoEngineer-1 Copyright 2004-2008 Nanorex, Inc.
-
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-
-This program 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 General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-
New Features Archives
What is new in NanoEngineer-1 0.9.1 (7/01/2007):
- UI Improvements
diff --git a/cad/src/cnt/commands/BuildNanotube/BuildNanotube_GraphicsMode.py b/cad/src/cnt/commands/BuildNanotube/BuildNanotube_GraphicsMode.py
index 2e39147..1b7a8c5 100644
--- a/cad/src/cnt/commands/BuildNanotube/BuildNanotube_GraphicsMode.py
+++ b/cad/src/cnt/commands/BuildNanotube/BuildNanotube_GraphicsMode.py
@@ -7,7 +7,12 @@
History:
-TODO:
+TODO as of 2008-05-06:
+Needs Refactoring. It was originally duplicated from BuildDna_GraphicsMode
+(for an experimental implementation of new Nanotube command)
+There needs to be a common superclass for Build'Structure' mode and
+all the edit structure modes (commands) such as DnaSegment,
+DnaStrand_GraphicsMode, NanotubeSegment_GraphicsMode etc
"""
from commands.SelectChunks.SelectChunks_GraphicsMode import SelectChunks_GraphicsMode
@@ -54,6 +59,26 @@ class BuildNanotube_GraphicsMode(SelectChunks_GraphicsMode):
@see : self.drawHighlightedObjectUnderMouse()
"""
return False
+
+
+ def _drawCursorText(self):
+ """
+ Draw the text near the cursor. It gives information about number of
+ basepairs/bases being added or removed, length of the segment (if self.struct
+ is a strand etc.
+ @see: DnaSegment_GraphicsMode, DnaStrand_GraphicsMode (subclasses of
+ this class where this is being used.
+ """
+ if hasattr(self.command, 'grabbedHandle') and hasattr(self.command,
+ 'getCursorText'):
+ if self.command.grabbedHandle is not None:
+ #Draw the text next to the cursor that gives info about
+ #number of base pairs etc
+
+ text , textColor = self.command.getCursorText()
+ self.glpane.renderTextNearCursor(text,
+ offset = 30,
+ color = textColor)
diff --git a/cad/src/cnt/commands/NanotubeSegment/NanotubeSegment_GraphicsMode.py b/cad/src/cnt/commands/NanotubeSegment/NanotubeSegment_GraphicsMode.py
index 6650277..9e8898f 100644
--- a/cad/src/cnt/commands/NanotubeSegment/NanotubeSegment_GraphicsMode.py
+++ b/cad/src/cnt/commands/NanotubeSegment/NanotubeSegment_GraphicsMode.py
@@ -474,10 +474,10 @@ class NanotubeSegment_GraphicsMode(ESC_to_exit_GraphicsMode_preMixin,
def Draw(self):
"""
"""
- if self._handleDrawingRequested: # and \
- #self.command.handles_have_valid_centers:
- self._drawHandles()
+
_superclass.Draw(self)
+ if self._handleDrawingRequested:
+ self._drawHandles()
def _drawHandles(self):
"""
@@ -519,13 +519,8 @@ class NanotubeSegment_GraphicsMode(ESC_to_exit_GraphicsMode_preMixin,
beam1Color = gray,
beam2Color = gray,
stepColor = black )
- #Draw the text next to the cursor that gives info about
- #number of base pairs etc
- if self.command:
- text, textColor = self.command.getCursorText()
- self.glpane.renderTextNearCursor(text,
- offset = 30,
- color = textColor)
+
+ self._drawCursorText()
else:
#No handle is grabbed. But may be the structure changed
#(e.g. while dragging it ) and as a result, the endPoint positions
diff --git a/cad/src/dna/commands/BuildDna/BuildDna_GraphicsMode.py b/cad/src/dna/commands/BuildDna/BuildDna_GraphicsMode.py
index 1e835ff..6ce8596 100644
--- a/cad/src/dna/commands/BuildDna/BuildDna_GraphicsMode.py
+++ b/cad/src/dna/commands/BuildDna/BuildDna_GraphicsMode.py
@@ -579,4 +579,24 @@ class BuildDna_GraphicsMode(SelectChunks_GraphicsMode):
selobj,
hicolor,
hicolor2)
+
+
+ def _drawCursorText(self):
+ """
+ Draw the text near the cursor. It gives information about number of
+ basepairs/bases being added or removed, length of the segment (if self.struct
+ is a strand etc.
+ @see: DnaSegment_GraphicsMode, DnaStrand_GraphicsMode (subclasses of
+ this class where this is being used.
+ """
+ if hasattr(self.command, 'grabbedHandle') and hasattr(self.command,
+ 'getCursorText'):
+ if self.command.grabbedHandle is not None:
+ #Draw the text next to the cursor that gives info about
+ #number of base pairs etc
+
+ text , textColor = self.command.getCursorText()
+ self.glpane.renderTextNearCursor(text,
+ offset = 30,
+ color = textColor)
diff --git a/cad/src/dna/commands/DnaSegment/DnaSegment_EditCommand.py b/cad/src/dna/commands/DnaSegment/DnaSegment_EditCommand.py
index 3b8bfc7..1d06afa 100644
--- a/cad/src/dna/commands/DnaSegment/DnaSegment_EditCommand.py
+++ b/cad/src/dna/commands/DnaSegment/DnaSegment_EditCommand.py
@@ -299,18 +299,21 @@ class DnaSegment_EditCommand(State_preMixin, EditCommand):
params_for_propMgr = (None,
None,
None,
- None,
basesPerTurn,
duplexRise,
endPoint1,
endPoint2)
+
#TODO 2008-03-25: better to get all parameters from self.struct and
#set it in propMgr? This will mostly work except that reverse is
#not true. i.e. we can not specify same set of params for
#self.struct.setProps ...because endPoint1 and endPoint2 are derived.
#by the structure when needed. Commenting out following line of code
- ##self.propMgr.setParameters(self.struct.getProps())
+ #UPDATE 2008-05-06 Fixes a bug due to which the parameters in propMGr
+ #of DnaSegment_EditCommand are not same as the original structure
+ #(e.g. bases per turn and duplexrise)
+ self.propMgr.setParameters(params_for_propMgr)
#Store the previous parameters. Important to set it after you
diff --git a/cad/src/dna/commands/DnaSegment/DnaSegment_GraphicsMode.py b/cad/src/dna/commands/DnaSegment/DnaSegment_GraphicsMode.py
index 12ee45a..03fa60d 100644
--- a/cad/src/dna/commands/DnaSegment/DnaSegment_GraphicsMode.py
+++ b/cad/src/dna/commands/DnaSegment/DnaSegment_GraphicsMode.py
@@ -148,15 +148,23 @@ class DnaSegment_GraphicsMode(ESC_to_exit_GraphicsMode_preMixin,
def Draw(self):
"""
+ Draw glpane contents and its contents including handles (if any.) of
+ DnaSegment
+ @see:self._drawCursorText()
+ @see:self._drawHandles()
"""
+
+ _superclass.Draw(self)
if self._handleDrawingRequested:
self._drawHandles()
- _superclass.Draw(self)
+
def _drawHandles(self):
"""
Draw the handles for the command.struct
- #@see: DnaSegment_EditCommand.getDnaRibbonParams()
+ @see: DnaSegment_EditCommand.getDnaRibbonParams()
+ @see:self._drawCursorText()
+ @see:self.Draw()
"""
if self.command and self.command.hasValidStructure():
for handle in self.command.handles:
@@ -204,23 +212,11 @@ class DnaSegment_GraphicsMode(ESC_to_exit_GraphicsMode_preMixin,
ribbon1Color = ribbon1Color,
ribbon2Color = ribbon2Color,
stepColor = black )
-
+
#Draw the text next to the cursor that gives info about
#number of base pairs etc
- if self.command:
- text , textColor = self.command.getCursorText()
- self.glpane.renderTextNearCursor(text,
- offset = 30,
- color = textColor)
- ##else:
- #UPDATE 2008-04-12: Updating the handle positions is now called in
- #DnaSegment_EditCommand.model_changed().(calling it there provides
- #minor optimization. See also bug 2729 for remaining issue)
- #Commenting out the following line of code
- ###No handle is grabbed. But may be the structure changed
- ###(e.g. while dragging it ) and as a result, the endPoint positions
- ###are modified. So we must update the handle positions because
- ###during left drag (when handle is not dragged) we skip the
- ###handle drawing code and computation to update the handle positions
- ###TODO: see bug 2729 for planned optimization.
- ##self.command.updateHandlePositions()
+ self._drawCursorText()
+
+
+
+
diff --git a/cad/src/dna/commands/DnaStrand/DnaStrand_GraphicsMode.py b/cad/src/dna/commands/DnaStrand/DnaStrand_GraphicsMode.py
index 81a268a..61aa0d8 100644
--- a/cad/src/dna/commands/DnaStrand/DnaStrand_GraphicsMode.py
+++ b/cad/src/dna/commands/DnaStrand/DnaStrand_GraphicsMode.py
@@ -27,15 +27,20 @@ class DnaStrand_GraphicsMode(ESC_to_exit_GraphicsMode_preMixin,
def Draw(self):
"""
Draw this DnaStrand object and its contents including handles (if any.)
+ @see:self._drawCursorText()
+ @see:self._drawHandles()
"""
- if self._handleDrawingRequested:
- self._drawHandles()
+
_superclass.Draw(self)
+ if self._handleDrawingRequested:
+ self._drawHandles()
def _drawHandles(self):
"""
Draw the handles for the command.struct
@see: DnaStrand_ResizeHandle.hasValidParamsForDrawing ()
+ @see:self._drawCursorText()
+ @see:self.Draw()
"""
if self.command and self.command.hasValidStructure():
for handle in self.command.handles:
@@ -62,12 +67,8 @@ class DnaStrand_GraphicsMode(ESC_to_exit_GraphicsMode_preMixin,
ribbonThickness = 4.0,
ribbon1Color = ribbon1Color,
stepColor = black )
+
#Draw the text next to the cursor that gives info about
#number of base pairs etc
- if self.command:
- text , textColor = self.command.getCursorText()
- self.glpane.renderTextNearCursor(text,
- offset = 30,
- color = textColor
- )
+ self._drawCursorText()
diff --git a/cad/src/model/chunk.py b/cad/src/model/chunk.py
index e525062..faeefec 100755
--- a/cad/src/model/chunk.py
+++ b/cad/src/model/chunk.py
@@ -462,16 +462,12 @@ class Chunk(NodeWithAtomContents, InvalMixin, SelfUsageTrackingMixin, SubUsageTr
# A graphene sheet or a simple chunk that thinks its a nanotube.
return
if segment is not None:
- try:
- nanotubeGroup = segment.parent_node_of_class(self.assy.NanotubeGroup)
- except:
- pass
- else:
- # Self is a member of a Nanotube group, so add this
- # info to a disabled menu item in the context menu.
- item = (("%s of [%s]" % (segment.name, nanotubeGroup.name)),
- noop, 'disabled')
- contextMenuList.append(item)
+
+ # Self is a member of a Nanotube group, so add this
+ # info to a disabled menu item in the context menu.
+ item = (("%s" % (segment.name)),
+ noop, 'disabled')
+ contextMenuList.append(item)
item = (("Edit Nanotube Properties..."),
segment.edit)
diff --git a/cad/src/ui/images/splash.png b/cad/src/ui/images/splash.png
index fd3c35f..098f936 100755
Binary files a/cad/src/ui/images/splash.png and b/cad/src/ui/images/splash.png differ
diff --git a/cad/src/utilities/version.py b/cad/src/utilities/version.py
index 8b807b3..467679b 100755
--- a/cad/src/utilities/version.py
+++ b/cad/src/utilities/version.py
@@ -63,10 +63,10 @@ class Version:
__shared_state = {
"major": 1,
"minor": 0,
- "tiny": 0, # tiny and teensy are optional
+ "tiny": 1, # tiny and teensy are optional
# "teensy": 0, # you can have both, or just tiny, or neither
"releaseType": "",
- "releaseDate": "April 24, 2008",
+ "releaseDate": "May 6, 2008",
"product": "NanoEngineer-1",
"copyright": __copyright__,
"authors": __author__
diff --git a/packaging/MacOSX/Welcome.rtf b/packaging/MacOSX/Welcome.rtf
index 1a63dad..a5227dc 100644
--- a/packaging/MacOSX/Welcome.rtf
+++ b/packaging/MacOSX/Welcome.rtf
@@ -1,4 +1,4 @@
-{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf470
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;}
{\colortbl;\red255\green255\blue255;}
\vieww12000\viewh15120\viewkind0
@@ -9,9 +9,9 @@
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ql\qnatural
-\f1\b \cf0 Nanorex NanoEngineer-1 1.0.0\
+\f1\b \cf0 Nanorex NanoEngineer-1 Version 1.0.1\
-\f0\b0 April 15, 2008\
+\f0\b0 May 6, 2008\
\
NanoEngineer-1 is an open-source (GPL) 3D multi-scale modeling and simulation program for nano-composites with special support for structural DNA nanotechnology. It features an easy-to-use interactive 3D graphical user interface for designing and modeling large, atomically precise composite systems.\
}
\ No newline at end of file
diff --git a/packaging/Pref_Mod/buildMac.sh b/packaging/Pref_Mod/buildMac.sh
index a3ffc60..e83d2fd 100755
--- a/packaging/Pref_Mod/buildMac.sh
+++ b/packaging/Pref_Mod/buildMac.sh
@@ -4,6 +4,6 @@ rm -rf build dist
python setup_mac.py py2app --frameworks=/usr/local/BerkeleyDB.4.5/lib/libdb-4.5.dylib --packages=bsddb3
cp py2app-Info.plist dist/pref_modifier.app/Contents/Info.plist
cd dist
-tar cf pref_modifier.app.tar pref_modifier.app
-gzip -9 pref_modifier.app.tar
+tar cf pref_modifier.app_0.0.1.tar pref_modifier.app
+gzip -9 pref_modifier.app_0.0.1.tar
diff --git a/packaging/Pref_Mod/py2app-Info.plist b/packaging/Pref_Mod/py2app-Info.plist
index c040c75..4aa4d92 100644
--- a/packaging/Pref_Mod/py2app-Info.plist
+++ b/packaging/Pref_Mod/py2app-Info.plist
@@ -19,11 +19,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 0.0.0
+ 0.0.1
CFBundleSignature
????
- CFBundleVersion
- 0.0.0
+ CFBundleVersion
+ 00000.13.00
LSHasLocalizedDisplayName
NSAppleScriptEnabled