pub struct CompletionPopover {
    list: TemplateChild<ListBox>,
    view: PhantomData<TextView>,
    room: WeakRef<Room>,
    member_list: CompletionMemberList,
    room_list: CompletionRoomList,
    rows: [PillSourceRow; 32],
    selected: Cell<Option<usize>>,
    current_word: RefCell<Option<(TextIter, TextIter, SearchTerm)>>,
    inhibit: Cell<bool>,
    buffer: BoundObject<TextBuffer>,
}

Fields§

§list: TemplateChild<ListBox>§view: PhantomData<TextView>

The parent GtkTextView to autocomplete.

§room: WeakRef<Room>

The current room.

§member_list: CompletionMemberList

The sorted and filtered room members.

§room_list: CompletionRoomList

The sorted and filtered rooms.

§rows: [PillSourceRow; 32]

The rows in the popover.

§selected: Cell<Option<usize>>

The selected row in the popover.

§current_word: RefCell<Option<(TextIter, TextIter, SearchTerm)>>

The current autocompleted word.

§inhibit: Cell<bool>

Whether the popover is inhibited for the current word.

§buffer: BoundObject<TextBuffer>

The buffer to autocomplete.

Implementations§

Source§

impl CompletionPopover

Source

fn register_type()

Registers the type only once.

Source§

impl CompletionPopover

Source

pub fn downgrade(&self) -> <Self as Downgrade>::Weak

Source§

impl CompletionPopover

Source

fn set_room(&self, room: Option<&Room>)

Set the current room.

Source

fn view(&self) -> TextView

The parent GtkTextView to autocomplete.

Source

fn message_toolbar(&self) -> MessageToolbar

The ancestor MessageToolbar.

Source

fn update_buffer(&self)

Handle a change of buffer.

Source

fn visible_rows_count(&self) -> usize

The number of visible rows.

Source

fn handle_key_pressed(&self, key: Key, modifier: ModifierType) -> Propagation

Handle when a key was pressed.

Source

fn current_word(&self) -> Option<(TextIter, TextIter, SearchTerm)>

The word that is currently used for filtering.

Returns the start and end position of the word, as well as the search term.

Source

fn set_current_word(&self, word: Option<(TextIter, TextIter, SearchTerm)>)

Set the word that is currently used for filtering.

Source

fn update_completion(&self, trigger: bool)

Update completion.

If trigger is true, the search term will not look for @ at the start of the word.

Source

fn find_search_term( &self, trigger: bool, ) -> Option<(TextIter, TextIter, SearchTerm)>

Find the current search term in the underlying buffer.

Returns the start and end of the search word and the term to search for.

If trigger is true, the search term will not look for @ at the start of the word.

Source

fn cursor_word_boundaries(&self, trigger: bool) -> Option<(TextIter, TextIter)>

Find the word boundaries for the current cursor position.

If trigger is true, the search term will not look for @ at the start of the word.

Returns a (start, end) tuple.

Source

fn in_escaped_markdown( &self, word_start: &TextIter, word_end: &TextIter, ) -> bool

Check if the text is in markdown that would be escaped.

This includes:

  • Inline code
  • Block code
  • Links (because nested links are not allowed in HTML)
  • Images

Update the popover for the current search term.

Source

fn popup(&self)

Show the popover.

Source

fn update_pointing_to(&self)

Update the location where the popover is pointing to.

Source

fn selected_row_index(&self) -> Option<usize>

The index of the selected row.

Source

fn select_row_at_index(&self, idx: Option<usize>)

Select the row at the given index.

Source

fn activate_selected_row(&self)

Activate the row that is currently selected.

Source

fn row_activated(&self, row: &PillSourceRow)

Handle a row being activated.

Source

fn is_inhibited(&self) -> bool

Whether the completion is inhibited.

Source

fn inhibit(&self)

Inhibit the completion.

Source

fn update_accessible_label(&self)

Update the accessible label of the popover.

Trait Implementations§

Source§

impl CompositeTemplate for CompletionPopover

Source§

