pub trait TextTagTableExt: 'static {
// Required methods
fn add(&self, tag: &impl IsA<TextTag>) -> bool;
fn foreach<P: FnMut(&TextTag)>(&self, func: P);
fn size(&self) -> i32;
fn lookup(&self, name: &str) -> Option<TextTag>;
fn remove(&self, tag: &impl IsA<TextTag>);
fn connect_tag_added<F: Fn(&Self, &TextTag) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_tag_changed<F: Fn(&Self, &TextTag, bool) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_tag_removed<F: Fn(&Self, &TextTag) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}