void DestroyPopup();
// override the base class virtuals involved in geometry calculations
+ // The common version only sets a default width, so the derived classes
+ // should override it and set the height and change the width as needed.
virtual wxSize DoGetBestSize() const;
+ virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
// also set the embedded wxTextCtrl colours
virtual bool SetForegroundColour(const wxColour& colour);
// Standard textctrl positioning routine. Just give it platform-dependant
// textctrl coordinate adjustment.
- virtual void PositionTextCtrl( int textCtrlXAdjust, int textCtrlYAdjust );
+ virtual void PositionTextCtrl( int textCtrlXAdjust = 0,
+ int textCtrlYAdjust = 0);
// event handlers
void OnSizeEvent( wxSizeEvent& event );
// main (ie. topmost) window of a composite control (default = this)
wxWindow* m_mainCtrlWnd;
- // used to prevent immediate re-popupping incase closed popup
+ // used to prevent immediate re-popupping in case closed popup
// by clicking on the combo control (needed because of inconsistent
// transient implementation across platforms).
wxLongLong m_timeCanAcceptClick;
// Return true for success.
virtual bool Create(wxWindow* parent) = 0;
+ // Calls Destroy() for the popup control (i.e. one returned by
+ // GetControl()) and makes sure that 'this' is deleted at the end.
+ // Default implementation works for both cases where popup control
+ // class is multiple inherited or created on heap as a separate
+ // object.
+ virtual void DestroyPopup();
+
// We must have an associated control which is subclassed by the combobox.
virtual wxWindow *GetControl() = 0;