From 62062e630bdbee6d6b437165d056fc082600afb8 Mon Sep 17 00:00:00 2001 From: halw Date: Mon, 10 Jan 2011 22:03:41 +0000 Subject: [PATCH] Author:halw Date:2011-01-10T22:03:41.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@730 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- .../eiffelstudio/_images/trace_01_off.png | Bin 0 -> 11117 bytes .../_images/trace_01_off.png.data | 3 ++ .../eiffelstudio/_images/trace_01_on.png | Bin 0 -> 12363 bytes .../eiffelstudio/_images/trace_01_on.png.data | 3 ++ .../_images/trace_01_with_eiffelbase.png | Bin 0 -> 35061 bytes .../_images/trace_01_with_eiffelbase.png.data | 3 ++ .../running-and-debugging/tracing.wiki | 51 ++++++++++++++++-- .../microsoft-windows/eiffelribbon/index.wiki | 27 +++++++++- 8 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 documentation/current/eiffelstudio/_images/trace_01_off.png create mode 100644 documentation/current/eiffelstudio/_images/trace_01_off.png.data create mode 100644 documentation/current/eiffelstudio/_images/trace_01_on.png create mode 100644 documentation/current/eiffelstudio/_images/trace_01_on.png.data create mode 100644 documentation/current/eiffelstudio/_images/trace_01_with_eiffelbase.png create mode 100644 documentation/current/eiffelstudio/_images/trace_01_with_eiffelbase.png.data diff --git a/documentation/current/eiffelstudio/_images/trace_01_off.png b/documentation/current/eiffelstudio/_images/trace_01_off.png new file mode 100644 index 0000000000000000000000000000000000000000..6cff0ebdbc9ef403ca73a3b922d3f11845700a10 GIT binary patch literal 11117 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

