.. wxPython Phoenix documentation

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

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

.. include:: headings.inc

.. currentmodule:: wx.lib.agw.flatmenu

.. highlight:: python



.. _wx.lib.agw.flatmenu.FlatMenuBase:

==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.flatmenu.FlatMenuBase**
==========================================================================================================================================

Base class for generic flat menu derived from :class:`PopupWindow`.



|

|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>FlatMenuBase</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.lib.agw.flatmenu.FlatMenuBase_inheritance.png" alt="Inheritance diagram of FlatMenuBase" 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.lib.agw.flatmenu.FlatMenuBase.html" title="Base class for generic flat menu derived from PopupWindow." alt="" coords="32,779,287,808"/> <area shape="rect" id="node2" href="wx.lib.agw.flatmenu.ShadowPopupWindow.html" title="Base class for generic FlatMenu derived from PopupWindow." alt="" coords="5,701,313,731"/> <area shape="rect" id="node3" href="wx.lib.agw.flatmenu.mcPopupWindow.html" title="Since Max OS does not support PopupWindow, this is an alternative." alt="" coords="21,624,297,653"/> <area shape="rect" id="node4" href="wx.MiniFrame.html" title="A miniframe is a frame with a small title bar." alt="" coords="102,547,217,576"/> <area shape="rect" id="node5" href="wx.Frame.html" title="A frame is a window whose size and position can (usually) be changed by the user." alt="" coords="115,469,203,499"/> <area shape="rect" id="node6" href="wx.TopLevelWindow.html" title="wx.TopLevelWindow  is a common base class for wx.Dialog  and wx.Frame." alt="" coords="80,392,239,421"/> <area shape="rect" id="node7" href="wx.NonOwnedWindow.html" title="Common base class for all non-child windows." alt="" coords="74,315,245,344"/> <area shape="rect" id="node8" href="wx.Window.html" title="wx.Window  is the base class for all windows and represents any visible object on screen." alt="" coords="111,237,208,267"/> <area shape="rect" id="node9" href="wx.WindowBase.html" title="wx.WindowBase" alt="" coords="94,160,225,189"/> <area shape="rect" id="node10" href="wx.EvtHandler.html" title="A class that can handle events from the windowing system." alt="" coords="100,83,219,112"/> <area shape="rect" id="node11" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="54,5,142,35"/> <area shape="rect" id="node12" href="wx.Trackable.html" title="Add-on base class for a trackable object." alt="" coords="167,5,277,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:class:`wx.lib.agw.flatmenu.FlatMenu`

|


|super_classes| Known Superclasses
==================================

:class:`wx.lib.agw.flatmenu.ShadowPopupWindow`

|


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

================================================================================ ================================================================================
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.__init__`                               Default class constructor.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.AdjustPosition`                         Adjusts position so the menu will be fully visible on screen.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.Dismiss`                                Dismisses the popup window.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.GetMenuOwner`                           Returns the menu logical owner, the owner does not necessarly mean the
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.GetRenderer`                            Returns the renderer for this class.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.GetRootMenu`                            Returns the top level menu.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.OnChildDismiss`                         Handles children dismiss.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.OnDismiss`                              Fires an event ``EVT_FLAT_MENU_DISMISSED`` and handle menu dismiss.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.Popup`                                  Popups menu at the specified point.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.ScrollDown`                             Scroll one unit down.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.ScrollUp`                               Scroll one unit up.
:meth:`~wx.lib.agw.flatmenu.FlatMenuBase.SetOwnerHeight`                         Sets the menu owner height, this will be used to position the menu below
================================================================================ ================================================================================


|


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


.. class:: FlatMenuBase(ShadowPopupWindow)

   Base class for generic flat menu derived from :class:`PopupWindow`.

   .. method:: __init__(self, parent=None)

      Default class constructor.
      
      :param `parent`: the :class:`ShadowPopupWindow` parent window.


   .. method:: AdjustPosition(self, pos)

      Adjusts position so the menu will be fully visible on screen.
      
      :param `pos`: an instance of :class:`wx.Point` specifying the menu position.


   .. method:: Dismiss(self, dismissParent, resetOwner)

      Dismisses the popup window.
      
      :param bool `dismissParent`: whether to dismiss the parent menu or not;
      :param bool `resetOwner`: ``True`` to delete the link between this menu and the
       owner menu, ``False`` otherwise.


   .. method:: GetMenuOwner(self)

      Returns the menu logical owner, the owner does not necessarly mean the
      menu parent, it can also be the window that popped up it.


   .. method:: GetRenderer(self)

      Returns the renderer for this class. 


   .. method:: GetRootMenu(self)

      Returns the top level menu. 


   .. method:: OnChildDismiss(self)

      Handles children dismiss. 


   .. method:: OnDismiss(self)

      Fires an event ``EVT_FLAT_MENU_DISMISSED`` and handle menu dismiss. 


   .. method:: Popup(self, pt, parent)

      Popups menu at the specified point.
      
      :param `pt`: an instance of :class:`wx.Point`, assumed to be in screen coordinates. However,
       if `parent` is not ``None``, `pt` is translated into the screen coordinates using
       `parent.ClientToScreen()`;
      :param `parent`: if not ``None``, an instance of :class:`wx.Window`.


   .. method:: ScrollDown(self)

      Scroll one unit down.
      By default this function is empty, let derived class do something.


   .. method:: ScrollUp(self)

      Scroll one unit up.
      By default this function is empty, let derived class do something.


   .. method:: SetOwnerHeight(self, height)

      Sets the menu owner height, this will be used to position the menu below
      or above the owner.
      
      :param integer `height`: an integer representing the menu owner height.