diff LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua @ 18:dacd01bf164f

Added profile callbacks. Piggybacked on AceDBOptions' localization for "profiles"
author Andrew Knoll <andrewtknoll@gmail.com>
date Thu, 14 Mar 2013 01:16:01 -0400
parents 4ed8d6827ef7
children ec910729e073
line wrap: on
line diff
--- a/LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua	Thu Mar 14 00:00:45 2013 -0400
+++ b/LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua	Thu Mar 14 01:16:01 2013 -0400
@@ -51,8 +51,13 @@
 	group.syncDB = AceDB:New(group.syncDBTable, nil, initialProfile);
 	group.profileOptionsTable = AceDBOptions:GetOptionsTable(group.syncDB, false);
 	AceConfigRegistry:RegisterOptionsTable(groupName.."Profiles", group.profileOptionsTable);
-	AceConfigDialog:AddToBlizOptions(groupName.."Profiles", "Profiles", groupName); -- need to figure out localization
-	-- profile change callbacks
+	AceConfigDialog:AddToBlizOptions(groupName.."Profiles", group.profileOptionsTable.name, groupName);
+	group.members = {};
+	group.syncDB:RegisterCallback(group, "OnNewProfile", "OnNewProfile");
+	group.syncDB:RegisterCallback(group, "OnProfileChanged", "OnProfileChanged");
+	group.syncDB:RegisterCallback(group, "OnProfileDeleted", "OnProfileDeleted");
+	group.syncDB:RegisterCallback(group, "OnProfileCopied", "OnProfileCopied");
+	group.syncDB:RegisterCallback(group, "OnProfileReset", "OnProfileReset");
 	for k, v in pairs(DBGroup) do
 		group[k] = v;
 	end
@@ -76,3 +81,31 @@
 function DBGroup:AddDB(db)
 
 end
+
+function DBGroup:OnNewProfile(db, profile)
+	print("New Profile");
+	print(type(profile));
+	print(tostring(profile));
+end
+
+function DBGroup:OnProfileChanged(db, profile)
+	print("Profile Changed");
+	print(type(profile));
+	print(tostring(profile));
+end
+
+function DBGroup:OnProfileDeleted(db, profile)
+	print("Profile Deleted");
+	print(type(profile));
+	print(tostring(profile));
+end
+
+function DBGroup:OnProfileCopied(db, profile)
+	print("Profile Copied");
+	print(type(profile));
+	print(tostring(profile));
+end
+
+function DBGroup:OnProfileReset(db)
+	print("Profile Reset");
+end