"""
This type stub file was generated by pyright.
"""

import vtkmodules.vtkRenderingContext2D as __vtkmodules_vtkRenderingContext2D

class vtkChart(__vtkmodules_vtkRenderingContext2D.vtkContextItem):
    """
    vtkChart - Factory class for drawing 2D charts
    
    Superclass: vtkContextItem
    
    This defines the interface for a chart.
    """
    def AddPlot(self, p_int):
        """
        V.AddPlot(int) -> vtkPlot
        C++: virtual vtkPlot *AddPlot(int type)
        V.AddPlot(vtkPlot) -> int
        C++: virtual vtkIdType AddPlot(vtkPlot *plot)
        
        Add a plot to the chart, defaults to using the name of the y
        column
        """
        ...
    
    def ClearPlots(self):
        """
        V.ClearPlots()
        C++: virtual void ClearPlots()
        
        Remove all plots from the chart.
        """
        ...
    
    def GetActionToButton(self, p_int):
        """
        V.GetActionToButton(int) -> int
        C++: virtual int GetActionToButton(int action)
        
        Get the mouse button associated with the supplied action. The
        mouse button enum is from vtkContextMouseEvent, and the action
        enum is from vtkChart.
        """
        ...
    
    def GetAnnotationLink(self):
        """
        V.GetAnnotationLink() -> vtkAnnotationLink
        C++: virtual vtkAnnotationLink *GetAnnotationLink()
        
        Get the vtkAnnotationLink for the chart.
        """
        ...
    
    def GetAutoSize(self):
        """
        V.GetAutoSize() -> bool
        C++: virtual bool GetAutoSize()
        
        Set/get whether the chart should automatically resize to fill the
        current render window. Default is true.
        """
        ...
    
    def GetAxis(self, p_int):
        """
        V.GetAxis(int) -> vtkAxis
        C++: virtual vtkAxis *GetAxis(int axisIndex)
        
        Get the axis specified by axisIndex. 0 is x, 1 is y. This should
        probably be improved either using a string or enum to select the
        axis.
        """
        ...
    
    def GetBackgroundBrush(self):
        """
        V.GetBackgroundBrush() -> vtkBrush
        C++: vtkBrush *GetBackgroundBrush()
        
        Set/Get the brush to use for the background color.
        """
        ...
    
    def GetClickActionToButton(self, p_int):
        """
        V.GetClickActionToButton(int) -> int
        C++: virtual int GetClickActionToButton(int action)
        
        Get the mouse button associated with the supplied click action.
        The mouse button enum is from vtkContextMouseEvent, and the
        action enum is from vtkChart.
        """
        ...
    
    def GetGeometry(self):
        """
        V.GetGeometry() -> (int, int)
        C++: virtual int *GetGeometry()
        
        Set/get the width and the height of the chart.
        """
        ...
    
    def GetLayoutStrategy(self):
        """
        V.GetLayoutStrategy() -> int
        C++: virtual int GetLayoutStrategy()
        
        Set/get the layout strategy that should be used by the chart. As
        we don't support enums this can take any value in the integer
        range, but the only valid enums are FILL_SCENE, FILL_RECT and
        AXES_TO_RECT.
        """
        ...
    
    def GetLegend(self):
        """
        V.GetLegend() -> vtkChartLegend
        C++: virtual vtkChartLegend *GetLegend()
        
        Get the legend for the chart, if available. Can return null if
        there is no legend.
        """
        ...
    
    def GetNumberOfAxes(self):
        """
        V.GetNumberOfAxes() -> int
        C++: virtual vtkIdType GetNumberOfAxes()
        
        Get the number of axes in the current chart.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfPlots(self):
        """
        V.GetNumberOfPlots() -> int
        C++: virtual vtkIdType GetNumberOfPlots()
        
        Get the number of plots the chart contains.
        """
        ...
    
    def GetPlot(self, p_int):
        """
        V.GetPlot(int) -> vtkPlot
        C++: virtual vtkPlot *GetPlot(vtkIdType index)
        
        Get the plot at the specified index, returns null if the index is
        invalid.
        """
        ...
    
    def GetPoint1(self):
        """
        V.GetPoint1() -> (int, int)
        C++: virtual int *GetPoint1()
        
        Set/get the first point in the chart (the bottom left).
        """
        ...
    
    def GetPoint2(self):
        """
        V.GetPoint2() -> (int, int)
        C++: virtual int *GetPoint2()
        
        Set/get the second point in the chart (the top right).
        """
        ...
    
    def GetRenderEmpty(self):
        """
        V.GetRenderEmpty() -> bool
        C++: virtual bool GetRenderEmpty()
        
        Set/get whether the chart should still render its axes and
        decorations even if the chart has no visible plots. Default is
        false (do not render an empty plot).
        
        * Note that if you wish to render axes for an empty plot you
          should also
        * set AutoSize to false, as that will hide all axes for an empty
          plot.
        """
        ...
    
    def GetSelectionMethod(self):
        """
        V.GetSelectionMethod() -> int
        C++: virtual int GetSelectionMethod()
        
        Set the selection method, which controls how selections are
        handled by the chart. The default is SELECTION_ROWS which selects
        all points in all plots in a chart that have values in the rows
        selected. SELECTION_PLOTS allows for finer-grained selections
        specific to each plot, and so to each XY column pair.
        SELECTION_COLUMNS selects all points of plots that correspond to
        selected columns.
        """
        ...
    
    def GetSelectionMode(self):
        """
        V.GetSelectionMode() -> int
        C++: virtual int GetSelectionMode()
        
        Set/get the Selection Mode that will be used by the chart while
        doing selection. The only valid enums are
        vtkContextScene::SELECTION_NONE, SELECTION_DEFAULT,
        SELECTION_ADDITION, SELECTION_SUBTRACTION, SELECTION_TOGGLE
        """
        ...
    
    def GetShowLegend(self):
        """
        V.GetShowLegend() -> bool
        C++: virtual bool GetShowLegend()
        
        Set/get whether the chart should draw a legend.
        """
        ...
    
    def GetSize(self):
        """
        V.GetSize() -> vtkRectf
        C++: vtkRectf GetSize()
        
        Get the current size of the chart.
        """
        ...
    
    def GetTitle(self):
        """
        V.GetTitle() -> string
        C++: virtual vtkStdString GetTitle()
        
        Get/set the title text of the chart.
        """
        ...
    
    def GetTitleProperties(self):
        """
        V.GetTitleProperties() -> vtkTextProperty
        C++: virtual vtkTextProperty *GetTitleProperties()
        
        Get the vtkTextProperty that governs how the chart title is
        displayed.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkChart
        C++: vtkChart *NewInstance()
        """
        ...
    
    def Paint(self, vtkContext2D):
        """
        V.Paint(vtkContext2D) -> bool
        C++: bool Paint(vtkContext2D *painter) override = 0;
        
        Paint event for the chart, called whenever the chart needs to be
        drawn
        """
        ...
    
    def RecalculateBounds(self):
        """
        V.RecalculateBounds()
        C++: virtual void RecalculateBounds()
        
        Request that the chart recalculates the range of its axes.
        Especially useful in applications after the parameters of plots
        have been modified.
        """
        ...
    
    def RemovePlot(self, p_int):
        """
        V.RemovePlot(int) -> bool
        C++: virtual bool RemovePlot(vtkIdType index)
        
        Remove the plot at the specified index, returns true if
        successful, false if the index was invalid.
        """
        ...
    
    def RemovePlotInstance(self, vtkPlot):
        """
        V.RemovePlotInstance(vtkPlot) -> bool
        C++: virtual bool RemovePlotInstance(vtkPlot *plot)
        
        Remove the given plot.  Returns true if successful, false if the
        plot was not contained in this chart.  Note, the base
        implementation of this method performs a linear search to locate
        the plot.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkChart
        C++: static vtkChart *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetActionToButton(self, p_int, p_int_1):
        """
        V.SetActionToButton(int, int)
        C++: virtual void SetActionToButton(int action, int button)
        
        Assign action types to mouse buttons. Available action types are
        PAN, ZOOM and SELECT in the chart enum, the default assigns the
        LEFT_BUTTON to PAN, MIDDLE_BUTTON to ZOOM and RIGHT_BUTTON to
        SELECT. Valid mouse enums are in the vtkContextMouseEvent class.
        
        * Note that only one mouse button can be assigned to each action,
        an action
        * will have -1 (invalid button) assigned if it had the same
          button as the one
        * assigned to a different action.
        """
        ...
    
    def SetAnnotationLink(self, vtkAnnotationLink):
        """
        V.SetAnnotationLink(vtkAnnotationLink)
        C++: virtual void SetAnnotationLink(vtkAnnotationLink *link)
        
        Set the vtkAnnotationLink for the chart.
        """
        ...
    
    def SetAutoSize(self, bool):
        """
        V.SetAutoSize(bool)
        C++: virtual void SetAutoSize(bool isAutoSized)
        
        Set/get whether the chart should automatically resize to fill the
        current render window. Default is true.
        """
        ...
    
    def SetAxis(self, p_int, vtkAxis):
        """
        V.SetAxis(int, vtkAxis)
        C++: virtual void SetAxis(int axisIndex, vtkAxis *)
        
        Set the axis specified by axisIndex. 0 is x, 1 is y. This should
        probably be improved either using a string or enum to select the
        axis.
        """
        ...
    
    def SetBackgroundBrush(self, vtkBrush):
        """
        V.SetBackgroundBrush(vtkBrush)
        C++: void SetBackgroundBrush(vtkBrush *brush)
        
        Set/Get the brush to use for the background color.
        """
        ...
    
    def SetBorders(self, p_int, p_int_1, p_int_2, p_int_3):
        """
        V.SetBorders(int, int, int, int)
        C++: void SetBorders(int left, int bottom, int right, int top)
        
        Set/get the borders of the chart (space in pixels around the
        chart).
        """
        ...
    
    def SetBottomBorder(self, p_int):
        """
        V.SetBottomBorder(int)
        C++: void SetBottomBorder(int border)
        
        Set/get the borders of the chart (space in pixels around the
        chart).
        """
        ...
    
    def SetClickActionToButton(self, p_int, p_int_1):
        """
        V.SetClickActionToButton(int, int)
        C++: virtual void SetClickActionToButton(int action, int button)
        
        Assign action types to single mouse clicks. Available action
        types are SELECT and NOTIFY in the chart enum. The default
        assigns the LEFT_BUTTON to NOTIFY, and the RIGHT_BUTTON to
        SELECT.
        """
        ...
    
    def SetGeometry(self, p_int, p_int_1):
        """
        V.SetGeometry(int, int)
        C++: virtual void SetGeometry(int _arg1, int _arg2)
        V.SetGeometry((int, int))
        C++: void SetGeometry(const int _arg[2])
        
        Set/get the width and the height of the chart.
        """
        ...
    
    def SetLayoutStrategy(self, p_int):
        """
        V.SetLayoutStrategy(int)
        C++: virtual void SetLayoutStrategy(int _arg)
        
        Set/get the layout strategy that should be used by the chart. As
        we don't support enums this can take any value in the integer
        range, but the only valid enums are FILL_SCENE, FILL_RECT and
        AXES_TO_RECT.
        """
        ...
    
    def SetLeftBorder(self, p_int):
        """
        V.SetLeftBorder(int)
        C++: void SetLeftBorder(int border)
        
        Set/get the borders of the chart (space in pixels around the
        chart).
        """
        ...
    
    def SetPoint1(self, p_int, p_int_1):
        """
        V.SetPoint1(int, int)
        C++: virtual void SetPoint1(int _arg1, int _arg2)
        V.SetPoint1((int, int))
        C++: void SetPoint1(const int _arg[2])
        
        Set/get the first point in the chart (the bottom left).
        """
        ...
    
    def SetPoint2(self, p_int, p_int_1):
        """
        V.SetPoint2(int, int)
        C++: virtual void SetPoint2(int _arg1, int _arg2)
        V.SetPoint2((int, int))
        C++: void SetPoint2(const int _arg[2])
        
        Set/get the second point in the chart (the top right).
        """
        ...
    
    def SetRenderEmpty(self, bool):
        """
        V.SetRenderEmpty(bool)
        C++: virtual void SetRenderEmpty(bool _arg)
        
        Set/get whether the chart should still render its axes and
        decorations even if the chart has no visible plots. Default is
        false (do not render an empty plot).
        
        * Note that if you wish to render axes for an empty plot you
          should also
        * set AutoSize to false, as that will hide all axes for an empty
          plot.
        """
        ...
    
    def SetRightBorder(self, p_int):
        """
        V.SetRightBorder(int)
        C++: void SetRightBorder(int border)
        
        Set/get the borders of the chart (space in pixels around the
        chart).
        """
        ...
    
    def SetSelectionMethod(self, p_int):
        """
        V.SetSelectionMethod(int)
        C++: virtual void SetSelectionMethod(int method)
        
        Set the selection method, which controls how selections are
        handled by the chart. The default is SELECTION_ROWS which selects
        all points in all plots in a chart that have values in the rows
        selected. SELECTION_PLOTS allows for finer-grained selections
        specific to each plot, and so to each XY column pair.
        SELECTION_COLUMNS selects all points of plots that correspond to
        selected columns.
        """
        ...
    
    def SetSelectionMode(self, p_int):
        """
        V.SetSelectionMode(int)
        C++: virtual void SetSelectionMode(int)
        
        Set/get the Selection Mode that will be used by the chart while
        doing selection. The only valid enums are
        vtkContextScene::SELECTION_NONE, SELECTION_DEFAULT,
        SELECTION_ADDITION, SELECTION_SUBTRACTION, SELECTION_TOGGLE
        """
        ...
    
    def SetShowLegend(self, bool):
        """
        V.SetShowLegend(bool)
        C++: virtual void SetShowLegend(bool visible)
        
        Set/get whether the chart should draw a legend.
        """
        ...
    
    def SetSize(self, vtkRectf):
        """
        V.SetSize(vtkRectf)
        C++: void SetSize(const vtkRectf &rect)
        
        Set the size of the chart. The rect argument specifies the bottom
        corner, width and height of the chart. The borders will be laid
        out within the specified rectangle.
        """
        ...
    
    def SetTitle(self, string):
        """
        V.SetTitle(string)
        C++: virtual void SetTitle(const vtkStdString &title)
        
        Get/set the title text of the chart.
        """
        ...
    
    def SetTopBorder(self, p_int):
        """
        V.SetTopBorder(int)
        C++: void SetTopBorder(int border)
        
        Set/get the borders of the chart (space in pixels around the
        chart).
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    AREA = ...
    AXES_TO_RECT = ...
    BAG = ...
    BAR = ...
    CLICK_AND_DRAG = ...
    EventIds = ...
    FILL_RECT = ...
    FILL_SCENE = ...
    FUNCTIONALBAG = ...
    LINE = ...
    NOTIFY = ...
    PAN = ...
    POINTS = ...
    SELECT = ...
    SELECTION_COLUMNS = ...
    SELECTION_PLOTS = ...
    SELECTION_ROWS = ...
    SELECT_POLYGON = ...
    SELECT_RECTANGLE = ...
    STACKED = ...
    UpdateRange = ...
    ZOOM = ...
    ZOOM_AXIS = ...
    __dict__ = ...
    __vtkname__ = ...


