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

from .vtkWidgetRepresentation import vtkWidgetRepresentation

class vtkButtonRepresentation(vtkWidgetRepresentation):
    """
    vtkButtonRepresentation - abstract class defines the representation
    for a vtkButtonWidget
    
    Superclass: vtkWidgetRepresentation
    
    This abstract class is used to specify how the vtkButtonWidget should
    interact with representations of the vtkButtonWidget. This class may
    be subclassed so that alternative representations can be created. The
    class defines an API, and a default implementation, that the
    vtkButtonWidget interacts with to render itself in the scene.
    
    The vtkButtonWidget assumes an n-state button so that traversal
    methods are available for changing, querying and manipulating state.
    Derived classed determine the actual appearance. The state is
    represented by an integral value 0<=state<numStates.
    
    To use this representation, always begin by specifying the number of
    states. Then follow with the necessary information to represent each
    state (done through a subclass API).
    
    @sa
    vtkButtonWidget
    """
    def GetHighlightState(self):
        """
        V.GetHighlightState() -> int
        C++: virtual int GetHighlightState()
        
        These methods control the appearance of the button as it is being
        interacted with. Subclasses will behave differently depending on
        their particulars.  HighlightHovering is used when the mouse
        pointer moves over the button. HighlightSelecting is set when the
        button is selected. Otherwise, the HighlightNormal is used. The
        Highlight() method will throw a vtkCommand::HighlightEvent.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods for the class.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods for the class.
        """
        ...
    
    def GetNumberOfStatesMaxValue(self):
        """
        V.GetNumberOfStatesMaxValue() -> int
        C++: virtual int GetNumberOfStatesMaxValue()
        
        Retrieve the current button state.
        """
        ...
    
    def GetNumberOfStatesMinValue(self):
        """
        V.GetNumberOfStatesMinValue() -> int
        C++: virtual int GetNumberOfStatesMinValue()
        
        Retrieve the current button state.
        """
        ...
    
    def GetState(self):
        """
        V.GetState() -> int
        C++: virtual int GetState()
        
        Retrieve the current button state.
        """
        ...
    
    def Highlight(self, p_int):
        """
        V.Highlight(int)
        C++: void Highlight(int) override;
        
        These methods control the appearance of the button as it is being
        interacted with. Subclasses will behave differently depending on
        their particulars.  HighlightHovering is used when the mouse
        pointer moves over the button. HighlightSelecting is set when the
        button is selected. Otherwise, the HighlightNormal is used. The
        Highlight() method will throw a vtkCommand::HighlightEvent.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods for the class.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods for the class.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkButtonRepresentation
        C++: vtkButtonRepresentation *NewInstance()
        
        Standard methods for the class.
        """
        ...
    
    def NextState(self):
        """
        V.NextState()
        C++: virtual void NextState()
        
        Manipulate the state. Note that the NextState() and
        PreviousState() methods use modulo traversal. The "state"
        integral value will be clamped within the possible state values
        (0<=state<NumberOfStates). Note that subclasses will override
        these methods in many cases.
        """
        ...
    
    def PreviousState(self):
        """
        V.PreviousState()
        C++: virtual void PreviousState()
        
        Manipulate the state. Note that the NextState() and
        PreviousState() methods use modulo traversal. The "state"
        integral value will be clamped within the possible state values
        (0<=state<NumberOfStates). Note that subclasses will override
        these methods in many cases.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkButtonRepresentation
        C++: static vtkButtonRepresentation *SafeDownCast(
            vtkObjectBase *o)
        
        Standard methods for the class.
        """
        ...
    
    def SetNumberOfStates(self, p_int):
        """
        V.SetNumberOfStates(int)
        C++: virtual void SetNumberOfStates(int _arg)
        
        Retrieve the current button state.
        """
        ...
    
    def SetState(self, p_int):
        """
        V.SetState(int)
        C++: virtual void SetState(int state)
        
        Manipulate the state. Note that the NextState() and
        PreviousState() methods use modulo traversal. The "state"
        integral value will be clamped within the possible state values
        (0<=state<NumberOfStates). Note that subclasses will override
        these methods in many cases.
        """
        ...
    
    def ShallowCopy(self, vtkProp):
        """
        V.ShallowCopy(vtkProp)
        C++: void ShallowCopy(vtkProp *prop) override;
        
        Satisfy some of vtkProp's API.
        """
        ...
    
    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__ = ...
    HighlightHovering = ...
    HighlightNormal = ...
    HighlightSelecting = ...
    Inside = ...
    Outside = ...
    _HighlightState = ...
    _InteractionState = ...
    __dict__ = ...
    __vtkname__ = ...