impl Debug for CompletionPopover

Source§

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

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

impl Default for CompletionPopover

Source§

fn default() -> CompletionPopover

Returns the “default value” for a type. Read more
Source§

impl DerivedObjectProperties for CompletionPopover

Source§

fn derived_properties() -> &'static [ParamSpec]

Properties installed for this type.
Source§

fn derived_property(&self, id: usize, pspec: &ParamSpec) -> Value

Similar to ObjectImpl but auto-generated by the Properties macro to allow handling more complex use-cases.
Source§

fn derived_set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)

Similar to ObjectImpl but auto-generated by the Properties macro to allow handling more complex use-cases.
Source§

impl ObjectImpl for CompletionPopover

Source§

fn constructed(&self)

Constructed. Read more
Source§

fn properties() -> &'static [ParamSpec]

Properties installed for this type.
Source§

fn set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)

Property setter. Read more
Source§

fn property(&self, id: usize, pspec: &ParamSpec) -> Value

Property getter. Read more
Source§

fn signals() -> &'static [Signal]

Signals installed for this type.
Source§

fn dispose(&self)

Disposes of the object. Read more
Source§

fn notify(&self, pspec: &ParamSpec)

Function to be called when property change is notified for with self.notify("property").
Source§

fn dispatch_properties_changed(&self, pspecs: &[ParamSpec])

Source§

impl ObjectSubclass for CompletionPopover

Source§

const NAME: &'static str = "ContentCompletionPopover"

GObject type name. Read more
Source§

type Interfaces = ()

List of interfaces implemented by this type.
Source§

type Class = ClassStruct<CompletionPopover>

The C class struct. Read more
Source§

type Instance = InstanceStruct<CompletionPopover>

The C instance struct. Read more
Source§

type Type = CompletionPopover

Wrapper around this subclass defined with wrapper!
Source§

type ParentType = Popover

Parent Rust type to inherit from.
Source§

fn new() -> Self

Constructor. Read more
Source§

fn class_init(klass: &mut Self::Class)

Class initialization. Read more
Source§

fn instance_init(obj: &InitializingObject<Self>)

Performs additional instance initialization. Read more
Source§

const ABSTRACT: bool = false

If this subclass is an abstract class or not. Read more
Source§

const ALLOW_NAME_CONFLICT: bool = false

Allow name conflicts for this class. Read more
Source§

fn type_init(_type_: &mut InitializingType<Self>)

Additional type initialization. Read more
Source§

fn with_class(_klass: &Self::Class) -> Self

Constructor. Read more
Source§

impl ObjectSubclassType for CompletionPopover

Source§

fn type_data() -> NonNull<TypeData>

Storage for the type-specific data used during registration.
Source§

fn type_() -> Type

Returns the glib::Type ID of the subclass. Read more
Source§

impl PopoverImpl for CompletionPopover

Source§

impl WidgetImpl for CompletionPopover

Source§

fn compute_expand(&self, hexpand: &mut bool, vexpand: &mut bool)

Source§

fn contains(&self, x: f64, y: f64) -> bool

Source§

fn direction_changed(&self, previous_direction: TextDirection)

Source§

fn focus(&self, direction_type: DirectionType) -> bool

Source§

fn request_mode(&self) -> SizeRequestMode

Source§

fn grab_focus(&self) -> bool

Source§

fn hide(&self)

👎Deprecated: Since 4.10
Source§

fn keynav_failed(&self, direction_type: DirectionType) -> bool

Source§

fn map(&self)

Source§

fn measure( &self, orientation: Orientation, for_size: i32, ) -> (i32, i32, i32, i32)

Source§

fn mnemonic_activate(&self, group_cycling: bool) -> bool

Source§

fn move_focus(&self, direction_type: DirectionType)

Source§

fn query_tooltip( &self, x: i32, y: i32, keyboard_tooltip: bool, tooltip: &Tooltip, ) -> bool

Source§

fn realize(&self)

Source§

fn root(&self)

Source§

fn set_focus_child(&self, child: Option<&Widget>)

