Development versions leading up to 1.6
Added universal import mode based on BABEL (both Pat Walters' original
version and the recent OpenBabel effort) converting to MDL molfile in
a pipe (in case of OpenBabel, CVS later than 1.99 is needed because of
stdout support). Began adding more elements to cht.
Menu entry 'Import (Babel)' is now only greyed out, no longer omitted
if babel is not found on the system. Added exact masses for the elements
added to cht in 16a1 (Ca,Cd,Co,Cr,Cu,Fe,Mn,Ni), completed element list
for all stable maingroup elements (except noble gases) and the first
row of transition metals. Added greek Phi (@F) as alternative symbol
for Ph in cht. Updated the manpage for cht, and changed its Makefile.in
to use the new version 2.3 of the source file for building.
Corrected typo that prevented import via the old babel-1.6. Fixed
molfile (or babel-based) import of molecules with more than 100 bonds.
Added dodecahedrane,pagodane and C70 (derived from the CSD database
entries) to the examples.
Added partial support for EMF export (needs libEMF from sourceforge,
and configure --enable-emf). Spline curves (i.e. curved arrows, orbital
lobes and the like) are not yet exported, and text seems to be broken
at least when viewed with SO 5.2. Fixed file selection dialogs to hide the
babel-specific part only if it has actually been created (that is, when
babel is installed). Fixed PDB import that got broken by the new babel
code (it was falling through to babel mode). Improved SVG linewidths,
scaling and labeling (Radek Liboska).
Fixed configure,configure.in and config.h.in to actually provide EMF
option. Modified image sizing and label positioning in EMF export.
Corrected EMF frame size calculation and drawing of invisible box
around EMF image. Removed duplicate atom label from viagra example.
Added EMF export of spline objects (orbitals, curved arrows, etc.).
Updated French translation (Jerome Pansanel). Added DESTDIR build option
to Makefile.in and .desktop and .spec file for the Polish Linux
Distribution (in subdir ./pld for now) (Pawel Golaszewski).
Added portability fixes to the undo code (*BSD and HPUX have MAP_ANON
but not MAP_ANONYMOUS, and insist on fd being -1 when mmaping memory)
Added optional display of a (passive) background grid for positioning.
Fixed output of greek characters in SVG export (glyph order differs
in UTF and in the X11 Symbol set used by chemtool).
Prevented crash in babel-based import without valid input data, and
fixed a race condition that could cause chemtool to suggest
installation of babel although it had just found it. Added missing
typecast in undo.c to quieten compiler on some platforms. Fixed
Makefile.in for cht and removed a few unused functions from cht.c that
might cause portability problems (Christian Weisgerber). Added SVG
translation for the bullet symbol used for allenes or above-plane CH.
Updated TODO list based on suggestions received from Radek Liboska.
Cursor keys can now be used for pixel-precise drawing (and cursor
key in combination with Shift key moves cursor position by five pixels).
Changed gridsize to correspond to default bondlength,added hexagonal
grid. The cleanup function now rightens bonds that deviate from ideal
horizontal or vertical orientation by a single pixel - this is
sometimes not visible on screen, but very much visible when printed.
The print dialog and the XFig, LaTeX and EPS export options are
now greyed out if fig2dev is not found at startup. Added the beginnings
of color support (bonds and text can be black,red,green,blue,cyan,
magenta or yellow). The requirement to write the 'decoration' flag
in order to be able to write the color code behind it makes files
written with this version finally incompatible with 1.4 and earlier.
Fixed a race condition between mouse motion and buttonpress events
that could lead to transient garbage on the screen (Daniel Uppstroem).
Rubberband marker rectangle can now be drawn right-to left and
bottom-to-top as well (Daniel Uppstroem).
Fixed problems previewing and loading files containing labels (brought about
by the textcolor support), and added color support to the SVG export. Added
another portability fix to the undo code (older Solaris does not have MAP_ANON
nor MAP_ANONYMOUS) (Fabio Rainone).
The background grid can now be moved using Alt+Cursorkey (and a numerical
accuracy problem with the hexagonal grid has been corrected). Spline curves
can now be drawn in color too. The pen now snaps to additional grid
positions at two and three times the standard bond length. Added a
brief help text to accompany the 'About' window in the 'Help' menu.
Extended the hexagonal backdrop to cover the whole canvas again.
Removed unnecessary `radio button' boxes on the items in the bond type
selection menu. Created new row in main window for the text entry
widget. Corrected screen drawing of blanks in labels (apparently a
victim of cut-and-paste coding since at least v1.5). Added limited
support for an alternate text font (bold,italic or sub/superscript
are still drawn in Helvetica when this font is active).
Added font button for switching between the standard Helvetica font
and Times Roman (with the label of the text entry widget changing
Replaced the stock gtkmenu code with an own version based on a patch
by Matt Kimball (found in the gtk-devel mailinglist archive on gtk.org)
which adds scrolling functionality to long optionmenues. This solves
the problem of the babel import types being partly inaccessible due
to the menu extending beyond the screen.
Fixed gtk pixmap reference problem in the Add dialog. Revived code for
selection of single atoms, added marking of such selected atom with
a green rectangle. Attachment site can be marked before saving a
molecule or fragment, it then becomes the reference point for adding
this fragment to other molecules (previously, this had to be the first
atom in a file). Attachment sites are marked in the preview window by
a small x.
Attachment site marker is now transformed (shifted, rotated or
rescaled) with the fragment it is attached to. Drawing using the
cursor keys is now controlled by the state of the shift key, i.e. one
no longer has to keep the mouse button pressed during key-based
cursor motion. Pressing Return commits a line, while in Move mode
it 'drops' (unmarks) the marked fragment. Added support for new
transfig version 3.2.4 (or current beta) that is able to generate
preview bitmaps in eps files directly.
Updated rpm spec file. Added option to change the default length of
bonds. Removed references to Thomas Volks original website, which no
Corrected check for newest transfig/fig2dev.
Have new fig2dev generate monochrome TIFF previews inside the eps
file instead of color - those were just too big. (A simple
reaction scheme goes from 14kb eps to 60kb with b/w preview, and
to 3 megabytes with color. The ascii EPSI previews are not much
smaller than monochrome TIFF (55kb), and not as widely supported.
Offer EMF output via fig2dev if sufficiently new version is installed
(builtin EMF is still available as a compile-time option).
Fixed ugly string overflow bug introduced in alpha10
- this could cause crashes typically via the action sequence 'draw
something, select mark mode,calculate fw, select draw mode again'.
Thanks to Radek Liboska for alerting me to this problem.
Reenabled moving of newly 'Add'ed molecules (broken in a13).
Improved rendering of 'Cl' in labels containing sub- or superscripts.
Made eps preview addition a configurable (runtime) option. Changed
title of configuration window, changed configuration menues to use
regular menuitems instead of ugly check_menu_item widgets.
Corrected width of white boxes under centered, non-sub/superscripted
labels in the xfig-based export modes. Drawing these boxes is now
an option (and switched off by default !). Corrected height and width
information on fig text objects. Shortened wedge bonds connected to
labels to remove the swallowtail effect that was sometimes visible
on oblique bonds. Made fig2dev version check more robust. Removed
a duplicate bond in the Indolizomycin example.
Made F1 help text and template tooltips available for translation,
added German translation of help text.
Added bold and italic variants of the alternate (Times Roman) font
in the xfig-based export modes (Michael Banck). Fixed wrong xfig
font_flag setting that could lead to missing or clipped labels in
(e)ps export. Re-enabled deleting marked fragments by right-clicking,
modified atom picking code for insertion points to be more reliable.
Fixed "bondtype" button to update bond color as well as type.
Improved rendering of bond-wedge-junctions. (Michael Banck). Added user-
selectable background color (which is also exported to eps).
Changed preview mode to enforce a white background on labels, not
the current canvas color. Changed font handling to load all sizes
once on startup instead of always loading and unloading just the
set needed for the current zoom scale. Switched to scaled fonts at
17 and 20pt instead of using the default 18pt twice. Added fontsize
property to text - text at 8,10,12,14,17,20 and 24pt can now coexist
in a drawing. Increased allowed label length to 100 and fixed a bug
that could truncate labels to well below 80 characters on loading.
Fixed overflow in color code calculation that caused a white canvas
to turn into an almost black background on eps export in alpha19.
Fixed a nasty bug introduced in alpha20 (apparently forgot to change
the maximum label size (MAXCL) in ct1.h, so different parts of the
program had different ideas about the size of the label structure). :-(
Changed label shortcuts to use the current fontsize instead of the
zoom level's default. (Michael Banck). Reduced number of lines drawn
for dashed wedges from 10 to 5 (Michael Banck). Rewrote screen drawing
code for dashed wedges and dotted lines to use a variable number of
lines (or dots) at fixed intervals instead a fixed number of lines at
intervals that increased with line length. Mentioned the code for bold
characters in the textbox tooltip message.
Some objects (wedges,arrowheads,filled splines) were still exported
with black interior regardless of their color. Color information for
splines was read back but ignored on loading a file. The special
treatment of wedge-bond-joins introduced in a19 could produce
ugly results when the wide end of the wedge met two or more bonds.
Changed number of lines in dashed wedges back to 10 for default
length. Improved(?) text kerning in xfig-based print and export.
Allowed changing the properties of a dashed bond (by fixing an "off
by one" error) (Radek Liboska). Fixed several bugs in SVG output
(incorrect viewBox, wrong string length in color definition,
missing fill attribute on text, syntax error in dashed line
specification, bad arrowhead position) and added SVG support for
variable text size, bold, italic and Times font (Radek Liboska).
Modified text kerning in fig-based output once more. Updated
Makefile.in to actually use the improved gtkmenu code introduced
in 16a12, added 'lint' target for code checking with splint. Applied
fixes (mostly typecasts) suggested by splint -weak. Updated Czech
translation (Radek Liboska).
Corrected mistyped fontsizes for sub- and superscripts in SVG,
eliminated a debug message (Radek Liboska). Changed number of dashes
in dashed wedges to seven, which seems to be a good compromise.
Corrected SVG representation of the 'wavy' bond. In text mode,
left-clicking while holding the ctrl key now places an automatically
incrementing counter at the cursor position for numbering sites.
(There is currently no way to reset or otherwise modify the counter,
it is reset only by 'New'. Note however that it becomes an ordinary
label that can be moved or edited after placing it).
Changed double bond drawing code to no longer switch sides depending
on drawing (or rotation) angle. (As a result of this, many templates
and older drawings will need fixing, as bondtype 1 now consistently
has the shorter bond on its left (assuming clockwise drawing), type 2
on its right.) Ctrl-rightmouse in text mode now resets the atom number
counter introduced in alpha24, Ctrl-middle mouse sets it to the value
in the text entry box (or zero, if no valid number can be read).
Applied Daniel Uppstroem's patch of 16a8 to the fragment move/rotate code,
as the same kind of race condition existed there and could make a fragment
assume the position (and even geometry) of a previously moved/rotated one.
Some labels in the enhanced fileselection code were not available for
translation (Radek Liboska). Spline curves could not be 'unmarked' by the
Unmark_all() function. Loading a template now removes all previously active
markers (again). Adapted templates and examples to the changed double bond
drawing scheme, renamed some of the examples that were previously just
example#. Adapted ring drawing shortcut to the changed double bond drawing
scheme (Michael Banck).
Rescaling a molecule now also scales its labels. Downscaling beyond
zero size (causing strange inversions) is no longer possible. Updated
master .pot file for translations. Corrected label size setting in
molecules read from templates (which was not yet adapted to the new
fontsize scheme). Changed label printing in the xfig-based output
modes once again to support the recent changes to the font and zoom
code. Added wedge/bond joining to the SVG export mode. Renamed the
Orbitals template menu to Symbols and added plus, minus and
a rearrangement arrow to it. Added a note about building chemtool on
systems that do not allow name clashes with library functions to the
INSTALL document (CYGWIN apparently does not let us use our own
gtkmenu and gtkfileselection - ultimately, configure should test this).
Added two new bond types, a triple bond with all three lines equal,
and a quadruple bond. Fixed bad nesting of loops in svg export that
led to duplication of lines instead of the intended wedge join of a27.
Tweaked subscript positioning in fig-based output some more, implemented
bond pruning at label positions.
ct16a29.tgz (14.4.03, release candidate for 1.6)
Added a portability fix for systems like GNU Hurd that have neither
PATH_MAX nor MAXPATHLEN (Michael Banck). Suppressed the ugly markers
that decorated previously selected items in the fontsize menu (Michael
Banck). Saving via the Ctrl-S shortcut now produces a feedback message
in the status line (Michael Banck). Saving via the shortcut function
did not work if the drawing contained only curve objects. Changed
export functions to use a fixed fontheight conversion table, which
should resolve label positioning problems seen on at least one system
with a non-standard Helvetica screen font. Reduced the amount of bond
pruning around labels. Improved the positioning of right-justified
labels by using individual character widths instead of average values
in calculation of text length. Corrected horizontal placement of
italic characters fig and fig-based export modes.
chemtool-1.6.tar.gz (7.7.03, release 1.6)
Added a 'configure' option to select between using our menu and
fileselection functions and the stock GTK+-1.2 ones (set to use our
own by default, unless on AIX or CYGWIN, where overloading of library
functions is not possible). Updated the INSTALL document accordingly.
Removed most of the obsolete cht versions from src-cht and fixed the
conditional in the main Makefile that was still looking for an older
version of the sources. Updated the manual page. Added an overview of
the changes from the last stable version. Added tooltip for font
selection button. Corrected helptext section on semiautomatic ring
drawing, which was still refering to function keys. Made several
messages and items available for translation. Updated German
translation. Updated Polish translation (Nikodem Kuznik). Updated
Czech translation (Radek Liboska). Fixed bug that caused heterocycle
templates to be inserted with the 'decoration' flag set (and hence
ignored in subsequent m.w. calculations) (Radek Liboska). Changed
babel identification to take the recent change in usage message
behaviour into account (needs -H for mode list in >= 1.100.1).
Corrected GTK initialization for Russian locale (Yuri Sedunov).
Suppressed display of empty tooltip boxes for empty templates.