Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Graphic Library: Vision-2 GUI Extensions

Classes

ECF: vision2-x.ecf

Directory source listing

Overview

Provides many extensions to the Eiffel Software Vision-2 cross-platform GUI library and the Smart Docking library.

Features

These features are only the tip of the ice-berg.

Directory: library/graphic/toolkit/vision2-x

. /implementation/gtk/kernel

. /implementation/gtk/support

. /implementation/gtk/support/c_interface

. /implementation/gtk/widget/containers

. /implementation/gtk/widget/primitives

. /implementation/gtk/widget/primitives/pixmap

. /implementation/implementation_interface/kernel

. /implementation/implementation_interface/widget

. /implementation/implementation_interface/widget/containers

. /implementation/implementation_interface/widget/primitives/pixmap

. /implementation/mswin/kernel

. /implementation/mswin/support

. /implementation/mswin/support/c_interface

. /implementation/mswin/widget/containers

. /implementation/mswin/widget/primitives

. /implementation/mswin/widget/primitives/pixmap

. /interface/kernel

. /interface/logging

. /interface/pixmaps

. /interface/pixmaps/button-pixmaps

. /interface/properties

. /interface/support

. /interface/support/c_interface

. /interface/thread

. /interface/widgets

. /interface/widgets/containers

. /interface/widgets/containers/box

. /interface/widgets/containers/manager

. /interface/widgets/containers/scrollable

. /interface/widgets/containers/scrollable/obsolete

. /interface/widgets/containers/tab-book

. /interface/widgets/containers/tab-book/docked

. /interface/widgets/containers/tab-book/standard

. /interface/widgets/dialog

. /interface/widgets/drawable

. /interface/widgets/primitives

. /interface/widgets/primitives/button

. /interface/widgets/primitives/button/radio

. /interface/widgets/primitives/drop-downs

. /interface/widgets/primitives/pixmap

. /interface/widgets/primitives/pixmap/svg

. /interface/widgets/primitives/text

. /module

implementation/gtk/kernel

EL_FONT_IMP

Unix counterpart to Windows EL_FONT_IMP which fixes a problem settting the height in pixels

EL_SCREEN_IMP

Screen imp

implementation/gtk/support

EL_STOCK_COLORS_IMP

Stock colors imp

EL_USEABLE_SCREEN_IMP

Unix implementation of EL_USEABLE_SCREEN_I

EL_VISION_2_GUI_ROUTINES_IMP

Unix implementation of EL_VISION_2_GUI_ROUTINES_I interface

EL_X11_DISPLAY_OUTPUT_INFO

Class based on C-struct

typedef struct _XRROutputInfo {
    Time       timestamp;
    RRCrtc       crtc;
    char       *name;
    int          nameLen;
    unsigned long   mm_width;
    unsigned long   mm_height;
    Connection       connection;
    SubpixelOrder   subpixel_order;
    int          ncrtc;
    RRCrtc       *crtcs;
    int          nclone;
    RROutput       *clones;
    int          nmode;
    int          npreferred;
    RRMode       *modes;
} XRROutputInfo;

Notes

static Display   *dpy;
root = RootWindow (dpy, screen);
res = XRRGetScreenResourcesCurrent (dpy, root);

