Be more stringent on what it means to be tightly-coupled for two layouts.
Note that directly resizing a playout should not be allowed. Only the skins2
windows manager should be authorized to do it, since other issues are at stake
(anchors, min/max constraints, ....). Yet, this new isTightlyCoupledWith() now
ensures that two layouts are truly identical from the windows manager's
perspective, and thus avoids possible and undesirable side effects.
+
+bool GenericLayout::isTightlyCoupledWith( const GenericLayout& otherLayout ) const
+{
+ return m_original_width == otherLayout.m_original_width &&
+ m_original_height == otherLayout.m_original_height &&
+ m_minWidth == otherLayout.m_minWidth &&
+ m_maxWidth == otherLayout.m_maxWidth &&
+ m_minHeight == otherLayout.m_minHeight &&
+ m_maxHeight == otherLayout.m_maxHeight;
+}
virtual void resize( int width, int height );
/// determine whether layouts should be kept the same size
virtual void resize( int width, int height );
/// determine whether layouts should be kept the same size
- virtual bool isTightlyCoupledWith( const GenericLayout& otherLayout ) const
- {
- return m_original_width == otherLayout.m_original_width
- &&
- m_original_height == otherLayout.m_original_height;
- }
+ virtual bool isTightlyCoupledWith( const GenericLayout& otherLayout ) const;
// getter for layout visibility
virtual bool isVisible( ) const { return m_visible; }
// getter for layout visibility
virtual bool isVisible( ) const { return m_visible; }
const int m_original_height;
/// Layout size
SkinsRect m_rect;
const int m_original_height;
/// Layout size
SkinsRect m_rect;
- int m_minWidth, m_maxWidth;
- int m_minHeight, m_maxHeight;
+ const int m_minWidth, m_maxWidth;
+ const int m_minHeight, m_maxHeight;
/// Image of the layout
OSGraphics *m_pImage;
/// List of the controls in the layout
/// Image of the layout
OSGraphics *m_pImage;
/// List of the controls in the layout