/script_binding/lua/demo_icon_view.lua

http://ftk.googlecode.com/ · Lua · 66 lines · 50 code · 16 blank · 0 comment · 2 complexity · dc07ae7bd0e9c0ffbdd440d974b300d6 MD5 · raw file

  1. function OnQuit(button)
  2. Ftk.Quit()
  3. return RET_OK
  4. end
  5. function OnMore(button)
  6. local icon_view = button:Toplevel():Lookup(100);
  7. local item=FtkIconViewItem.Create()
  8. item.icon = FtkTheme.LoadImage(Ftk.DefaultTheme(), "flag-32.png")
  9. for i=1, 10 do
  10. item.text = "item" .. tostring(i)
  11. icon_view:Add(item)
  12. end
  13. item.icon:Unref()
  14. item=nil
  15. return RET_OK
  16. end
  17. function OnItemClicked(item)
  18. print("OnItemClicked: " .. item.text)
  19. return RET_OK
  20. end
  21. function AppInit()
  22. win=FtkAppWindow.Create()
  23. win:SetText("Demo icon view")
  24. win:SetAttr(FTK_ATTR_QUIT_WHEN_CLOSE)
  25. width=win:Width()
  26. height=win:Height()
  27. button=FtkButton.Create(win, 10, 0, width/3-10, 60)
  28. button:SetText("More")
  29. button:SetClickedListener("OnMore")
  30. button=FtkButton.Create(win, 2*width/3, 0, width/3-10, 60)
  31. button:SetText("Quit")
  32. button:SetClickedListener("OnQuit")
  33. item=FtkIconViewItem.Create()
  34. item.icon = FtkTheme.LoadImage(Ftk.DefaultTheme(), "flag-32.png")
  35. icon_view = FtkIconView.Create(win, 5, 70, width-10, height-80)
  36. icon_view:SetId(100);
  37. icon_view:SetClickedListener("OnItemClicked")
  38. for i=1, 10 do
  39. item.text = "item" .. tostring(i)
  40. icon_view:Add(item)
  41. end
  42. item.icon:Unref()
  43. item=nil
  44. win:SetFocus(button)
  45. win:ShowAll(1)
  46. return 1
  47. end
  48. Ftk.Init(1, {"iconview"})
  49. AppInit()
  50. Ftk.Run()