ButtonThrower
from panda3d.core import ButtonThrower
- class ButtonThrower
Bases:
Bases:
DataNode
Throws Panda Events for button down/up events generated within the data graph.
This is a
DataNode
which is intended to be parented to the data graph below a device which is generating a sequence of button events, like aMouseAndKeyboard
device. It simply takes each button it finds and throws a corresponding event based on the button name via the throw_event() call.Inheritance diagram
- __init__(param0: ButtonThrower)
- __init__(name: str)
- add_parameter(obj: EventParameter)
Adds the indicated parameter to the list of parameters that will be passed with each event generated by this
ButtonThrower
.
- add_throw_button(mods: ModifierButtons, button: ButtonHandle) → bool
Adds a new button to the set of buttons that the
ButtonThrower
explicitly processes.If
set_throw_buttons_active()
is false (which is the default), theButtonThrower
will process all buttons. Otherwise, theButtonThrower
will only process events for the button(s) explicitly named by this function; buttons not on the list will be ignored by this object and passed on downstream to the child node(s) in the data graph. A button that is on the list will be processed by theButtonThrower
and not passed on to the child node(s).The return value is true if the button is added, or false if it was already in the set.
- property button_down_event → string
- Getter
Returns the button_down_event that has been set on this
ButtonThrower
. Seeset_button_down_event()
.- Setter
Specifies the generic event that is generated (if any) each time a key or button is depressed. Unlike the specific events that are unique to each key, this same event name is used for all button events, and the name of the button pressed (possibly with modifier prefixes) will be sent as a parameter.
If this string is empty, no event is generated. It is possible to generate both generic events and specific events for the same button.
See also
set_keystroke_event()
.
- property button_repeat_event → string
- Getter
Returns the button_repeat_event that has been set on this
ButtonThrower
. Seeset_button_repeat_event()
.- Setter
Specifies the generic event that is generated (if any) repeatedly while a key or button is held down. Unlike the specific events that are unique to each key, this same event name is used for all button events, and the name of the button pressed (possibly with modifier prefixes) will be sent as a parameter.
If this string is empty, no event is generated. It is possible to generate both generic events and specific events for the same button.
See also
set_keystroke_event()
.
- property button_up_event → string
- Getter
Returns the button_up_event that has been set on this
ButtonThrower
. Seeset_button_up_event()
.- Setter
Specifies the generic event that is generated (if any) each time a key or button is released. See
set_button_down_event()
.
- property candidate_event → string
- Getter
Returns the candidate_event that has been set on this
ButtonThrower
. Seeset_candidate_event()
.- Setter
Specifies the event that is generated (if any) for each IME candidate string event received. Events of this nature are received only when the user is entering data using a Microsoft Input Method Editor, typically used for Asian languages such as Japanese or Korean.
If you are designing a typing user interface, you should track this event to support the use of the IME. In response to this event, you should display the candidate string in the entry box, with the appropriate sections highlighted, so the user can scroll through the available choices.
This event is generated with four parameters, in order: the candidate string, the character at which to start the highlight, the character at which to end the highlight, and the current cursor position.
- clear_throw_buttons()
Empties the set of buttons that were added via
add_throw_button()
. Seeadd_throw_button()
.
- get_button_down_event() → str
Returns the button_down_event that has been set on this
ButtonThrower
. Seeset_button_down_event()
.
- get_button_repeat_event() → str
Returns the button_repeat_event that has been set on this
ButtonThrower
. Seeset_button_repeat_event()
.
- get_button_up_event() → str
Returns the button_up_event that has been set on this
ButtonThrower
. Seeset_button_up_event()
.
- get_candidate_event() → str
Returns the candidate_event that has been set on this
ButtonThrower
. Seeset_candidate_event()
.
- static get_class_type() → TypeHandle
- get_keystroke_event() → str
Returns the keystroke_event that has been set on this
ButtonThrower
. Seeset_keystroke_event()
.
- get_modifier_buttons() → ModifierButtons
Returns the set of
ModifierButtons
that theButtonThrower
will consider important enough to prepend the event name with. Normally, this set will be empty, and theButtonThrower
will therefore ignore allModifierButtons
attached to the key events, but if one or more buttons have been added to this set, and those modifier buttons are set on the button event, then the event name will be prepended with the names of the modifier buttons.
- get_move_event() → str
Returns the move_event that has been set on this
ButtonThrower
. Seeset_move_event()
.
- get_num_parameters() → int
Returns the number of parameters that have been added to the list of parameters to be passed with each event generated by this
ButtonThrower
.
- get_parameter(n: int) → EventParameter
Returns the nth parameter that has been added to the list of parameters passed with each event generated by this
ButtonThrower
.
- get_prefix() → str
Returns the prefix that has been set on this
ButtonThrower
. Seeset_prefix()
.
- get_raw_button_down_event() → str
Returns the raw_button_down_event that has been set on this
ButtonThrower
. Seeset_raw_button_down_event()
.
- get_raw_button_up_event() → str
Returns the raw_button_up_event that has been set on this
ButtonThrower
. Seeset_raw_button_up_event()
.
- get_specific_flag() → bool
Returns the flag that indicates whether specific events should be generated. See
set_specific_flag()
.
- get_throw_buttons_active() → bool
Returns the flag that indicates whether the
ButtonThrower
will only process events for the explicitly named buttons or not. Seeset_throw_buttons_active()
.
- get_time_flag() → bool
Returns the flag that indicates whether the time of the button event should be passed as a parameter.
- has_throw_button(button: ButtonHandle) → bool
Returns true if the indicated button, in conjunction with any nonspecified modifier buttons, is on the set of buttons that will be processed by the
ButtonThrower
. That is to say, returns true if this button was ever passed as the second parameteradd_throw_button()
, regardless of what the first parameter was.
- has_throw_button(mods: ModifierButtons, button: ButtonHandle) → bool
Returns true if the indicated button is on the set of buttons that will be processed by the
ButtonThrower
, false otherwise. Seeadd_throw_button()
.
- property keystroke_event → string
- Getter
Returns the keystroke_event that has been set on this
ButtonThrower
. Seeset_keystroke_event()
.- Setter
Specifies the event that is generated (if any) for each keystroke that is received. A keystroke is different than a button event: it represents the semantic meaning of the sequence of keys that have been pressed. For instance, pressing shift and 4 together will generate the button event “shift-4”, but it will generate the keystroke “$”.
If a key is held down, keyrepeat will cause the same keystroke event to be generated repeatedly. This is different from the corresponding down event, which will only be generated once, followed by a number of button repeat events.
This event is generated with a single wstring parameter, which is a one- character string that contains the keystroke generated. If this event string is empty, no event is generated.
See also
set_button_down_event()
.
- property modifier_buttons → ModifierButtons
- Getter
Returns the set of
ModifierButtons
that theButtonThrower
will consider important enough to prepend the event name with. Normally, this set will be empty, and theButtonThrower
will therefore ignore allModifierButtons
attached to the key events, but if one or more buttons have been added to this set, and those modifier buttons are set on the button event, then the event name will be prepended with the names of the modifier buttons.- Setter
Changes the set of
ModifierButtons
that theButtonThrower
will consider important enough to prepend the event name with. Normally, this set will be empty, and theButtonThrower
will therefore ignore allModifierButtons
attached to the key events, but if one or more buttons have been added to this set, then the event name will be prepended with the names of the modifier buttons.It is recommended that you change this setting by first calling
get_modifier_buttons()
, making adjustments, and passing the new value toset_modifier_buttons()
. This way the current state of the modifier buttons will not be lost.
- property move_event → string
- Getter
Returns the move_event that has been set on this
ButtonThrower
. Seeset_move_event()
.- Setter
Specifies the event that is generated (if any) each time the mouse is moved within the window.
- property parameters → Sequence[EventParameter]
Returns the nth parameter that has been added to the list of parameters passed with each event generated by this
ButtonThrower
.
- property prefix → string
- Getter
Returns the prefix that has been set on this
ButtonThrower
. Seeset_prefix()
.- Setter
Sets the prefix which is prepended to all specific event names (that is, event names generated from the button name itself, as opposed to the generic event names like
set_button_down_event()
) thrown by this object.
- property raw_button_down_event → string
- Getter
Returns the raw_button_down_event that has been set on this
ButtonThrower
. Seeset_raw_button_down_event()
.- Setter
Like
set_button_down_event()
, but uses the raw, untransformed scan key from the operating system. This uses buttons that are independent of the user’s selected keyboard layout.
- property raw_button_up_event → string
- Getter
Returns the raw_button_up_event that has been set on this
ButtonThrower
. Seeset_raw_button_up_event()
.- Setter
Specifies the generic event that is generated (if any) each time a key or button is released. See
set_raw_button_down_event()
.
- remove_throw_button(mods: ModifierButtons, button: ButtonHandle) → bool
Removes the indicated button from the set of buttons that the
ButtonThrower
explicitly processes. Seeadd_throw_button()
.The return value is true if the button is removed, or false if it was not on the set.
- set_button_down_event(button_down_event: str)
Specifies the generic event that is generated (if any) each time a key or button is depressed. Unlike the specific events that are unique to each key, this same event name is used for all button events, and the name of the button pressed (possibly with modifier prefixes) will be sent as a parameter.
If this string is empty, no event is generated. It is possible to generate both generic events and specific events for the same button.
See also
set_keystroke_event()
.
- set_button_repeat_event(button_repeat_event: str)
Specifies the generic event that is generated (if any) repeatedly while a key or button is held down. Unlike the specific events that are unique to each key, this same event name is used for all button events, and the name of the button pressed (possibly with modifier prefixes) will be sent as a parameter.
If this string is empty, no event is generated. It is possible to generate both generic events and specific events for the same button.
See also
set_keystroke_event()
.
- set_button_up_event(button_up_event: str)
Specifies the generic event that is generated (if any) each time a key or button is released. See
set_button_down_event()
.
- set_candidate_event(candidate_event: str)
Specifies the event that is generated (if any) for each IME candidate string event received. Events of this nature are received only when the user is entering data using a Microsoft Input Method Editor, typically used for Asian languages such as Japanese or Korean.
If you are designing a typing user interface, you should track this event to support the use of the IME. In response to this event, you should display the candidate string in the entry box, with the appropriate sections highlighted, so the user can scroll through the available choices.
This event is generated with four parameters, in order: the candidate string, the character at which to start the highlight, the character at which to end the highlight, and the current cursor position.
- set_keystroke_event(keystroke_event: str)
Specifies the event that is generated (if any) for each keystroke that is received. A keystroke is different than a button event: it represents the semantic meaning of the sequence of keys that have been pressed. For instance, pressing shift and 4 together will generate the button event “shift-4”, but it will generate the keystroke “$”.
If a key is held down, keyrepeat will cause the same keystroke event to be generated repeatedly. This is different from the corresponding down event, which will only be generated once, followed by a number of button repeat events.
This event is generated with a single wstring parameter, which is a one- character string that contains the keystroke generated. If this event string is empty, no event is generated.
See also
set_button_down_event()
.
- set_modifier_buttons(mods: ModifierButtons)
Changes the set of
ModifierButtons
that theButtonThrower
will consider important enough to prepend the event name with. Normally, this set will be empty, and theButtonThrower
will therefore ignore allModifierButtons
attached to the key events, but if one or more buttons have been added to this set, then the event name will be prepended with the names of the modifier buttons.It is recommended that you change this setting by first calling
get_modifier_buttons()
, making adjustments, and passing the new value to set_modifier_buttons(). This way the current state of the modifier buttons will not be lost.
- set_move_event(move_event: str)
Specifies the event that is generated (if any) each time the mouse is moved within the window.
- set_prefix(prefix: str)
Sets the prefix which is prepended to all specific event names (that is, event names generated from the button name itself, as opposed to the generic event names like
set_button_down_event()
) thrown by this object.
- set_raw_button_down_event(raw_button_down_event: str)
Like
set_button_down_event()
, but uses the raw, untransformed scan key from the operating system. This uses buttons that are independent of the user’s selected keyboard layout.
- set_raw_button_up_event(raw_button_up_event: str)
Specifies the generic event that is generated (if any) each time a key or button is released. See
set_raw_button_down_event()
.
- set_specific_flag(specific_flag: bool)
Sets the flag that indicates whether specific events (events prefixed by
set_prefix()
, and based on the event name) should be generated at all. This is true by default, but may be disabled if you are only interested in the generic events (for instance, events likeset_button_down_event()
).
- set_throw_buttons_active(flag: bool)
Sets the flag that indicates whether the
ButtonThrower
will only process events for the explicitly named buttons or not. Normally this is false, meaning all buttons are processed; set it true to indicate that only some buttons should be processed. Seeadd_throw_button()
.
- set_time_flag(time_flag: bool)
Sets the flag that indicates whether the time of the button event should be passed as a parameter or not. When this is true, an additional parameter is generated on each event (before all the parameters named by
add_parameter()
) that consists of a single double value, and reflects the time the button was pressed or released, as a value fromClockObject.get_global_clock()
.
- property specific_flag → bool
- Getter
Returns the flag that indicates whether specific events should be generated. See
set_specific_flag()
.- Setter
Sets the flag that indicates whether specific events (events prefixed by
set_prefix()
, and based on the event name) should be generated at all. This is true by default, but may be disabled if you are only interested in the generic events (for instance, events likeset_button_down_event()
).
- property throw_buttons_active → bool
- Getter
Returns the flag that indicates whether the
ButtonThrower
will only process events for the explicitly named buttons or not. Seeset_throw_buttons_active()
.- Setter
Sets the flag that indicates whether the
ButtonThrower
will only process events for the explicitly named buttons or not. Normally this is false, meaning all buttons are processed; set it true to indicate that only some buttons should be processed. Seeadd_throw_button()
.
- property time_flag → bool
- Getter
Returns the flag that indicates whether the time of the button event should be passed as a parameter.
- Setter
Sets the flag that indicates whether the time of the button event should be passed as a parameter or not. When this is true, an additional parameter is generated on each event (before all the parameters named by
add_parameter()
) that consists of a single double value, and reflects the time the button was pressed or released, as a value fromClockObject.get_global_clock()
.