Github

Download version 1.4.8: Windows or Linux

Graphic Library: Vision-2 GUI Extensions

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.

ECF: vision2-x.ecf

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

implementation/gtk/support

EL_SCREEN_PROPERTIES_IMP

Unix implementation of EL_SCREEN_PROPERTIES_I interface

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;

EL_STOCK_COLORS_IMP

implementation/gtk/support/c_interface

EL_CAIRO_API

EL_GOBJECT_IMP

EL_GTK2

EL_GTK_INIT_API

EL_PANGO_API

EL_PANGO_CAIRO_API

EL_X11_API

implementation/gtk/widget/containers

EL_TITLED_WINDOW_IMP

Not so silly window

EL_SCROLLABLE_AREA_IMP

EL_VERTICAL_BOX_IMP

implementation/gtk/widget/primitives

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_TOOL_BAR_RADIO_BUTTON_GRID_IMP

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

EL_RICH_TEXT_IMP

EL_TEXT_FIELD_IMP

EL_TEXT_IMP

implementation/gtk/widget/primitives/pixmap

EL_DRAWABLE_PIXEL_BUFFER_IMP

implementation/implementation_interface/kernel

EL_FONT_I

EL_SCREEN_I

implementation/implementation_interface/widget

EL_RICH_TEXT_I

EL_SCALE_SLIDER_I

EL_SHARED_RADIO_GROUP_TOOL_BAR_I

EL_TEXT_FIELD_I

EL_TEXT_I

EL_TOOL_BAR_RADIO_BUTTON_GRID_I

EL_UNDOABLE_TEXT_COMPONENT_I

implementation/implementation_interface/widget/containers

EL_SCROLLABLE_AREA_I

EL_TITLED_WINDOW_I

implementation/implementation_interface/widget/primitives/pixmap

EL_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_SCREEN_PROPERTIES_IMP

Windows implementation of EL_SCREEN_PROPERTIES_I interface

EL_VISION_2_GUI_ROUTINES_IMP

Windows implementation of EL_VISION_2_GUI_ROUTINES_I interface

implementation/mswin/support/c_interface

EL_CAIRO_API_POINTERS

API function pointers for libcairo-2

EL_GDK_API

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

EL_GOBJECT_API_POINTERS

API function pointers for libgobject-2.0-0

EL_PANGO_API_POINTERS

API function pointers for libpango-1.0-0

EL_PANGO_CAIRO_API_POINTERS

API function pointers for libpangocairo-1.0-0

EL_CAIRO_API

EL_CAIRO_C_API

EL_GDK_API_POINTERS

EL_GDK_C_API

EL_GOBJECT_C_API

EL_GOBJECT_IMP

EL_PANGO_API

EL_PANGO_CAIRO_API

EL_PANGO_CAIRO_C_API

EL_PANGO_C_API

EL_SHARED_GDK_API

EL_WINDOWS_SYSTEM_METRICS_API

implementation/mswin/widget/containers

EL_TITLED_WINDOW_IMP

Not so silly window

EL_HORIZONTAL_BOX_IMP

EL_SCROLLABLE_AREA_IMP

EL_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

EL_SHARED_RADIO_GROUP_TOOL_BAR_IMP

EL_TEXT_FIELD_IMP

EL_TEXT_IMP

EL_TOOL_BAR_RADIO_BUTTON_GRID_IMP

EL_UNDOABLE_TEXT_COMPONENT_IMP

implementation/mswin/widget/primitives/pixmap

EL_DRAWABLE_PIXEL_BUFFER_IMP

interface/kernel

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_APPLICATION_EVENT_PROCESSOR

EL_COLOR

EL_FONT

EL_PARAGRAPH_FORMAT

EL_RECTANGLE

EL_ROTATABLE_RECTANGLE

EL_SCREEN

EL_SHARED_APPLICATION_EVENT_PROCESSOR

EL_VISION2_MAIN_THREAD_EVENT_REQUEST_QUEUE

EL_WINDOW

interface/logging

EL_VISION2_USER_INTERFACE

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

EL_CONSOLE_MANAGER_TOOLBAR

EL_NAVIGATION_ICONS

EL_TITLED_WINDOW_WITH_CONSOLE_MANAGER

interface/pixmaps

EL_APPLICATION_DESKTOP_MENU_ICON

EL_APPLICATION_ICON

EL_APPLICATION_IMAGE

EL_APPLICATION_PIXMAP

EL_MODULE_DESKTOP_MENU_ICON

EL_MODULE_ICON

EL_MODULE_IMAGE

EL_SCREEN_RESOLUTION_SCALING

interface/pixmaps/button-pixmaps

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_DRAWABLE_PIXEL_BUFFER_SET

EL_SVG_TEMPLATE_BUTTON_PIXMAP_SET

EL_SVG_TEXT_BUTTON_PIXMAP_SET

interface/properties

EL_MIXED_FONT_STYLEABLE

Routines for label components with mixed font styles

interface/support

EL_KEY_CONSTANTS

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

EL_MENU

Application menu with optional localization via class EL_MODULE_LOCALE

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_ACTION_EXCEPTION_MANAGER

EL_EXPANDABLE

EL_HORIZONTAL_SELECTION

EL_KEYBOARD_SHORTCUTS

