.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.ComboPopup:

==========================================================================================================================================
|phoenix_title|  **wx.ComboPopup**
==========================================================================================================================================

In order to use a custom popup with :ref:`wx.ComboCtrl`, an interface class must be derived from :ref:`wx.ComboPopup`.          

For more information on how to use it, see :ref:`Setting Custom Popup for wxComboCtrl <wx.ComboCtrl>`. 





         



.. seealso:: :ref:`wx.ComboCtrl`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>ComboPopup</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.ComboPopup_inheritance.png" alt="Inheritance diagram of ComboPopup" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.ComboPopup.html" title="wx.ComboPopup" alt="" coords="5,5,136,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.ComboPopup.__init__`                                                  Default constructor.
:meth:`~wx.ComboPopup.Create`                                                    The derived class must implement this to create the popup control.
:meth:`~wx.ComboPopup.DestroyPopup`                                              You only need to implement this member function if you create your popup class in non-standard way.
:meth:`~wx.ComboPopup.Dismiss`                                                   Utility function that hides the popup.
:meth:`~wx.ComboPopup.FindItem`                                                  Implement to customize matching of value string to an item container entry.
:meth:`~wx.ComboPopup.GetAdjustedSize`                                           The derived class may implement this to return adjusted size for the popup control, according to the variables given.
:meth:`~wx.ComboPopup.GetComboCtrl`                                              Returns pointer to the associated parent :ref:`wx.ComboCtrl`.
:meth:`~wx.ComboPopup.GetControl`                                                The derived class must implement this to return pointer to the associated control created in :meth:`~ComboPopup.Create` .
:meth:`~wx.ComboPopup.GetStringValue`                                            The derived class must implement this to return string representation of the value.
:meth:`~wx.ComboPopup.Init`                                                      The derived class must implement this to initialize its internal variables.
:meth:`~wx.ComboPopup.IsCreated`                                                 Utility method that returns ``True`` if Create has been called.
:meth:`~wx.ComboPopup.LazyCreate`                                                The derived class may implement this to return ``True`` if it wants to delay call to :meth:`~ComboPopup.Create`   until the popup is shown for the first time.
:meth:`~wx.ComboPopup.OnComboDoubleClick`                                        The derived class may implement this to do something when the parent :ref:`wx.ComboCtrl`  gets double-clicked.
:meth:`~wx.ComboPopup.OnComboKeyEvent`                                           The derived class may implement this to receive key events from the parent :ref:`wx.ComboCtrl`.
:meth:`~wx.ComboPopup.OnDismiss`                                                 The derived class may implement this to do special processing when popup is hidden.
:meth:`~wx.ComboPopup.OnPopup`                                                   The derived class may implement this to do special processing when popup is shown.
:meth:`~wx.ComboPopup.PaintComboControl`                                         The derived class may implement this to paint the parent :ref:`wx.ComboCtrl`.
:meth:`~wx.ComboPopup.SetStringValue`                                            The derived class must implement this to receive string value changes from :ref:`wx.ComboCtrl`.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.ComboPopup.ComboCtrl`                                                 See :meth:`~wx.ComboPopup.GetComboCtrl`
:attr:`~wx.ComboPopup.Control`                                                   See :meth:`~wx.ComboPopup.GetControl`
:attr:`~wx.ComboPopup.StringValue`                                               See :meth:`~wx.ComboPopup.GetStringValue` and :meth:`~wx.ComboPopup.SetStringValue`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.ComboPopup(object)

   **Possible constructors**::

       ComboPopup()
       
   
   In order to use a custom popup with ComboCtrl, an interface class
   must be derived from ComboPopup.



   .. method:: __init__(self)

      Default constructor.                  

      It is recommended that internal variables are prepared in :meth:`Init`   instead (because m_combo is not valid in constructor).                   





   .. method:: Create(self, parent)

      The derived class must implement this to create the popup control.                  

                


      :param `parent`: 
      :type `parent`: wx.Window




      :rtype: `bool`







      :returns: 

         ``True`` if the call succeeded, ``False`` otherwise.   








   .. method:: DestroyPopup(self)

      You only need to implement this member function if you create your popup class in non-standard way.                  

      The default implementation can handle both multiple-inherited popup control (as seen in :ref:`wx.ComboCtrl`  samples) and one allocated separately in heap. 

      If you do completely re-implement this function, make sure it calls Destroy() for the popup control and also deletes `this`  object (usually as the last thing).                   





   .. method:: Dismiss(self)

      Utility function that hides the popup.                   





   .. method:: FindItem(self, item, trueItem=None)

      Implement to customize matching of value string to an item container entry.                  




      :param `item`: String entered, usually by user or from SetValue() call.  
      :type `item`: string
      :param `trueItem`: When item matches an entry, but the entry's string representation is not exactly the same (case mismatch, for example), then the ``True`` item string should be written back to here, if it is not a ``None`` pointer.  
      :type `trueItem`: string








      :rtype: `bool`



                  



      .. note:: 

         Default implementation always return ``True`` and does not alter trueItem.   








   .. method:: GetAdjustedSize(self, minWidth, prefHeight, maxHeight)

      The derived class may implement this to return adjusted size for the popup control, according to the variables given.                  




      :param `minWidth`: Preferred minimum width.   
      :type `minWidth`: int
      :param `prefHeight`: Preferred height. May be -1 to indicate no preference.   
      :type `prefHeight`: int
      :param `maxHeight`: Max height for window, as limited by screen size.  
      :type `maxHeight`: int










      :rtype: :ref:`wx.Size`



                  



      .. note:: 

         This function is called each time popup is about to be shown.   








   .. method:: GetComboCtrl(self)

      Returns pointer to the associated parent :ref:`wx.ComboCtrl`.                  

      :rtype: :ref:`wx.ComboCtrl`








   .. method:: GetControl(self)

      The derived class must implement this to return pointer to the associated control created in :meth:`Create` .                  

      :rtype: :ref:`wx.Window`








   .. method:: GetStringValue(self)

      The derived class must implement this to return string representation of the value.                  

      :rtype: `string`








   .. method:: Init(self)

      The derived class must implement this to initialize its internal variables.                  

      This method is called immediately after construction finishes. m_combo member variable has been initialized before the call.                   





   .. method:: IsCreated(self)

      Utility method that returns ``True`` if Create has been called.                  

      Useful in conjunction with :meth:`LazyCreate` .                  

      :rtype: `bool`








   .. method:: LazyCreate(self)

      The derived class may implement this to return ``True`` if it wants to delay call to :meth:`Create`   until the popup is shown for the first time.                  

      It is more efficient, but on the other hand it is often more convenient to have the control created immediately. 

                

      :rtype: `bool`







      .. note:: 

         Base implementation returns ``False``.   








   .. method:: OnComboDoubleClick(self)

      The derived class may implement this to do something when the parent :ref:`wx.ComboCtrl`  gets double-clicked.                   





   .. method:: OnComboKeyEvent(self, event)

      The derived class may implement this to receive key events from the parent :ref:`wx.ComboCtrl`.                  

      Events not handled should be skipped, as usual.                  


      :param `event`: 
      :type `event`: wx.KeyEvent







   .. method:: OnDismiss(self)

      The derived class may implement this to do special processing when popup is hidden.                   





   .. method:: OnPopup(self)

      The derived class may implement this to do special processing when popup is shown.                   





   .. method:: PaintComboControl(self, dc, rect)

      The derived class may implement this to paint the parent :ref:`wx.ComboCtrl`.                  

      Default implementation draws value as string.                  


      :param `dc`: 
      :type `dc`: wx.DC
      :param `rect`: 
      :type `rect`: wx.Rect







   .. method:: SetStringValue(self, value)

      The derived class must implement this to receive string value changes from :ref:`wx.ComboCtrl`.                  


      :param `value`: 
      :type `value`: string







   .. attribute:: ComboCtrl

      See :meth:`~wx.ComboPopup.GetComboCtrl`


   .. attribute:: Control

      See :meth:`~wx.ComboPopup.GetControl`


   .. attribute:: StringValue

      See :meth:`~wx.ComboPopup.GetStringValue` and :meth:`~wx.ComboPopup.SetStringValue`

