haiku/headers/os/interface
John Scipione 74577830da ColorControl: Implement keyboard navigation
Implements enhancement described in #9819

This feature works pretty much as it did on BeOS R5.

When you focus on the color control, the border is drawn blue and
the dot on the red ramp draws as an outline to show that it is
selected. You can push the up and down arrow keys to navigate to the
previous and next ramps respectively and can push right and left to
increment and decrement the color value of the selected ramp.

Clicking on the control no longer gives it focus.

In BeOS the left and right arrows would increment and decriment by 5,
on Haiku they increment and decrement by 1, but, by holding down the
key for a second or so the increment value increases to 5 allowing for
both course and fine adjustments.

On a technical note I split the int32 fFocusedComponent member variable
into 2 int16 member variables, fFocusedRamp and fClickedRamp. I did this
because I needed an entra variable, and can't  change the size of the
class without using up another reserved member variable slot. int16
should be more than enough for these variables as they store an index to
the currently focused or clicked on ramp (0-3). Please someone chime in
if this is not okay for FBC in some condition I didn't think about.
2013-08-17 03:40:58 -04:00
..
AbstractLayout.h Make archiving hooks protected in layout classes. 2011-12-01 20:45:50 -07:00
AbstractLayoutItem.h Make archiving hooks protected in layout classes. 2011-12-01 20:45:50 -07:00
AffineTransform.h * Allow to set the scale (versus multiplication with a scale). 2010-04-21 16:46:32 +00:00
Alert.h Optimized includes. For example, BeBuild.h is almost always already included 2009-08-27 12:36:35 +00:00
Alignment.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
Bitmap.h Make it possible to reconnect BBitmap to the app_server. 2012-01-22 15:30:15 +13:00
Box.h BBox: propagate alignment from child for the... 2013-07-03 23:41:44 -04:00
Button.h De-virtualize BView::InvalidateLayout() and introduce LayoutInvalidated() hook, like BLayout. 2011-10-28 14:16:43 -06:00
CardLayout.h Add a bit more FBC stuff for the Layout API, which I missed before. 2011-12-01 22:47:46 -07:00
ChannelControl.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
ChannelSlider.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
CheckBox.h Interface Kit: Adjust max size and default alignment... 2013-07-01 11:30:49 -04:00
ColorControl.h ColorControl: Implement keyboard navigation 2013-08-17 03:40:58 -04:00
Control.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
ControlLook.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
Deskbar.h Optimized includes. For example, BeBuild.h is almost always already included 2009-08-27 12:36:35 +00:00
Dragger.h Rename the bounds parameter of the BDragger class to frame matching the BeBook 2012-12-21 21:24:46 -05:00
Font.h Fix some pedantic style issues in Font.h 2013-01-15 23:32:38 -05:00
Gradient.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientConic.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientDiamond.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientLinear.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientRadial.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientRadialFocus.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GraphicsDefs.h interface: Clean up public headers; No functional change. 2012-01-12 16:26:15 -06:00
GridLayout.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
GridLayoutBuilder.h Add default spacing for Layouts (#5614) 2010-09-02 22:58:24 +00:00
GridView.h Add FBC padding + Perform() methods to GridView and GroupView. 2011-11-04 23:08:11 -06:00
GroupLayout.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
GroupLayoutBuilder.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
GroupView.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
IconUtils.h * Add BIconUtils documentation to the Haiku Book 2011-08-09 19:31:46 +00:00
Input.h Optimized includes. For example, BeBuild.h is almost always already included 2009-08-27 12:36:35 +00:00
InterfaceDefs.h Move B_COLOR_WHICH_COUNT to private ServerReadOnlyMemory header. 2013-04-06 17:13:36 -04:00
Layout.h Make archiving hooks protected in layout classes. 2011-12-01 20:45:50 -07:00
LayoutBuilder.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
LayoutContext.h Add FBC padding to all (I think..) of the visible Layout related classes. 2011-11-02 00:29:33 -06:00
LayoutItem.h Added method SetExplicitSize() for convenience. 2012-11-05 12:50:00 +01:00
LayoutUtils.h Aligned the second MoveIntoFrame() parameter name with the implementation. 2010-11-19 17:49:09 +00:00
ListItem.h * Added BListItem::SetOutlineLevel() method. 2010-05-07 11:24:25 +00:00
ListView.h A few more style fixes to ListView and ColorSet, thanks Axel 2013-04-09 19:24:51 -04:00
Menu.h Update header comments 2013-05-06 17:15:18 -04:00
MenuBar.h Optimized includes. For example, BeBuild.h is almost always already included 2009-08-27 12:36:35 +00:00
MenuField.h Remove the unused bounds parameter from DrawLabel 2013-05-09 21:29:13 -04:00
MenuItem.h Draw menus using the user chosen colors. 2012-07-28 23:02:17 -04:00
MultiChannelControl.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
OptionControl.h Added layout friendly constructor for BOptionControl 2009-10-25 10:45:42 +00:00
OptionPopUp.h Also add layout-friendly constructor for BOptionPopUp (not yet tested) 2009-10-25 10:49:28 +00:00
OutlineListView.h Removed superfluous class definitions from OutlineListView.h 2013-05-03 13:24:30 +00:00
Picture.h Reconnect BPicture to the app_server. 2012-01-22 15:30:15 +13:00
PictureButton.h Optimized includes. For example, BeBuild.h is almost always already included 2009-08-27 12:36:35 +00:00
Point.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
Polygon.h Optimized includes. For example, BeBuild.h is almost always already included 2009-08-27 12:36:35 +00:00
PopUpMenu.h BPopUpMenu style fixes 2013-05-01 22:18:56 -04:00
PrintJob.h Rewrote PrintJob.h 2009-08-26 18:56:44 +00:00
RadioButton.h Interface Kit: Adjust max size and default alignment... 2013-07-01 11:30:49 -04:00
Rect.h Made the BRect::*Copy() methods const as they should have been. 2012-11-05 12:50:02 +01:00
Region.h Changed BRegion to use int32 instead of long. 2012-08-10 16:22:51 +01:00
Screen.h Apply the patch by jscipione on ticket #7994. 2011-10-29 21:51:43 +00:00
ScrollBar.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
ScrollView.h Replace remaining InvalidateLayout()'s with LayoutInvalidated(). Also do a bit of cleanup/move methods around. 2011-10-28 14:16:49 -06:00
SeparatorItem.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
SeparatorView.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
Shape.h Added BShape::CurrentPoint(), returning the current end point of the path. 2010-03-19 00:28:38 +00:00
Shelf.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
Size.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
Slider.h Minor cleanup. 2013-02-05 00:22:52 +01:00
SpaceLayoutItem.h Add a bit more FBC stuff for the Layout API, which I missed before. 2011-12-01 22:47:46 -07:00
SplitLayoutBuilder.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
SplitView.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
StatusBar.h * Make a BStatusBar comfortable to use without any text labels. 2010-02-06 09:48:37 +00:00
StringItem.h * add protected accessor for baseline offset to StringItem, as that value is of 2011-08-21 17:17:13 +00:00
StringView.h Add missing space before opening brace. 2012-06-24 16:17:32 +02:00
TabView.h Update BTabView for layout-friendly archiving. Added _InitContainerView() method that is called from _InitObject() but also called on its own during unarchival. Implemented BTabView::AllUnarchived() and implemented a case for this in BTabView::Perform(). 2010-07-28 20:03:41 +00:00
TextControl.h Interface Kit: Adjust max size and default alignment... 2013-07-01 11:30:49 -04:00
TextView.h Remove docs and refactor style of TextView class. 2013-03-16 17:05:09 -04:00
TwoDimensionalLayout.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
UnicodeBlockObjects.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
View.h BView: Style fixes only, no functional change intended 2013-06-28 22:59:17 -04:00
Window.h BWindow: style fixes only, no functional change. 2013-07-26 18:36:00 -04:00