EL_KEY_MODIFIER_CONSTANTS

EL_RECTANGLE_ARRAY

EL_SCREEN_PROPERTIES_I

EL_VISION_2_FACTORY

EL_VISION_2_GUI_ROUTINES_I

EL_WINDOW_DRAG

interface/support/c_interface

EL_PANGO_FONT

Wrapper for PangoFontDescription

EL_CAIRO_CONSTANTS

EL_CAIRO_I

EL_GOBJECT_I

EL_PANGO_CAIRO_CONSTANTS

EL_PANGO_CAIRO_I

EL_PANGO_I

EL_SHARED_CAIRO_API

EL_SHARED_GOBJECT_API

EL_SHARED_PANGO_API

EL_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.

interface/widgets/containers

EL_CENTERED_VIEWPORT

Viewport with horizontally centered content

EL_DIRECTORY_USER_SELECT

EL_EXPANDED_CELL

EL_FRAME

EL_TITLED_TAB_BOOK_WINDOW

EL_TITLED_WINDOW

EL_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

EL_AUTO_CELL_HIDING_VERTICAL_BOX

EL_BOX

EL_CENTERED_VERTICAL_BOX

EL_HORIZONTAL_BOX

EL_VERTICAL_BOX

interface/widgets/containers/manager

EL_MANAGED_WIDGET

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_CONTAINABLE

EL_MANAGED_WIDGET_LIST

interface/widgets/containers/scrollable

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_BOX

EL_SCROLLABLE_PAGE

EL_SCROLLABLE_VERTICAL_BOX

interface/widgets/containers/scrollable/obsolete

EL_SCROLLABLE_AREA

interface/widgets/containers/tab-book

EL_TAB_SHORTCUTS

Base class for notebooks

interface/widgets/containers/tab-book/docked

EL_SPLIT_AREA_DOCKED_TAB_BOOK

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

EL_DOCKED_TAB

EL_DOCKED_TAB_BOOK

EL_DOCKING_CONTENT

EL_TAB_LIST

interface/widgets/containers/tab-book/standard

EL_TAB

Tab for EL_TAB_BOOK

EL_TAB_BOOK

Extension to EV_NOTEBOOK

EL_FIXED_TAB_BOOK

EL_NOTEBOOK_TAB

EL_TAB_CONTENT

interface/widgets/dialog

EL_CONFIRMATION_DIALOG

A confirmation dialog with optional deferred localization

EL_DIALOG_CONSTANTS

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

EL_INFORMATION_DIALOG

An information dialog with optional deferred localization

EL_APPLY_CHANGES_CONFIRMATION_DIALOG

EL_ERROR_DIALOG

EL_HORIZONTAL_DIALOG

EL_LOCALE_WARNING_DIALOG

EL_PROGRESS_DIALOG

EL_SAVE_CHANGES_CONFIRMATION_DIALOG

EL_VERTICAL_DIALOG

interface/widgets/drawable

EL_DRAWING_AREA_BASE

Base class for drawable objects

EL_BUSY_PROCESS_ANIMATION

EL_DRAWABLE

EL_DRAWING_AREA

EL_HYPERLINK_AREA

EL_MIXED_STYLE_LABEL_AREA

EL_RED_GREEN_STATUS_LIGHTS_DRAWING_AREA

EL_TIMED_PROGRESS_BAR

interface/widgets/primitives

EL_MULTI_MODE_HTML_COLOR_SELECTOR_BOX

Box with linked HTML color text box and color dialog button

EL_HYPERLINK_MENU

EL_RIGHT_CONTEXT_MENU

EL_SCALE_SLIDER

EL_SHARED_RADIO_GROUP_TOOL_BAR

interface/widgets/primitives/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_BUTTON

EL_COLOR_BUTTON

EL_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_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_INTEGER_ITEM_RADIO_BUTTON_GROUP

EL_THUMBNAIL_RADIO_BUTTON_GROUP

interface/widgets/primitives/drop-downs

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

EL_LOCALE_ZSTRING_DROP_DOWN_BOX

Drop down box with localized display strings

EL_COMBO_BOX

EL_MONTH_DROP_DOWN_BOX

EL_ZSTRING_DROP_DOWN_BOX

interface/widgets/primitives/pixmap

EL_DRAWABLE_PIXEL_BUFFER

Pixel buffer drawing using the Cairo and Pangocairo graphics libraries.

Further Information

Click on class link to see instructions.

EL_BUTTON_PIXMAP

EL_DRAWING_PIXMAP

EL_PIXMAP

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

interface/widgets/primitives/text

EL_MIXED_STYLE_FIXED_LABELS

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

EL_UNDOABLE_TEXT

Undoable text facility

Further Information

Click on class link to see notes.

EL_DRAWABLE_LABEL

EL_DRAWING_AREA_LABEL

EL_HYPENATEABLE

EL_LABEL

EL_LABEL_PIXMAP

EL_RICH_TEXT

EL_TEXT

EL_TEXT_ALIGNMENT

EL_TEXT_FIELD

EL_WORD_WRAPPABLE

module

EL_MODULE_DISPLAY_SCREEN

EL_MODULE_GUI

EL_MODULE_KEY

EL_MODULE_SCREEN

EL_MODULE_VISION_2