Remove no-op uses of wxNO_FULL_REPAINT_ON_RESIZE
This behaviour has been the default and this constant 0 since
e441e1f4e8 which was over 16 years ago.
Closes https://github.com/wxWidgets/wxWidgets/pull/1601
			
			
This commit is contained in:
		
				
					committed by
					
						
						Vadim Zeitlin
					
				
			
			
				
	
			
			
			
						parent
						
							bf4640f1d8
						
					
				
				
					commit
					18e05aeeee
				
			@@ -115,8 +115,7 @@ MyFrame::MyFrame(wxWindow *parent,
 | 
				
			|||||||
                 const wxPoint& pos,
 | 
					                 const wxPoint& pos,
 | 
				
			||||||
                 const wxSize& size,
 | 
					                 const wxSize& size,
 | 
				
			||||||
                 const long style)
 | 
					                 const long style)
 | 
				
			||||||
       : wxFrame(parent, id, title, pos, size,
 | 
					       : wxFrame(parent, id, title, pos, size, style)
 | 
				
			||||||
                          style | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SetIcon(wxICON(sample));
 | 
					    SetIcon(wxICON(sample));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -172,8 +172,7 @@ wxEND_EVENT_TABLE()
 | 
				
			|||||||
// My frame constructor
 | 
					// My frame constructor
 | 
				
			||||||
MyFrame::MyFrame()
 | 
					MyFrame::MyFrame()
 | 
				
			||||||
       : wxFrame(NULL, wxID_ANY, "wxCollapsiblePane sample",
 | 
					       : wxFrame(NULL, wxID_ANY, "wxCollapsiblePane sample",
 | 
				
			||||||
                 wxDefaultPosition, wxSize(420, 300),
 | 
					                 wxDefaultPosition, wxSize(420, 300))
 | 
				
			||||||
                 wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SetIcon(wxICON(sample));
 | 
					    SetIcon(wxICON(sample));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -524,7 +524,7 @@ wxEND_EVENT_TABLE()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
MyCanvas::MyCanvas(MyFrame *parent)
 | 
					MyCanvas::MyCanvas(MyFrame *parent)
 | 
				
			||||||
        : wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize,
 | 
					        : wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize,
 | 
				
			||||||
                           wxHSCROLL | wxVSCROLL | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					                           wxHSCROLL | wxVSCROLL)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_owner = parent;
 | 
					    m_owner = parent;
 | 
				
			||||||
    m_show = File_ShowDefault;
 | 
					    m_show = File_ShowDefault;
 | 
				
			||||||
@@ -2162,8 +2162,7 @@ wxEND_EVENT_TABLE()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// frame constructor
 | 
					// frame constructor
 | 
				
			||||||
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
 | 
					MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
 | 
				
			||||||
       : wxFrame((wxFrame *)NULL, wxID_ANY, title, pos, size,
 | 
					       : wxFrame((wxFrame *)NULL, wxID_ANY, title, pos, size)
 | 
				
			||||||
                 wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    // set the frame icon
 | 
					    // set the frame icon
 | 
				
			||||||
    SetIcon(wxICON(sample));
 | 
					    SetIcon(wxICON(sample));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -363,9 +363,7 @@ void MyFrame::InitToolBar(wxToolBar* toolBar)
 | 
				
			|||||||
// Define a constructor for my canvas
 | 
					// Define a constructor for my canvas
 | 
				
			||||||
MyCanvas::MyCanvas(wxFrame *parent, const wxPoint& pos, const wxSize& size)
 | 
					MyCanvas::MyCanvas(wxFrame *parent, const wxPoint& pos, const wxSize& size)
 | 
				
			||||||
        : wxScrolledWindow(parent, wxID_ANY, pos, size,
 | 
					        : wxScrolledWindow(parent, wxID_ANY, pos, size,
 | 
				
			||||||
                           wxSUNKEN_BORDER |
 | 
					                           wxSUNKEN_BORDER | wxVSCROLL | wxHSCROLL),
 | 
				
			||||||
                           wxNO_FULL_REPAINT_ON_RESIZE |
 | 
					 | 
				
			||||||
                           wxVSCROLL | wxHSCROLL),
 | 
					 | 
				
			||||||
          MenuEventLogger("canvas", parent)
 | 
					          MenuEventLogger("canvas", parent)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -954,15 +954,10 @@ static const wxString _fs_windowstyle_labels[] = {
 | 
				
			|||||||
    "wxTRANSPARENT_WINDOW",
 | 
					    "wxTRANSPARENT_WINDOW",
 | 
				
			||||||
    "wxTAB_TRAVERSAL",
 | 
					    "wxTAB_TRAVERSAL",
 | 
				
			||||||
    "wxWANTS_CHARS",
 | 
					    "wxWANTS_CHARS",
 | 
				
			||||||
#if wxNO_FULL_REPAINT_ON_RESIZE
 | 
					 | 
				
			||||||
    "wxNO_FULL_REPAINT_ON_RESIZE",
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    "wxVSCROLL",
 | 
					    "wxVSCROLL",
 | 
				
			||||||
    "wxALWAYS_SHOW_SB",
 | 
					    "wxALWAYS_SHOW_SB",
 | 
				
			||||||
    "wxCLIP_CHILDREN",
 | 
					    "wxCLIP_CHILDREN",
 | 
				
			||||||
#if wxFULL_REPAINT_ON_RESIZE
 | 
					 | 
				
			||||||
    "wxFULL_REPAINT_ON_RESIZE",
 | 
					    "wxFULL_REPAINT_ON_RESIZE",
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const long _fs_windowstyle_values[] = {
 | 
					static const long _fs_windowstyle_values[] = {
 | 
				
			||||||
@@ -974,15 +969,10 @@ static const long _fs_windowstyle_values[] = {
 | 
				
			|||||||
    wxTRANSPARENT_WINDOW,
 | 
					    wxTRANSPARENT_WINDOW,
 | 
				
			||||||
    wxTAB_TRAVERSAL,
 | 
					    wxTAB_TRAVERSAL,
 | 
				
			||||||
    wxWANTS_CHARS,
 | 
					    wxWANTS_CHARS,
 | 
				
			||||||
#if wxNO_FULL_REPAINT_ON_RESIZE
 | 
					 | 
				
			||||||
    wxNO_FULL_REPAINT_ON_RESIZE,
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    wxVSCROLL,
 | 
					    wxVSCROLL,
 | 
				
			||||||
    wxALWAYS_SHOW_SB,
 | 
					    wxALWAYS_SHOW_SB,
 | 
				
			||||||
    wxCLIP_CHILDREN,
 | 
					    wxCLIP_CHILDREN,
 | 
				
			||||||
#if wxFULL_REPAINT_ON_RESIZE
 | 
					 | 
				
			||||||
    wxFULL_REPAINT_ON_RESIZE
 | 
					    wxFULL_REPAINT_ON_RESIZE
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const wxString _fs_framestyle_labels[] = {
 | 
					static const wxString _fs_framestyle_labels[] = {
 | 
				
			||||||
@@ -1982,7 +1972,7 @@ void FormMain::CreateGrid( int style, int extraStyle )
 | 
				
			|||||||
FormMain::FormMain(const wxString& title, const wxPoint& pos, const wxSize& size) :
 | 
					FormMain::FormMain(const wxString& title, const wxPoint& pos, const wxSize& size) :
 | 
				
			||||||
           wxFrame((wxFrame *)NULL, -1, title, pos, size,
 | 
					           wxFrame((wxFrame *)NULL, -1, title, pos, size,
 | 
				
			||||||
               (wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCAPTION|
 | 
					               (wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCAPTION|
 | 
				
			||||||
                wxTAB_TRAVERSAL|wxCLOSE_BOX|wxNO_FULL_REPAINT_ON_RESIZE) )
 | 
					                wxTAB_TRAVERSAL|wxCLOSE_BOX) )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SetIcon(wxICON(sample));
 | 
					    SetIcon(wxICON(sample));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,7 +46,6 @@ bool MyApp::OnInit(void)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  frame = new MyFrame(NULL, wxID_ANY, "Sash Demo", wxPoint(0, 0), wxSize(500, 400),
 | 
					  frame = new MyFrame(NULL, wxID_ANY, "Sash Demo", wxPoint(0, 0), wxSize(500, 400),
 | 
				
			||||||
                      wxDEFAULT_FRAME_STYLE |
 | 
					                      wxDEFAULT_FRAME_STYLE |
 | 
				
			||||||
                      wxNO_FULL_REPAINT_ON_RESIZE |
 | 
					 | 
				
			||||||
                      wxHSCROLL | wxVSCROLL);
 | 
					                      wxHSCROLL | wxVSCROLL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Give it an icon (this is ignored in MDI mode: uses resources)
 | 
					  // Give it an icon (this is ignored in MDI mode: uses resources)
 | 
				
			||||||
@@ -223,9 +222,7 @@ void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event))
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
      // Make another frame, containing a canvas
 | 
					      // Make another frame, containing a canvas
 | 
				
			||||||
      MyChild *subframe = new MyChild(frame, "Canvas Frame",
 | 
					      MyChild *subframe = new MyChild(frame, "Canvas Frame",
 | 
				
			||||||
                                      wxPoint(10, 10), wxSize(300, 300),
 | 
					                                      wxPoint(10, 10), wxSize(300, 300));
 | 
				
			||||||
                                      wxDEFAULT_FRAME_STYLE |
 | 
					 | 
				
			||||||
                                      wxNO_FULL_REPAINT_ON_RESIZE);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      subframe->SetTitle(wxString::Format("Canvas Frame %d", winNumber));
 | 
					      subframe->SetTitle(wxString::Format("Canvas Frame %d", winNumber));
 | 
				
			||||||
      winNumber ++;
 | 
					      winNumber ++;
 | 
				
			||||||
@@ -282,8 +279,7 @@ wxEND_EVENT_TABLE()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Define a constructor for my canvas
 | 
					// Define a constructor for my canvas
 | 
				
			||||||
MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size)
 | 
					MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size)
 | 
				
			||||||
        : wxScrolledWindow(parent, wxID_ANY, pos, size,
 | 
					        : wxScrolledWindow(parent, wxID_ANY, pos, size, wxSUNKEN_BORDER)
 | 
				
			||||||
                           wxSUNKEN_BORDER | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SetBackgroundColour(* wxWHITE);
 | 
					    SetBackgroundColour(* wxWHITE);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -350,9 +346,8 @@ wxBEGIN_EVENT_TABLE(MyChild, wxMDIChildFrame)
 | 
				
			|||||||
  EVT_MENU(SASHTEST_CHILD_QUIT, MyChild::OnQuit)
 | 
					  EVT_MENU(SASHTEST_CHILD_QUIT, MyChild::OnQuit)
 | 
				
			||||||
wxEND_EVENT_TABLE()
 | 
					wxEND_EVENT_TABLE()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MyChild::MyChild(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size,
 | 
					MyChild::MyChild(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size):
 | 
				
			||||||
const long style):
 | 
					  wxMDIChildFrame(parent, wxID_ANY, title, pos, size)
 | 
				
			||||||
  wxMDIChildFrame(parent, wxID_ANY, title, pos, size, style)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  canvas = NULL;
 | 
					  canvas = NULL;
 | 
				
			||||||
  my_children.Append(this);
 | 
					  my_children.Append(this);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,7 +54,7 @@ class MyChild: public wxMDIChildFrame
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  public:
 | 
					  public:
 | 
				
			||||||
    MyCanvas *canvas;
 | 
					    MyCanvas *canvas;
 | 
				
			||||||
    MyChild(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size, const long style);
 | 
					    MyChild(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size);
 | 
				
			||||||
    ~MyChild(void);
 | 
					    ~MyChild(void);
 | 
				
			||||||
    void OnActivate(wxActivateEvent& event);
 | 
					    void OnActivate(wxActivateEvent& event);
 | 
				
			||||||
    void OnQuit(wxCommandEvent& event);
 | 
					    void OnQuit(wxCommandEvent& event);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -214,8 +214,7 @@ wxEND_EVENT_TABLE()
 | 
				
			|||||||
// My frame constructor
 | 
					// My frame constructor
 | 
				
			||||||
MyFrame::MyFrame()
 | 
					MyFrame::MyFrame()
 | 
				
			||||||
       : wxFrame(NULL, wxID_ANY, "wxSplitterWindow sample",
 | 
					       : wxFrame(NULL, wxID_ANY, "wxSplitterWindow sample",
 | 
				
			||||||
                 wxDefaultPosition, wxSize(420, 300),
 | 
					                 wxDefaultPosition, wxSize(420, 300))
 | 
				
			||||||
                 wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SetIcon(wxICON(sample));
 | 
					    SetIcon(wxICON(sample));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -551,7 +550,7 @@ void MySplitterWindow::OnUnsplitEvent(wxSplitterEvent& event)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
MyCanvas::MyCanvas(wxWindow* parent, bool mirror)
 | 
					MyCanvas::MyCanvas(wxWindow* parent, bool mirror)
 | 
				
			||||||
        : wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize,
 | 
					        : wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize,
 | 
				
			||||||
                           wxHSCROLL | wxVSCROLL | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					                           wxHSCROLL | wxVSCROLL)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_mirror = mirror;
 | 
					    m_mirror = mirror;
 | 
				
			||||||
    SetScrollbars(20, 20, 5, 5);
 | 
					    SetScrollbars(20, 20, 5, 5);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -291,8 +291,7 @@ wxBEGIN_EVENT_TABLE (AppFrame, wxFrame)
 | 
				
			|||||||
wxEND_EVENT_TABLE ()
 | 
					wxEND_EVENT_TABLE ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AppFrame::AppFrame (const wxString &title)
 | 
					AppFrame::AppFrame (const wxString &title)
 | 
				
			||||||
        : wxFrame ((wxFrame *)NULL, wxID_ANY, title, wxDefaultPosition, wxSize(750,550),
 | 
					        : wxFrame ((wxFrame *)NULL, wxID_ANY, title, wxDefaultPosition, wxSize(750,550))
 | 
				
			||||||
                    wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SetIcon(wxICON(sample));
 | 
					    SetIcon(wxICON(sample));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -98,7 +98,7 @@ public:
 | 
				
			|||||||
            const wxString& title = "wxToolBar Sample",
 | 
					            const wxString& title = "wxToolBar Sample",
 | 
				
			||||||
            const wxPoint& pos = wxDefaultPosition,
 | 
					            const wxPoint& pos = wxDefaultPosition,
 | 
				
			||||||
            const wxSize& size = wxDefaultSize,
 | 
					            const wxSize& size = wxDefaultSize,
 | 
				
			||||||
            long style = wxDEFAULT_FRAME_STYLE|wxCLIP_CHILDREN|wxNO_FULL_REPAINT_ON_RESIZE);
 | 
					            long style = wxDEFAULT_FRAME_STYLE|wxCLIP_CHILDREN);
 | 
				
			||||||
    virtual ~MyFrame();
 | 
					    virtual ~MyFrame();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void PopulateToolbar(wxToolBarBase* toolBar);
 | 
					    void PopulateToolbar(wxToolBarBase* toolBar);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1311,7 +1311,6 @@ WidgetsPage::WidgetsPage(WidgetsBookCtrl *book,
 | 
				
			|||||||
                         const char *const icon[])
 | 
					                         const char *const icon[])
 | 
				
			||||||
           : wxPanel(book, wxID_ANY,
 | 
					           : wxPanel(book, wxID_ANY,
 | 
				
			||||||
                     wxDefaultPosition, wxDefaultSize,
 | 
					                     wxDefaultPosition, wxDefaultSize,
 | 
				
			||||||
                     wxNO_FULL_REPAINT_ON_RESIZE |
 | 
					 | 
				
			||||||
                     wxCLIP_CHILDREN |
 | 
					                     wxCLIP_CHILDREN |
 | 
				
			||||||
                     wxTAB_TRAVERSAL)
 | 
					                     wxTAB_TRAVERSAL)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9400,47 +9400,65 @@ wxGrid::AutoSizeColOrRow(int colOrRow, bool setAsMin, wxGridDirection direction)
 | 
				
			|||||||
    wxCoord w, h;
 | 
					    wxCoord w, h;
 | 
				
			||||||
    dc.SetFont( GetLabelFont() );
 | 
					    dc.SetFont( GetLabelFont() );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    bool noContent = (extentMax == 0);
 | 
				
			||||||
    bool addMargin = true;
 | 
					    bool addMargin = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ( column )
 | 
					    if ( column )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if ( m_useNativeHeader )
 | 
					        if ( m_useNativeHeader )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            w = GetGridColHeader()->GetColumnTitleWidth(colOrRow);
 | 
					            wxHeaderCtrl* header = GetGridColHeader();
 | 
				
			||||||
 | 
					            w = header->GetColumnTitleWidth(colOrRow);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // GetColumnTitleWidth already adds margins internally.
 | 
					            // GetColumnTitleWidth already adds margins internally.
 | 
				
			||||||
            addMargin = false;
 | 
					            addMargin = false;
 | 
				
			||||||
            h = 0;
 | 
					            h = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // GetColumnTitleWidth uses GetTextExtent and not
 | 
				
			||||||
 | 
					            // GetMultiLineTextExtent so use the same funtion.
 | 
				
			||||||
 | 
					            if ( header->GetTextExtent(GetColLabelValue(colOrRow)).x > 0 )
 | 
				
			||||||
 | 
					                noContent = false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            dc.GetMultiLineTextExtent( GetColLabelValue(colOrRow), &w, &h );
 | 
					            dc.GetMultiLineTextExtent( GetColLabelValue(colOrRow), &w, &h );
 | 
				
			||||||
            if ( GetColLabelTextOrientation() == wxVERTICAL )
 | 
					            if ( GetColLabelTextOrientation() == wxVERTICAL )
 | 
				
			||||||
                w = h;
 | 
					                w = h;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            noContent = noContent && (w == 0);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        dc.GetMultiLineTextExtent( GetRowLabelValue(colOrRow), &w, &h );
 | 
					        dc.GetMultiLineTextExtent( GetRowLabelValue(colOrRow), &w, &h );
 | 
				
			||||||
 | 
					        noContent = noContent && (h == 0);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    extent = column ? w : h;
 | 
					    if ( noContent )
 | 
				
			||||||
    if ( extent > extentMax )
 | 
					 | 
				
			||||||
        extentMax = extent;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if ( !extentMax )
 | 
					 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        // empty column - give default extent (notice that if extentMax is less
 | 
					        // empty column - give default extent (notice that if extentMax is less
 | 
				
			||||||
        // than default extent but != 0, it's OK)
 | 
					        // than default extent but != 0, it's OK)
 | 
				
			||||||
        extentMax = column ? m_defaultColWidth : m_defaultRowHeight;
 | 
					        extentMax = column ? m_defaultColWidth : m_defaultRowHeight;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else if ( addMargin )
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        // leave some space around text
 | 
					 | 
				
			||||||
        if ( column )
 | 
					 | 
				
			||||||
            extentMax += 10;
 | 
					 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
            extentMax += 6;
 | 
					    {
 | 
				
			||||||
 | 
					        const int margin = column ? 10 : 6;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // The current extentMax is the max extent of columns/rows values
 | 
				
			||||||
 | 
					        // so always add margin.
 | 
				
			||||||
 | 
					        extentMax += margin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // The current extent is the extent of the column/row title.
 | 
				
			||||||
 | 
					        extent = column ? w : h;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Add the margin to the current extent only if needed.
 | 
				
			||||||
 | 
					        if ( addMargin )
 | 
				
			||||||
 | 
					            extent += margin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Find out the final max extent when the margin affected to the max extent
 | 
				
			||||||
 | 
					        // and the current extent.
 | 
				
			||||||
 | 
					        if ( extent > extentMax )
 | 
				
			||||||
 | 
					            extentMax = extent;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ( column )
 | 
					    if ( column )
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -505,7 +505,6 @@ void wxPropertyGridManager::Init1()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// These flags are always used in wxPropertyGrid integrated in wxPropertyGridManager.
 | 
					// These flags are always used in wxPropertyGrid integrated in wxPropertyGridManager.
 | 
				
			||||||
#define wxPG_MAN_PROPGRID_FORCED_FLAGS (  wxBORDER_THEME | \
 | 
					#define wxPG_MAN_PROPGRID_FORCED_FLAGS (  wxBORDER_THEME | \
 | 
				
			||||||
                                          wxNO_FULL_REPAINT_ON_RESIZE| \
 | 
					 | 
				
			||||||
                                          wxCLIP_CHILDREN)
 | 
					                                          wxCLIP_CHILDREN)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Which flags can be passed to underlying wxPropertyGrid.
 | 
					// Which flags can be passed to underlying wxPropertyGrid.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,9 +16,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#ifndef WX_PRECOMP
 | 
					#ifndef WX_PRECOMP
 | 
				
			||||||
    #include "wx/app.h"
 | 
					    #include "wx/app.h"
 | 
				
			||||||
 | 
					    #include "wx/dcclient.h"
 | 
				
			||||||
#endif // WX_PRECOMP
 | 
					#endif // WX_PRECOMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "wx/grid.h"
 | 
					#include "wx/grid.h"
 | 
				
			||||||
 | 
					#include "wx/headerctrl.h"
 | 
				
			||||||
#include "testableframe.h"
 | 
					#include "testableframe.h"
 | 
				
			||||||
#include "asserthelper.h"
 | 
					#include "asserthelper.h"
 | 
				
			||||||
#include "wx/uiaction.h"
 | 
					#include "wx/uiaction.h"
 | 
				
			||||||
@@ -70,18 +72,21 @@ private:
 | 
				
			|||||||
        WXUISIM_TEST( ReadOnly );
 | 
					        WXUISIM_TEST( ReadOnly );
 | 
				
			||||||
        WXUISIM_TEST( ResizeScrolledHeader );
 | 
					        WXUISIM_TEST( ResizeScrolledHeader );
 | 
				
			||||||
        WXUISIM_TEST( ColumnMinWidth );
 | 
					        WXUISIM_TEST( ColumnMinWidth );
 | 
				
			||||||
 | 
					        WXUISIM_TEST( AutoSizeColumn );
 | 
				
			||||||
        CPPUNIT_TEST( PseudoTest_NativeHeader );
 | 
					        CPPUNIT_TEST( PseudoTest_NativeHeader );
 | 
				
			||||||
        NONGTK_TEST( LabelClick );
 | 
					        NONGTK_TEST( LabelClick );
 | 
				
			||||||
        NONGTK_TEST( SortClick );
 | 
					        NONGTK_TEST( SortClick );
 | 
				
			||||||
        CPPUNIT_TEST( ColumnOrder );
 | 
					        CPPUNIT_TEST( ColumnOrder );
 | 
				
			||||||
        WXUISIM_TEST( ResizeScrolledHeader );
 | 
					        WXUISIM_TEST( ResizeScrolledHeader );
 | 
				
			||||||
        WXUISIM_TEST( ColumnMinWidth );
 | 
					        WXUISIM_TEST( ColumnMinWidth );
 | 
				
			||||||
 | 
					        WXUISIM_TEST( AutoSizeColumn );
 | 
				
			||||||
        CPPUNIT_TEST( DeleteAndAddRowCol );
 | 
					        CPPUNIT_TEST( DeleteAndAddRowCol );
 | 
				
			||||||
        CPPUNIT_TEST( PseudoTest_NativeLabels );
 | 
					        CPPUNIT_TEST( PseudoTest_NativeLabels );
 | 
				
			||||||
        NONGTK_TEST( LabelClick );
 | 
					        NONGTK_TEST( LabelClick );
 | 
				
			||||||
        NONGTK_TEST( SortClick );
 | 
					        NONGTK_TEST( SortClick );
 | 
				
			||||||
        CPPUNIT_TEST( ColumnOrder );
 | 
					        CPPUNIT_TEST( ColumnOrder );
 | 
				
			||||||
        WXUISIM_TEST( WindowAsEditorControl );
 | 
					        WXUISIM_TEST( WindowAsEditorControl );
 | 
				
			||||||
 | 
					        WXUISIM_TEST( AutoSizeColumn );
 | 
				
			||||||
    CPPUNIT_TEST_SUITE_END();
 | 
					    CPPUNIT_TEST_SUITE_END();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void CellEdit();
 | 
					    void CellEdit();
 | 
				
			||||||
@@ -108,10 +113,23 @@ private:
 | 
				
			|||||||
    void WindowAsEditorControl();
 | 
					    void WindowAsEditorControl();
 | 
				
			||||||
    void ResizeScrolledHeader();
 | 
					    void ResizeScrolledHeader();
 | 
				
			||||||
    void ColumnMinWidth();
 | 
					    void ColumnMinWidth();
 | 
				
			||||||
 | 
					    void AutoSizeColumn();
 | 
				
			||||||
    void PseudoTest_NativeHeader() { ms_nativeheader = true; }
 | 
					    void PseudoTest_NativeHeader() { ms_nativeheader = true; }
 | 
				
			||||||
    void PseudoTest_NativeLabels() { ms_nativeheader = false;
 | 
					    void PseudoTest_NativeLabels() { ms_nativeheader = false;
 | 
				
			||||||
                                     ms_nativelabels = true; }
 | 
					                                     ms_nativelabels = true; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // The helper function to determine the width of the column label depending
 | 
				
			||||||
 | 
					    // on whether the native column is used.
 | 
				
			||||||
 | 
					    int GetColumnLabelWidth(wxClientDC& dc, int col, int margin) const
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (ms_nativeheader)
 | 
				
			||||||
 | 
					            return m_grid->GetGridColHeader()->GetColumnTitleWidth(col);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        int w, h;
 | 
				
			||||||
 | 
					        dc.GetMultiLineTextExtent(m_grid->GetColLabelValue(col), &w, &h);
 | 
				
			||||||
 | 
					        return w + margin;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static bool ms_nativeheader;
 | 
					    static bool ms_nativeheader;
 | 
				
			||||||
    static bool ms_nativelabels;
 | 
					    static bool ms_nativelabels;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -950,4 +968,91 @@ void GridTestCase::ColumnMinWidth()
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GridTestCase::AutoSizeColumn()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    // Hardcoded margin for columns.
 | 
				
			||||||
 | 
					    const int margin = 10;
 | 
				
			||||||
 | 
					    int maxWidth;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wxGridCellAttr *attr = m_grid->GetOrCreateCellAttr(0, 0);
 | 
				
			||||||
 | 
					    wxGridCellRenderer *renderer = attr->GetRenderer(m_grid, 0, 0);
 | 
				
			||||||
 | 
					    REQUIRE(renderer != NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wxClientDC dcCell(m_grid->GetGridWindow());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wxClientDC dcLabel(m_grid->GetGridWindow());
 | 
				
			||||||
 | 
					    dcLabel.SetFont(m_grid->GetLabelFont());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const wxString shortStr     = "W";
 | 
				
			||||||
 | 
					    const wxString mediumStr    = "WWWW";
 | 
				
			||||||
 | 
					    const wxString longStr      = "WWWWWWWW";
 | 
				
			||||||
 | 
					    const wxString multilineStr = mediumStr + "\n" + longStr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SECTION("Empty column")
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        m_grid->SetColLabelValue(0, wxEmptyString);
 | 
				
			||||||
 | 
					        maxWidth = m_grid->GetDefaultColSize();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SECTION("Autosize by the title")
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        m_grid->SetColLabelValue(0, mediumStr);
 | 
				
			||||||
 | 
					        maxWidth = GetColumnLabelWidth(dcLabel, 0, margin);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SECTION("Autosize by cells")
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        m_grid->SetColLabelValue(0, wxEmptyString);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(0, 0, mediumStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(1, 0, shortStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(3, 0, longStr);
 | 
				
			||||||
 | 
					        maxWidth = renderer->GetBestWidth(*m_grid, *attr, dcCell, 3, 0,
 | 
				
			||||||
 | 
					                                          m_grid->GetRowHeight(3))
 | 
				
			||||||
 | 
					                   + margin;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SECTION("Autosize with the longest title")
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        m_grid->SetColLabelValue(0, multilineStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(0, 0, mediumStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(1, 0, shortStr);
 | 
				
			||||||
 | 
					        maxWidth = GetColumnLabelWidth(dcLabel, 0, margin);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SECTION("Autosize with the longest cell")
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        m_grid->SetColLabelValue(0, mediumStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(0, 0, mediumStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(1, 0, shortStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(3, 0, multilineStr);
 | 
				
			||||||
 | 
					        maxWidth = renderer->GetBestWidth(*m_grid, *attr, dcCell, 3, 0,
 | 
				
			||||||
 | 
					                                          m_grid->GetRowHeight(3))
 | 
				
			||||||
 | 
					                   + margin;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SECTION("Autosize with the same values")
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        m_grid->SetColLabelValue(0, mediumStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(0, 0, mediumStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(1, 0, mediumStr);
 | 
				
			||||||
 | 
					        m_grid->SetCellValue(3, 0, mediumStr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const int labelWidth = GetColumnLabelWidth(dcLabel, 0, margin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const int cellWidth =
 | 
				
			||||||
 | 
					            renderer->GetBestWidth(*m_grid, *attr, dcCell, 3, 0,
 | 
				
			||||||
 | 
					                                   m_grid->GetRowHeight(3))
 | 
				
			||||||
 | 
					            + margin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // We can't be sure which size will be greater because of different fonts
 | 
				
			||||||
 | 
					        // so just calculate the maximum width.
 | 
				
			||||||
 | 
					        maxWidth = wxMax(labelWidth, cellWidth);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    m_grid->AutoSizeColumn(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wxYield();
 | 
				
			||||||
 | 
					    CHECK(m_grid->GetColSize(0) == maxWidth);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif //wxUSE_GRID
 | 
					#endif //wxUSE_GRID
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user