Class

RotulusView

Description [src]

final class Rotulus.View : Gtk.Widget
  implements Gtk.Accessible, Gtk.AccessibleText, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Scrollable {
  /* No available fields */
}

A widget that shows a long, fast-growing stream of chat messages.

Rows are structured, never text with codes in it. The application hands over a row kind, a speaker, and styled runs for the nick column and the body; the view never parses escape codes, so nothing a remote user sends can restyle the transcript.

Configuration is GObject properties: “font”, “word-wrap”, “max-lines”, “indent”, “max-indent”, “separator”, “show-timestamps”, “timestamp-format”, “avatar-size”, “group-gap”, “markdown”, “link-schemes”, “autocopy”, “copy-timestamps”, “activate-links”, “zoom”, and the read-only “has-selection”. The setters below are conveniences over them.

The view is a GtkScrollable, so it goes in a GtkScrolledWindow.

Rows are added from C with rotulus_view_append() and a RotulusRow built on the stack, or, from C or a language binding, with rotulus_view_append_message() and a RotulusMessage.

Hierarchy

hierarchy this RotulusView implements_0 GtkAccessible this--implements_0 implements_1 GtkAccessibleText this--implements_1 implements_2 GtkBuildable this--implements_2 implements_3 GtkConstraintTarget this--implements_3 implements_4 GtkScrollable this--implements_4 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

Constructors

rotulus_view_new
No description available.

Instance methods

rotulus_view_append
No description available.

rotulus_view_append_media
No description available.

rotulus_view_append_message
No description available.

rotulus_view_append_text

Appends a plain row with no nick column.

rotulus_view_clear

Drops every row. Every mark goes stale.

rotulus_view_clear_reply

Takes a row’s reply header away.

rotulus_view_get_last
No description available.

rotulus_view_get_vadjustment

The vertical adjustment, for a GtkScrollbar beside the view, created if the view has none.

rotulus_view_insert_before

What is on screen stays where it is, so backfilling history doesn’t move what the user is reading. Insert rows in chronological order: each lands directly before the anchor.

rotulus_view_insert_message_before

As rotulus_view_insert_before().

rotulus_view_media_mark
No description available.

rotulus_view_media_set_frames

The view takes its own references to the textures.

rotulus_view_media_set_texture
No description available.

rotulus_view_remove
No description available.

rotulus_view_replace

Swaps the content of a row, keeping its place and the mark: an edit, a redaction, a streamed reply growing.

rotulus_view_replace_message

As rotulus_view_replace().

rotulus_view_search

Selects the first match at or below the viewport.

rotulus_view_search_clear
No description available.

rotulus_view_search_step
No description available.

rotulus_view_set_activate_links

Off, a primary click on a link does nothing special; the link menu works either way.

rotulus_view_set_autocopy
No description available.

rotulus_view_set_avatar_func
No description available.

rotulus_view_set_avatar_size

Only the first row of a group draws one.

rotulus_view_set_copy_timestamps
No description available.

rotulus_view_set_font
No description available.

rotulus_view_set_group_gap
No description available.

rotulus_view_set_indent

With two columns, timestamps and nicks have a column of their own, and bodies are indented past it. With one, the nick starts the body’s first line.

rotulus_view_set_link_schemes
No description available.

rotulus_view_set_markdown

Renders markdown in bodies appended from now on: bold, italic, code, fenced code blocks, quotes, and labeled links to the view’s link schemes. Rows already appended keep their rendering.

rotulus_view_set_marker

The marker goes with its row rather than moving to a neighbour.

rotulus_view_set_max_indent
No description available.

rotulus_view_set_max_lines
No description available.

rotulus_view_set_palette
No description available.

rotulus_view_set_reactions
No description available.

rotulus_view_set_reply

Gives a row a reply header quoting the message it replies to, or changes the one it has. A row with a header starts a group of its own. Each text is kept to its first 300 characters.

rotulus_view_set_reply_rgb

As rotulus_view_set_reply(), with the nick in a color of its own rather than a palette slot, as ROTULUS_ATTR_RGB gives a run one.

rotulus_view_set_reply_unavailable

Gives a row a reply header for an original it can’t show, or changes the one it has.

rotulus_view_set_separator
No description available.

rotulus_view_set_show_timestamps
No description available.

rotulus_view_set_timestamp_format
No description available.

