Added wxPropertyGrid::GetUnspecifiedValueText(). Use it instead of assuming that the unspecified value text is always an empty string.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1239,6 +1239,14 @@ public:
|
|||||||
return m_sortFunction;
|
return m_sortFunction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns (visual) text representation of the unspecified
|
||||||
|
property value.
|
||||||
|
|
||||||
|
@param argFlags For internal use only.
|
||||||
|
*/
|
||||||
|
wxString GetUnspecifiedValueText( int argFlags = 0 ) const;
|
||||||
|
|
||||||
/** Set virtual width for this particular page. Width -1 indicates that the
|
/** Set virtual width for this particular page. Width -1 indicates that the
|
||||||
virtual width should be disabled. */
|
virtual width should be disabled. */
|
||||||
void SetVirtualWidth( int width );
|
void SetVirtualWidth( int width );
|
||||||
|
@@ -740,6 +740,14 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxTextCtrl* GetEditorTextCtrl() const;
|
wxTextCtrl* GetEditorTextCtrl() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns (visual) text representation of the unspecified
|
||||||
|
property value.
|
||||||
|
|
||||||
|
@param argFlags For internal use only.
|
||||||
|
*/
|
||||||
|
wxString GetUnspecifiedValueText( int argFlags = 0 ) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns current vertical spacing.
|
Returns current vertical spacing.
|
||||||
*/
|
*/
|
||||||
|
@@ -173,6 +173,9 @@ void wxPGEditor::DrawValue( wxDC& dc, const wxRect& rect, wxPGProperty* property
|
|||||||
{
|
{
|
||||||
if ( !property->IsValueUnspecified() )
|
if ( !property->IsValueUnspecified() )
|
||||||
dc.DrawText( text, rect.x+wxPG_XBEFORETEXT, rect.y );
|
dc.DrawText( text, rect.x+wxPG_XBEFORETEXT, rect.y );
|
||||||
|
else
|
||||||
|
dc.DrawText( property->GetGrid()->GetUnspecifiedValueText(),
|
||||||
|
rect.x+wxPG_XBEFORETEXT, rect.y );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxPGEditor::GetValueFromControl( wxVariant&, wxPGProperty*, wxWindow* ) const
|
bool wxPGEditor::GetValueFromControl( wxVariant&, wxPGProperty*, wxWindow* ) const
|
||||||
@@ -232,9 +235,9 @@ wxPGWindowList wxPGTextCtrlEditor::CreateControls( wxPropertyGrid* propGrid,
|
|||||||
property->GetChildCount() )
|
property->GetChildCount() )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if ( !property->IsValueUnspecified() )
|
int argFlags = property->HasFlag(wxPG_PROP_READONLY) ?
|
||||||
text = property->GetValueAsString(property->HasFlag(wxPG_PROP_READONLY) ?
|
0 : wxPG_EDITABLE_VALUE;
|
||||||
0 : wxPG_EDITABLE_VALUE);
|
text = property->GetValueAsString(argFlags);
|
||||||
|
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
if ( (property->GetFlags() & wxPG_PROP_PASSWORD) &&
|
if ( (property->GetFlags() & wxPG_PROP_PASSWORD) &&
|
||||||
@@ -371,7 +374,7 @@ void wxPGTextCtrlEditor::SetValueToUnspecified( wxPGProperty* property, wxWindow
|
|||||||
wxASSERT(pg); // Really, property grid should exist if editor does
|
wxASSERT(pg); // Really, property grid should exist if editor does
|
||||||
if ( pg )
|
if ( pg )
|
||||||
{
|
{
|
||||||
wxString unspecValueText;
|
wxString unspecValueText = pg->GetUnspecifiedValueText();
|
||||||
pg->SetupTextCtrlValue(unspecValueText);
|
pg->SetupTextCtrlValue(unspecValueText);
|
||||||
tc->SetValue(unspecValueText);
|
tc->SetValue(unspecValueText);
|
||||||
}
|
}
|
||||||
@@ -987,6 +990,7 @@ bool wxPGChoiceEditor::OnEvent( wxPropertyGrid* propGrid, wxPGProperty* property
|
|||||||
if ( !cb->HasFlag(wxCB_READONLY) )
|
if ( !cb->HasFlag(wxCB_READONLY) )
|
||||||
{
|
{
|
||||||
wxString unspecValueText;
|
wxString unspecValueText;
|
||||||
|
unspecValueText = propGrid->GetUnspecifiedValueText();
|
||||||
propGrid->SetupTextCtrlValue(unspecValueText);
|
propGrid->SetupTextCtrlValue(unspecValueText);
|
||||||
cb->GetTextCtrl()->SetValue(unspecValueText);
|
cb->GetTextCtrl()->SetValue(unspecValueText);
|
||||||
}
|
}
|
||||||
@@ -1036,10 +1040,25 @@ void wxPGChoiceEditor::SetControlIntValue( wxPGProperty* WXUNUSED(property), wxW
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void wxPGChoiceEditor::SetValueToUnspecified( wxPGProperty* WXUNUSED(property), wxWindow* ctrl ) const
|
void wxPGChoiceEditor::SetValueToUnspecified( wxPGProperty* property,
|
||||||
|
wxWindow* ctrl ) const
|
||||||
{
|
{
|
||||||
wxOwnerDrawnComboBox* cb = (wxOwnerDrawnComboBox*)ctrl;
|
wxOwnerDrawnComboBox* cb = (wxOwnerDrawnComboBox*)ctrl;
|
||||||
cb->SetSelection(-1);
|
|
||||||
|
if ( !cb->HasFlag(wxCB_READONLY) )
|
||||||
|
{
|
||||||
|
wxPropertyGrid* pg = property->GetGrid();
|
||||||
|
if ( pg )
|
||||||
|
{
|
||||||
|
wxString tcText = pg->GetUnspecifiedValueText();
|
||||||
|
pg->SetupTextCtrlValue(tcText);
|
||||||
|
cb->SetValue(tcText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cb->SetSelection(-1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -928,8 +928,10 @@ wxString wxPGProperty::GetValueAsString( int argFlags ) const
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
wxPropertyGrid* pg = GetGrid();
|
||||||
|
|
||||||
if ( IsValueUnspecified() )
|
if ( IsValueUnspecified() )
|
||||||
return wxEmptyString;
|
return pg->GetUnspecifiedValueText(argFlags);
|
||||||
|
|
||||||
if ( m_commonValue == -1 )
|
if ( m_commonValue == -1 )
|
||||||
{
|
{
|
||||||
@@ -939,7 +941,6 @@ wxString wxPGProperty::GetValueAsString( int argFlags ) const
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Return common value's string representation
|
// Return common value's string representation
|
||||||
wxPropertyGrid* pg = GetGrid();
|
|
||||||
const wxPGCommonValue* cv = pg->GetCommonValue(m_commonValue);
|
const wxPGCommonValue* cv = pg->GetCommonValue(m_commonValue);
|
||||||
|
|
||||||
if ( argFlags & wxPG_FULL_VALUE )
|
if ( argFlags & wxPG_FULL_VALUE )
|
||||||
|
@@ -3629,6 +3629,12 @@ void wxPropertyGrid::CustomSetCursor( int type, bool override )
|
|||||||
m_curcursor = type;
|
m_curcursor = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxString
|
||||||
|
wxPropertyGrid::GetUnspecifiedValueText( int WXUNUSED(argFlags) ) const
|
||||||
|
{
|
||||||
|
return wxEmptyString;
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
// wxPropertyGrid property selection, editor creation
|
// wxPropertyGrid property selection, editor creation
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user