mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 23:32:42 +01:00
Author:halw
Date:2008-09-29T16:18:46.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@62 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
[[Property:title|EiffelVision 2 Samples]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|79c05bf8-367e-001d-0c13-f668e34fa5b0]]
|
||||
Vision2 ships with a number of samples provided to demonstrate different aspects of the library. If you are a new vision2 user then it is suggested that you first compile and run the [[Widgets Sample|Widgets]] sample. This will demonstrate both the appearance and behavior of the available widgets.
|
||||
Vision2 ships with a number of samples provided to demonstrate different aspects of the library. If you are a new vision2 user then it is suggested that you first compile and run the
|
||||
|
||||
The other samples provided are listed below:
|
||||
* [[Widgets Sample|Widgets]] sample. Demonstrates both the appearance and behavior of the available widgets.
|
||||
|
||||
Then explore other samples:
|
||||
* [[Accelerator Sample|Accelerator]] - Demonstrates the use of an [[ref:/libraries/vision2/reference/ev_accelerator_chart|EV_ACCELERATOR]] .
|
||||
* [[Cursor Sample|Cursor]] - Demonstrates how to modify the displayed [[ref:/libraries/vision2/reference/ev_cursor_chart|EV_CURSOR]] for an [[ref:/libraries/vision2/reference/ev_widget_chart|EV_WIDGET]] .
|
||||
* [[Gauges Sample|Gauges]] - Demonstrates different types of [[ref:/libraries/vision2/reference/ev_gauge_chart|EV_GAUGE]] .
|
||||
* [[Standard_dialogs Sample|Standard_dialogs]] - Demonstrates different types of [[ref:/libraries/vision2/reference/ev_standard_dialog_chart|EV_STANDARD_DIALOG]] .
|
||||
* [[Viewport Sample|Viewport]] - Demonstrates [[ref:/libraries/vision2/reference/ev_viewport_chart|EV_VIEWPORT]] .
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -142,10 +142,3 @@ The relative points also support rotation and scaling. These factors work just l
|
||||
|
||||
The scaling factor is divided into a horizontal and vertical component. If the factor is 0.5, everything is displayed at half its size. The rotation factor is in radians.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -45,9 +45,3 @@ Below is a structure showing the Vision2 components and the items that they acce
|
||||
*** [[ref:libraries/vision2/reference/ev_dynamic_tree_item_chart|EV_DYNAMIC_TREE_ITEM]]
|
||||
*** [[ref:libraries/vision2/reference/ev_tree_item_chart|EV_TREE_ITEM]]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ A simple example of this is demonstrated here:
|
||||
|
||||
As print takes an argument of type [[ref:/libraries/base/reference/string_8_chart|STRING_8]] , button2 becomes a valid target for the pebble contained in button1. Right clicking the mouse pointer over the '''source''' will start the transport, and right clicking with the mouse pointer over a valid '''target''' will end the transport. The transport can be canceled anytime with a simple left click, just as you would do in EiffelStudio.
|
||||
|
||||
{{note|When a transport completes, the '''pebble''' that was transported is passed as an argument to all features in the '''targets'''drop_actions whose argument type matches the '''pebble''' }}
|
||||
{{note|When a transport completes, the '''pebble''' that was transported is passed as an argument to all features in the '''targets''' drop_actions whose argument type matches the '''pebble'''. }}
|
||||
|
||||
==Three different modes of transport==
|
||||
|
||||
@@ -36,7 +36,3 @@ This mode can be set with <eiffel>set_target_menu_mode</eiffel>. Right clicking
|
||||
|
||||
When <eiffel>mode_is_pick_and_drop</eiffel> or <eiffel> mode_is_drag_and_drop</eiffel> then the shape of the mouse cursor changes to reflect whether the current GUI component below the mouse accepts the pebble or not. Calling <eiffel>set_accept_cursor</eiffel> allows you to customize this cursor used to represent a valid '''target''' while calling <eiffel>set_deny_cursor</eiffel> allows you to customize the cursor used for non valid '''targets'''.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -42,7 +42,3 @@ The following properties are also used within Vision2:
|
||||
* [[ref:libraries/vision2/reference/ev_textable_chart|EV_TEXTABLE]]
|
||||
* [[ref:libraries/vision2/reference/ev_tooltipable_chart|EV_TOOLTIPABLE]]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,3 @@ In a similar vein to constant classes, the two following classes are provided to
|
||||
* [[ref:libraries/vision2/reference/ev_stock_colors_chart|EV_STOCK_COLORS]]
|
||||
* [[ref:libraries/vision2/reference/ev_stock_pixmaps_chart|EV_STOCK_PIXMAPS]]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
[[Property:title|Containers]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|aa71e29d-f0e0-9eb2-a289-675d24aac927]]
|
||||
All Vision2 containers inherit [[ref:libraries/vision2/reference/ev_container_chart|EV_CONTAINER]]
|
||||
All EiffelVision 2 containers inherit [[ref:libraries/vision2/reference/ev_container_chart|EV_CONTAINER]]
|
||||
|
||||
==What is a container?==
|
||||
|
||||
A container is a Vision2 widget that may contain other widgets. Some containers such as [[ref:libraries/vision2/reference/ev_cell_chart|EV_CELL]] may only hold one widget while containers such as [[ref:libraries/vision2/reference/ev_box_chart|EV_BOX]] may hold multiple widgets. As a container is of type [[ref:libraries/vision2/reference/ev_widget_chart|EV_WIDGET]] , this means that a container may be placed within a container. Windows inherit from [[ref:libraries/vision2/reference/ev_cell_chart|EV_CELL]] and are therefore classed as containers also.
|
||||
A container is a EiffelVision 2 widget that may contain other widgets. Some containers such as [[ref:libraries/vision2/reference/ev_cell_chart|EV_CELL]] may only hold one widget while containers such as [[ref:libraries/vision2/reference/ev_box_chart|EV_BOX]] may hold multiple widgets. As a container is of type [[ref:libraries/vision2/reference/ev_widget_chart|EV_WIDGET]] , this means that a container may be placed within a container. Windows inherit from [[ref:libraries/vision2/reference/ev_cell_chart|EV_CELL]] and are therefore classed as containers also.
|
||||
|
||||
{{note|Containers may only contain other widgets. Items may only be placed in certain primitives. For example, an [[ref:libraries/vision2/reference/ev_list_item_chart| EV_LIST_ITEM]] may be contained in an [[ref:libraries/vision2/reference/ev_list_chart| EV_LIST]] . }}
|
||||
|
||||
==Inheritance from Base==
|
||||
|
||||
Wherever possible, Vision2 containers reuse the container structures provided by Base. This provides three main advantages:
|
||||
# Familiarity for operations such as access, insertions and removals. Anybody who already uses [[EiffelBase Library|Base]] should find it easy to adapt to using Vision2 containers.
|
||||
Wherever possible, EiffelVision 2 containers reuse the container structures provided by [[EiffelBase]]. This provides three main advantages:
|
||||
# Familiarity for operations such as access, insertions and removals. Anybody who already uses [[EiffelBase]] should find it easy to adapt to using EiffelVision 2 containers.
|
||||
# The underlying structures used have been tried and tested for many years and their design has been proved to be robust and effective.
|
||||
# It provides powerful methods of querying the contents. In the original Vision library, you needed to keep reference to widgets as you could not query the contents of a container.
|
||||
# It provides powerful methods of querying the contents. In the original EiffelVision library, you needed to keep reference to widgets as you could not query the contents of a container.
|
||||
|
||||
For example, [[ref:libraries/vision2/reference/ev_container_chart|EV_CONTAINER]] inherits <eiffel>BOX</eiffel> and <eiffel>COLLECTION</eiffel>. Descendents of [[ref:libraries/vision2/reference/ev_container_chart|EV_CONTAINER]] such as [[ref:libraries/vision2/reference/ev_box_chart|EV_BOX]] may also inherit other structures from [[EiffelBase Library|Base]] .
|
||||
For example, [[ref:libraries/vision2/reference/ev_container_chart|EV_CONTAINER]] inherits <eiffel>BOX</eiffel> and <eiffel>COLLECTION</eiffel>. Descendents of [[ref:libraries/vision2/reference/ev_container_chart|EV_CONTAINER]] such as [[ref:libraries/vision2/reference/ev_box_chart|EV_BOX]] may also inherit other structures from [[EiffelBase]] .
|
||||
|
||||
==Usage of Containers==
|
||||
|
||||
@@ -41,7 +41,7 @@ A code example of adding widgets to a container is as follows:
|
||||
end
|
||||
</code>
|
||||
|
||||
The mapping of a Vision2 container interface is very close to that of containers in Base, such as a linked list.
|
||||
The mapping of a EiffelVision 2 container interface is very close to that of containers in [[EiffelBase]], such as a linked list.
|
||||
* To add a widget to a container call `extend'.
|
||||
* To remove a widget from the container call `prune'.
|
||||
* To empty a container call `wipe_out'.
|
||||
@@ -60,8 +60,3 @@ As [[ref:libraries/vision2/reference/ev_container_chart|EV_CONTAINER]] is of ty
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -28,6 +28,3 @@ A message dialog gives your application a standard way of displaying useful (or
|
||||
* [[ref:libraries/vision2/reference/ev_confirmation_dialog_chart|EV_CONFIRMATION_DIALOG]] -- Allows the user to confirm an action that has been requested.
|
||||
* [[ref:libraries/vision2/reference/ev_error_dialog_chart|EV_ERROR_DIALOG]] -- Allows an error message to be shown to the user.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -46,6 +46,3 @@ Now that you can create a widget, you will need to actually make it usable to yo
|
||||
* Making the widget respond to user [[Events| events]] via the use of agents and action sequences.
|
||||
* Placing the widget inside a [[Containers| container]] widget (either a window or a child of a window) so it can be shown on screen.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user