History log of /haiku/src/kits/interface/Control.cpp
Revision Date Author Comments
# 16af9b4c 05-Nov-2017 Humdinger <humdingerb@gmail.com>

Style, no functional changes

Make termination consistant with that last commit hrev51521.
As wished and proof-read by waddlesplash. Hope all's well...


# 346d1496 05-Nov-2017 Humdinger <humdingerb@gmail.com>

Properly terminate property_info lists

BListView's property_info list lacked termination, resulting in
garbage output at the and of 'hey getsuites'.

Use { 0 } everywhere for sake of consistency.

Thanks to waddlesplash for spotting the bug an providing the easy fix.


# c9bd4d84 06-Jan-2016 looncraz <looncraz@looncraz.net>

Interface Kit: Correct button colors.

What appeared to be multiple issues was just one issue: BButton was drawing the
control background color for its border, whereas the previous system drew the
control low color, which was the parent's view color.

Neither is correct, no border should be drawn at all.

This made it appear that the default button was larger than it was and also
made it appear that some apps had a "white" border around the buttons.

In addition, BButton can now use the default BControl color behavior and
BButton exclusively adopt either parental or system colors without worrying
about the case in which another view has set the button's view color manually.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 7a96554c 09-Dec-2015 looncraz <looncraz@looncraz.net>

kits/interface: Convert to using Set*UIColor.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0003-0017 from looncraz, unmodified.


# 1f424632 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to IK, focus on docs


# 092e3093 28-May-2014 John Scipione <jscipione@gmail.com>

BControl: Style fixes, variable renaming for consistency, docs.

Also some other style fixes, no functional changes intended.


# 97bf0ce3 22-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BControl: Move icon code to separate class BIcon


# 5414b3c4 22-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move icon related constants to InterfaceDefs.h

There will be non-BControl views to use those as well.


# be260374 21-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BControl: Add icon support

The icon is meant as an addition to or replacement of the label. Icon
bitmaps for various states of the control (off, on, partially on, each
enabled or disabled, plus up to 125 custom states) can be set
individually via SetIconBitmap() (getter IconBitmap()).
The convenience method SetIcon() can be used to set the bitmaps for the
standard states from a single bitmap; it also supports cropping the
icon to its non-transparent area. Code borrowed from BIconButton.


# eee4243d 20-Oct-2011 Alex Wilson <yourpalal2@gmail.com>

De-virtualize BView::InvalidateLayout() and introduce LayoutInvalidated() hook, like BLayout.


# 3a816565 30-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* BControl::AttachedToWindow() now also sets the background color to
B_PANEL_BACKGROUND_COLOR if there is no parent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31969 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 041b97a8 16-Jun-2009 Stephan Aßmus <superstippi@gmx.de>

* Updated header indentation style and small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31070 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a30a9e9 06-Apr-2009 Rene Gollent <anevilyak@gmail.com>

Implemented BTextControl's string "Value" property. This fixes ticket #3494.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29982 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 73161598 25-Jan-2009 Jérôme Duval <korli@users.berlios.de>

* BTextControl is kept navigable to be handled correctly by BControl::SetEnabled(). MakeFocus() transfers anyway the focus on its textview.
* BControl::SetEnabled() now calls SetFlags(), BTextControl::SetFlags() is then correctly called.
* BControl::SetEnabled() now uses fWantsNav to know if B_NAVIGABLE should be restored


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29028 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39fbf550 15-Oct-2008 Oliver Tappe <zooey@hirschkaefer.de>

bonefish + zooey:
* Fixed a general problem with respect to overriding of the reserved
virtual function slots: instead of statically invoking the method
that corresponds to the reserved slot on the class that contains the
slot, we now invoke the virtual Perform() method. Perform() then dispatches
the method invocation to the "proper" class, i.e. the highest class in the
hierarchy that actually implements the requested method.
This fixes a crash in apps that use liblayout's MSlider class and
should fix one or other spurious bug with old apps or libraries, too.
* added new header folder 'binary_compatibility' that contains files that
define the method codes and data structures required by Perform()
* looked for and implemented all used reserved virtual slot functions to
invoke Perform() where necessary or to pass on the method call statically
(for slots that were already maintained by Be)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28124 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 54badb1f 19-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

mmlr + stippi:
Fixed more controls to handle a B_TRANSPARENT_COLOR as view coloe of the
parent view. Some controls would not initialize their LowColor() at all
if they were the only control in a window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26515 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fe54dee 19-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

If the parent view color is B_TRANSPARENT_COLOR,
fallback to ui_color(B_PANEL_BACKGROUND_COLOR) in AttachedToWindow(). Most
controls don't paint their background and rely on the app_server painting it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26510 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ad7bf44 26-Apr-2008 Jérôme Duval <korli@users.berlios.de>

Patch from Shinta, this fixes bug #2097. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25172 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9fdd4976 22-Apr-2008 Jérôme Duval <korli@users.berlios.de>

* typo in Control
* layout the view even in the case of an unarchived one
* this should finally fix #2121


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25106 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a2c9eeee 09-Jun-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added layout-friendly constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21363 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2313ae79 19-Jan-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Modified SetValue to do nothing when the value is already set.
This seems also be done it BeOS R5 and does remove the constant
flickering in the MediaPlayer slider.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19868 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


# 7d34abc3 02-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

No longer tries to create a "" label. An empty label is now NULL.
Probably among other, this fixes the BSlider appearance without a label.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a71c9607 01-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* BControl::SetValue() now calls Invalidate() again - not doing so would
break compatibility a bit too much (as this is a public class).
* Instead, we're now using the same mechanism as in Dano/Zeta, that is,
we use BControl::SetValueNoUpdate() in the inherited classes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16183 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0c3344f4 03-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

no Invalidate in BControl::SetValue, I figure more controls need to be updated for this change

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12947 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3c2fddee 15-May-2005 Stephan Aßmus <superstippi@gmx.de>

cosmetic

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12684 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55932743 28-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Cleaned up, added a ToDo comment where it behaves (possibly) strange.
The properties are now the same as in the Be version - there is no reason (IMO) for usage
comments like these; it's a public class, and its scripting usage should be documented in
the BeBook, if anywhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12503 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3ceb31b9 30-Jul-2004 DarkWyrm <darkwyrm@gmail.com>

Pahtz's changes from PortLink/BSession/PortMessage/PortQueue to BPortLink


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8519 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 30fd5147 14-May-2003 haydentech <haydentech@nowhere.fake>

Minor header-related changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3246 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 47bc8348 29-Apr-2003 Marc Flerackers <mflerackers@nowhere.fake>

*** empty log message ***


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ac6f7aa8 23-Jan-2003 Marc Flerackers <mflerackers@nowhere.fake>

Lots of fixes, geometry calculations updated, added buffered BSlider support


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2539 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6274b13f 14-Nov-2002 Marc Flerackers <mflerackers@nowhere.fake>

Compatibility changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1936 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f45d1cc7 14-Nov-2002 Marc Flerackers <mflerackers@nowhere.fake>

Compatibility changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1935 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fb4bf99d 01-Oct-2002 Marc Flerackers <mflerackers@nowhere.fake>

Some fixes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1343 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


# 1f424632be5dcad5b81a23080eb205ab6471cd7b 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to IK, focus on docs


# 092e3093c3f030b1c87faa6a9708b61b0b057b09 28-May-2014 John Scipione <jscipione@gmail.com>

BControl: Style fixes, variable renaming for consistency, docs.

Also some other style fixes, no functional changes intended.


# 97bf0ce362dbcc6f8ee0e6a94a831214eae2431f 22-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BControl: Move icon code to separate class BIcon


# 5414b3c44504c37c66798e0c467b0cd259a3e62e 22-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move icon related constants to InterfaceDefs.h

There will be non-BControl views to use those as well.


# be260374d58f6eae120320ac1ca1ba50783e8c4b 21-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BControl: Add icon support

The icon is meant as an addition to or replacement of the label. Icon
bitmaps for various states of the control (off, on, partially on, each
enabled or disabled, plus up to 125 custom states) can be set
individually via SetIconBitmap() (getter IconBitmap()).
The convenience method SetIcon() can be used to set the bitmaps for the
standard states from a single bitmap; it also supports cropping the
icon to its non-transparent area. Code borrowed from BIconButton.


# eee4243d35225a35d0964ebebe94490eaca14261 20-Oct-2011 Alex Wilson <yourpalal2@gmail.com>

De-virtualize BView::InvalidateLayout() and introduce LayoutInvalidated() hook, like BLayout.


# 3a8165655490a260d46d1545c885e4af92fd2b9c 30-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* BControl::AttachedToWindow() now also sets the background color to
B_PANEL_BACKGROUND_COLOR if there is no parent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31969 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 041b97a8b8e8167a4c6e6f7a1c186e7580e58e38 16-Jun-2009 Stephan Aßmus <superstippi@gmx.de>

* Updated header indentation style and small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31070 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a30a9e9f1489b6499b74a2aa1f9cfcb4bb5b6dd 06-Apr-2009 Rene Gollent <anevilyak@gmail.com>

Implemented BTextControl's string "Value" property. This fixes ticket #3494.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29982 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 73161598d79a62dc009e87db7950a4d43b4599ad 25-Jan-2009 Jérôme Duval <korli@users.berlios.de>

* BTextControl is kept navigable to be handled correctly by BControl::SetEnabled(). MakeFocus() transfers anyway the focus on its textview.
* BControl::SetEnabled() now calls SetFlags(), BTextControl::SetFlags() is then correctly called.
* BControl::SetEnabled() now uses fWantsNav to know if B_NAVIGABLE should be restored


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29028 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39fbf5509b8740d9883b61649027478dc8a3ead8 15-Oct-2008 Oliver Tappe <zooey@hirschkaefer.de>

bonefish + zooey:
* Fixed a general problem with respect to overriding of the reserved
virtual function slots: instead of statically invoking the method
that corresponds to the reserved slot on the class that contains the
slot, we now invoke the virtual Perform() method. Perform() then dispatches
the method invocation to the "proper" class, i.e. the highest class in the
hierarchy that actually implements the requested method.
This fixes a crash in apps that use liblayout's MSlider class and
should fix one or other spurious bug with old apps or libraries, too.
* added new header folder 'binary_compatibility' that contains files that
define the method codes and data structures required by Perform()
* looked for and implemented all used reserved virtual slot functions to
invoke Perform() where necessary or to pass on the method call statically
(for slots that were already maintained by Be)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28124 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 54badb1f367a83d2cb7a031375fca78fad510187 19-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

mmlr + stippi:
Fixed more controls to handle a B_TRANSPARENT_COLOR as view coloe of the
parent view. Some controls would not initialize their LowColor() at all
if they were the only control in a window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26515 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fe54dee09972f36403d2ec034166941e99918ad 19-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

If the parent view color is B_TRANSPARENT_COLOR,
fallback to ui_color(B_PANEL_BACKGROUND_COLOR) in AttachedToWindow(). Most
controls don't paint their background and rely on the app_server painting it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26510 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ad7bf44d0d662fc88b7d188f70d93292d9a976a 26-Apr-2008 Jérôme Duval <korli@users.berlios.de>

Patch from Shinta, this fixes bug #2097. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25172 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9fdd497614b5060934fe9b3884c5796261c82e24 22-Apr-2008 Jérôme Duval <korli@users.berlios.de>

* typo in Control
* layout the view even in the case of an unarchived one
* this should finally fix #2121


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25106 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a2c9eeee87f3175fcdf7e59ee9bf4e80be819c92 09-Jun-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added layout-friendly constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21363 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2313ae7997875ba49fb9130c4be16a6863419ef4 19-Jan-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Modified SetValue to do nothing when the value is already set.
This seems also be done it BeOS R5 and does remove the constant
flickering in the MediaPlayer slider.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19868 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


# 7d34abc3e8fd3c5361936c5fecd7862291acc790 02-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

No longer tries to create a "" label. An empty label is now NULL.
Probably among other, this fixes the BSlider appearance without a label.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a71c960755b6e636ce99639c700d3415788c7b41 01-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* BControl::SetValue() now calls Invalidate() again - not doing so would
break compatibility a bit too much (as this is a public class).
* Instead, we're now using the same mechanism as in Dano/Zeta, that is,
we use BControl::SetValueNoUpdate() in the inherited classes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16183 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0c3344f4a18959a347e6ed9d58fc31976b72d6b4 03-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

no Invalidate in BControl::SetValue, I figure more controls need to be updated for this change

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12947 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3c2fddee4e65f35c7cde6860e3499f777fac2ecd 15-May-2005 Stephan Aßmus <superstippi@gmx.de>

cosmetic

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12684 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55932743b46a839710edf19c36c097327d3d9bd3 28-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Cleaned up, added a ToDo comment where it behaves (possibly) strange.
The properties are now the same as in the Be version - there is no reason (IMO) for usage
comments like these; it's a public class, and its scripting usage should be documented in
the BeBook, if anywhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12503 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3ceb31b96aefa3601ccc51e415da557b00155d4f 30-Jul-2004 DarkWyrm <darkwyrm@gmail.com>

Pahtz's changes from PortLink/BSession/PortMessage/PortQueue to BPortLink


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8519 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 30fd51473f390b92d40b3a3c83b25e2d4a042f08 14-May-2003 haydentech <haydentech@nowhere.fake>

Minor header-related changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3246 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 47bc8348eac8d0e3bd3aa35f88d528394bf304ed 29-Apr-2003 Marc Flerackers <mflerackers@nowhere.fake>

*** empty log message ***


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ac6f7aa8506e964f35eb1c1107aea80ae7d06d18 23-Jan-2003 Marc Flerackers <mflerackers@nowhere.fake>

Lots of fixes, geometry calculations updated, added buffered BSlider support


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2539 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6274b13f69c27268fc6d4f3d0085d944eee16bc7 14-Nov-2002 Marc Flerackers <mflerackers@nowhere.fake>

Compatibility changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1936 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f45d1cc7e4d2696194105b90f103ce4c5252c112 14-Nov-2002 Marc Flerackers <mflerackers@nowhere.fake>

Compatibility changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1935 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fb4bf99df7de8898478e85b755f5ffda1b182a50 01-Oct-2002 Marc Flerackers <mflerackers@nowhere.fake>

Some fixes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1343 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