Giuseppe's homepage

Giuseppe's HomeSite

  

  

  

 

Main Page

Projects Page

Infos Page

Links Page

Subsections:

Projects Page

AVR Page

OpenGL Page

PIC Page

AlfaGUI Page

  

PROJECTS: ALFAGUIPAGE

AlfaGUI Page

 

What's new?:

12 Nov 2000: AlfaGUI finally released as GIFTWARE!

Remember to visit my link page!

 

In this page you will discover what AlfaGUI is through descriptions and images, you will have the opportunity to download demos to see it working. If you find it interesting you can download the library source code!

ALFAGUI:

Sorry for this page being full of large images, but I think the best way to talk about AlfaGUI is to let speak images (too many GUI have a bad look), so look at the image below: it is AlfaGUI!

 

AlfaGUI is a Graphical User Interface: it puts itself between users and your application. It is a library of C+ classes that handle user inputs and application's video outputs, allowing you to concentrate on the application's tasks.

Programming with AlfaGUI is easy nearly as programming with C++ Builder under Windows. At this time there is not a visual IDE, nor I have plans to do it, but the class tree is simpler than that of the VCL.

AlfaGUI was developed in C++ for DOS 16 bit (Borland C++) and DOS 32 bit (DJGPP). It is very easy to port it for other architectures due to the fact that all system-dependent functions are collected in one file. Currently I use it in Linux/X11 with the Allegro library

Some features:

  • easy portable to other architectures. A nice port could be to Linux GGI for embedded i386 systems. Due to low memory requirements it could also be ported on microcontroller systems with a minimum of 128kb flash, 8kb RAM and a LCD (and a C++ compiler of course...).
  • easily extendible: its C++ object oriented design allows you to create your own controls (controls are classes that define a video component and its behaviour when the user or the message system interact with it)
  • a lot of ready to use controls: button, e-button,  pad, list, table, form, led, textedit, num, label, arrow, slider, bigslider, ledbutton, (currently file dialogs are written only for DOS)
  • support for array of components: this dramatically speed-up programming time!
  • easy to use: concentrate yourself only on what your application have to do and let AlfaGUI handle user interactions with its set of controls. If you need a new control you can easily start from zero or derive an existing one... Then it is only a matter of assembling components and associating functions with events...
  • easy to learn: AlfaGUI is simple and little.
  • it is beautiful! This aspect is very important: before starting the project I searched for GUI in Internet and what I found was awful, too difficult or too limited (NOTE: this could be not true anymore now, but it was in 1997, when I wrote AlfaGUI).

Some negative aspects:

  • I'm the only developer of AlfaGUI and it was my first C++ project, so there are some inconsistencies and a lot of things that should be done/changed ...
  • There is no documentation (not that this really matters: it is so simple and easy to use...)
  • Current implementation puts objects on a grid basis instead of pixel basis. Easily changeable in few hours if you want, but it makes more complex developing (remember there is no visual IDE)...

Download AlfaGUI fact sheet  (500Kb PDF)

To download a demo see below....

However here are proofs it works very well:

Applications shown below are all done with AlfaGUI with standard controls.

DATABASE:

It's a simple example that shows how the possibility of using AlfaGUI for classical PC tasks. But if you want you can make it run on a Linux box without hard-disk or on an embedded system with a small MCU...

Download database.exe (150Kb, DOS 16 bit)

LIGHTS:

This program drives an MCU board that drives a power module to control lights. The whole project is by Claudio Dal Cero (http://www.dei.unipd.it/~dalc).

This application was made by me in only 1 day due to the AlfaGUI unique systems to manage array of controls. It shows that AlfaGUI could be use for fast design-to-market application: my brother needed in only 1 day something to test his power board and even with C++ Builder I could not develop it in less time!

Download lconsole.exe (150Kb, DOS 16 bit)

VISUAL HARDWARE PORT:

This program let you see and modify IO ports of your PC. I don't remember why I did it.

Now I only find it a good way to show AlfaGUI array of controls capability.

 Download visio.exe (150Kb, DOS 16 bit)

Download the library:

 The archive below contains:

  • AlfaGUI C++ sources
  • I/O wrapper for DOS 16 bit using GRX library
  • I/O wrapper for DOS 16 bit using a VGA library developed by me (contained in the archive).
  • I/O wrapper for DOS 32 bit using Allegro library
  • I/O wrapper for Linux/X11 using Allegro library

Download AlfaGUI version 0.1 (300Kb): alfagui.tgz

Licence:

AlfaGUI is giftware and comes with no warranty. Read LICENCE.TXT in the archive for more informations.

People using AlfaGUI:

Only me for now :-)

 


Last modified: Wed Dec 27 11:15:24 2000

Copyright 2000 Giuseppe Dal Cero