rotulus_view_set_word_wrap
No description available.

rotulus_view_set_zoom
No description available.

Methods inherited from GtkWidget (164)

Please see GtkWidget for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from GtkAccessible (21)
gtk_accessible_announce

Requests the user’s screen reader to announce the given message.

gtk_accessible_get_accessible_id

Retrieves the accessible identifier for the accessible object.

gtk_accessible_get_accessible_parent

Retrieves the accessible parent for an accessible object.

gtk_accessible_get_accessible_role

Retrieves the accessible role of an accessible object.

gtk_accessible_get_at_context

Retrieves the implementation for the given accessible object.

gtk_accessible_get_bounds

Queries the coordinates and dimensions of this accessible.

gtk_accessible_get_first_accessible_child

Retrieves the first accessible child of an accessible object.

gtk_accessible_get_next_accessible_sibling

Retrieves the next accessible sibling of an accessible object.

gtk_accessible_get_platform_state

Queries a platform state, such as focus.

gtk_accessible_reset_property

Resets the accessible property to its default value.

gtk_accessible_reset_relation

Resets the accessible relation to its default value.

gtk_accessible_reset_state

Resets the accessible state to its default value.

gtk_accessible_set_accessible_parent

Sets the parent and sibling of an accessible object.

gtk_accessible_update_next_accessible_sibling

Updates the next accessible sibling.

gtk_accessible_update_platform_state

Informs ATs that the platform state has changed.

gtk_accessible_update_property

Updates a list of accessible properties.

gtk_accessible_update_property_value

Updates an array of accessible properties.

gtk_accessible_update_relation

Updates a list of accessible relations.

gtk_accessible_update_relation_value

Updates an array of accessible relations.

gtk_accessible_update_state

Updates a list of accessible states.

gtk_accessible_update_state_value

Updates an array of accessible states.

Methods inherited from GtkAccessibleText (3)
gtk_accessible_text_update_caret_position

Updates the position of the caret.

gtk_accessible_text_update_contents

Notifies assistive technologies of a change in contents.

gtk_accessible_text_update_selection_bound

Updates the boundary of the selection.

Methods inherited from GtkBuildable (1)
gtk_buildable_get_buildable_id

Gets the ID of the buildable object.

Methods inherited from GtkScrollable (9)
gtk_scrollable_get_border

Returns the size of a non-scrolling border around the outside of the scrollable.

gtk_scrollable_get_hadjustment

Retrieves the GtkAdjustment used for horizontal scrolling.

gtk_scrollable_get_hscroll_policy

Gets the horizontal GtkScrollablePolicy.

gtk_scrollable_get_vadjustment

Retrieves the GtkAdjustment used for vertical scrolling.

gtk_scrollable_get_vscroll_policy

Gets the vertical GtkScrollablePolicy.

gtk_scrollable_set_hadjustment

Sets the horizontal adjustment of the GtkScrollable.

gtk_scrollable_set_hscroll_policy

Sets the GtkScrollablePolicy.

gtk_scrollable_set_vadjustment

Sets the vertical adjustment of the GtkScrollable.

gtk_scrollable_set_vscroll_policy

Sets the GtkScrollablePolicy.

Properties

Rotulus.View:activate-links
No description available.

Rotulus.View:autocopy
No description available.

Rotulus.View:avatar-size
No description available.

Rotulus.View:copy-timestamps
No description available.

Rotulus.View:font
No description available.

Rotulus.View:group-gap
No description available.

Rotulus.View:has-selection
No description available.

Rotulus.View:indent
No description available.

Rotulus.View:link-schemes
No description available.

Rotulus.View:markdown
No description available.

Rotulus.View:max-indent
No description available.

Rotulus.View:max-lines
No description available.

Rotulus.View:separator
No description available.

Rotulus.View:show-timestamps
No description available.

Rotulus.View:timestamp-format
No description available.

Rotulus.View:word-wrap
No description available.

Rotulus.View:zoom
No description available.

Properties inherited from GtkWidget (35)
Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

Gtk.Widget:can-target

Whether the widget can receive pointer events.

Gtk.Widget:css-classes

A list of css classes applied to this widget.

Gtk.Widget:css-name

The name of this widget in the CSS tree.

Gtk.Widget:cursor

The cursor used by widget.

Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

Gtk.Widget:has-default

Whether the widget is the default widget.

Gtk.Widget:has-focus

Whether the widget has the input focus.

Gtk.Widget:has-tooltip

Enables or disables the emission of the GtkWidget::query-tooltip signal on widget.

Gtk.Widget:height-request

Overrides for height request of the widget.

Gtk.Widget:hexpand

Whether to expand horizontally.

Gtk.Widget:hexpand-set

Whether to use the hexpand property.

Gtk.Widget:layout-manager

The GtkLayoutManager instance to use to compute the preferred size of the widget, and allocate its children.

Gtk.Widget:limit-events

Makes this widget act like a modal dialog, with respect to event delivery.

Gtk.Widget:margin-bottom

Margin on bottom side of widget.

Gtk.Widget:margin-end

Margin on end of widget, horizontally.

Gtk.Widget:margin-start

Margin on start of widget, horizontally.

Gtk.Widget:margin-top

Margin on top side of widget.

Gtk.Widget:name

The name of the widget.

Gtk.Widget:opacity

The requested opacity of the widget.

Gtk.Widget:overflow

How content outside the widget’s content area is treated.

Gtk.Widget:parent

The parent widget of this widget.

Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

Gtk.Widget:root

The GtkRoot widget of the widget tree containing this widget.

Gtk.Widget:scale-factor

The scale factor of the widget.

Gtk.Widget:sensitive

Whether the widget responds to input.

Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

Gtk.Widget:vexpand

Whether to expand vertically.

Gtk.Widget:vexpand-set

Whether to use the vexpand property.

Gtk.Widget:visible

Whether the widget is visible.

Gtk.Widget:width-request

Overrides for width request of the widget.

Properties inherited from GtkAccessible (1)
Gtk.Accessible:accessible-role

The accessible role of the given GtkAccessible implementation.

Properties inherited from GtkScrollable (4)
Gtk.Scrollable:hadjustment

Horizontal GtkAdjustment of the scrollable widget.

Gtk.Scrollable:hscroll-policy

Determines when horizontal scrolling should start.

Gtk.Scrollable:vadjustment

Vertical GtkAdjustment of the scrollable widget.

Gtk.Scrollable:vscroll-policy

Determines when vertical scrolling should start.

Signals

Rotulus.View::link-activated

A primary click on a link, when RotulusView:activate-links is on.

Rotulus.View::link-menu

A secondary or middle click on a link.

Rotulus.View::load-more

A click on a ROTULUS_ROW_LOAD_OLDER or ROTULUS_ROW_LOAD_NEWER row.

Rotulus.View::media-activated

A primary click on an inline image or its placeholder.

Rotulus.View::reaction-activated

A primary click on a reaction chip (see rotulus_view_set_reactions()), for the application to add or take back the reader’s own.

Rotulus.View::reply-activated

A primary click on a row’s reply header (see rotulus_view_set_reply()), for the application to show the message the row replies to, which it named when it set the header.

Rotulus.View::row-menu

A secondary click on a message, anywhere but a link or a speaker, which have menus of their own: for the application’s actions on it, such as replying to it. Not raised on the selection, where the view offers Copy, nor on a load-more or divider row.

Rotulus.View::selection-changed

The selection was made, changed or cleared.

Rotulus.View::speaker-activated

A primary click on a speaker’s nick or avatar.

Rotulus.View::speaker-menu

A secondary click on a speaker’s nick or avatar.

Signals inherited from GtkWidget (13)
GtkWidget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

GtkWidget::direction-changed

Emitted when the text direction of a widget changes.

GtkWidget::hide

Emitted when widget is hidden.

GtkWidget::keynav-failed

Emitted if keyboard navigation fails.

GtkWidget::map

Emitted when widget is going to be mapped.

GtkWidget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

GtkWidget::move-focus

Emitted when the focus is moved.

GtkWidget::query-tooltip

Emitted when the widget’s tooltip is about to be shown.

GtkWidget::realize

Emitted when widget is associated with a GdkSurface.

GtkWidget::show

Emitted when widget is shown.

GtkWidget::state-flags-changed

Emitted when the widget state changes.

GtkWidget::unmap

Emitted when widget is going to be unmapped.

GtkWidget::unrealize

Emitted when the GdkSurface associated with widget is destroyed.

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct RotulusViewClass {
  GtkWidgetClass parent_class;
  
}

No description available.

Class members
parent_class: GtkWidgetClass

No description available.