Commit Graph
27 Commits
Author SHA1 Message Date
Ryan Leavengood 57c5b09e1a Use be_control_look != NULL everywhere in the Interface Kit.
Should not be a functional change. It is not in the Haiku Coding Guidelines but
I feel like 'if (object != NULL)' is generally preferred to 'if (object)', plus
in this case of be_control_look that is the more common style.
2012-08-05 18:07:23 -04:00
Jerome Duval 8adaa6c544 interface kit: added compatibility symbols for GCC4
* InvalidateLayout method for BBox, BButton, BCheckBox, BMenuField,
  BScrollView, BSlider, BStringView, BTextControl.
2012-02-26 10:36:04 +01:00
Rene Gollent f6c8d24294 Use the correct perform invocation for these functions. 2011-12-19 08:49:58 -05:00
Rene Gollent 466f2b8f99 Add compatibility symbols for removed LayoutChanged() calls. 2011-12-18 15:34:44 -05:00
Alex Wilson eee4243d35 De-virtualize BView::InvalidateLayout() and introduce LayoutInvalidated() hook, like BLayout. 2011-10-28 14:16:43 -06:00
Stephan Aßmus c944d11f7e bonefish+stippi:
All views which cache layout information need to call ResetLayoutInvalidation()
when they have updated the cached information. Otherwise calling
InvalidateLayout() once they are already attached to a layout may not have any
effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 13:36:49 +00:00
Stephan Aßmus a3840a518d One more little cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-26 10:31:03 +00:00
Stephan Aßmus c5c20344eb * Cleaned up the header
* Reordered methods to group them logically
* Use nothrow version of new when instantiating BCheckBox from archive.

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-26 10:30:27 +00:00
Stephan Aßmus 2f86ba4557 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
2009-02-15 18:23:19 +00:00
Oliver Tappe 39fbf5509b 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
2008-10-15 09:29:06 +00:00
Stephan Aßmus ab7c45e727 * Prevent cross from being too close to the surroundings.
* No need for B_OP_OVER anymore since ages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 11:52:53 +00:00
Ingo Weinhold 05e3a10655 Rather use B_SIZE_UNSET for fPreferredSize.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 01:11:08 +00:00
Ingo Weinhold c594b2f5f2 Added layout-friendly constructors and implemented Min/Max/PreferredSize().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 10:52:36 +00:00
Axel Dörfler da7c734d5c Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 15:50:04 +00:00
Stephan Aßmus a0c5ca01a5 using Draw(); Flush(); doesn't get a clean background to draw on, other controls should be fixed as well... this should fix the text becomming thick when repeatedly clicking a check box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 09:55:39 +00:00
Axel Dörfler 2990d21b82 * Recognized any values instead of just boolean ones. This fixes bug #186.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-28 12:17:26 +00:00
Axel Dörfler a71c960755 * 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
2006-02-01 15:55:46 +00:00
Axel Dörfler 8643b0987c All controls/views now accept NULL arguments for "width" and "height" in GetPreferredSize().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 17:29:39 +00:00
Stephan Aßmus 0c3344f4a1 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
2005-06-03 19:55:49 +00:00
Stephan Aßmus 5f50ffd65c The real fix for taking anti-aliasing into account, though what my previous commit said was true as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 13:28:59 +00:00
Stephan Aßmus dcf0c6ebd6 The anti-aliasing in Haiku requires the same carefulness with B_OP_COPY for line drawing as text drawing does in R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 11:57:13 +00:00
Stephan Aßmus 25ad8b2c74 replaced direct calling of Draw() with Invalidate() where appropriate
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:51:29 +00:00
Stefano Ceccherini bc6981cc74 Switch synchronous and asynchronous mouse tracking code as it was wrongly placed. Style changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-23 12:13:56 +00:00
Marc Flerackers 64603764f9 *** empty log message ***
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-16 06:33:32 +00:00
Marc Flerackers 47bc8348ea *** empty log message ***
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-29 07:26:55 +00:00
Marc Flerackers 8ce46bc32b Lots of fixes, geometry calculations updated, added buffered BSlider support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-23 15:11:19 +00:00
ejakowatz 52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00