Article View: comp.windows.x
Article #23836Re: need information about XVT
From: THOMPSON GEOFF
Date: Tue, 18 Jun 1991 20:51
Date: Tue, 18 Jun 1991 20:51
127 lines
6776 bytes
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!thompsogReferences:
<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