<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=King</id>
		<title>EiffelStudio: an EiffelSoftware project - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=King"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/King"/>
		<updated>2026-04-27T13:47:09Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8791</id>
		<title>Critical Bug Fixes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8791"/>
				<updated>2007-06-15T20:35:28Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* User Section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The page highlights the list of bugs that must be fixed prior releasing EiffelStudio version '''Y''' (previous release is called '''X'''). &lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
This list is maintained by Eiffel Software employees only. Any external users modifying the page will most likely see their changes removed. If you have a show stopper bug please add it to the User Section below. We are aware of all of your submitted bugs but we have to prioritize and fix all those that can be fixed before the end of this release cycle, which is imminent.&lt;br /&gt;
&lt;br /&gt;
== What is a &amp;quot;Critical Bug&amp;quot; ==&lt;br /&gt;
A bug is critical if it is reproducible and satisfies one of the following conditions:&lt;br /&gt;
&lt;br /&gt;
# Something that used to work in version '''X''' and that does not work in '''Y'''. &lt;br /&gt;
# New functionality that is broken in '''Y'''.&lt;br /&gt;
# A crash that was not present in '''X'''.&lt;br /&gt;
&lt;br /&gt;
== Bug List and Links ==&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Code Tools ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12392&amp;lt;/del&amp;gt;: PnD does not open a new document tab when using prefixes&lt;br /&gt;
* bug#12372: Tools disappear after running debugger *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12535&amp;lt;/del&amp;gt;: Consider changing order of tools in Show List popup&lt;br /&gt;
* bug#12510: Control+Tab inactivated for awhile after Control+Tab with scroll&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12854&amp;lt;/del&amp;gt;: Typing name of class not in system into Feature Relation title bar causes crash&lt;br /&gt;
* bug#12155: Precompiles included in Clusters possibilities in Clusters field&lt;br /&gt;
* bug#12928: Diagram tool crashes when removing a midpoint via context menu&lt;br /&gt;
&lt;br /&gt;
=== Debugger ===&lt;br /&gt;
* bug#12606: Stepping with Auto Expressions in sample graphical app causes crash (part about static externals in precompile is fixed)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12534&amp;lt;/del&amp;gt;: Clicking on Open Exception Dialog hangs estudio and window system&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12741&amp;lt;/del&amp;gt;: Changing arguments for profile in Debug Options window leads to crash&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12907&amp;lt;/del&amp;gt;: Debugger scroll area with profiles not wide enough to see all text initially&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12906&amp;lt;/del&amp;gt;: Debugger Control+Enter brings up menu of existing env variables in wrong location&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12934: Seg-fault with multi-threaded agent calls with melted-code&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Docking ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12330&amp;lt;/del&amp;gt;: Three simple docking moves causes crash&lt;br /&gt;
* bug#12756: Undocking toolbar and moving to right side of main window causes crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12738&amp;lt;/del&amp;gt;: Resetting tools layout after auto-hiding all tools causes crash &lt;br /&gt;
* bug#12612: Moving Project toolbar to top row and clicking Toolbar Options caused crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12427&amp;lt;/del&amp;gt;: Switching to Force Debugger Mode and back crashes if auto-hidden tools&lt;br /&gt;
* bug#12065: Creating narrow window via docking causes estudio crash or hang *&lt;br /&gt;
* bug#12119: Configuration with multiple windows not restored correctly on restart&lt;br /&gt;
* bug#12927: Sequence of layout saves/opens makes Force Debug Mode indicator wrong&lt;br /&gt;
* bug#12542: Multiple problems with undocked toolbars (may all be fixed) *&lt;br /&gt;
* bug#12873: Undocked toolbar position changes after saving layout and restoring *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12558&amp;lt;/del&amp;gt;: Closing undocked Project toolbar while customizing it makes reshow fail&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12213&amp;lt;/del&amp;gt;: Undocked window title not visible on Solaris SPARC with CDE when focus elsewhere&lt;br /&gt;
* bug#12340: Switching between forced/normal debugger mode makes undocked Objects window tiny&lt;br /&gt;
* bug#12375: Closing undocked window and reshowing displays it in different location *&lt;br /&gt;
* bug#12549: Double-clicking on title bar of undocked toolbar activates button below click&lt;br /&gt;
* bug#12623: Moving tool to another zone and then selecting it from Show List popup causes crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12550&amp;lt;/del&amp;gt;: Customizing undocked toolbar with one row splits it into two rows &lt;br /&gt;
* bug#12635: Address toolbar not displayed correctly when docked vertically ([[larryl]]:I don't think this is a bug)&lt;br /&gt;
* bug#12624: Multiple clicks on Show List button brings up multiple popup windows *&lt;br /&gt;
* bug#13123: Restoring toolbar layout after changing language crashes or goes into infinite loop&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12322&amp;lt;/del&amp;gt;: Exception in {SMART_TEXT}.item&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12940&amp;lt;/del&amp;gt;: Selecting View/Flat in editor for class not in system shows flat view of other class&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#13107&amp;lt;/del&amp;gt;: Internal Error invoking autocompletion&lt;br /&gt;
&lt;br /&gt;
=== Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Wizards ===&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12898&amp;lt;/del&amp;gt;: Right-clicking on Start button brings up button display/customize toolbar menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12811&amp;lt;/del&amp;gt;: Customizing toolbar and reordering via pick and drop does not position items correctly&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12532&amp;lt;/del&amp;gt;: Part of tabs not visible after initial compile or toolbar move&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12874&amp;lt;/del&amp;gt;: View/Toolbars menu not updated when show/hide toolbar via right-click menu&lt;br /&gt;
* bug#12536: Cannot distinguish pushed-in buttons from other buttons in Class tool *&lt;br /&gt;
&lt;br /&gt;
=== Context menus ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12625&amp;lt;/del&amp;gt;: Control-right click opens new Editor tab but also brings up context menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12621&amp;lt;/del&amp;gt;: Context View menu does not work correctly when Editor tab targeted to cluster&lt;br /&gt;
=== Preferences ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#13105&amp;lt;/del&amp;gt;: Console window is still called &amp;quot;External Output&amp;quot; in Preferences&lt;br /&gt;
&lt;br /&gt;
== Eiffel Compiler ==&lt;br /&gt;
* bug#12282: Expression with INTEGER_32 times REAL_64 interpreted as INTEGER_32 by full class checker&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12995&amp;lt;/del&amp;gt;: Implementing a deferred routine returning a formal into a string constant causes some undefined symbols at C compilation of a finalized system.&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12911&amp;lt;/del&amp;gt;: Interrupting compilation in degree 6 and then compiling causes crash&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12603&amp;lt;/del&amp;gt;: Compiling class with external routine crashes estudio (Solaris x86)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12129&amp;lt;/del&amp;gt;: System compiled with dynamic runtime gets link warnings and won't run&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12782&amp;lt;/del&amp;gt;: Changing generic class to non-generic and recompiling crashes in degree 1&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12776&amp;lt;/del&amp;gt;: Generic constraint which renames attribute to infix feature crashes compiler&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12775&amp;lt;/del&amp;gt;: Generic constraint with Rename that lists to Rename_pair elements crashes compiler&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision2 ===&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
== User Section ==&lt;br /&gt;
{{note| External users of Eiffel Software may place their bug report ID's and their description here. There is no guarantee that these bugs will be seen to prior to the release of 6.0. And please, only critical bugs that prevent you from continuing your work. }}&lt;br /&gt;
&lt;br /&gt;
The Wiki automatically links bugs in the using the format bug(pound sign #)id, e.g. bug#0000.&lt;br /&gt;
&lt;br /&gt;
* bug#12902: WEL_ERROR Dialog on starting debugger (resource leak?)&lt;br /&gt;
* bug#12762: Ctrl+right-click sets focus to address bar (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12888&amp;lt;/del&amp;gt;: Editors do not repaint when debugger starts (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12920&amp;lt;/del&amp;gt;: EiffelBuild: Holding digit key does not work (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#13031&amp;lt;/del&amp;gt;: Internal Error exiting EiffelStudio&lt;br /&gt;
* bug#13170: Internal Error compiling&lt;br /&gt;
* bug#13172: Internal Error clicking editor&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8790</id>
		<title>Critical Bug Fixes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8790"/>
				<updated>2007-06-15T20:27:59Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Toolbars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The page highlights the list of bugs that must be fixed prior releasing EiffelStudio version '''Y''' (previous release is called '''X'''). &lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
This list is maintained by Eiffel Software employees only. Any external users modifying the page will most likely see their changes removed. If you have a show stopper bug please add it to the User Section below. We are aware of all of your submitted bugs but we have to prioritize and fix all those that can be fixed before the end of this release cycle, which is imminent.&lt;br /&gt;
&lt;br /&gt;
== What is a &amp;quot;Critical Bug&amp;quot; ==&lt;br /&gt;
A bug is critical if it is reproducible and satisfies one of the following conditions:&lt;br /&gt;
&lt;br /&gt;
# Something that used to work in version '''X''' and that does not work in '''Y'''. &lt;br /&gt;
# New functionality that is broken in '''Y'''.&lt;br /&gt;
# A crash that was not present in '''X'''.&lt;br /&gt;
&lt;br /&gt;
== Bug List and Links ==&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Code Tools ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12392&amp;lt;/del&amp;gt;: PnD does not open a new document tab when using prefixes&lt;br /&gt;
* bug#12372: Tools disappear after running debugger *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12535&amp;lt;/del&amp;gt;: Consider changing order of tools in Show List popup&lt;br /&gt;
* bug#12510: Control+Tab inactivated for awhile after Control+Tab with scroll&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12854&amp;lt;/del&amp;gt;: Typing name of class not in system into Feature Relation title bar causes crash&lt;br /&gt;
* bug#12155: Precompiles included in Clusters possibilities in Clusters field&lt;br /&gt;
* bug#12928: Diagram tool crashes when removing a midpoint via context menu&lt;br /&gt;
&lt;br /&gt;
=== Debugger ===&lt;br /&gt;
* bug#12606: Stepping with Auto Expressions in sample graphical app causes crash (part about static externals in precompile is fixed)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12534&amp;lt;/del&amp;gt;: Clicking on Open Exception Dialog hangs estudio and window system&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12741&amp;lt;/del&amp;gt;: Changing arguments for profile in Debug Options window leads to crash&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12907&amp;lt;/del&amp;gt;: Debugger scroll area with profiles not wide enough to see all text initially&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12906&amp;lt;/del&amp;gt;: Debugger Control+Enter brings up menu of existing env variables in wrong location&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12934: Seg-fault with multi-threaded agent calls with melted-code&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Docking ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12330&amp;lt;/del&amp;gt;: Three simple docking moves causes crash&lt;br /&gt;
* bug#12756: Undocking toolbar and moving to right side of main window causes crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12738&amp;lt;/del&amp;gt;: Resetting tools layout after auto-hiding all tools causes crash &lt;br /&gt;
* bug#12612: Moving Project toolbar to top row and clicking Toolbar Options caused crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12427&amp;lt;/del&amp;gt;: Switching to Force Debugger Mode and back crashes if auto-hidden tools&lt;br /&gt;
* bug#12065: Creating narrow window via docking causes estudio crash or hang *&lt;br /&gt;
* bug#12119: Configuration with multiple windows not restored correctly on restart&lt;br /&gt;
* bug#12927: Sequence of layout saves/opens makes Force Debug Mode indicator wrong&lt;br /&gt;
* bug#12542: Multiple problems with undocked toolbars (may all be fixed) *&lt;br /&gt;
* bug#12873: Undocked toolbar position changes after saving layout and restoring *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12558&amp;lt;/del&amp;gt;: Closing undocked Project toolbar while customizing it makes reshow fail&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12213&amp;lt;/del&amp;gt;: Undocked window title not visible on Solaris SPARC with CDE when focus elsewhere&lt;br /&gt;
* bug#12340: Switching between forced/normal debugger mode makes undocked Objects window tiny&lt;br /&gt;
* bug#12375: Closing undocked window and reshowing displays it in different location *&lt;br /&gt;
* bug#12549: Double-clicking on title bar of undocked toolbar activates button below click&lt;br /&gt;
* bug#12623: Moving tool to another zone and then selecting it from Show List popup causes crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12550&amp;lt;/del&amp;gt;: Customizing undocked toolbar with one row splits it into two rows &lt;br /&gt;
* bug#12635: Address toolbar not displayed correctly when docked vertically ([[larryl]]:I don't think this is a bug)&lt;br /&gt;
* bug#12624: Multiple clicks on Show List button brings up multiple popup windows *&lt;br /&gt;
* bug#13123: Restoring toolbar layout after changing language crashes or goes into infinite loop&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12322&amp;lt;/del&amp;gt;: Exception in {SMART_TEXT}.item&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12940&amp;lt;/del&amp;gt;: Selecting View/Flat in editor for class not in system shows flat view of other class&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#13107&amp;lt;/del&amp;gt;: Internal Error invoking autocompletion&lt;br /&gt;
&lt;br /&gt;
=== Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Wizards ===&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12898&amp;lt;/del&amp;gt;: Right-clicking on Start button brings up button display/customize toolbar menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12811&amp;lt;/del&amp;gt;: Customizing toolbar and reordering via pick and drop does not position items correctly&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12532&amp;lt;/del&amp;gt;: Part of tabs not visible after initial compile or toolbar move&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12874&amp;lt;/del&amp;gt;: View/Toolbars menu not updated when show/hide toolbar via right-click menu&lt;br /&gt;
* bug#12536: Cannot distinguish pushed-in buttons from other buttons in Class tool *&lt;br /&gt;
&lt;br /&gt;
=== Context menus ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12625&amp;lt;/del&amp;gt;: Control-right click opens new Editor tab but also brings up context menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12621&amp;lt;/del&amp;gt;: Context View menu does not work correctly when Editor tab targeted to cluster&lt;br /&gt;
=== Preferences ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#13105&amp;lt;/del&amp;gt;: Console window is still called &amp;quot;External Output&amp;quot; in Preferences&lt;br /&gt;
&lt;br /&gt;
== Eiffel Compiler ==&lt;br /&gt;
* bug#12282: Expression with INTEGER_32 times REAL_64 interpreted as INTEGER_32 by full class checker&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12995&amp;lt;/del&amp;gt;: Implementing a deferred routine returning a formal into a string constant causes some undefined symbols at C compilation of a finalized system.&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12911&amp;lt;/del&amp;gt;: Interrupting compilation in degree 6 and then compiling causes crash&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12603&amp;lt;/del&amp;gt;: Compiling class with external routine crashes estudio (Solaris x86)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12129&amp;lt;/del&amp;gt;: System compiled with dynamic runtime gets link warnings and won't run&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12782&amp;lt;/del&amp;gt;: Changing generic class to non-generic and recompiling crashes in degree 1&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12776&amp;lt;/del&amp;gt;: Generic constraint which renames attribute to infix feature crashes compiler&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12775&amp;lt;/del&amp;gt;: Generic constraint with Rename that lists to Rename_pair elements crashes compiler&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision2 ===&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
== User Section ==&lt;br /&gt;
{{note| External users of Eiffel Software may place their bug report ID's and their description here. There is no guarantee that these bugs will be seen to prior to the release of 6.0. And please, only critical bugs that prevent you from continuing your work. }}&lt;br /&gt;
&lt;br /&gt;
The Wiki automatically links bugs in the using the format bug(pound sign #)id, e.g. bug#0000.&lt;br /&gt;
&lt;br /&gt;
* bug#12902: WEL_ERROR Dialog on starting debugger (resource leak?)&lt;br /&gt;
* bug#12762: Ctrl+right-click sets focus to address bar (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12888&amp;lt;/del&amp;gt;: Editors do not repaint when debugger starts (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12920&amp;lt;/del&amp;gt;: EiffelBuild: Holding digit key does not work (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#13031: Internal Error exiting EiffelStudio&lt;br /&gt;
* bug#13170: Internal Error compiling&lt;br /&gt;
* bug#13172: Internal Error clicking editor&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8789</id>
		<title>Critical Bug Fixes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8789"/>
				<updated>2007-06-15T20:25:27Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Toolbars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The page highlights the list of bugs that must be fixed prior releasing EiffelStudio version '''Y''' (previous release is called '''X'''). &lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
This list is maintained by Eiffel Software employees only. Any external users modifying the page will most likely see their changes removed. If you have a show stopper bug please add it to the User Section below. We are aware of all of your submitted bugs but we have to prioritize and fix all those that can be fixed before the end of this release cycle, which is imminent.&lt;br /&gt;
&lt;br /&gt;
== What is a &amp;quot;Critical Bug&amp;quot; ==&lt;br /&gt;
A bug is critical if it is reproducible and satisfies one of the following conditions:&lt;br /&gt;
&lt;br /&gt;
# Something that used to work in version '''X''' and that does not work in '''Y'''. &lt;br /&gt;
# New functionality that is broken in '''Y'''.&lt;br /&gt;
# A crash that was not present in '''X'''.&lt;br /&gt;
&lt;br /&gt;
== Bug List and Links ==&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Code Tools ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12392&amp;lt;/del&amp;gt;: PnD does not open a new document tab when using prefixes&lt;br /&gt;
* bug#12372: Tools disappear after running debugger *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12535&amp;lt;/del&amp;gt;: Consider changing order of tools in Show List popup&lt;br /&gt;
* bug#12510: Control+Tab inactivated for awhile after Control+Tab with scroll&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12854&amp;lt;/del&amp;gt;: Typing name of class not in system into Feature Relation title bar causes crash&lt;br /&gt;
* bug#12155: Precompiles included in Clusters possibilities in Clusters field&lt;br /&gt;
* bug#12928: Diagram tool crashes when removing a midpoint via context menu&lt;br /&gt;
&lt;br /&gt;
=== Debugger ===&lt;br /&gt;
* bug#12606: Stepping with Auto Expressions in sample graphical app causes crash (part about static externals in precompile is fixed)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12534&amp;lt;/del&amp;gt;: Clicking on Open Exception Dialog hangs estudio and window system&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12741&amp;lt;/del&amp;gt;: Changing arguments for profile in Debug Options window leads to crash&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12907&amp;lt;/del&amp;gt;: Debugger scroll area with profiles not wide enough to see all text initially&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12906&amp;lt;/del&amp;gt;: Debugger Control+Enter brings up menu of existing env variables in wrong location&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12934: Seg-fault with multi-threaded agent calls with melted-code&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Docking ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12330&amp;lt;/del&amp;gt;: Three simple docking moves causes crash&lt;br /&gt;
* bug#12756: Undocking toolbar and moving to right side of main window causes crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12738&amp;lt;/del&amp;gt;: Resetting tools layout after auto-hiding all tools causes crash &lt;br /&gt;
* bug#12612: Moving Project toolbar to top row and clicking Toolbar Options caused crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12427&amp;lt;/del&amp;gt;: Switching to Force Debugger Mode and back crashes if auto-hidden tools&lt;br /&gt;
* bug#12065: Creating narrow window via docking causes estudio crash or hang *&lt;br /&gt;
* bug#12119: Configuration with multiple windows not restored correctly on restart&lt;br /&gt;
* bug#12927: Sequence of layout saves/opens makes Force Debug Mode indicator wrong&lt;br /&gt;
* bug#12542: Multiple problems with undocked toolbars (may all be fixed) *&lt;br /&gt;
* bug#12873: Undocked toolbar position changes after saving layout and restoring *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12558&amp;lt;/del&amp;gt;: Closing undocked Project toolbar while customizing it makes reshow fail&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12213&amp;lt;/del&amp;gt;: Undocked window title not visible on Solaris SPARC with CDE when focus elsewhere&lt;br /&gt;
* bug#12340: Switching between forced/normal debugger mode makes undocked Objects window tiny&lt;br /&gt;
* bug#12375: Closing undocked window and reshowing displays it in different location *&lt;br /&gt;
* bug#12549: Double-clicking on title bar of undocked toolbar activates button below click&lt;br /&gt;
* bug#12623: Moving tool to another zone and then selecting it from Show List popup causes crash *&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12550&amp;lt;/del&amp;gt;: Customizing undocked toolbar with one row splits it into two rows &lt;br /&gt;
* bug#12635: Address toolbar not displayed correctly when docked vertically ([[larryl]]:I don't think this is a bug)&lt;br /&gt;
* bug#12624: Multiple clicks on Show List button brings up multiple popup windows *&lt;br /&gt;
* bug#13123: Restoring toolbar layout after changing language crashes or goes into infinite loop&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12322&amp;lt;/del&amp;gt;: Exception in {SMART_TEXT}.item&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12940&amp;lt;/del&amp;gt;: Selecting View/Flat in editor for class not in system shows flat view of other class&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#13107&amp;lt;/del&amp;gt;: Internal Error invoking autocompletion&lt;br /&gt;
&lt;br /&gt;
=== Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Wizards ===&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12898&amp;lt;/del&amp;gt;: Right-clicking on Start button brings up button display/customize toolbar menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12811&amp;lt;/del&amp;gt;: Customizing toolbar and reordering via pick and drop does not position items correctly&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12532&amp;gt;/del&amp;gt;: Part of tabs not visible after initial compile or toolbar move&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12874&amp;lt;/del&amp;gt;: View/Toolbars menu not updated when show/hide toolbar via right-click menu&lt;br /&gt;
* bug#12536: Cannot distinguish pushed-in buttons from other buttons in Class tool *&lt;br /&gt;
&lt;br /&gt;
=== Context menus ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12625&amp;lt;/del&amp;gt;: Control-right click opens new Editor tab but also brings up context menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12621&amp;lt;/del&amp;gt;: Context View menu does not work correctly when Editor tab targeted to cluster&lt;br /&gt;
=== Preferences ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#13105&amp;lt;/del&amp;gt;: Console window is still called &amp;quot;External Output&amp;quot; in Preferences&lt;br /&gt;
&lt;br /&gt;
== Eiffel Compiler ==&lt;br /&gt;
* bug#12282: Expression with INTEGER_32 times REAL_64 interpreted as INTEGER_32 by full class checker&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12995&amp;lt;/del&amp;gt;: Implementing a deferred routine returning a formal into a string constant causes some undefined symbols at C compilation of a finalized system.&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12911&amp;lt;/del&amp;gt;: Interrupting compilation in degree 6 and then compiling causes crash&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12603&amp;lt;/del&amp;gt;: Compiling class with external routine crashes estudio (Solaris x86)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12129&amp;lt;/del&amp;gt;: System compiled with dynamic runtime gets link warnings and won't run&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12782&amp;lt;/del&amp;gt;: Changing generic class to non-generic and recompiling crashes in degree 1&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12776&amp;lt;/del&amp;gt;: Generic constraint which renames attribute to infix feature crashes compiler&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12775&amp;lt;/del&amp;gt;: Generic constraint with Rename that lists to Rename_pair elements crashes compiler&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision2 ===&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
== User Section ==&lt;br /&gt;
{{note| External users of Eiffel Software may place their bug report ID's and their description here. There is no guarantee that these bugs will be seen to prior to the release of 6.0. And please, only critical bugs that prevent you from continuing your work. }}&lt;br /&gt;
&lt;br /&gt;
The Wiki automatically links bugs in the using the format bug(pound sign #)id, e.g. bug#0000.&lt;br /&gt;
&lt;br /&gt;
* bug#12902: WEL_ERROR Dialog on starting debugger (resource leak?)&lt;br /&gt;
* bug#12762: Ctrl+right-click sets focus to address bar (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12888&amp;lt;/del&amp;gt;: Editors do not repaint when debugger starts (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12920&amp;lt;/del&amp;gt;: EiffelBuild: Holding digit key does not work (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#13031: Internal Error exiting EiffelStudio&lt;br /&gt;
* bug#13170: Internal Error compiling&lt;br /&gt;
* bug#13172: Internal Error clicking editor&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8647</id>
		<title>Critical Bug Fixes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8647"/>
				<updated>2007-06-01T22:48:05Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Editor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The page highlights the list of bugs that must be fixed prior releasing EiffelStudio version '''Y''' (previous release is called '''X'''). &lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
This list is maintained by Eiffel Software employees only. Any external users modifying the page will most likely see their changes removed. If you have a show stopper bug please add it to the User Section below. We are aware of all of your submitted bugs but we have to prioritize and fix all those that can be fixed before the end of this release cycle, which is imminent.&lt;br /&gt;
&lt;br /&gt;
== What is a &amp;quot;Critical Bug&amp;quot; ==&lt;br /&gt;
A bug is critical if it is reproducible and satisfies one of the following conditions:&lt;br /&gt;
&lt;br /&gt;
# Something that used to work in version '''X''' and that does not work in '''Y'''. &lt;br /&gt;
# New functionality that is broken in '''Y'''.&lt;br /&gt;
# A crash that was not present in '''X'''.&lt;br /&gt;
&lt;br /&gt;
== Bug List and Links ==&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Code Tools ===&lt;br /&gt;
&lt;br /&gt;
* bug#12392: PnD does not open a new document tab when using prefixes&lt;br /&gt;
* bug#12372: Tools disappear after running debugger&lt;br /&gt;
* bug#12535: Consider changing order of tools in Show List popup&lt;br /&gt;
* bug#12510: Control+Tab inactivated for awhile after Control+Tab with scroll&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12854&amp;lt;/del&amp;gt;: Typing name of class not in system into Feature Relation title bar causes crash&lt;br /&gt;
* bug#12155: Precompiles included in Clusters possibilities in Clusters field&lt;br /&gt;
&lt;br /&gt;
=== Debugger ===&lt;br /&gt;
* bug#12606: Stepping with Auto Expressions in sample graphical app causes crash (part about static externals in precompile is fixed)&lt;br /&gt;
* bug#12534: Clicking on Open Exception Dialog hangs estudio and window system&lt;br /&gt;
* bug#12741: Changing arguments for profile in Debug Options window leads to crash&lt;br /&gt;
* bug#12907: Debugger scroll area with profiles not wide enough to see all text initially&lt;br /&gt;
* bug#12906: Debugger Control+Enter brings up menu of existing env variables in wrong location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Docking ===&lt;br /&gt;
* bug#12330: Three simple docking moves causes crash&lt;br /&gt;
* bug#12756: Undocking toolbar and moving to right side of main window causes crash&lt;br /&gt;
* bug#12738: Resetting tools layout after auto-hiding all tools causes crash&lt;br /&gt;
* bug#12612: Moving Project toolbar to top row and clicking Toolbar Options caused crash&lt;br /&gt;
* bug#12427: Switching to Force Debugger Mode and back crashes if auto-hidden tools&lt;br /&gt;
* bug#12065: Creating narrow window via docking causes estudio crash or hang&lt;br /&gt;
* bug#12119: Configuration with multiple windows not restored correctly on restart&lt;br /&gt;
* bug#12927: Sequence of layout saves/opens makes Force Debug Mode indicator wrong&lt;br /&gt;
* bug#12542: Multiple problems with undocked toolbars (may all be fixed)&lt;br /&gt;
* bug#12873: Undocked toolbar position changes after saving layout and restoring&lt;br /&gt;
* bug#12558: Closing undocked Project toolbar while customizing it makes reshow fail&lt;br /&gt;
* bug#12213: Undocked window title not visible on Solaris SPARC with CDE when focus elsewhere&lt;br /&gt;
* bug#12340: Switching between forced/normal debugger mode makes undocked Objects window tiny&lt;br /&gt;
* bug#12375: Closing undocked window and reshowing displays it in different location&lt;br /&gt;
* bug#12549: Double-clicking on title bar of undocked toolbar activates button below click&lt;br /&gt;
* bug#12623: Moving tool to another zone and then selecting it from Show List popup causes crash&lt;br /&gt;
* bug#12550: Customizing undocked toolbar with one row splits it into two rows&lt;br /&gt;
* bug#12635: Address toolbar not displayed correctly when docked vertically&lt;br /&gt;
* bug#12624: Multiple clicks on Show List button brings up multiple popup windows&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* bug#12322: Exception in {SMART_TEXT}.item&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12940&amp;lt;/del&amp;gt;: Selecting View/Flat in editor for class not in system shows flat view of other class&lt;br /&gt;
&lt;br /&gt;
=== Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Wizards ===&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12898&amp;lt;/del&amp;gt;: Right-clicking on Start button brings up button display/customize toolbar menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12811&amp;lt;/del&amp;gt;: Customizing toolbar and reordering via pick and drop does not position items correctly&lt;br /&gt;
* bug#12532: Part of tabs not visible after initial compile or toolbar move&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12874&amp;lt;/del&amp;gt;: View/Toolbars menu not updated when show/hide toolbar via right-click menu&lt;br /&gt;
* bug#12536: Cannot distinguish pushed-in buttons from other buttons in Class tool&lt;br /&gt;
&lt;br /&gt;
=== Context menus ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12625&amp;lt;/del&amp;gt;: Control-right click opens new Editor tab but also brings up context menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12621&amp;lt;/del&amp;gt;: Context View menu does not work correctly when Editor tab targeted to cluster&lt;br /&gt;
&lt;br /&gt;
== Eiffel Compiler ==&lt;br /&gt;
* bug#12282: Expression with INTEGER_32 times REAL_64 interpreted as INTEGER_32 by full class checker&lt;br /&gt;
* bug#12911: Interrupting compilation in degree 6 and then compiling causes crash&lt;br /&gt;
* bug#12603: Compiling class with external routine crashes estudio (Solaris x86)&lt;br /&gt;
* bug#12129: System compiled with dynamic runtime gets link warnings and won't run&lt;br /&gt;
* bug#12782: Changing generic class to non-generic and recompiling crashes in degree 1&lt;br /&gt;
* bug#12776: Generic constraint which renames attribute to infix feature crashes compiler&lt;br /&gt;
* bug#12775: Generic constraint with Rename that lists to Rename_pair elements crashes compiler&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision2 ===&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
== User Section ==&lt;br /&gt;
{{note| External users of Eiffel Software may place their bug report ID's and their description here. There is no guarantee that these bugs will be seen to prior to the release of 6.0. And please, only critical bugs that prevent you from continuing your work. }}&lt;br /&gt;
&lt;br /&gt;
The Wiki automatically links bugs in the using the format bug(pound sign #)id, e.g. bug#0000.&lt;br /&gt;
&lt;br /&gt;
* bug#12902: WEL_ERROR Dialog on starting debugger (resource leak?)&lt;br /&gt;
* bug#12762: Ctrl+right-click sets focus to address bar (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#12888: Editors do not repaint when debugger starts (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#12920: EiffelBuild: Holding digit key does not work (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8646</id>
		<title>Critical Bug Fixes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8646"/>
				<updated>2007-06-01T22:45:24Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Context menus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The page highlights the list of bugs that must be fixed prior releasing EiffelStudio version '''Y''' (previous release is called '''X'''). &lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
This list is maintained by Eiffel Software employees only. Any external users modifying the page will most likely see their changes removed. If you have a show stopper bug please add it to the User Section below. We are aware of all of your submitted bugs but we have to prioritize and fix all those that can be fixed before the end of this release cycle, which is imminent.&lt;br /&gt;
&lt;br /&gt;
== What is a &amp;quot;Critical Bug&amp;quot; ==&lt;br /&gt;
A bug is critical if it is reproducible and satisfies one of the following conditions:&lt;br /&gt;
&lt;br /&gt;
# Something that used to work in version '''X''' and that does not work in '''Y'''. &lt;br /&gt;
# New functionality that is broken in '''Y'''.&lt;br /&gt;
# A crash that was not present in '''X'''.&lt;br /&gt;
&lt;br /&gt;
== Bug List and Links ==&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Code Tools ===&lt;br /&gt;
&lt;br /&gt;
* bug#12392: PnD does not open a new document tab when using prefixes&lt;br /&gt;
* bug#12372: Tools disappear after running debugger&lt;br /&gt;
* bug#12535: Consider changing order of tools in Show List popup&lt;br /&gt;
* bug#12510: Control+Tab inactivated for awhile after Control+Tab with scroll&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12854&amp;lt;/del&amp;gt;: Typing name of class not in system into Feature Relation title bar causes crash&lt;br /&gt;
* bug#12155: Precompiles included in Clusters possibilities in Clusters field&lt;br /&gt;
&lt;br /&gt;
=== Debugger ===&lt;br /&gt;
* bug#12606: Stepping with Auto Expressions in sample graphical app causes crash (part about static externals in precompile is fixed)&lt;br /&gt;
* bug#12534: Clicking on Open Exception Dialog hangs estudio and window system&lt;br /&gt;
* bug#12741: Changing arguments for profile in Debug Options window leads to crash&lt;br /&gt;
* bug#12907: Debugger scroll area with profiles not wide enough to see all text initially&lt;br /&gt;
* bug#12906: Debugger Control+Enter brings up menu of existing env variables in wrong location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Docking ===&lt;br /&gt;
* bug#12330: Three simple docking moves causes crash&lt;br /&gt;
* bug#12756: Undocking toolbar and moving to right side of main window causes crash&lt;br /&gt;
* bug#12738: Resetting tools layout after auto-hiding all tools causes crash&lt;br /&gt;
* bug#12612: Moving Project toolbar to top row and clicking Toolbar Options caused crash&lt;br /&gt;
* bug#12427: Switching to Force Debugger Mode and back crashes if auto-hidden tools&lt;br /&gt;
* bug#12065: Creating narrow window via docking causes estudio crash or hang&lt;br /&gt;
* bug#12119: Configuration with multiple windows not restored correctly on restart&lt;br /&gt;
* bug#12927: Sequence of layout saves/opens makes Force Debug Mode indicator wrong&lt;br /&gt;
* bug#12542: Multiple problems with undocked toolbars (may all be fixed)&lt;br /&gt;
* bug#12873: Undocked toolbar position changes after saving layout and restoring&lt;br /&gt;
* bug#12558: Closing undocked Project toolbar while customizing it makes reshow fail&lt;br /&gt;
* bug#12213: Undocked window title not visible on Solaris SPARC with CDE when focus elsewhere&lt;br /&gt;
* bug#12340: Switching between forced/normal debugger mode makes undocked Objects window tiny&lt;br /&gt;
* bug#12375: Closing undocked window and reshowing displays it in different location&lt;br /&gt;
* bug#12549: Double-clicking on title bar of undocked toolbar activates button below click&lt;br /&gt;
* bug#12623: Moving tool to another zone and then selecting it from Show List popup causes crash&lt;br /&gt;
* bug#12550: Customizing undocked toolbar with one row splits it into two rows&lt;br /&gt;
* bug#12635: Address toolbar not displayed correctly when docked vertically&lt;br /&gt;
* bug#12624: Multiple clicks on Show List button brings up multiple popup windows&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* bug#12322: Exception in {SMART_TEXT}.item&lt;br /&gt;
* bug#12940: Selecting View/Flat in editor for class not in system shows flat view of other class&lt;br /&gt;
&lt;br /&gt;
=== Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Wizards ===&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12898&amp;lt;/del&amp;gt;: Right-clicking on Start button brings up button display/customize toolbar menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12811&amp;lt;/del&amp;gt;: Customizing toolbar and reordering via pick and drop does not position items correctly&lt;br /&gt;
* bug#12532: Part of tabs not visible after initial compile or toolbar move&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12874&amp;lt;/del&amp;gt;: View/Toolbars menu not updated when show/hide toolbar via right-click menu&lt;br /&gt;
* bug#12536: Cannot distinguish pushed-in buttons from other buttons in Class tool&lt;br /&gt;
&lt;br /&gt;
=== Context menus ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12625&amp;lt;/del&amp;gt;: Control-right click opens new Editor tab but also brings up context menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12621&amp;lt;/del&amp;gt;: Context View menu does not work correctly when Editor tab targeted to cluster&lt;br /&gt;
&lt;br /&gt;
== Eiffel Compiler ==&lt;br /&gt;
* bug#12282: Expression with INTEGER_32 times REAL_64 interpreted as INTEGER_32 by full class checker&lt;br /&gt;
* bug#12911: Interrupting compilation in degree 6 and then compiling causes crash&lt;br /&gt;
* bug#12603: Compiling class with external routine crashes estudio (Solaris x86)&lt;br /&gt;
* bug#12129: System compiled with dynamic runtime gets link warnings and won't run&lt;br /&gt;
* bug#12782: Changing generic class to non-generic and recompiling crashes in degree 1&lt;br /&gt;
* bug#12776: Generic constraint which renames attribute to infix feature crashes compiler&lt;br /&gt;
* bug#12775: Generic constraint with Rename that lists to Rename_pair elements crashes compiler&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision2 ===&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
== User Section ==&lt;br /&gt;
{{note| External users of Eiffel Software may place their bug report ID's and their description here. There is no guarantee that these bugs will be seen to prior to the release of 6.0. And please, only critical bugs that prevent you from continuing your work. }}&lt;br /&gt;
&lt;br /&gt;
The Wiki automatically links bugs in the using the format bug(pound sign #)id, e.g. bug#0000.&lt;br /&gt;
&lt;br /&gt;
* bug#12902: WEL_ERROR Dialog on starting debugger (resource leak?)&lt;br /&gt;
* bug#12762: Ctrl+right-click sets focus to address bar (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#12888: Editors do not repaint when debugger starts (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#12920: EiffelBuild: Holding digit key does not work (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8645</id>
		<title>Critical Bug Fixes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8645"/>
				<updated>2007-06-01T17:25:41Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Toolbars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The page highlights the list of bugs that must be fixed prior releasing EiffelStudio version '''Y''' (previous release is called '''X'''). &lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
This list is maintained by Eiffel Software employees only. Any external users modifying the page will most likely see their changes removed. If you have a show stopper bug please add it to the User Section below. We are aware of all of your submitted bugs but we have to prioritize and fix all those that can be fixed before the end of this release cycle, which is imminent.&lt;br /&gt;
&lt;br /&gt;
== What is a &amp;quot;Critical Bug&amp;quot; ==&lt;br /&gt;
A bug is critical if it is reproducible and satisfies one of the following conditions:&lt;br /&gt;
&lt;br /&gt;
# Something that used to work in version '''X''' and that does not work in '''Y'''. &lt;br /&gt;
# New functionality that is broken in '''Y'''.&lt;br /&gt;
# A crash that was not present in '''X'''.&lt;br /&gt;
&lt;br /&gt;
== Bug List and Links ==&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Code Tools ===&lt;br /&gt;
&lt;br /&gt;
* bug#12392: PnD does not open a new document tab when using prefixes&lt;br /&gt;
* bug#12372: Tools disappear after running debugger&lt;br /&gt;
* bug#12535: Consider changing order of tools in Show List popup&lt;br /&gt;
* bug#12510: Control+Tab inactivated for awhile after Control+Tab with scroll&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12854&amp;lt;/del&amp;gt;: Typing name of class not in system into Feature Relation title bar causes crash&lt;br /&gt;
* bug#12155: Precompiles included in Clusters possibilities in Clusters field&lt;br /&gt;
&lt;br /&gt;
=== Debugger ===&lt;br /&gt;
* bug#12606: Stepping with Auto Expressions in sample graphical app causes crash (part about static externals in precompile is fixed)&lt;br /&gt;
* bug#12534: Clicking on Open Exception Dialog hangs estudio and window system&lt;br /&gt;
* bug#12741: Changing arguments for profile in Debug Options window leads to crash&lt;br /&gt;
* bug#12907: Debugger scroll area with profiles not wide enough to see all text initially&lt;br /&gt;
* bug#12906: Debugger Control+Enter brings up menu of existing env variables in wrong location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Docking ===&lt;br /&gt;
* bug#12330: Three simple docking moves causes crash&lt;br /&gt;
* bug#12756: Undocking toolbar and moving to right side of main window causes crash&lt;br /&gt;
* bug#12738: Resetting tools layout after auto-hiding all tools causes crash&lt;br /&gt;
* bug#12612: Moving Project toolbar to top row and clicking Toolbar Options caused crash&lt;br /&gt;
* bug#12427: Switching to Force Debugger Mode and back crashes if auto-hidden tools&lt;br /&gt;
* bug#12065: Creating narrow window via docking causes estudio crash or hang&lt;br /&gt;
* bug#12119: Configuration with multiple windows not restored correctly on restart&lt;br /&gt;
* bug#12927: Sequence of layout saves/opens makes Force Debug Mode indicator wrong&lt;br /&gt;
* bug#12542: Multiple problems with undocked toolbars (may all be fixed)&lt;br /&gt;
* bug#12873: Undocked toolbar position changes after saving layout and restoring&lt;br /&gt;
* bug#12558: Closing undocked Project toolbar while customizing it makes reshow fail&lt;br /&gt;
* bug#12213: Undocked window title not visible on Solaris SPARC with CDE when focus elsewhere&lt;br /&gt;
* bug#12340: Switching between forced/normal debugger mode makes undocked Objects window tiny&lt;br /&gt;
* bug#12375: Closing undocked window and reshowing displays it in different location&lt;br /&gt;
* bug#12549: Double-clicking on title bar of undocked toolbar activates button below click&lt;br /&gt;
* bug#12623: Moving tool to another zone and then selecting it from Show List popup causes crash&lt;br /&gt;
* bug#12550: Customizing undocked toolbar with one row splits it into two rows&lt;br /&gt;
* bug#12635: Address toolbar not displayed correctly when docked vertically&lt;br /&gt;
* bug#12624: Multiple clicks on Show List button brings up multiple popup windows&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* bug#12322: Exception in {SMART_TEXT}.item&lt;br /&gt;
* bug#12940: Selecting View/Flat in editor for class not in system shows flat view of other class&lt;br /&gt;
&lt;br /&gt;
=== Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Wizards ===&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12898&amp;lt;/del&amp;gt;: Right-clicking on Start button brings up button display/customize toolbar menu&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12811&amp;lt;/del&amp;gt;: Customizing toolbar and reordering via pick and drop does not position items correctly&lt;br /&gt;
* bug#12532: Part of tabs not visible after initial compile or toolbar move&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12874&amp;lt;/del&amp;gt;: View/Toolbars menu not updated when show/hide toolbar via right-click menu&lt;br /&gt;
* bug#12536: Cannot distinguish pushed-in buttons from other buttons in Class tool&lt;br /&gt;
&lt;br /&gt;
=== Context menus ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12625&amp;lt;/del&amp;gt;: Control-right click opens new Editor tab but also brings up context menu&lt;br /&gt;
* bug#12621: Context View menu does not work correctly when Editor tab targeted to cluster&lt;br /&gt;
&lt;br /&gt;
== Eiffel Compiler ==&lt;br /&gt;
* bug#12282: Expression with INTEGER_32 times REAL_64 interpreted as INTEGER_32 by full class checker&lt;br /&gt;
* bug#12911: Interrupting compilation in degree 6 and then compiling causes crash&lt;br /&gt;
* bug#12603: Compiling class with external routine crashes estudio (Solaris x86)&lt;br /&gt;
* bug#12129: System compiled with dynamic runtime gets link warnings and won't run&lt;br /&gt;
* bug#12782: Changing generic class to non-generic and recompiling crashes in degree 1&lt;br /&gt;
* bug#12776: Generic constraint which renames attribute to infix feature crashes compiler&lt;br /&gt;
* bug#12775: Generic constraint with Rename that lists to Rename_pair elements crashes compiler&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision2 ===&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
== User Section ==&lt;br /&gt;
{{note| External users of Eiffel Software may place their bug report ID's and their description here. There is no guarantee that these bugs will be seen to prior to the release of 6.0. And please, only critical bugs that prevent you from continuing your work. }}&lt;br /&gt;
&lt;br /&gt;
The Wiki automatically links bugs in the using the format bug(pound sign #)id, e.g. bug#0000.&lt;br /&gt;
&lt;br /&gt;
* bug#12902: WEL_ERROR Dialog on starting debugger (resource leak?)&lt;br /&gt;
* bug#12762: Ctrl+right-click sets focus to address bar (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#12888: Editors do not repaint when debugger starts (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;br /&gt;
* bug#12920: EiffelBuild: Holding digit key does not work (This doesn't prevent me from doing my work, but it's a regression from 5.7.)&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8630</id>
		<title>Critical Bug Fixes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Critical_Bug_Fixes&amp;diff=8630"/>
				<updated>2007-05-31T22:48:06Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Toolbars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The page highlights the list of bugs that must be fixed prior releasing EiffelStudio version '''Y''' (previous release is called '''X'''). &lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
This list is maintained by Eiffel Software employees only. Any external users modifying the page will most likely see their changes removed. If you have a show stopper bug please add it to the User Section below. We are aware of all of your submitted bugs but we have to prioritize and fix all those that can be fixed before the end of this release cycle, which is imminent.&lt;br /&gt;
&lt;br /&gt;
== What is a &amp;quot;Critical Bug&amp;quot; ==&lt;br /&gt;
A bug is critical if it is reproducible and satisfies one of the following conditions:&lt;br /&gt;
&lt;br /&gt;
# Something that used to work in version '''X''' and that does not work in '''Y'''. &lt;br /&gt;
# New functionality that is broken in '''Y'''.&lt;br /&gt;
# A crash that was not present in '''X'''.&lt;br /&gt;
&lt;br /&gt;
== Bug List and Links ==&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Code Tools ===&lt;br /&gt;
&lt;br /&gt;
* bug#12392: PnD does not open a new document tab when using prefixes&lt;br /&gt;
* bug#12372: Tools disappear after running debugger&lt;br /&gt;
* bug#12535: Consider changing order of tools in Show List popup&lt;br /&gt;
* bug#12510: Control+Tab inactivated for awhile after Control+Tab with scroll&lt;br /&gt;
* bug#12854: Typing name of class not in system into Feature Relation title bar causes crash&lt;br /&gt;
* bug#12155: Precompiles included in Clusters possibilities in Clusters field&lt;br /&gt;
&lt;br /&gt;
=== Debugger ===&lt;br /&gt;
* bug#12606: Stepping with Auto Expressions in sample graphical app causes crash (part about static externals in precompile is fixed)&lt;br /&gt;
* bug#12534: Clicking on Open Exception Dialog hangs estudio and window system&lt;br /&gt;
* bug#12741: Changing arguments for profile in Debug Options window leads to crash&lt;br /&gt;
* bug#12907: Debugger scroll area with profiles not wide enough to see all text initially&lt;br /&gt;
* bug#12906: Debugger Control+Enter brings up menu of existing env variables in wrong location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Docking ===&lt;br /&gt;
* bug#12330: Three simple docking moves causes crash&lt;br /&gt;
* bug#12756: Undocking toolbar and moving to right side of main window causes crash&lt;br /&gt;
* bug#12738: Resetting tools layout after auto-hiding all tools causes crash&lt;br /&gt;
* bug#12612: Moving Project toolbar to top row and clicking Toolbar Options caused crash&lt;br /&gt;
* bug#12427: Switching to Force Debugger Mode and back crashes if auto-hidden tools&lt;br /&gt;
* bug#12065: Creating narrow window via docking causes estudio crash or hang&lt;br /&gt;
* bug#12119: Configuration with multiple windows not restored correctly on restart&lt;br /&gt;
* bug#12927: Sequence of layout saves/opens makes Force Debug Mode indicator wrong&lt;br /&gt;
* bug#12542: Multiple problems with undocked toolbars (may all be fixed)&lt;br /&gt;
* bug#12873: Undocked toolbar position changes after saving layout and restoring&lt;br /&gt;
* bug#12558: Closing undocked Project toolbar while customizing it makes reshow fail&lt;br /&gt;
* bug#12213: Undocked window title not visible on Solaris SPARC with CDE when focus elsewhere&lt;br /&gt;
* bug#12340: Switching between forced/normal debugger mode makes undocked Objects window tiny&lt;br /&gt;
* bug#12375: Closing undocked window and reshowing displays it in different location&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
&lt;br /&gt;
=== Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Wizards ===&lt;br /&gt;
=== Toolbars ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12898&amp;lt;/del&amp;gt;: Right-clicking on Start button brings up button display/customize toolbar menu&lt;br /&gt;
* bug#12811: Customizing toolbar and reordering via pick and drop does not position items correctly&lt;br /&gt;
* bug#12532: Part of tabs not visible after initial compile or toolbar move&lt;br /&gt;
* bug#12874: View/Toolbars menu not updated when show/hide toolbar via right-click menu&lt;br /&gt;
&lt;br /&gt;
=== Context menus ===&lt;br /&gt;
* &amp;lt;del&amp;gt;bug#12625&amp;lt;/del&amp;gt;: Control-right click opens new Editor tab but also brings up context menu&lt;br /&gt;
* bug#12621: Context View menu does not work correctly when Editor tab targeted to cluster&lt;br /&gt;
&lt;br /&gt;
== Eiffel Compiler ==&lt;br /&gt;
* bug#12282: Expression with INTEGER_32 times REAL_64 interpreted as INTEGER_32 by full class checker&lt;br /&gt;
* bug#12911: Interrupting compilation in degree 6 and then compiling causes crash&lt;br /&gt;
* bug#12603: Compiling class with external routine crashes estudio (Solaris x86)&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision2 ===&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
== User Section ==&lt;br /&gt;
{{note| External users of Eiffel Software may place their bug report ID's and their description here. There is no guarantee that these bugs will be seen to prior to the release of 6.0. And please, only critical bugs that prevent you from continuing your work. }}&lt;br /&gt;
&lt;br /&gt;
The Wiki automatically links bugs in the using the format bug(pound sign #)id, e.g. bug#0000.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_modes&amp;diff=8419</id>
		<title>Context Menu modes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_modes&amp;diff=8419"/>
				<updated>2007-05-07T21:34:40Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Context Menu Mode Switch=&lt;br /&gt;
&lt;br /&gt;
Currently, EiffelStudio has two pebble transport mechanism for performing command shortcuts within the IDE, these modes are Pick and Drop and new for EiffelStudio 6.0, Contextual Menus.  They are closely related in the sense that they both provide a mechanism for transporting a pebble source to a destination target.&lt;br /&gt;
&lt;br /&gt;
Previous EiffelStudio versions have only included the Pick and Drop pebble transport mechanism but this is not a standard way of performing tasks and can be somewhat alien to new users.  The Contextual Menus have been added as a way for EiffelStudio to entice new users by providing a more recognisable approach to accessing the facilities that the IDE provides.&lt;br /&gt;
&lt;br /&gt;
=Setting the default transport mode=&lt;br /&gt;
&lt;br /&gt;
In the EiffelStudio preferences window, there is a preference for deciding what pebble transport mechanism should be the default.  This is located in General /Pnd mode  where True is for pick and drop mode and False is to use Contextual Menus as the default mode, this preference is subject to change.&lt;br /&gt;
&lt;br /&gt;
=Activating a pebble transportation=&lt;br /&gt;
&lt;br /&gt;
EiffelStudio has many potential pebble sources, the most prevalent ones being Class pebbles and Feature pebble.  A simple right click on a pebble will activate the transport mechanism and a command to be performed on that pebble can be achieved either by dropping the pebble on to a highlighted source (if in Pick and Drop mode) or selected via a Contextual Menu item.&lt;br /&gt;
&lt;br /&gt;
=Switching from one mode to the other=&lt;br /&gt;
&lt;br /&gt;
Even though one mechanism is default, the use of the shift key whilst activating the transport mechanism with a right mouse click can be used to switch from the default mechanism to the other.&lt;br /&gt;
&lt;br /&gt;
=Using the mechanism with EiffelVision 2=&lt;br /&gt;
&lt;br /&gt;
This mechanism is built in to Vision2 and use of the original pick and drop can be updated to use the Context Menu mechanism, this is demonstrated with the following code segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[eiffel,n]&lt;br /&gt;
&lt;br /&gt;
pebble_source_widget.set_pebble (&amp;quot;STRING pebble&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pebble_source_widget.set_configurable_target_menu_mode;&lt;br /&gt;
pebble_source_widget.set_configurable_target_menu_handler (agent target_menu_handler)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pebble_target_widget.drop_actions.extend (agent print)&lt;br /&gt;
pebble_target_widget.set_target_data_function (agent target_data_function)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
target_menu_handler (&lt;br /&gt;
     a_menu: EV_MENU;&lt;br /&gt;
     a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA];&lt;br /&gt;
     a_source: EV_PICK_AND_DROPABLE;&lt;br /&gt;
     a_pebble: ANY&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
    do&lt;br /&gt;
        -- Within this feature you can manipulate `a_menu' to add custom menu items&lt;br /&gt;
        -- `a_menu' must be populated by this routine, if `a_menu' is untouched,&lt;br /&gt;
        -- a regular pick and drop transport will initiate.&lt;br /&gt;
        -- a_target_list is an array of all the potential targets for `a_pebble', the &lt;br /&gt;
        -- meta data includes target, menu text and pixmap (if applicable), this can be&lt;br /&gt;
        -- customized for each target with {EV_PICK_AND_DROPABLE}.set_target_data_function.&lt;br /&gt;
        -- `a_source' is the pebble source widget.&lt;br /&gt;
        -- `a_pebble' is the pebble in question.&lt;br /&gt;
&lt;br /&gt;
        a_menu.extend (create {EV_MENU_ITEM}.make_with_text (a_target_list.first.name))&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
pebble_target_widget.set_target_data_function (agent target_data_function)&lt;br /&gt;
&lt;br /&gt;
target_data_function (a_pebble: ANY): EV_PND_TARGET_DATA&lt;br /&gt;
    local&lt;br /&gt;
        l_string: STRING&lt;br /&gt;
    do&lt;br /&gt;
        l_string ?= a_pebble&lt;br /&gt;
        if l_string /= Void&lt;br /&gt;
          create Result&lt;br /&gt;
          Result.set_name (&amp;quot;Print the string &amp;quot; + a_pebble)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_modes&amp;diff=8415</id>
		<title>Context Menu modes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_modes&amp;diff=8415"/>
				<updated>2007-05-07T21:15:25Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Context Menu Mode Switch=&lt;br /&gt;
&lt;br /&gt;
Currently, EiffelStudio has two pebble transport mechanism for performing command shortcuts within the IDE, these modes are Pick and Drop and new for EiffelStudio 6.0, Contextual Menus.  They are closely related in the sense that they both provide a mechanism for transporting a pebble source to a destination target.&lt;br /&gt;
&lt;br /&gt;
Previous EiffelStudio versions have only included the Pick and Drop pebble transport mechanism but this is not a standard way of performing tasks and can be somewhat alien to new users.  The Contextual Menus have been added as a way for EiffelStudio to entice new users by providing a more recognisable approach to accessing the facilities that the IDE provides.&lt;br /&gt;
&lt;br /&gt;
=Setting the default transport mode=&lt;br /&gt;
&lt;br /&gt;
In the EiffelStudio preferences window, there is a preference for deciding what pebble transport mechanism should be the default.  This is located in General /Pnd mode  where True is for pick and drop mode and False is to use Contextual Menus as the default mode, this preference is subject to change.&lt;br /&gt;
&lt;br /&gt;
=Activating a pebble transportation=&lt;br /&gt;
&lt;br /&gt;
EiffelStudio has many potential pebble sources, the most prevalent ones being Class pebbles and Feature pebble.  A simple right click on a pebble will activate the transport mechanism and a command to be performed on that pebble can be achieved either by dropping the pebble on to a highlighted source (if in Pick and Drop mode) or selected via a Contextual Menu item.&lt;br /&gt;
&lt;br /&gt;
=Switching from one mode to the other=&lt;br /&gt;
&lt;br /&gt;
Even though one mechanism is default, the use of the shift key whilst activating the transport mechanism with a right mouse click can be used to switch from the default mechanism to the other.&lt;br /&gt;
&lt;br /&gt;
=Using the mechanism with EiffelVision 2=&lt;br /&gt;
&lt;br /&gt;
This mechanism is built in to Vision2 and use of the original pick and drop can be updated to use the Context Menu mechanism with the following code (where pebble_source_widget is the source of the pebble)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[eiffel,n]&lt;br /&gt;
&lt;br /&gt;
pebble_source_widget.set_configurable_target_menu_mode;&lt;br /&gt;
pebble_source_widget.set_configurable_target_menu_handler (agent target_menu_handler)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
target_menu_handler (&lt;br /&gt;
     a_menu: EV_MENU;&lt;br /&gt;
     a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA];&lt;br /&gt;
     a_source: EV_PICK_AND_DROPABLE;&lt;br /&gt;
     a_pebble: ANY&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
    do&lt;br /&gt;
        -- Within this feature you can manipulate `a_menu' to add custom menu items&lt;br /&gt;
        -- `a_menu' must be populated by this routine, if `a_menu' is untouched,&lt;br /&gt;
        -- a regular pick and drop transport will initiate.&lt;br /&gt;
        -- a_target_list is an array of all the potential targets for `a_pebble', the &lt;br /&gt;
        -- meta data includes target, menu text and pixmap (if applicable), this can be&lt;br /&gt;
        -- customized for each target with {EV_PICK_AND_DROPABLE}.set_target_data_function.&lt;br /&gt;
        -- `a_source' is the pebble source widget.&lt;br /&gt;
        -- `a_pebble' is the pebble in question.&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_modes&amp;diff=8414</id>
		<title>Context Menu modes</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_modes&amp;diff=8414"/>
				<updated>2007-05-07T20:51:04Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Context Menu Mode Switch=&lt;br /&gt;
&lt;br /&gt;
Currently, EiffelStudio has two pebble transport mechanism for performing command shortcuts within the IDE, these modes are Pick and Drop and new for EiffelStudio 6.0, Contextual Menus.  They are closely related in the sense that they both provide a mechanism for transporting a pebble source to a destination target.&lt;br /&gt;
&lt;br /&gt;
Previous EiffelStudio versions have only included the Pick and Drop pebble transport mechanism but this is not a standard way of performing tasks and can be somewhat alien to new users.  The Contextual Menus have been added as a way for EiffelStudio to entice new users by providing a more recognisable approach to accessing the facilities that the IDE provides.&lt;br /&gt;
&lt;br /&gt;
=Setting the default transport mode=&lt;br /&gt;
&lt;br /&gt;
In the EiffelStudio preferences window, there is a preference for deciding what pebble transport mechanism should be the default.  This is located in General /Pick and Drop mode  where True is for pick and drop mode and False is to use Contextual Menus as the default mode, this preference is subject to change.&lt;br /&gt;
&lt;br /&gt;
=Activating a pebble transportation=&lt;br /&gt;
&lt;br /&gt;
EiffelStudio has many potential pebble sources, the most prevalent ones being Class pebbles and Feature pebble.  A simple right click on a pebble will activate the transport mechanism and a command to be performed on that pebble can be achieved either by dropping the pebble on to a highlighted source (if in Pick and Drop mode) or selected via a Contextual Menu item.&lt;br /&gt;
&lt;br /&gt;
=Switching from one mode to the other=&lt;br /&gt;
&lt;br /&gt;
Even though one mechanism is default, the use of the shift key whilst activating the transport mechanism with a right mouse click can be used to switch from the default mechanism to the other.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_6.0_Features&amp;diff=8346</id>
		<title>EiffelStudio 6.0 Features</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_6.0_Features&amp;diff=8346"/>
				<updated>2007-04-27T16:05:43Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
This page highlights some of the major feature changes between version 5.7 and the forthcoming 6.0 release of EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
It is not a detailed log of changes and additions, but only lists the key new mechanisms directly improving the quality of the user experience. For the 6.0 change log see [[EiffelStudio Releases]].&lt;br /&gt;
&lt;br /&gt;
== EiffelStudio (General) ==&lt;br /&gt;
&lt;br /&gt;
*'''Docking manager''': major new mechanism for the GUI, providing a flexible and user-customizable GUI.&lt;br /&gt;
::This is based on a new &amp;quot;docking library&amp;quot;, so you can also add docking to your own applications.&lt;br /&gt;
*'''Contextual menu''': major interface improvement: &lt;br /&gt;
::This offers EiffelStudio users the industry-standard effect of &amp;quot;right-click&amp;quot;, while retaining the unique power of Eiffel's Pick and Drop. Parameterizable by users (i.e. EiffelStudio experts may prefer a different configuration from that appropriate for novices).&lt;br /&gt;
* '''Tabbed editing'''&lt;br /&gt;
::Makes it possible to keep multiple class editing sessions open within the same window.&lt;br /&gt;
* '''Internationalization'''&lt;br /&gt;
::The EiffelStudio GUI is now available in various languages besides English.&lt;br /&gt;
:::- Currently supported: English, French, Chinese, German and Russian interfaces.&lt;br /&gt;
:::- Volunteers for checking and completing the translations welcome.&lt;br /&gt;
:::- Volunteers for other languages also welcome!&lt;br /&gt;
::This mechanism is not specific to EiffelStudio but is based on the new ''Internationalization Library''; this means you can internationalize your own applications too.&lt;br /&gt;
* '''User-configurable shortcuts''': now applicable to all keyboard shortcuts.&lt;br /&gt;
&lt;br /&gt;
== New tools ==&lt;br /&gt;
* Dependency tool&lt;br /&gt;
::An simple way to investigate into dependencies of a target/group/folder/class. Dependencies are shown in different levels to facilitate the tracking from the group level to feature call level.&lt;br /&gt;
* Customized tools/formatters&lt;br /&gt;
::The ability to add customized formatters in to existing/new tools such as a query/command formatter in Class tool which shows queries/commands of a class. A customized formatter is defined by a metric, so it's a quicker way to use metrics. And with customized tools, you can have several several caller formatters at the same time (Make sure preference &amp;quot;Link Tools&amp;quot; is set to False).&lt;br /&gt;
* Object viewer&lt;br /&gt;
&lt;br /&gt;
== Debugger ==&lt;br /&gt;
===General===&lt;br /&gt;
*Along with the debugger integrated in the EiffelStudio GUI, you can now use a '''console-based debugger'''. Start it from the command line through ''-debug'' or via ''-loop''.&lt;br /&gt;
*Enhancements to the breakpoint mechanism: print messages, hit count for conditions, new &amp;quot;''Is True''&amp;quot; and &amp;quot;''Has Changed''&amp;quot; conditions.&lt;br /&gt;
*Numerous improvements to the performance and robustness of the debugger.&lt;br /&gt;
&lt;br /&gt;
===Expression evaluation (watch tool, condition ...)===&lt;br /&gt;
*It is now possible, during a debugging session, to execute an instruction, for example to call a procedure.&lt;br /&gt;
*By default, expressions are now evaluated, during debugging, with all assertions turned off; you can restore assertion checking for any particular expression.&lt;br /&gt;
*Full support for disable/restore assertion checking during debugging in classic AND dotnet system.&lt;br /&gt;
&lt;br /&gt;
===Graphic debugger===&lt;br /&gt;
*New object viewer tool to browse an object, dump its structured or textual representation, or see XML in a tree.&lt;br /&gt;
*Watch tools: now includes auto expressions.&lt;br /&gt;
*Greatly improved Debugging Options dialog:&lt;br /&gt;
**Easier, more intuitive ways to set and retain arguments and working directory.&lt;br /&gt;
**You can now add or modify the environment variables used by the debugger.&lt;br /&gt;
**New possibilities in Debugging Options dialog: start debugger outside the IDE, finalized system&lt;br /&gt;
*You can now:&lt;br /&gt;
*Force the environment to stay in debugger mode.&lt;br /&gt;
**Restart a debugging session without unraising the debugger's interface and raising it again.&lt;br /&gt;
*Call stack tool now indicates when a feature has a &amp;quot;rescue&amp;quot; clause.&lt;br /&gt;
*Cleaner object grid (no more &amp;quot;Attributes&amp;quot; title row, not needed)&lt;br /&gt;
&lt;br /&gt;
== Eiffel Language/Compiler ==&lt;br /&gt;
&lt;br /&gt;
* [[Compilation Without Configuration]]&lt;br /&gt;
* [[Language_road_map|ISO/ECMA Eiffel]]: '''Multiple-constraint formal generic type parameters'''.&lt;br /&gt;
::This is an often requested mechanism: the ability to specify that a formal generic parameter of a class represents a type that conforms to '''two or more''' listed types. For example, declaring&lt;br /&gt;
::':''class''' ''SORTABLE_VECTOR'' [''G'' -&amp;gt; ''NUMERIC'', ''COMPARABLE''] ... &lt;br /&gt;
::implies that ''SORTABLE_VECTOR'' [''T''] is only valid if ''T'' is a descendant of both ''NUMERIC'', ''COMPARABLE''.}}&lt;br /&gt;
* [[Language_road_map|ISO/ECMA Eiffel]]: '''Flat class checking'''&lt;br /&gt;
::This is another result of ISO/ECMA standardization, resulting from the observation that a construct specimen that is valid in a class is not necessarily valid in a descendant.&lt;br /&gt;
::For example ''x'' := ''y'' in a routine ''r'' could be valid in a class ''C'', but in a descendant of ''C'' that redefines the type of ''x'' or ''y'' it might become invalid.&lt;br /&gt;
::The type policy of ISO/ECMA Eiffel explicitly specifies that every feature must be valid in every class that has it.&lt;br /&gt;
::''Warning 1'': code that previously compiled may now violate validity rules. This is justified: the code contains potential type errors. Since 6.0 avoids breaking existing code, flat class checking is enabled only on option.&lt;br /&gt;
::''Warning 2'': flat class checking slows down compilation (as it needs to recheck inherited routines). This is another reason for not turning it on by default.&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
=== EiffelVision 2 ===&lt;br /&gt;
&lt;br /&gt;
* Library is now thread-aware, meaning that non-GUI threads can interact with the main GUI thread in a thread-safe manner.&lt;br /&gt;
&lt;br /&gt;
=== Encoding library ===&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8163</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8163"/>
				<updated>2007-04-18T00:21:41Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
* For some reason selecting the feature formatters doesn't switch to the appropriate tab, this is the case when selecting the menu item too.&lt;br /&gt;
* When selecting an already edited class or a cluster, the editor just opens up a new empty tab when chosen from the context menu.  When selecting a class in a new tab, the editor defaults to Interface View after loading the text twice.&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.  It would be nice if we had a generic command registration method that allows a client to register a globally unique command that can be accessed from anywhere and executed in a generic way, much like how COM objects operate.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
* There perhaps needs to be an m_Breakpoints menu string as I have used 'Debug' for the stoppoints menu, perhaps we could add other things such as 'Run to Feature' or such sub-menu items but for now the 'Debug' submenu is just used for break-points.&lt;br /&gt;
* There needs to be a set naming convention for class names referring to stone/pebble, stoppoint/breakpoint, and EB_/ES_, personally I prefer the latter for each pair.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;br /&gt;
=== Basic Cluster Menu ===&lt;br /&gt;
[[Image:Basic_cluster_menu.PNG]]&lt;br /&gt;
=== Class / Edit Menu ===&lt;br /&gt;
[[Image:Class_edit_menu.PNG]]&lt;br /&gt;
=== Feature / Show Menu ===&lt;br /&gt;
[[Image:Feature_show_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8159</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8159"/>
				<updated>2007-04-17T23:54:53Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points encountered during implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
* For some reason selecting the feature formatters doesn't switch to the appropriate tab, this is the case when selecting the menu item too.&lt;br /&gt;
* When selecting an already edited class or a cluster, the editor just opens up a new empty tab when chosen from the context menu.&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.  It would be nice if we had a generic command registration method that allows a client to register a globally unique command that can be accessed from anywhere and executed in a generic way, much like how COM objects operate.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
* There perhaps needs to be an m_Breakpoints menu string as I have used 'Debug' for the stoppoints menu, perhaps we could add other things such as 'Run to Feature' or such sub-menu items but for now the 'Debug' submenu is just used for break-points.&lt;br /&gt;
* There needs to be a set naming convention for class names referring to stone/pebble, stoppoint/breakpoint, and EB_/ES_, personally I prefer the latter for each pair.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;br /&gt;
=== Basic Cluster Menu ===&lt;br /&gt;
[[Image:Basic_cluster_menu.PNG]]&lt;br /&gt;
=== Class / Edit Menu ===&lt;br /&gt;
[[Image:Class_edit_menu.PNG]]&lt;br /&gt;
=== Feature / Show Menu ===&lt;br /&gt;
[[Image:Feature_show_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8158</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8158"/>
				<updated>2007-04-17T22:53:52Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points encountered during implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.  It would be nice if we had a generic command registration method that allows a client to register a globally unique command that can be accessed from anywhere and executed in a generic way, much like how COM objects operate.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
* There perhaps needs to be an m_Breakpoints menu string as I have used 'Debug' for the stoppoints menu, perhaps we could add other things such as 'Run to Feature' or such sub-menu items but for now the 'Debug' submenu is just used for break-points.&lt;br /&gt;
* There needs to be a set naming convention for class names referring to stone/pebble, stoppoint/breakpoint, and EB_/ES_, personally I prefer the latter for each pair.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;br /&gt;
=== Basic Cluster Menu ===&lt;br /&gt;
[[Image:Basic_cluster_menu.PNG]]&lt;br /&gt;
=== Class / Edit Menu ===&lt;br /&gt;
[[Image:Class_edit_menu.PNG]]&lt;br /&gt;
=== Feature / Show Menu ===&lt;br /&gt;
[[Image:Feature_show_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8157</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8157"/>
				<updated>2007-04-17T22:45:42Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points encountered during implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
* There perhaps needs to be an m_Breakpoints menu string as I have used 'Debug' for the stoppoints menu, perhaps we could add other things such as 'Run to Feature' or such sub-menu items but for now the 'Debug' submenu is just used for break-points.&lt;br /&gt;
* There needs to be a set naming convention for class names referring to stone/pebble, stoppoint/breakpoint, and EB_/ES_, personally I prefer the latter for each pair.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;br /&gt;
=== Basic Cluster Menu ===&lt;br /&gt;
[[Image:Basic_cluster_menu.PNG]]&lt;br /&gt;
=== Class / Edit Menu ===&lt;br /&gt;
[[Image:Class_edit_menu.PNG]]&lt;br /&gt;
=== Feature / Show Menu ===&lt;br /&gt;
[[Image:Feature_show_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8155</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8155"/>
				<updated>2007-04-17T22:35:48Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points encountered during implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
* There perhaps needs to be an m_Breakpoints menu string as I have used 'Debug' for the stoppoints menu, perhaps we could add other things such as 'Run to Feature' or such sub-menu items but for now the 'Debug' submenu is just used for break-points.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;br /&gt;
=== Basic Cluster Menu ===&lt;br /&gt;
[[Image:Basic_cluster_menu.PNG]]&lt;br /&gt;
=== Class / Edit Menu ===&lt;br /&gt;
[[Image:Class_edit_menu.PNG]]&lt;br /&gt;
=== Feature / Show Menu ===&lt;br /&gt;
[[Image:Feature_show_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:Feature_show_menu.PNG&amp;diff=8154</id>
		<title>File:Feature show menu.PNG</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:Feature_show_menu.PNG&amp;diff=8154"/>
				<updated>2007-04-17T22:33:08Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8153</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8153"/>
				<updated>2007-04-17T22:32:55Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;br /&gt;
=== Basic Cluster Menu ===&lt;br /&gt;
[[Image:Basic_cluster_menu.PNG]]&lt;br /&gt;
=== Class / Edit Menu ===&lt;br /&gt;
[[Image:Class_edit_menu.PNG]]&lt;br /&gt;
=== Feature / Show Menu ===&lt;br /&gt;
[[Image:Feature_show_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:Class_edit_menu.PNG&amp;diff=8151</id>
		<title>File:Class edit menu.PNG</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:Class_edit_menu.PNG&amp;diff=8151"/>
				<updated>2007-04-17T22:29:22Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8149</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8149"/>
				<updated>2007-04-17T22:28:41Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;br /&gt;
=== Basic Cluster Menu ===&lt;br /&gt;
[[Image:Basic_cluster_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:Basic_cluster_menu.PNG&amp;diff=8148</id>
		<title>File:Basic cluster menu.PNG</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:Basic_cluster_menu.PNG&amp;diff=8148"/>
				<updated>2007-04-17T22:27:52Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8147</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8147"/>
				<updated>2007-04-17T22:27:16Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;br /&gt;
=== Basic Feature Menu ===&lt;br /&gt;
[[Image:Basic_feature_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:Basic_feature_menu.PNG&amp;diff=8146</id>
		<title>File:Basic feature menu.PNG</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:Basic_feature_menu.PNG&amp;diff=8146"/>
				<updated>2007-04-17T22:26:32Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8145</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8145"/>
				<updated>2007-04-17T22:25:54Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;br /&gt;
=== Basic Class Menu ===&lt;br /&gt;
[[Image:Basic_class_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:Basic_class_menu.PNG&amp;diff=8144</id>
		<title>File:Basic class menu.PNG</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:Basic_class_menu.PNG&amp;diff=8144"/>
				<updated>2007-04-17T22:25:05Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8143</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8143"/>
				<updated>2007-04-17T22:24:25Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Editor Menu ===&lt;br /&gt;
[[Image:Basic_editor_menu.PNG]]&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8142</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8142"/>
				<updated>2007-04-17T22:16:21Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points encountered during implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:Basic_editor_menu.PNG&amp;diff=8141</id>
		<title>File:Basic editor menu.PNG</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:Basic_editor_menu.PNG&amp;diff=8141"/>
				<updated>2007-04-17T22:15:55Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8140</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8140"/>
				<updated>2007-04-17T22:15:25Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points encountered during implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
[[Image:editor_tool.png]]&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8139</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8139"/>
				<updated>2007-04-17T22:13:56Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context_Menu]]&lt;br /&gt;
== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8133</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8133"/>
				<updated>2007-04-17T18:23:39Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points encountered during implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is currently no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8132</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8132"/>
				<updated>2007-04-17T18:23:13Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial Points encountered during implementation ==&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;br /&gt;
* I reimplemented the context menu mechanism to allow for Void pebbles (such as when right clicking on the editor background), the original idea of implemented a VOID_STONE object was not feasible as most drop action agents take a STONE object and this would mean placing a veto agent on every drop action to check if the pebble did not conform to VOID_STONE before allowing transport.  Now when a Void pebble is passed to the contextual menu agent, I create the default editor menu within {EB_CLICKABLE_EDITOR}.context_menu_handler.&lt;br /&gt;
* The context menu factory has to be placed in the class where the source is due to the use of plain EV_* objects for the pebble, this means we have no idea of where the source originates from as their is no relationship between PND source and contextual menu handler.  This problem was also the reason why the mechanism could not be automated due to no direct relationship between the PND targets and the actual commands without a complete design overhaul.&lt;br /&gt;
&lt;br /&gt;
== Current Status ==&lt;br /&gt;
&lt;br /&gt;
I've implemented the contextual pick and drop mechanism for EB_CLICKABLE_EDITOR (code not yet committed).  I had to change a number of command classes to make them easier to access as although most have a specific type for the command, such as EB_EDITOR_PASTE_COMMAND, there were some commands that were using generic classes, for cut and copy.  So I reimplemented these to use inheritance rather that client manipulation of EB_ON_SELECTION_COMMAND&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8129</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8129"/>
				<updated>2007-04-17T18:03:19Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Initial Points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial Points ==&lt;br /&gt;
&lt;br /&gt;
* I'm adding m_show to INTERFACE_NAMES for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8128</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8128"/>
				<updated>2007-04-17T18:02:42Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial Points ==&lt;br /&gt;
&lt;br /&gt;
* I've added m_show to INTERFACE names for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8126</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8126"/>
				<updated>2007-04-17T18:01:55Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Initial Points&lt;br /&gt;
&lt;br /&gt;
* I've added m_show to INTERFACE names for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8125</id>
		<title>Context Menu Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Status&amp;diff=8125"/>
				<updated>2007-04-17T18:01:31Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* I've added m_show to INTERFACE names for the english text &amp;quot;Show&amp;quot;, this will need translating to the various dialects.&lt;br /&gt;
* If Context Menu is shown and a menu item is selected, on Windows at least the keyboard then ceases to function.  It works fine if the 'Pick' option is used from the context menu.  It may be possible that the context menu leaves the editor in an invalid state.&lt;br /&gt;
* The command structure in Studio would benefit from being reorganized in a uniform way so that commands may be retrieved without having intimate knowledge of the data structures in Studio.  This could also benefit a plugin mechanism should we go down that route.&lt;br /&gt;
* There is no interface for class 'move' refactoring method.&lt;br /&gt;
* Selection behavior needs to be consistent in Studio editor.  If I select text in the Studio editor, then right click over a class, I expect the selected text to be the 'context', not the class.  This requires a change in the pebble retrieval mechanism in the editor when contextual pick and drop mode is activated.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7897</id>
		<title>Context Menu Mechanism</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7897"/>
				<updated>2007-04-09T22:15:36Z</updated>
		
		<summary type="html">&lt;p&gt;King: /* Approach could be automated but would need design change of command widget factories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context Menu]]&lt;br /&gt;
&lt;br /&gt;
== Initial Mechanism ==&lt;br /&gt;
&lt;br /&gt;
The mechanism for providing contextual menus in EiffelStudio will come from a modification of the Pick and Drop mechanism.  By doing this it will give a lot more control when it comes to integrating the technology as we need to give full access to the existing Pick and Drop mechanism via the Context Menu. This is because at first not every potential pebble 'drop' will be possible via a menu entry due to the hundreds of possibilities/commands Eiffel Studio currently has and using the Context menu may or may not be the quickest way to achieve this for an advanced user.  EiffelVision currently does not expose the pick and drop mechanism so that it may be performed manually so having everything set up via Vision2 and passed to a handler seems to be the best approach for now as it involves the least amount of work and testing for providing the mechanism.  Future work could go towards abstracting the mechanism from the widget implementation itself and having an external mechanism perform the pick and drop work as this would remove a huge amount of code and be much easier to manage/test.&lt;br /&gt;
&lt;br /&gt;
=== Initial Implementation ===&lt;br /&gt;
The initial mechanism we have is for every possible pebble source, we set the mode from its current (default) pick_and_drop_mode to configurable_target_menu_mode via the call 'set_configurable_target_menu_mode'.&lt;br /&gt;
&lt;br /&gt;
== Approach could be automated but would need design change of command widget factories ==&lt;br /&gt;
I had originally envisaged that each potential pick and drop target for a given pebble would give enough detail to be able to construct a context menu automatically as each menu item in the context menu should relate to a single pick and drop pebble target, I added code to be able to retrieve the menu data (text and pixmap) for a pebble target. To construct a hierarchical menu the PND target name for a given pebble would mention the hierarchy (such as &amp;quot;Show / Descendents&amp;quot;) In theory, every command should be able to take a pebble, for example when you select text you may be creating a selection pebble which fits in the cut copy and paste command targets.  However the docking mechanism introduction made this task more difficult as none of the droppable targets are no longer descendents of EV_PICK_AND_DROPABLE so Vision2 has no notion of them (they were via deferring the drop actions from the parent and so are hidden from the mechanism)  This makes an automatic approach not very practical without a redesign of the command factories SD_* classes, so this means the menus will probably have to be hard-coded.&lt;br /&gt;
&lt;br /&gt;
== Hard Coded Approach ==&lt;br /&gt;
&lt;br /&gt;
To EV_PICK_AND_DROPABLE, which is the source of every PND pick, I have added set_configurable_target_menu_handler.  What this does is allow an agent to be passed that is called by the configurable target menu mechanism when right clicked over a valid pebble.&lt;br /&gt;
&lt;br /&gt;
The signature is as follows&lt;br /&gt;
&lt;br /&gt;
PROCEDURE [ANY. TUPLE [a_menu: EV_MENU; a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA]; a_source: EV_PICK_AND_DROPABLE; a_pebble: ANY]&lt;br /&gt;
&lt;br /&gt;
  a_menu: EV_MENU&lt;br /&gt;
    - Menu built by mechanism that already has an initialized 'Pick' entry that allows reversion to the existing PND mode'.&lt;br /&gt;
  a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA]&lt;br /&gt;
    - List of meta data of all potential targets for the given pebble&lt;br /&gt;
  a_source: EV_PICK_AND_DROPABLE&lt;br /&gt;
    - Object where the PND began.&lt;br /&gt;
  a_pebble: ANY&lt;br /&gt;
    - Pebble in question.&lt;br /&gt;
&lt;br /&gt;
This way when a context menu is requested by the user (via right clicking or Menu key (not yet implemented)) the menu will already be initialized with the 'Pick' option already added to 'a_menu'.  This way we can just customize the menu by adding to it.&lt;br /&gt;
&lt;br /&gt;
== ES_CONTEXT_MENU_FACTORY ==&lt;br /&gt;
&lt;br /&gt;
By adding an agent callback to each of the PND sources, we should be easily able to create menu items relating to certain ES commands that are relative to the pebble in question.  We can add an ES_CONTEXT_MENU_FACTORY that has a once agent routine that is passed to all of the pnd sources.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7896</id>
		<title>Context Menu Mechanism</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7896"/>
				<updated>2007-04-09T22:04:54Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context Menu]]&lt;br /&gt;
&lt;br /&gt;
== Initial Mechanism ==&lt;br /&gt;
&lt;br /&gt;
The mechanism for providing contextual menus in EiffelStudio will come from a modification of the Pick and Drop mechanism.  By doing this it will give a lot more control when it comes to integrating the technology as we need to give full access to the existing Pick and Drop mechanism via the Context Menu. This is because at first not every potential pebble 'drop' will be possible via a menu entry due to the hundreds of possibilities/commands Eiffel Studio currently has and using the Context menu may or may not be the quickest way to achieve this for an advanced user.  EiffelVision currently does not expose the pick and drop mechanism so that it may be performed manually so having everything set up via Vision2 and passed to a handler seems to be the best approach for now as it involves the least amount of work and testing for providing the mechanism.  Future work could go towards abstracting the mechanism from the widget implementation itself and having an external mechanism perform the pick and drop work as this would remove a huge amount of code and be much easier to manage/test.&lt;br /&gt;
&lt;br /&gt;
=== Initial Implementation ===&lt;br /&gt;
The initial mechanism we have is for every possible pebble source, we set the mode from its current (default) pick_and_drop_mode to configurable_target_menu_mode via the call 'set_configurable_target_menu_mode'.&lt;br /&gt;
&lt;br /&gt;
== Approach could be automated but would need design change of command widget factories ==&lt;br /&gt;
I had originally envisaged that each potential pick and drop target for a given pebble would give enough detail to be able to construct a context menu automatically as each menu item in the context menu should relate to a single pick and drop pebble target, I added code to be able to retrieve the menu data (text and pixmap) for a pebble target. To construct a hierarchical menu the PND target name for a given pebble would mention the hierarchy (such as &amp;quot;Show / Descendents&amp;quot;) In theory, every command should be able to take a pebble, for example when you select text you may be creating a selection pebble which fits in the cut copy and paste command targets.  However the docking mechanism introduction made this task more difficult as none of the droppable targets are no longer descendents of EV_PICK_AND_DROPABLE so Vision2 has no notion of them (they were via deferring the drop actions from the parent and so are hidden from the mechanism)  This makes an automatic approach not very practical so the menus will have to be hard-coded.&lt;br /&gt;
&lt;br /&gt;
== Hard Coded Approach ==&lt;br /&gt;
&lt;br /&gt;
To EV_PICK_AND_DROPABLE, which is the source of every PND pick, I have added set_configurable_target_menu_handler.  What this does is allow an agent to be passed that is called by the configurable target menu mechanism when right clicked over a valid pebble.&lt;br /&gt;
&lt;br /&gt;
The signature is as follows&lt;br /&gt;
&lt;br /&gt;
PROCEDURE [ANY. TUPLE [a_menu: EV_MENU; a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA]; a_source: EV_PICK_AND_DROPABLE; a_pebble: ANY]&lt;br /&gt;
&lt;br /&gt;
  a_menu: EV_MENU&lt;br /&gt;
    - Menu built by mechanism that already has an initialized 'Pick' entry that allows reversion to the existing PND mode'.&lt;br /&gt;
  a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA]&lt;br /&gt;
    - List of meta data of all potential targets for the given pebble&lt;br /&gt;
  a_source: EV_PICK_AND_DROPABLE&lt;br /&gt;
    - Object where the PND began.&lt;br /&gt;
  a_pebble: ANY&lt;br /&gt;
    - Pebble in question.&lt;br /&gt;
&lt;br /&gt;
This way when a context menu is requested by the user (via right clicking or Menu key (not yet implemented)) the menu will already be initialized with the 'Pick' option already added to 'a_menu'.  This way we can just customize the menu by adding to it.&lt;br /&gt;
&lt;br /&gt;
== ES_CONTEXT_MENU_FACTORY ==&lt;br /&gt;
&lt;br /&gt;
By adding an agent callback to each of the PND sources, we should be easily able to create menu items relating to certain ES commands that are relative to the pebble in question.  We can add an ES_CONTEXT_MENU_FACTORY that has a once agent routine that is passed to all of the pnd sources.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7894</id>
		<title>Context Menu Mechanism</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7894"/>
				<updated>2007-04-09T20:06:42Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context Menu]]&lt;br /&gt;
&lt;br /&gt;
== Initial Mechanism ==&lt;br /&gt;
&lt;br /&gt;
The mechanism for providing contextual menus in EiffelStudio will come from a modification of the Pick and Drop mechanism.  By doing this it will give a lot more control when it comes to integrating the technology as we need to give full access to the existing Pick and Drop mechanism via the Context Menu. This is because at first not every potential pebble 'drop' will be possible via a menu entry due to the hundreds of possibilities/commands Eiffel Studio currently has and using the Context menu may or may not be the quickest way to achieve this for an advanced user.  EiffelVision currently does not expose the pick and drop mechanism so that it may be performed manually so having everything set up via Vision2 and passed to a handler seems to be the best approach for now as it involves the least amount of work and testing for providing the mechanism.  Future work could go towards abstracting the mechanism from the widget implementation itself and having an external mechanism perform the pick and drop work as this would remove a huge amount of code and be much easier to manage/test.&lt;br /&gt;
&lt;br /&gt;
=== Initial Implementation ===&lt;br /&gt;
The initial mechanism we have is for every possible pebble source, we set the mode from its current (default) pick_and_drop_mode to configurable_target_menu_mode via the call 'set_configurable_target_menu_mode'.  By default the PND mode is set to create a PND context menu comprosing a list of all the potential target sources, this is useful for testing although it can be completely automated for a one level menu due to the addition of a set_target_data_function.  This will be mentioned later.&lt;br /&gt;
&lt;br /&gt;
== Approach could be automated but would need design change of command widget factories ==&lt;br /&gt;
I had originally envisaged that each potential pick and drop target for a given pebble would give enough detail to be able to construct a context menu automatically as each menu item in the context menu should relate to a single pick and drop pebble target, I added code to be able to retrieve the menu data (text and pixmap) for a pebble target. To construct a hierarchical menu the PND target name for a given pebble would mention the hierarchy (such as &amp;quot;Show / Descendents&amp;quot;) In theory, every command should be able to take a pebble, for example when you select text you may be creating a selection pebble which fits in the cut copy and paste command targets.  However the docking mechanism introduction made this task more difficult as none of the droppable targets are no longer descendents of EV_PICK_AND_DROPABLE so Vision2 has no notion of them (they were via deferring the drop actions from the parent and so are hidden from the mechanism)  This makes an automatic approach not very practical so the menus will have to be hard-coded.&lt;br /&gt;
&lt;br /&gt;
== Hard Coded Approach ==&lt;br /&gt;
&lt;br /&gt;
To EV_PICK_AND_DROPABLE, which is the source of every PND pick, I have added set_configurable_target_menu_handler.  What this does is allow an agent to be passed that is called by the configurable target menu mechanism when right clicked over a valid pebble.&lt;br /&gt;
&lt;br /&gt;
The signature is as follows&lt;br /&gt;
&lt;br /&gt;
PROCEDURE [ANY. TUPLE [a_menu: EV_MENU; a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA]; a_source: EV_PICK_AND_DROPABLE; a_pebble: ANY]&lt;br /&gt;
&lt;br /&gt;
  a_menu: EV_MENU&lt;br /&gt;
    - Menu built by mechanism that already has an initialized 'Pick' entry that allows reversion to the existing PND mode'.&lt;br /&gt;
  a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA]&lt;br /&gt;
    - List of meta data of all potential targets for the given pebble&lt;br /&gt;
  a_source: EV_PICK_AND_DROPABLE&lt;br /&gt;
    - Object where the PND began.&lt;br /&gt;
  a_pebble: ANY&lt;br /&gt;
    - Pebble in question.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7893</id>
		<title>Context Menu Mechanism</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7893"/>
				<updated>2007-04-09T19:54:25Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context Menu]]&lt;br /&gt;
&lt;br /&gt;
== Initial Mechanism ==&lt;br /&gt;
&lt;br /&gt;
The mechanism for providing contextual menus in EiffelStudio will come from a modification of the Pick and Drop mechanism.  By doing this it will give a lot more control when it comes to integrating the technology as we need to give full access to the existing Pick and Drop mechanism via the Context Menu. This is because at first not every potential pebble 'drop' will be possible via a menu entry due to the hundreds of possibilities/commands Eiffel Studio currently has and using the Context menu may or may not be the quickest way to achieve this for an advanced user.  EiffelVision currently does not expose the pick and drop mechanism so that it may be performed manually so having everything set up via Vision2 and passed to a handler seems to be the best approach for now as it involves the least amount of work and testing for providing the mechanism.  Future work could go towards abstracting the mechanism from the widget implementation itself and having an external mechanism perform the pick and drop work as this would remove a huge amount of code and be much easier to manage/test.&lt;br /&gt;
&lt;br /&gt;
=== Initial Implementation ===&lt;br /&gt;
The initial mechanism we have is for every possible pebble source, we set the mode from its current (default) pick_and_drop_mode to configurable_target_menu_mode via the call 'set_configurable_target_menu_mode'.  By default the PND mode is set to create a PND context menu comprosing a list of all the potential target sources, this is useful for testing although it can be completely automated for a one level menu due to the addition of a set_target_data_function.  This will be mentioned later.&lt;br /&gt;
&lt;br /&gt;
== Approach could be automated but would need design change of command widget factories ==&lt;br /&gt;
I had originally envisaged that each potential pick and drop target for a given pebble would give enough detail to be able to construct a context menu automatically as each menu item in the context menu should relate to a single pick and drop pebble target, I added code to be able to retrieve the menu data (text and pixmap) for a pebble target. To construct a hierarchical menu the PND target name for a given pebble would mention the hierarchy (such as &amp;quot;Show / Descendents&amp;quot;) In theory, every command should be able to take a pebble, for example when you select text you may be creating a selection pebble which fits in the cut copy and paste command targets.  However the docking mechanism introduction made this task more difficult as none of the droppable targets are no longer descendents of EV_PICK_AND_DROPABLE so Vision2 has no notion of them (they were via deferring the drop actions from the parent and so are hidden from the mechanism)  This makes an automatic approach not very practical so the menus will have to be hard-coded.&lt;br /&gt;
&lt;br /&gt;
== Hard Coded Approach ==&lt;br /&gt;
&lt;br /&gt;
To EV_PICK_AND_DROPABLE, which is the source of every PND pick, I have added set_configurable_target_menu_handler.  What this does is allow an agent to be passed that is called by the configurable target menu mechanism when right clicked over a valid pebble.&lt;br /&gt;
&lt;br /&gt;
The signature is as follows&lt;br /&gt;
&lt;br /&gt;
PROCEDURE [ANY. TUPLE [a_menu: EV_MENU; a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA]; a_source: EV_PICK_AND_DROPABLE; a_pebble: ANY]&lt;br /&gt;
&lt;br /&gt;
a_menu: EV_MENU - Menu built by mechanism that already has an initialized 'Pick' entry that allows reversion to the existing PND mode'.&lt;br /&gt;
a_target_list: ARRAYED_LIST [EV_PND_TARGET_DATA] - List of meta data of all potential targets for the given pebble&lt;br /&gt;
a_source: EV_PICK_AND_DROPABLE - Object where the PND began.&lt;br /&gt;
a_pebble: ANY - Pebble in question.&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7891</id>
		<title>Context Menu Mechanism</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7891"/>
				<updated>2007-04-09T19:28:46Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context Menu]]&lt;br /&gt;
&lt;br /&gt;
== Initial Mechanism ==&lt;br /&gt;
&lt;br /&gt;
The mechanism for providing contextual menus in EiffelStudio will come from a modification of the Pick and Drop mechanism.  By doing this it will give a lot more control when it comes to integrating the technology as we need to give full access to the existing Pick and Drop mechanism via the Context Menu. This is because at first not every potential pebble 'drop' will be possible via a menu entry due to the hundreds of possibilities/commands Eiffel Studio currently has and using the Context menu may or may not be the quickest way to achieve this for an advanced user.  EiffelVision currently does not expose the pick and drop mechanism so that it may be performed manually so having everything set up via Vision2 and passed to a handler seems to be the best approach for now as it involves the least amount of work and testing for providing the mechanism.  Future work could go towards abstracting the mechanism from the widget implementation itself and having an external mechanism perform the pick and drop work as this would remove a huge amount of code and be much easier to manage/test.&lt;br /&gt;
&lt;br /&gt;
=== Initial Implementation ===&lt;br /&gt;
The initial mechanism we have is for every possible pebble source, we set the mode from its current (default) pick_and_drop_mode to configurable_target_menu_mode via the call 'set_configurable_target_menu_mode'.  By default the PND mode is set to create a PND context menu comprosing a list of all the potential target sources, this is useful for testing although it can be completely automated for a one level menu due to the addition of a set_target_data_function.  This will be mentioned later.&lt;br /&gt;
&lt;br /&gt;
== Approach could be automated but would need design change ==&lt;br /&gt;
I had originally envisaged that each potential pick and drop target for a given pebble would give enough detail to be able to construct a context menu automatically as each menu item in the context menu should relate to a single pick and drop pebble target, I added code to be able to retrieve the menu data (text and pixmap) for a pebble target. To construct a hierarchical menu the PND target name for a given pebble would mention the hierarchy (such as &amp;quot;Show / Descendents&amp;quot;) In theory, every command should be able to take a pebble, for example when you select text you may be creating a selection pebble which fits in the cut copy and paste command targets.  However the docking mechanism introduction made this task more difficult as none of the droppable targets are no longer descendents of EV_PICK_AND_DROPABLE so Vision2 has no notion of them (they were via deferring the drop actions from the parent and so are hidden from the mechanism)  This makes an automatic approach not very practical so the menus will have to be hard-coded&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7890</id>
		<title>Context Menu Mechanism</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7890"/>
				<updated>2007-04-09T19:02:23Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context Menu]]&lt;br /&gt;
&lt;br /&gt;
The mechanism for providing contextual menus in EiffelStudio will come from a modification of the Pick and Drop mechanism.  By doing this it will give a lot more control when it comes to integrating the technology as we need to give full access to the existing Pick and Drop mechanism via the Context Menu. This is because at first not every potential pebble 'drop' will be possible via a menu entry due to the hundreds of possibilities/commands Eiffel Studio currently has and using the Context menu may or may not be the quickest way to achieve this for an advanced user.  EiffelVision currently does not expose the pick and drop mechanism so that it may be performed manually so having everything set up via Vision2 and passed to a handler seems to be the best approach for now as it involves the least amount of work and testing for providing the mechanism.  Future work could go towards abstracting the mechanism from the widget implementation itself and having an external mechanism perform the pick and drop work as this would remove a huge amount of code and be much easier to manage/test.&lt;br /&gt;
&lt;br /&gt;
The initial mechanism we have is for every possible pebble source, we set the mode from its current (default) pick_and_drop_mode to configurable_target_menu_mode via the call 'set_configurable_target_menu_mode'.  By default the PND mode is set to create a PND context menu comprosing a list of all the potential target sources, this is useful for testing although it can be completely automated for a one level menu due to the addition of a set_target_data_function.  This will be mentioned later.&lt;br /&gt;
&lt;br /&gt;
I had originally envisaged that each potential pick and drop target for a given pebble would give enough detail to be able to construct a context menu automatically as each menu item in the context menu should relate to a single pick and drop pebble target, I added code to be able to retrieve the menu data (text and pixmap) for a pebble target. To construct a hierarchical menu the PND target name for a given pebble would mention the hierarchy (such as &amp;quot;Show / Descendents&amp;quot;) In theory, every command should be able to take a pebble, for example when you select text you may be creating a selection pebble which fits in the cut copy and paste command targets.  However the docking mechanism introduction made this task more difficult as none of the droppable targets are no longer descendents of EV_PICK_AND_DROPABLE so Vision2 has no notion of them (they were via deferring the drop actions from the parent and so are hidden from the mechanism)  This makes an automatic approach not very practical so the menus will have to be hard-coded&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7889</id>
		<title>Context Menu Mechanism</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Context_Menu_Mechanism&amp;diff=7889"/>
				<updated>2007-04-09T18:22:39Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Context Menu]]&lt;br /&gt;
&lt;br /&gt;
Context Menu&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=WEL_Hook&amp;diff=1526</id>
		<title>WEL Hook</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=WEL_Hook&amp;diff=1526"/>
				<updated>2006-04-07T19:09:24Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:WEL]]&lt;br /&gt;
&lt;br /&gt;
==There are 3 different kinds of hooks now. Which one is better?==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1.Old one in svn. Use WM_MOUSE.&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Does not work with pointer button pressed and when pointer moves outside the same process.&lt;br /&gt;
    2. Cursor will be changed outside the same process.&lt;br /&gt;
&lt;br /&gt;
* 2.Wel hook with low level mouse hook (WH_MOUSE_LL) and normal hook (WH_MOUSE).&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Cursor will be changed outside the same process.&lt;br /&gt;
    2. Low level mouse hook does not work on Windows 98.&lt;br /&gt;
&lt;br /&gt;
* 3.Wel hook with journal record hook (WH_JOURNALRECORD) and normal hook (WH_MOUSE).&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Cursor will change between our application's cursor and another processes cursor.&lt;br /&gt;
    2. Low level mouse hooks do not work on Windows 98.&lt;br /&gt;
&lt;br /&gt;
* 4.Wel hook (heavy capture) and Windows setCapture (normal capture) working at the same time.&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Does not work when pointer button pressed and pointer move outside the same process EXCEPT the first time.&lt;br /&gt;
    Advantage:&lt;br /&gt;
    1. Actually, in most cases users only care about the first time when pointer button pressed.&lt;br /&gt;
&lt;br /&gt;
* Final words:&lt;br /&gt;
    &lt;br /&gt;
    If I can find a way to stop Windows from changing mouse cursor, I think &amp;quot;2&amp;quot; is perfect. (But is still not supported by Windows98)&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=WEL_Hook&amp;diff=1525</id>
		<title>WEL Hook</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=WEL_Hook&amp;diff=1525"/>
				<updated>2006-04-07T19:08:27Z</updated>
		
		<summary type="html">&lt;p&gt;King: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:WEL]]&lt;br /&gt;
&lt;br /&gt;
==There are 3 different kinds of hooks now. Which one is better?==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1.Old one in svn. Use WM_MOUSE.&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Does not work with pointer button pressed and when pointer moves outside the same process.&lt;br /&gt;
    2. Cursor will be changed outside the same process.&lt;br /&gt;
&lt;br /&gt;
* 2.Wel hook with low level mouse hook (WH_MOUSE_LL) and normal hook (WH_MOUSE).&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Cursor will be changed outside the same process.&lt;br /&gt;
    2. Low level mouse hook does not work on Windows 98.&lt;br /&gt;
&lt;br /&gt;
* 3.Wel hook with journal record hook (WH_JOURNALRECORD) and normal hook (WH_MOUSE).&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Cursor will change between our application's cursor and another processes cursor.&lt;br /&gt;
    2. Low level mouse hooks do not work on Windows 98.&lt;br /&gt;
&lt;br /&gt;
* 4.Wel hook (heavy capture) and Windows setCapture (normal capture) working at the same time.&lt;br /&gt;
&lt;br /&gt;
    Problems:&lt;br /&gt;
    1. Does not work when pointer button pressed and pointer move outside the same process EXCEPT the first time.&lt;br /&gt;
    Advantage:&lt;br /&gt;
    1. Actually, in most cases users only care about the first time when pointer button pressed.&lt;br /&gt;
&lt;br /&gt;
* Final words:&lt;br /&gt;
    &lt;br /&gt;
    If I can find a way to stop Windows from changing mousr cursor, I think &amp;quot;2&amp;quot; is perfect. (But is still not supported by Windows98)&lt;/div&gt;</summary>
		<author><name>King</name></author>	</entry>

	</feed>