From 5dcc4603a9623eac39839b4dac431b73df6a7a21 Mon Sep 17 00:00:00 2001 From: halw Date: Mon, 4 Apr 2011 01:52:10 +0000 Subject: [PATCH] Author:halw Date:2011-03-31T19:21:05.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@867 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- .../microsoft-windows/eiffelribbon/index.wiki | 32 +++++++++---------- .../scoop-examples/barbershop.wiki | 16 ---------- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki b/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki index f0d2bafb..70f5fba1 100644 --- a/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki @@ -27,22 +27,6 @@ To use the EiffelRibbon library and tools you must have: ## Windows SDK 7.0 or greater ## Visual Studio 2008 or greater -=Current state of development= - -Initial distribution: -:The EiffelRibbon library is not usable directly. The EiffelRibbon design tool allows you to design a ribbon and will generate code that relies on the EiffelRibbon library. - -:A class EV_RIBBON_TITLED_WINDOW is provided with the library. EV_RIBBON_TITLED_WINDOW is a descendant of the standard EiffelVision 2 class EV_TITLED_WINDOW. The ribbon classes generated by EiffelRibbon tool can be added only to instances of EV_RIBBON_TITLED_WINDOW. - -==Known issues and limitations== - -Initial distribution: - -* Not all elements shown in the Type selector can actually be used in a design. For the unusable elements, pick-and-drop is disabled. -* Resizing policy is not yet supported. -* It is necessary to freeze the target system each time the EiffelRibbon code is regenerated. -* When using EV_RICH_TEXT within a ribbon, the EV_RICH_TEXT may not be refreshed right after the ribbon has been displayed. - =The EiffelRibbon design tool= The EiffelRibbon design tool allows you to design a ribbon graphically, then generate the corresponding Eiffel classes necessary to implement your design. @@ -70,6 +54,22 @@ The typical usage of the design tool is much like the typical usage of EiffelBui * Use EiffelStudio to compile the generated code. +=Current state of development= + +Initial distribution: +:The EiffelRibbon library is not usable directly. The EiffelRibbon design tool allows you to design a ribbon and will generate code that relies on the EiffelRibbon library. + +:A class EV_RIBBON_TITLED_WINDOW is provided with the library. EV_RIBBON_TITLED_WINDOW is a descendant of the standard EiffelVision 2 class EV_TITLED_WINDOW. The ribbon classes generated by EiffelRibbon tool can be added only to instances of EV_RIBBON_TITLED_WINDOW. + +==Known issues and limitations== + +Initial distribution: + +* Not all elements shown in the Type selector can actually be used in a design. For the unusable elements, pick-and-drop is disabled. +* Resizing policy is not yet supported. +* It is necessary to freeze the target system each time the EiffelRibbon code is regenerated. +* When using EV_RICH_TEXT within a ribbon, the EV_RICH_TEXT may not be refreshed right after the ribbon has been displayed. + diff --git a/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/barbershop.wiki b/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/barbershop.wiki index eb1a7612..8b45b830 100644 --- a/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/barbershop.wiki +++ b/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/barbershop.wiki @@ -26,22 +26,6 @@ The SHOP includes features enter and leavedo_hair_cut in class BARBER. This feature is called by a customer when the barber becomes available to cut the customer's hair. do_hair_cut is a function that returns a BOOLEAN. If you look at the source code for do_hair_cut, you'll see that the routine cannot complete with any result other than True ... and this may seem odd. - - - do_hair_cut (an_id: INTEGER): BOOLEAN - -- Called from a customer who wants to get hair cut - require - an_id >= 0 - do - (create {EXECUTION_ENVIRONMENT}).sleep (hair_cut_time * 1000000) - result := true - end - - -Couldn't a function that always returns the exact same predictable result be safely made a procedure? Certainly it could. However, there is a SCOOP oriented reason for this routine being a function rather than a procedure. - -{BARBER}.do_hair_cut is a function in order to become synchronous. Remember that a [[Concurrent Eiffel with SCOOP#Separate types and separate calls|separate call]] which is a query is always a [[Concurrent Eiffel with SCOOP#Synchronous and asynchronous feature calls|synchronous call]]. In the case of the customer, he needs to leave the shop only after his haircut is complete. Therefore, the query do_hair_cut will be synchronous and ensure that the haircut is complete before the customer leaves the shop.