Ejemplo n.º 1
0
func createSearchMenu(entry *gtk3.Entry) *gtk3.Menu {
	menu := gtk3.NewMenu()

	item := gtk3.NewImageMenuItemWithMnemonic("Search by _name")
	image := gtk3.NewImageFromStock(gtk3.GtkStock.FIND, gtk3.GtkIconSize.MENU)
	item.SetImage(image)
	item.SetAlwaysShowImage(true)
	item.Connect("activate", func(item gtk3.MenuItemLike, data ...interface{}) {
		entry.SetIconFromStock(gtk3.GtkEntryIconPosition.PRIMARY, gtk3.GtkStock.FIND)
		entry.SetIconTooltipText(gtk3.GtkEntryIconPosition.PRIMARY,
			"Search by name\nClick here to change the search type")
		entry.SetPlaceholderText("name")
	})
	menu.Append(item)

	item = gtk3.NewImageMenuItemWithMnemonic("Search by _description")
	image = gtk3.NewImageFromStock(gtk3.GtkStock.EDIT, gtk3.GtkIconSize.MENU)
	item.SetImage(image)
	item.SetAlwaysShowImage(true)
	item.Connect("activate", func(item gtk3.MenuItemLike, data ...interface{}) {
		entry.SetIconFromStock(gtk3.GtkEntryIconPosition.PRIMARY, gtk3.GtkStock.EDIT)
		entry.SetIconTooltipText(gtk3.GtkEntryIconPosition.PRIMARY,
			"Search by description\nClick here to change the search type")
		entry.SetPlaceholderText("description")
	})
	menu.Append(item)

	item = gtk3.NewImageMenuItemWithMnemonic("Search by _file name")
	image = gtk3.NewImageFromStock(gtk3.GtkStock.OPEN, gtk3.GtkIconSize.MENU)
	item.SetImage(image)
	item.SetAlwaysShowImage(true)
	item.Connect("activate", func(item gtk3.MenuItemLike, data ...interface{}) {
		entry.SetIconFromStock(gtk3.GtkEntryIconPosition.PRIMARY, gtk3.GtkStock.OPEN)
		entry.SetIconTooltipText(gtk3.GtkEntryIconPosition.PRIMARY,
			"Search by file name\nClick here to change the search type")
		entry.SetPlaceholderText("file name")
	})
	menu.Append(item)

	menu.ShowAll()

	return menu
}