🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.x
Article #23836

Re: need information about XVT

#23836
From: THOMPSON GEOFF
Date: Tue, 18 Jun 1991 20:51
127 lines
6776 bytes
> If you have some time left and you've used XVT yourself i would appreciate 
> some answers to the questions below

Before answering your questions here's a brief introduction:

XVT, the Extensible Virtual Toolkit, provides
a single application interface to multiple window system platforms.
These include the Macintosh, Microsoft Windows on DOS, Presentation Manager
on OS/2, X/Motif (on Sun 680x0, Sun SPARC, Interactive 386/ix, SCO XENIX,
IBM RISC 6000, VAX DECstation, HP9000, VAX VMS), X/OPENLOOK (to be shipped
later this year), AND character terminals on DOS and UNIX. XVT gives you
the potential to have a single body of source code which is portable across
all of the supported platforms.

XVT provides windows, menus, dialog boxes, buttons, list boxes, graphics, and
keyboard and mouse input (plus much more). All of these capabilities are
implemented on all platforms, (except graphics is obviously limited on the
character based systems). XVT is NOT the least common set of window features
across all platforms. It is a set of abstractions to window system programming
which are implemented on each platform.

In the cases where XVT can not meet all the needs of a program on a particular
platform, XVT enables the programmer to extend the application's capabilities
by accessing the native window sytem components of XVT objects. Hence, the
term "Extensible." In general, the full capabilties of the native window
system are available in non-portable ways, including handling all native
system events.

Now for your questions:

> 1  Is XVT just a collection of "low-level" functions that translate the params
>    to the OS its running on?

XVT is a layer between the application and the native window system.
The window system is usually a layer on top of the OS. (In the case of
the Mac, there is not clear distinction between OS and window system.)
XVT is best thought of as a set of window system abstractions (windows,
events, drawing functions) which are used in programming applications with a
GUI. On some platforms an abstraction has a direct correspondence to
the native window system, so an XVT function translates very simply to
a native window system function; however on other platforms, the same
abtraction may not exist, so XVT implements it in its layer.

> 2  Does XVT contain a large class library for speeding up application 
>    development? (if so how does it compare to MacApp)
>    Is it good? (does XVT speed up application development for applications
>    that will have to run on one platform only?)

XVT does not use a class library concept, although on some platforms there
is a direct correpsondence between XVT abstractions and classes in the
native window system. However, the abstractions are well chosen, and XVT
does indeed speed up development on each platform, as compared to developing
in the native window system or toolkit. For example, I prototype applications 
on a Mac which ulitimately are meant to run on a Sun sparc station using the
Motif toolkit on X. I know very little about Mac OS or window system
internals, yet I have created several Mac applications quickly.

> 3  Does XVT cover more than the parts all GUIs have in common or does it try
>    to add good things from one GUI to the other?

XVT is much more than a collection of least common features, it has added
several well chosen features.

> 4. Has printing be implemented?
>    How hard is printing (compared to mac)

XVT does include printing in its abstractions. An application
simply opens a print window, draws into it using the
same code for drawing into a screen window, and closes the print window.
(There are some details about starting and ending a page which
are not part of screen drawing that must be handled.) But in general,
you draw to the printer the way you draw to a window. This is a great
bonus for XVT on X, since there is no printing functionality in X lib
or any of the Intrisnics based toolkits.

> 5. Has a text-edit object been implemented?
Yes.

>    Can it handle multiple fonts in one object?
No, but this may change soon. Check with XVT for details on this in
the next release (Release 3).

>    What is the limit to the number of chars in such an object?
Implementation dependent. I'm not sure but the limit is probably the
number of characters that can be addresses with an unsigned short.

>    Are there any other limitations?
That depends on your needs. In general, the XVT text edit object is a very
flexible "editor in a rectangle" which features such as:
insert or manipulate text from the application; enable/disable user editing;
control whether text is wrapped or not; include borders or not; limit
number of characters per paragraph or whole object (useful for forms entry);
enable/disable cut, copy, and paste; enable/diasable scrolling;
and all attributes can be changed dynamically.

> 6. Are resource definition files translated to all GUIs?
Yes, currently this is done through a text file which describes the 
XVT resources and is compiled into the native resource description.
Later this year a graphical resource editor for doing this will be released.

> 7. What are the strengths of XVT?
By far, the greatest strength is portability of programs across multiple
window system platforms. The second greatest strength is the capability
of developing GUI programs quicky for each of the supported platforms.

> 8. Is there something you cannot do with XVT?
Some things aren't easy, but the entire capabilities of the native window
system and native OS are always available if they are needed.

> 9. What compilers does XVT work with?
XVT supports most of the major compilers for each platform XVT runs on.

Hope this helps. I'm sure you could have many more questions.
To get a thorough technical description contact

		XVT Software Inc.
		1800 30th Street
		Box 17665
		Boulder, CO 80308

		(303) 443-4223	FAX (303) 443-0969

As a favor, if you do contact them, please let them know you heard from me.
Thanks,

Geoff Thompson
independent software consultant
Technical Details
Message-ID: <1991Jun18.205101.28425@colorado.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!csn!boulder!spot.Colorado.EDU!thompsog
References: <1991Jun17.130007.16913@fwi.uva.nl>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!csn!boulder!spot.Colorado.EDU!thompsog
From: thompsog@spot.Colorado.EDU (THOMPSON GEOFF)
Newsgroups: comp.windows.x
Subject: Re: need information about XVT
Summary: answers to questions
Keywords: XVT x-development
Message-ID: <1991Jun18.205101.28425@colorado.edu>
Date: 18 Jun 91 20:51:01 GMT
References: <1991Jun17.130007.16913@fwi.uva.nl>
Sender: news@colorado.edu (The Daily Planet)
Organization: University of Colorado, Boulder
Lines: 127
Nntp-Posting-Host: spot.colorado.edu