virtual bool ProcessEvent( wxEvent& event )
{
- if ( event.IsKindOf(CLASSINFO(wxHeaderCtrlEvent)) )
+ if ( event.IsKindOf(wxCLASSINFO(wxHeaderCtrlEvent)) )
{
wxHeaderCtrlEvent& hcEvent =
static_cast<wxHeaderCtrlEvent&>(event);
int col = hcEvent.GetColumn();
int evtType = event.GetEventType();
- if ( evtType == wxEVT_COMMAND_HEADER_RESIZING )
+ if ( evtType == wxEVT_HEADER_RESIZING )
{
int colWidth = hcEvent.GetWidth();
return true;
}
- else if ( evtType == wxEVT_COMMAND_HEADER_BEGIN_RESIZE )
+ else if ( evtType == wxEVT_HEADER_BEGIN_RESIZE )
{
// Never allow column resize if layout is static
if ( m_manager->HasFlag(wxPG_STATIC_SPLITTER) )
return true;
}
- else if ( evtType == wxEVT_COMMAND_HEADER_END_RESIZE )
+ else if ( evtType == wxEVT_HEADER_END_RESIZE )
{
pg->SendEvent(wxEVT_PG_COL_END_DRAG,
NULL, NULL, 0,
return false;
}
+#if wxUSE_TOOLBAR
wxPropertyGridPage* prevPage;
if ( m_selPage >= 0 )
prevPage = GetPage(m_selPage);
else
prevPage = m_emptyPage;
+#endif
wxPropertyGridPage* nextPage;
state->InitNonCatMode();
}
- if ( label.length() )
+ if ( !label.empty() )
{
wxASSERT_MSG( !pageObj->m_label.length(),
wxT("If page label is given in constructor, empty label must be given in AddPage"));
// Connect to toolbar button events.
Connect(pageObj->m_toolId,
- wxEVT_COMMAND_TOOL_CLICKED,
+ wxEVT_TOOL,
wxCommandEventHandler(
wxPropertyGridManager::OnToolbarClick));
m_pToolbar->Realize();
Connect(m_categorizedModeToolId,
- wxEVT_COMMAND_TOOL_CLICKED,
+ wxEVT_TOOL,
wxCommandEventHandler(
wxPropertyGridManager::OnToolbarClick));
Connect(m_alphabeticModeToolId,
- wxEVT_COMMAND_TOOL_CLICKED,
+ wxEVT_TOOL,
wxCommandEventHandler(
wxPropertyGridManager::OnToolbarClick));
}
}
if ( highest > 0 )
- m_pPropGrid->SetSplitterPosition( highest );
+ SetSplitterPosition( highest );
}
#if wxUSE_HEADERCTRL
#endif
}
+void wxPropertyGridManager::SetPageSplitterLeft(int page, bool subProps)
+{
+ wxASSERT_MSG( (page < (int) GetPageCount()),
+ wxT("SetPageSplitterLeft() has no effect until pages have been added") );
+
+ if (page < (int) GetPageCount())
+ {
+ wxClientDC dc(this);
+ dc.SetFont(m_pPropGrid->GetFont());
+
+ int maxW = m_pState->GetColumnFitWidth(dc, m_arrPages[page]->m_properties, 0, subProps );
+ maxW += m_pPropGrid->m_marginWidth;
+ SetPageSplitterPosition( page, maxW );
+
+#if wxUSE_HEADERCTRL
+ if ( m_showHeader )
+ m_pHeaderCtrl->OnColumWidthsChanged();
+#endif
+ }
+}
+
// -----------------------------------------------------------------------
void wxPropertyGridManager::OnPropertyGridSelect( wxPropertyGridEvent& event )
}
}
}
+
+#if wxUSE_HEADERCTRL
+ if ( m_showHeader )
+ m_pHeaderCtrl->OnColumWidthsChanged();
+#endif
}
// -----------------------------------------------------------------------
void wxPropertyGridManager::OnMouseUp( wxMouseEvent &event )
{
- // No event type check - basicly calling this method should
+ // No event type check - basically calling this method should
// just stop dragging.
if ( m_dragStatus >= 1 )