Windows interface for OpenBabel

Compared with a command line interface, a Graphical User Interface has the advantage that it presents the user with choices between possibilities rather than the user having to know what they are beforehand. This interface described here has rather more capability then the one in 1.100.1 and also displays the content of input and output files, to give the user extra confidence that he/she is doing the right thing. So a GUI is especially useful for new (or intermittent) users.

The Windows interface described here uses the proposed new conversion framework for OpenBabel. See a screenshot (1004 x 478 pixels).

The choice info, the available formats, the file filters and the conversion options are all dynamically constructed at run time. The options are presented as a set of checkboxes, radio buttons and edit boxes, which are constructed from an almost unchanged text description of the keyboard options. Some of the controls (number of first and last molecule converted) are derived from the description in OBConversion::Description(). Some are dependent on the type of object being converted, which is decided by the input format. This is currently nearly always OBMol and the controls are constructed from OBMol::ClassDescription(). The last set are dependent on the currently selected output format and are taken from the format's Description() function.
There is more on the class that does this (CDynamicOptions) in the About box, accessed from the Control menu (see top left corner). (I know this is recreational programming, but it's fun.)

The code for the interface was written with MS VC++ 6, and uses MFC. But you can try a stand-alone version ( a zipped exe file, 407K) which has been compiled with a small subset of formats and statically linked, so can run on any system with Windows 95 or later.

New framework.  Implementation code.  DLL/shared library.   Program examples