4 Star 20 Fork 4

七叶 / atk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
paned.go 1.88 KB
一键复制 编辑 原始数据 按行查看 历史
七叶 提交于 2018-11-24 22:17 . add items
// Copyright 2018 visualfc. All rights reserved.
package tk
import "fmt"
// panedwindow
type Paned struct {
BaseWidget
}
func NewPaned(parent Widget, orient Orient, attributes ...*WidgetAttr) *Paned {
iid := makeNamedWidgetId(parent, "atk_paned")
attributes = append(attributes, &WidgetAttr{"orient", orient})
info := CreateWidgetInfo(iid, WidgetTypePaned, true, attributes)
if info == nil {
return nil
}
w := &Paned{}
w.id = iid
w.info = info
RegisterWidget(w)
return w
}
func (w *Paned) Attach(id string) error {
info, err := CheckWidgetInfo(id, WidgetTypePaned)
if err != nil {
return err
}
w.id = id
w.info = info
RegisterWidget(w)
return nil
}
func (w *Paned) SetWidth(width int) error {
return eval(fmt.Sprintf("%v configure -width {%v}", w.id, width))
}
func (w *Paned) Width() int {
r, _ := evalAsInt(fmt.Sprintf("%v cget -width", w.id))
return r
}
func (w *Paned) SetHeight(height int) error {
return eval(fmt.Sprintf("%v configure -height {%v}", w.id, height))
}
func (w *Paned) Height() int {
r, _ := evalAsInt(fmt.Sprintf("%v cget -height", w.id))
return r
}
func (w *Paned) AddWidget(widget Widget, weight int) error {
if !IsValidWidget(widget) {
return ErrInvalid
}
return eval(fmt.Sprintf("%v add %v -weight %v", w.id, widget.Id(), weight))
}
func (w *Paned) InsertWidget(pane int, widget Widget, weight int) error {
if !IsValidWidget(widget) {
return ErrInvalid
}
return eval(fmt.Sprintf("%v insert %v %v -weight %v", w.id, pane, widget.Id(), weight))
}
func (w *Paned) SetPane(pane int, weight int) error {
return eval(fmt.Sprintf("%v pane %v -weight %v", w.id, pane, weight))
}
func (w *Paned) RemovePane(pane int) error {
return eval(fmt.Sprintf("%v forget %v", w.id, pane))
}
func PanedAttrWidth(width int) *WidgetAttr {
return &WidgetAttr{"width", width}
}
func PanedAttrHeight(height int) *WidgetAttr {
return &WidgetAttr{"height", height}
}
Go
1
https://gitee.com/visualfc/atk.git
git@gitee.com:visualfc/atk.git
visualfc
atk
atk
572ab07f9a00

搜索帮助