Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

Portable GUI Development Kits FAQ, part 2/4

( Part1 - Part2 - Part3 - Part4 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Houses ]
Archive-name: portable-GUI-software/part2
Posting-Frequency: monthly
Last-modified: 1997/03/02
Version: 3.1

See reader questions & answers on this topic! - Help others by sharing your knowledge
    Copyright 1996 Ross McKay. Last released $Date: 1997/03/02 09:04:40 $
    Copyright 1993-1995 Wade Guthrie. Permission is granted to copy and
    redistribute this document so long as it is unmodified (including the
    part that explains where to get the FAQ free-of-charge) and the
    copyright remains in-tact. I'd appreciate it if you told me about any
    redistribution, but that's not strictly necessary.

   The different PIGUI kits are classified by the language they support.
   These are the ones which support C and C++, with names A* to N*. PIGUI
   kits for C and C++ from O* to Z* can be found in Part 3 of the FAQ,
   and for other languages in Part 4 of the FAQ.
   _C/C++ from A to N_
          Allegris Workshop (formerly C++/Views)
          Don's Class Application (DCLAP) library
          ILOG Views
          MEWEL User Interface Library
          Microsoft Foundation Classes
          NuTCRACKER X/SDK
  Allegris Workshop (formerly C++/Views)
          9420 Key West Avenue
          Rockville, MD 20850
          1-800-547-4000 or 301-838-5000
          Allegris Workshop includes two components, the Allegris
          Foundation class library and the Portable Resource Workshop
          (replaces the C++/Views Constructor).
          Additional features include printer, graphics, event, string,
          and various container classes as well as some higher-level
          classes e.g., VTableView and VToolBar, dockable toolbars,
          virtual listbox, and some other Windows 95 controls. Allegris
          Workshop also has geometry management so you can place objects
          based on relative coordinates, and persistent object storage.
          The Portable Resource Workshop is the focal point of the
          development process. One uses the browser to navigate through
          one's application to, among other things, find appropriate GUI
          base classes. From there, one can derive new class descriptions
          which the browser uses to generate the necessary C++ source
          code. The user doesn't see individual events; they are handled
          by virtual callback functions in the base classes.
          This product was C++/Views by Liant, recently been taken up by
          Intersolv to become Allegris Workshop. Intersolv have dropped
          the Macintosh and SGI Irix versions.
          There is an additional product, Allegris Constructor, which
          sounds kinda VB for cross-platform... any info would be greatly
          (about C++/Views) They use a smalltalk model -- if you like
          smalltalk, great; if not, you may have some trouble. On the
          other hand, they also the Model/ View/ Controller architecture
          (that's a _good_ thing).
          They have a browser/editor -- it's simple to add a new message
          but it's reportedly kind-of clumsy to use. You may want to use
          a different environment like Borland's IDE under Microsoft
  Amulet, V2.0
          Carnegie Mellon University
          AMULET is an entirely free, public domain user interface
          development environment in C++ for Windows NT or Windows 95,
          Macintosh, and Unix/X11 (since the source is distributed, it
          will work on any Unix platform).
          More than just another free "virtual toolkit", Amulet includes
          many features specifically designed to make the creation of
          highly- interactive, graphical, direct manipulation user
          interfaces significantly easier.
          Based on a proven earlier system, called Garnet, that was in
          wide use in the Lisp community, Amulet adds a number of
          important innovations and refinements. Important features of
          Amulet, v2.0 include: a dynamic, prototype-instance object
          system that makes prototyping easier; automatic constraint
          solving integrated with the object system; a
          `structured-graphics' model (also called a `display list') that
          handles automatic refresh of objects when the change; a
          high-level input model that makes it easy to add behaviors to
          objects and also supports undo and help for operations; and a
          full set of flexible widgets implemented using the Amulet
          intrinsics, so you can easily experiment with your own widgets.
          The current supplied widgets include: buttons, check boxes,
          radio buttons, menus, menu bars (pull-down menus), scroll bars,
          scrolling windows, and text input fields.
          New to 2.0 are `gesture recognition', undo/redo, command-driven
          cut/copy/paste, assorted new widgets including standard error
          dialogs, GIF support, geometry management, and much improved
          debugging facilities.
          Amulet comes with complete documentation including a tutorial.
  Don's Class Application (DCLAP) library.
          Don Gilbert,
          Indiana University at Bloomington, Biocomputing Dept.
          This is a (free-of-charge) barebones C++ application framework
          with no detailed documentation.
          Primary classes include
          + Application methods including event tracking, task
            management, command do/undo, preferences, child application
          + Window, dialog, menu and file management
          + TCP/IP networking, smtp, gopher and basic http
          + Rich Text reading/display classes for Text, RTF, HTML, and
            graphics formats of PICT and GIF.
          + Biosequence analysis methods
          Its main current use is to build a biosequence editor and
          analysis application.
          You can get it via anonymous ftp from It's
          in the /util/dclap directory.
          It has been used on Mactintosh (68K, PowerMac; Systems 6 & 7),
          MSWindows (Win3, Win95, WinNT), XWindows/Unix (Solaris 2, Sunos
          4, SGI Irix 5, DEC Unix, Linux). Motif libraries are required
          for the XWindow version.
          According to the author, it "has several important flaws". But,
          on the other hand, it's free for non-commercial uses. It is
          built on the cross-platform toolkit from the National Center
          for Biotechnology Information (NCBI) of the National Library of
          Medicine (NLM) available for anonymous ftp from
 as /toolbox/ncbi_tools/ncbi.tar.Z.
  Galaxy, V2.5
          11440 Commerce Park Drive
          Reston, Virginia 22091
          (800) 832-8668 (inquiries)
          (703) 758-2711 (voice)
          There are C++ and C versions of this library. The package
          includes a WYSIWYG GUI builder. They ship the tools with static
          and dynamically loaded libraries, and debugging libraries. Each
          version provides multi-platform look-and-feel, allowing you to
          see what your program will look like on another platform.
          The tools are, reportedly, pretty full-featured. User-interface
          items have extensive abstraction (for example, they have a
          confirmation-type dialog that resolves to a push-pin and
          `apply' button under OpenLook, but `ok', `apply', `cancel'
          buttons under motif). Also, errors are handled with an abstract
          exception handling framework. They support geometry management
          and internationalization of typefaces (at least Japanese),
          money, and data formatting. Finally, they have a portable help
          Some extra-cool features include memory leak detection and
          C-language objects for text (multi-styled, multi-font text with
          embedded graphics), list (spreadsheet-like for handling up to
          2^31 x 2^31 cells with customizable displays), and graphics
          processing. They include lots of high-level objects for use by
          developers; these objects include a font chooser, an icon
          editor, a directory browser (for file selection), and a color
          In addition to a GUI portability platform, Galaxy also includes
          inter-process communication (IPC), extensive filesystem, and
          sound support portability across platforms.
          You get no support when you buy the product. If you buy the
          support, it includes product updates and phone access to their
          developers. According to one of Galaxy's developers "not buying
          support is really a false economy".
          These guys have implemented a full superset approach to their
          API. Often, their objects are more capable than the native-mode
          object would if you had not used their code. Galaxy is an
          emulated API (they don't layer on-top of other tools); they
          compile, for example, down to Xlib under Motif or OpenLook.
          This software won Unix Review's Outstanding Product Award
          (1993) for Software Development Front-Ends.
          They claim support for MS-Windows v3.1, but support is only for
          Win32s and not Win16. They no longer support the Watcom 32-bit
          Windows 3.1 format.
          Visix have finally relented, and stopped insisting that
          evaluators must first attend a one-week course on the
          product... now you _can_ convice your manager that it's worth
          Visix was founded in 1989 and is privately held. Galaxy has
          been in development since 1986 and has been on-the-market since
          1992. Over 2,000 copies of Galaxy has been licensed to more
          than 250 companies.
          Visix used to sell single look-and-feel packages (e.g. you get
          just the MS-Windows LAF) but stopped as "less than 10%" savings
          in size.
          Visix say that their three 'critical design goals' are
          cross-platform, speed, and full-featured. I think that this
          product is a good example of `you get what you pay for' or
          `fast, cheap, good - choose two'.
          One user says, "If you are looking at cross-platform
          development environments, you absolutely MUST take a look at
          Galaxy, from Visix Software. Very good interface builder,
          covers ALL layers of the API, from GUI to networking, very well
          designed API, C++ version, etc. [...] We have had good results
          with it so far." Another user agrees, "I've been using their
          software for almost 2 years now and I love it", adding, "I lead
          a project that had > 80K lines of C / C++ that had less than
          100 lines [different] between the SunOS and MS-Windows
          These guys have been extremely helpful getting their portion of
          this FAQ going. I think that this could be indicative of
          seriously superlative support (that's an awful lot of
          Using their C product produces extremely verbose code; it seems
          to me that they should hide more of the detail from the
          Most of the extraneous code can be cut from their examples and
          pasted into your application, but good luck figuring out what
          that code does. On the other hand, once the cut-and-paste tango
          is accomplished, one can achieve quite good results. As with
          many other PIGUIs I've seen, the learning curve is nearly
          vertical (and the documentation doesn't help much) but once
          you've gotten used to the API, you can get some neat things
          Lachlan Patrick
          Department of Computer Science
          University of Sydney
          NSW 2006
          GraphApp is a fairly simple abstraction in C, of the common
          features of Microsoft Windows, Motif, and Athena widgets. (a
          Macintosh version is planned also). It seems to be targetted at
          students, however (or perhaps because of this) it is a very
          easy PIGUI toolkit to pick up and write GUI applications with.
          I will tell more when I have had time to look more closely at
  ILOG Views
          ILOG Inc.
          2105 Landings Drive
          Mountain View, CA 94943
          (415) 390-9000 (voice)
          (415) 390-0946 (fax)
          ILOG Views is a portable C++ library for graphical
          applications, from the simple GUI forms to more sophisticated
          It includes a WYSIWYG GUI editor, Studio, that manages projects
          and generates C++ classes. Studio offers numerous editing
          services with drag-and-drop mechanisms, geometry management and
          active variables for automatic updates. Developers can rapidly
          build GUI applications that meet their business needs with
          minimal raw C++ coding. Studio's framework includes a new
          command-based architecture and command panels that provide
          developers with hundreds of pre-defined application commands.
          Studio is fully customizable.
          The ILOG Views' gadgets emulate Windows95, Windows3 and Motif
          look- and-feel on all platforms. They include note-books and
          spin-buttons among classical buttons, menus, sliders and
          textfields. Whatever is the development platform, the developer
          can test his/her interface with any look-and-feel, without
          porting or compiling.
          A major differentiator from other PIGUI kits is the support for
          very high level graphing objects such as ready-to-use charts,
          Gantt charts, spreadsheets, hypertext, network graphers, maps
          and more. ILOG is also very strong on graphical representation,
          providing high-level classes to manage presentation of graphics
          objects by the thousands. It is possible to display the same
          objects in several windows simultaneously and to store them in
          layers that can be set visible/invisible for each window. ILOG
          Views provides editors with full source code to develop
          end-user specific editors for synopses, networks, and so on.
          Other capabilities of ILOG Views include support for
          integration with databases, portable graphics, double
          buffering, persistent objects using ASCII files), IPC (sockets
          and RPC), OLE 2.0, and Internationalization through a message
          database mechanism and multi- byte strings. Studio is available
          with a Kanji and a Korean message database.
          ActiveX components and plug-ins allow ILOG to be used to more
          simply create graphics-intensive Web applications.
          ILOG DBLink (RDBMS connection library)
          ILOG Server (Model-View-Controller for C++ objects)
          ILOG Broker (Support distributed C++ objects transparently)
          ILOG InForms provides datasources from Oracle, Informix,
          Sybase, Ingres and ODBC, for live manipulation during
          development of graphical-intensive applications. InForms
          generates much of the SQL code for the application, and allows
          point-and-click integration with graphical tables, controls or
          complex graphical objects. Flat files can also be accomodated.
          ILOG Vision is a stand-alone product which provides a very high
          level interface to 3D graphics using OpenGL or Direct3D.
          You get a 1-month support when you buy the product. Support
          includes product updates and hotline. Localized hotlines are
          available in most countries: USA, France, UK, Spain, Singapore,
          Australia (Headquaters and subsidiaries) and through
          ILOG Views has received the following Awards:
          + 1995, The X Journal' 1995 Editor's Choice.
          + 1995, X Industry Achievment Award' Best Product of the Year
          + 1996, Software Development Magazine Productivity in the
            Libraries and Components category.
          ILOG is a 220-person ISV focused on C++ development tools. ILOG
          was created in 1987.
          More than 600 sites worldwide are using ILOG Views to develop
          their graphical interfaces.
  JAM 7 (JYACC Application Manager)
          JYACC, Inc.
          116 John Street
          New York, New York 10038
          1-212-267-7722 (voice)
          This is a C-language library. The package includes a GUI
          JAM's Screen Editor boosts productivity with a fully graphical
          `drag and drop' application development environment. You can
          quickly build screens and other application objects using a
          superset of the controls supported in each GUI environment. JAM
          lets you edit multiple objects simultaneously and drag and drop
          objects between two or more open screens.
          Other features include:
          + Standard controls, e.g. text, list boxes, combo boxes,
            buttons etc
          + Menu bars and icon bars
          + Context sensitive help
          + Grid controls, which present tabular data in a
            spreadsheet-like format
          + Buisness graphics controls, which let you display 2-D and 3-D
            pie, bar, and line charts.
          + Bitmap images in BMP,XPM,JPEG, and GIF formats.
          JAM's Screen Wizard allows you to build fully functional
          screens and transactions that access a database. JAM's
          Transaction Manager simplifies the process of building high
          performance database applications by letting you invoke
          database operations - and apply transaction-specific control
          attributes - without coding. JAM automatically generates and
          executes the SQL statements needed to apply transactions.
          JAM/ReportWriter 7 adds a report writing component to JAM. The
          new release provides sophisticated reporting capabilities to
          developers of JAM applications. The new Report Wizard lets you
          generate complex reports via point-and-click selection, with
          report formats of Column, Row, Cross-tab, and Address Labels.
          JAM/WEB (Web Enterprise Builder) enables developers to build
          server- based database applications for the Web. Developers
          build virtual JAM/WEB `forms' and deploy them on a server
          system. JAM/WEB automatically converts the forms into dynamic
          HTML for display on a browser, and processes the submitted
          forms generating SQL to the back end database.
          Visual Solutions
          487 Groton Road
          Westford, MA 01886
          (508) 392-0100 (voice)
          (508) 692-3102 (fax)
          libWxm emulates the MS Windows (win32/s) API. They support
          dialogs, resources, bitmaps, child windows and controls, custom
          controls, fonts, and GDI commands.
          MDI support, postscript printing, and DDE support.
          MAINSoft Corporation
          1270 Oakmead parkway, suite 310
          Sunnyvale, CA 94086
          (800) MAIN-WIN (inquiries)
          (415) 896-0708 (fax inquiries)
          (408) 774-3400 (voice)
          (408) 774-3404 (fax)
          MAINWin is a portable implementation (to any system offering
          POSIX compliance and Xlib) of the MS Windows API (including the
          Microsoft Foundation Classes 3.0 and 4.2) on Unix/X-Windows.
          They support OLE 2.0, DDEML, Win32 message format, and most of
          the Win32 APIs. The XDE includes printer support, a resource
          compiler, a help compiler (they have support for Winhelp using
          the windows .hlp files), a makefile generator plus some
          additional tools. Multi-threaded programming is now supported
          The software's output runs directly on Xlib, and does not
          require Motif software. MAINWin allows the user to switch
          look-and-feel between MS-Windows and Motif from the system menu
          at run-time. In order to run a MAINWin application on a Unix
          workstation, users need a copy of the `MAINWin for
          Workstations' product for each machine on which the code runs.
          MAINWin offers porting tools for MS Windows resources, the MS
          Windows hypertext help system (which uses the original
          rtf-format help files), shared libraries (DLLs), fonts,
          postscript printing, dynamic data exchange (DDE), and MS
          Windows Device Context APIs. Also included in this code is
          support for the Microsoft MFC 2.0 class library. Finally,
          MAINWin includes their DDR technology to provide PC-compatible
          file structures across all systems.
          Documentation for with MAINWin includes the `MAINWin
          Cross-Development Guide', the `MAINWin API Function Call
          Status' document and the `MAINWin API Message and Control
          Status' document.
          MAINWin's optional developer program includes a weekly status
          of issues reported to MAINSoft.
          Visual Source Safe is available for UNIX. (Why you would want
          to use it, I don't know... CVS is free, and there are _many_
          better SCM products available on Unix)
          MAINSoft has entered into a source code license agreement with
          Microsoft. This agreement allows MAINSoft to incorporate
          MS-Windows code and MFC into their product.
          In addition, MAINWin includes something they call DOS Data
          Representation technology into their toolkit. This allows the
          user to use MS-DOS format files under the other platforms
          supported by their software.
  MetaCard 2.1
          MetaCard Corporation
          MetaCard is a GUI development and multimedia authoring tool
          compatible with Apple Corporation's HyperCard. Anyone can use
          MetaCard to build GUI applications and hypermedia documents
          using a powerful, direct manipulation editor and an
          easy-to-learn scripting language.
          MetaCard goes beyond HyperCard by including support for colour
          controls and images, tabbed-dialogs, vector graphics,
          multiple-font text fields and list boxes, combo-boxes,
          scrollbars and progress bars, and dialog boxes. MetaCard's
          scripting language has support for arrays, custom (user
          defined) object properties, and is based on high-perforance
          `virtual compiler' technology. Stacks developed with MetaCard
          are portable _without recompiling_ among all supported
          platforms (14 for release 2.1) and can be distributed without
          licensing fees or royalties.
          The high-level language approach supports much higher
          productivity than is possible with tools that rely on a
          third-generation language such as C/C++/Java. Similar in
          philosophy to Tcl/Tk, but much faster (around 8x for
          text-intensive operations, up to 30x for numeric-intensive
          operations), much easier to learn, native look and feel on all
          platforms, built-in GUI builder, built-in object persistence,
          and single-file distributions.
          Autumn Hill Software, Inc.
          1145 Ithaca Drive
          Boulder, Co. 80303
          (303) 494-8865 (voice)
          (303) 494-7802 (fax)
          Menuet/CPP is a C++ product (they also have a vanilla `C'
          product). They have a product called an Application Generator
          -- anyone know what this is?
  MEWEL User Interface Library, Version 4.1
          Magma Systems
          15 Bodwell Terrace
          Millburn, NJ 07041
          (201) 912-0192 (voice)
          (201) 912-0103 (fax - orders only)
          (201) 912-0668 (BBS, 9600-1200, N-8-1)
      (Magma has a vendor support
               conference on CIS)
      (Magma has a vendor support conference on
          MEWEL is a portable implementation of the MS Windows API;
          MEWEL/Motif is an implementation of the Windows API, MFC, and
          OWL for Motif. It is a C library, but is type-safe for C++. You
          can program your applications in C, or can use Microsoft's MFC,
          Borland's OWL, Liant's C++/Views, or wxWindows. MEWEL supports
          the usual stuff including icons, MDI, dialog boxes. MEWEL/Pro
          supports the 16 and 32-bit extenders that come with Borland
          PowerPack, Pharlap 286, Pharlap 386/TNT, Watcom/Rational
          DOS/4GW, and DJGPP's GO32. MEWEL is the only user interface
          library that can be implemented totally as a DOS DLL under
          Borland's PowerPack.
          "We are working on a version for MFC/NT [Microsoft Foundation
          Classes/Windows NT] using Pharlap TNT extender, but it's not
          ready yet." One nifty ramification of this is that one will be
          able to use MEWEL and the Pharlap DOS extender in order to port
          Windows NT applications to DOS.
          You can download demos and info from

  Microsoft Foundation Classes (Microsoft)
   _VC++ Cross-Development Edition for Macintosh_
   _VC++ For Intel and MIPS Platforms_
          Microsoft Corporation
          One Microsoft Way
          Redmond, Washington 98052-6399
          (206) 882-8080 (voice)
          (206) 93M-SFAX (fax)
          Microsoft's Visual C++ is, of course, more than just a PIGUI;
          this suite of products includes both compilers and libraries
          for the various platforms they support. `Microsoft Visual C++'
          for the Intel and MIPS platforms targets MS-Windows-based
          operating systems and `Visual C++ Cross-Development Edition for
          Macintosh' (which I'll call VC++CDE:Mac, for short!) targets,
          well, the Macintosh System 7).
          To produce Mac-targeted programs, you must develop your
          software on a Windows NT server and cross-compile to the Mac
          platform. VC++CDE:Mac includes a cross-compiler, libraries, and
          porting tools to build Mac-specific widgets and help flag
          various nonportable constructs.
          Note: cross-development capability from Microsoft does not come
          string-free. Call Microsoft's fax back service at 206-635-2222
          and select document No. 206 for a complete license agreement.
          Microsoft was founded in 1975.
          There are several 3rd-party tools that enable MFC programs to
          be ported to the most popular UNIX platforms.
          Some users say that Mac programs developed with MFC don't look
          like Mac programs. This can be an issue, as Mac users can be
          very anti-Microsoft.
          DataFocus, Inc.
          12450 Fair Lakes Circle, Suite 400
          Fairfax, VA 22033
          (800) 637-8034 (voice) (U.S.)
          (703) 631-6770 (voice)
          (703) 818-1532 (fax)
          NuTCRACKER is a complete, integrated product family for
          developers who want to port their UNIX software -- either
          character-based or X/Motif -- to Windows NT or Windows 95.
          NuTCRACKER also provides the Wintif technology which lets Motif
          applications display with a Windows look-and-feel. Version 3.0
          has been `enhanced' for Windows NT 4.0, and there is now an
          OpenGL option.
          NuTCRACKER allows developers to recompile UNIX C, C++ source
          code and link it to NuTCRACKER DLLs, producing Win32
          applications. NuTCRACKER supports Intel, Alpha, MIPS, and
          They have a deployment seat or run-time distribution fees
          (called the Client Operating Environment, COE) with costs
          ranging from $98 to $239 or less, depending on volume and
          features needed (for example, whether an X/Server is included).
          Site licenses and buyouts are also available. Version 3.0 sees
          even more licensing options--- I will advise as soon as I hear.
          Besides GUI portability, NuTCRACKER also supports Unix process
          control, Unix IPC mechanisms (i.e., shared memory, named pipes,
          BSD sockets, and semaphores) as well as some of Unix's security
          features. I'm told their demo consists of porting UNIX Mosaic
          to NT, where only 3 of 70,000 lines of code needed to be
          Version 5.2 of MKS toolkit is also included, to support calls
          to standard UNIX utilities that Microsoft don't supply.
          Each purchase (or evaluation copy) of NuTCRACKER comes with 1
          year's support bundled into the purchase price of the SDK.
          Support in year 2 and later is approximately $500-750. Support
          includes telephone, bug fixes and e-mail.
          DataFocus offers a 5 day QuickStart on-site consultation for
          those customers that need extra help getting their port
          They have committed to supporting Windows 95, NT 4.0,
          BackOffice Logo and PowerPC.
          Datafocus also sell a subset of this package, called NuTCRACKER
          SDK, for porting character-based (CUI) Unix programs to Windows
          NT/95; and the NuTCRACKER Operating Environment, runtime
          libraries to support API calls to UNIX APIs which allow the
          Unix application to make "Unix API calls to NT". It also
          supports X/Motif applications ported using NuTCRACKER X/SDK,
          and offers both a Motif and Windows look and feel. A low-cost
          Local X Server, which restricts connections to the local
          machine is also available.
    Ross McKay
    $RCSfile: pigui2.txt,v $; $Revision: 3.1 $; $Date: 1997/03/02
    08:37:38 $

User Contributions:

Comment about this article, ask questions, or add new information about this topic:


Part1 - Part2 - Part3 - Part4

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:

Last Update March 27 2014 @ 02:12 PM