mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 15:22:31 +01:00
Date:2011-05-13T16:21:42.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@894 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
80 lines
4.2 KiB
Plaintext
80 lines
4.2 KiB
Plaintext
[[Property:title|EiffelRibbon]]
|
|
[[Property:weight|2]]
|
|
[[Property:uuid|2f24957c-7fdc-f918-8c0d-37a9ef525508]]
|
|
{{UnderConstruction}}
|
|
|
|
|
|
=Introduction=
|
|
|
|
EiffelRibbon is a library of classes with an associated tool which allows the integration of the Microsoft Windows "Ribbon" into graphical user interfaces programmed with [[EiffelVision 2]] and targeted to Microsoft Windows. The ribbon is part of a [http://msdn.microsoft.com/en-us/library/aa338198.aspx#office2007uifordevelopers_detaileddesignofthenewuisystem revamped user interface approach] introduced by Microsoft with the 2007 release of the Microsoft Office applications. So you've experienced the ribbon if you've used Microsoft Word, PowerPoint, or Excel from 2007 or later.
|
|
|
|
|
|
[[Image:EiffelRibbon window 01|A window with a ribbon]]
|
|
|
|
Figure 1: A window with a ribbon.
|
|
|
|
|
|
The EiffelRibbon library contains the classes that are used to implement the ribbon facilities. The classes in the EiffelRibbon library all have class names beginning "EV_", the default prefix for EiffelVision 2 classes. So the EiffelRibbon classes can be seen as an extension to the EiffelVision 2 library. If you've used EiffelVision 2 to create applications with graphical user interfaces, then the EiffelRibbon class won't look unfamiliar to you. However, unlike other EiffelVision 2 classes, the EiffelRibbon classes only work in applications targeted to Microsoft Windows.
|
|
|
|
To gain a detailed understanding of the goals of Microsoft's Ribbon technology including some guidelines on designing effective ribbons, see [http://msdn.microsoft.com/en-us/library/cc872782.aspx the '''Ribbons''' page] on Microsoft's MSDN site.
|
|
|
|
The EiffelRibbon design tool helps you configure a ribbon in much the same way that [[EiffelBuild|EiffelBuild]] (ES Builder) helps you layout a GUI application.
|
|
|
|
=System requirements=
|
|
|
|
To use the EiffelRibbon library and tools you must have:
|
|
|
|
# Windows 7
|
|
# The Microsoft C compiler provided with either:
|
|
## Windows SDK 7.0 or greater
|
|
## Visual Studio 2008 or greater
|
|
|
|
=The EiffelRibbon design tool=
|
|
|
|
The EiffelRibbon design tool allows you to design a ribbon graphically, then generate the ribbon markup file and the Eiffel classes necessary to implement your design.
|
|
|
|
|
|
[[Image:EiffelRibbon design tool 01|EiffelRibbon design tool]]
|
|
|
|
Figure 2: An EiffelRibbon project open in the EiffelRibbon design tool.
|
|
|
|
|
|
The interface of the design tool mimics that of [[EiffelBuild|EiffelBuild]]. That is, the interface contains three panes that have counterparts in EiffelBuild:
|
|
|
|
# Type selector: A list of all the elements available for use in a ribbon.
|
|
# Layout constructor: A structured view of the organization of the elements used in a particular ribbon design.
|
|
# Object editor: The properties of the ribbon element which is currently selected in the Layout constructor.
|
|
|
|
So, if you've used EiffelBuild, the the EiffelRibbon design tool should seem quite familiar to you.
|
|
|
|
The typical usage of the design tool is much like the typical usage of EiffelBuild.
|
|
|
|
* Create a new project ( <code lang="text">File ->New Project...</code> ) and choose a location for your EiffelRibbon project.
|
|
* Configure the ribbon by adding elements, name the elements, and choose icons for buttons.
|
|
* Save the project.
|
|
* Generate the code.
|
|
* 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 <code>EV_RIBBON_TITLED_WINDOW</code> is provided with the library. <code>EV_RIBBON_TITLED_WINDOW</code> is a descendant of the standard EiffelVision 2 class <code>EV_TITLED_WINDOW</code>. The ribbon classes generated by EiffelRibbon tool can be added only to instances of <code>EV_RIBBON_TITLED_WINDOW</code>.
|
|
|
|
==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.
|
|
|
|
|
|
|
|
|
|
|
|
|