Skip to main content

StateType

Enum StateType 

Source
#[non_exhaustive]
pub enum StateType {
Show 44 variants Invalid, Active, Armed, Busy, Checked, Defunct, Editable, Enabled, Expandable, Expanded, Focusable, Focused, Horizontal, Iconified, Modal, MultiLine, Multiselectable, Opaque, Pressed, Resizable, Selectable, Selected, Sensitive, Showing, SingleLine, Stale, Transient, Vertical, Visible, ManagesDescendants, Indeterminate, Truncated, Required, InvalidEntry, SupportsAutocompletion, SelectableText, Default, Animated, Visited, Checkable, HasPopup, HasTooltip, ReadOnly, Collapsed,
}
Expand description

The possible types of states of an object

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Invalid

Indicates an invalid state - probably an error condition.

§

Active

Indicates a window is currently the active window, or an object is the active subelement within a container or table. ATK_STATE_ACTIVE should not be used for objects which have ATK_STATE_FOCUSABLE or ATK_STATE_SELECTABLE: Those objects should use ATK_STATE_FOCUSED and ATK_STATE_SELECTED respectively. ATK_STATE_ACTIVE is a means to indicate that an object which is not focusable and not selectable is the currently-active item within its parent container.

§

Armed

Indicates that the object is ‘armed’, i.e. will be activated by if a pointer button-release event occurs within its bounds. Buttons often enter this state when a pointer click occurs within their bounds, as a precursor to activation. ATK_STATE_ARMED has been deprecated since ATK-2.16 and should not be used in newly-written code.

§

Busy

Indicates the current object is busy, i.e. onscreen representation is in the process of changing, or the object is temporarily unavailable for interaction due to activity already in progress. This state may be used by implementors of Document to indicate that content loading is underway. It also may indicate other ‘pending’ conditions; clients may wish to interrogate this object when the ATK_STATE_BUSY flag is removed.

§

Checked

Indicates this object is currently checked, for instance a checkbox is ‘non-empty’.

§

Defunct

Indicates that this object no longer has a valid backing widget (for instance, if its peer object has been destroyed)

§

Editable

Indicates that this object can contain text, and that the user can change the textual contents of this object by editing those contents directly. For an object which is expected to be editable due to its type, but which cannot be edited due to the application or platform preventing the user from doing so, that object’s StateSet should lack ATK_STATE_EDITABLE and should contain ATK_STATE_READ_ONLY.

§

Enabled

Indicates that this object is enabled, i.e. that it currently reflects some application state. Objects that are “greyed out” may lack this state, and may lack the STATE_SENSITIVE if direct user interaction cannot cause them to acquire STATE_ENABLED. See also: ATK_STATE_SENSITIVE

§

Expandable

Indicates this object allows progressive disclosure of its children

§

Expanded

Indicates this object its expanded - see ATK_STATE_EXPANDABLE above

§

Focusable

Indicates this object can accept keyboard focus, which means all events resulting from typing on the keyboard will normally be passed to it when it has focus

§

Focused

Indicates this object currently has the keyboard focus

§

Horizontal

Indicates the orientation of this object is horizontal; used, for instance, by objects of ATK_ROLE_SCROLL_BAR. For objects where vertical/horizontal orientation is especially meaningful.

§

Iconified

Indicates this object is minimized and is represented only by an icon

§

Modal

Indicates something must be done with this object before the user can interact with an object in a different window

§

MultiLine

Indicates this (text) object can contain multiple lines of text

§

Multiselectable

Indicates this object allows more than one of its children to be selected at the same time, or in the case of text objects, that the object supports non-contiguous text selections.

§

Opaque

Indicates this object paints every pixel within its rectangular region.

§

Pressed

Indicates this object is currently pressed.

§

Resizable

Indicates the size of this object is not fixed

§

Selectable

Indicates this object is the child of an object that allows its children to be selected and that this child is one of those children that can be selected

§

Selected

Indicates this object is the child of an object that allows its children to be selected and that this child is one of those children that has been selected

