MattiasBuelens

MCMail ui/read

Jul 24th, 2012
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.55 KB | None | 0 0
  1. --[[
  2.  
  3.     MCNet Mail UI
  4.     Read message pane
  5.  
  6. ]]--
  7.  
  8. ui = ui or {}
  9.  
  10. local ReadPane = common.newClass({
  11.     horizontal = false,
  12.     message = nil,
  13.     -- Field labels
  14.     fromLabel = "From:",
  15.     toLabel = "To:  "
  16. }, ccgui.FlowContainer)
  17. ui.ReadPane = ReadPane
  18.  
  19. function ReadPane:init()
  20.     ccgui.FlowContainer.init(self)
  21.  
  22.     self.header = ccgui.FlowContainer:new{
  23.         horizontal = true,
  24.         padding = ccgui.newMargins(0, 0, 1),
  25.         spacing = 1
  26.     }
  27.     self.fields = ccgui.FlowContainer:new{
  28.         horizontal = false,
  29.         stretch = true
  30.     }
  31.     local from = ccgui.FlowContainer:new{
  32.         horizontal = true,
  33.         spacing = 1
  34.     }
  35.     self.fromLabel = ccgui.TextElement:new{
  36.         text = self.fromLabel
  37.     }
  38.     self.fromField = ccgui.TextElement:new{
  39.         stretch = true
  40.     }
  41.     local to = ccgui.FlowContainer:new{
  42.         horizontal = true,
  43.         spacing = 1
  44.     }
  45.     self.toLabel = ccgui.TextElement:new{
  46.         text = self.toLabel
  47.     }
  48.     self.toField = ccgui.TextElement:new{
  49.         stretch = true
  50.     }
  51.  
  52.     self.messageField = ccgui.TextViewer:new{
  53.         stretch = true
  54.     }
  55.  
  56.     -- Set message
  57.     self:setMessage(self.message)
  58.    
  59.     -- Add elements
  60.     from:add(self.fromLabel, self.fromField)
  61.     to:add(self.toLabel, self.toField)
  62.     self.fields:add(from, to)
  63.     self.header:add(self.fields, self:toolbar())
  64.     self:add(self.header, self.messageField)
  65. end
  66.  
  67. function ReadPane:setMessage(msg)
  68.     self.message = msg
  69.  
  70.     msg = mcnet.message.pack(msg)
  71.     self.fromField:setText(tostring(msg.from))
  72.     self.toField:setText(tostring(msg.to))
  73.     self.messageField:setText(tostring(msg.data))
  74. end
  75.  
  76. function ReadPane:toolbar()
  77.     return ccgui.TextElement:new()
  78. end
Advertisement
Add Comment
Please, Sign In to add comment