#
61eb1f1d |
|
22-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Replace remaining InvalidateLayout()'s with LayoutInvalidated(). Also do a bit of cleanup/move methods around.
|
#
e6cb8eb4 |
|
05-Nov-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Reuse the check for changed location which decides whether to Invoke() in MouseUp() in the code path for keyboard control. Should fix ticket #6792, but I have not actually tested it. * Don't post notification values in KeyDown() when the value did not change because it was constrained between min and max values. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39323 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
03e6434e |
|
10-Apr-2010 |
Jérôme Duval <korli@users.berlios.de> |
* fixes a BSlider issue noticed by Matt on the mailing list: Invoke() wasn't called the first time you grab a slider and slide it all the way to the left. Thanks for the test case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36145 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
75a6d1db |
|
26-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Optimized includes. For example, BeBuild.h is almost always already included via SupportDefs.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32748 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
|
#
b8473812 |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Making it private doesn't help unless you have a const BSlider. Therefore, removed it from the public namespace, and made it only visible when linking. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30071 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9479a69 |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added const version of GetLimits() (the non-const version is still around for binary compatibility). * Always round the bar thickness, or we get drawing artefacts. * Cleaned up the header following our coding style. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30070 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
|
#
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
|
#
1ae79415 |
|
16-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Changed the signature of UpdateText() to return a "const char*" (char* really makes no sense if the pointer belongs to the derived class and only confuses). Note this change does not affect binary compatibility. * Introduced a new MaxUpdateTextWidth() virtual method which is really necessary to handle the update text correctly in the layout. * Introduced a new UpdateTextChanged() method which can be called to notify the control of a changed update text. Internally, SetValue() also uses it. * Handle the width or height of the UpdateText() correctly in the layout. For horizontal layout, the width was forgotten to be included in GetPreferredSize(), for vertical layout, it was completely broken before. * Handle invalidation correctly when the UpdateText() changes. * Remove the arbitrary insets for labels from the border the control. This makes it easier to align the control's labels with other controls. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
423b1244 |
|
16-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
First round of BSlider fixes to be more layout friendly: * Improve the minimum size calculation and cache it. * Invalidate the layout on various property changes that require it. Vertical BSliders are very broken... that's up next. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26441 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cdcfa594 |
|
16-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Added layout friendly constructor * Use constructor lists for initializing members * Simplified initial SetBarColor() * Update the offscreen view with ViewColor() and LowColor(), someone might have changed it after AttachedToWindow() was called. * Cleanup here and there git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26440 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2365e7b5 |
|
05-Mar-2008 |
Rene Gollent <anevilyak@gmail.com> |
BSlider had code for doing double buffered drawing, but was disabled by default. Appears to work correctly though, so enabling it since it produces far less flicker here. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24255 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fb29f5b0 |
|
04-Jan-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Changes to let updates happen less frequently: * _ContrainPoint() was broken as it could never change the point it was supposed to contrain. * MouseDown() no longer sends a notification message automatically (only if it changed something) * MouseMoved() and synchronous MouseDown() will now only send modification messages if something actually changed (not for every mouse update). * After key presses, the invokation message is only sent when the value changed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19697 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e762848a |
|
16-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now draws the UpdateText() label as well (was obviously forgotten before). To reduce the number of calls to UpdateText(), the value returned is now buffered. This fixes bug #443. * SetValue() now calls UpdateText() and also invalidates the region where that label is drawn. * In asynchronous mode, B_NO_POINTER_HISTORY is set now for tracking. * Increased minimum snooze time in synchronous mode. * Minor cleanup, renamed fMinLimitStr to fMinLimitLabel, etc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17146 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44534147 |
|
15-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
"#ifdef __HAIKU__" is no longer needed with the new build system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14945 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a00fcbcd |
|
28-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Improved BSlider class: - rewrote GetPreferredSize(), it now actually works correctly - BSlider is certainly not supposed to resize itself on creation - fixed BarFrame() and ThumbFrame() to support a different view frame than the ideal one - added SetBarThickness() support - refactored constraining the mouse point to _ConstrainPoint() - it's now used by MouseDown() and MouseMoved() - because of that, tracking now works with vertical sliders as well - still has some drawing problems, but less - _ReservedSlider4() was defined public for the R5 build Cleanup, more or less rewrote the header. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13342 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c10a3393 |
|
03-Jun-2005 |
Stephan Aßmus <superstippi@gmx.de> |
huge BSlider cleanup, it doesn't use an offscreen bitmap anymore by default (compile time switch), updated drawing for Haiku features and disabled look, work in progress git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12948 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01e4e913 |
|
29-Nov-2004 |
DarkWyrm <darkwyrm@gmail.com> |
Stupidman strikes again. :D git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10291 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c41be78 |
|
29-Nov-2004 |
DarkWyrm <darkwyrm@gmail.com> |
FBC fix git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10290 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e037bfe8 |
|
16-Feb-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The introduction of the new virtual SetLimits() is nice in principle, but files compiled with this header implementing a BSlider subclass fail to link against libbe. Introduced a macro that apps can define that need to run under R5 for now. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2730 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f81711e0 |
|
23-Jan-2003 |
Marc Flerackers <mflerackers@nowhere.fake> |
Added the virtual function BSlider::SetLimits git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2541 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6f3c97ca |
|
12-Sep-2002 |
Marc Flerackers <mflerackers@nowhere.fake> |
Initial Checkin git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1028 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61eb1f1d19eed26b6138b0701612e8eb31bb1d86 |
|
22-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Replace remaining InvalidateLayout()'s with LayoutInvalidated(). Also do a bit of cleanup/move methods around.
|
#
e6cb8eb4c62ec3bc02b241cc06f68b3e3cdd444d |
|
05-Nov-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Reuse the check for changed location which decides whether to Invoke() in MouseUp() in the code path for keyboard control. Should fix ticket #6792, but I have not actually tested it. * Don't post notification values in KeyDown() when the value did not change because it was constrained between min and max values. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39323 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
03e6434ec0ca4628c1192f0ef5f4d0c1ff7d61de |
|
10-Apr-2010 |
Jérôme Duval <korli@users.berlios.de> |
* fixes a BSlider issue noticed by Matt on the mailing list: Invoke() wasn't called the first time you grab a slider and slide it all the way to the left. Thanks for the test case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36145 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
75a6d1db99fe8ea432c7ff8d80cfc095710d02f5 |
|
26-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Optimized includes. For example, BeBuild.h is almost always already included via SupportDefs.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32748 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
|
#
b8473812504816985d94288b3537a4fbcf055e47 |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Making it private doesn't help unless you have a const BSlider. Therefore, removed it from the public namespace, and made it only visible when linking. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30071 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9479a695100c52778bfda4b68efac996b1a5df6 |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added const version of GetLimits() (the non-const version is still around for binary compatibility). * Always round the bar thickness, or we get drawing artefacts. * Cleaned up the header following our coding style. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30070 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
|
#
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
|
#
1ae794159a94a272edabc18c4af0499189ddd2ac |
|
16-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Changed the signature of UpdateText() to return a "const char*" (char* really makes no sense if the pointer belongs to the derived class and only confuses). Note this change does not affect binary compatibility. * Introduced a new MaxUpdateTextWidth() virtual method which is really necessary to handle the update text correctly in the layout. * Introduced a new UpdateTextChanged() method which can be called to notify the control of a changed update text. Internally, SetValue() also uses it. * Handle the width or height of the UpdateText() correctly in the layout. For horizontal layout, the width was forgotten to be included in GetPreferredSize(), for vertical layout, it was completely broken before. * Handle invalidation correctly when the UpdateText() changes. * Remove the arbitrary insets for labels from the border the control. This makes it easier to align the control's labels with other controls. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
423b124450861415baaeee9d480d180c39829473 |
|
16-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
First round of BSlider fixes to be more layout friendly: * Improve the minimum size calculation and cache it. * Invalidate the layout on various property changes that require it. Vertical BSliders are very broken... that's up next. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26441 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cdcfa5945d0694dec7695986c8e09e8276c9b4e5 |
|
16-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Added layout friendly constructor * Use constructor lists for initializing members * Simplified initial SetBarColor() * Update the offscreen view with ViewColor() and LowColor(), someone might have changed it after AttachedToWindow() was called. * Cleanup here and there git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26440 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2365e7b5747f7c72da6ea41a17431e3e9d680072 |
|
05-Mar-2008 |
Rene Gollent <anevilyak@gmail.com> |
BSlider had code for doing double buffered drawing, but was disabled by default. Appears to work correctly though, so enabling it since it produces far less flicker here. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24255 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fb29f5b0fb77e2079d4b272a932c15bf355ffb65 |
|
04-Jan-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Changes to let updates happen less frequently: * _ContrainPoint() was broken as it could never change the point it was supposed to contrain. * MouseDown() no longer sends a notification message automatically (only if it changed something) * MouseMoved() and synchronous MouseDown() will now only send modification messages if something actually changed (not for every mouse update). * After key presses, the invokation message is only sent when the value changed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19697 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e762848ab2db2c6c1bd9d122d5225e4c2ff07980 |
|
16-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now draws the UpdateText() label as well (was obviously forgotten before). To reduce the number of calls to UpdateText(), the value returned is now buffered. This fixes bug #443. * SetValue() now calls UpdateText() and also invalidates the region where that label is drawn. * In asynchronous mode, B_NO_POINTER_HISTORY is set now for tracking. * Increased minimum snooze time in synchronous mode. * Minor cleanup, renamed fMinLimitStr to fMinLimitLabel, etc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17146 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44534147b13424906d3a9489d0a3eeb29a733fb9 |
|
15-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
"#ifdef __HAIKU__" is no longer needed with the new build system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14945 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a00fcbcdf8d065de90cd421527d1a03ee838fd3f |
|
28-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Improved BSlider class: - rewrote GetPreferredSize(), it now actually works correctly - BSlider is certainly not supposed to resize itself on creation - fixed BarFrame() and ThumbFrame() to support a different view frame than the ideal one - added SetBarThickness() support - refactored constraining the mouse point to _ConstrainPoint() - it's now used by MouseDown() and MouseMoved() - because of that, tracking now works with vertical sliders as well - still has some drawing problems, but less - _ReservedSlider4() was defined public for the R5 build Cleanup, more or less rewrote the header. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13342 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c10a3393e23ce9fff61d83608b8985c52b07dd66 |
|
03-Jun-2005 |
Stephan Aßmus <superstippi@gmx.de> |
huge BSlider cleanup, it doesn't use an offscreen bitmap anymore by default (compile time switch), updated drawing for Haiku features and disabled look, work in progress git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12948 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01e4e913666d428747a8ca043d336c167631e127 |
|
29-Nov-2004 |
DarkWyrm <darkwyrm@gmail.com> |
Stupidman strikes again. :D git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10291 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c41be783c7ef355d73558cbf2c20f7f2c53db0b |
|
29-Nov-2004 |
DarkWyrm <darkwyrm@gmail.com> |
FBC fix git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10290 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e037bfe8cf0cae0f22538351c36ad0c18431d552 |
|
16-Feb-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The introduction of the new virtual SetLimits() is nice in principle, but files compiled with this header implementing a BSlider subclass fail to link against libbe. Introduced a macro that apps can define that need to run under R5 for now. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2730 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f81711e0de29e317716c0b0c6d45e443df795f11 |
|
23-Jan-2003 |
Marc Flerackers <mflerackers@nowhere.fake> |
Added the virtual function BSlider::SetLimits git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2541 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6f3c97ca49a4a33720299fd2c8d9699edd6f61b5 |
|
12-Sep-2002 |
Marc Flerackers <mflerackers@nowhere.fake> |
Initial Checkin git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1028 a95241bf-73f2-0310-859d-f6bbb57e9c96
|