.. 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.adv.BannerWindow:

==========================================================================================================================================
|phoenix_title|  **wx.adv.BannerWindow**
==========================================================================================================================================

A simple banner window showing either a bitmap or text.          

Banner windows can be used to present some overview of the current window contents to the user in an aesthetically pleasant way. They are typically positioned along the left or top edge of the window (although this class also supports right- and bottom-aligned banners) and show either a bitmap with a logo or a few lines of text on a gradient-filled background. 

Using this class is very simple, e.g.: ::

        class MyFrame(wx.Frame):

            def __init__(self, parent):

                # ... create the frame itself ...
                wx.Frame.__init__(self, parent)

                # Create and initialize the banner.
                banner = wx.adv.BannerWindow(self, wx.TOP)
                banner.SetText("Welcome to my wonderful program",
                               "  Before doing anything else, you need to connect to "
                               "the online server.\n"
                               "  Please enter your credentials in the controls below.")

                # And position it along the left edge of the window.
                sizer = wx.BoxSizer(wx.VERTICAL)
                sizer.Add(banner, wx.SizerFlags().Expand())

                # ... add the rest of the window contents to the same sizer ...

                self.SetSizerAndFit(sizer)



This class is currently implemented generically and so looks the same under all platforms. 







         



.. versionadded:: 2.9.3 
     







|

|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>BannerWindow</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.adv.BannerWindow_inheritance.png" alt="Inheritance diagram of BannerWindow" 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.adv.BannerWindow.html" title="wx.adv.BannerWindow" alt="" coords="23,237,194,267"/> <area shape="rect" id="node2" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node3" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node4" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node5" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.adv.BannerWindow.__init__`                                            Default constructor, use :meth:`~BannerWindow.Create`   later.
:meth:`~wx.adv.BannerWindow.Create`                                              Really create the banner window for the objects created using the default constructor.
:meth:`~wx.adv.BannerWindow.GetClassDefaultAttributes`                           
:meth:`~wx.adv.BannerWindow.SetBitmap`                                           Provide the bitmap to use as background.
:meth:`~wx.adv.BannerWindow.SetGradient`                                         Set the colours between which the gradient runs.
:meth:`~wx.adv.BannerWindow.SetText`                                             Set the text to display.
================================================================================ ================================================================================


|


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


.. class:: wx.adv.BannerWindow(Window)

   **Possible constructors**::

       BannerWindow()
       
       BannerWindow(parent, winid=ID_ANY, dir=LEFT, pos=DefaultPosition,
                    size=DefaultSize, style=0, name=BannerWindowNameStr)
       
   
   A simple banner window showing either a bitmap or text.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self)`
      
      Default constructor, use :meth:`Create`   later.                  
      
      This constructor is only used for two-step creation, if possible, prefer using the constructor below directly instead of using this one and calling :meth:`Create`   later.                   
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, parent, winid=ID_ANY, dir=LEFT, pos=DefaultPosition, size=DefaultSize, style=0, name=BannerWindowNameStr)`
      
      Full constructor provided for consistency with the other classes only.                  
      
      Prefer to use the shorter constructor documented above. You should rarely, if ever, need to use non-default values for any other parameters: as the banner window doesn't generate any events, its identifier is not particularly useful; its position and size will be almost always managed by the containing sizer and it doesn't have any specific styles. So only the parent and the banner direction need to be specified.                  
      
      
      :param `parent`: 
      :type `parent`: wx.Window
      :param `winid`: 
      :type `winid`: wx.WindowID
      :param `dir`: 
      :type `dir`: wx.DataObject.Direction
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `name`: 
      :type `name`: string
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent, winid=ID_ANY, dir=LEFT, pos=DefaultPosition, size=DefaultSize, style=0, name=BannerWindowNameStr)

      Really create the banner window for the objects created using the default constructor.                  

      It's an error to call :meth:`Create`   for the objects created using non-default constructor.                  


      :param `parent`: 
      :type `parent`: wx.Window
      :param `winid`: 
      :type `winid`: wx.WindowID
      :param `dir`: 
      :type `dir`: wx.DataObject.Direction
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `name`: 
      :type `name`: string




      :rtype: `bool`








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: :ref:`VisualAttributes`








   .. method:: SetBitmap(self, bmp)

      Provide the bitmap to use as background.                  

      Notice that ideally the bitmap should be big enough to always cover the entire banner, e.g. for a horizontal banner with ``wx.TOP`` style its width should be bigger than any reasonable window size. Otherwise the bitmap is extended to cover the entire window area with a solid colour taken from the bitmap pixel on the edge in which direction the extension occurs so all bitmap pixels on this edge (top for ``wx.LEFT``, right for ``wx.TOP`` and ``wx.BOTTOM`` and bottom for ``wx.RIGHT``) should have the same colour to avoid jarring discontinuity. 

      If, on the other hand, the bitmap is bigger than the window size, then it is truncated. For ``wx.LEFT`` orientation the bitmap is truncated from the top, for ``wx.TOP`` and ``wx.BOTTOM`` –  from the right and for ``wx.RIGHT`` –  from the bottom, so put the most important part of the bitmap information in the opposite direction where it will never be truncated. 

      If no valid background bitmap is specified, the banner draws gradient background but if a valid bitmap is given here, the gradient is not draw and the start and end colours specified for it are ignored. 




      :param `bmp`: Bitmap to use as background. May be invalid to indicate that no background bitmap should be used.   
      :type `bmp`: wx.Bitmap




                  





   .. method:: SetGradient(self, start, end)

      Set the colours between which the gradient runs.                  

      The gradient colours are ignored if :meth:`SetBitmap`   is used.                  


      :param `start`: 
      :type `start`: wx.Colour
      :param `end`: 
      :type `end`: wx.Colour







   .. method:: SetText(self, title, message)

      Set the text to display.                  

      This is mutually exclusive with :meth:`SetBitmap` . 

      Title is rendered in bold and should be single line, message can have multiple lines but is not wrapped automatically, include explicit line breaks in the string if you want to have multiple lines.                  


      :param `title`: 
      :type `title`: string
      :param `message`: 
      :type `message`: string






