11.1.2 new bond types - wedge and dashed wedge 21.1.3 wedge and dashed wedge supported in xfig and latex export (oops) 3 sub- and superscripted text drawn in smaller font 4 sub- and superscripting preserved in standard xfig export 5 postscript export mode added (relies on fig2dev) 6 load dialog added using Robert McMullens ListTree widget 7 Added a new example, the antibiotic tetracycline 81.1.4 Simple 'Add fragment' functionality added 91.1.5 updated README file 10 improved dialog boxes 11 text may now contain spaces (encoded as backslashes) 121.1.6 'Added' fragments can be flipped horizontally and/or vertically 131.1.7 Added symbol mode, use '@' in text to invoke it for a character 141.1.8 Added 'New' button to clear canvas. 15 Added bond types 7 - 'wiggly' bond for uncertain stereochemistry, 16 8 - half arrow (use two of appropriate lengths for equilibrium 17 reactions) and 9 - normal (reaction) arrow. Changed picking code to 18 always return nearest object. 19------------ 20gtk118 Version 1.1.8 with new GUI based on GTK toolkit 21 Added 'Rotate' and 'Copy' functions for marked objects, 22 Moved 'Flip H' and 'Flip V' from 'Add' dialog to general functions 23 Improved marking method to allow dragging marked objects across 24 other geometry 25------------ 261.1.9 Button 2 in 'Bond type' mode reverses bond direction (e.g. for wedges) 27 Centered double bond is now available at all angles 28 Wide line for raised single bond (might need this for double as well?) 29 Added example7, anabsinthin 30 Correct initialization of drawing area, interconnection of 'radio 31 buttons'. 32 Fixed exporting of labels to xfig (right-justified labels had text 33 backwards). 34 Collect labels with special formatting (that are exported as individual 35 characters) into XFig 'compound objects' for easier editing. 36------------- 371.2a Renamed function round to round_coord to avoid name clash with glibc 38 function. Cleaned up some code that provoked gcc warnings. 39 Fixed gtk pointer chaos that barely worked on Linux libc5 and crashed 40 on glibc. Canvas pixmap is now kept and cleared instead of recreated. 41 File and Export Windows are now modal, Add button is greyed until a 42 mark is set on the canvas. 43 Marked fragments are now drawn in blue. 441.2a2 Improved font size and line width in xfig export 45 (patch by Radek Liboska) 46 Corrected positioning of sub/superscripts and handling of 47 right-justified text in xfig export 48 Increased width of 'wide' line from 4 to 6 units 49 Treat command line parameter as name of file to load 501.2a3 Added pop-up message window for I/O operations (and fixed calls to 51 I/O functions to always check the return value). Added check for 52 "Chemtool Version" string in file header in load_mol and made 53 version number mismatch non-fatal. 54 Added redraw to make marked fragment immediately change color. 55 Added experimental undo stack based on Matt Kimball's libundo 56 library (set -DLIBUNDO in the Makefile to activate) - snapshots 57 are saved with each 'mark' operation and may be recalled after 58 a 'move' or 'rotate' by clicking the right mouse button. 59 Restored yes/no dialog) for Load/Clear/Quit with unsaved changes. 60 Restored xbm export function - though currently with reversed 61 colors (???). 62 Corrected label display - more whitespace around labels, vertical 63 alignment of right-justified text was incorrect after subscript. 641.2a4 Fixed crashes caused by long message texts. 65 Worked around pixmap inversion problem (by inverting the picture 66 before exporting). Tried to make sure that the export pop-up does 67 not leave traces in the xbm, set busy cursor for xbm export. 68 Started commenting functions, removed dead code, formatted the 69 sources with GNU indent. 701.2a5 Corrected spelling of Radek's name in ChangeLog. Changed XFIG (and PS) 71 page format to European A4, fixed positioning of right-justified text 72 with special characters (patch by Radek Liboska). 73 Added bond type 11, circle (first point sets center, second radius). 74 Increased drawing area size, added scrollbars. 75 Added one more zoom step to either side. Improved arrowhead 76 proportions. Added examples tcdd.cht and claisen.cht 771.2a6 Corrected scale of exported image, positioning of centered text and 78 (dis-)appearance of vertical bonds near centered labels in XFig 79 and Postscript export modes. Improved calculation of compound boxes 80 around specially formatted labels in XFig mode. Added Del button 81 to delete the marked fragment (user needs to klick in the marked 82 area to confirm). Rewrote part of the export code for specially 83 formatted labels. Sub/superscript position quality should be less 84 dependent on drawing scale now. 851.2a7 Changed some line widths in export modes, modified arrowheads again, 86 increased displacement and font size for superscript plus and minus 87 signs. In text mode, mouse button 2 (middle) loads a label from the 88 cursor position into the text entry box. Fixed claisen.cht (which 89 had an arrow hidden in one bond) and added a new example, amp.cht 90 (adenosine monophosphate, provided by Radek Liboska). 911.2a8 Updated Imakefile. Made fragment created by Copy function appear 92 slightly offset from the original. Added redraw after a Delete. 93 Added bond type 12, a dotted line. Added 'created by Chemtool 1.2' 94 comment to XFig file header. Changed xbm export to always switch 95 to zoom scale 1, as this appears to reduce the risk of a fatal 96 Xlib error. Added several new molecule files provided by Radek 97 Liboska (adamantane,cyclohexane,various nucleotides), moved all 98 examples to subdirectory 'examples'. 991.2a9 Changed suffix of (encapsulated) postscript output files to .eps 100 and fixed reporting of error codes in all export functions. Updated 101 README file. Unless something serious comes up, this version will be 102 released as 1.2. 1031.2a10 Allow popups to be closed via the window manager without making the 104 corresponding menu unavailable or even crashing chemtool. Corrected focus passing between submenus in the file dialog. Added sanity checks 105 for >0 atoms in save and delete functions. Increased offset of copied 106 fragment. 1071.2 Re-release of 1.2a10 108---------------------------------------------------------------------------- 1091.3a1 Fixed and restored XBM export. Added a (almost empty) template menu 110 (the beginnings of which were already hidden in 1.2a8). Fixed kerning 111 of mixed sub- and superscripts (as in SO_4^2^-). Changed allocation of 112 initial drawing area, calculate actual size before saving. 1131.3a2 Added option menu for default bond type , added label support to 114 template function 1151.3a3 Reduced preallocated drawing area to 'windowsize+100', as the increase 116 in 1.3a1 (which used window+1000) caused a massive slowdown at startup. 117 Freed unneeded pixmaps in the button setup code. 118 Fragment rotation code now stores the initial coordinates and uses them 119 as basis for the new positions - the previous, incremental calculation 120 was severely plagued by accumulation of errors. 1211.3a4 Changed bond option menu to use small icons instead of longer and less 122 clear text labels. Removed check for 'cursor inside marked region' in 123 'Move' mode to allow smooth dragging. Started populating the O and N 124 heterocycle panels of the template menu. Fixed a duplicate bond in the 125 tcdd example, and removed those examples that have become templates. 1261.3a5 Added shortcut for some labels - pressing c,n,o,s,p,r,i,h,d or b 127 inserts the corresponding centered element symbol at the last 128 drawing position, 'l','1','2','3' insert the left justified labels 129 'Cl','CH','CH_2','CH_3'. Fixed a GC leak in export_bitmap. 1301.3a6 Moved the nucleoside examples to the template system. Made marker 131 position default to last drawing position, so that the 'Add' function 132 is now always active. Beginnings of internationalization (.mo file 133 for German locale added). Fixed naphthalene template, added dicyclo- 134 pentadiene. Changed Add_atom to automatically convert blanks in label 135 input to backslashes for storage. Prepared a few drawings for later 136 inclusion in the template system (camphor,pteridine,caffeine,glucose, 137 fructose,mannose,galactose,neuraminic acid, spiro[4.5]decane). 1381.3a7 Template cleanup: porphine moved to heterocycle panel, spirodecane 139 added in its place. Glc,Fru,Man,Gal transfered to carbohydrate 140 templates, caffeine to heterocycles. Czech translation (by Radek 141 Liboska) added. Improved bounding box coordinates for xfig compound 142 object (used for sub/superscripted labels) Changed export functions 143 to remove the intermediate '.f2l' files. Changed orientation in xfig 144 header to Portrait. Adapted xfig (and xfig-based) export modes to 145 the new XFig default depth of 100. Changed depth of xfig text (labels) 146 to 90 and added filled white polygons at depth 95 to hide overlapping 147 line segments (experimental, used only for sub/superscripted text at 148 the moment). Reset default filename to 'unnamed' when the current 149 molecule is deleted. 1501.3a8 Changed buttons mark/move/rotate/flip/delete/copy from text to icon 151 to reclaim space for the text entry box (icons created by Radek 152 Liboska). Added white polygon to clear area under normal text as well. 1531.3a9 Added program icon. Added an interface for Radek Liboskas standalone 154 program CHT, which calculates sum formula and molecular weight from 155 a chemtool sketch. Corrected example drawing of brevetoxin. 1561.3a10 Really reset mark flag when nothing was within the marker box. 157 Allow saving only the marked region (formula weight computation only). 158 Helper program CHT now parses those labels that are not in its 159 internal table of common substituents; exact mass is now returned 160 automatically.Added status line with message history. 1611.3a11 Internationalization support made optional (define DISABLE_NLS in 162 the Imakefile if you do not want it) to allow compiling on systems 163 without GNU-style locale support again. 164 Improved ring size and position in the benzene and cyclopentadiene 165 templates (Michael Banck). Reset all marks before loading a template. 166 If the template menu is already open, pressing the Template button now 167 brings it to the front. Added templates (inden,biphenyl), removed the 168 ugly question mark placeholders. 169 Changed handling of windowmanager events, so that using the window 170 decorations' CLOSE button brings up the Yes/No dialog while the 171 chemtool window is still alive. 172 Changes in helper program CHT (cht011a): now recognizes Ac in complex 173 substituents; correctly handles aromatic 'ring' in formula input; 174 checks input file for identifier "Chemtool"; reads number of bonds 175 from "bonds" line (to handle label-only files gracefully); exits on 176 unattached labels instead of silently miscalculating formula and 177 mass. Subsequently updated to Radek Liboskas current version 0.19, 178 which already includes equivalent changes. Added list of abbreviations 179 supported by cht. 1801.3a12 Reset all marks before 'adding' a sketch. Adding a label on top of an 181 existing one now replaces the old label as it should. Added a function 182 for rescaling objects (useful for drawing reagents above the reaction 183 arrow - but labels are not rescaled yet). Added linetype 13, a single 184 bond with opaque background (for crossing bonds - see the bicyclooctane 185 template). Updated the German translation. 186 This - plus or minus some templates - is my release candidate for 1.3. 1871.3a13 Dropped the internal icon, as it was only causing trouble, especially 188 with KDE. Most window managers allow specification of an external icon 189 anyway (added chemtool.xpm for this purpose). Moved 'delete fragment' 190 button to the end of the button row. Updated Czech translation by 191 Radek Liboska. Added linetype 13 to the helper program CHT, made it 192 accept any Chemtool 1.x file, not only version 1.2. Updated the 193 'documentation', i.e. the README file, split out an INSTALL file. Set 194 version number in chemtool files to 1.3. Fixed bug that left a newly 195 'added' structure active but unable to move. Rewrote positioning 196 logic for subscripts and right-justified text in export modes again. 197 Changed screen display of molecule from 'fixed' fonts to helvetica 198 as used in the export modes - previously, labels that appeared fine 199 on screen could overlap in the final (postscript) output. Fixed 200 'mannose' template that showed exactly this. Added formatting option 201 '|' for slanted characters (as in iPr,tBu). 2021.3a14 Fixed label shortcuts for CH_2 and CH_3 that could crash chemtool 203 (buffer overrun). Fixed scaling in export function , which had been 204 applied to labels only. Improved label size at smallest scale. Added 205 correction factor for sub/superscript after certain characters (the joys 206 of proportionally-spaced fonts :-( ). Handled reopening of template menu 207 after a close via the window manager. Updated 'About' menu (mention Radek 208 Liboska as developer, add the tu-darmstadt webpage). 2091.3a15 Changed canvas bitmap allocation to avoid uncovering garbled portions 210 when the sliders are used. Fixed fragment deletion code (deletion of 211 the marked fragment and redisplay of the modified drawing are now 212 performed immediately). This hopefully fixes the crashes some people 213 have been seeing with this function. 2141.3 Added Check for no (or no selected) atoms before trying to delete a 215 fragment, fixed bug that could deletion of a fragment to fail. 216 Changed functions for horizontal and vertical flip to transform the 217 atom(s) directly bonded to the marked fragment as well. Added current 218 filename (if any) to window title. Use xfig's own arrow type in export 219 of regular arrows (Michael Banck). 220 Some code cleanup: removed dead code, fixed unnecessary parameter 221 passing between functions, tidied formatting with GNU indent. Removed 222 Imakefile and provided regular Makefile (the build process relies on 223 gtk-config, not xmkmf, since 1.2), added install targets for the 224 localization files and manpage. Updated cht to version 1.3. 2251.3.1 Updated src-cht to version 1.7, which now also outputs composition 226 in mass percentages and flags duplicate bonds with an exclamation mark. 227 Fixed string buffer overflow problem with returned values from cht. 228 Fixed some example files that contained duplicate bonds. 229 Added appropriate window titles for the file selection dialogues. Fixed 230 unit flag in xfig output (was 'Centimeters', should be 'Metric'). 231 In eps export mode, fig2dev is now called with the '-L eps' option of 232 fig2dev-3.2.3 first, and if this fails for some reason, the old-style 233 '-Lps' option is tried (which would create non-encapsulated postscript 234 with more recent versions of fig2dev). 235 Modified the new Makefile (which was always recompiling all sources 236 even if only one was changed). Reduced height of chemtool window by 237 20 pixels to keep the status line (with cht output) visible on 800x600 238 (laptop) screens. Modified calculation of xfig bounding box for 239 labels - it was creating degenerate boxes (both x coordinates equal) 240 for labels like H^+ which sometimes confused xfig. 241 Chemtool now uses different cursor glyphs for the drawing and editing 242 modes (Radek Liboska). An 'Add' or a failed 'Load' no longer changes 243 the default filename. 'Delete marked fragment' is now performed by 244 clicking the right button in 'mark' mode, the corresponding menu button 245 is replaced by a function for cleaning up formula drawings (which 246 removes duplicate bonds and fuses closes contacts) . Chemtool no 247 longer draws a line from the top left corner to the first point set, 248 and does not show the 'unsaved changes' dialog when there are no bonds 249 or labels. Fixed button bar to correctly toggle from rotate to scale 250 mode. Added callback to suppress insertion of labels via the hotkey 251 function when the user wants to type into the text entry box. Fixed 252 Latex export to not use whiteout boxes (which were obscuring the labels 253 they were supposed to create space for), removed erroneous reference 254 to the temporary .f2l file in the popup message. Drawing size (but not 255 font size) was reversed in the two smallest zoom scales. Did another 256 round of label positioning and kerning fixes in both screen and export 257 modes. Updated alternate URL in documentation and About dialog, as the 258 tu-darmstadt system is about to be shutdown. Added russian localisation 259 (Michael Shigorin, based on 1.3). Updated czech localisation (Radek 260 Liboska). 261------- 262 New development branch based on 1.3: 2631.4.a1 Most of the bug fixes from 1.3.1 except those related to label kerning 264 and export functions. Added two new bond types, the 'left' and 'right' 265 versions of a partial (dashed) double bond, to chemtool and cht. 266 In 'bondtype' mode, the type of the selected bond is now changed to the 267 current default type instead of the next type in the cyclic list. 268 Replaced the upper button row of the GUI by a more standard menu bar 269 (Michael Bancks). 2701.4.a2 Added the kerning and export fixes from 1.3.1. Added #ifdefs to simplify 271 switching between the 'old' and 'new' GUI style. Made copying a marked 272 object automatically invoke 'Move' mode instead of re-entering 'Mark' 273 mode to prevent accidental placement of the copy on top of other 274 geometry. Added function to draw square brackets around the marked 275 part of a structure (currently treated as 2x3 single bonds internally). 276 Added function to draw curves by specifying four control points - the 277 curve runs from the first to the last point and is bounded by the 278 other two (cubic bezier curve). Depending on the current bondtype at 279 the time of drawing, the curve can be dotted, have a half or full 280 arrowhead (bondtypes 12,8 or 9), be used to define a solid black 281 object (e.g. orbital lobes, 'wide' linetype) or a simple line (all 282 other bondtypes). This new object type is stored in a new section 283 'splines' in chemtool files, and converted to a xfig 'polyline' on 284 export. In this version, it can only be added, marked and deleted - 285 copying, moving or changing is not yet implemented. 2861.4.a3 Fixed erratic text placement when textmode was already active at the 287 time the text entry box was activated. Fixed broken dialog messages 288 for Latex output. (Both bugs introduced in 1.3.1-pre2). 289 Fixed miscalculation of spline curve, implemented copying, moving, 290 and mirroring of curves, moving a curves control points and changing 291 its type. Pressing the right mouse button in curve mode cancels the 292 incomplete curve now. Added correct 'radio button' behaviour for the 293 'curve' button. Corrected fill color and shape of curve arrowheads. 294 Replaced the simple export popup with an extended file selection 295 dialog that provides choice of filetype and automatically appends 296 appropriate suffixes. Changed xbm export to dump only the relevant 297 part of the drawing area if nothing is marked. 298 Unified the export dialog handling, clarified filetypes (LaTex 299 export was named XFig/Latex although it has no separate xfig 300 content, XBM was erroneously described as X pixmap instead of 301 bitmap on its tooltip). 3021.4.a4 Exporting to eps only claimed to use filename.eps, but actually 303 reused the name of the drawing file, potentially overwriting it. 304 Fill style for curves was not reset correctly on export, leading 305 to strange effects on subsequent curves. Curve control points were 306 not hidden in xbm output. 'Half arrow' curves had an extraneous 307 arc protruding behind the arrowhead. Added preliminary support for 308 'curve' objects to template system (maximum of 2 per template), 309 added 'orbital' page to template system (currently sporting one p 310 orbital only). 3111.4.a5 Implemented rotating and rescaling of spline curve objects. 312 Limited size of arrowhead on curved arrows, added code to ensure 313 that half arrowheads appear on the correct side of curved arrows. 314 Added shortcut for 'curved semiarrows' to bondtype menu. (This 315 creates a spline with two coinciding control points slightly offset 316 from the midpoint of the line, so converting existing bonds to or 317 from this type is not possible.) 318 Control points are now only shown in 'move' mode, they are larger 319 than before and displayed for 'circle' bonds as well. 320 Moving the center of a circle now moves that circle without resizing 321 it. 3221.4.a6 Added special treatment of wedges and greek characters in Latex export 323 mode to work around fig2devs apparent inability to translate filled 324 polygons and the X11 symbol font into pictex commands. Changed wavy 325 bond to change chirality depending on direction, so that they can be 326 linked to form longer patterns. Some documentation updates. 3271.4.a7 Added french localisation (by Jerome Pansanel, based on 1.3). Added 328 arbitrary scaling (via the -m option of fig2dev) of eps and pictex 329 output (suggested by Jerome Kieffer). Added a few examples (Viagra 330 and some antibiotics) provided by Michael Banck. 3311.4.a8 Added manual page for cht. Added menu code update by Michael Banck, 332 most menu options have Ctrl-(key) shortcuts now. Added experimental 333 (and not yet fully functional) automatic ring generation using Ctrl-3 334 to Ctrl-9 for 3- to 9-membered, Ctrl-0 to Ctrl-2 for 10-, 11-, 335 12-membered rings. Used fewer lines for the pictex representation of 336 wedges to avoid exceeding Latex' memory capacity even with small 337 molecules. 3381.4.a9 Backed out the pictex wedge changes of a8, as the real solution is to 339 increase the value of extra_mem_bot in texmf.cnf (without it, Latex 340 will fail when there are even just a few simple drawings, with or 341 without wedges, in a file. This is a known feature of PicTeX). 342 Fixed output of regular characters in pictex - it was using italics 343 because of leftover $ characters from the earlier implementation. 344 Changed filenames of the examples added in a7 to reflect their contents. 345 Successful exporting is now reported in the status bar instead of the 346 popup window. Updated README and chemtool manpage. Rewrote ring 347 generating code (Michael Banck) so that rings are correctly attached 348 now. Ring drawing is initiated by holding the control key while drawing 349 a bond that serves as the first segment of the ring. Ring size is 350 governed by the current drawing mode (5, 6 or 8 sides), but it can 351 be preset on a per-ring basis by pressing Ctrl-3 to Ctrl-9 for 3 to 352 9 sides, Ctrl-0 to Ctrl2 for 10, 11 and 12-membered rings. Rings are 353 always drawn in clockwise direction based on the direction of the 354 initial bond, they are marked automatically and can be erased by 355 pressing Ctrl-mouse3 immediately after drawing. 3561.4.a10 Fixed bug that prevented the template menu from working in alpha9. 357 Fixed passing of pointers and added type casts to improve portability 358 on platforms with different default sizes of int and pointer. 359 Updated Makefiles (add declaration of $MAKE for building cht on systems 360 where the default make program is not GNU make; install cht manpage; 361 building cht does not require the math library). Prepared menu items 362 for localisation, updated german translation. 3631.4.a11 Tried a different approach to solve the portability issues in main.c. 364 Dashed wedges are now drawn without the final, widest line (M.Banck), 365 filled wedges adapt to the width of an adjacent wide line. 366 Corrected rendering of arrowheads in Pictex output. 367 Added polish translation (Nikodem Kuznik). Added several drawings 368 of antibiotics to the examples and several chiral auxiliaries to 369 the templates (files provided by M.Banck), moved some of the simple 370 examples to the templates. Added '-i / --interpret' flag to cht to 371 allow using it from the command line (e.g. cht -i C_6H_5OH). Added 372 a rough sketch of the citrate cycle to the examples. Added a Makefile 373 for compiling on 64bit SGI systems (provided by Michiel Kreutzer). 3741.4.a12 Fixed zoom bug introduced with alpha11 (zoom out did not work). 375 Fixed calculation of 'adaptive' wedge width in the export functions. 376 Added key sequence '@*' for the 'dot' symbol character (which is 377 not available with regular keyboard mappings), correspondingly 378 added '*' to the shortcuts available in drawing mode. (For radicals, 379 and to mark the atom positions in cumulenes, ketenes, etc.) 380 Added a new bond type, 'striped' single bond for diastereomers. 381 Drawing a ring with the 'circle' bond type now creates a polygon 382 with an aromatic ring inside, instead of a sequence of overlapping 383 circles. Updated Czech translations. 3841.4.a13 Made cht work again (the new interactive mode had an uninitialized 385 variable that prevented normal operation). Fixed a small spelling 386 error in the Czech translation. Added Michiel Kreutzers Makefile 387 for older 32bit SGI workstations. Holding the control button while 388 dragging the mouse in scale mode now does anisotropic scaling for 389 '3d' effects. 3901.4.a14 Fixed locale declarations to make language support work again with 391 new glibc. Moved declaration of locale path into the Makefile. 392 Transformed an ugly bunch of 'if' clauses into a switch() for 393 (slightly) faster screen drawing. Modified 'adaptive wedge' 394 drawing code to draw a regular wedge when the angle between the wedge 395 and the wide bond would make the wedge collapse into a thin line. 396 Fixed a typo in the german locale file, added the trivial updates 397 to the french localisation. Cleaned up the template menu code to 398 fix the problem with missing template icons reported for RedHat 7.1. 399 Added the updated polish translation provided by Nikodem Kuznik. 400 Updated the rpm spec file in preparation for the 1.4 release. 4011.4 Added updated russian translation (Michael Shigorin), updated the 402 french translation (my french is horrible). Updated the usage 403 instructions in the README and manual page.Changed rotation and 404 inversion functions to act on the center of the marked fragment 405 (Michael Banck). Reduced sensitivity of the scaling function. 406 Fixed a potential memory overflow problem in move/rotate/scale. 407----------- 4081.5a1 Added function for importing MDL molfiles (Michael Banck). 409 Revived 'undo' functionality based on Matt Kimballs 'libundo' 410 project (his web page seems to have vanished, as have all other 411 traces of this project, but as it was GPL'ed, we could distribute 412 it with chemtool). Added (untested) export code for the Scalable 413 Vector Graphics (SVG) file format. 4141.5a2 Allowed adding of individual atoms to a marked object by selecting 415 them with Ctrl+mouse. Changed rotation and inversion functions to 416 use the center of the fragment as reference. Removed check for MDL 417 version string in molfile import, as it is missing from BABEL- 418 generated files. (Michael Banck) 419 Tested (using W3C's Amaya) and fixed the SVG export. 4201.5a3 Fixed MDL molfile parsing, which was sometimes reading incomplete lines. 421 (Michael Banck). Fixed potential memory overflow problem in move,rotate 422 and scale modes (converted a fixed size temporary array to malloc'd storage) 423 and fixed the center calculation in rotate and invert modes (both backports 424 from 1.4 final). Added functions for drawing various boxes (Radek Liboska) 425 and changed the bracket button to display a corresponding popup menu. 4261.5a4 Added curly braces and improved round braces, fixed xfig/latex/ps 427 export of curves (which was broken by a runaway search-and-replace 428 in 1.5a2) (Radek Liboska). Added PDB file import (simple distance- 429 based bonding and doing z-axis projection). 4301.5a5 Corrected one of the carbohydrate templates. Changed default extension 431 of SVG files to .xml (mainly for croczilla, the svg-enabled mozilla). 432 Added function for printing the current drawing (Radek Liboska), 433 added printer configuration dialog. 4341.5a6 Holding the control key while rotating a fragment now snaps to the 435 nearest angle position of the current draw mode (Michael Banck). 436 Added print scale to the printer configuration panel. Added shortcuts 437 for zoom (Radek Liboska). Made a few small conformance fixes in the 438 SVG export. PDB import now interprets CONECT records if present. 439 Added a few carbohydrate templates (fucose,xylose,neuraminic acid). 440 The printer configuration and the current working directory can now 441 be saved in a ~/.chemtoolrc file that is read on startup. 4421.5a7 Fixed filename problem that prevented printing (already broken in 1.5a5, 443 though not in Radeks original patch). Activated and corrected the 444 code that was supposed to configure the working directory name in 445 alpha6. 4461.5a8 Fixed 180 degrees rollover bug in fragment rotation (Michael Banck). 447 Added brazilian portuguese localisation provided by Flavio Matsumoto 448 (based on 1.4.1). Expanded template system to allow up to 15 labels 449 per template (from 10). Added a few disaccharide templates (sucrose, 450 maltose,lactose). Fixed position of whiteout box for plain labels in 451 xfig-based export modes. Added tooltips to template system. 4521.5a9 Corrected and completed the template tooltips. Fixed bug in whiteout 453 box positioning - was using uninitalized variable for centered labels 454 since 1.5a8. Updated brazilian portuguese translations to 1.5a8 455 (Flavio Matsumoto). Replaced the braindead GTK file dialogs with 456 Michael Torrie's 'advanced gtk fileselection' code, which allows 457 consistent handling of extension masks and directory traversal. 458 Added default path and file extension options to Setup dialog and 459 .chemtoolrc file. Added check for fig2dev version number to handle 460 the recent change in postscript option names. Rewrote export functions 461 to call fig2dev through pipes instead of using unsafe temporary files. 462 Changed the automatic ring generator to draw six-membered rings with 463 a correct set of double bonds when one of the double bond drawing modes 464 is in use, and improved the accurracy of the ring coordinates (Michael 465 Banck). Rearranged includes (ctype.h first) to work around reported 466 compile problem on Mac OS-X. 4671.5a10 Fixed reference counting of bonds,labels and curves in undo/redo. 468 Added the code from Matt Kimballs original libundo library (compacted 469 into undo.c/undo.h), providing multilevel ('unlimited') undo/redo 470 capability. 4711.5a11 Fixed crashes on export (caused by double close of output stream), 472 reset undo history and drawing position on File->New. 4731.5a12 File->New was a sure way to crash 1.5a11,should be fixed now. 474 Improved reference counting in undo/redo, the undo stack should 475 now survive both File->New and repeated undo'ing all the way to 476 an empty canvas. Added hooks for more detailed error reporting in 477 the xfig export. Added default shortcuts for Undo and Redo, renamed 478 'Setup Printer' menuitem to 'Setup Defaults'. Fixed typo that prevented 479 building the old, menuless GUI (which probably noone needs anymore). 480 Added signal handler to try and save the current drawing in case of 481 a crash. 4821.5a13 Fixed spurious error messages in file exports ( got mixed up with 483 success and failure codes). Fixed crash in XBM export when no region 484 was selected and there were 'active' fragments from an Add, Template, 485 or ringdrawing operation present. Calculation of image width now takes 486 length and direction of labels into account. Added configure script 487 (Michael Banck). Improved kerning of combined sub- and superscripts 488 in the middle of a label, changed cht call to use mkstemp for 489 temporary file (Masao Kawamura). Added MDL molfile export (Michael 490 Banck). 4911.5a14 Fixes for stupid bugs in a13 (could cause crashes on Save on some 492 machines; would still complain on export although files exported 493 correctly). 4941.5a15 Improved calculation of label length in SVG and XBM image sizing. 495 Prevented negative image coordinates in XBM export that could cause 496 random patterns to appear at the edges of the image. Added warning 497 dialog for the case where saving or exporting would overwrite an 498 existing file. Added support for drawing bonds of 1/3 and 1/2 499 standard length. 5001.5a16 Added preview window to file selection dialog. Fixed a few cases 501 where the input file was not properly closed when reading from it 502 returned an error. Fixed spurious error message after successful 503 import of MDL molfiles. 5041.5a17 Activated preview in 'Add' mode. Fixed bug in Torrie's gtkfilesel 505 code that caused a gtk error message when there was no previous 506 filename to display during directory traversal. Added preliminary 507 3d rotation support to PDB import code (dropping CONECT reading for 508 now - on the other hand the code should be usable for MOL as well). 509 Added options for PDB label handling (all/non H/unnumbered) on import. 510 Trimmed extension from the names of imported files on loading to 511 prevent accidental overwriting of the original by the 512 chemtool-generated file. Reset status message on 'File/New'. 5131.5a18 Removed spurios preview area and PDB mode selectors from SaveAs 514 dialog. Added Latex-like brace syntax for multi-character sub- 515 and superscripts (one can now write C_{10}H_{22} instead of 516 C_1_0H_2_2). Added support for two-digit subscripts in either notation 517 to cht. 5181.5a19 Added 3d rotation support to MDL molfile import, and restored 519 interpretation of CONECT records in PDB import. Added sanity check 520 of file header to MDL import. 5211.5a20 Default file path could get initialized to meaningless data when 522 a .chemtoolrc was present but had an empty datadir directive. 523 Exchanged x and y rotation axes in 3d import, as the previous 524 arrangement was counter-intuitive. Disabled all editing functions 525 except zooming during 3d import. Added filename masks for the 526 import dialogs - *.pdb,*.ent for PDB, *.mol,*.mdl for Molfile. 527 Modified gtkfilesel code to allow up to three suffix masks. 5281.5a21 Trying to load a chemtool file after importing some other file could 529 cause the program to crash in the file selection dialog if no default 530 filename mask was defined. Changed scaling of imported molfiles to 531 take bond distances in the file into account. 5321.5a22 Moved initial drawing position to make templates and labels appear 533 near the center of the visible canvas instead of in the top left 534 corner. Used pixmaps instead of labels for the navigation buttons 535 in the file dialog. Updated Makefile.in so that cht-1.9 gets built. 5361.5a23 Added sanity check to PDB reader to prevent endless loop on bad 537 input. Updated .spec file and czech locale (Radek Liboska). 538 Removed some dead code, reformatted sources with indent. Replaced 539 pixmaps in file dialog with nicer-looking ones (Michael Banck). 540 Updated german locale, recreated the localisation template and 541 merged it into the existing fr,pl,pt_BR and ru locale files. 542 Updated the README file. 5431.5a24 Added labelling shortcuts to draw 'electron pairs' using the numeric 544 keypad (if one imagines the atom symbol sitting on the '5' key, the 545 surrounding keys represent the possible locations of 'electron pair' 546 lines). Fixed SaveAs function (which could invalidate the canvas 547 pixmap). Reconnected Set_Textmode() function to force textmode on 548 activation of the label entry widget only if necessary. First point 549 no longer snaps to closest endpoint when drawing half arrows - this 550 makes drawing equilibrium arrows easier again. One can now use the 551 Ctrl and Shift keys in Move mode to restrict movement to the 552 horizontal and vertical direction respectively. 5531.5a25 Adjusted position of 'electron pairs' a little, added adjustment 554 for left and right side of two-character element symbols. Decreased 555 size of 'whitespace' under labels in the screen display a little. 556 Added special flag to bonds structure to distinguish regular bonds 557 from decorative elements such as electron pairs, brackets and boxes 558 (for molecular weight calculation and mdl molfile export). Changed 559 helper program CHT accordingly, and made it ignore the 'half arrow' 560 bondtype as well. Updated the README file. 5611.5a26 Corrected file preview (badly applied last-minute patch in the 562 already uploaded 1.5a25 - if one ignored the compiler warning, the 563 resulting binary would crash on loading a preview). Improved 564 preview window creation to solve some rare crashes. Fixed premature 565 setting of 'modified' flag when nothing was changed in a drawing. 566 Changed 'save' function to write the newly introduced 'decoration' 567 flag only when it is set (as all previous versions are confused by 568 it) and updated the version number in the header. Modified arrow 569 drawing routines to shift the arrowhead when it would be obscured 570 by a label (for drawing N-oxides and boron compouns). Modified CHT 571 to ignore arrows that are not part of a molecule. 5721.5a27 Corrected CONECT record interpretation in PDB import. Corrected 573 initial drawing of imported 3d structure and repositioning error 574 on confirmation of orientation. Fixed clipping of circle diameter 575 line by inscribed characters (necessary for correct xfig/eps output 576 when the circles are (ab)used as "balloons" for fragments.) Changed 577 tidying function to skip over circles. Changed arrow drawing to limit 578 arrowhead size for long arrows. Added bold text, using '#' as control 579 character. 5801.5 Updated spec file (Radek Liboska). Fix for 'stepwise rotation' mode 581 not working for counter-clockwise rotation (Michael Banck). Added a 582 program icon to the main window, and .cht mimetype definitions for 583 Gnome and KDE (Radek Liboska), and updated configure script and 584 Makefile.in to install them as needed. Fixed return code checking 585 for printing (was not recognizing failed attempts due to wrong print 586 command or queue name). Fixed off-by-one error in print status 587 message length that could cause memory corruption. 588 Updated Brazilian Portuguese translation (Flavio Matsumoto). Updated 589 Russian translation and added .sdf extension to molfile import 590 patterns (Michael Shigorin). Changed SVG filename extension back 591 to .svg, as this is more correct than .xml (and the .xml name turned 592 out to be necessary only as a workaround for a bug in Mozilla that 593 has been fixed in the meantime). Updated Polish translation (Nikodem 594 Kuznik). Made a few cosmetic changes in Makefile.in (Michael Banck). 595---------------------------------------------------------------------------- 5961.6a1 Added universal import mode based on BABEL (both Pat Walters' original 597 version and the recent OpenBabel effort) converting to MDL molfile in 598 a pipe. Began adding more elements to cht. 5991.6a2 Menu entry 'Import (Babel)' is now only greyed out, no longer omitted 600 if babel is not found on the system. Added exact masses for the elements 601 added to cht in 16a1 (Ca,Cd,Co,Cr,Cu,Fe,Mn,Ni), completed element list 602 for all stable maingroup elements (except noble gases) and the first 603 row of transition metals. Added greek Phi (@F) as alternative symbol 604 for Ph in cht. Updated the manpage for cht, and changed its Makefile.in 605 to use the new version 2.3 of the source file for building. 6061.6a3 Corrected typo that prevented import via the old babel-1.6. Fixed 607 molfile (or babel-based) import of molecules with more than 100 bonds. 608 Added dodecahedrane,pagodane and C70 (derived from the CSD database 609 entries) to the examples. 6101.6a4 Added partial support for EMF export (needs libEMF from sourceforge, 611 and configure --enable-emf). Spline curves (i.e. curved arrows, orbital 612 lobes and the like) are not yet exported, and text seems to be broken 613 at least when viewed with SO 5.2. Fixed file selection dialogs to hide the 614 babel-specific part only if it has actually been created (that is, when 615 babel is installed). Fixed PDB import that got broken by the new babel 616 code (it was falling through to babel mode). Improved SVG linewidths, 617 scaling and labeling (Radek Liboska). 6181.6a5 Fixed configure,configure.in and config.h.in to actually provide EMF 619 option. Modified image sizing and label positioning in EMF export. 6201.6a6 Corrected EMF frame size calculation and drawing of invisible box 621 around EMF image. Removed duplicate atom label from viagra example. 622 Added EMF export of spline objects (orbitals, curved arrows, etc.). 623 Updated French translation (Jerome Pansanel). Added DESTDIR build 624 option to Makefile.in and .desktop and .spec file for the Polish 625 Linux Distribution (in subdir ./pld for now) (Pawel Golaszewski). 6261.6a7 Added portability fixes to the undo code (*BSD and HPUX have MAP_ANON 627 but not MAP_ANONYMOUS, and insist on fd being -1 when mmaping memory) 628 (Nakata Maho). 629 Added optional display of a (passive) background grid for positioning. 630 Fixed output of greek characters in SVG export (glyph order differs 631 in UTF and in the X11 Symbol set used by chemtool). 6321.6a8 Prevented crash in babel-based import without valid input data, and 633 fixed a race condition that could cause chemtool to suggest 634 installation of babel although it had just found it. Added missing 635 typecast in undo.c to quieten compiler on some platforms. Fixed 636 Makefile.in for cht and removed a few unused functions from cht.c that 637 might cause portability problems (Christian Weisgerber). Added SVG 638 translation for the bullet symbol used for allenes or above-plane CH. 639 Updated TODO list based on suggestions received from Radek Liboska. 640 Cursor keys can now be used for pixel-precise drawing (and cursor 641 key in combination with Shift key moves cursor position by five pixels). 642 Changed gridsize to correspond to default bondlength,added hexagonal 643 grid. The cleanup function now rightens bonds that deviate from ideal 644 horizontal or vertical orientation by a single pixel - this is 645 sometimes not visible on screen, but very much visible when printed. 646 The print dialog and the XFig, LaTeX and EPS export options are 647 now greyed out if fig2dev is not found at startup. Added the beginnings 648 of color support (bonds and text can be black,red,green,blue,cyan, 649 magenta or yellow). The requirement to write the 'decoration' flag 650 in order to be able to write the color code behind it makes files 651 written with this version finally incompatible with 1.4 and earlier. 652 Fixed a race condition between mouse motion and buttonpress events 653 that could lead to transient garbage on the screen (Daniel Uppstroem). 654 Rubberband marker rectangle can now be drawn right-to left and 655 bottom-to-top as well (Daniel Uppstroem). 6561.6a9 Added another portability fix to the undo code - some systems, e.g. 657 pre-8 Solaris, have neither MAP_ANON nor MAP_ANONYMOUS, but use 658 /dev/zero instead (Fabio Rainone, by way of Thomas Volk). Fixed label 659 reading code in the file loading functions to account for new textcolor 660 field, incremented version number in the file header. Added SVG color 661 support. Added cursor key support in 'Move fragment' mode. 6621.6a10 The background grid can now be moved using Alt+Cursorkey. Spline curves 663 can now be drawn in color too. The pen now snaps to additional grid 664 positions at two and three times the standard bond length. Added a 665 brief help text to accompany the 'About' window in the 'Help' menu. 6661.6a11 Extended the hexagonal backdrop to cover the whole canvas again. 667 Removed unnecessary `radio button' boxes on the items in the bond type 668 selection menu. Created new row in main window for the text entry 669 widget. Corrected screen drawing of blanks in labels (apparently a 670 victim of cut-and-paste coding since at least v1.5). Added limited 671 support for an alternate text font (bold,italic or sub/superscript 672 are still drawn in Helvetica when this font is active). 673 Added font button for switching between the standard Helvetica font 674 and Times Roman (with the label of the text entry widget changing 675 accordingly). 6761.6a12 Replaced the stock gtkmenu code with an own version based on a patch 677 by Matt Kimball (found in the gtk-devel mailinglist archive on gtk.org) 678 which adds scrolling functionality to long optionmenues. This solves 679 the problem of the babel import types being partly inaccessible due 680 to the menu extending beyond the screen. 6811.6a13 Fixed gtk pixmap reference problem in the Add dialog. Revived code for 682 selection of single atoms, added marking of such selected atom with 683 a green rectangle. Attachment site can be marked before saving a 684 molecule or fragment, it then becomes the reference point for adding 685 this fragment to other molecules (previously, this had to be the first 686 atom in a file). Attachment sites are marked in the preview window by 687 a small x. 6881.6a14 Attachment site marker is now transformed (shifted, rotated or 689 rescaled) with the fragment it is attached to. Drawing using the 690 cursor keys is now controlled by the state of the shift key, i.e. one 691 no longer has to keep the mouse button pressed during key-based 692 cursor motion. Pressing Return commits a line, while in Move mode 693 it 'drops' (unmarks) the marked fragment. Added support for new 694 transfig version 3.2.4 (or current beta) that is able to generate 695 preview bitmaps in eps files directly. 6961.6a15 Updated rpm spec file. Added option to change the baselength of 697 bonds (normally 10.668 mm). Removed references to Thomas Volks 698 original website, which no longer exists. 6991.6a16 Corrected check for newest transfig/fig2dev. 700 Have new fig2dev generate monochrome TIFF previews inside the eps 701 file instead of color - those were just too big. (A simple 702 reaction scheme goes from 14kb eps to 60kb with b/w preview, and 703 to 3 megabytes with color. The ascii EPSI previews are not much 704 smaller than monochrome TIFF (55kb), and not as widely supported. 705 Offer EMF output via fig2dev if sufficiently new version is installed 706 (builtin EMF is still available as a compile-time option). 707 Fixed ugly string overflow bug introduced by the rewrite of the 708 default error message for formula weight calculation in alpha10 709 - this could cause crashes typically via the action sequence 'draw 710 something, select mark mode,calculate fw, select draw mode again'. 711 Thanks to Radek Liboska for alerting me to this problem. 7121.6a17 Reenabled moving of newly 'Add'ed molecules (broken in a13). 713 Improved rendering of 'Cl' in labels containing sub- or superscripts. 714 Made eps preview addition a configurable (runtime) option. Changed 715 title of configuration window, changed configuration menues to use 716 regular menuitems instead of ugly check_menu_item widgets. 717 Corrected width of white boxes under centered, non-sub/superscripted 718 labels in the xfig-based export modes. Drawing these boxes is now 719 an option (and switched off by default !). Corrected height and width 720 information on fig text objects. Shortened wedge bonds connected to 721 labels to remove the swallowtail effect that was sometimes visible 722 on oblique bonds. Made fig2dev version check more robust. Removed 723 a duplicate bond in the Indolizomycin example. 724 Made F1 help text and template tooltips available for translation, 725 added German translation of help text. 7261.6a18 Added bold and italic variants of the alternate (Times Roman) font 727 in the xfig-based export modes (Michael Banck). Fixed wrong xfig 728 font_flag setting that could lead to missing or clipped labels in 729 (e)ps export. Re-enabled deleting marked fragments by right-clicking, 730 modified atom picking code for insertion points to be more reliable. 731 Fixed "bondtype" button to update bond color as well as type. 7321.6a19 Smoothed wedge-single bond intersections (Michael Banck). Added 733 background color option for display and eps export. 7341.6a20 Changed preview mode to enforce a white background on labels, not 735 the current canvas color. Changed font handling to load all sizes 736 once on startup instead of always loading and unloading just the 737 set needed for the current zoom scale. Switched to scaled fonts at 738 17 and 20pt instead of using the default 18pt twice. Added fontsize 739 property to text - text at 8,10,12,14,17,20 and 24pt can now coexist 740 in a drawing. Increased allowed label length to 100 and fixed a bug 741 that could truncate labels to well below 80 characters on loading. 742 Fixed overflow in color code calculation that caused a white canvas 743 to turn into an almost black background on eps export in alpha19. 7441.6a21 Fixed nasty bug introduced in a20 (increase of label length constant 745 MAXCL was not reflected in ct1.h, so different parts of the program 746 had different ideas about the size of label data, causing crashes 747 in Undo/Redo or File->New). Changed label shortcut to use the 748 currently selected fontsize instead of the default for the current 749 zoom scale (Michael Banck). Reduced number of lines in dashed wedge 750 from 10 to 5 (Michael Banck). Modified dashed wedge and dotted line 751 to draw a variable number of items (lines / dots) at constant interval 752 instead of always drawing 10(5) equally spaced for lines of any 753 length. Added hint for bold text to the textbox tooltip message. 7541.6a22 Some objects (wedges,arrowheads,filled splines) were still exported 755 with black interior regardless of their color. Color information for 756 splines was read back but ignored on loading a file. The special 757 treatment of wedge-bond-joins introduced in a19 could produce 758 ugly results when the wide end of the wedge met two or more bonds. 759 Changed number of lines in dashed wedges back to 10 for default 760 length. Improved(?) text kerning in xfig-based print and export. 7611.6a23 Allowed changing the properties of a dashed bond (by fixing an "off 762 by one" error) (Radek Liboska). Fixed several bugs in SVG output 763 (incorrect viewBox, wrong string length in color definition, 764 missing fill attribute on text, syntax error in dashed line 765 specification, bad arrowhead position) and added SVG support for 766 variable text size, bold, italic and Times font (Radek Liboska). 767 Modified text kerning in fig-based output once more. Updated 768 Makefile.in to actually use the improved gtkmenu code introduced 769 in 16a12, added 'lint' target for code checking with splint. Applied 770 fixes (mostly typecasts) suggested by splint -weak. Updated Czech 771 translation (Radek Liboska). 7721.6a24 Corrected mistyped fontsizes for sub- and superscripts in SVG, 773 eliminated a debug message (Radek Liboska). Changed number of dashes 774 in dashed wedges to seven, which seems to be a good compromise. 775 Corrected SVG representation of the 'wavy' bond. In text mode, 776 left-clicking while holding the ctrl key now places an automatically 777 incrementing counter at the cursor position for numbering sites. 778 (There is currently no way to reset or otherwise modify the counter, 779 it is reset only by 'New'. Note however that it becomes an ordinary 780 label that can be moved or edited after placing it). 7811.6a25 Changed double bond drawing code to no longer switch sides depending 782 on drawing (or rotation) angle. (As a result of this, many templates 783 and older drawings will need fixing, as bondtype 1 now consistently 784 has the shorter bond on its left (assuming clockwise drawing), type 2 785 on its right.) Ctrl-rightmouse in text mode now resets the atom number 786 counter introduced in alpha24, Ctrl-middle mouse sets it to the value 787 in the text entry box (or zero, if no valid number can be read). 7881.6a26 Applied Daniel Uppstroem's patch of 16a8 to the fragment move/rotate 789 code, as the same kind of race condition existed there and could make 790 a fragment assume the position (and even geometry) of a previously 791 moved/rotated one. Some labels in the enhanced fileselection code were 792 not available for translation (Radek Liboska). Spline curves could not 793 be 'unmarked' by the Unmark_all function. Loading a template now 794 removes all previously active markers again. Adapted templates and 795 examples to the changed double bond drawing scheme, renamed some of 796 the examples that were previously just example#. Adapted ring drawing 797 shortcut to the changed double bond drawing scheme (Michael Banck). 7981.6a27 Rescaling a molecule now also scales its labels. Downscaling beyond 799 zero size (causing strange inversions) is no longer possible. Updated 800 master .pot file for translations. Corrected label size setting in 801 molecules read from templates (which was not yet adapted to the new 802 fontsize scheme). Changed label printing in the xfig-based output 803 modes once again to support the recent changes to the font and zoom 804 code. Added wedge/bond joining to the SVG export mode. Renamed the 805 "Orbitals" template menu to "Symbols" and added "plus", "minus" and 806 a rearrangement arrow to it. Added a note about building chemtool on 807 systems that do not allow name clashes with library functions to the 808 INSTALL document (CYGWIN apparently does not let us use our own 809 gtkmenu and gtkfileselection - ultimately, configure should test this). 8101.6a28 Added two new bond types, a triple bond with all three lines equal, 811 and a quadruple bond. Fixed bad nesting of loops in svg export that 812 led to duplication of lines instead of the intended wedge join of a27. 813 Tweaked subscript positioning in fig-based output some more, implemented 814 bond pruning at label positions. 8151.6a29 Added a portability fix for systems like GNU Hurd that have neither 816 PATH_MAX nor MAXPATHLEN (Michael Banck). Suppressed the ugly markers 817 that decorated previously selected items in the fontsize menu (Michael 818 Banck). Saving via the Ctrl-S shortcut now produces a feedback message 819 in the status line (Michael Banck). Saving via the shortcut function 820 did not work if the drawing contained only curve objects. Changed 821 export functions to use a fixed fontheight conversion table, which 822 should resolve label positioning problems seen on at least one system 823 with a non-standard Helvetica screen font. Reduced the amount of bond 824 pruning around labels. Improved the positioning of right-justified 825 labels by using individual character widths instead of average values 826 in calculation of text length. Corrected horizontal placement of 827 italic characters fig and fig-based export modes. 8281.6 Added a 'configure' option to select between using our menu and 829 fileselection functions and the stock GTK+-1.2 ones (set to use our 830 own by default, unless on AIX or CYGWIN, where overloading of library 831 functions is not possible). Updated the INSTALL document accordingly. 832 Removed most of the obsolete cht versions from src-cht and fixed the 833 conditional in the main Makefile that was still looking for an older 834 version of the sources. Updated the manual page. Added an overview of 835 the changes from the last stable version. Added tooltip for font 836 selection button. Corrected helptext section on semiautomatic ring 837 drawing, which was still refering to function keys. Made several 838 messages and items available for translation. Updated German 839 translation. Updated Polish translation (Nikodem Kuznik). Updated 840 Czech translation (Radek Liboska). Fixed bug that caused heterocycle 841 templates to be inserted with the 'decoration' flag set (and hence 842 ignored in subsequent m.w. calculations) (Radek Liboska). Changed 843 babel identification to take the recent change in usage message 844 behaviour into account (needs -H for mode list in >= 1.100.1). 845 Corrected GTK initialization for Russian locale (Michael Shigorin). 846 Suppressed display of empty tooltip boxes for empty templates. 8471.6.1 Fixed copy&paste error in helpwindow code that prevented catching 848 of windowmanager kill signal (resulting in help window being 849 unavailable after closing via window decoration instead of Ok button). 850 Increased message length for semiautomatic ring drawing to prevent 851 truncation of translated messages. Use a less strict test for labels 852 on bond ends to improve reliability of the bond pruning on export. 853 Updated French translation (Jerome Pansanel). Increased xfig label 854 length value to prevent excessive clipping in eps export. Adjusted 855 right-aligned labels and spacing around parentheses in xfig-based 856 export modes. Added proper escaping of percent and dollar characters 857 in latex export. Hopefully fixed compatibility problem with some 858 SGI Irix systems caused by misapplication of Fabio Rainone's patches 859 to the undo code in 1.6a9. Fixed potential crash on startup or font 860 style switching that could result from missing Times or Helvetica 861 fonts. Modified font loading to try the corresponding 100dpi font if 862 a 75dpi font cannot be found. Special characters in Latex/PicTex 863 export were not enclosed in $'s as they should be (Bruno Parente). 864 Added proper linestyle initialization for all pencolors to make 865 linewidth scale with zoom level again (Soeren Kristensen). SVG output 866 improvements (Radek Liboska): added semicolons in style options, 867 tweaked label y positions, use y displacement on sub/superscripts 868 instead of the baseline-shift keyword, as the latter is not supported 869 by some popular SVG editors (sodipodi and inkscape). In text mode, 870 left-clicking on a label while the entry box is empty now updates 871 font, size, color and alignment of that label to the current settings. 872 In drawing modes, pressing the spacebar allows entering regular labels 873 without leaving drawing mode (label is stored with 'Return'). Updated 874 Brazilian Portuguese translation (Flavio Massao Matsumoto). Changed 875 rindex() to its POSIX equivalent strrchr to improve portability. 876 Updated README and chemtool manual page, and added an html copy. 8771.6.2 Right-justified labels where misplaced by one character width on 878 export. It is now possible to drag bonds in 'move' mode without 879 having to 'mark' them first. Configure script now searches several 880 locations for KDE by default. 8811.6.3 Added forgotten parentheses around an if statement that prevented 882 compilation on OS X. Converted all sprintf statements to snprintf, 883 added type casts (and some directives) to make splint happy again. 884 (Using it would have prevented the error above - now a "make lint" 885 should again report no issues until something gets broken again.) 886 Added .cht extension to all remaining example file names, added 887 anthocyanidine example (which uses color for variable substituents). 888 Changed configure script to add Darwin-specific LDFLAGS that allow 889 us to use our own gtk widgets on OS X (Andrew Rohl). 890 Changed Makefile.in to allow overriding its CFLAGS and CPPFLAGS 891 settings as mentioned in the help message of configure. 892 Corrected prototypes of the 'undo' functions in ct1.h (taken from 893 the SuSE 9.1 srpm - meissner@suse.de). Changed all int/pointer 894 conversions to use the glib macros instead of direct type casts - 895 this makes chemtool work on 64 bit platforms (again?). 896 Updated cht to recognize the second and third row of transition 897 elements. Added cht's table of known abbreviations to both README 898 and using_chemtool.html. 8991.6.4 Added LaTeX translations for degree, copyright, plusminus. 900 Added amino acid template. Limited arrowhead size for curved arrows. 901 Changed positioning of left-justified labels without sub/superscript, 902 reduced size and modified placement of sub/superscripts on export 903 to more closely resemble the screen display. Changed font loading to 904 require either 75dpi or 100dpi fonts, not a mixture of both. Added 905 install -d targets for kde directories to Makefile.in. Extended 906 xfig compound box (and optional whiteout box) to cover sub/super- 907 scripts, corrected box size for sub/superscripted, right-justified 908 labels. Added #ifdefs for compilation with GTK 2.x and adapted the 909 configure script. If both GTK 1.x and 2.x are found, configure 910 defaults to using 2.x, unless it was invoked with --enable-gtk1 . 9111.6.5 Added Dutch localisation (Myckel Habets). Modified MOLfile output to 912 translate OH,SH,NH,NH_2,PH,CH,CH_2,CH_3 into non-H atom plus 913 hydrogen count and avoid use of 'query' bondtypes such as 'single or 914 aromatic'. Fixed atom symbol justification in MOLfile export. Fixed 915 compilation without GNU gettext and with the old-style button bar 916 instead of menus. Corrected illegal usage of double equal signs 917 in configure.in/configure (which broke the FreeBSD port). Modified 918 builtin MOLfile reader to skip over optional atom properties blocks. 9191.6.6 Fixed a killer bug in the mdl preview code that must have crept in 920 during a last minute edit. Fixed drawing of "wiggly" (unknown stereo- 921 chemistry) bonds. Improved scaling in the molfile preview window and 922 made it display heteroatom labels. Added a sample sdf file. 9231.7a1 Rearranged the drawing logic to achieve proper separation between 924 the file preview windows and the main drawing canvas. Updated INSTALL. 925 Added database search function using Norbert Haider's molfile-oriented 926 checkmol/matchmol programs for fingerprinting and substructure search. 927 Chemtool currently supports searching in up to five configurable 928 SDF files and two MySQL databases (organized in the manner of Haiders 929 moldb example). In this initial version, the database paths must be 930 added manually to the .chemtoolrc as dbfile1=/path/to/the/first/sdf 931 etc. and dbhost1=myhost,dbname1=mydatabase,dbuser1=myuser, 932 dbpass1=mypassword etc. Also, multiple hits in the MySQL database 933 overwrite each other, leaving only the last one accessible after the 934 search ends. Retrieval from SDF files already opens a preview window 935 where one can browse the results, but only one of them can be loaded. 9361.7a2 Added a database configuration dialog. 9371.7a3 Added a check for fig2sxd and an OpenOffice Draw (.sxd) export option 938 based on it. Modified the mol/sdf parser to recognize optional property 939 entries and added a properties window to display (and eventually change 940 and store) them. The query molfile is now removed after each search. 9411.7a4 Implemented orderly preview dialog for MySQL database results. Fixed 942 a (probably harmless) gdk assertion from not properly initializing the 943 preview window before displaying query results. Added a menu option to 944 redisplay the results of the most recent search. 9451.7a5 Added appending to SDF files (keeping properties) as another export 946 option. Molfile export apparently had its y axis inverted from the 947 very beginning, and hydrogen count was off by one. Molfile import now 948 adds hydrogen counts to labels if necessary. Adding or removing of 949 properties in the properties dialog should work now. Fixed counting 950 one entry past the end of an sdf file in the preview dialog. 9511.7a6 Made MySQL result preview actually work. Added automatic retrieval 952 of all property entries from table "mol" of the database when a result 953 is chosen. Fixed compilation without MySQL. Corrected several memory 954 overflow bugs in the database access code. 9551.7a7 Added a menu option to add the current molecule to a MySQL database. 956 This pops up the property dialog with all fields found in the 'mol' 957 table and calls checkmol to generate the fingerprint information for 958 the 'molstat' and 'molfg' tables. 9591.7a8 Added a MySQL database creation dialog. Fixed a bug that caused 960 property data to be fetched from the first MySQL database even if 961 the original query was performed on the second. The separation 962 between the two lines of a double bond is now configurable. 9631.7a9 Fixed non-MySQL build. Fixed xfig/eps/sxd exports when compiled with 964 GTK2 (character width was reported as zero, resulting in all characters 965 being placed on top of each other). Made color button image wider. 966 Export modes now report the actual number of bonds and labels written, 967 previously the total was given even if only parts were marked. 9681.7a10 Fixed the screen rendering of multi-character subscripts in the gtk2 969 build. Corrected vertical placement of labels. Fixed a crash in the 970 database creation function. Added "update entry" menu option for 971 replacing the most recent hit in the database. 972 Modified the database insertion functions to not leak mysql handles 973 on error, and to store (or replace) the corresponding molfile only 974 after all database operations completed successfully. Property names 975 are no longer displayed as editable in the 'show properties' window. 976 Updated the INSTALL document. 9771.7a11 Added more MySQL data types to the database creation dialog. Added 978 a simple property search widget. 9791.7a12 Combined all search widgets into a single menu option and dialog 980 for searching any of the available sources for the current fragment 981 and/or a database-specific property. 9821.7a13 Added xmlns specification to the svg file header. Moved superscripts 983 a bit farther up in the xfig and xfig-based output formats. Fixed 984 misdetection of fig2dev version that could lead to the generation 985 of full-page Postscript instead of EPS files in some locales. 9861.7a14 GTK2 fixes for screen rendering of symbol characters and 987 for a GTK2 color selector crash. New keyboard shortcut Shift+Keypad 988 to draw electron pairs as pairs of dots. Fixed several multi-line 989 format strings that modern gcc refuses to handle. Corrected SVG 990 output of 'radical dot'. 9911.7a15 Added two new bondtypes: filled and empty orbital lobe. 992