History log of /haiku/src/kits/interface/ChannelSlider.cpp
Revision Date Author Comments
# 01ef8111 08-Oct-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

BChannelSlider: use native tooltips

BChannelSlider (used in media preferences) used to implement its own
tooltip, which didn't really work (as it could draw only inside the
view), and had hardcoded colors.

Use the native BToolTip which was added to Haiku since then.


# 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.


# 70191174 01-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

ChannelSlider: Remove original look.
The Thumb returned by BChannelSlider::ThumbFor() is currently ignored.


# e716f487 29-Jul-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

ChannelSlider: don't check be_control_look for NULL
Also if0 the code that draws the old/dano look so it's more clear that
it's not called intentionally.


# 9b780235 28-Jul-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BChannelSlider: Fixed memory leak.
At least, I think so.
Check allocations in BChannelSlider::ThumbFor()-
Also updated copyright and e-mail address.


# e724b26f 08-Jul-2013 John Scipione <jscipione@gmail.com>

Remove enum elaborated type specifier

...from orientation params. Elaborated type specifiers are not needed
for C++ code and removing them makes doxygen happy. Verified working
on both gcc2h and gcc4h builds.


# 9be774b5 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Compilation and 64-bit fixes to libbe.so sources.

Fixed the usual issues - printf format strings, uint32 instead of
addr_t, etc. One thing that isn't so nice is several places where
BList is used to store (u)int32, these require a double cast to addr_t
then void* to silence a warning on x86_64.


# a20769b3 16-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

CID 1500 : Potential NULL poiner dereference.


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


# d89b690d 25-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

* Finished rewriting the header.
* Cleanup.


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


# 2f86ba45 15-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented a new look for the Haiku interface controls. It was
overheard that they looked too ninety-ish.
TODO: The code behind this is work in progress. The basic idea
is to extract all drawing code into a new class BControlLook,
of which there is a global instance be_control_look, instantiated
in InterfaceDefs.cpp. At the moment, all the old drawing code is
still there, and the usage of be_control_look is inside if-bodies
checking the instance against NULL. In another words, by not
instanitating be_control_look, you can revert back to the old look.
BControlLook's job is to provide reusable methods for drawing
certain types of frames, backgrounds and labels, so that application
developers can make controls that re-use the same drawing code
as built-in controls and adopt to changes made there. I have added
the notion of "borders". Each of the frame drawing methods can be
made to draw certain borders only, which is supposed to help when
controls shall visually attach. This feature is not fully explored
at all ATM.
TODO: Update BColumnListView header view and BStringItem text
spacing. Update other apps where it makes sense to use BControlLook.
For the moment, only Tracker and LaunchBox are updated. More...
NOTE: The new look is not very radically different, so that existing
apps do not immediately look too ugly or out of place.


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


# 2558db10 07-Feb-2009 Rene Gollent <anevilyak@gmail.com>

Oops. Fix backwards conditional.



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


# 310177b4 07-Feb-2009 Rene Gollent <anevilyak@gmail.com>

ChannelSlider now sends notifications while being dragged, thus allowing the volume to be manipulated in realtime from the media prefs, rather than on mouseup only. Fixes ticket #3338.



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


# 5fa4ff6a 08-Jan-2009 Karsten Heimrich <host.haiku@gmx.de>

* use std::nothrow
* implement min/max labels
* fix drawing for horizontal sliders
* removed commented code value drawing code
* changed 'tooltip' to show left/right, top/bottom of the knob



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


# e6753e37 08-Jan-2009 Karsten Heimrich <host.haiku@gmx.de>

* fix small mem leak
* whitespace cleanup, etc
* some renaming to fit Haiku style



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


# 18108ef7 18-Mar-2007 Jérôme Duval <korli@users.berlios.de>

applied minimums to values computations
implemented SetLimitsFor() and GetLimitsFor()


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


# 789b86ec 17-Mar-2007 Jérôme Duval <korli@users.berlios.de>

don't send a message on mouse down and mouve moved
correctly set "be:channel_changed"
correctly set "be:current_channel" with SetCurrentChannel()
correctly set "be:value"


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


# f4fc3d62 05-Jun-2006 Jérôme Duval <korli@users.berlios.de>

* fixed some more GetSupportedSuites implementations
* fixed some local variables names
* fixed the case of some message attribute names


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


# 23467f07 13-Mar-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BBitmap's constructor offsets the passed BRect to B_ORIGIN in case it isn't already. This fixes bug 301. Offset the rect in ChannelSlider too just in case.

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


# 2879eb37 10-Feb-2006 Jérôme Duval <korli@users.berlios.de>

