atspi_common/events/
terminal.rs

1#[cfg(feature = "zbus")]
2use crate::error::AtspiError;
3#[cfg(feature = "zbus")]
4use crate::EventProperties;
5use crate::{
6	events::{DBusInterface, DBusMatchRule, DBusMember, RegistryEventString},
7	object_ref::ObjectRefOwned,
8};
9#[cfg(feature = "zbus")]
10use zbus::message::Header;
11
12/// A line of text has been changed.
13#[derive(Debug, PartialEq, Clone, serde::Serialize, serde::Deserialize, Eq, Hash, Default)]
14pub struct LineChangedEvent {
15	/// The [`crate::ObjectRef`] which the event applies to.
16	pub item: ObjectRefOwned,
17}
18
19impl_event_type_properties_for_event!(LineChangedEvent);
20
21/// The width of a terminal emulator has changed sufficiently such that the number of characters
22/// able to fit on one *visual* line has changed.
23#[derive(Debug, PartialEq, Clone, serde::Serialize, serde::Deserialize, Eq, Hash, Default)]
24pub struct ColumnCountChangedEvent {
25	/// The [`crate::ObjectRef`] which the event applies to.
26	pub item: ObjectRefOwned,
27}
28
29impl_event_type_properties_for_event!(ColumnCountChangedEvent);
30
31/// The height of a terminal emulator has changed sufficiently such that the number of lines
32/// able to fit within the terminal has changed.
33#[derive(Debug, PartialEq, Clone, serde::Serialize, serde::Deserialize, Eq, Hash, Default)]
34pub struct LineCountChangedEvent {
35	/// The [`crate::ObjectRef`] which the event applies to.
36	pub item: ObjectRefOwned,
37}
38
39impl_event_type_properties_for_event!(LineCountChangedEvent);
40
41#[derive(Debug, PartialEq, Clone, serde::Serialize, serde::Deserialize, Eq, Hash, Default)]
42pub struct ApplicationChangedEvent {
43	/// The [`crate::ObjectRef`] which the event applies to.
44	pub item: ObjectRefOwned,
45}
46
47impl_event_type_properties_for_event!(ApplicationChangedEvent);
48
49/// The width of a terminal emulator has changed sufficiently such that the number of characters
50/// able to fit on one *visual* line has changed.
51#[derive(Debug, PartialEq, Clone, serde::Serialize, serde::Deserialize, Eq, Hash, Default)]
52pub struct CharWidthChangedEvent {
53	/// The [`crate::ObjectRef`] which the event applies to.
54	pub item: ObjectRefOwned,
55}
56
57impl_event_type_properties_for_event!(CharWidthChangedEvent);
58
59impl_member_interface_registry_string_and_match_rule_for_event!(
60	LineChangedEvent,
61	"LineChanged",
62	"org.a11y.atspi.Event.Terminal",
63	"terminal:line-changed",
64	"type='signal',interface='org.a11y.atspi.Event.Terminal',member='LineChanged'"
65);
66
67impl_member_interface_registry_string_and_match_rule_for_event!(
68	ColumnCountChangedEvent,
69	"ColumncountChanged",
70	"org.a11y.atspi.Event.Terminal",
71	"terminal:columncount-changed",
72	"type='signal',interface='org.a11y.atspi.Event.Terminal',member='ColumncountChanged'"
73);
74
75impl_member_interface_registry_string_and_match_rule_for_event!(
76	LineCountChangedEvent,
77	"LinecountChanged",
78	"org.a11y.atspi.Event.Terminal",
79	"terminal:linecount-changed",
80	"type='signal',interface='org.a11y.atspi.Event.Terminal',member='LinecountChanged'"
81);
82
83impl_member_interface_registry_string_and_match_rule_for_event!(
84	ApplicationChangedEvent,
85	"ApplicationChanged",
86	"org.a11y.atspi.Event.Terminal",
87	"terminal:application-changed",
88	"type='signal',interface='org.a11y.atspi.Event.Terminal',member='ApplicationChanged'"
89);
90
91impl_member_interface_registry_string_and_match_rule_for_event!(
92	CharWidthChangedEvent,
93	"CharwidthChanged",
94	"org.a11y.atspi.Event.Terminal",
95	"terminal:char-width-changed",
96	"type='signal',interface='org.a11y.atspi.Event.Terminal',member='CharwidthChanged'"
97);
98
99event_test_cases!(LineChangedEvent);
100impl_to_dbus_message!(LineChangedEvent);
101impl_from_dbus_message!(LineChangedEvent);
102impl_event_properties!(LineChangedEvent);
103impl_from_object_ref!(LineChangedEvent);
104
105event_test_cases!(ColumnCountChangedEvent);
106impl_to_dbus_message!(ColumnCountChangedEvent);
107impl_from_dbus_message!(ColumnCountChangedEvent);
108impl_event_properties!(ColumnCountChangedEvent);
109impl_from_object_ref!(ColumnCountChangedEvent);
110
111event_test_cases!(LineCountChangedEvent);
112impl_to_dbus_message!(LineCountChangedEvent);
113impl_from_dbus_message!(LineCountChangedEvent);
114impl_event_properties!(LineCountChangedEvent);
115impl_from_object_ref!(LineCountChangedEvent);
116
117event_test_cases!(ApplicationChangedEvent);
118impl_to_dbus_message!(ApplicationChangedEvent);
119impl_from_dbus_message!(ApplicationChangedEvent);
120impl_event_properties!(ApplicationChangedEvent);
121impl_from_object_ref!(ApplicationChangedEvent);
122
123event_test_cases!(CharWidthChangedEvent);
124impl_to_dbus_message!(CharWidthChangedEvent);
125impl_from_dbus_message!(CharWidthChangedEvent);
126impl_event_properties!(CharWidthChangedEvent);
127impl_from_object_ref!(CharWidthChangedEvent);
128
129impl_msg_conversion_ext_for_target_type!(LineChangedEvent);
130impl_msg_conversion_ext_for_target_type!(ColumnCountChangedEvent);
131impl_msg_conversion_ext_for_target_type!(LineCountChangedEvent);
132impl_msg_conversion_ext_for_target_type!(ApplicationChangedEvent);
133impl_msg_conversion_ext_for_target_type!(CharWidthChangedEvent);
134
135impl_msg_conversion_for_types_built_from_object_ref!(LineChangedEvent);
136impl_msg_conversion_for_types_built_from_object_ref!(ColumnCountChangedEvent);
137impl_msg_conversion_for_types_built_from_object_ref!(LineCountChangedEvent);
138impl_msg_conversion_for_types_built_from_object_ref!(ApplicationChangedEvent);
139impl_msg_conversion_for_types_built_from_object_ref!(CharWidthChangedEvent);