PR# 10692 Ctrl+Tab key does not work in Project Settings "Edit File pattern" dialog
Problem Report Summary
Submitter: peter_gummer
Category: EiffelVision
Priority: Medium
Date: 2006/07/19
Class: Bug
Severity: Non-critical
Number: 10692
Release: 5.7.61376
Confidential: No
Status: Open
Responsible: misterieking
Environment: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Synopsis: Ctrl+Tab key does not work in Project Settings "Edit File pattern" dialog
Description
On Windows, it is normal to be able to navigate between tab pages via Ctrl+Tab and Ctrl+Shift+Tab. A typical example is the Control Panel's Display Properties dialog. Ctrl+Tab does not work in the Project Settings "Edit File pattern" dialog.
To Reproduce
Problem Report Interactions
The implementation of focused_widget that I submitted yesterday was Windows-specific and did not compile on GTK. The following implementation is portable: focused_widget: EV_WIDGET -- The currently focused widget, if any. do Result := parent_app.focused_widget if not has_recursive (Result) then Result := Void end ensure focused: Result /= Void implies Result.has_focus in_this_window: Result /= Void implies has_recursive (Result) end
This is a serious problem, because in order to achieve operating-system standard behaviour, I have to duplicate the same solution in every window that I write. Given that other GUI frameworks (e.g., Delphi VCL and .NET WinForms) do this automatically for me, it makes EiffelVision look weak. The solution that I'm using is as follows: feature {NONE} -- Initialization user_initialization is do add_shortcut (agent step_focused_notebook_tab (1), {EV_KEY_CONSTANTS}.key_tab, True, False) add_shortcut (agent step_focused_notebook_tab (-1), {EV_KEY_CONSTANTS}.key_tab, True, True) end add_shortcut (action: PROCEDURE [ANY, TUPLE]; key: INTEGER; ctrl, shift: BOOLEAN) -- Create a keyboard shortcut to execute `action'. require action_attached: action /= Void valid_key: (create {EV_KEY_CONSTANTS}).valid_key_code (key) local accelerator: EV_ACCELERATOR do create accelerator.make_with_key_combination (create {EV_KEY}.make_with_code (key), ctrl, False, shift) accel .... Output truncated, Click download to get the full message
Looks like a vision2 problem