§

Sensitive

Indicates this object is sensitive, e.g. to user interaction. STATE_SENSITIVE usually accompanies STATE_ENABLED for user-actionable controls, but may be found in the absence of STATE_ENABLED if the current visible state of the control is “disconnected” from the application state. In such cases, direct user interaction can often result in the object gaining STATE_SENSITIVE, for instance if a user makes an explicit selection using an object whose current state is ambiguous or undefined. see STATE_ENABLED, STATE_INDETERMINATE.

§

Showing

Indicates this object, the object’s parent, the object’s parent’s parent, and so on, are all ‘shown’ to the end-user, i.e. subject to “exposure” if blocking or obscuring objects do not interpose between this object and the top of the window stack.

§

SingleLine

Indicates this (text) object can contain only a single line of text

§

Stale

Indicates that the information returned for this object may no longer be synchronized with the application state. This is implied if the object has STATE_TRANSIENT, and can also occur towards the end of the object peer’s lifecycle. It can also be used to indicate that the index associated with this object has changed since the user accessed the object (in lieu of “index-in-parent-changed” events).

§

Transient

Indicates this object is transient, i.e. a snapshot which may not emit events when its state changes. Data from objects with ATK_STATE_TRANSIENT should not be cached, since there may be no notification given when the cached data becomes obsolete.

§

Vertical

Indicates the orientation of this object is vertical

§

Visible

Indicates this object is visible, e.g. has been explicitly marked for exposure to the user. note: Visible is no guarantee that the object is actually unobscured on the screen, only that it is ‘potentially’ visible, barring obstruction, being scrolled or clipped out of the field of view, or having an ancestor container that has not yet made visible. A widget is potentially onscreen if it has both Visible and Showing. The absence of Visible and Showing is semantically equivalent to saying that an object is ‘hidden’. See also Truncated, which applies if an object with Visible and Showing set lies within a viewport which means that its contents are clipped, e.g. a truncated spreadsheet cell or an image within a scrolling viewport. Mostly useful for screen-review and magnification algorithms.

§

ManagesDescendants

Indicates that “active-descendant-changed” event is sent when children become ‘active’ (i.e. are selected or navigated to onscreen). Used to prevent need to enumerate all children in very large containers, like tables. The presence of STATE_MANAGES_DESCENDANTS is an indication to the client. that the children should not, and need not, be enumerated by the client. Objects implementing this state are expected to provide relevant state notifications to listening clients, for instance notifications of visibility changes and activation of their contained child objects, without the client having previously requested references to those children.

§

Indeterminate

Indicates that the value, or some other quantifiable property, of this AtkObject cannot be fully determined. In the case of a large data set in which the total number of items in that set is unknown (e.g. 1 of 999+), implementors should expose the currently-known set size (999) along with this state. In the case of a check box, this state should be used to indicate that the check box is a tri-state check box which is currently neither checked nor unchecked.

§

Truncated

Indicates that an object is truncated, e.g. a text value in a speradsheet cell.

§

Required

Indicates that explicit user interaction with an object is required by the user interface, e.g. a required field in a “web-form” interface.

§

InvalidEntry

Indicates that the object has encountered an error condition due to failure of input validation. For instance, a form control may acquire this state in response to invalid or malformed user input.

§

SupportsAutocompletion

Indicates that the object in question implements some form of ¨typeahead¨ or pre-selection behavior whereby entering the first character of one or more sub-elements causes those elements to scroll into view or become selected. Subsequent character input may narrow the selection further as long as one or more sub-elements match the string. This state is normally only useful and encountered on objects that implement Selection. In some cases the typeahead behavior may result in full or partial ¨completion¨ of the data in the input field, in which case these input events may trigger text-changed events from the AtkText interface. This state supplants Role::Autocomplete.

§

SelectableText

Indicates that the object in question supports text selection. It should only be exposed on objects which implement the Text interface, in order to distinguish this state from Selectable, which infers that the object in question is a selectable child of an object which implements Selection. While similar, text selection and subelement selection are distinct operations.

