Author:halw

Date:2008-09-29T02:03:12.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@60 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2008-09-29 02:03:12 +00:00
parent 4540855d74
commit 5446353c01
19 changed files with 54 additions and 96 deletions

View File

@@ -1,7 +1,7 @@
[[Property:title|Create an object]]
[[Property:weight|1]]
[[Property:uuid|b2ef8e81-a045-dce2-725f-c8db5ab1b6db]]
An EiffelBuild [[EiffelBuild Notation|object]] is a representation of a Vision2 component and its properties.
An EiffelBuild [[EiffelBuild Notation|object]] is a representation of an EiffelVision 2 component and its properties.
To create a new instance of an object, [[EiffelBuild Notation|pick]] a type from the [[Type selector|type selector]] and [[EiffelBuild Notation|drop]] onto an existing [[EiffelBuild Notation|object]] (Accessible from the [[Layout constructor|layout constructor]] or [[Builder window|builder window]] ). You will only be able to complete the [[EiffelBuild Notation|drop]] if the targeted [[EiffelBuild Notation|object]] will accept a new object of the transported type.

View File

@@ -1,9 +1,5 @@
[[Property:title|EiffelBuild: Starting a project]]
[[Property:weight|0]]
[[Property:uuid|803e2034-dec3-340c-e68e-fdbaefac8a5a]]
* [[EiffelBuild: Creating a new project|Creating a new project]]
* [[Retrieving a project from a Build project file|Retrieving a project from a Build project file]]

View File

