.. 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.calendar

.. highlight:: python



.. _wx.lib.calendar.CalDraw:

==========================================================================================================================================
|phoenix_title|  **wx.lib.calendar.CalDraw**
==========================================================================================================================================

A class to draw a calendar.



|

|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>CalDraw</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.calendar.CalDraw_inheritance.png" alt="Inheritance diagram of CalDraw" 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.calendar.CalDraw.html" title="A class to draw a calendar." alt="" coords="5,5,189,35"/> </map> 
   </p>
   </div>

|


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

:class:`wx.lib.calendar.PrtCalDraw`

|


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

================================================================================ ================================================================================
:meth:`~wx.lib.calendar.CalDraw.__init__`                                        Default class constructor
:meth:`~wx.lib.calendar.CalDraw.AddSelect`                                       Add a selection of days.
:meth:`~wx.lib.calendar.CalDraw.Center`                                          Calculate the dimensions in the center of the drawing area.
:meth:`~wx.lib.calendar.CalDraw.DefParms`                                        Setup the default parameters.
:meth:`~wx.lib.calendar.CalDraw.DrawBorder`                                      Draw a border around the outside of the main display rectangle.
:meth:`~wx.lib.calendar.CalDraw.DrawCal`                                         Draw the calendar.
:meth:`~wx.lib.calendar.CalDraw.DrawDayText`                                     Draw the day text.
:meth:`~wx.lib.calendar.CalDraw.DrawFocusIndicator`                              Draw the focus indicator
:meth:`~wx.lib.calendar.CalDraw.DrawGrid`                                        Calculate and draw the grid lines.
:meth:`~wx.lib.calendar.CalDraw.DrawMonth`                                       Draw the month and year titles.
:meth:`~wx.lib.calendar.CalDraw.DrawNum`                                         Draw the day numbers
:meth:`~wx.lib.calendar.CalDraw.DrawNumVal`                                      Draw the numeric values.
:meth:`~wx.lib.calendar.CalDraw.DrawSel`                                         Highlight selected days.
:meth:`~wx.lib.calendar.CalDraw.DrawWeek`                                        Draw the week days.
:meth:`~wx.lib.calendar.CalDraw.GetCal`                                          Get the calendar days.
:meth:`~wx.lib.calendar.CalDraw.GetColor`                                        Get a color.
:meth:`~wx.lib.calendar.CalDraw.GetOffset`                                       Get the offset position.
:meth:`~wx.lib.calendar.CalDraw.GetRect`                                         Get the display rectange list of the day grid.
:meth:`~wx.lib.calendar.CalDraw.InitScale`                                       Set the default scale values.
:meth:`~wx.lib.calendar.CalDraw.InitValues`                                      Default dimensions of various elements of the calendar.
:meth:`~wx.lib.calendar.CalDraw.SetCal`                                          Calculate the calendar days and offset position.
:meth:`~wx.lib.calendar.CalDraw.SetColor`                                        Set a color.
:meth:`~wx.lib.calendar.CalDraw.SetMarg`                                         Set the margins.
:meth:`~wx.lib.calendar.CalDraw.SetPos`                                          Set the position.
:meth:`~wx.lib.calendar.CalDraw.SetSize`                                         Set the size.
:meth:`~wx.lib.calendar.CalDraw.SetWeekColor`                                    Set the font and background color of the week title.
:meth:`~wx.lib.calendar.CalDraw.SetWeekEnd`                                      Set the weekend backgrounds.
================================================================================ ================================================================================


|


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


.. class:: CalDraw

   A class to draw a calendar.

   .. method:: __init__(self, parent)

      Default class constructor
      
      :param wx.Window `parent`: parent window.


   .. method:: AddSelect(self, list, cfont=None, cbackgrd=None)

      Add a selection of days.
      
      :param `list`: a list of days to select
      :param `cfont`: the font color to use
      :param `cbackgrd`: the background color to use


   .. method:: Center(self)

      Calculate the dimensions in the center of the drawing area.


   .. method:: DefParms(self)

      Setup the default parameters.


   .. method:: DrawBorder(self, DC, transparent=False)

      Draw a border around the outside of the main display rectangle.
      
      :param `DC`: the :class:`wx.DC` to use
      :param `transparent`: use a transparent brush, default is ``False``.


   .. method:: DrawCal(self, DC, sel_lst=[])

      Draw the calendar.
      
      :param `DC`: the :class:`wx.DC` to use to draw upon.
      :param `sel_list`: a list of days to override the weekend highlight.


   .. method:: DrawDayText(self, DC, key)

      Draw the day text.
      
      :param `DC`: the :class:`wx.DC` to use.
      :param `key`: the day to draw


   .. method:: DrawFocusIndicator(self, DC)

      Draw the focus indicator
      
      :param `DC`: the :class:`wx.DC` to use


   .. method:: DrawGrid(self, DC)

      Calculate and draw the grid lines.
      
      :param `DC`: the :class:`wx.DC` to use


   .. method:: DrawMonth(self, DC)

      Draw the month and year titles.
      
      :param `DC`: the :class:`wx.DC` to use.


   .. method:: DrawNum(self, DC)

      Draw the day numbers
      
      :param `DC`: the :class:`wx.DC` to use.


   .. method:: DrawNumVal(self)

      Draw the numeric values.


   .. method:: DrawSel(self, DC)

      Highlight selected days.
      
      :param `DC`: the :class:`wx.DC` to use


   .. method:: DrawWeek(self, DC)

      Draw the week days.
      
      :param `DC`: the :class:`wx.DC` to use.


   .. method:: GetCal(self)

      Get the calendar days.


   .. method:: GetColor(self, name)

      Get a color.
      
      :param `name`: one of the defined color names.


   .. method:: GetOffset(self)

      Get the offset position.


   .. method:: GetRect(self)

      Get the display rectange list of the day grid.


   .. method:: InitScale(self)

      Set the default scale values.


   .. method:: InitValues(self)

      Default dimensions of various elements of the calendar.


   .. method:: SetCal(self, year, month)

      Calculate the calendar days and offset position.
      
      :param int `year`: the year to calculate.
      :param int `month`: the month to calculate.


   .. method:: SetColor(self, name, value)

      Set a color.
      
      :param `name`: the name to assign the color too.
      :param `value`: the color to use, see :class:`wx.Colour`


   .. method:: SetMarg(self, xmarg, ymarg)

      Set the margins.
      
      :param `xmarg`: the x margin
      :param `ymarg`: the y margin, also used for the end margin


   .. method:: SetPos(self, xpos, ypos)

      Set the position.
      
      :param int `xpos`: the x position
      :param int `ypos`: the y position


   .. method:: SetSize(self, size)

      Set the size.
      
      :param `size`: a tuple/list with width and height


   .. method:: SetWeekColor(self, font_color, week_color)

      Set the font and background color of the week title.
      
      :param `font_color`: the font color, a value as is accepted by :class:`wx.Colour`
      :param `week_color`: the week color, a value as is accepted by :class:`wx.Colour`


   .. method:: SetWeekEnd(self, font_color=None, backgrd=None)

      Set the weekend backgrounds.
      
      :param `font_color`: the font color to use, if ``None`` the default is used.
      :param `backgrd`: the background color to use, if ``None`` the default is used.