comp.lang.ada
 help / color / mirror / Atom feed
* For those that wondered about V.A.D.
@ 2004-09-09 12:00 stephane richard
  0 siblings, 0 replies; only message in thread
From: stephane richard @ 2004-09-09 12:00 UTC (permalink / raw)


Big announcement, lots to read, but I think it's well worth it :-).  I'm 
posting this from a request I got from Leonid himself he can't post to 
comp.lang.ada for some reason and asked me to post this for him.

----------------------------------------------------------------------------------------------
Visual Ada Developer
VAD

VAD is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
VAD is distributed in the hope, that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

VAD 6.4 Common description.
1. VAD ( Visual Ada Developer ) is a Tcl/Tk oriented Ada-95(TCL) GUI builder
portable to difference platforms, such as Windows NT/9x,Unix(Linux),
Mac and OS/2. You may use it as IDE for any Ada-95(C,C++,TCL) project.
You may use it to build TCL script only.
VAD generated ada sources you may compile and build executable
with GNAT in Windows and Unix(Linux) or Aonix ObjectAda 7.2 in Windows.

2. Used software
GNAT 3.15p(3.4.0) Ada-95 compiler ftp://cs.nyu.edu/pub/gnat
TCL/TK 8.3.5.1 http://tcl.activestate.com/software/tcltk/
TCL/TK 8.4.7.0 http://tcl.activestate.com/software/tcltk/
TCL/TK 8.5.b2 http://tcl.activestate.com/software/tcltk/
W A R N I N G ! VAD 6.4 has three realization
for tcl/tk8.3.5, tcl/tk 8.4.6 and tcl/tk 8.5x , you need to install
and to check tcl/tk before using of VAD.
From vertion tcl/tk 8.4.0.1 ActiveState distribution includes many of VAD 
used
packages (Itcl,Img,Tktable,BWidgets,Tkhtml and so on).
You may choice needed version in link time. (I recommend to work with 8.5)
TASH 8.02 by Terry J. Westley http://tash.calspan.com/
IMG 1.3 package by Jan Nijtmans &ltJan.Nijtmans@wxs.nl&gt.
Icons 1.2 by Adrian Davis (adrian@satisoft.com)
Help System ( Html browser from Editors and Parsers menu) by Andrei A. 
Gratchev &ltgrand@midc.miem.edu.ru>
TkPaint - a simple Image Editor http://www.netanya.ac.il/~samy/tkpaint.html
RAPID-1 By Martin Carlisle
BWIDGETS 1.7.0 tk extension http://www.unifix-online.com/BWidget
McListbox,mcombobox by Bryan Oakley &ltoakley@channelpoint.com>
http://purl.oclc.org/net/oakley/tcl/mclistbox/index.html
Toplevelmanager(window::or) by Mark G. Saye
Tktable by Jeff Hobs &ltjeff.hobbs@acm.org>
http://www.hobbs.wservice.com/tcl/capp/
FTP_library by Stefen Traeger &ltSteffen.Traeger@t-online.de>
http://home.t-online.de/home/Steffen.Traeger
Csh1.0 package by Mohamed Baccar
htt: //members.aol.com/~mbaccar/pub/csh10.zip
Xterm button initialize xterminal
Snack 2.4 multimaedia sound by Kare Sjolander
http://www.speech.kth.se/snack/
BLT 3.0 ftp://ftp.tcltk.com/pub/blt
Itcl 4.0 http://www.sensus.org/tcl/index.htm
Tix 8.4 Tix Tcl/Tk extension
QuickTimeTcl 3.0 multimedia movie (Quick Time for Windows and Mac)
by Mats Bengtsson and Bruce O'Neel
MPlayerTcl 0.0.1 multimedia movie (Quick Time, Divx, mpeg for Unix) by Cyril 
Barabto
http://mplayertcl.sourceforge.net
Tclgtk Gtk widget collection on Tcl http://tcl-gtk.sourceforge.net.
Oratcl 4.1 Oracle connection (Oracle 9i support) 
http://oratcl.sourceforge.net
XBit 4.0 Multimedia extension by Chengye Mao
http://www.geocities.com/~chengye/soft.html
Optcl 3.0 - conversion between Tcl objects and COM types by Farzad 
Pezeshkpour (Windows only)
OpenGL support packages
Tkogl OpenGL extension by Claudio Esperanca
http://aquarius.lcg.ufrj.br/~esperanc/tkogl.html
tom - Tcl/Tk OpenGL Wrapper - fred
URL=http://sourceforge.net/project/showfiles.php?group_id=24950&release_id=30664
VTK 4.4.2 OpenGL extension by Ken Martin, Will Schroeder, Bill Lorensen
http://public.kitware.com/VTK/files
Tkhtml 2.0 package by Richard Hipp http://www.hwaci.com/drh/
Fve Free text editor by Kazuo Sasagawa
Hex A simple Hex Editor by George Peter Staplin
August Free HTML editor by Johan Bengtsson
ASED Tcl/Tk IDE by Andreas Sievers
Dom, TclXML XML parser http://www.zveno.com
Whiteboard 0.94.3 Image and Media Viewer by Mats Behgtsson
TkMC File manager by Grigoriy Abramov
IDL_To_Ada_Translator by Scott R. Bennet http://www.mitre.org
TCL/TK XML intelligence Visual Editor by Alexander V.Dederer
http://tkxmlive.sourceforge.net
W A R N I N G ! Many of tcl/tk packages were tested for TCL/TK 8.4
in Windows and RedHat 9.0 Linux, you may download from my site
http://www.websamba.com/GUIBUILDER