9v7bf@IufBL!3A}OD%IYiDGcqANFy_oyQw|FQ z6A{G_FdWSXvHJbzkBFi!n;O5iX|2Z>i_8eVi>eXV%TO=$U;pI&WVl@6ziERrXbq>! zi@`ZMIngT$tTPmf+u?YP-Uqa)3@A(Y!_7IidKEabM9Q7t)+H481wEC}u#xD~DB_gy z(&=K|3}#rMVV(!<#Q*s(@MbPd{@#!^30#db_rqKUOBj=K`XYL zV9bU&Bt%`-GxW=$w59y0bSe616?lOM@RfU&zy_)V7Aa3`^!}cAdbEwLai7BY5QgHF zPxj`3gfs{}lh}5~efa0XDxWqM7weQoda-XKleD%e-hbn8UlJLw5pflAUQgqdaeIz% zdL1ULr=yo$T`gn7Uk+$LyfN^OU3zH(dzzADv3K)EEXP!LcQ^b#?4JV_Vxpp7B~h+* zE&8_TFbMlAFYYimg z)FvBIb@e`kj&yArP5f%C>f3ZyOdblQy3*U3Ud}$~z|P~UZVUBq~VHz_*ksA zFIXo=Gh2|uz?8MSpMh;YAt^g7h-;v?K7+m70OD{(F8K-*FgC*KPpuZ6TwR&%0E0C$ z{^v3>+Q&={43q=ou{Kr{ZJPW0uOrpIMt4khZ_H3o^8{Q=cMLw=UX_05lVriiWb9hZ z-Sb}l_XIIYJo_d-ADe$z&jlc_3BS_`vOkx1%P%GtOSt|>w%}!|=}WH$QTG`t5C2Ha zqK$uKvg;tHD+7aF?*^*9@q>XmyNaBoIt3fdzn5cczr}q<%8)&Och`6FC9QMUVLSO4 z7|->IhR~fttF=Fc##p4H*u+jzetv#Q$@*wT-crCsy$>U|XJ;H&OJjHa{-|@PO@*=H zEe zn#!)_oSZIidh4x|H`wB&xBEh6ekn*ni&bpEH*})PL22zAR#Y+H($`ztVB;kefq@em z5$0bzb?m~26YW1_<6{)lyCJkTs$CCSVk?#d>s(tGHueYH%}$Y;9E(pv4vH8R=u65*;y?#pU91(?WBF_=4%hHB|E59+aGodmN-4BuTmkKS|su1p*j?dOza&Uo?62K>M%Y4fTL~D}GgZb5MsvUfZb$PPB5}mS&S_y(bWM~7Zsk>Bp*gp06ylWi_T9tr^2BpSJ$|tRj z)+(YUJD8xnkFQT57nB~FK4W99{-YX4nH6wwM*>Y#?eEN?Q3{OSW2_i}JPUSU_;VMb zyYz=g!GwhhtWpv(##mGq3LPZ`bzU1d)J_u-Sz1S19I5Y+3JkT(Xu4OMH$GJA1luVs z67hAVuCnc$kL_2dKEfJ#TFHJ6X=`^N>wDtDfit!)YDnKRYnq9Us*DPn z%sch1UaBq&|E2Y%QDQ8!fgGH_UB{V=7akiVsBa&6B^<8aiE_>GUWj!SZ)hbS|A@pc z**YT{$j{6DqgZEHT8H+!zej#e*S~K?vq|xlmnZkuFN4vI-dA%s6voH9cIWvs;u(=Q zQcPR69(DEsUYKM<$}|37W}-5UX!Jx+(TSLt7z~M=Dvh3Fix>r$)I44yK=7c5%yNlO z%5#-Vu6Z<`;IYl5_CYZ=c*VMt`7C#|0#o0P8DXf?!4fjbw@_dfJU_6cmpzjhQ^Y-Qe=Kh8wNhWgD0IW z)C8J}qbIt5I;Wp(y>@s?Vd78neX8%D<4<9}v^WIc=kI$pSvP(lY>(5k(+Cw&CEa*l z#7^YTA?&zV2$=V9Fb_pXM+L3a9i~>Y7?5OrDKF^+i+5g!EZ9=SPJCn1*|pA!cay9r zbL0v!T$Ylpd3gB(SR4O2A&laav>z_9C`akZeyoH^)*Xgq9KWa7vCs42!N^(I O;gPy7q(t@E>;D1SbnG?& literal 0 HcmV?d00001 diff --git a/documentation/current/eiffelstudio/_images/trace_01_on.png.data b/documentation/current/eiffelstudio/_images/trace_01_on.png.data new file mode 100644 index 00000000..c9dc2bff --- /dev/null +++ b/documentation/current/eiffelstudio/_images/trace_01_on.png.data @@ -0,0 +1,3 @@ +title=Tracing 01 on +author=halw +path=content/tracing-01-0 diff --git a/documentation/current/eiffelstudio/_images/trace_01_with_eiffelbase.png b/documentation/current/eiffelstudio/_images/trace_01_with_eiffelbase.png new file mode 100644 index 0000000000000000000000000000000000000000..9120875920a56537224894eecb61a787f8ee4b1a GIT binary patch literal 35061 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 literal 0 HcmV?d00001 diff --git a/documentation/current/eiffelstudio/_images/trace_01_with_eiffelbase.png.data b/documentation/current/eiffelstudio/_images/trace_01_with_eiffelbase.png.data new file mode 100644 index 00000000..db04b133 --- /dev/null +++ b/documentation/current/eiffelstudio/_images/trace_01_with_eiffelbase.png.data @@ -0,0 +1,3 @@ +title=Tracing 01 with EiffelBase +author=halw +path=content/tracing-01-eiffelbase diff --git a/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki b/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki index f6cf8b4b..a9e7dc63 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki @@ -1,12 +1,15 @@ [[Property:title|Tracing]] [[Property:weight|8]] -[[Property:uuid|69b8b724-1820-6cae-211c-6edbce9a6a6b]] +[[Property:uuid|ecb9dd1e-52a9-25c4-b27b-4b5ec806b115]] {{UnderConstruction}} +=Introduction= The '''tracing facility''' allows you to see a structured log of the flow of control through your system, feature by feature. By default, execution traces are written to standard output. -You can enable tracing for a particular cluster by setting the '''Trace''' setting to '''True''' in your project settings for a particular cluster. +=The "Trace" project setting= + +You can make tracing usable for a particular cluster by setting the '''Trace''' setting to '''True''' in your project settings for a particular cluster. To do this: * Open the [[Group Options|Project Settings]] dialog. @@ -17,13 +20,34 @@ To do this: This will cause a trace entry to be written to the console for any feature execution on a class in the cluster(s) you selected for tracing. To get a feel for this, look at the following trace outputs, built on the default Eiffel application ("Hello Eiffel World!). -It is also possible to dynamically start and stop tracing. To do this: +First, here's what the "Hello Eiffel World!" output looks like without using the tracing facility. + + +[[Image:Tracing 01 off]] + + +Next, here's the output when the '''Trace''' project setting is set to '''True''' on the root cluster. + + +[[Image:Tracing 01 on]] + + +Last, here's the output when '''Trace''' is '''True''' for both the root cluster and EiffelBase. + + +[[Image:Tracing 01 with EiffelBase]] + + +=Dynamic control= + +It is also possible to enable and disable the trace dynamically. To do this: * Create an object of type [[ref:/libraries/base/reference/tracing_setting_chart|TRACING_SETTING]] . * Call [[ref:libraries/base/reference/tracing_setting_flatshort|enable_tracing]] on this object to start the trace. * Call [[ref:libraries/base/reference/tracing_setting_flatshort|disable_tracing]] on this object to stop the trace. {{tip|To enable tracing on only part of a system, disable tracing at the very beginning of the program, enable it just before the part of the code that should be traced, and then disable it again after this section. The code below illustrates this tip. }} + In the root feature: @@ -34,8 +58,25 @@ In the root feature: create ts.make ps.disable_tracing -- Program execution continues. - ps.enable_tracing - end + ... + end + + + +Then, in a feature in which tracing is desired: + + + local + ts: TRACING_SETTING + -- Other local variables if necessary. + do + create ts.make + ps.enable_tracing -- Enable trace + -- Section needing trace. + ... + ps.disable_tracing -- Disable trace + end + diff --git a/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki b/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki index 23271d99..a914df67 100644 --- a/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/eiffelribbon/index.wiki @@ -1,6 +1,6 @@ [[Property:title|EiffelRibbon]] [[Property:weight|2]] -[[Property:uuid|26bd5ec6-c29a-ac92-b683-39d6bf969b80]] +[[Property:uuid|2f24957c-7fdc-f918-8c0d-37a9ef525508]] {{UnderConstruction}} @@ -11,7 +11,7 @@ EiffelRibbon is a library of classes with an associated tool which allows the in =Current state of development= Initial distribution: -:The EiffelRibbon library is not usable directly. The EiffelRibbon tool allows you to design a ribbon and will generate code that relies on the EiffelRibbon library. +: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. @@ -24,5 +24,28 @@ To use the EiffelRibbon library and tools you must have: ## 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 corresponding Eiffel classes necessary to implement your design. + +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 ( File ->New Project... ) 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. + + + +