§

Default

Indicates that the object is the “default” active component, i.e. the object which is activated by an end-user press of the “Enter” or “Return” key. Typically a “close” or “submit” button.

§

Animated

Indicates that the object changes its appearance dynamically as an inherent part of its presentation. This state may come and go if an object is only temporarily animated on the way to a ‘final’ onscreen presentation. note: some applications, notably content viewers, may not be able to detect all kinds of animated content. Therefore the absence of this state should not be taken as definitive evidence that the object’s visual representation is static; this state is advisory.

§

Visited

Indicates that the object (typically a hyperlink) has already been ‘activated’, and/or its backing data has already been downloaded, rendered, or otherwise “visited”.

§

Checkable

Indicates this object has the potential to be checked, such as a checkbox or toggle-able table cell. Since: ATK-2.12

§

HasPopup

Indicates that the object has a popup context menu or sub-level menu which may or may not be showing. This means that activation renders conditional content. Note that ordinary tooltips are not considered popups in this context. Since: ATK-2.12

§

HasTooltip

Indicates this object has a tooltip. Since: ATK-2.16

§

ReadOnly

Indicates that a widget which is ENABLED and SENSITIVE has a value which can be read, but not modified, by the user. Note that this state should only be applied to widget types whose value is normally directly user modifiable, such as check boxes, radio buttons, spin buttons, text input fields, and combo boxes, as a means to convey that the expected interaction with that widget is not possible. When the expected interaction with a widget does not include modification by the user, as is the case with labels and containers, ATK_STATE_READ_ONLY should not be applied. See also ATK_STATE_EDITABLE. Since: ATK-2-16

§

Collapsed

Available on crate feature v2_38 only.

Indicates this object is collapsed. Since: ATK-2.38

Implementations§

Source§

impl StateType

Source

pub fn for_name(name: &str) -> StateType

Source

pub fn name(self) -> Option<GString>

Trait Implementations§

Source§

impl Clone for StateType

Source§

fn clone(&self) -> StateType

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for StateType

Source§

impl Debug for StateType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for StateType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for StateType

Source§

impl From<StateType> for Value

Source§

fn from(v: StateType) -> Self

Converts to this type from the input type.
Source§

impl<'a> FromValue<'a> for StateType

Source§

type Checker = GenericValueTypeChecker<StateType>

Value type checker.
Source§

unsafe fn from_value(value: &'a Value) -> Self

Get the contained value from a Value. Read more
Source§

impl HasParamSpec for StateType

Source§

type ParamSpec = ParamSpecEnum

Source§

type SetValue = StateType

Preferred value to be used as setter for the associated ParamSpec.
Source§

type BuilderFn = fn(&str, StateType) -> ParamSpecEnumBuilder<'_, StateType>

Source§

fn param_spec_builder() -> Self::BuilderFn

Source§

impl Hash for StateType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for StateType

Source§

fn cmp(&self, other: &StateType) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for StateType

Source§

fn eq(&self, other: &StateType) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for StateType

Source§

fn partial_cmp(&self, other: &StateType) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StaticType for StateType

Source§

fn static_type() -> Type

Returns the type identifier of Self.
Source§

impl StructuralPartialEq for StateType

Source§

impl ToValue for StateType

Source§

fn to_value(&self) -> Value

Convert a value to a Value.
Source§

fn value_type(&self) -> Type

Returns the type identifer of self. Read more
Source§

impl ValueType for StateType

Source§

type Type = StateType

Type to get the Type from. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

Source§

impl<T> Property for T
where T: HasParamSpec,

Source§

type Value = T

Source§

impl<T> PropertyGet for T
where T: HasParamSpec,

Source§

type Value = T

Source§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

Source§

impl<T> StaticTypeExt for T
where T: StaticType,

Source§

fn ensure_type()

Ensures that the type has been registered with the type system.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToSendValue for T
where T: Send + ToValue + ?Sized,

Source§

fn to_send_value(&self) -> SendValue

Returns a SendValue clone of self.
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.