Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
XBMCAddon::xbmcgui::ControlButton Class Reference

#include <Control.h>

Inheritance diagram for XBMCAddon::xbmcgui::ControlButton:
XBMCAddon::xbmcgui::Control XBMCAddon::AddonClass

Public Member Functions

 ControlButton (long x, long y, long width, long height, const String &label, const char *focusTexture=NULL, const char *noFocusTexture=NULL, long textOffsetX=CONTROL_TEXT_OFFSET_X, long textOffsetY=CONTROL_TEXT_OFFSET_Y, long alignment=(XBFONT_LEFT|XBFONT_CENTER_Y), const char *font=NULL, const char *textColor=NULL, const char *disabledColor=NULL, long angle=0, const char *shadowColor=NULL, const char *focusedColor=NULL)
 
 setLabel (...)
 

Function: setLabel([label, font, textColor, disabledColor, shadowColor, focusedColor, label2])


Sets this buttons text attributes.
 
 setDisabledColor (...)
 

Function: setDisabledColor(disabledColor)


Sets this buttons disabled color.
 
 getLabel ()
 

Function: getLabel()


Returns the buttons label as a unicode string.
 
 getLabel2 ()
 

Function: getLabel2()


Returns the buttons label2 as a string.
 
bool canAcceptMessages (int actionId) override
 
CGUIControlCreate () override
 
 ControlButton ()=default
 
- Public Member Functions inherited from XBMCAddon::xbmcgui::Control
 ~Control () override
 
 getId () inline bool operator
 

Function: getId()


Returns the control's current id as an integer.
 
 getX ()
 

Function: getX()


Returns the control's current X position.
 
 getY ()
 

Function: getY()


Returns the control's current Y position.
 
 getHeight ()
 

Function: getHeight()


Returns the control's current height as an integer.
 
 getWidth ()
 

Function: getWidth()


Returns the control's current width as an integer.
 
 setEnabled (...)
 

Function: setEnabled(enabled)


Sets the control's enabled/disabled state.
 
 setVisible (...)
 

Function: setVisible(visible)


Sets the control's visible/hidden state.
 
 isVisible (...)
 

Function: isVisible()


Get the control's visible/hidden state with respect to the container/window
 
 setVisibleCondition (...)
 

Function: setVisibleCondition(visible[,allowHiddenFocus])


Sets the control's visible condition.
 
 setEnableCondition (...)
 

Function: setEnableCondition(enable)


Sets the control's enabled condition.
 
 setAnimations (...)
 

Function: setAnimations([(event, attr,)*])


Sets the control's animations.
 
 setPosition (...)
 

Function: setPosition(x, y)


Sets the controls position.
 
 setWidth (...)
 

Function: setWidth(width)


Sets the controls width.
 
 setHeight (...)
 

Function: setHeight(height)


Sets the controls height.
 
 setNavigation (...)
 

Function: setNavigation(up, down, left, right)


Sets the controls navigation.
 
 controlUp (...)
 

Function: controlUp(control)


Sets the controls up navigation.
 
 controlDown (...)
 

Function: controlDown(control)


Sets the controls down navigation.
 
 controlLeft (...)
 

Function: controlLeft(control)


Sets the controls left navigation.
 
 controlRight (...)
 

Function: controlRight(control)


Sets the controls right navigation.
 
- Public Member Functions inherited from XBMCAddon::AddonClass
 AddonClass ()
 
virtual ~AddonClass ()
 
const char * GetClassname () const
 
LanguageHookGetLanguageHook ()
 
bool isDeallocating ()
 
void Release () const
 
void Acquire () const
 

Public Attributes

int textOffsetX = 0
 
int textOffsetY = 0
 
KODI::UTILS::COLOR::Color align
 
std::string strFont
 
KODI::UTILS::COLOR::Color textColor
 
KODI::UTILS::COLOR::Color disabledColor
 
int iAngle = 0
 
int shadowColor = 0
 
int focusedColor = 0
 
std::string strText
 
std::string strText2
 
std::string strTextureFocus
 
std::string strTextureNoFocus
 
- Public Attributes inherited from XBMCAddon::xbmcgui::Control
int iControlId = 0
 
int iParentId = 0
 
int dwPosX = 0
 
int dwPosY = 0
 
int dwWidth = 0
 
int dwHeight = 0
 
int iControlUp = 0
 