hopefully fixed ChannelSlider (size, drawing)


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


# 24ab95ee 02-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fixes ChannelSlider::Draw when Label() is NULL
fixes a bit preferred size, still needs work


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


# 17f3c533 10-May-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Improved the colors (which were really ugly): now the value looks like a tooltip.


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


# bc3465f9 10-May-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Some experiments with drawing the slider's value:
Now we draw it over the thumb. The old implementation is there, just ifdeffed out. I'd like some feedback on this.


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


# 7d84be4d 29-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed some font sensitivity issues.
Fixed a small glitch in drawing.
Removed an unneeded Sync() in Draw().
Removed some unnecessary virtual method calls.
Improved drawing of the current slider's value.

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


# e7467ada 29-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added synchronous mouse support (shouldn't I lock the window ? why does it work without locking ?), now the thumb bitmap is drawn with B_OP_OVER, thus eliminating a visual glitch.


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


# d6b77167 28-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

- Horizontal sliders work correctly.
- Only the active channel slider is highlighted now, unlike Beos's version. I like this more.
- Added an (experimental) feature: when changing a slider's value with the mouse, its value is displayed (requested by Axel, can you check if it's what you wanted ? http://burton666.neoni.net/shots/channelslider.png ).

There are still some problems with the calculations of coordinates, I'd like someone to review my code.



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


# 07ce6345 08-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Ouch! Looks like Beos doesn't take font size into account in the various calculations. Fixing them could mean break some derived classes, but I don't think there are any. This fixes label drawing, the rest when I return from holidays.

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


# c958e714 08-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Now draws the nice thumb "frame"

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


# 347f3fa3 07-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

More fixes towards better drawing

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


# 5040785e 11-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BChannelControl::SetAllValue() didn't take limits into account. Horizontal sliders now at least are drawn correctly, even if they don't work well. Added a temporary visual hint of where's the bitmap frame. Enhanced a bit the drawing of the groove.


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


# b9b67246 10-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

The primary mouse button selects channels together, and the secondary mouse button selects them individually, and not the opposite as I had thought. Channels couldn't be moved together anyway: fixed.
Fixed a couple dozens of drawing problems (like multiple channels not drawn in the right place) and implemented the needed scripting functionalities into MessageReceived().


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


# 7730601a 08-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented Get/SetLimits() and fixed scripting stuff


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


# 016e74b2 07-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed a crash on exit (Attached views are deleted automatically), finished some missing stuff, corrected some issues.


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


# e605d526 21-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Finally we draw something with our own code. It works only with vertical sliders, and it's still buggy, though.


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


# 0677ddf4 17-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Now the slider correctly moves on mousedown/mousemoved. Note that currently it works only if the BWindow was created with the B_ASYNCHRONOUS_CONTROLS flag. Fixed drawing of the thumb when pressed.


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


# f6fd4d6a 04-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added bitmaps for the horizontal and vertical thumbs.


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


# 859c5ac3 03-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented Archive() and unarchiving constructor. Removed bad linefeeds.


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


# 10226799 02-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Vertical() can be const and should be, when invoked on a const instance.


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


# fd873802 02-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented some more BChannelControl methods. It's almost fully functional. BChannelSlider won't crash if ThumbFor() returns NULL.


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


# 422c0791 01-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Applied our style guide as someone (cough! *** Axel *** cough!) bugged me (correctly) about it :)


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


# 976f53a9 01-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed warnings. Maximum initial values are 100 (One should always print values in decimal, not hex). Implemented GetSupportedSuites().


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


# 1c3a6ab0 01-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented a couple of methods. Most are tested, even if not thoroughly.


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


# 625c061a 14-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Added empty implementation of missing class BChannelSlider.


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


# 7019117402dff458e6297b09b235c4cb7811cdcf 01-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

ChannelSlider: Remove original look.
The Thumb returned by BChannelSlider::ThumbFor() is currently ignored.


# e716f4877826e8db64c57864a40e7b72ec559bd0 29-Jul-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

ChannelSlider: don't check be_control_look for NULL
Also if0 the code that draws the old/dano look so it's more clear that
it's not called intentionally.


# 9b7802354fa49caeff6dcc3b4eb630b5bde692e6 28-Jul-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BChannelSlider: Fixed memory leak.
At least, I think so.
Check allocations in BChannelSlider::ThumbFor()-
Also updated copyright and e-mail address.


# e724b26f23ad0df100a47f8d913bcdb3d54267df 08-Jul-2013 John Scipione <jscipione@gmail.com>

Remove enum elaborated type specifier

