Created 星期五 14 五月 2010
GTK::TextView
可显示多种格式的文本的部件
GTK::TextBuffer
为TextView管理数据
可使用
Glib::RefPtr<const TextBuffer> Gtk::TextView::get_buffer ( ) const
获得。
Gtk::TextBuffer::iterator(Gtk::TextIter)
比如有begin()和end(). 移动 forward_chars()
GTK::TextBuffer::Mark(Gtk::TextMark)
TextBuffer之间的一个位置,即使buffer中的内容改变了也可用。
获得iterator。
在GTk::TextBuffer中有两个内置的mark:insert和selection_bound,分别指向插入的地方和选择的选择的界限(如果有选择,可能选择的区域为insert 到selection_bound之间的内容)。如果没有选择,insert和selection_bound指向同一个地方。
选择的内容为insert 到 selection_bound之间的内容。
通过move_mark()移动它们的位置。
Gtk::TextBuffer::Tag (Gtk::TextTag)
为TextBuffer中的一些字符确定格式
创建
static Glib::RefPtr<TextTag> Gtk::TextTag::create ( )
Glib::RefPtr<TextBuffer::TagTable> Gtk::TextBuffer::get_tag_table ( )
void Gtk::TextTagTable::add ( const Glib::RefPtr<TextTag>& tag )
或者
Glib::RefPtr<Tag> Gtk::TextBuffer::create_tag ( const Glib::ustring & tag_name )
使用
TextBuffer::insert_with_tag或TextBuffer::insert_with_tags
以及
TextBuffer::apply
Gtk::TextChildAnchor(Gtk::TextChildAnchor)
在文本中插入一个部件,比如Gtk::Image
创建
Glib::RefPtr<ChildAnchor> Gtk::TextBuffer::create_child_anchor ( const iterator& pos )
插入(使用)
void Gtk::TextView::add_child_at_anchor ( Widget& child,
跟踪光标的位置(行、列)
通过响应信号TextBuffer::signal_mark_set,根据名为"insert"的Mark的位置确定
添加滚动条
创建ScrolledWindow,再调用ScrolledWindow::add