// Author: Jaakko Salli
// Modified by:
// Created: 2005-01-14
-// RCS-ID: $Id:
+// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// This define is necessary to prevent macro clearing
#define __wxPG_SOURCE_FILE__
-#include <wx/propgrid/propgrid.h>
+#include "wx/propgrid/propgrid.h"
-#include <wx/propgrid/manager.h>
+#include "wx/propgrid/manager.h"
#define wxPG_MAN_ALTERNATE_BASE_ID 11249 // Needed for wxID_ANY madnesss
void wxPropertyGridManager::SetWindowStyleFlag( long style )
{
+ int oldWindowStyle = GetWindowStyleFlag();
+
wxWindow::SetWindowStyleFlag( style );
m_pPropGrid->SetWindowStyleFlag( (m_pPropGrid->GetWindowStyleFlag()&~(wxPG_MAN_PASS_FLAGS_MASK)) |
(style&wxPG_MAN_PASS_FLAGS_MASK) );
+
+ // Need to re-position windows?
+ if ( (oldWindowStyle & (wxPG_TOOLBAR|wxPG_DESCRIPTION)) !=
+ (style & (wxPG_TOOLBAR|wxPG_DESCRIPTION)) )
+ {
+ RecreateControls();
+ }
}
// -----------------------------------------------------------------------
{
if ( m_windowStyle & wxPG_DESCRIPTION )
{
- m_nextDescBoxSize = ht;
- if ( refresh )
- RecalculatePositions(m_width, m_height);
+ if ( ht != GetDescBoxHeight() )
+ {
+ m_nextDescBoxSize = ht;
+ if ( refresh )
+ RecalculatePositions(m_width, m_height);
+ }
}
}
int wxPropertyGridManager::GetDescBoxHeight() const
{
- return GetClientSize().y - m_splitterY;
+ return GetClientSize().y - m_splitterY - m_splitterHeight;
}
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
+bool wxPropertyGridManager::SetEditableStateItem( const wxString& name, wxVariant value )
+{
+ if ( name == wxS("descboxheight") )
+ {
+ SetDescBoxHeight(value.GetLong(), true);
+ return true;
+ }
+ return false;
+}
+
+// -----------------------------------------------------------------------
+
+wxVariant wxPropertyGridManager::GetEditableStateItem( const wxString& name ) const
+{
+ if ( name == wxS("descboxheight") )
+ {
+ return (long) GetDescBoxHeight();
+ }
+ return wxNullVariant;
+}
+
+// -----------------------------------------------------------------------
+
void wxPropertyGridManager::SetDescription( const wxString& label, const wxString& content )
{
if ( m_pTxtHelpCaption )