Added wxPropertyGrid::SetUnspecifiedValueAppearance(); Added wxPGEditor::SetControlAppearance() for applying wxPGCell attributes on a property editor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -163,9 +163,35 @@ public:
|
||||
wxWindow* ctrl ) const;
|
||||
#endif
|
||||
|
||||
/** Sets value in control to unspecified. */
|
||||
/**
|
||||
Sets new appearance for the control. Default implementation
|
||||
sets foreground colour, background colour, font, plus text
|
||||
for wxTextCtrl and wxComboCtrl.
|
||||
|
||||
@param appearance
|
||||
New appearance to be applied.
|
||||
|
||||
@param oldAppearance
|
||||
Previously applied appearance. Used to detect which
|
||||
control attributes need to be changed (e.g. so we only
|
||||
change background colour if really needed).
|
||||
|
||||
@param unspecified
|
||||
@true if the new appearance represents an unspecified
|
||||
property value.
|
||||
*/
|
||||
virtual void SetControlAppearance( wxPropertyGrid* pg,
|
||||
wxPGProperty* property,
|
||||
wxWindow* ctrl,
|
||||
const wxPGCell& appearance,
|
||||
const wxPGCell& oldAppearance,
|
||||
bool unspecified ) const;
|
||||
|
||||
/**
|
||||
Sets value in control to unspecified.
|
||||
*/
|
||||
virtual void SetValueToUnspecified( wxPGProperty* property,
|
||||
wxWindow* ctrl ) const = 0;
|
||||
wxWindow* ctrl ) const;
|
||||
|
||||
/** Sets control's value specifically from string. */
|
||||
virtual void SetControlStringValue( wxPGProperty* property,
|
||||
@@ -239,8 +265,6 @@ public:
|
||||
virtual bool GetValueFromControl( wxVariant& variant,
|
||||
wxPGProperty* property,
|
||||
wxWindow* ctrl ) const;
|
||||
virtual void SetValueToUnspecified( wxPGProperty* property,
|
||||
wxWindow* ctrl ) const;
|
||||
|
||||
virtual wxString GetName() const;
|
||||
|
||||
|
@@ -254,6 +254,11 @@ public:
|
||||
return (m_refData && GetData()->m_hasValidText);
|
||||
}
|
||||
|
||||
/**
|
||||
Sets empty but valid data to this cell object.
|
||||
*/
|
||||
void SetEmptyData();
|
||||
|
||||
/**
|
||||
Merges valid data from srcCell into this.
|
||||
*/
|
||||
|
@@ -1239,6 +1239,33 @@ public:
|
||||
return m_sortFunction;
|
||||
}
|
||||
|
||||
/**
|
||||
Sets appearance of value cells representing an unspecified property
|
||||
value. Default appearance is blank.
|
||||
|
||||
@remarks If you set the unspecified value to have any
|
||||
textual representation, then that will override
|
||||
"InlineHelp" attribute.
|
||||
|
||||
@see wxPGProperty::SetValueToUnspecified(),
|
||||
wxPGProperty::IsValueUnspecified()
|
||||
*/
|
||||
void SetUnspecifiedValueAppearance( const wxPGCell& cell )
|
||||
{
|
||||
m_unspecifiedAppearance = m_propertyDefaultCell;
|
||||
m_unspecifiedAppearance.MergeFrom(cell);
|
||||
}
|
||||
|
||||
/**
|
||||
Returns current appearance of unspecified value cells.
|
||||
|
||||
@see SetUnspecifiedValueAppearance()
|
||||
*/
|
||||
const wxPGCell& GetUnspecifiedValueAppearance() const
|
||||
{
|
||||
return m_unspecifiedAppearance;
|
||||
}
|
||||
|
||||
/**
|
||||
Returns (visual) text representation of the unspecified
|
||||
property value.
|
||||
@@ -1764,6 +1791,12 @@ protected:
|
||||
/** Actions and keys that trigger them. */
|
||||
wxPGHashMapI2I m_actionTriggers;
|
||||
|
||||
/** Appearance of currently active editor. */
|
||||
wxPGCell m_editorAppearance;
|
||||
|
||||
/** Appearance of a unspecified value cell. */
|
||||
wxPGCell m_unspecifiedAppearance;
|
||||
|
||||
//
|
||||
// Temporary values
|
||||
//
|
||||
@@ -2062,6 +2095,16 @@ protected:
|
||||
*/
|
||||
void RecalculateVirtualSize( int forceXPos = -1 );
|
||||
|
||||
void SetEditorAppearance( const wxPGCell& cell,
|
||||
bool unspecified = false );
|
||||
|
||||
void ResetEditorAppearance()
|
||||
{
|
||||
wxPGCell cell;
|
||||
cell.SetEmptyData();
|
||||
SetEditorAppearance(cell, false);
|
||||
}
|
||||
|
||||
void PrepareAfterItemsAdded();
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user