wobin@18: -- A Twitter client of sorts for World of Warcraft wobin@18: -- Author: Wobin wobin@18: -- Email: wobster@gmail.com wobin@18: -- wobin@18: Squawk = LibStub("AceAddon-3.0"):NewAddon("Squawk") wobin@18: wobin@18: Squawk.Model = {} wobin@18: Squawk.View = {} wobin@18: Squawk.Controller = {} wobin@18: wobin@18: local Model = Squawk.Model wobin@18: local View = Squawk.View wobin@18: local Controller = Squawk.Controller wobin@18: wobin@18: Model.UserSettings = {} wobin@18: local Settings = Model.UserSettings wobin@18: wobin@18: local defaults = { wobin@18: profile = { wobin@18: Squawks = {}, wobin@18: Follower = {}, wobin@18: Following = {}, wobin@18: Pending = {}, wobin@18: Requested = {}, wobin@18: Blocked = {}, wobin@18: } wobin@18: } wobin@18: local SquawkViewMeta = { __tostring = function() return "SquawkView" end } wobin@18: wobin@18: function Squawk:OnInitialize() wobin@18: Model.db = LibStub("AceDB-3.0"):New("SquawkDB", defaults) wobin@18: Model.Squawks.Main = Model.db.profile.Squawks wobin@18: Settings.Follower = Model.db.profile.Follower wobin@18: Settings.Following = Model.db.profile.Following wobin@18: Settings.Pending = Model.db.profile.Pending wobin@18: Settings.Requested = Model.db.profile.Requested wobin@18: Settings.Blocked = Model.db.profile.Blocked wobin@18: Settings.Private = Model.db.profile.Private wobin@18: wobin@18: LibStub("AceComm-3.0"):Embed(Controller) wobin@18: LibStub("AceTimer-3.0"):Embed(Controller) wobin@18: Controller:RegisterComm("Squawk", Controller.ReceiveMessage) wobin@18: LibStub("AceConsole-3.0"):Embed(View) wobin@18: setmetatable(View, SquawkViewMeta) wobin@18: wobin@18: Model.Squawks.Reload(Model.Squawks) -- Retrain the table lookups wobin@18: end