#
7f9368ca |
|
09-Dec-2015 |
looncraz <looncraz@looncraz.net> |
Set*UIColor, etc. The inseparable changes necessary to support live color updating across the system in a sane, safe, and performant manner. BView gains: HasSystemColors() HasDefaultColors() AdoptSystemColors() AdoptParentColors() AdoptViewColor(BView*) SetViewUIColor(color_which, float tint) SetHighUIColor(... SetLowUIColor(... ViewUIColor(float* tint) HighUIColor(... LowUIColor(... DelayedInvalidate() BWindow gains a simple helper method: IsOffscreenWindow() BMessage gains: AddColor() FindColor() GetColor() HasColor() * allegedly this API is deprecated, but I implemented it anyway ReplaceColor() SetColor() Previous private ColorTools methods are made public and moved into GraphicsDefs: mix_color, blend_color, disable_color These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup of BeOS example code under the OpenTracker license. In addition, four new colors are created: B_LINK_TEXT_COLOR B_LINK_HOVER_COLOR B_LINK_ACTIVE_COLOR B_LINK_VISITED_COLOR These changes are documented in their proper user documentation files. In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit. On the app_server side, the following has changed: Add DelayedMessage - a system by which messages can be sent at a scheduled time, and can also be merged according to set rules. A single thread is used to service the message queue and multiple recipients can be set for each message. Desktop gains the ability to add message ports to a DelayedMessage so that said messages can target either all applications or all windows, as needed. Desktop maintains a BMessage which is used to queue up all pending color changes and the delayed messaging system is used to enact these changes after a short period of time has passed. This prevents abuse and allows the system to merge repeated set_ui_color events into one event for client applications, improving performance drastically. In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message to each BWindow. This is done to improve performance over having the app_server independently informing each window. Decorator changes are live now, which required some reworking. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
8bc3ecb0 |
|
16-Mar-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Added BTextControl::TextLength() method.
|
#
f4664459 |
|
18-Dec-2014 |
John Scipione <jscipione@gmail.com> |
Changes to BTextControl for docs. Also remove the non-ControlLook drawing code.
|
#
13d147b1 |
|
30-Sep-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Introduce "invalid" text controls. * MarkAsInvalid is used to enable or disable the mark * The B_INVALID BControlLook flag is used * invalid BTextControls are drawn with a red border. * You ar encouraged to let the user know more precisely what's wrong, by showing an helpful error message next to the control or in a tooltip.
|
#
be436742 |
|
21-Dec-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BControl subclasses: Override SetIcon() ... and implement Perform() action for potential later use.
|
#
46d6e9d9 |
|
29-Jun-2013 |
Rene Gollent <anevilyak@gmail.com> |
Interface Kit: Adjust max size and default alignment... ...on controls where it makes sense: - BRadioButton and BCheckBox now return their preferred size as their maximum. - BRadioButton, BCheckBox and BTextControl now use left alignment by default, as this is the most common use case for them.
|
#
09d87d91 |
|
04-Nov-2012 |
Axel Dörfler <axeld@pinc-software.de> |
The text control is now more flexible with its layout items. * Before, you had to have both, the text view layout item, and the label layout item or else nothing would ever be visible. * Now you can only create the text view item, and it will still work. * Also, no matter the order you added the layout items, they would always put the label on the left, and the control to the right. * You can place the label and text view layout items anywhere now, although you should keep in mind that the view spans over their frame unions; IOW they should always adjacent to each other, but not necessarily horizontally and left to right. * No longer uses a fixed label spacing, but utilizes BControlLook::DefaultLabelSpacing() instead. * However, the spacing is always added to the right of the label, no matter how you place it in the layout. Maybe one wants to add a SetLabelTextViewGap() like method.
|
#
d56e7bd6 |
|
01-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Make archiving hooks protected in layout classes. Furthermore, * remove a stray blank line in Layout.cpp * make BLayoutItem::SetLayout() private, as it should have been
|
#
61eb1f1d |
|
22-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Replace remaining InvalidateLayout()'s with LayoutInvalidated(). Also do a bit of cleanup/move methods around.
|
#
5c47e35e |
|
27-Jul-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Updated BTextControl and its custom BLayoutItems. Also a bit of style cleanup. Broke up BTextControl::_InitData() method into _InitData() and _InitText() and moved initialization of the BTextView there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89208c77 |
|
27-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Finished unifying the Interface Kit headers: * Fixed copyrights (puncuation and capitalization, removed authors from headers) * Updated indentation style * Unified pointer/reference style * Re-ordered some methods for better grouping where it could be done (abd adopted source accordingly) * Small coding style fixes here and there No functional change intended. +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32745 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
349c911e |
|
16-Sep-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Implemented a lot of layout related methods and resolved a few TODOs by doing a lot of these things the same way as BMenuField are already doing. Perhaps a private helper class could be refactored from these two controls to avoid duplicating a lot of this code, although there are a few subtle differences here and there. These changes make a BTextControl behave properly in the layout management frame work, in case CreateLabelLayoutItem() and CreateTextViewLayoutItem() are _not_ used to layout the BTextControl. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27584 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
93ba577c |
|
15-Sep-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Updated header indentation * Removed unused fClean member * Got rid of fSkipSetFlags member by simply calling the BView::SetFlags() directly where fSkipSetFlags was supposed to prevent the custom implementation. * Added some debugging facilities. * Used the layout friendly constructors of BControl where appropriate. * Used B_FOLLOW_ALL for the child text input, it should be more correct. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27576 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8872c02 |
|
24-Feb-2008 |
Stephan Aßmus <superstippi@gmx.de> |
BTextControl: * Placed _BTextInput_ into BPrivate namespace. * Made _BTextInput_::AlignTextRect() smarter, it centers the line vertically, for the case that the BTextControl has a larger label font. Improved insets for asthetics. * Used _BTextInput_::AlignTextRect() consistently in BTextControl, no more custom calls to SetTextRect(). Account for minimum vertical inset of 2 pixels in GetPreferredSize(). * Consistendly select all text when gaining focus in _BTextInput_. * Override MouseDown() in case the control did not have focus before, or else BTextView::MouseDown() will deselct the text again and place the cursor. (in line with BeOS behavior) * Removed unused fBool member from _BTextInput_ and other cleanup. BTextView: * Reimplemented BTextView::_AutoResize() so that it works well with BTextControl and autoscrolling when the alignment is not B_ALIGN_LEFT. I needed two new members for this, fLeftInset and fRightInset which are the original insets from the fTextRects. It might currently be broken for renaming things in Tracker, I will have to check. _AutoResize() no longer messes up the fTextRect insets. * Fixed stray carrets sometimes being left over, mostly when auto scrolling, but I observed them in other cases as well. * Prevent negative scrolling offsets when autoscrolling. Fixes weird scrolling offsets when navigating to the left. * Reset scrolling to B_ORIGIN when SetText() is called. Fixes for example starting to type in the middle of the control in Vision when entering new text and autoscrolling was triggered before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24101 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a431f44b |
|
31-Aug-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* make the text view layouting more robust, draw the frame around the text view, ignore the divider for this (application code could layout the textview itself, and fDivider might not be maintained) * change Draw() and TextInput::MakeFocus() accordingly this fixes the weird placement of text controls in Beam git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22134 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9ecf9d1c |
|
26-Aug-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge from layout management branch. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
79c35b39 |
|
11-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
SetEnabled() didn't set the text view's colors correctly anymore; _UpdateTextViewColors() asked for IsEnabled() before it was set. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16355 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3a3f6c1e |
|
10-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
BTextControl::AttachedToWindow() set wrong colors in case the control was disabled (unlike SetEnabled()). They are now both using the correctly working _UpdateTextViewColors() method. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16333 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ffe72abd |
|
10-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed BTextControl resizing (did not invalidate the border area before). * Rewrote TextControl.h * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16331 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12c3dcc2 |
|
20-Jun-2003 |
Marc Flerackers <mflerackers@nowhere.fake> |
This is the full header of BTextControl git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3583 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3275af43 |
|
29-Oct-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Uncomment fClean variable to get the header binary compatible with R5. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1760 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52a38012 |
|
08-Jul-2002 |
ejakowatz <ejakowatz@nowhere.fake> |
It is accomplished ... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8bc3ecb0546a65b660662cdd8dd8d5602cd0e4f4 |
|
16-Mar-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Added BTextControl::TextLength() method.
|
#
f466445917801c4badeec8827f0eacb0673f6e72 |
|
18-Dec-2014 |
John Scipione <jscipione@gmail.com> |
Changes to BTextControl for docs. Also remove the non-ControlLook drawing code.
|
#
13d147b12ba4c8276daf6ecb858424d358389a16 |
|
30-Sep-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Introduce "invalid" text controls. * MarkAsInvalid is used to enable or disable the mark * The B_INVALID BControlLook flag is used * invalid BTextControls are drawn with a red border. * You ar encouraged to let the user know more precisely what's wrong, by showing an helpful error message next to the control or in a tooltip.
|
#
be4367428b6478ae059614d7a9b6f6dc721e5dcb |
|
21-Dec-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BControl subclasses: Override SetIcon() ... and implement Perform() action for potential later use.
|
#
46d6e9d9ed21f6752b4f256ed193faa5bc586501 |
|
29-Jun-2013 |
Rene Gollent <anevilyak@gmail.com> |
Interface Kit: Adjust max size and default alignment... ...on controls where it makes sense: - BRadioButton and BCheckBox now return their preferred size as their maximum. - BRadioButton, BCheckBox and BTextControl now use left alignment by default, as this is the most common use case for them.
|
#
09d87d9151728f731c1d27e8914c5bbd6e72ec5b |
|
04-Nov-2012 |
Axel Dörfler <axeld@pinc-software.de> |
The text control is now more flexible with its layout items. * Before, you had to have both, the text view layout item, and the label layout item or else nothing would ever be visible. * Now you can only create the text view item, and it will still work. * Also, no matter the order you added the layout items, they would always put the label on the left, and the control to the right. * You can place the label and text view layout items anywhere now, although you should keep in mind that the view spans over their frame unions; IOW they should always adjacent to each other, but not necessarily horizontally and left to right. * No longer uses a fixed label spacing, but utilizes BControlLook::DefaultLabelSpacing() instead. * However, the spacing is always added to the right of the label, no matter how you place it in the layout. Maybe one wants to add a SetLabelTextViewGap() like method.
|
#
d56e7bd64d975565dbdd2c38230b6f14eb3e5906 |
|
01-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Make archiving hooks protected in layout classes. Furthermore, * remove a stray blank line in Layout.cpp * make BLayoutItem::SetLayout() private, as it should have been
|
#
61eb1f1d19eed26b6138b0701612e8eb31bb1d86 |
|
22-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Replace remaining InvalidateLayout()'s with LayoutInvalidated(). Also do a bit of cleanup/move methods around.
|
#
5c47e35e2aec1ddf574c2495db8761678fb4a3f5 |
|
27-Jul-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Updated BTextControl and its custom BLayoutItems. Also a bit of style cleanup. Broke up BTextControl::_InitData() method into _InitData() and _InitText() and moved initialization of the BTextView there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89208c77f10235d43fda0c7b3fd6751db02cc12c |
|
27-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Finished unifying the Interface Kit headers: * Fixed copyrights (puncuation and capitalization, removed authors from headers) * Updated indentation style * Unified pointer/reference style * Re-ordered some methods for better grouping where it could be done (abd adopted source accordingly) * Small coding style fixes here and there No functional change intended. +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32745 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
349c911ee9194e4f25c31267a6464f5399c71e59 |
|
16-Sep-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Implemented a lot of layout related methods and resolved a few TODOs by doing a lot of these things the same way as BMenuField are already doing. Perhaps a private helper class could be refactored from these two controls to avoid duplicating a lot of this code, although there are a few subtle differences here and there. These changes make a BTextControl behave properly in the layout management frame work, in case CreateLabelLayoutItem() and CreateTextViewLayoutItem() are _not_ used to layout the BTextControl. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27584 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
93ba577c3e4d59a6b18a8a6e11a93a22ca4e669d |
|
15-Sep-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Updated header indentation * Removed unused fClean member * Got rid of fSkipSetFlags member by simply calling the BView::SetFlags() directly where fSkipSetFlags was supposed to prevent the custom implementation. * Added some debugging facilities. * Used the layout friendly constructors of BControl where appropriate. * Used B_FOLLOW_ALL for the child text input, it should be more correct. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27576 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8872c02c1d02d892037bcdb6cbbb3dfe482b98b |
|
24-Feb-2008 |
Stephan Aßmus <superstippi@gmx.de> |
BTextControl: * Placed _BTextInput_ into BPrivate namespace. * Made _BTextInput_::AlignTextRect() smarter, it centers the line vertically, for the case that the BTextControl has a larger label font. Improved insets for asthetics. * Used _BTextInput_::AlignTextRect() consistently in BTextControl, no more custom calls to SetTextRect(). Account for minimum vertical inset of 2 pixels in GetPreferredSize(). * Consistendly select all text when gaining focus in _BTextInput_. * Override MouseDown() in case the control did not have focus before, or else BTextView::MouseDown() will deselct the text again and place the cursor. (in line with BeOS behavior) * Removed unused fBool member from _BTextInput_ and other cleanup. BTextView: * Reimplemented BTextView::_AutoResize() so that it works well with BTextControl and autoscrolling when the alignment is not B_ALIGN_LEFT. I needed two new members for this, fLeftInset and fRightInset which are the original insets from the fTextRects. It might currently be broken for renaming things in Tracker, I will have to check. _AutoResize() no longer messes up the fTextRect insets. * Fixed stray carrets sometimes being left over, mostly when auto scrolling, but I observed them in other cases as well. * Prevent negative scrolling offsets when autoscrolling. Fixes weird scrolling offsets when navigating to the left. * Reset scrolling to B_ORIGIN when SetText() is called. Fixes for example starting to type in the middle of the control in Vision when entering new text and autoscrolling was triggered before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24101 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a431f44be88d3d0f1748a1fe032c1159dab8d11c |
|
31-Aug-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* make the text view layouting more robust, draw the frame around the text view, ignore the divider for this (application code could layout the textview itself, and fDivider might not be maintained) * change Draw() and TextInput::MakeFocus() accordingly this fixes the weird placement of text controls in Beam git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22134 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9ecf9d1c1d4888d341a6eac72112c72d1ae3a4cb |
|
26-Aug-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge from layout management branch. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
79c35b3912e86485f62f560fc74d1bac369b33a4 |
|
11-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
SetEnabled() didn't set the text view's colors correctly anymore; _UpdateTextViewColors() asked for IsEnabled() before it was set. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16355 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3a3f6c1ee938f2e8876c7b17dfddcb7b045ecd45 |
|
10-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
BTextControl::AttachedToWindow() set wrong colors in case the control was disabled (unlike SetEnabled()). They are now both using the correctly working _UpdateTextViewColors() method. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16333 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ffe72abd853e0ed076735ae2bdf5890f3162d3fd |
|
10-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed BTextControl resizing (did not invalidate the border area before). * Rewrote TextControl.h * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16331 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12c3dcc26db6f6a99349b40be82eaecb83e5f459 |
|
20-Jun-2003 |
Marc Flerackers <mflerackers@nowhere.fake> |
This is the full header of BTextControl git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3583 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3275af4352c7135b379726aca5363f256e266699 |
|
29-Oct-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Uncomment fClean variable to get the header binary compatible with R5. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1760 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52a380120846174213ccce9c4aab0dda17c72083 |
|
08-Jul-2002 |
ejakowatz <ejakowatz@nowhere.fake> |
It is accomplished ... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
|