[ Prev ] [ Index ] [ Next ]

文本窗口

Created 星期五 14 五月 2010

GTK::TextView

可显示多种格式的文本的部件

GTK::TextBuffer

为TextView管理数据
可使用
Glib::RefPtr<const TextBuffer> Gtk::TextView::get_buffer ( ) const
获得。

Gtk::TextBuffer::create()

Gtk::TextBuffer::iterator(Gtk::TextIter)

TextBuffer中的两个字符之间的一个位置

	比如有begin()和end().
		移动	 forward_chars()

GTK::TextBuffer::Mark(Gtk::TextMark)

TextBuffer之间的一个位置,即使buffer中的内容改变了也可用。

使用TextIter Gtk::TextMark::get_iter ( )
获得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,

const Glib::RefPtr<TextBuffer::ChildAnchor>& anchor



跟踪光标的位置(行、列)

通过响应信号TextBuffer::signal_mark_set,根据名为"insert"的Mark的位置确定

添加滚动条

创建ScrolledWindow,再调用ScrolledWindow::add