int iControlDown = 0
 
int iControlLeft = 0
 
int iControlRight = 0
 
std::string m_label {}
 
bool m_visible {true}
 
CGUIControlpGUIControl = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from XBMCAddon::AddonClass
static short getNumAddonClasses ()
 
- Protected Member Functions inherited from XBMCAddon::xbmcgui::Control
 Control ()=default
 
- Protected Member Functions inherited from XBMCAddon::AddonClass
virtual void deallocating ()
 
- Static Protected Member Functions inherited from XBMCAddon::AddonClass
static short getNextClassIndex ()
 
- Protected Attributes inherited from XBMCAddon::AddonClass
LanguageHooklanguageHook
 

Detailed Description

    \defgroup python_xbmcgui_control_button Subclass - ControlButton
    \ingroup python_xbmcgui_control
    @{
    @brief <b>A standard push button control.</b>

    \htmlonly <h4><code><span style="font-style: italic;">Class: </span><span style="font-style: bold;"><font color=31363b><big> ControlButton(x, y, width, height, label[, focusTexture, noFocusTexture, textOffsetX, textOffsetY,

/// alignment, font, textColor, disabledColor, angle, shadowColor, focusedColor]) </big></font>

    The button control is used for creating push buttons in Kodi. You can
    choose the position, size, and look of the button, as well as choosing
    what action(s) should be performed when pushed.

    @note This class include also all calls from \ref python_xbmcgui_control "Control"

    @param x                    integer - x coordinate of control.
    @param y                    integer - y coordinate of control.
    @param width                integer - width of control.
    @param height               integer - height of control.
    @param label                string or unicode - text string.
    @param focusTexture         [opt] string - filename for focus
                                    texture.
    @param noFocusTexture       [opt] string - filename for no focus
                                    texture.
    @param textOffsetX          [opt] integer - x offset of label.
    @param textOffsetY          [opt] integer - y offset of label.
    @param alignment            [opt] integer - alignment of label
    - \ref kodi_gui_font_alignment "Flags for alignment" used as bits to have several together:
    | Definition name   |   Bitflag  | Description                         |
    |-------------------|:----------:|:------------------------------------|
    | XBFONT_LEFT       | 0x00000000 | Align X left
    | XBFONT_RIGHT      | 0x00000001 | Align X right
    | XBFONT_CENTER_X   | 0x00000002 | Align X center
    | XBFONT_CENTER_Y   | 0x00000004 | Align Y center
    | XBFONT_TRUNCATED  | 0x00000008 | Truncated text
    | XBFONT_JUSTIFIED  | 0x00000010 | Justify text
    | XBFONT_TRUNCATED_LEFT | 0x00000020 | Truncated text from left
    @param font                 [opt] string - font used for label text.
                                    (e.g. 'font13')
    @param textColor            [opt] hexstring - color of enabled
                                    button's label. (e.g. '0xFFFFFFFF')
    @param disabledColor        [opt] hexstring - color of disabled
                                    button's label. (e.g. '0xFFFF3300')
    @param angle                [opt] integer - angle of control.
                                    (+ rotates CCW, - rotates CW)
    @param shadowColor          [opt] hexstring - color of button's
                                    label's shadow. (e.g. '0xFF000000')
    @param focusedColor         [opt] hexstring - color of focused
                                    button's label. (e.g. '0xFF00FFFF')

    @note You can use the above as keywords for arguments and skip
          certain optional arguments.\n
          Once you use a keyword, all following arguments require
          the keyword.\n
          After you create the control, you need to add it to the
          window with addControl().


   --------------------------------------------------------------------------

    **Example:**
    ~~~~~~~~~~~~~{.py}
    ...
    # ControlButton(x, y, width, height, label[, focusTexture, noFocusTexture, textOffsetX, textOffsetY,
    #               alignment, font, textColor, disabledColor, angle, shadowColor, focusedColor])
    self.button = xbmcgui.ControlButton(100, 250, 200, 50, 'Status', font='font14')
    ...
    ~~~~~~~~~~~~~

Constructor & Destructor Documentation

◆ ControlButton() [1/2]

XBMCAddon::xbmcgui::ControlButton::ControlButton ( long x,
long y,
long width,
long height,
const String & label,
const char * focusTexture = NULL,
const char * noFocusTexture = NULL,
long textOffsetX = CONTROL_TEXT_OFFSET_X,
long textOffsetY = CONTROL_TEXT_OFFSET_Y,
long alignment = (XBFONT_LEFT | XBFONT_CENTER_Y),
const char * font = NULL,
const char * textColor = NULL,
const char * disabledColor = NULL,
long angle = 0,
const char * shadowColor = NULL,
const char * focusedColor = NULL )

◆ ControlButton() [2/2]

XBMCAddon::xbmcgui::ControlButton::ControlButton ( )
default

Member Function Documentation

◆ canAcceptMessages()

bool XBMCAddon::xbmcgui::ControlButton::canAcceptMessages ( int actionId)
inlineoverridevirtual

Reimplemented from XBMCAddon::xbmcgui::Control.

◆ Create()

CGUIControl * XBMCAddon::xbmcgui::ControlButton::Create ( )
overridevirtual

Reimplemented from XBMCAddon::xbmcgui::Control.

◆ getLabel()

String XBMCAddon::xbmcgui::ControlButton::getLabel ( )

Function: getLabel()


Returns the buttons label as a unicode string.

Returns
Unicode string

Example:

...
# getLabel()
label = self.button.getLabel()
...

◆ getLabel2()

String XBMCAddon::xbmcgui::ControlButton::getLabel2 ( )

Function: getLabel2()


Returns the buttons label2 as a string.

Returns
string of label 2

Example:

...
# getLabel2()
label = self.button.getLabel2()
...

◆ setDisabledColor()

void XBMCAddon::xbmcgui::ControlButton::setDisabledColor ( ...)

Function: setDisabledColor(disabledColor)


Sets this buttons disabled color.

Parameters
disabledColorhexstring - color of disabled button's label. (e.g. '0xFFFF3300')

Example:

...
# setDisabledColor(disabledColor)
self.button.setDisabledColor('0xFFFF3300')
...

◆ setLabel()

void XBMCAddon::xbmcgui::ControlButton::setLabel ( ...)

Function: setLabel([label, font, textColor, disabledColor, shadowColor, focusedColor, label2])


Sets this buttons text attributes.

Parameters
label[opt] string or unicode - text string.
font[opt] string - font used for label text. (e.g. 'font13')
textColor[opt] hexstring - color of enabled button's label. (e.g. '0xFFFFFFFF')
disabledColor[opt] hexstring - color of disabled button's label. (e.g. '0xFFFF3300')
shadowColor[opt] hexstring - color of button's label's shadow. (e.g. '0xFF000000')
focusedColor[opt] hexstring - color of focused button's label. (e.g. '0xFFFFFF00')
label2[opt] string or unicode - text string.
Note
You can use the above as keywords for arguments and skip certain optional arguments.
Once you use a keyword, all following arguments require the keyword.

Example:

...
# setLabel([label, font, textColor, disabledColor, shadowColor, focusedColor])
self.button.setLabel('Status', 'font14', '0xFFFFFFFF', '0xFFFF3300', '0xFF000000')
...

Member Data Documentation

◆ align

KODI::UTILS::COLOR::Color XBMCAddon::xbmcgui::ControlButton::align

◆ disabledColor

KODI::UTILS::COLOR::Color XBMCAddon::xbmcgui::ControlButton::disabledColor

◆ focusedColor

int XBMCAddon::xbmcgui::ControlButton::focusedColor = 0

◆ iAngle

int XBMCAddon::xbmcgui::ControlButton::iAngle = 0

◆ shadowColor

int XBMCAddon::xbmcgui::ControlButton::shadowColor = 0

◆ strFont

std::string XBMCAddon::xbmcgui::ControlButton::strFont

◆ strText

std::string XBMCAddon::xbmcgui::ControlButton::strText

◆ strText2

std::string XBMCAddon::xbmcgui::ControlButton::strText2

◆ strTextureFocus

std::string XBMCAddon::xbmcgui::ControlButton::strTextureFocus

◆ strTextureNoFocus

std::string XBMCAddon::xbmcgui::ControlButton::strTextureNoFocus

◆ textColor

KODI::UTILS::COLOR::Color XBMCAddon::xbmcgui::ControlButton::textColor

◆ textOffsetX

int XBMCAddon::xbmcgui::ControlButton::textOffsetX = 0

◆ textOffsetY

int XBMCAddon::xbmcgui::ControlButton::textOffsetY = 0

The documentation for this class was generated from the following files: