Have wxPGTextCtrlEditor::UpdateControl() update wxTextCtrl font boldness based on property's modified-status
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1550,8 +1550,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxDEPRECATED( wxString GetValueString( int argFlags = 0 ) const );
|
wxDEPRECATED( wxString GetValueString( int argFlags = 0 ) const );
|
||||||
|
|
||||||
void UpdateControl( wxWindow* primary );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns wxPGCell of given column.
|
Returns wxPGCell of given column.
|
||||||
*/
|
*/
|
||||||
@@ -2224,6 +2222,8 @@ protected:
|
|||||||
// moved to it.
|
// moved to it.
|
||||||
void SubPropsChanged( int oldSelInd = -1 );
|
void SubPropsChanged( int oldSelInd = -1 );
|
||||||
|
|
||||||
|
void UpdateControl( wxWindow* editorWnd );
|
||||||
|
|
||||||
int GetY2( int lh ) const;
|
int GetY2( int lh ) const;
|
||||||
|
|
||||||
wxString m_label;
|
wxString m_label;
|
||||||
|
@@ -1179,6 +1179,11 @@ public:
|
|||||||
return m_wndEditor2;
|
return m_wndEditor2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Refreshes any active editor control.
|
||||||
|
*/
|
||||||
|
void RefreshEditor();
|
||||||
|
|
||||||
// Events from editor controls are forward to this function
|
// Events from editor controls are forward to this function
|
||||||
void HandleCustomEditorEvent( wxEvent &event );
|
void HandleCustomEditorEvent( wxEvent &event );
|
||||||
|
|
||||||
|
@@ -658,6 +658,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool IsFrozen() const;
|
bool IsFrozen() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Refreshes any active editor control.
|
||||||
|
*/
|
||||||
|
void RefreshEditor();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Redraws given property.
|
Redraws given property.
|
||||||
*/
|
*/
|
||||||
|
@@ -283,9 +283,22 @@ void wxPGTextCtrlEditor::UpdateControl( wxPGProperty* property, wxWindow* ctrl )
|
|||||||
else
|
else
|
||||||
s = property->GetDisplayedString();
|
s = property->GetDisplayedString();
|
||||||
|
|
||||||
tc->SetValue(s);
|
tc->SetValue(s);
|
||||||
}
|
|
||||||
|
|
||||||
|
// Update font boldness
|
||||||
|
wxPropertyGrid* pg = property->GetGrid();
|
||||||
|
if ( pg->HasFlag(wxPG_BOLD_MODIFIED) )
|
||||||
|
{
|
||||||
|
if ( property->HasFlag(wxPG_PROP_MODIFIED) )
|
||||||
|
tc->SetFont(pg->GetCaptionFont());
|
||||||
|
else
|
||||||
|
tc->SetFont(pg->GetFont());
|
||||||
|
|
||||||
|
#if defined(__WXMSW__) && !defined(__WXWINCE__)
|
||||||
|
::SendMessage(GetHwndOf(tc), EM_SETMARGINS, EC_LEFTMARGIN | EC_RIGHTMARGIN, MAKELONG(0, 0));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Provided so that, for example, ComboBox editor can use the same code
|
// Provided so that, for example, ComboBox editor can use the same code
|
||||||
// (multiple inheritance would get way too messy).
|
// (multiple inheritance would get way too messy).
|
||||||
|
@@ -639,10 +639,10 @@ int wxPGProperty::Index( const wxPGProperty* p ) const
|
|||||||
return wxNOT_FOUND;
|
return wxNOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxPGProperty::UpdateControl( wxWindow* primary )
|
void wxPGProperty::UpdateControl( wxWindow* editorWnd )
|
||||||
{
|
{
|
||||||
if ( primary )
|
if ( editorWnd )
|
||||||
GetEditorClass()->UpdateControl(this, primary);
|
GetEditorClass()->UpdateControl(this, editorWnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxPGProperty::ValidateValue( wxVariant& WXUNUSED(value), wxPGValidationInfo& WXUNUSED(validationInfo) ) const
|
bool wxPGProperty::ValidateValue( wxVariant& WXUNUSED(value), wxPGValidationInfo& WXUNUSED(validationInfo) ) const
|
||||||
@@ -1336,18 +1336,13 @@ void wxPGProperty::SetFlagRecursively( FlagType flag, bool set )
|
|||||||
|
|
||||||
void wxPGProperty::RefreshEditor()
|
void wxPGProperty::RefreshEditor()
|
||||||
{
|
{
|
||||||
if ( m_parent && GetParentState() )
|
if ( !m_parent )
|
||||||
{
|
return;
|
||||||
wxPropertyGrid* pg = GetParentState()->GetGrid();
|
|
||||||
if ( pg->GetSelectedProperty() == this )
|
|
||||||
{
|
|
||||||
wxWindow* editor = pg->GetEditorControl();
|
|
||||||
if ( editor )
|
|
||||||
GetEditorClass()->UpdateControl( this, editor );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
wxPropertyGrid* pg = GetGrid();
|
||||||
|
if ( pg && pg->GetSelectedProperty() == this )
|
||||||
|
UpdateControl(pg->GetEditorControl());
|
||||||
|
}
|
||||||
|
|
||||||
wxVariant wxPGProperty::GetDefaultValue() const
|
wxVariant wxPGProperty::GetDefaultValue() const
|
||||||
{
|
{
|
||||||
|
@@ -3636,6 +3636,15 @@ bool wxPropertyGrid::UnfocusEditor()
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
void wxPropertyGrid::RefreshEditor()
|
||||||
|
{
|
||||||
|
if ( !m_selected || !m_wndEditor || m_frozen )
|
||||||
|
return;
|
||||||
|
m_selected->UpdateControl(m_wndEditor);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
// This method is not inline because it called dozens of times
|
// This method is not inline because it called dozens of times
|
||||||
// (i.e. two-arg function calls create smaller code size).
|
// (i.e. two-arg function calls create smaller code size).
|
||||||
bool wxPropertyGrid::DoClearSelection()
|
bool wxPropertyGrid::DoClearSelection()
|
||||||
|
@@ -523,6 +523,9 @@ void wxPropertyGridInterface::ClearModifiedStatus()
|
|||||||
|
|
||||||
pageIndex++;
|
pageIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update active editor control, if any
|
||||||
|
GetPropertyGrid()->RefreshEditor();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user