|
From a single design X-Designer can generate:
- Java Code
- C++ for Microsoft Windows (MFC)
- C++ for X/Motif
- Fully portable C
- UIL
- Ada 95
In addition Makefiles and Resource Files can be generated
easily.
You do not need to run X-Designer on the target platform -
it can be used to design GUIs for applications running on
almost any system, inlcuding real-time embedded operating
systems such as VxWorks and QNX.
X-Designer solves the 'thin-client' problem for Motif
development. Even if you do not yet know you will want to
move applications to Java or to Microsoft Windows the future is
assured with X-Designer
By generating code for Motif, Microsoft Windows and Java from
a single interface design X-Designer ensures a consistent
interface across all three platforms.
Even Motif interfaces that were not produced using X-Designer
can be moved to Java or Windows by using
X-Designer's Capture facility.
X-Designer 4.6 saw the introduction of a Java code
generator. In addition to being able to generate Java code for every
Motif widget, X-Designer has Motif equivalents of all the Java
interface components.
X-Designer can generate 100% Java source code in either Java
1.0, 1.1, 1.2, 2 and Swing
flavors. Both 1.0 and 1.1 event models are supported.
With X-Designer you can generate Java for a Motif
design and you can design with Java in mind. X-Designer maps
Motif's constructs over to Java's Abstract Windowing Toolkit
(AWT) or Swing, and uses an additional class library, the Motif
Windowing Toolkit (MWT) for anything with no direct
equivalent. For Java layouts, such as the GridBagLayout,
support is provided on the Motif side with a set of Motif Java
Layout emulation widgets. This lets you design layouts that
will map directly to Java.
X-Designer can generate either Java Applications or Applets.
Fully Portable Code
X-Designer generates standard K&R C, ANSI C, C++ or UIL. For
Motif interfaces it uses only the X and Motif toolkits and you
can easily port the generated code to any platform that supports
X and Motif; for Windows interfaces only the MFC toolkit is
required; and for Java interfaces the generated code is pure Java and is
therefore portable to any JVM.
IST draws upon considerable
experience in porting X-Designer across more than twenty
platforms to ensure that the generated C or C++ code is completely
portable. There are no proprietary libraries or languages and
no run-time system beyond the native windowing toolkits.
X-Designer delivers a flexible, non-proprietary solution for
software developers who are porting applications between Motif
and Windows by targeting the Microsoft Foundation Class
library (MFC).
X-Designer's
All configurable resources can be generated as Windows
resources for easy adjustment on the Microsoft Windows
platform.
This approach assures compatibility with
all existing and future Windows platforms:
Windows 95, Windows 98, and Windows NT, for example,
without recourse to any proprietary libraries and
environments that emulate the Windows look-and-feel.
X-Designer can
steer the developer towards designing an interface composed
of GUI elements common to the Motif and Windows environments.
X-Designer provides complete control over the structure of the
C or C++ code generated.
Any widget hierarchy can be encapsulated in the generated code
as a C function or structure, or a C++ class. Widget data
structures can be declared global, static, local, public,
Protected or private in scope. X-Designer will make
intelligent choices for the default code structure.
Structured code generation comes into its own when you use
C++. X-Designer follows the widely accepted Douglas Young
approach where individual widgets or widget hierarchies can be
encapsulated within a C++ class. Each of these can then
become a reusable element in the X-Designer palette and may be
subclassed to suit changing requirements. Incremental
generation of callback stubs files and Makefiles allows the
interface design to evolve in step with the application code.
This reduces the chance of developer code being accidentally
overwritten.
Reusable Components
Reuse is central to X-Designer's design philosophy. Any
widget hierarchy, or sub-hierarchy, can be saved as a reusable
definition that appears as a new 'composite widget' on the
X-Designer palette. Instances of this definition can be used
both to speed the development of subsequent designs and to
provide cross-platform conformity. All resource settings and
callbacks can either be inherited from the definition or
overridden in the instance. New widgets can be added within
an instance hierarchy, thus customising the object across
different applications and contexts. Definitions are
especially useful when generating C++ code since instances are
implemented as subclasses from the class encapsulating the
definition's hierarchy. This provides all the power of
object-oriented inheritance.
Thin-Client Partitioning
X-Designer 5 has all the necessary facilities to enable you to
partition your application into a thin client and application
server. You can now choose to generate a thin client front
end in Motif, Java or Windows MFC, and have it talk to the
rest of your application sitting as a C or C++ server anywhere
else on the Internet or your Intranet.
X-Designer uses the toolkit independent layer to pass the
application specific data between the client and server.
Hooks are provided to allow you to perform processing on both
the client and server ends.
Tri-platform Interface Portability
X-Designer 5 introduced a portable interface to user interface
controls. Instead of having to write your code using the
toolkit's programming interface, and writing it again for
other toolkits you support, X-Designer allows you to set up
and retrieve values for any control using a standard
interface. So for example the code to set the contents of a
text control is the same in Motif, Windows MFC, and Java AWT.
This is done in the tradition of X-Designer with straight
forward source code, not with the use of proprietary
libraries.
Internet Connectivity
Direct Internet access is supported from the X-Designer
generated code, with MIME handling, HTML reading and URL
manipulation. X-Designer uses private MIME types for its
client-server communication and gives you the ability to write
your own MIME handlers for any data available across the
Internet. X-Designer 5 has an HTML reader that allows you to
pick important data from web pages without having to write a
parser. Also included is a small footprint URL library to
give you the ability to perform sophisticated web access with
minimal programming.
Migration Path for Legacy Applications
With X-Designer's Capture tool, you can grab the interface
from any Motif application, even if you do not have the
source, and bring it into X-Designer. Using the Capture
tool's 'Java ready' flag, the imported design is already
pre-structured for best Java code generation. With
support for the latest Java and Windows MFC, together with
the Visaj export facility, X-Designer gives you the ideal
path to convert old Motif applications into Internet and
Intranet applications.
OC Systems have
supplied XDA
which converts X-Designer's output to Ada 95, so that
users of X-Designer can now use it to build Motif applications in
Ada95.
XDA is a Perl script which creates Ada 95 bindings to C code generated
by X-Designer.
It is available at no charge from IST's anonymous ftp site:
ftp.ist-inc.com/pub/xda/xda.tar
XDA works on all platforms supported by X-Designer and all Ada 95
compilers. Users requiring support should contact IST's
Support desk,
support@ist-inc.com.
You have full rights over
generated code and limited
rights over files in the X-Designer distribution.
|
|
 |