Native wxControl::DoGetBestSize() implementation
using XtQueryGeometry(). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
0c05fdf357
commit
0c02f0701e
@ -44,10 +44,10 @@ public:
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxControlNameStr);
|
||||
|
||||
// simulates the event, returns TRUE if the event was processed
|
||||
// simulates the event, returns true if the event was processed
|
||||
virtual void Command(wxCommandEvent& WXUNUSED(event)) { }
|
||||
|
||||
// calls the callback and appropriate event handlers, returns TRUE if
|
||||
// calls the callback and appropriate event handlers, returns true if
|
||||
// event was processed
|
||||
virtual bool ProcessCommand(wxCommandEvent& event);
|
||||
|
||||
@ -67,6 +67,9 @@ protected:
|
||||
const wxValidator& validator,
|
||||
const wxString& name);
|
||||
|
||||
// native implementation using XtQueryGeometry
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
|
||||
// Motif: prevent callbacks being called while in SetValue
|
||||
bool m_inSetValue;
|
||||
|
||||
|
@ -43,7 +43,7 @@ wxControl::wxControl()
|
||||
m_backgroundColour = *wxWHITE;
|
||||
m_foregroundColour = *wxBLACK;
|
||||
|
||||
m_inSetValue = FALSE;
|
||||
m_inSetValue = false;
|
||||
}
|
||||
|
||||
bool wxControl::Create( wxWindow *parent,
|
||||
@ -73,13 +73,13 @@ bool wxControl::CreateControl(wxWindow *parent,
|
||||
{
|
||||
if( !wxControlBase::CreateControl( parent, id, pos, size, style,
|
||||
validator, name ) )
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
m_backgroundColour = parent->GetBackgroundColour();
|
||||
m_foregroundColour = parent->GetForegroundColour();
|
||||
m_font = parent->GetFont();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxControl::SetLabel(const wxString& label)
|
||||
@ -114,3 +114,16 @@ bool wxControl::ProcessCommand(wxCommandEvent & event)
|
||||
{
|
||||
return GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
|
||||
wxSize wxControl::DoGetBestSize() const
|
||||
{
|
||||
Widget w = (Widget)GetTopWidget();
|
||||
|
||||
// Do not return any arbitrary default value...
|
||||
wxASSERT_MSG (w, wxT("DoGetBestSize called before creation"));
|
||||
|
||||
XtWidgetGeometry preferred;
|
||||
XtQueryGeometry (w, NULL, &preferred);
|
||||
|
||||
return wxSize(preferred.width, preferred.height);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user