Chemtool development history since 1.3.1
Chemtool-1.4.1
This fixes a memory overflow bug with moving, rotating or scaling of larger
drawings, and corrects the calculation of the center of the fragment in the
rotate and flip modes.
chemtool-1.4.1, sourcecode in tar.gz format
chemtool-1.4.1, binary rpm package for the
i386 architecture
chemtool-1.4.1, sourcecode rpm package
Chemtool-1.4
This is the new release superseding 1.3.1 :
chemtool-1.4, sourcecode in tar.gz format
Changes vs. 1.4.alpha15
Added updated russian translation (Michael Shigorin). Tried to update the
french translation myself. Changed rotation and inversion functions to act
relative to the center of the fragment; changed marking code to allow adding
individual atoms to a selection by using ctrl+mouseclick (Michael Banck).
Reduced the sensitivity of the scaling functions towards mouse movement.
Changes vs. 1.3.1:
New drawing options:
- Added function to draw curves, curved arrows and orbital lobes
- Added automatic ring generation for 3- to 12-membered planar rings.
- Added function to draw square brackets around a marked fragment
- Added new bond types, 'striped' single bond for diastereomers, and
dashed-double for partial double bonds.
- Added anisotropic scaling for pseudo-'3d' effects.
- Added key sequence '@*' for the 'dot' symbol character (which is
not available with regular keyboard mappings), correspondingly
added '*' to the shortcuts available in drawing mode. (For radicals,
and to mark the atom positions in cumulenes, ketenes, etc.)
- Filled wedges adapt to the width of an adjacent wide line.
- Changed wavy bond to change chirality depending on direction, so that
they can be linked to form longer patterns.
Enhanced export modes:
- Replaced the simple export popup with an extended file selection
dialog that provides choice of filetype and automatically appends
appropriate suffixes.
- Changed export modes to
export only the selected portion when a selection has been made.
- Added special treatment of wedges and greek characters in Latex export
mode to work around fig2devs apparent inability to translate filled
polygons and the X11 symbol font into pictex commands.
- Added arbitrary scaling (via the -m ption of fig2dev) of eps and pictex
User interface improvements:
- Replaced the upper button row of the GUI by a more standard menu bar
- Successful exporting is now reported in the status bar instead of the
popup window.
- Modified the ratio of cursor movement to rotation angle or scale factor
to allow easier rotation or resizing.
- Modified rotation and inversion functions to use the center of the
marked object as reference point.
- Moving the center of a circle now moves that circle without resizing
it. Reference points on circle (and bezier curve) are highlighted in Move
mode.
- Individual atoms can now be added to an already marked selection.
- Added french,polish and russian translations.
- Added '-i / --interpret' flag to cht to
allow using it from the command line (e.g. cht -i C_6H_5OH).
- Updated README and chemtool manpage, added cht manpage.
Portability enhancements:
- Fixed passing of pointers and added type casts to improve portability
on platforms with different default sizes of int and pointer.
- Added Makefiles for compiling on 32 and 64 bit SGI systems
- Changed the font initialization code to attempt a fallback to the 'fixed'
font if the 'helvetica' font cannot be found.
Changes in the 1.5 series
(Development snapshots)
1.5alpha1:
Added MDL molfile import (Michael Banck). Added experimental (untested)
SVG export.
1.5alpha2:
Removed MDL version check from molfile import, as BABEL leaves this field
blank in converted files. Completed and corrected the SVG export code (now
tested against W3C's Amaya browser). Changed rotation and inversion functions
to take the center of the fragment as reference point; allow adding individual
atoms to a marked fragment by using Ctrl-Mouseclick (Michael Banck, also
backported into the final 1.4 release).
1.5alpha3:
Fixed MDL molfile parsing, which was sometimes reading incomplete lines.
(Michael Banck). Fixed potential memory overflow problem in move,rotate
and scale modes (converted a fixed size temporary array to malloc'd storage)
and fixed the center calculation in rotate and invert modes (both backports
from 1.4.1). Added functions for drawing various boxes (Radek Liboska)
and changed the bracket button to display a corresponding popup menu.
1.5alpha4:
Added curly braces and improved round braces, fixed xfig/latex/ps
export of curves (which was broken by a runaway search-and-replace
in 1.5a2) (Radek Liboska). Added PDB file import (simple distance-
based bonding and doing z-axis projection).
1.5alpha5:
Corrected one of the carbohydrate templates. Changed default extension
of SVG files to .xml (mainly for croczilla, the svg-enabled mozilla).
Added function for printing the current drawing (Radek Liboska),
added printer configuration dialog.
1.5alpha6:
Holding the control key while rotating a fragment now snaps to the
nearest angle position of the current draw mode (Michael Banck).
Added print scale to the printer configuration panel. Added shortcuts
for zoom (Radek Liboska). Made a few small conformance fixes in the
SVG export. PDB import now interprets CONECT records if present.
Added a few carbohydrate templates (fucose,xylose,neuraminic acid).
The printer configuration and the current working directory can now
be saved in a ~/.chemtoolrc file that is read on startup.
1.5alpha7:
Fixed filename problem that prevented printing (already broken in 1.5a5,
though not in Radeks original patch). Removed "-M" (multipage) option
from the print process, as it triggers a fig2dev problem when the drawing
is very small. Activated and corrected the code that was supposed to
configure the working directory name in alpha6.
1.5alpha8:
Fixed 180 degrees rollover bug in fragment rotation (Michael Banck).
Added brazilian portuguese localisation provided by Flavio Matsumoto
(based on 1.4.1). Expanded template system to allow up to 15 labels
per template (from 10). Added a few disaccharide templates (sucrose,
maltose,lactose). Fixed position of whiteout box for plain labels in
xfig-based export modes. Added tooltips to template system.
1.5alpha9:
Corrected and completed the template tooltips. Fixed bug in whiteout
box positioning - it was using uninitalized variable for centered labels
since 1.5a8. Updated brazilian portuguese translations to 1.5a8
(Flavio Matsumoto). Replaced the braindead GTK file dialogs with
Michael Torrie's 'advanced gtk fileselection' code, which allows
consistent handling of extension masks and directory traversal.
Added default path and file extension options to Setup dialog and
.chemtoolrc file. Added check for fig2dev version number to handle
the recent change in postscript option names. Rewrote export functions
to call fig2dev through pipes instead of using unsafe temporary files.
Changed the automatic ring generator to draw six-membered rings with
a correct set of double bonds when one of the double bond drawing modes
is in use, and improved the accurracy of the ring coordinates (Michael
Banck). Rearranged includes (ctype.h first) to work around reported
compile problem on Mac OS-X.
1.5alpha10:
Fixed reference counting of bonds,labels and curves in undo/redo.
Added the code from Matt Kimballs original libundo library (compacted
into undo.c/undo.h), providing multilevel ('unlimited') undo/redo
capability.
1.5alpha11:
Fixed crashes in export functions (caused by double close on output stream.
Reset undo history and drawing position on File->New.
1.5alpha12:
File->New was a sure way to crash 1.5a11,should be fixed now.
Improved reference counting in undo/redo, the undo stack should
now survive both File->New and repeated undo'ing all the way to
an empty canvas. Added hooks for more detailed error reporting in
the xfig export. Added default shortcuts for Undo and Redo, renamed
'Setup Printer' menuitem to 'Setup Defaults'. Fixed typo that prevented
building the old, menuless GUI (which probably noone needs anymore).
Added signal handler to try and save the current drawing in case of
a crash.
1.5alpha13:
Fixed spurious error messages in file exports ( got mixed up with
success and failure codes). Fixed crash in XBM export when no region
was selected and there were 'active' fragments from an Add, Template,
or ringdrawing operation present. Calculation of image width now takes
length and direction of labels into account. Added configure script
(Michael Banck). Improved kerning of combined sub- and superscripts
in the middle of a label, changed cht call to use mkstemp for
temporary file (Masao Kawamura). Added MDL molfile export (Michael
Banck).
1.5alpha14:
Fixes for some stupid bugs in a13 (could cause crashes on Save on some
machines; would still complain on export although files exported
correctly).
1.5alpha15:
Improved calculation of label length in SVG and XBM image sizing.
Prevented negative image coordinates in XBM export that could cause
random patterns to appear at the edges of the image. Added warning
dialog for the case where saving or exporting would overwrite an
existing file. Added support for drawing bonds of 1/3 and 1/2
standard length.
1.5alpha16:
Added preview window to file selection dialog. Fixed a few cases
where the input file was not properly closed when reading from it
returned an error. Fixed spurious error message after successful
import of MDL molfiles.
1.5alpha17:
Activated preview in 'Add' mode. Fixed bug in Torrie's gtkfilesel
code that caused a gtk error message when there was no previous
filename to display during directory traversal. Added preliminary
3d rotation support to PDB import code (dropping CONECT reading for
now - on the other hand the code should be usable for MOL as well).
Added options for PDB label handling (all/non H/unnumbered) on import.
Trimmed extension from the names of imported files on loading to
prevent accidental overwriting of the original by the
chemtool-generated file. Reset status message on 'File/New'.
1.5alpha18:
Removed spurios preview area and PDB mode selectors from SaveAs
dialog. Added Latex-like brace syntax for multi-character sub-
and superscripts (one can now write C_{10}H_{22} instead of
C_1_0H_2_2). Added support for two-digit subscripts in either notation
to cht.
1.5alpha19:
Added 3d rotation support to MDL molfile import, and restored
interpretation of CONECT records in PDB import. Added sanity check
of file header to MDL import.
1.5alpha20:
Default file path could get initialized to meaningless data when
a .chemtoolrc was present but had an empty datadir directive.
Exchanged x and y rotation axes in 3d import, as the previous
arrangement was counter-intuitive. Disabled all editing functions
except zooming during 3d import. Added filename masks for the
import dialogs - *.pdb,*.ent for PDB, *.mol,*.mdl for Molfile.
Modified gtkfilesel code to allow up to three suffix masks.
1.5alpha21:
Trying to load a chemtool file after importing some other file could
cause the program to crash in the file selection dialog if no default
filename mask was defined. Changed scaling of imported molfiles to
take bond distances in the file into account.
1.5alpha22:
Moved initial drawing position to make templates and labels appear
near the center of the visible canvas instead of in the top left
corner. Used pixmaps instead of labels for the navigation buttons
in the file dialog. Updated Makefile.in so that cht-1.9 gets built.
1.5alpha23:
Added sanity check to PDB reader to prevent endless loop on bad
input. Updated .spec file and czech locale (Radek Liboska).
Removed some dead code, reformatted sources with indent. Replaced
pixmaps in file dialog with nicer-looking ones (Michael Banck).
Updated german locale, recreated the localisation template and
merged it into the existing fr,pl,pt_BR and ru locale files.
Updated the README file.
1.5alpha24:
Added labelling shortcuts to draw 'electron pairs' using the numeric
keypad (if one imagines the atom symbol sitting on the '5' key, the
surrounding keys represent the possible locations of 'electron pair'
lines). Fixed SaveAs function (which could invalidate the canvas
pixmap). Reconnected Set_Textmode() function to force textmode on
activation of the label entry widget only if necessary. First point
no longer snaps to closest endpoint when drawing half arrows - this
makes drawing equilibrium arrows easier again. One can now use the
Ctrl and Shift keys in Move mode to restrict movement to the
horizontal and vertical direction respectively.
1.5alpha25:
Adjusted position of 'electron pairs' a little, added adjustment
for left and right side of two-character element symbols. Decreased
size of 'whitespace' under labels in the screen display a little.
Added special flag to bonds structure to distinguish regular bonds
from decorative elements such as electron pairs, brackets and boxes
(for molecular weight calculation and mdl molfile export). Changed
helper program CHT accordingly, and made it ignore the 'half arrow'
bondtype as well. Updated the README file.
1.5alpha26:
Corrected file preview (badly applied last-minute patch in the
already uploaded 1.5a25 - if one ignored the compiler warning, the
resulting binary would crash on loading a preview). Improved
preview window creation to solve some rare crashes. Fixed premature
setting of 'modified' flag when nothing was changed in a drawing.
Changed 'save' function to write the newly introduced 'decoration'
flag only when it is set (as all previous versions are confused by
it) and updated the version number in the header. Modified arrow
drawing routines to shift the arrowhead when it would be obscured
by a label (for drawing e.g. N-oxides and boron compounds).
Modified CHT to ignore arrows that are not part of a molecule.
1.5alpha27:
Corrected CONECT record interpretation in PDB import. Corrected
initial drawing of imported 3d structure and repositioning error
on confirmation of orientation. Fixed clipping of circle diameter
line by inscribed characters (necessary for correct xfig/eps output
when the circles are (ab)used as "balloons" for fragments.) Changed
tidying function to skip over circles. Changed arrow drawing to limit
arrowhead size for long arrows. Added bold text, using '#' as control
character. (Release candidate for chemtool-1.5)