...from orientation params. Elaborated type specifiers are not needed
for C++ code and removing them makes doxygen happy. Verified working
on both gcc2h and gcc4h builds.


# 9be774b553296a712704078314f2291ae5fc352c 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Compilation and 64-bit fixes to libbe.so sources.

Fixed the usual issues - printf format strings, uint32 instead of
addr_t, etc. One thing that isn't so nice is several places where
BList is used to store (u)int32, these require a double cast to addr_t
then void* to silence a warning on x86_64.


# a20769b39c4f323a83e053be9b77299952ab24f2 16-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

CID 1500 : Potential NULL poiner dereference.


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


# d89b690d3b559f77f8ddb2ffe3eef9a5f60eb03b 25-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

* Finished rewriting the header.
* Cleanup.


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


# 2f86ba45579bdc9648b232175f87edc62ab71b54 15-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented a new look for the Haiku interface controls. It was
overheard that they looked too ninety-ish.
TODO: The code behind this is work in progress. The basic idea
is to extract all drawing code into a new class BControlLook,
of which there is a global instance be_control_look, instantiated
in InterfaceDefs.cpp. At the moment, all the old drawing code is
still there, and the usage of be_control_look is inside if-bodies
checking the instance against NULL. In another words, by not
instanitating be_control_look, you can revert back to the old look.
BControlLook's job is to provide reusable methods for drawing
certain types of frames, backgrounds and labels, so that application
developers can make controls that re-use the same drawing code
as built-in controls and adopt to changes made there. I have added
the notion of "borders". Each of the frame drawing methods can be
made to draw certain borders only, which is supposed to help when
controls shall visually attach. This feature is not fully explored
at all ATM.
TODO: Update BColumnListView header view and BStringItem text
spacing. Update other apps where it makes sense to use BControlLook.
For the moment, only Tracker and LaunchBox are updated. More...
NOTE: The new look is not very radically different, so that existing
apps do not immediately look too ugly or out of place.


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


# 2558db102308dc5eb81ce0e67f0725f487024d0b 07-Feb-2009 Rene Gollent <anevilyak@gmail.com>

Oops. Fix backwards conditional.



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


# 310177b43e821caa57cca183d4cba32c3b9ba4b4 07-Feb-2009 Rene Gollent <anevilyak@gmail.com>

ChannelSlider now sends notifications while being dragged, thus allowing the volume to be manipulated in realtime from the media prefs, rather than on mouseup only. Fixes ticket #3338.



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


# 5fa4ff6a86ed79bcbacd3d3f718b5b8a3889366b 08-Jan-2009 Karsten Heimrich <host.haiku@gmx.de>

* use std::nothrow
* implement min/max labels
* fix drawing for horizontal sliders
* removed commented code value drawing code
* changed 'tooltip' to show left/right, top/bottom of the knob



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


# e6753e37c6fe8c877008699cd239b67a940838c1 08-Jan-2009 Karsten Heimrich <host.haiku@gmx.de>

* fix small mem leak
* whitespace cleanup, etc
* some renaming to fit Haiku style



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


# 18108ef7ded281e17e76bc6e411062f6355685aa 18-Mar-2007 Jérôme Duval <korli@users.berlios.de>

applied minimums to values computations
implemented SetLimitsFor() and GetLimitsFor()


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


# 789b86ec6c5748d5bcc32eed167ece7369d8c3cf 17-Mar-2007 Jérôme Duval <korli@users.berlios.de>

don't send a message on mouse down and mouve moved
correctly set "be:channel_changed"
correctly set "be:current_channel" with SetCurrentChannel()
correctly set "be:value"


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


# f4fc3d626a425bf59886cd5773fd2f64ff285b10 05-Jun-2006 Jérôme Duval <korli@users.berlios.de>

* fixed some more GetSupportedSuites implementations
* fixed some local variables names
* fixed the case of some message attribute names


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


# 23467f07d91819696eae921de0fd3f566405f2f8 13-Mar-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BBitmap's constructor offsets the passed BRect to B_ORIGIN in case it isn't already. This fixes bug 301. Offset the rect in ChannelSlider too just in case.

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


# 2879eb37ec82f341e3c7a8e2ba7f270d501a361d 10-Feb-2006 Jérôme Duval <korli@users.berlios.de>

hopefully fixed ChannelSlider (size, drawing)


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


# 24ab95eee182f4eac5bbbc113779004c672600fd 02-Feb-2006 Jérôme Duval <korli@users.berlios.de>

fixes ChannelSlider::Draw when Label() is NULL
fixes a bit preferred size, still needs work


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