Source§

fn show(&self)

👎Deprecated: Since 4.10
Source§

fn size_allocate(&self, width: i32, height: i32, baseline: i32)

Source§

fn snapshot(&self, snapshot: &Snapshot)

Source§

fn state_flags_changed(&self, state_flags: &StateFlags)

Source§

fn system_setting_changed(&self, settings: &SystemSetting)

Source§

fn unmap(&self)

Source§

fn unrealize(&self)

Source§

fn unroot(&self)

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> CompositeTemplateDisposeExt for T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

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

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> ObjectImplExt for T
where T: ObjectImpl,

Source§

fn parent_constructed(&self)

Chain up to the parent class’ implementation of glib::Object::constructed().
Source§

fn parent_notify(&self, pspec: &ParamSpec)

Chain up to the parent class’ implementation of glib::Object::notify().
Source§

fn parent_dispatch_properties_changed(&self, pspecs: &[ParamSpec])

Chain up to the parent class’ implementation of glib::Object::dispatch_properties_changed().
Source§

fn signal_chain_from_overridden( &self, token: &SignalClassHandlerToken, values: &[Value], ) -> Option<Value>

Chain up to parent class signal handler.
Source§

impl<T> ObjectSubclassExt for T
where T: ObjectSubclass,

Source§

fn instance(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>

👎Deprecated: Use obj() instead
Returns the corresponding object instance.
Source§

fn from_instance(obj: &<T as ObjectSubclass>::Type) -> &T

👎Deprecated: Use from_obj() instead
Returns the implementation from an instance.
Source§

fn obj(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>

Returns the corresponding object instance. Read more
Source§

fn from_obj(obj: &<T as ObjectSubclass>::Type) -> &T

Returns the implementation from an instance. Read more
Source§

fn ref_counted(&self) -> ObjectImplRef<T>

Returns a new reference-counted wrapper around self.
Source§

fn instance_data<U>(&self, type_: Type) -> Option<&U>
where U: Any + Send + Sync + 'static,

Returns a pointer to the instance implementation specific data. Read more
Source§

impl<T> PopoverImplExt for T
where T: PopoverImpl,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WidgetImplExt for T
where T: WidgetImpl,

Source§

fn parent_compute_expand(&self, hexpand: &mut bool, vexpand: &mut bool)

Source§

fn parent_contains(&self, x: f64, y: f64) -> bool

Source§

fn parent_direction_changed(&self, previous_direction: TextDirection)

Source§

fn parent_focus(&self, direction_type: DirectionType) -> bool

Source§

fn parent_request_mode(&self) -> SizeRequestMode

Source§

fn parent_grab_focus(&self) -> bool

Source§

fn parent_hide(&self)

👎Deprecated: Since 4.10
Source§

fn parent_keynav_failed(&self, direction_type: DirectionType) -> bool

Source§

fn parent_map(&self)

Source§

fn parent_measure( &self, orientation: Orientation, for_size: i32, ) -> (i32, i32, i32, i32)

Source§

fn parent_mnemonic_activate(&self, group_cycling: bool) -> bool

Source§

fn parent_move_focus(&self, direction_type: DirectionType)

Source§

fn parent_query_tooltip( &self, x: i32, y: i32, keyboard_tooltip: bool, tooltip: &Tooltip, ) -> bool

Source§

fn parent_realize(&self)

Source§

fn parent_root(&self)

Source§

fn parent_set_focus_child(&self, child: Option<&Widget>)

Source§

fn parent_show(&self)

👎Deprecated: Since 4.10
Source§

fn parent_size_allocate(&self, width: i32, height: i32, baseline: i32)

Source§

fn parent_snapshot(&self, snapshot: &Snapshot)

Source§

fn parent_state_flags_changed(&self, state_flags: &StateFlags)

Source§

fn parent_system_setting_changed(&self, settings: &SystemSetting)

Source§

fn parent_unmap(&self)

Source§

fn parent_unrealize(&self)

Source§

fn parent_unroot(&self)

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T