@@ -1,13 +1,5 @@
[[Property:title|EiffelBuild How To's]]
[[Property:weight|0]]
[[Property:uuid|1df547c8-ca5b-f014-5b4f-a39ecefaa746]]
* [[EiffelBuild: Starting a project|Starting a project]]
* [[Create an object|Create an object]]
* [[Delete an object|Delete an object]]
* [[Save a project|Save a project]]
* [[Reparent an Object|Reparent an object]]
* [[Import a project|Import a Project]]

View File

@@ -1,11 +1,5 @@
[[Property:title|EiffelBuild: General interface description]]
[[Property:weight|2]]
[[Property:uuid|e16b365e-469e-e2ab-e955-7f4e81630fe3]]
* [[EiffelBuild window overview|EiffelBuild window overview]]
* [[Main toolbar|Main toolbars]]
* [[EiffelBuild: Key shortcuts|Key shortcuts]]
* [[Docking|Docking]]

View File

@@ -61,7 +61,8 @@ The complete list of the icons in the toolbar is displayed below. <br/>
The screenshot at the top of this page shows all of the buttons enabled. As the state of the currently open project changes, the state of each of these buttons is updated to reflect this. For example, immediately after saving the project, the save button is disabled until the project is modified again.
'''Note''': It is not possible to customize the toolbar.
{{note|It is not possible to customize the toolbar. }}

View File

@@ -11,11 +11,9 @@ The options available in this tab are as follows:
* '''Attribute declarations'''
** '''Local''' - All attributes (corresponding to widgets and items generated by EiffelBuild) are declared as local variables.
** '''Attributes''' -- All attributes are declared as attributes of the class with the following export status:
**
*** '''Exported''' - All attributes are exported to ANY.
*** '''Export only named''' - Only those attributes that have been named are exported to ANY while unnaned attributes are not exported..
*** '''Export None''' - None of the attributes are exported.
** '''Grouped''' - Should different objects of same type be declared individually, or grouped?<br/>

View File

@@ -1,23 +1,5 @@
[[Property:title|EiffelBuild Reference]]
[[Property:weight|1]]
[[Property:uuid|15b53149-5a31-9a1a-e9ad-739174678064]]
* [[EiffelBuild Introduction|EiffelBuild Introduction]]
* [[EiffelBuild Notation|EiffelBuild Notation]]
* [[EiffelBuild: General interface description|General interface description]]
* [[Layout constructor|Layout constructor]]
* [[Type selector|Type selector]]
* [[Object editor|Object editor]]
* [[Display window|Display window]]
* [[Builder window|Builder window]]
* [[Component selector|Component selector]]
* [[Widget selector|Widget selector]]
* [[Component viewer|Component viewer]]
* [[History|History]]
* [[Constants|Constants]]
* [[EiffelBuild: Project settings window|Project settings]]
* [[EiffelBuild Preferences|Preferences]]
* [[EiffelBuild: Code Generation|Code generation]]
EiffelBuild is the high-level interface builder by Eiffel Software which allows you to develop graphical user interface (GUI) applications simply and quickly.

View File

@@ -3,8 +3,10 @@
[[Property:uuid|eb93c9bf-53b3-6718-5c30-d17133633c6f]]
The layout constructor provides a view of the [[EiffelBuild Notation|objects]] you have defined in your system, in which the [[EiffelBuild Notation|objects]] may be manipulated. The root node of the tree is the object currently selected within the [[Widget selector|widget selector]] and objects may be added/moved within the displayed widget structure by picking and dropping the objects as required. For example, in the screenshot below, you could add another list to the vertical box, by picking a list from the [[Type selector|type selector]] and dropping it on the vertical box object.
[[Image:layout-constructor]]
Each item in the tree represents one object. The screenshot above represents the following [[EiffelVision Introduction|EiffelVision2]] interface definition - An EV_TITLED_WINDOW containing one child, of type EV_VERTICAL_BOX. Within the vertical box there is an EV_HORIZONTAL_BOX and an EV_LIST. The list is empty, but the horizontal box contains three different objects of type EV_BUTTON.
{{note|The widget displayed as the root of the Layout Constructor is the currently selected object in the [[Widget selector|Widget Selector]] . To edit the contents of a different widget, select the widget you wish to manipulate from the [[Widget selector|widget selector]] .}}
@@ -33,7 +35,11 @@ An [[EiffelBuild Notation|object]] contained in a system may be highlighted in
==Locked Objects==
Objects that are instances of other objects are displayed as locked objects within the Layout Constructor as illustrated below:
[[Image:layout-constructor-locked]]
The object of type OK_CANCEL_BUTTONS is a locked instance of another object as illustrated by the locked icon displayed on top of it's type icon. As a locked object is simply an instance of another object, its internal structure may not be manipulated directly within the Layout Constructor. To change the structure of a locked object, you must directly change the object of which it is an instance.
To add a locked object to your interface, simply pick the object that you wish to re-use from the [[Widget selector|widget selector]] and drop it into the desired parent object within the Layout Constructor. In this case, the instance of the OK_CANCEL_BUTTONS object is actually comprised of a number of widgets which may only be modified through manipulation of the original OK_CANCEL_BUTTONS_OBJECT. Changes made to this original object are then applied to all instances within your interface structures.

View File

@@ -13,6 +13,3 @@ The EiffelVision 2 library includes the following interface clusters:
To see differences between released versions of EiffelVision, click [[Revisions and Bug Fixes|Here]]

View File

@@ -1,19 +1,19 @@
[[Property:title|Kernel]]
[[Property:weight|1]]
[[Property:uuid|d830dc77-cd77-1f52-0e39-e0ec1cffa028]]
The kernel cluster contains classes that provide functionality that are common to most Windowed application. These classes are considered the core, or kernel of any Vision2 application. The most important of these classes is [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] . This is used to initialize the graphical toolkit and event loop of your Vision2 application. Kernel also includes classes such as [[ref:libraries/vision2/reference/ev_timeout_chart| EV_TIMEOUT]] that calls procedures (via agents) at a set interval, and [[ref:libraries/vision2/reference/ev_color_chart| EV_COLOR]] which is used for coloring widgets and items. To start programming with Vision2, you first have to correctly initialize [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] .
The kernel cluster contains classes that provide functionality that are common to most Windowed application. These classes are considered the core, or kernel of any EiffelVision2 application. The most important of these classes is [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] . This is used to initialize the graphical toolkit and event loop of your EiffelVision2 application. Kernel also includes classes such as [[ref:libraries/vision2/reference/ev_timeout_chart| EV_TIMEOUT]] that calls procedures (via agents) at a set interval, and [[ref:libraries/vision2/reference/ev_color_chart| EV_COLOR]] which is used for coloring widgets and items. To start programming with EiffelVision2, you first have to correctly initialize [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] .
==Launching your application with EV_APPLICATION - The heart of all Vision2 systems==
[[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] is the basis for every Vision2 application and is considered the most important class in the library. It is responsible for initializing the underlying toolkit that is driving the windowing system on the platform that you decide to compile your system on. It also also where the main event loop that drives your application is executed.
[[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] is the basis for every EiffelVision2 application and is considered the most important class in the library. It is responsible for initializing the underlying toolkit that is driving the windowing system on the platform that you decide to compile your system on. It also also where the main event loop that drives your application is executed.
{{note|It is ''' not''' possible to create a Vision2 component unless an application exists (query [[ref:/libraries/vision2/reference/ev_environment_chart|EV_ENVIRONMENT]] ). }}
You may inherit [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] or use it as a client in order to create your vision2 application. A simple method of using EV_APPLICATION is as follows:
You may inherit [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] or use it as a client in order to create your EiffelVision2 application. A simple method of using EV_APPLICATION is as follows:
# Create an instance of EV_APPLICATION.
# Create one or more windows for your application.
# Launch the application.
An example of a Vision2 application using inheritance from [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] is shown below.
An example of an EiffelVision2 application using inheritance from [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] is shown below.
<code>
class
HELLOWORLD_APP
@@ -42,7 +42,7 @@ An example of a Vision2 application using inheritance from [[ref:libraries/visio
end
</code>
This is the same Vision2 application but instead using <eiffel>[/libraries/vision2/reference/ev_application_chart.xml| EV_APPLICATION ]</eiffel> in a client/supplier relationship.
This is the same EiffelVision2 application but instead using [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] in a client/supplier relationship.
<code>
class
HELLOWORLD_APP
@@ -53,7 +53,7 @@ This is the same Vision2 application but instead using <eiffel>[/libraries/visio
feature
make is
-- Create the Vision2 application with a helloworld window.
-- Create the EiffelVision2 application with a helloworld window.
local
app: EV_APPLICATION
helloworld_window: EV_TITLED_WINDOW
@@ -70,8 +70,8 @@ This is the same Vision2 application but instead using <eiffel>[/libraries/visio
</code>
==What does Launch actually do?==
In Vision2, to launch an application means to pass control to the underlying graphical toolkit. Simply creating an application does not launch it. An explicit call to launch is required for the event processing to begin.
{{note|A Vision2 system is event based. This means that you do not have control of the execution within a Vision2 system, but must respond appropriately to [[Events|events]] as they occur. Therefore, if you call launch on an [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] , the processing for the application will continue indefinitely unless you have provided a way to exit the application. It is essential to initialize your components correctly, so your application can be exited (call <eiffel>destroy</eiffel> on the application). }}
In EiffelVision2, to launch an application means to pass control to the underlying graphical toolkit. Simply creating an application does not launch it. An explicit call to launch is required for the event processing to begin.
{{note|An EiffelVision2 system is event based. This means that you do not have control of the execution within an EiffelVision2 system, but must respond appropriately to [[Events|events]] as they occur. Therefore, if you call launch on an [[ref:libraries/vision2/reference/ev_application_chart|EV_APPLICATION]] , the processing for the application will continue indefinitely unless you have provided a way to exit the application. It is essential to initialize your components correctly, so your application can be exited (call <eiffel>destroy</eiffel> on the application). }}
==Building your application skeleton==
@@ -80,9 +80,5 @@ Now that you have a basic application skeleton set up you can now go about
* [[Containers|Adding containers to your window(s), then place your created widgets in those containers.]]
* [[Events|Add code to respond to user actions with agents and action sequences.]]
Once you have learnt the basics of GUI programming within Vision2, you are well on the way to creating powerful multi-platform applications. The Application Programming Interface (API) of Vision2 has been designed in a way to ensure that the library is as intuitive, consistent and stylistic as possible. Heavy reuse of components from EiffelBase has been one of the main reasons that made this possible.
Once you have learnt the basics of GUI programming within EiffelVision2, you are well on the way to creating powerful multi-platform applications. The Application Programming Interface (API) of EiffelVision2 has been designed in a way to ensure that the library is as intuitive, consistent and stylistic as possible. Heavy reuse of components from EiffelBase has been one of the main reasons that made this possible.