for (o = 0; o < res->noutput; o++) {

   XRROutputInfo   *output_info = XRRGetOutputInfo (dpy, res, res->outputs[o]);

EL_X11_SCREEN_RESOURCES_CURRENT

Class based on C-struct

typedef struct _XRRScreenResources {
    Time   timestamp;
    Time   configTimestamp;
    int      ncrtc;
    RRCrtc   *crtcs;
    int      noutput;
    RROutput   *outputs;
    int      nmode;
    XRRModeInfo   *modes;
} XRRScreenResources;

implementation/gtk/support/c_interface

EL_CAIRO_API

Cairo api

EL_GOBJECT_IMP

Gobject imp

EL_GTK2

Gtk2

EL_GTK_INIT_API

Gtk init api

EL_PANGO_API

Pango api

EL_PANGO_CAIRO_API

Pango cairo api

EL_X11_API

X11 api

implementation/gtk/widget/containers

EL_SCROLLABLE_AREA_IMP

Scrollable area imp

EL_TITLED_WINDOW_IMP

Not so silly window

EL_VERTICAL_BOX_IMP

Vertical box imp

implementation/gtk/widget/primitives

EL_RICH_TEXT_IMP

Rich text imp

EL_SCALE_SLIDER_IMP

Warning: this implementation was originally written for Windows and may not work on GTK

EL_SHARED_RADIO_GROUP_TOOL_BAR_IMP

Warning: this implementation was originally written for Windows and may not work on GTK

EL_TEXT_FIELD_IMP

Text field imp

EL_TEXT_IMP

Text imp

EL_TOOL_BAR_RADIO_BUTTON_GRID_IMP

Warning: this implementation was originally written for Windows and may not work on GTK

implementation/gtk/widget/primitives/pixmap

EL_DRAWABLE_PIXEL_BUFFER_IMP

Drawable pixel buffer imp

implementation/implementation_interface/kernel

EL_FONT_I

Font i

EL_SCREEN_I

Screen i

implementation/implementation_interface/widget

EL_RICH_TEXT_I

Rich text i

EL_SCALE_SLIDER_I

Scale slider i

EL_SHARED_RADIO_GROUP_TOOL_BAR_I

Shared radio group tool bar i

EL_TEXT_FIELD_I

Text field i

EL_TEXT_I

Text i

EL_TOOL_BAR_RADIO_BUTTON_GRID_I

Tool bar radio button grid i

EL_UNDOABLE_TEXT_COMPONENT_I

Undoable text component i

implementation/implementation_interface/widget/containers

EL_SCROLLABLE_AREA_I

Scrollable area i

EL_TITLED_WINDOW_I

Titled window i

implementation/implementation_interface/widget/primitives/pixmap

EL_DRAWABLE_PIXEL_BUFFER_I

Drawable pixel buffer i

implementation/mswin/kernel

EL_FONT_IMP

Override to EV_FONT_IMP fixing issue of setting font height in pixels. This version is compiled only if ISE_C_COMPILER = msc_vc140. It scales the font height differently if the deployment platform is Windows 10

EL_SCREEN_IMP

Windows extension to EV_SCREEN_IMP

implementation/mswin/support

EL_USEABLE_SCREEN_IMP

Windows implementation of EL_USEABLE_SCREEN_I

EL_VISION_2_GUI_ROUTINES_IMP

Windows implementation of EL_VISION_2_GUI_ROUTINES_I interface

implementation/mswin/support/c_interface

EL_CAIRO_API

Cairo api

EL_CAIRO_API_POINTERS

API function pointers for libcairo-2

EL_CAIRO_C_API

Cairo c api

EL_GDK_API

GDK wrapped to find physical dimensions of monitor, but not returning correct values on Windows.

EL_GDK_API_POINTERS

Gdk api pointers

EL_GDK_C_API

Gdk c api

EL_GOBJECT_API_POINTERS

API function pointers for libgobject-2.0-0

EL_GOBJECT_C_API

Gobject c api

EL_GOBJECT_IMP

Gobject imp

EL_PANGO_API

Pango api

EL_PANGO_API_POINTERS

API function pointers for libpango-1.0-0

EL_PANGO_CAIRO_API

Pango cairo api

EL_PANGO_CAIRO_API_POINTERS

API function pointers for libpangocairo-1.0-0

EL_PANGO_CAIRO_C_API

Pango cairo c api

EL_PANGO_C_API

Pango c api

EL_SHARED_GDK_API

Shared gdk api

EL_WINDOWS_SYSTEM_METRICS_API

Windows system metrics api

implementation/mswin/widget/containers

EL_HORIZONTAL_BOX_IMP

Horizontal box imp

EL_SCROLLABLE_AREA_IMP

Scrollable area imp

EL_TITLED_WINDOW_IMP

Not so silly window

EL_VERTICAL_BOX_IMP

Vertical box imp

implementation/mswin/widget/primitives

EL_RICH_TEXT_IMP

Rich text control that responds to HOME and END keyboard shortcuts (without Ctrl combination)

EL_SCALE_SLIDER_IMP

Scale slider imp

EL_SHARED_RADIO_GROUP_TOOL_BAR_IMP

Shared radio group tool bar imp

EL_TEXT_FIELD_IMP

Text field imp

EL_TEXT_IMP

Text imp

EL_TOOL_BAR_RADIO_BUTTON_GRID_IMP

Tool bar radio button grid imp

EL_UNDOABLE_TEXT_COMPONENT_IMP

Undoable text component imp

implementation/mswin/widget/primitives/pixmap

EL_DRAWABLE_PIXEL_BUFFER_IMP

Drawable pixel buffer imp

interface/kernel

EL_APPLICATION_EVENT_PROCESSOR

Application event processor

EL_COLOR

Color

EL_FONT

Font

Further Information

Click on class link to see client examples.

EL_PARAGRAPH_FORMAT

Paragraph format

EL_RECTANGLE

Rectangle

Further Information

Click on class link to see client examples.

EL_ROTATABLE_RECTANGLE

Rotatable rectangle

EL_SCREEN

Screen

EL_SHARED_APPLICATION_EVENT_PROCESSOR

Shared application event processor

EL_TEXT_RECTANGLE

Container for wrapping text into a rectangular area before rendering it with a drawing command

Supports

* Multiple simultaneous font sizes
* Word wrapping
* Squeezing of text into available space by adjusting the font size
* Rotation of text area

EL_VISION2_MAIN_THREAD_EVENT_REQUEST_QUEUE

Vision2 main thread event request queue

EL_WINDOW

Window

interface/logging

EL_CONSOLE_MANAGER_TOOLBAR

Toolbar for switching the console logged output to a different thread.

Features

EL_NAVIGATION_ICONS

Navigation icons

EL_TITLED_WINDOW_WITH_CONSOLE_MANAGER

Titled window with console manager

Further Information

Click on class link to see client examples.

EL_VISION2_USER_INTERFACE

Vision2 GUI supporting management of multi-threaded logging output in terminal console

Further Information

Click on class link to see client examples.

interface/pixmaps

EL_APPLICATION_DESKTOP_MENU_ICON

Application desktop menu icon

EL_APPLICATION_ICON

Application icon

EL_APPLICATION_IMAGE

Application image

EL_APPLICATION_PIXMAP

Application pixmap

EL_MODULE_DESKTOP_MENU_ICON

Module desktop menu icon

EL_MODULE_ICON

Module icon

Further Information

Click on class link to see client examples.

EL_MODULE_IMAGE

Module image

Further Information

Click on class link to see client examples.

EL_SCREEN_RESOLUTION_SCALING

Screen resolution scaling

interface/pixmaps/button-pixmaps

EL_DRAWABLE_PIXEL_BUFFER_SET

Drawable pixel buffer set

EL_GENERATED_SVG_BUTTON_PIXMAP_SET

Generates clicked and hightlighted button from normal.svg

EL_SVG_BUTTON_PIXMAP_SET

Buttons with images for 3 states stored in application icons location

EL_SVG_TEMPLATE_BUTTON_PIXMAP_SET

Svg template button pixmap set

EL_SVG_TEXT_BUTTON_PIXMAP_SET

Svg text button pixmap set

interface/properties

EL_MIXED_FONT_STYLEABLE

Routines for label components with mixed font styles

interface/support

EL_ACTION_EXCEPTION_MANAGER

Action exception manager

EL_ADJUSTED_DISPLAY_SIZE

Read and writes user adjusted display size. Typically during installation the user adjusts a window to A5 paper size. This is used to accurately determine the display size in the event it cannot be accurately determined by system calls.

EL_EXPANDABLE

Expandable

EL_HORIZONTAL_SELECTION

Horizontal selection

EL_KEYBOARD_SHORTCUTS

Keyboard shortcuts

EL_KEY_CONSTANTS

Copy of Key_strings from class EV_KEY_CONSTANTS for use in sub-application: CHECK_LOCALE_STRINGS_APP. These localized names are referenced in class EL_MENU

EL_KEY_MODIFIER_CONSTANTS

Key modifier constants

EL_MENU

Application menu with optional localization via class EL_MODULE_LOCALE

EL_RECTANGLE_ARRAY

Rectangle array

EL_SHARED_USEABLE_SCREEN

Shared instance of EL_USEABLE_SCREEN_IMP

EL_SUB_MENU

Sub-menu of an application menu EL_MENU

EL_SVG_IMAGE

Class for converting SVG into different formats

Further Information

Click on class link to see notes.

EL_USEABLE_SCREEN_I

Finds the useable screen area excluding the taskbar etc

EL_VISION_2_FACTORY

Vision 2 factory

EL_VISION_2_GUI_ROUTINES_I

Vision 2 gui routines i

EL_WINDOW_DRAG

Window drag

interface/support/c_interface

EL_CAIRO_CONSTANTS

Cairo constants

EL_CAIRO_I

Cairo i

EL_GOBJECT_I

Gobject i

EL_PANGO_CAIRO_CONSTANTS

Pango cairo constants

EL_PANGO_CAIRO_I

Pango cairo i

EL_PANGO_FONT

Wrapper for PangoFontDescription

EL_PANGO_I

Pango i

EL_SHARED_CAIRO_API

Shared cairo api

EL_SHARED_GOBJECT_API

Shared gobject api

EL_SHARED_PANGO_API

Shared pango api

EL_SHARED_PANGO_CAIRO_API

Shared pango cairo api

interface/thread

EL_REGULAR_TIME_CONSUMER

Object that checks at timed intervals if a thread product is available and calls an agent to process it. The product is processed in the main GUI thread.

EL_SEPARATE_FILE_PROGRESS_DISPLAY

File progress display that forwards calls from a monitored thread separate to main GUI thead

interface/widgets

EL_INPUT_WIDGET

Abstractions for mapping a data object conforming to FINITE [G] to a selectable widget, a combo box for example. The default sort-order defined by less_than is alphabetical display_value.

Further Information

Click on class link to see descendants.

interface/widgets/containers

EL_CENTERED_VIEWPORT

Viewport with horizontally centered content

EL_DIRECTORY_USER_SELECT

Directory user select

EL_EXPANDED_CELL

Expanded cell

Further Information

Click on class link to see client examples.

EL_FRAME

Frame

EL_TITLED_TAB_BOOK_WINDOW

Titled tab book window

Further Information

Click on class link to see client examples.

EL_TITLED_WINDOW

Titled window

Further Information

Click on class link to see client examples.

EL_TOOL_BAR_RADIO_BUTTON_GRID

Tool bar radio button grid

interface/widgets/containers/box

EL_AUTO_CELL_HIDING_BOX

A box that will hide selected widget members if the mouse pointer is not over the box, and show them if the pointer enters the box.

EL_AUTO_CELL_HIDING_HORIZONTAL_BOX

Auto cell hiding horizontal box

EL_AUTO_CELL_HIDING_VERTICAL_BOX

Auto cell hiding vertical box

EL_BOX

Box

EL_CENTERED_VERTICAL_BOX

Centered vertical box

EL_HORIZONTAL_BOX

Horizontal box

Further Information

Click on class link to see client examples.

EL_VERTICAL_BOX

Vertical box

interface/widgets/containers/manager

EL_MANAGED_CONTAINABLE

Object to manage a containable widget in a container. The update routine causes the container widget to be replaced with a new widget created by the function new_item

EL_MANAGED_WIDGET

Object to manage a widget in a container. The update routine causes the container widget to be replaced with a new widget created by the function new_item

Further Information

Click on class link to see client examples.

EL_MANAGED_WIDGET_LIST

Object for managing a list of updateable widget components.

The automatic array conversion does not work as intended due to the limitations in Eiffel ARRAY manifest conformance checking in compiler version 16.05, but perhaps in a future version it will be useable.

interface/widgets/containers/scrollable

EL_SCROLLABLE_BOX

Scrollable box

EL_SCROLLABLE_PAGE

Scrollable page

EL_SCROLLABLE_SEARCH_RESULTS

List of scrollable search result hyperlinks for data list conforming to DYNAMIC_CHAIN [G]. The results are displayed in pages with links_per_page defining the number of result hyperlinks per page.

EL_SCROLLABLE_VERTICAL_BOX

Scrollable vertical box

Further Information

Click on class link to see client examples.

interface/widgets/containers/scrollable/obsolete

EL_SCROLLABLE_AREA

Scrollable area

interface/widgets/containers/tab-book

EL_TAB_SHORTCUTS

Base class for notebooks

interface/widgets/containers/tab-book/docked

EL_DOCKED_TAB

Docked tab

Further Information

Click on class link to see client examples.

EL_DOCKED_TAB_BOOK

Docked tab book

EL_DOCKING_CONTENT

Docking content

EL_SPLIT_AREA_DOCKED_TAB_BOOK

Docking split area with tabbed area on left and place_holder on right

EL_TAB_LIST

Tab list

interface/widgets/containers/tab-book/standard

EL_FIXED_TAB_BOOK

Fixed tab book

EL_NOTEBOOK_TAB

Notebook tab

EL_TAB

Tab for EL_TAB_BOOK

EL_TAB_BOOK

Extension to EV_NOTEBOOK

EL_TAB_CONTENT

Tab content

interface/widgets/dialog

EL_APPLY_CHANGES_CONFIRMATION_DIALOG

Apply changes confirmation dialog

EL_CONFIRMATION_DIALOG

A confirmation dialog with optional deferred localization

EL_DIALOG

Error dialog

EL_DIALOG_CONSTANTS

Duplication of EV_DIALOG_CONSTANTS constants and renamed for the locale verification program CHECK_LOCALE_STRINGS_APP

EL_ERROR_DIALOG

Error dialog

EL_HORIZONTAL_DIALOG

Horizontal dialog

EL_INFORMATION_DIALOG

An information dialog with optional deferred localization

EL_LOCALE_WARNING_DIALOG

Locale warning dialog

EL_MESSAGE_DIALOG

Message dialog

EL_PROGRESS_DIALOG

Progress dialog

EL_SAVE_CHANGES_CONFIRMATION_DIALOG

Save changes confirmation dialog

EL_VERTICAL_DIALOG

Vertical dialog

interface/widgets/drawable

EL_BUSY_PROCESS_ANIMATION

Busy process animation

EL_DRAWABLE

Drawable

EL_DRAWING_AREA

Drawing area

EL_DRAWING_AREA_BASE

Base class for drawable objects

EL_HYPERLINK_AREA

Hyperlink area

EL_MIXED_STYLE_LABEL_AREA

Mixed style label area

EL_RED_GREEN_STATUS_LIGHTS_DRAWING_AREA

Red green status lights drawing area

EL_TIMED_PROGRESS_BAR

Timed progress bar

interface/widgets/primitives

EL_HYPERLINK_MENU

Hyperlink menu

EL_MULTI_MODE_HTML_COLOR_SELECTOR_BOX

Box with linked HTML color text box and color dialog button

EL_RIGHT_CONTEXT_MENU

Right context menu

EL_SCALE_SLIDER

Scale slider

EL_SHARED_RADIO_GROUP_TOOL_BAR

Shared radio group tool bar

EL_WIDGET_VALUE

Initialization value for widgets conforming to EL_INPUT_WIDGET

interface/widgets/primitives/button

EL_BUTTON

Button

EL_COLOR_BUTTON

Color button

EL_DECORATED_BUTTON

Button decorated by a set of 3 images, one for each of the states:

1. Normal
2. Mouse hover
3. Clicked (Depressed)

EL_DRAWING_AREA_BUTTON

Drawing area button

interface/widgets/primitives/button/radio

EL_BOOLEAN_ITEM_RADIO_BUTTON_GROUP

Binary options represented as 2 radio buttons. If the the first option is selected, the value_change_action agent is called with the value False.

EL_INTEGER_ITEM_RADIO_BUTTON_GROUP

Integer item radio button group displayed in ascending order of INTEGER value

EL_LOCALE_ZSTRING_ITEM_RADIO_BUTTON_GROUP

Radio buttons mapped to FINITE [ZSTRING] list. The displayed strings can be optionally localized.

EL_RADIO_BUTTON_GROUP

Radio button implementation of widget abstraction EL_INPUT_WIDGET [G]

EL_THUMBNAIL_RADIO_BUTTON_GROUP

Thumbnail radio button group

interface/widgets/primitives/drop-downs

EL_COMBO_BOX

Combo box

EL_DROP_DOWN_BOX

List of drop down element choices mapped to a type specified by generic paramater G and initialized with the following:

1. an initial value of type G

2. a container conforming to FINITE [G]

3. a change agent of type PROCEDURE [G]

Optional initialization settings:

1. alphabetical ordering

2. Width adjustment for longest display string

Further Information

Click on class link to see client examples.

EL_LOCALE_ZSTRING_DROP_DOWN_BOX

Drop down box with localized display strings

EL_MONTH_DROP_DOWN_BOX

Month drop down box

EL_ZSTRING_DROP_DOWN_BOX

Zstring drop down box

Further Information

Click on class link to see client examples.

interface/widgets/primitives/pixmap

EL_BUTTON_PIXMAP

Button pixmap

EL_DRAWABLE_PIXEL_BUFFER

Pixel buffer drawing using the Cairo and Pangocairo graphics libraries.

Further Information

Click on class link to see instructions and client examples.

EL_DRAWING_PIXMAP

Drawing pixmap

EL_PIXMAP

Pixmap

Further Information

Click on class link to see client examples.

interface/widgets/primitives/pixmap/svg

EL_STRETCHABLE_SVG_TEMPLATE_PIXMAP

SVG template graphic where the relative width to height can be altered before rendering

EL_SVG_PIXMAP

Class for rendering SVG as a pixmap

EL_SVG_TEMPLATE_PIXMAP

Svg template pixmap

interface/widgets/primitives/text

EL_DRAWABLE_LABEL

Drawable label

EL_DRAWING_AREA_LABEL

Drawing area label

EL_HYPENATEABLE

Hypenateable

EL_LABEL

Label

EL_LABEL_PIXMAP

Label pixmap

EL_MIXED_STYLE_FIXED_LABELS

Fixed area with multiple lines of labels with a mixture of font styles.

EL_RICH_TEXT

Rich text

EL_TEXT

Text

EL_TEXT_ALIGNMENT

Text alignment

EL_TEXT_FIELD

Text field

EL_UNDOABLE_TEXT

Undoable text facility

Further Information

Click on class link to see notes.

EL_WORD_WRAPPABLE

Word wrappable

module

EL_MODULE_GUI

Module gui

Further Information

Click on class link to see client examples.

EL_MODULE_KEY

Module key

EL_MODULE_SCREEN

Module screen

Further Information

Click on class link to see client examples.

EL_MODULE_VISION_2

Module vision 2

Further Information

Click on class link to see client examples.