Full VAD Directory tree
VAD -- root directory
rcom -- common rcom package files tree in VAD root direcory
adagraph -- adgraph package
AdaOpenGl -- Ada To OpenGl interfase
ased -- ased IDL
august -- august HTML editor
corba -- Corba Ada Interface spacification
csh -- Xterminal package
fve -- FVE file editor
gifs -- gifs image collection
help -- Help files in HTML format tree with subdirectories
idl -- Corba to Ada translator
image -- bitmap collection
lib -- Tcl/Tk packages
samples -- Samples directories tree
tkpaint -- Tkpaint image editor
tutorial -- VAD tutorial files in HTML format
vad61src -- VAD sources (without common rcom tree packages)
whiteboard -- Whiteboard image processor
Linux -- Linux binaries for RedHat 9.0
win32 -- Windows binaries and componenets
xbit -- XBit image processor
xml -- XML parser files
XmlAda -- XMLADA parser package
VAD generates and uses *.gui file in text format for abstract
widgets descriptions. This file has a simple format and may be corrected
manually. You may associate *.gui file with VAD and load it directly.
VAD project file is part of yours project and build widgets tree from 
Toplevel
widget. In common project directory, you may create several VAD projects.
VAD generates next files :
&ltproject name&gt.adb - main ada program
&ltproject name&gtinit.ads - initialized gui package
&ltproject name&gtinit.adb
&ltproject name&gtevent.ads - Event handlers package
&ltproject name&gtevent.adb ( empty functions for events).
&ltproject name&gt.tcl - TCL script for quick check or TCL oriented project.

