Copyright Notice: http://www.ncbi.nlm.nih.gov/books/about/copyright/
NCBI Bookshelf. A service of the National Library of Medicine, National Institutes of Health.
Vakatov D, editor. The NCBI C++ Toolkit Book [Internet]. Bethesda (MD): National Center for Biotechnology Information (US); 2004-.
The following approaches to developing GUI applications have been proved to work reasonably well:
Using wxWidgets (for GUI) and OpenGL (for graphics)
This approach is appropriate for projects requiring complex GUIs with rich user interactivity and layered event models.
wxWidgets has a heavier API than FOX, but is not more resource intensive (it uses the underlying system's native rendering toolkit). It offers a GUI builder, support for automated code generation, and a carefully designed event model that makes it a much more capable solution if your application needs extend beyond a dialog-based application with multiple controls. It additionally offers substantial support for OpenGL. Also, its installations are maintained in NCBI for a variety of OS's.
This approach is used in NCBI by the Cn3D application, and the Genome Workbench application is based on that too. Please see the wxWidgets and OpenGL websites for further information.
Using FOX as a third party package
This approach is appropriate for projects requiring uniform behavior across platforms (i.e. not a native look-and-feel).
FOX is very fast, with compact executables. The API is convenient and consistent, with a complete set of widgets. There is an extremely rich set of layout managers, which is very flexible and fast.
This approach is used in NCBI by the taskedit application. Please see the FOX website for further information.
Using the Genome Workbench wxWidgets-based GUI framework
This approach currently may not be appropriate for projects other than the Genome Workbench due to its complexity.
The Genome Workbench project has developed an advanced wxWidgets-based GUI framework - somewhat skewed to dealing with NCBI ASN.1 data model representations. The core framework offers a set of widget extensions and signalling libraries on top of wxWidgets. It also uses DialogBlocks as a GUI RAD development tool. The Genome Workbench project homepage has links for downloading various binaries and the source code. Note: This code makes extensive use of the Object Manager and has very specific build requirements - both of which are difficult to configure correctly and neither of which will be documented in the near future (i.e. use at your own risk).
- PDF version of this page (6.2M)
-
GUI and Graphics - The NCBI C++ Toolkit Book
GUI and Graphics - The NCBI C++ Toolkit BookBookshelf
-
Retrieve the Source Code (FTP and Subversion) - The NCBI C++ Toolkit Book
Retrieve the Source Code (FTP and Subversion) - The NCBI C++ Toolkit BookBookshelf
-
Database Access - SQL, Berkley DB - The NCBI C++ Toolkit Book
Database Access - SQL, Berkley DB - The NCBI C++ Toolkit BookBookshelf
-
Portability, Core Functionality and Application Framework - The NCBI C++ Toolkit...
Portability, Core Functionality and Application Framework - The NCBI C++ Toolkit BookBookshelf
-
Networking and IPC - The NCBI C++ Toolkit Book
Networking and IPC - The NCBI C++ Toolkit BookBookshelf
Your browsing activity is empty.
Activity recording is turned off.
See more...