Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Side by Side Diff: ui/views/view.h

Issue 1690543004: MacViews: Implement Full Keyboard Access. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix FocusManagerTest.StoreFocusedView Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_VIEWS_VIEW_H_ 5 #ifndef UI_VIEWS_VIEW_H_
6 #define UI_VIEWS_VIEW_H_ 6 #define UI_VIEWS_VIEW_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 // makes the current view the precedent view of the specified one. 771 // makes the current view the precedent view of the specified one.
772 // Note that by default views are linked in the order they have been added to 772 // Note that by default views are linked in the order they have been added to
773 // their container. Use this method if you want to modify the order. 773 // their container. Use this method if you want to modify the order.
774 // IMPORTANT NOTE: loops in the focus hierarchy are not supported. 774 // IMPORTANT NOTE: loops in the focus hierarchy are not supported.
775 void SetNextFocusableView(View* view); 775 void SetNextFocusableView(View* view);
776 776
777 // Sets whether this view is capable of taking focus. It will clear focus if 777 // Sets whether this view is capable of taking focus. It will clear focus if
778 // the focused view is set to be non-focusable. 778 // the focused view is set to be non-focusable.
779 // Note that this is false by default so that a view used as a container does 779 // Note that this is false by default so that a view used as a container does
780 // not get the focus. 780 // not get the focus.
781 // Subclasses which represent controls should call
782 // PlatformStyle::SetControlStyleFocus to set focus correctly for different
783 // platforms.
781 void SetFocusable(bool focusable); 784 void SetFocusable(bool focusable);
tapted 2016/02/23 03:01:20 I think it's confusing to keep this method around
karandeepb 2016/03/15 02:19:51 I like the enum idea. I have created a new functio
tapted 2016/03/15 05:05:31 sgtm
782 785
783 // Returns true if this view is |focusable_|, |enabled_| and drawn. 786 // Returns true if this view is |focusable_|, |enabled_| and drawn.
784 bool IsFocusable() const; 787 bool IsFocusable() const;
785 788
786 // Return whether this view is focusable when the user requires full keyboard 789 // Return whether this view is focusable when the user requires full keyboard
787 // access, even though it may not be normally focusable. 790 // access, even though it may not be normally focusable.
788 bool IsAccessibilityFocusable() const; 791 bool IsAccessibilityFocusable() const;
789 792
790 // Set whether this view can be made focusable if the user requires 793 // Set whether this view can be made focusable if the user requires
791 // full keyboard access, even though it's not normally focusable. It will 794 // full keyboard access, even though it's not normally focusable. It will
792 // clear focus if the focused view is set to be non-focusable. 795 // clear focus if the focused view is set to be non-focusable.
793 // Note that this is false by default. 796 // Note that this is false by default.
797 // Subclasses which represent controls should call
798 // PlatformStyle::SetControlStyleFocus to set focus correctly for different
799 // platforms.
794 void SetAccessibilityFocusable(bool accessibility_focusable); 800 void SetAccessibilityFocusable(bool accessibility_focusable);
795 801
796 // Convenience method to retrieve the FocusManager associated with the 802 // Convenience method to retrieve the FocusManager associated with the
797 // Widget that contains this view. This can return NULL if this view is not 803 // Widget that contains this view. This can return NULL if this view is not
798 // part of a view hierarchy with a Widget. 804 // part of a view hierarchy with a Widget.
799 virtual FocusManager* GetFocusManager(); 805 virtual FocusManager* GetFocusManager();
800 virtual const FocusManager* GetFocusManager() const; 806 virtual const FocusManager* GetFocusManager() const;
801 807
802 // Request keyboard focus. The receiving view will become the focused view. 808 // Request keyboard focus. The receiving view will become the focused view.
803 virtual void RequestFocus(); 809 virtual void RequestFocus();
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after
1574 // Belongs to this view, but it's reference-counted on some platforms 1580 // Belongs to this view, but it's reference-counted on some platforms
1575 // so we can't use a scoped_ptr. It's dereferenced in the destructor. 1581 // so we can't use a scoped_ptr. It's dereferenced in the destructor.
1576 NativeViewAccessibility* native_view_accessibility_; 1582 NativeViewAccessibility* native_view_accessibility_;
1577 1583
1578 DISALLOW_COPY_AND_ASSIGN(View); 1584 DISALLOW_COPY_AND_ASSIGN(View);
1579 }; 1585 };
1580 1586
1581 } // namespace views 1587 } // namespace views
1582 1588
1583 #endif // UI_VIEWS_VIEW_H_ 1589 #endif // UI_VIEWS_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698