VAD project is a part of yours application and (as a rule) it builds 
toplevel root
widgets tree. Application may has several vad projects.
W A R N I N G ! Old ada files saved in *.$ds and *.$db files
W A R N I N G ! You may reset Gnat enviro?ment, edit , compile, link and 
execute
generated ada files from Gnat menu
VAD need system variable VAD_HOME
for example : SET VAD_HOME=C:\VAD - for Windows
export VAD_HOME=/vad - for Unix(Linux)
New project you may create by NEW dialog in existing project directory
TCL/TK is a script language and it has many difference forms to describe 
widgets.
For widget placing I use disp (layout) property with follow values :
noplace
place
grid
pack (default)
setwidget (for BWidgets)
and manager property for tcl script building
W A R N I N G !!! You may use Layout wizard from WIZARD menu
to build script for used layout or to build embeded window (in canvas or 
text)
For example for placing widget .w.b in pack layout need to write
disp :pack
manager:.w.b -side top
If you want to pack several widgets in one pack (for example 3)
look at packbuton.gui sample.
In addcreate property you may write all addition information for widget
creation.
W A R N I N G !!! You may use Properties WIZARD from WIZARD menu
to build spesific widgets options
I tried to write online help for many of used properties and simple samples.
W A R N I N G !!! You may see Help for Widget by push F1 for selected Widget
(mouse on widget icon or active Properties Inspector for widget)
If VAD can not correct error EXCEPTION, it creates ABEND.GUI file.
I recommend to save information before property/event switching
by click Add Widget/Correct Widget button
In any time you may see widgets tree from View Tree (menu VIEW).
Widgets tree available in New Widget pathname dialog. On Widget's tree you 
may select
widget and load Properties Inspercor for it.
HELP menu allows by internal HTML viewer ( I use HTML_LIBRARY package
from Sun) and tkhtml (if it defined in tcl)
From Settings menu you may change some VAD definitions.
If you planed work with generated TCL script, you may turn off Emulate Tcl 
Proc
property.
I hope VAD will be useful for Ada (and TCL) programmers and easy in work. 
This is
an effective way to build gui oriented system independent applications in 
pure ADA-95.
VAD 6.4 supports many of image formats such as
BMP, XBM, XPM, GIF (with transparency), PNG, JPEG, TIFF, ICO, PCX, PPM, 
PIXMAP, SGI,
RAS, RGB, TGA, SUN , WINDOW and postscript(PS).
You need to install Img1.3 package and check it to work in Tcl/Tk.
W A R N I N G !!! You may animate animated gifs
For formats difference from xbm and gif you may use jpeg image type.
By icons package you may use a huge icons collections as tcl/tk image
A simple free Image editor TKpaint (with little changing ) by Samy Zafrany
An Adasource from RAPID image generator by Martin C. Carlisle
and Patrick Maes.
Widgets Table
1. Base TCL/TK widgets
toplevel frame button radiobutton checkbutton menubutton label entry
listbox canvas message menu item scrollbox scale text panedwindow spinbox
labelframe

W A R N I N G . Item widget you may use to :
1. Create menu item;
2. Create mclitBox column;
3. Create Tree node.
2. BWidgets
Button Label Entry ListBox
ArrowButton ProgressBar MainFrame LabelFrame LabelEntry TitleFrame
Dialog ScrolledWindow PanedWindow ButtonBox NoteBook (Page) SpinBox
Tree MessageDlg ProgressDlg ScrollableFrame ScrollView PagesManager
PasswdDlg

W A R N I N G ! If you use PanedWindow (or panedwindow in tcl/tk 8.4), you 
need
a. Create PanedWindow;
b. Create first page for PanedWindow (Page dialog);
c. Create all widgets in this page;
d. Create second page an so on.
3. Widgets from Bryan Oakley
combobox mclistBox
4. Direct executable Tcl script
TclScript
5. table widget from Tktable Package

W A R N I N G !!! You need to install Tktable package and check it to work 
in Tcl/Tk
6. Graph and Barchart widgets from BLT package

W A R N I N G !!! You need to install BLT package and check it to work in 
Tcl/Tk and
load from TCL Packages menu
7. CScrollbar (scrollbar analog)

W A R N I N G !!! You may copy widget's properties from building widget
to new by Copy from item (from WIZRD menu)

W A R N I N G !!! You may import widgets form other project(gui file)
by Import item (from Utils s menu)
8. html widget from Tkhtml package
9. OGLwin widget from Tkogl package or Tom package
10. vtkTkRenderWidget and vtkTkImageViewerWidget from VTK (Visualization 
Tool Kit)
11. Scrolled Widgets (text canvas listbox mclistbox tktable html)

