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

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