* MolDraw2D refactoring
- rename setupMoleculeDraw->initMoleculeDraw
- track whether or not initDrawing() has been called
- centralize calls to initDrawing() and clearDrawing() into initMoleculeDraw()
- update svg hashes in tests
* update some expected test results
* support changing font scale and default scale
add reaction test
* does not work... this is hard
* all tests pass
* do something about legends
* docs
* more tests
* more docs
* cleanup
* going around in circles...
hopefully converging
* cleanup
* Single bond skeleton works.
* Simple bond drawing seems to be working.
* Initial addition of atom symbols.
* Stash of not-quite-working atom symbols prior to major surgery.
* Atom symbols seem to be working. Major surgery not required, just inverted Y coords at the outset.
* Add classes to atom labels.
* Renamed AtomLabel AtomSymbol.
* Add highlights.
* Fix bug from PR4839.
* Molecule note.
* Added atom notes.
* Added bond notes.
* Extract radicals.
* Annotation via new DrawAnnotation class.
* Add brackets.
* Add linknodes.
* Add close contacts.
* Add attachment points. Fix wavy lines.
* Draw molecules in grid.
* Tidy.
* Fix radicals when font has hit maxFontSize.
Make getDrawCoords work.
* Draw primitives take atom or draw coords.
* Fix legends.
* More fixing for tests. DrawMol::setScale now takes font scale as well.
* tidy debug writes
* Variable fraction of panel for legend.
* Better legend positioning.
* Fix sub- and super-script spacing.
Added spaces to Freetype strings.
* Basic reaction drawing.
* Reaction highlighting.
* Minor tweak to reacctions.
* Tweaked reaction DrawMol widths.
* Fix atomTags.
* Fix catch tests except contours.
* Contouring working in catch_tests.cpp.
* Fix catch tests.
* AtomSymbol and DrawAnnotation into MolDraw2D_detail.
* DrawMol and DrawShape into MolDraw2D_detail.
* DrawText inot MolDraw2D_detail.
* Machete out.
* DrawText goes private.
* Move some stuff about, such as StringRect to its own header.
* Python wrapper compiles (but crashes when Draw imported).
* More tidying. Python DrawArrow failing.
* Linux changes.
* Fixed error in DrawShapeArrow spotted by valgrind.
Fixed some warnings from gcc.
* Maybe fixed DrawArrow.
* Added basic argparse interface.
* Added newlines.
* Changes in response to review.
Non-const args in move constructors and operator=.
Added missing classes to MolDraw2D_detail.
Deleted move operator= where it had been forgotten.
Fixed copyright dates.
* Deleted all default c'tors in derived classes.
* Changes in response to review:
Wedge widths now a proportion of mean bond length in draw coords..
Add padding below legend when positioning it.
* Fix tests.
* Fix the private/protected mess of the new classes.
* Moved doesLineIntersect etc.
* Reinstate original alignString for non-FT drawings.
* More faffing about with reaction layouts.
* Fix font sizes in testGitHub3391.
* Fix atom notes fitting inside fat wedges.
* Fix molecule annotation font size.
* More fixes of rectangle/triangle collision detection.
* Test for highlight linewidth multiplier.
* Use push_back not emplace_back.
* Attempt at better Freetype char spacing.
* Option to turn off TEST_ASSERT. Currently off.
* Fixed embarrassing maths to do with wedge fatness.
* More tidying post-review.
* Document highlight_linewidth_multipliers.
* Expose baseFontSize to Python.
* Changes in response to review.
* Allow DrawMolecules molecules to be drawn to different scales.
* Fix bond sneaking between C:8 in, for example, reactions.
* Fix bad re-factoring.
* Fix globbing.
* Changes in response to review.
* Add invariant check.
* Add draw option to fix font size.
* suggested changes
* Update catch test results.
* Fix expected freetype results.
* Fix non-freetype drawers.
* Fin non-freetype test results.
* get the Qt drawer working too
* Fix disappearing reaction highlights.
* Changes as result of review.
* Fixed non-FreeType hash codes for reaction SVGs. Extra comment in catch_tests.
* reactant highlighting was clearning properties
* Fix for failing contour python test.
* fix a non-freetype problem
* swig wrappers working
* Bump timeouts in test.
Co-authored-by: greg landrum <greg.landrum@gmail.com>
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* move files
* Separate MolDraw2DQt into its own library
Qt libraries cannot even be loaded on headless systems,
so it's important to be able to control at runtime whether you
want to load these libraries.
Adds:
* New C++ header scope: `#include <GraphMol/MolDraw2D/Qt/MolDraw2DQt.h>`
* New libraries: MolDraw2DQt (and MolDraw2DQt_static)
* New Python modules: `import rdkit.Chem.Draw.rdMolDraw2DQt
Mostly this is only moves code and updates build instructions. There
is one logic change: rdkit.Chem.Draw only imports rdMolDraw2DQt
if it is called, never before.
* Fix import failure
* Fix sip detection for systems without PyQt5