[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

VisualOberon



Hallo!

                            VisualOberon

What is VisualOberon?
---------------------

VisualOberon (or short 'VO') is a collection of classes written in the
programming language Oberon-2. The classes are designed to easily
build graphical user interfaces for programs written in Oberon-2. VO
will be distributed under the GNU license and it will use oo2c as
development tool.

The homepage of VO is:

http://ping.de/sites/edge/VisualOberon.html

You can get the last version of the VO package from here, too.

What are its main design criteria?
----------------------------------

Main criteria for its design are:

* Simplicity. VO should give great layouting power to the programmer on
  the one hand, but also should take away any need to handle low-level GUI
  things on the other hand. It should also take away any low-level design
  decisions. In that way it is similar to TeX. You give it a abstract
  description and it will make it nice by its own.

* Extensibility. The classes should be designed to make them easily
  extensible.

* Portability. The class library should be portable in that way that
  the classes share the same interface among different platforms. Programs
  building an interface under one operating system should be portable without
  any changes to the code. The class library itself is not portable in that
  way that it is implemented by making access to a special OS. VO must be
  adapted to each OS. However, VO tries to build a abstarction layer 
  everywhere where its is possible to hide OS-dependent details.

* VO should give the programmer access to all common GUI features like
  Auto Font adapting, resizability, and possibly later advanced things like
  drag&drop... It should be possible to build a state of the art GUI.


What is already implemented?
----------------------------

The current implementation is build on top of X11. It was developed under
Linux X11R6 and fvwm2. It should be easily adaptable to other Unix systems,
but currently work using other resources cannot be guaranteed.

There are already a few classes:

Text, frame, button, bool, radio, scroll, textfiled and cycle gadget. Also
there are a few groupclasses for layouting, like arrays and even tabs.
It has a basic window class able to do automatic refreshing and rezising,
 too. Some advanced features like simple tool tips, menus and
pop-up-windows are also implemented, too.

Gadgets access there data through models using the model-viewer concept
already used in the various flavours of the OberonSystem. Also a
method-sending system for building automatically driven GUIs is
implemented. It is already possible to build simple but working GUIs.


What is missing?
----------------

* Many more graphical elements and the extention of the existing classes.

* A concept for keyboard-focus and keyboard-shortcuts.

* A preferences concept.

* Improvements and a reconception of the existing code.

* Documentation.

* And last but not least: PEOPLE!

...and that why you are reading this!


What people does it need?
-------------------------

* People who have knowledge about the GUI concepts of the different
  GUI systems used on different platforms. To make VO adaptable to known OS
  it must be able to hide all that differences under its interface.

* People who want to program classes. The Goal is to find one person for
  each class. Another goal is, to finish work for one OS (Unix, especially
  Linux under X11), so people with knowledge of X11 are badly needed first.

* People with resources. What we need is ftp access to a server to
  exchange sources during development. A mailing list already exists,
  mail majordomo@edge.ping.de for more information.

* People with OO knowledge. To find the best solution we need people
  which keep a look on the sources and classes to guarantee the OO way.

* Testers.

* People who implement programs using VO. 


What do I (the author) have to do with it?
------------------------------------------

I've programmed a long time on the Amiga using Oberon-2. After the Amiga
seems to be dead I want to switch to another platform. Oberon-2 compilers
are there (expecially oo2c) but a support for the GUI of the different OSs
is not yet existing, but badly needed. But access and adaption to the existing
ones (Motif, Lesstif...) seems difficult and not very promising. oo2c needs
its own GUI system.

Some of the current code is based on the HUI library. HUI was designed and
developed on the amiga an its purpose was to build a layouting layer between
my programs and the amiga GUI. Most on the classes sat on top an the
existing Intuition (The GUI of the amiga) objects, some implemented their own
objects. The purpose of VO, however, it different from HUI.

VO also bases much on the internal OO-concepts of HUI. The current version of
VO took me about 4-6 weeks to implement and implementation was strait forward.
The OO concept was a good help, has proven to be useful and should make
further improvements easy.

But I'm not willing to do it all on my own. I've not the time, and my goals
are to implement programs with nice GUIs and not nice GUIs itself. However
I'm willing to do my part and I want to help to extent the current version to
a full working GUI system. If I can find nobody this project will die as fast
as it has grown out of earth or last will never get the power it could have.

So, if you are willing to cooperate, reply to the place you got this message
from or even better write to:

Tim Teulings: rael@edge.ping.de

There is also a mailing list for VisualOberon named "VisualOberon". Mail
majordomo@edge.ping.de with "help" in the message body for more information
about subscribing to the list. 

-- 
Gruß...
       Tim.