EiffelVision 2 is a platform independent Graphical User Interface (GUI) library that allows easy, simultaneous development of Windowed applications for both Windows & Unix based platforms. Heavily relying on EiffelBase library, EiffelVision 2 has been designed primarily with ease of use in mind. By reusing EiffelBase structures, existing, as well as new Eiffel users will find EiffelVision to be surprising intuitive and easy to use. In no time, users will be producing good-looking Windowed application skeletons, of which will run on a multitude of platforms with no manipulation of code.
The EiffelVision 2 library includes the following interface clusters:
- A kernel cluster that includes classes that are key to a Vision2 application. The main class being EV_APPLICATION which is the main entry point of all Vision2 applications.
- A widgets cluster containing classes that used to create Vision2 widgets. Widgets are the visible objects that the user sees and interacts with on the desktop, examples of widgets are windows, buttons and labels.
- An items cluster includes the classes needed to create items, items can be thought of as widgets that are contained within only a certain type of widget, such as an EV_LIST that may only contain objects of type EV_LIST_ITEM. Items provide an abstract way of dealing with an item widget's internal data structures and provide in many cases the same functionality that a widget does.
- An events cluster containing classes that allow for user initiated events, such as the clicking of a button to be dealt with via the use of a linked list of agents ( EV_ACTION_SEQUENCE). Agents can be thought of as an object that encapsulates a certain procedure. When a user clicks a button on the screen, the corresponding EV_BUTTON object has its associating pointer_button_press_actions fired and this in turn, fires all of the agents held within, thus calling all of the procedures represented by the agents. Every widget and item has a certain number of ACTION_SEQUENCE objects that are linked with a certain type of event.
- A properties cluster contains classes that allow for the customization of Vision 2 widgets and items. Classes such as EV_COLORIZABLE and EV_FONTABLE contain routines that allow for color and fonts to be altered for a widget or item respectively.
- A support cluster includes classes that provide more professional touches to an application, whether these are keyboard shortcuts ( EV_ACCELERATOR_LIST) or graphical output ( EV_GRAPHICAL_FORMAT) for drawable widgets such as EV_PIXMAP.
- A figures cluster that allows for the projection of two-dimensional shapes (figures) on to an EV_DRAWABLE or printer via the use of an EV_PROJECTOR.
To see differences between released versions of EiffelVision, click Here