[Commits] (davids) colheader - checkpoint for proportional resizing
commits at osafoundation.org
commits at osafoundation.org
Fri Apr 1 01:32:02 PST 2005
Commit by: davids
Modified files:
internal/wxPython-2.5/include/wx/colheader.h 1.5 1.6
internal/wxPython-2.5/include/wx/generic/colheader.h 1.18 1.19
internal/wxPython-2.5/src/generic/colheader.cpp 1.40 1.41
internal/wxPython-2.5/wxPython/demo/ColumnHeader.py 1.16 1.17
internal/wxPython-2.5/wxPython/src/_colheader_rename.i 1.3 1.4
internal/wxPython-2.5/wxPython/src/colheader.i 1.9 1.10
Log message:
colheader - checkpoint for proportional resizing
r=TBD
ViewCVS links:
http://cvs.osafoundation.org/index.cgi/internal/wxPython-2.5/include/wx/colheader.h.diff?r1=text&tr1=1.5&r2=text&tr2=1.6
http://cvs.osafoundation.org/index.cgi/internal/wxPython-2.5/include/wx/generic/colheader.h.diff?r1=text&tr1=1.18&r2=text&tr2=1.19
http://cvs.osafoundation.org/index.cgi/internal/wxPython-2.5/src/generic/colheader.cpp.diff?r1=text&tr1=1.40&r2=text&tr2=1.41
http://cvs.osafoundation.org/index.cgi/internal/wxPython-2.5/wxPython/demo/ColumnHeader.py.diff?r1=text&tr1=1.16&r2=text&tr2=1.17
http://cvs.osafoundation.org/index.cgi/internal/wxPython-2.5/wxPython/src/_colheader_rename.i.diff?r1=text&tr1=1.3&r2=text&tr2=1.4
http://cvs.osafoundation.org/index.cgi/internal/wxPython-2.5/wxPython/src/colheader.i.diff?r1=text&tr1=1.9&r2=text&tr2=1.10
Index: internal/wxPython-2.5/include/wx/generic/colheader.h
diff -u internal/wxPython-2.5/include/wx/generic/colheader.h:1.18 internal/wxPython-2.5/include/wx/generic/colheader.h:1.19
--- internal/wxPython-2.5/include/wx/generic/colheader.h:1.18 Thu Mar 31 00:46:19 2005
+++ internal/wxPython-2.5/include/wx/generic/colheader.h Fri Apr 1 01:32:00 2005
@@ -54,40 +54,40 @@
wxClientDC *dc,
const wxRect *boundsR,
bool bUseUnicode,
- bool bVisibleSelection );
+ bool bVisibleSelection ) const;
long HitTest(
- const wxPoint &locationPt );
+ const wxPoint &locationPt ) const;
void GetItemData(
- wxColumnHeaderItem *info );
+ wxColumnHeaderItem *info ) const;
void SetItemData(
const wxColumnHeaderItem *info );
void GetBitmapRef(
- wxBitmap &bitmapRef );
+ wxBitmap &bitmapRef ) const;
void SetBitmapRef(
wxBitmap &bitmapRef,
const wxRect *boundsR );
void GetLabelText(
- wxString &textBuffer );
+ wxString &textBuffer ) const;
void SetLabelText(
const wxString &textBuffer );
- long GetLabelJustification( void );
+ long GetLabelJustification( void ) const;
void SetLabelJustification(
long textJust );
void GetUIExtent(
long &originX,
- long &extentX );
+ long &extentX ) const;
void SetUIExtent(
long originX,
long extentX );
bool GetFlagAttribute(
- wxColumnHeaderFlagAttr flagEnum );
+ wxColumnHeaderFlagAttr flagEnum ) const;
bool SetFlagAttribute(
wxColumnHeaderFlagAttr flagEnum,
bool bFlagValue );
@@ -137,6 +137,7 @@
bool m_BSelected;
bool m_BSortEnabled;
bool m_BSortAscending;
+ bool m_BFixedWidth;
};
class WXDLLIMPEXP_ADV wxColumnHeader : public wxControl
@@ -172,11 +173,16 @@
wxSize CalculateDefaultSize( void ) const;
long GetTotalUIExtent( void ) const;
- void ResizeToFit( void );
+ bool ResizeToFit( void );
+ bool RescaleToFit(
+ long newWidth );
bool ResizeDivision(
long itemIndex,
- long originX );
+ long originX );
+ bool GetFlagProportionalResizing( void ) const;
+ void SetFlagProportionalResizing(
+ bool bFlagValue );
bool GetFlagVisibleSelection( void ) const;
void SetFlagVisibleSelection(
bool bFlagValue );
@@ -322,6 +328,7 @@
wxColumnHeaderItem **m_ItemList;
long m_ItemCount;
long m_ItemSelected;
+ bool m_BProportionalResizing;
bool m_BVisibleSelection;
bool m_BUseUnicode;
Index: internal/wxPython-2.5/include/wx/colheader.h
diff -u internal/wxPython-2.5/include/wx/colheader.h:1.5 internal/wxPython-2.5/include/wx/colheader.h:1.6
--- internal/wxPython-2.5/include/wx/colheader.h:1.5 Wed Mar 23 10:42:07 2005
+++ internal/wxPython-2.5/include/wx/colheader.h Fri Apr 1 01:31:59 2005
@@ -39,7 +39,8 @@
wxCOLUMNHEADER_FLAGATTR_Enabled,
wxCOLUMNHEADER_FLAGATTR_Selected,
wxCOLUMNHEADER_FLAGATTR_SortEnabled,
- wxCOLUMNHEADER_FLAGATTR_SortDirection
+ wxCOLUMNHEADER_FLAGATTR_SortDirection,
+ wxCOLUMNHEADER_FLAGATTR_FixedWidth
}
wxColumnHeaderFlagAttr;
Index: internal/wxPython-2.5/src/generic/colheader.cpp
diff -u internal/wxPython-2.5/src/generic/colheader.cpp:1.40 internal/wxPython-2.5/src/generic/colheader.cpp:1.41
--- internal/wxPython-2.5/src/generic/colheader.cpp:1.40 Thu Mar 31 16:25:29 2005
+++ internal/wxPython-2.5/src/generic/colheader.cpp Fri Apr 1 01:32:00 2005
@@ -159,6 +159,7 @@
m_ItemCount = 0;
m_ItemSelected = wxCOLUMNHEADER_HITTEST_NoPart;
+ m_BProportionalResizing = true;
m_BVisibleSelection = true;
#if wxUSE_UNICODE
@@ -168,6 +169,20 @@
#endif
}
+bool wxColumnHeader::GetFlagProportionalResizing( void ) const
+{
+ return m_BProportionalResizing;
+}
+
+void wxColumnHeader::SetFlagProportionalResizing(
+ bool bFlagValue )
+{
+ if (m_BProportionalResizing == bFlagValue)
+ return;
+
+ m_BProportionalResizing = bFlagValue;
+}
+
bool wxColumnHeader::GetFlagVisibleSelection( void ) const
{
return m_BVisibleSelection;
@@ -431,6 +446,9 @@
wxControl::DoSetSize( x, y, width, height, sizeFlags );
+ if (m_BProportionalResizing)
+ RescaleToFit( width );
+
// FIXME: sloppy hack
wxControl::DoGetPosition( &(m_NativeBoundsR.x), &(m_NativeBoundsR.y) );
wxControl::DoGetSize( &(m_NativeBoundsR.width), &(m_NativeBoundsR.height) );
@@ -587,17 +605,28 @@
return extentX;
}
-void wxColumnHeader::ResizeToFit( void )
+bool wxColumnHeader::RescaleToFit(
+ long newWidth )
+{
+ if (newWidth <= 0)
+ return false;
+
+ return true;
+}
+
+bool wxColumnHeader::ResizeToFit( void )
{
long extentX;
extentX = GetTotalUIExtent();
DoSetSize( m_NativeBoundsR.x, m_NativeBoundsR.y, extentX, m_NativeBoundsR.height, 0 );
+
+ return true;
}
bool wxColumnHeader::ResizeDivision(
- long itemIndex,
- long originX )
+ long itemIndex,
+ long originX )
{
wxColumnHeaderItem *itemRef1, *itemRef2;
long deltaV;
@@ -1458,7 +1487,7 @@
// NB: a copy and nothing else...
//
void wxColumnHeaderItem::GetItemData(
- wxColumnHeaderItem *info )
+ wxColumnHeaderItem *info ) const
{
if (info == NULL)
return;
@@ -1471,6 +1500,7 @@
info->m_BSelected = m_BSelected;
info->m_BSortEnabled = m_BSortEnabled;
info->m_BSortAscending = m_BSortAscending;
+ info->m_BFixedWidth = m_BFixedWidth;
GetLabelText( info->m_LabelTextRef );
@@ -1493,6 +1523,7 @@
m_BSelected = info->m_BSelected;
m_BSortEnabled = info->m_BSortEnabled;
m_BSortAscending = info->m_BSortAscending;
+ m_BFixedWidth = info->m_BFixedWidth;
SetLabelText( info->m_LabelTextRef );
@@ -1512,7 +1543,7 @@
}
void wxColumnHeaderItem::GetBitmapRef(
- wxBitmap &bitmapRef )
+ wxBitmap &bitmapRef ) const
{
if (m_BitmapRef != NULL)
bitmapRef = *m_BitmapRef;
@@ -1545,7 +1576,7 @@
}
void wxColumnHeaderItem::GetLabelText(
- wxString &textBuffer )
+ wxString &textBuffer ) const
{
textBuffer = m_LabelTextRef;
}
@@ -1556,7 +1587,7 @@
m_LabelTextRef = textBuffer;
}
-long wxColumnHeaderItem::GetLabelJustification( void )
+long wxColumnHeaderItem::GetLabelJustification( void ) const
{
return m_TextJust;
}
@@ -1569,7 +1600,7 @@
void wxColumnHeaderItem::GetUIExtent(
long &originX,
- long &extentX )
+ long &extentX ) const
{
originX = m_OriginX;
extentX = m_ExtentX;
@@ -1590,7 +1621,7 @@
}
bool wxColumnHeaderItem::GetFlagAttribute(
- wxColumnHeaderFlagAttr flagEnum )
+ wxColumnHeaderFlagAttr flagEnum ) const
{
bool bResult;
@@ -1614,6 +1645,10 @@
bResult = m_BSortAscending;
break;
+ case wxCOLUMNHEADER_FLAGATTR_FixedWidth:
+ bResult = m_BFixedWidth;
+ break;
+
default:
break;
}
@@ -1647,6 +1682,10 @@
m_BSortAscending = bFlagValue;
break;
+ case wxCOLUMNHEADER_FLAGATTR_FixedWidth:
+ m_BFixedWidth = bFlagValue;
+ break;
+
default:
bResult = false;
break;
@@ -1656,7 +1695,7 @@
}
long wxColumnHeaderItem::HitTest(
- const wxPoint &locationPt )
+ const wxPoint &locationPt ) const
{
long targetX, resultV;
@@ -1671,7 +1710,7 @@
wxClientDC *dc,
const wxRect *boundsR,
bool bUseUnicode,
- bool bVisibleSelection )
+ bool bVisibleSelection ) const
{
// if ((boundsR == NULL) || boundsR->IsEmpty())
if (boundsR == NULL)
Index: internal/wxPython-2.5/wxPython/demo/ColumnHeader.py
diff -u internal/wxPython-2.5/wxPython/demo/ColumnHeader.py:1.16 internal/wxPython-2.5/wxPython/demo/ColumnHeader.py:1.17
--- internal/wxPython-2.5/wxPython/demo/ColumnHeader.py:1.16 Thu Mar 31 00:46:20 2005
+++ internal/wxPython-2.5/wxPython/demo/ColumnHeader.py Fri Apr 1 01:32:00 2005
@@ -17,7 +17,7 @@
# NB: should be 17 for Mac; 20 for all other platforms
# wxColumnHeader can handle it
self.colHeight = 20
- self.colStartX = 200
+ self.colStartX = 175
self.colStartY = 20
self.stepSize = 0
@@ -61,15 +61,7 @@
prompt = "[Unicode build: %d]" %(ch1.GetFlagUnicode())
hasUnicode = ch1.GetFlagUnicode()
- l1 = wx.StaticText( self, -1, prompt, (10, miscControlsY + 50), (150, 20) )
-
- cb1 = wx.CheckBox( self, -1, "Enable", (self.colStartX, miscControlsY), (100, 20), wx.NO_BORDER )
- self.Bind( wx.EVT_CHECKBOX, self.OnTestEnableCheckBox, cb1 )
- cb1.SetValue( True )
-
- cb2 = wx.CheckBox( self, -1, "Visible Selection", (self.colStartX + 120, miscControlsY), (150, 20), wx.NO_BORDER )
- self.Bind( wx.EVT_CHECKBOX, self.OnTestVisibleSelectionCheckBox, cb2 )
- cb2.SetValue( True )
+ l1 = wx.StaticText( self, -1, prompt, (10, miscControlsY + 60), (150, 20) )
btn = wx.Button( self, -1, "Resize Bounds", (10, self.colStartY) )
self.Bind( wx.EVT_BUTTON, self.OnTestResizeBoundsButton, btn )
@@ -83,6 +75,20 @@
btn = wx.Button( self, -1, "Resize Division", (10, self.colStartY + 80 + 10 + 25) )
self.Bind( wx.EVT_BUTTON, self.OnTestResizeDivisionButton, btn )
+ self.colStartX += 60
+
+ cb1 = wx.CheckBox( self, -1, "Enable", (self.colStartX, miscControlsY), (100, 20), wx.NO_BORDER )
+ self.Bind( wx.EVT_CHECKBOX, self.OnTestEnableCheckBox, cb1 )
+ cb1.SetValue( True )
+
+ cb2 = wx.CheckBox( self, -1, "Visible Selection", (self.colStartX, miscControlsY + 25), (150, 20), wx.NO_BORDER )
+ self.Bind( wx.EVT_CHECKBOX, self.OnTestVisibleSelectionCheckBox, cb2 )
+ cb2.SetValue( True )
+
+ cb3 = wx.CheckBox( self, -1, "Proportional Resizing", (self.colStartX, miscControlsY + 50), (200, 20), wx.NO_BORDER )
+ self.Bind( wx.EVT_CHECKBOX, self.OnTestProportionalResizingCheckBox, cb3 )
+ cb3.SetValue( True )
+
def OnColumnHeaderClick( self, event ):
ch = event.GetEventObject()
self.l0.SetLabel( "(%d): clicked - selected (%ld)" %(event.GetId(), ch.GetSelectedItem()) )
@@ -147,6 +153,13 @@
self.ch2.SetFlagVisibleSelection( curEnabled )
self.l0.SetLabel( "selection visible (%d)" %(curEnabled) )
+ def OnTestProportionalResizingCheckBox( self, event ):
+ curEnabled = self.ch1.GetFlagProportionalResizing()
+ curEnabled = not curEnabled
+ self.ch1.SetFlagProportionalResizing( curEnabled )
+ self.ch2.SetFlagProportionalResizing( curEnabled )
+ self.l0.SetLabel( "proportional resizing (%d)" %(curEnabled) )
+
#----------------------------------------------------------------------
def runTest( frame, nb, log ):
Index: internal/wxPython-2.5/wxPython/src/colheader.i
diff -u internal/wxPython-2.5/wxPython/src/colheader.i:1.9 internal/wxPython-2.5/wxPython/src/colheader.i:1.10
--- internal/wxPython-2.5/wxPython/src/colheader.i:1.9 Thu Mar 31 00:46:20 2005
+++ internal/wxPython-2.5/wxPython/src/colheader.i Fri Apr 1 01:32:01 2005
@@ -42,7 +42,8 @@
wxCOLUMNHEADER_FLAGATTR_Enabled,
wxCOLUMNHEADER_FLAGATTR_Selected,
wxCOLUMNHEADER_FLAGATTR_SortEnabled,
- wxCOLUMNHEADER_FLAGATTR_SortDirection
+ wxCOLUMNHEADER_FLAGATTR_SortDirection,
+ wxCOLUMNHEADER_FLAGATTR_FixedWidth
};
enum wxColumnHeaderHitTestResult
@@ -99,11 +100,16 @@
wxSize CalculateDefaultSize( void ) const;
long GetTotalUIExtent( void ) const;
- void ResizeToFit( void );
+ bool ResizeToFit( void );
+ bool RescaleToFit(
+ long newWidth );
bool ResizeDivision(
long itemIndex,
long originX );
+ bool GetFlagProportionalResizing( void ) const;
+ void SetFlagProportionalResizing(
+ bool bFlagValue );
bool GetFlagVisibleSelection( void ) const;
void SetFlagVisibleSelection(
bool bFlagValue );
Index: internal/wxPython-2.5/wxPython/src/_colheader_rename.i
diff -u internal/wxPython-2.5/wxPython/src/_colheader_rename.i:1.3 internal/wxPython-2.5/wxPython/src/_colheader_rename.i:1.4
--- internal/wxPython-2.5/wxPython/src/_colheader_rename.i:1.3 Mon Mar 7 11:12:53 2005
+++ internal/wxPython-2.5/wxPython/src/_colheader_rename.i Fri Apr 1 01:32:00 2005
@@ -10,6 +10,7 @@
%rename(COLUMNHEADER_FLAGATTR_Selected) wxCOLUMNHEADER_FLAGATTR_Selected;
%rename(COLUMNHEADER_FLAGATTR_SortEnabled) wxCOLUMNHEADER_FLAGATTR_SortEnabled;
%rename(COLUMNHEADER_FLAGATTR_SortDirection) wxCOLUMNHEADER_FLAGATTR_SortDirection;
+%rename(COLUMNHEADER_FLAGATTR_FixedWidth) wxCOLUMNHEADER_FLAGATTR_FixedWidth;
%rename(COLUMNHEADER_HITTEST_NoPart) wxCOLUMNHEADER_HITTEST_NoPart;
%rename(COLUMNHEADER_HITTEST_ItemZero) wxCOLUMNHEADER_HITTEST_ItemZero;
%rename(ColumnHeaderEvent) wxColumnHeaderEvent;
More information about the Commits
mailing list