View Issue Details

IDProjectCategoryView StatusLast Update
0021752LazarusLCLpublic2017-04-10 11:26
ReporterDavid JenkinsAssigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Product Version0.9.30.5 (SVN)Product Build 
Target VersionFixed in Version 
Summary0021752: Carbon "Full Keyboard Access" disabled enhancements
DescriptionFix tabbing between controls when "Full Keyboard Access" is disabled (only tab to edits and listboxes)

Patch against rev 36681 attached
TagsNo tags attached.
Fixed in Revision
LazTarget
WidgetsetCarbon
Attached Files
  • wincontrol.inc.patch (578 bytes)
    --- /Users/djenkins/laz-changes/14695/wincontrol.inc	2012-04-11 14:41:26.000000000 
    +++ /Users/djenkins/laz-changes/14695/wincontrol.inc.ss	2012-04-11 14:42:18.000000000 
    @@ -4498,7 +4498,7 @@
               +' TestEnVi='+dbgs(Next.Enabled and Next.IsVisible)]);}
             if (((not CheckTabStop) or Next.TabStop)
             and ((not CheckParent) or (Next.Parent = Self)))
    -        and (Next.Enabled and Next.IsVisible) then
    +        and Next.IsVisible and Next.CanTab then
               Result := Next;
     
             // if we reached the start then exit because we traversed the loop and
    
    wincontrol.inc.patch (578 bytes)
  • svn_patch-21752 (603 bytes)
    Index: lcl/include/wincontrol.inc
    ===================================================================
    --- lcl/include/wincontrol.inc	(revision 36681)
    +++ lcl/include/wincontrol.inc	(working copy)
    @@ -4498,7 +4498,7 @@
               +' TestEnVi='+dbgs(Next.Enabled and Next.IsVisible)]);}
             if (((not CheckTabStop) or Next.TabStop)
             and ((not CheckParent) or (Next.Parent = Self)))
    -        and (Next.Enabled and Next.IsVisible) then
    +        and Next.IsVisible and Next.CanTab then
               Result := Next;
     
             // if we reached the start then exit because we traversed the loop and
    
    svn_patch-21752 (603 bytes)

Activities

2012-04-13 21:22

 

wincontrol.inc.patch (578 bytes)
--- /Users/djenkins/laz-changes/14695/wincontrol.inc	2012-04-11 14:41:26.000000000 
+++ /Users/djenkins/laz-changes/14695/wincontrol.inc.ss	2012-04-11 14:42:18.000000000 
@@ -4498,7 +4498,7 @@
           +' TestEnVi='+dbgs(Next.Enabled and Next.IsVisible)]);}
         if (((not CheckTabStop) or Next.TabStop)
         and ((not CheckParent) or (Next.Parent = Self)))
-        and (Next.Enabled and Next.IsVisible) then
+        and Next.IsVisible and Next.CanTab then
           Result := Next;
 
         // if we reached the start then exit because we traversed the loop and
wincontrol.inc.patch (578 bytes)

2012-04-19 17:48

 

svn_patch-21752 (603 bytes)
Index: lcl/include/wincontrol.inc
===================================================================
--- lcl/include/wincontrol.inc	(revision 36681)
+++ lcl/include/wincontrol.inc	(working copy)
@@ -4498,7 +4498,7 @@
           +' TestEnVi='+dbgs(Next.Enabled and Next.IsVisible)]);}
         if (((not CheckTabStop) or Next.TabStop)
         and ((not CheckParent) or (Next.Parent = Self)))
-        and (Next.Enabled and Next.IsVisible) then
+        and Next.IsVisible and Next.CanTab then
           Result := Next;
 
         // if we reached the start then exit because we traversed the loop and
svn_patch-21752 (603 bytes)

Alexey Tor.

2017-04-09 23:34

reporter   ~0099533

@Ondrej or @Juha
It's LCL patch

This pch makes code slower: CanTab is much slower than Enabled. (It sees all parents of control, it calls WS).
So decide, is it Ok.

Juha Manninen

2017-04-10 11:26

developer   ~0099540

The code is in TWinControl.FindNextControl.
Is there any way to solve it in widgetset code?
I will leave this to somebody who knows Mac and Carbon.

Issue History

Date Modified Username Field Change
2012-04-13 21:22 David Jenkins New Issue
2012-04-13 21:22 David Jenkins File Added: wincontrol.inc.patch
2012-04-13 21:22 David Jenkins Widgetset => Carbon
2012-04-19 17:48 David Jenkins File Added: svn_patch-21752
2017-04-09 23:34 Alexey Tor. Note Added: 0099533
2017-04-10 11:26 Juha Manninen Note Added: 0099540