# 17f3c5335a41cbc0a4faa7183a459ccacb47269b 10-May-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Improved the colors (which were really ugly): now the value looks like a tooltip.


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


# bc3465f998d827e5f23e0aa8ac3cb45a9c8760c5 10-May-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Some experiments with drawing the slider's value:
Now we draw it over the thumb. The old implementation is there, just ifdeffed out. I'd like some feedback on this.


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


# 7d84be4d67c57061fedb15ded0bce1888c3eea04 29-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed some font sensitivity issues.
Fixed a small glitch in drawing.
Removed an unneeded Sync() in Draw().
Removed some unnecessary virtual method calls.
Improved drawing of the current slider's value.

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


# e7467ada1a6ad5cb15aa0eae9659f4db99f9b375 29-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added synchronous mouse support (shouldn't I lock the window ? why does it work without locking ?), now the thumb bitmap is drawn with B_OP_OVER, thus eliminating a visual glitch.


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


# d6b771678c632f5bdcccf0927b1b41fad2090a68 28-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

- Horizontal sliders work correctly.
- Only the active channel slider is highlighted now, unlike Beos's version. I like this more.
- Added an (experimental) feature: when changing a slider's value with the mouse, its value is displayed (requested by Axel, can you check if it's what you wanted ? http://burton666.neoni.net/shots/channelslider.png ).

There are still some problems with the calculations of coordinates, I'd like someone to review my code.



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


# 07ce63458bccb9d01abdcb94874ffc6f9b7fdbe1 08-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Ouch! Looks like Beos doesn't take font size into account in the various calculations. Fixing them could mean break some derived classes, but I don't think there are any. This fixes label drawing, the rest when I return from holidays.

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


# c958e7145b56c0b69409adf2c4343eb17f93803b 08-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Now draws the nice thumb "frame"

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


# 347f3fa35741906506baf699c20b95aabae882d4 07-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

More fixes towards better drawing

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


# 5040785e7de27e65e4685476279994f4a00dd08d 11-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BChannelControl::SetAllValue() didn't take limits into account. Horizontal sliders now at least are drawn correctly, even if they don't work well. Added a temporary visual hint of where's the bitmap frame. Enhanced a bit the drawing of the groove.


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


# b9b672461790b035f9416cd428709c3a4d0cfd4d 10-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

The primary mouse button selects channels together, and the secondary mouse button selects them individually, and not the opposite as I had thought. Channels couldn't be moved together anyway: fixed.
Fixed a couple dozens of drawing problems (like multiple channels not drawn in the right place) and implemented the needed scripting functionalities into MessageReceived().


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


# 7730601a59ec8b6bf23764eaddca15b803f48906 08-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented Get/SetLimits() and fixed scripting stuff


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


# 016e74b2c551552ad3482dd51f0eaec836c0ff3c 07-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed a crash on exit (Attached views are deleted automatically), finished some missing stuff, corrected some issues.


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


# e605d5266107f815c61980b1960166990b53c230 21-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Finally we draw something with our own code. It works only with vertical sliders, and it's still buggy, though.


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


# 0677ddf4a7627eaedea91a0d0023465de1ca7fee 17-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Now the slider correctly moves on mousedown/mousemoved. Note that currently it works only if the BWindow was created with the B_ASYNCHRONOUS_CONTROLS flag. Fixed drawing of the thumb when pressed.


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


# f6fd4d6a70b38ea404a6c2f13e33df75fbc0ccaf 04-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added bitmaps for the horizontal and vertical thumbs.


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


# 859c5ac301e991b9ad23403b2b00a54b1313bdd5 03-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented Archive() and unarchiving constructor. Removed bad linefeeds.


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


# 102267997cdcdfd1c7513c1d895e04494e226a03 02-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Vertical() can be const and should be, when invoked on a const instance.


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


# fd873802ab24e15b84f9dc3ae7bcffd86b57ab72 02-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented some more BChannelControl methods. It's almost fully functional. BChannelSlider won't crash if ThumbFor() returns NULL.


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


# 422c07914d12e0fda98061f0766e0346804e4b64 01-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Applied our style guide as someone (cough! *** Axel *** cough!) bugged me (correctly) about it :)


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


# 976f53a988a233affed1cbc816ce19f67c145658 01-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed warnings. Maximum initial values are 100 (One should always print values in decimal, not hex). Implemented GetSupportedSuites().


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


# 1c3a6ab02501c0d7873fa725796fb671c9c40d87 01-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented a couple of methods. Most are tested, even if not thoroughly.


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


# 625c061ad5f5ec60be0d04fd50224cdd02756075 14-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Added empty implementation of missing class BChannelSlider.


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