本文整理匯總了Golang中github.com/limetext/backend.View.AddObserver方法的典型用法代碼示例。如果您正苦於以下問題:Golang View.AddObserver方法的具體用法?Golang View.AddObserver怎麽用?Golang View.AddObserver使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/limetext/backend.View
的用法示例。
在下文中一共展示了View.AddObserver方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: newView
func newView(bv *backend.View) *view {
v := &view{
id: int(bv.Id()),
bv: bv,
Title: bv.FileName(),
}
if len(v.Title) == 0 {
v.Title = "untitled"
}
bv.AddObserver(v)
bv.Settings().AddOnChange("qml.view.syntax", v.onChange)
bv.Settings().AddOnChange("qml.view.syntaxfile", func(name string) {
if name != "syntax" {
return
}
syn := bv.Settings().String("syntax", "Plain Text")
syntax := backend.GetEditor().GetSyntax(syn)
w := fe.windows[bv.Window()]
w.qw.Call("setSyntaxStatus", syntax.Name())
})
bv.Settings().AddOnChange("qml.view.tabSize", func(name string) {
if name != "tab_size" {
return
}
ts := bv.Settings().Int("tab_size", 4)
w := fe.windows[bv.Window()]
w.qw.Call("setIndentStatus", strconv.Itoa(ts))
})
return v
}
示例2: setupCallbacks
func (t *tbfe) setupCallbacks(view *backend.View) {
// Ensure that the visible region currently presented is
// inclusive of the insert/erase delta.
view.AddObserver(&tbfeBufferDeltaObserver{t: t, view: view})
backend.OnNew.Add(func(v *backend.View) {
v.Settings().AddOnChange("lime.frontend.termbox.render", func(name string) { t.render() })
})
backend.OnModified.Add(func(v *backend.View) {
t.render()
})
backend.OnSelectionModified.Add(func(v *backend.View) {
t.render()
})
}