Documentation
¶
Index ¶
- Constants
- type Controller
- type Header
- func (h *Header) OnBackPressed(fn func())
- func (h *Header) OnShowMembersToggle(fn func(show bool))
- func (h *Header) Reset()
- func (h *Header) SetBreadcrumber(b traverse.Breadcrumber)
- func (h *Header) SetCanShowMembers(canShow bool)
- func (h *Header) SetMiniBreadcrumb(mini bool)
- func (h *Header) SetShowBackButton(show bool)
- type MessageControl
- type MessageItemNames
- type MessagesContainer
- type ServerMessage
- type View
- func (v *View) Author(authorID cchat.ID) rich.LabelStateStorer
- func (v *View) AuthorEvent(authorID cchat.ID)
- func (s *View) Backlogger() cchat.Backlogger
- func (v *View) BindMenu(msg container.MessageRow)
- func (v *View) Bottomed() bool
- func (v *View) FetchBacklog()
- func (v *View) JoinServer(ses *session.Row, srv *server.ServerRow, bc traverse.Breadcrumber)
- func (v *View) LatestMessageFrom(userID cchat.ID) container.MessageRow
- func (v *View) MemberListUpdated(c *memberlist.Container)
- func (v *View) MessageAuthor(msgID cchat.ID) *message.Author
- func (v *View) Reset()
- func (v *View) SelectMessage(_ *container.ListStore, msg container.MessageRow)
- func (v *View) SendMessage(msg message.PresendMessage)
- func (s *View) ServerID() string
- func (s *View) SessionID() string
- func (v *View) SetFolded(folded bool)
- func (v *View) UnselectMessage()
Constants ¶
const BreadcrumbSlash = " 〉"
const BreadcrumbSlash = `<span rise="-1024" size="x-large">❭</span>`
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller interface { // GoBack tells the main leaflet to go back to the services list. GoBack() // OnMessageBusy is called when the message buffer is busy. This happens // when it's loading messages. OnMessageBusy() // OnMessageDone is called after OnMessageBusy, when the message buffer is // done with loading. OnMessageDone() }
type Header ¶
type Header struct { handy.HeaderBar ShowBackBtn *gtk.Revealer BackButton *gtk.Button Breadcrumb *gtk.Label MessageCtrl *MessageControl ShowMembers *gtk.ToggleButton // contains filtered or unexported fields }
func (*Header) OnBackPressed ¶
func (h *Header) OnBackPressed(fn func())
func (*Header) OnShowMembersToggle ¶
func (*Header) SetBreadcrumber ¶
func (h *Header) SetBreadcrumber(b traverse.Breadcrumber)
func (*Header) SetCanShowMembers ¶
func (*Header) SetMiniBreadcrumb ¶
SetMiniBreadcrumb sets whether or not the breadcrumb should display the full label.
func (*Header) SetShowBackButton ¶
type MessageControl ¶
type MessageControl struct { gtk.Revealer Box *gtk.Box Reply *bindableButton Edit *bindableButton Delete *bindableButton // Actions "Delete" // contains filtered or unexported fields }
MessageControl controls buttons that control a selected message.
func NewMessageControl ¶
func NewMessageControl() *MessageControl
func (*MessageControl) Disable ¶
func (mc *MessageControl) Disable()
Disable disables the MessageControl and hides it.
func (*MessageControl) Enable ¶
func (mc *MessageControl) Enable(msg container.MessageRow, names MessageItemNames)
Enable enables the MessageControl with the given message.
func (*MessageControl) SetHidden ¶
func (mc *MessageControl) SetHidden(hidden bool)
SetHidden sets whether or not the control should be hidden.
type MessageItemNames ¶
type MessageItemNames struct {
Reply, Edit, Delete string
}
MessageItemNames contains names that MessageControl will use for its menu action callbacks.
type MessagesContainer ¶
type ServerMessage ¶
ServerMessage combines Server and ServerMessage from cchat.
type View ¶
type View struct { *gtk.Box Header *Header FaceView *sadface.FaceView Leaflet *handy.Leaflet LeftBox *gtk.Box Scroller *autoscroll.ScrolledWindow InputView *input.InputView MsgBox *gtk.Box Typing *typing.Container Container MessagesContainer MemberList *memberlist.Container // right box // contains filtered or unexported fields }
func NewView ¶
func NewView(c Controller) *View
func (*View) Author ¶
func (v *View) Author(authorID cchat.ID) rich.LabelStateStorer
Author returns the author from the message list with the given author ID.
func (*View) AuthorEvent ¶
AuthorEvent should be called on message create/update/delete.
func (*View) Backlogger ¶
func (s *View) Backlogger() cchat.Backlogger
Backlogger returns the backlogger instance if it's allowed to fetch more backlogs.
func (*View) BindMenu ¶
func (v *View) BindMenu(msg container.MessageRow)
BindMenu attaches the menu constructor into the message with the needed states and callbacks.
func (*View) FetchBacklog ¶
func (v *View) FetchBacklog()
func (*View) JoinServer ¶
JoinServer is not thread-safe, but it calls backend functions asynchronously.
func (*View) LatestMessageFrom ¶
func (v *View) LatestMessageFrom(userID cchat.ID) container.MessageRow
LatestMessageFrom returns the last message ID with that author.
func (*View) MemberListUpdated ¶
func (v *View) MemberListUpdated(c *memberlist.Container)
MemberListUpdated is called everytime the member list is updated.
func (*View) MessageAuthor ¶
MessageAuthor returns the author from the message with the given ID.
func (*View) SelectMessage ¶
func (v *View) SelectMessage(_ *container.ListStore, msg container.MessageRow)
SelectMessage is called when a message is selected.
func (*View) SendMessage ¶
func (v *View) SendMessage(msg message.PresendMessage)
func (*View) ServerID ¶
func (s *View) ServerID() string
ServerID returns the server ID, or an empty string if there's no server.
func (*View) SessionID ¶
func (s *View) SessionID() string
SessionID returns the session ID, or an empty string if there's no session.
func (*View) UnselectMessage ¶
func (v *View) UnselectMessage()
UnselectMessage is called when the message selection is cleared.