view modules/ReAction_ModuleTemplate/ReAction_ModuleName.lua @ 63:768be7eb22a0

Converted several ReAction APIs to event-driven model instead of 'call-method-on-all-modules' model. Cleaned up a number of other architectural issues.
author Flick <flickerstreak@gmail.com>
date Thu, 22 May 2008 22:02:08 +0000
parents 21bcaf8215ff
children da8ba8783924
line wrap: on
line source
--[[
  ReAction module template

--]]

-- local imports
local ReAction = ReAction
local L = ReAction.L
local _G = _G

-- module declaration
local moduleID = "MyModuleName"
local module = ReAction:NewModule( moduleID,
  -- mixins go here
)

-- handlers
function module:OnInitialize()
  self.db = ReAction.db:RegisterNamespace( moduleID
    {
      profile = {
        -- default profile goes here
      }
    }
  )

  -- register some common events
  ReAction.RegisterCallback(self, "OnCreateBar")
  ReAction.RegisterCallback(self, "OnDestroyBar")
  ReAction.RegisterCallback(self, "OnRefreshBar")
  ReAction.RegisterCallback(self, "OnEraseBar")
  ReAction.RegisterCallback(self, "OnRenameBar")
  ReAction.RegisterCallback(self, "OnConfigModeChanged")
end

function module:OnEnable()

end

function module:OnDisable()

end

-- apply module features and settings to a bar object (see Bar.lua for Bar API)
function module:OnCreateBar(event, bar, name)

end

-- remove module features and settings from a bar object
function module:OnDestroyBar(event, bar, name)

end

-- refresh module features and settings on a bar object
function module:OnRefreshBar(event, bar, name)

end

-- erase any local configuration entries for the supplied bar name
function module:OnEraseBar(event, bar, name)

end

-- update any local configuration/option entries with the new bar name index
function module:OnRenameBar(event, bar, oldName, newName)

end

-- update any local display/options based on config mode (true/false)
function module:OnConfigModeChanged(event, mode)

end