+class ConnectionWindow(Window):
+ 'Window with attributes and methods for dealing with an IrcConnection.'
+
+ def __init__(self,
+ broadcast: Callable[[str, Any], None],
+ conn_idx: int,
+ *args, **kwargs
+ ) -> None:
+ self._broadcast = broadcast
+ self._conn_idx = conn_idx
+ super().__init__(*args, **kwargs)
+
+ def cmd__disconnect(self, quit_msg: str = 'ircplom says bye') -> None:
+ 'Send QUIT command to server.'
+ self._broadcast('SEND',
+ (self._conn_idx, IrcMessage('QUIT', [quit_msg])))
+
+ def cmd__reconnect(self) -> None:
+ 'Attempt reconnection.'
+ self._broadcast('INIT_RECONNECTION', (self._conn_idx,))
+
+