W A R N I N G !!! Scrolled widgets are built as frame with scrollbars and 
widget
Widget name is automatic tailes with .swd
Scrollbars are visible if need
12. Media widget (media for Unix MplayerTcl and movie for Windows and Mac 
QuickTimeTcl)
VAD 6.4 has internal tcl packages support from Packages menu.
W A R N I N G !!! After loading,tcl package can not be unloaded.
If you have instaled Oratcl package and loaded it, you may
directly work with Oracle server from Oracle menu.
S a m p l e s L i s t
snack - Snack Sound extension
blt - BLT extension
blt.gui - Tables in BLT
graph.gui - Graphs in BLT
barchart.gui - Barchart in BLT
bwidgets - BWidgets extension (full support in VAD)
pagemgr.gui - pages manager
tree.gui - tree
mclist.gui - multicolumn list
combobox.gui - combobox
scrolledwindow.gui - scrollable window
nb.gui - notebook
colorfont.gui - colours and fonts
panedwindow.gui - paned window
buttonbox.gui - button box
dragdrop.gui - drag and drop
htext.gui - hyper text
tip.gui - tip window
adavtk - VTK (Visualization Tool Kit) support in VAD
3dstudio - vtk sample 3DStudio MAX file import
vrlm2.0 - vtk sample 3DStudio MAX file import VRLM 2.0
puzzle - vtk sphere puzzle game
polyViewer - VTK file formats viewer
volGeo - multirender sample
adatkvtk - vtk sample
adavtklens - vtk sample
textmv - vtk sample
WheelMouse - vtk sample with WheelMouse events handling
ftp - ftp complex example
itcl - I[ncr]tcl package extension
oracle - Oracle support in VAD (oratcl 2.6, oratcl 2.7, oratcl 3.0 oratcl 
4.x)
odbc - ODBC support in VAD (tclodbc 2.1)
animation - Animated gifs in VAD example
scrcanv - scrollable frame as window in canvas example
money - complex example
HTML_Viewer - complex example internal HTML viewer
HV - complex example HTML viewer used Tkhtml package
Dirview - complex example
Find - complex example (find files by pattern with directory recursion)
Table - complex example (binary tree and access types in Ada-95)
Tktable - complex example Tktable widget in VAD (standard and scrolled 
variants)
HV - complex example html widget based html viewer
Calculator - complex example
Limits - complex example ( it demonstrates cursors in different
places of window)
Hanoi - the Hanoi tower sample
Philosophers - dinning philosophers sample
Sort - the sort sample (quick sort,shell, insertion sort)
Tetris - a simple tetris game with tasks
Fiveteen - a simple Fiveteen game
SokoBan - a Sokoban game by Jeff Godfrey
tix - Tix extension
fg - run executable from application
Quicktimevideo - Qiuck Time Video (QuickTimeTcl in Windows or MPlayerTcl in 
Unix(Linux) )
Tkogl - OpenGL texture sample
Tkogl - OpenGL nurbsdemo sample
Tkogl - OpenGL gencyldemo sample
Mpegmovie - MPEG movie for Windows and Unix by XBit 3.4 package
Video - DDW movie for Windows by XBit 4.0 package
Mci - Load Mplayer to play media in Windows with optcl package
Mp3player - MP3 Sound player by SNACK package
draw - Simpe drawing with Rcom.Draw base package
adagr - Simpe drawing with Adagraph package
graph - Simpe BLT graph sample
barchart - Simpe BLT barchart sample
3Dgraph - 3D cube drawing with Rcom.Draw package
Toplevelmanager - Sample how to manage toplevel widget(fullsceen,no borders, 
...)
canvas.gui - a simple example for canvas in tcl/tk
filemenu.gui - a simple example for menubutton and PopUp menu
fonts.gui - a simple example for fonts in tcl/tk
form.gui - a complex example
frame1.gui - a simple example for frame in tcl/tk
grid1.gui - a simple example for grid layout in tcl/tk
grid2.gui - a simple example for grid layout in tcl/tk
imagetst.gui - a simple example for images in tcl/tk
message.gui - a simple example for message widget in tcl/tk
place.gui - a simple example for place layout in tcl/tk
packbuton.gui - a simple example for pack layout in tcl/tk
scale.gui - a simple example for scale widget in tcl/tk
textxy.gui - a simple example for scrollable text in tcl/tk
textscrol.gui - a simple example for scrolled text widget
ctextxy.gui - a simple example for cscrollable text in tcl/tk

In WEB Browser you may run VAD Tutorial from vad/tutorial/vadtutor.htm
VAD 6.4 is available in http://www.websamba.com/GUIBUILDER

You may dowload sources vad64scr.tar.bz2, vadhlp.tar.bz2, vadtutor.tar.bz2, 
vadsmp.tar.bz2,vadaonix,
adahlp.tar.bz2, vadtcl.tar.bz2, 
adastyle.tar.bz2,philosofers.tar.bz2,vadidl.tar.bz2
and binaries vad64win.tar.bz2 (WINDOWS 9x/NT)
vad64lin.tar.bz2 (i386)

Any questions, any ideas, any problems, any help
Leonid Dulman(leonid_dulman@yahoo.co.uk)





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-09-09 12:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-09 12:00 For those that wondered about V.A.D stephane richard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox