• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang gwu.Event类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/icza/gowut/gwu.Event的典型用法代码示例。如果您正苦于以下问题:Golang Event类的具体用法?Golang Event怎么用?Golang Event使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Event类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: HandleEvent

func (h *MyButtonHandler) HandleEvent(e gwu.Event) {
	if _, isButton := e.Src().(gwu.Button); isButton {
		ioutil.WriteFile(
			fmt.Sprintf("wikiPages/%s", fileName),
			[]byte(wikiText), os.FileMode(os.O_WRONLY|os.O_CREATE|os.O_TRUNC|0777))
	}
}
开发者ID:donomii,项目名称:AlfaWiki,代码行数:7,代码来源:alfawiki.go


示例2: HandleEvent

func (h *MyButtonHandler) HandleEvent(e gwu.Event) {
	if b, isButton := e.Src().(gwu.Button); isButton {
		b.SetText(b.Text() + h.text)
		h.counter++
		b.SetToolTip("You've clicked " + strconv.Itoa(h.counter) + " times!")
		e.MarkDirty(b)
	}
}
开发者ID:ego008,项目名称:gowut,代码行数:8,代码来源:simple_demo.go


示例3: buildTimerDemo

func buildTimerDemo(event gwu.Event) gwu.Comp {
	p := gwu.NewPanel()
	p.SetCellPadding(3)

	// Add timers to a panel which is always attached instead of our panel
	// because the user can switch to another component demo causing this panel to be removed
	// and that way timer events would address components that are not part of the window (returning error).
	hiddenPan := event.Session().Attr("hiddenPan").(gwu.Panel)

	p.Add(gwu.NewLabel("A Timer is used to detonate a bomb after 3 seconds."))
	p.AddVSpace(10)
	defText := "You can defuse the bomb with the button below. Tick... Tack..."
	l := gwu.NewLabel(defText)
	p.Add(l)
	t := gwu.NewTimer(3 * time.Second)
	b := gwu.NewButton("Defuse!")
	t.AddEHandlerFunc(func(e gwu.Event) {
		l.SetText("BOOOOM! You were too slow!")
		l.Style().SetColor(gwu.CLR_RED)
		b.SetEnabled(false)
		e.MarkDirty(l, b)
	}, gwu.ETYPE_STATE_CHANGE)
	hiddenPan.Add(t)
	row := gwu.NewHorizontalPanel()
	b.AddEHandlerFunc(func(e gwu.Event) {
		t.SetActive(false)
		l.SetText("Bomb defused! Phew! Good Job!")
		l.Style().SetColor(gwu.CLR_GREEN)
		b.SetEnabled(false)
		e.MarkDirty(t, l, b)
	}, gwu.ETYPE_CLICK)
	row.Add(b)
	b2 := gwu.NewButton("Plant a new Bomb!")
	b2.AddEHandlerFunc(func(e gwu.Event) {
		t.SetActive(true)
		t.Reset()
		l.SetText(defText)
		l.Style().SetColor("")
		b.SetEnabled(true)
		e.MarkDirty(t, l, b)
	}, gwu.ETYPE_CLICK)
	row.Add(b2)
	p.Add(row)

	p.AddVSpace(20)
	p.Add(gwu.NewLabel("A Timer is used to refresh the time below repeatedly in every second for half a minute."))
	tl := gwu.NewLabel("")
	p.Add(tl)
	t2 := gwu.NewTimer(time.Second)
	t2.SetRepeat(true)
	counter := 30
	t2.AddEHandlerFunc(func(e gwu.Event) {
		counter--
		tl.SetText(fmt.Sprintf("%s (%d remaining)", time.Now().Format("2006-01-02 15:04:05"), counter))
		e.MarkDirty(tl)
		if counter <= 0 {
			t2.SetActive(false)
			e.MarkDirty(t2)
		}
	}, gwu.ETYPE_STATE_CHANGE)
	hiddenPan.Add(t2)
	b3 := gwu.NewButton("Restart")
	b3.AddEHandlerFunc(func(e gwu.Event) {
		counter = 30
		t2.SetActive(true)
		e.MarkDirty(t2)
	}, gwu.ETYPE_CLICK)
	p.Add(b3)

	event.MarkDirty(hiddenPan)

	return p
}
开发者ID:ego008,项目名称:gowut,代码行数:73,代码来源:showcase.go


示例4: HandleEvent

func (zz ExpanderHandler) HandleEvent(e gwu.Event) {

	switch t := e.Src().(type) {
	case gwu.Expander:
		dir, _ := expanderDir[t]
		//fmt.Println("Dir=" + dir)
		files, _ := ioutil.ReadDir(dir)
		var p gwu.Panel
		var table gwu.Table
		p = nil

		dirList := make([]gwu.Comp, 0, 0)
		fileLabelList := make([]gwu.Comp, 0, 0)
		fileTimeList := make([]gwu.Comp, 0, 0)
		fileSizeList := make([]gwu.Comp, 0, 0)

		for _, f := range files {
			if p == nil {
				p = gwu.NewPanel()
				t.SetContent(p)
				table = gwu.NewTable()
				table.SetCellPadding(5)
				p.Add(table)
			}
			if f.IsDir() {
				// owned by root // only works on linux
				newExpander := makeExpander(f.Name())
				newExpander.SetToolTip("DIR - Click to view contents")
				newExpander.Style().SetColor("blue")
				if dir == "/" {
					expanderDir[newExpander] = dir + f.Name()
				} else {
					expanderDir[newExpander] = dir + "/" + f.Name()
				}
				newExpander.AddEHandler(handler, gwu.ETYPE_STATE_CHANGE)
				dirList = append(dirList, newExpander)
			} else {
				fileLabel := gwu.NewLabel(f.Name())
				fileLabel.Style().SetPaddingLeft("20")
				fileLabel.SetToolTip("FILE")
				fileLabel.AddEHandler(foobar, gwu.ETYPE_MOUSE_DOWN)
				fileLabelList = append(fileLabelList, fileLabel)

				fileTimeLabel := gwu.NewLabel(f.ModTime().Format(layout))
				fileTimeList = append(fileTimeList, fileTimeLabel)
				fileSizeLabel := gwu.NewLabel(strconv.FormatInt(f.Size(), 10) + "k")
				fileSizeList = append(fileSizeList, fileSizeLabel)
			}
		}
		row := 0
		for _, dir := range dirList {
			table.Add(dir, row, 0)
			row = row + 1
		}
		for i, _ := range fileLabelList {
			table.Add(fileLabelList[i], row, 0)
			rfmt := table.CellFmt(row, 0)
			rfmt.SetHAlign(gwu.HA_LEFT)
			rfmt.SetVAlign(gwu.VA_TOP)

			table.Add(fileTimeList[i], row, 1)
			rfmt = table.CellFmt(row, 1)
			rfmt.SetHAlign(gwu.HA_LEFT)
			rfmt.SetVAlign(gwu.VA_TOP)

			table.Add(fileSizeList[i], row, 2)
			rfmt = table.CellFmt(row, 2)
			rfmt.SetHAlign(gwu.HA_RIGHT)
			rfmt.SetVAlign(gwu.VA_TOP)

			row = row + 1
		}

	default:
		// t is some other type that we didn't name.
	}

}
开发者ID:gnewton,项目名称:goperu,代码行数:78,代码来源:main.go



注:本文中的github.com/icza/gowut/gwu.Event类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang basic.Object类代码示例发布时间:2022-05-28
下一篇:
Golang gwu.NewLabel函数代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap