haiku/headers/os/interface
Ingo Weinhold a0747aad3b After the first call to BView::InvalidateLayout() further invocations don't
invoke the layout's InvalidateLayout() anymore. This could cause problems when
the layout caches layout related information and also updates those on calls
other than LayoutView(). A call to such a method after an InvalidateLayout()
would mark the cached info valid and the layout would use the cached info
until the first InvalidateLayout() after the next LayoutView(), even if
BView::InvalidateLayout() had been called again in the meantime.

* Introduced a new method BView::ResetLayoutInvalidation(), which must be
  called by layout implementations whenever they have updated their cached
  information and need further InvalidateLayout() notifications.
* Adjusted the existing layout implementations to use the method.

Fixes bug #4047.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 14:18:12 +00:00
..
AbstractLayoutItem.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
Alert.h Rewrote BAlert button layout routine. Made it much simpler, and it's now 2006-06-16 16:22:53 +00:00
Alignment.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
Bitmap.h * Implemented new BView drawing functions DrawBitmap[Async]( 2008-07-28 18:58:30 +00:00
Box.h * Added layout-friendly constructors and implemented Min/Max/PreferredSize(), 2007-06-08 23:40:16 +00:00
Button.h * Header cleanup. 2009-03-24 13:26:56 +00:00
CardLayout.h Just noticed this file was using CR/LF newlines... 2008-09-01 20:12:13 +00:00
ChannelControl.h Added layout friendly constructor to this base class. 2009-02-15 15:41:35 +00:00
ChannelSlider.h Implemented a new look for the Haiku interface controls. It was 2009-02-15 18:23:19 +00:00
CheckBox.h Added layout-friendly constructors and implemented Min/Max/PreferredSize(). 2007-06-09 10:52:36 +00:00
ColorControl.h Style update. 2008-11-21 00:15:22 +00:00
Control.h * Fixed style violations. 2009-06-17 14:58:24 +00:00
ControlLook.h * Added BSplitView drawing code to ControlLook. 2009-06-20 15:03:33 +00:00
Deskbar.h * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
Dragger.h * Rewrote BDragger's mouse tracking to be asynchronous using a message filter. Placed the filter in 2009-04-06 19:15:00 +00:00
Font.h Added additional font face flags for "condensed", "light" and "heavy". 2008-05-24 14:54:18 +00:00
Gradient.h * Cleanup in the Gradient department. No fuctional change. 2009-02-15 15:15:49 +00:00
GradientConic.h Prepend header guard with underscore. 2008-11-08 12:00:57 +00:00
GradientDiamond.h Prepend header guard with underscore. 2008-11-08 12:00:57 +00:00
GradientLinear.h Prepend header guard with underscore. 2008-11-08 12:00:57 +00:00
GradientRadial.h Prepend header guard with underscore. 2008-11-08 12:00:57 +00:00
GradientRadialFocus.h Prepend header guard with underscore. 2008-11-08 12:00:57 +00:00
GraphicsDefs.h Fix GCC4 build. 2008-06-03 19:24:56 +00:00
GridLayout.h Added Count{Columns,Rows}(). 2009-04-25 16:47:02 +00:00
GridLayoutBuilder.h Added convenience methods to allow a group or grid layout's insets to be set 2007-01-31 20:30:20 +00:00
GridView.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
GroupLayout.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
GroupLayoutBuilder.h Added convenience methods to allow a group or grid layout's insets to be set 2007-01-31 20:30:20 +00:00
GroupView.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
Input.h * Cleanup. 2008-10-19 13:17:29 +00:00
InterfaceDefs.h Patch by Shinta: The key code was misnamed. Thanks a lot! 2009-05-03 08:32:17 +00:00
Layout.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
LayoutBuilder.h * Made BTwoDimensionalLayout and BSplitLayout::GetInsets() const. 2009-06-23 10:56:22 +00:00
LayoutContext.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
LayoutItem.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
LayoutUtils.h * Added FixSizeConstraints() functions, which adjust the elements of a (min, 2007-06-08 23:14:48 +00:00
ListItem.h * Moved class BStringItem into its own source file. 2009-06-17 16:26:17 +00:00
ListView.h * Applied a changed patch by Romain that fixes the non-working double click in 2009-05-17 16:49:05 +00:00
Menu.h Implemented a new look for the Haiku interface controls. It was 2009-02-15 18:23:19 +00:00
MenuBar.h Rewrote PopUpMenu.h and MenuBar.h. Adjusted source files accordingly. 2007-10-29 10:40:16 +00:00
MenuField.h * Fixed the unified menu bar width calculations. SetDivider() got it wrong. 2009-03-23 12:16:10 +00:00
MenuItem.h * Rewrote the trigger selection mechanism: it now searches for uppercase 2007-09-30 10:52:45 +00:00
MultiChannelControl.h some header files to be R5 compatible 2002-10-23 13:54:44 +00:00
OptionControl.h Rewrote OptionPopUp.h and OptionControl.h 2007-10-22 14:59:04 +00:00
OptionPopUp.h Rewrote OptionPopUp.h and OptionControl.h 2007-10-22 14:59:04 +00:00
OutlineListView.h * Added layout-friendly constructor. 2009-06-17 14:56:57 +00:00
Picture.h * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
PictureButton.h * cleanup 2009-01-11 19:06:45 +00:00
Point.h * Removed the _IMPEXP* stuff from the headers Ingo clearly identified as ours. 2007-07-06 10:35:17 +00:00
Polygon.h Applied patch by Stephen Deken: 2008-10-16 19:10:10 +00:00
PopUpMenu.h * Cleaned up odd indentation. 2008-07-14 17:30:59 +00:00
PrintJob.h Restored the copyright notice before r24684, as pointed out by Marcus Overhagen on the Haiku-commits mailing list, r24684 is a copyright violation. 2008-04-05 11:55:14 +00:00
RadioButton.h * Updated the coding style. 2008-09-16 15:08:02 +00:00
Rect.h Removed the BSize(const BRect&) constructor and added BRect::Size() 2007-05-12 16:50:16 +00:00
Region.h Small cleanup 2009-04-21 11:26:11 +00:00
Screen.h * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
ScrollBar.h Implemented a new look for the Haiku interface controls. It was 2009-02-15 18:23:19 +00:00
ScrollView.h * Added missing MaxSize() implementation. 2009-03-31 13:01:42 +00:00
SeparatorItem.h Rewrote PopUpMenu.h and MenuBar.h. Adjusted source files accordingly. 2007-10-29 10:40:16 +00:00
Shape.h * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
Shelf.h * Update ref count later in _AddReplicant and add one check to be sure we checked all possible errors. 2009-03-08 16:08:03 +00:00
Size.h Defined B_SIZE_UNSET to -2. -1 is actually a valid size, meaning 0 pixels. 2007-06-17 01:10:12 +00:00
Slider.h * Making it private doesn't help unless you have a const BSlider. Therefore, 2009-04-09 15:50:03 +00:00
SpaceLayoutItem.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
SplitLayoutBuilder.h * Made BTwoDimensionalLayout and BSplitLayout::GetInsets() const. 2009-06-23 10:56:22 +00:00
SplitView.h * Made BTwoDimensionalLayout and BSplitLayout::GetInsets() const. 2009-06-23 10:56:22 +00:00
StatusBar.h Updated indentation style. 2009-04-25 09:17:08 +00:00
StringItem.h * Moved class BStringItem into its own source file. 2009-06-17 16:26:17 +00:00
StringView.h * Implement SetFont() and invalidate the layout. More controls should probably 2008-07-15 13:55:44 +00:00
TabView.h * Update indentation style in TabView.h 2009-06-21 13:04:51 +00:00
TextControl.h * Implemented a lot of layout related methods and resolved a few TODOs by 2008-09-16 10:50:31 +00:00
TextView.h fixed behaviour of non-editable textviews: 2009-05-13 22:09:15 +00:00
TwoDimensionalLayout.h * Made BTwoDimensionalLayout and BSplitLayout::GetInsets() const. 2009-06-23 10:56:22 +00:00
UnicodeBlockObjects.h * Cleanup. 2009-04-08 14:12:45 +00:00
View.h After the first call to BView::InvalidateLayout() further invocations don't 2009-06-29 14:18:12 +00:00
Window.h Added DecoratorFrame() method, which returns the outer frame of the window 2009-03-31 13:34:16 +00:00