/branches
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
-- Generic Dialogues for getting mass delete criteria |
StaticPopupDialogs["MN_DELETE_FILTER"] = { |
text = TEXT("___"), |
button1 = ACCEPT, |
button2 = CANCEL, |
hasEditBox = 1, |
maxLetters = 28, |
OnShow = function() |
getglobal(this:GetName().."Text"):SetText( MN_DELETE_TITLE_TEXT ); |
end, |
OnAccept = function() |
local del = getglobal(this:GetParent():GetName().."EditBox"):GetText(); |
if ( ( del ) and ( del ~= "" ) ) then |
if ( MapNotes.delFilter.type == "text" ) then |
MapNotes_DeleteNotesWithText(del, MapNotes.delFilter.key); |
elseif ( MapNotes.delFilter.type == "creator" ) then |
MapNotes_DeleteNotesByCreatorAndName(del, nil, MapNotes.delFilter.key); |
end |
this:GetParent():Hide(); |
end |
end, |
EditBoxOnEnterPressed = function() |
local del = getglobal(this:GetParent():GetName().."EditBox"):GetText(); |
if ( ( del ) and ( del ~= "" ) ) then |
if ( MapNotes.delFilter.type == "text" ) then |
MapNotes_DeleteNotesWithText(del, MapNotes.delFilter.key); |
elseif ( MapNotes.delFilter.type == "creator" ) then |
MapNotes_DeleteNotesByCreatorAndName(del, nil, MapNotes.delFilter.key); |
end |
this:GetParent():Hide(); |
end |
end, |
EditBoxOnEscapePressed = function() |
this:GetParent():Hide(); |
end, |
OnHide = function() |
MapNotes.delFilter = nil; |
end, |
timeout = 0, |
hideOnEscape = 1, |
}; |
-- Drop Down Menu stuff |
MapNotes = {}; |
MapNotes.dd = CreateFrame("Frame", "MapNotes_DropDown", nil, "UIDropDownMenuTemplate"); |
MapNotes.pluginKeys = {}; |
MapNotes.scaleFrames = { |
[1] = MapNotesOptionsFrame, |
[2] = MapNotesEditFrame, |
[3] = MapNotesSendFrame, |
}; |
local function MN_PointyPointyPointy() -- ;P |
local text, ignore = MN_WAYPOINT, true; |
MapNotes.pointy = nil; |
MapNotes.pointyP = {}; |
local Plugin = MapNotes.pluginKeys[ MapNotes.dd.key ]; |
if ( ( not Plugin ) or ( Plugin.wmflag ) ) then |
local note = MapNotes_Data_Notes[MapNotes.dd.key]; |
if ( note ) then |
note = note[MapNotes.dd.id]; |
if ( note ) then |
if ( PointyPointy ) then |
MapNotes.pointy = PP.Set; |
MapNotes.pointyP[1] = MapNotes.dd.key; |
MapNotes.pointyP[2] = MapNotes.dd.id; |
MapNotes.pointyP[3] = MapNotes.dd.x; |
MapNotes.pointyP[4] = MapNotes.dd.y; |
text = "PointyPointy"; |
ignore = nil; |
elseif ( ( Cartographer_Waypoints ) and ( type(Cartographer_Waypoints.AddLHWaypoint) == "function" ) ) then |
MapNotes.pointy = Cartographer_Waypoints.AddLHWaypoint; |
local c, z = MapNotes_Keys[MapNotes.dd.key].c, MapNotes_Keys[MapNotes.dd.key].z; |
if ( ( c ) and ( z ) ) then |
MapNotes.pointyP[1] = c; |
MapNotes.pointyP[2] = z; |
MapNotes.pointyP[3] = MapNotes.dd.x; |
MapNotes.pointyP[4] = MapNotes.dd.y; |
MapNotes.pointyP[5] = note.name; |
text = "Cartographer: "..MN_WAYPOINT; |
ignore = nil; |
end |
elseif ( TomTom ) then |
MapNotes.pointy = TomTom.AddZWaypoint; |
local c, z = MapNotes_Keys[MapNotes.dd.key].c, MapNotes_Keys[MapNotes.dd.key].z; |
if ( ( c ) and ( z ) ) then |
MapNotes.pointyP[1] = c; |
MapNotes.pointyP[2] = z; |
MapNotes.pointyP[3] = MapNotes.dd.x*100; |
MapNotes.pointyP[4] = MapNotes.dd.y*100; |
MapNotes.pointyP[5] = note.name; |
text = "TomTom: "..MN_WAYPOINT; |
ignore = nil; |
end |
end |
end |
end |
end |
return text, _, _, ignore; |
end |
local function MN_Wasted() |
if ( MapNotes_Undelete_Info.key ) then |
return; |
else |
return nil, nil, true; |
end |
end |
local function MN_Copied() |
if ( MapNotes.clipBoard ) then |
return; |
else |
return nil, nil, true; |
end |
end |
local function MN_Copy(andCut) |
-- only route is through DropDown menus and that is where the information is stored |
local note = MapNotes_Data_Notes[MapNotes.dd.key]; |
if ( note ) then |
note = note[MapNotes.dd.id]; |
if ( note ) then |
MapNotes.clipBoard = {}; |
-- Now, |
-- we are NOT copying the specific ID; Nor are we copying the x or y value of the note - ONLY the text, colours, and icon |
-- if pasted in the future, a new ID will be assigned, and x and y will depend on where it has been pasted (needless to say the key will also be determined at that time) |
-- also going to allow the creator to change based on who is doing the pasting... |
MapNotes.clipBoard.name = note.name; |
MapNotes.clipBoard.ncol = note.ncol; |
MapNotes.clipBoard.inf1 = note.inf1; |
MapNotes.clipBoard.in1c = note.in1c; |
MapNotes.clipBoard.inf2 = note.inf2; |
MapNotes.clipBoard.in2c = note.in2c; |
MapNotes.clipBoard.icon = note.icon; |
MapNotes.clipBoard.mininote = note.mininote; |
MapNotes.clipBoard.customIcon = note.customIcon; |
-- if Cutting a note, then we now also need to delete it |
if ( andCut ) then |
MapNotes_DeleteNote(MapNotes.dd.id, MapNotes.dd.key); |
end |
end |
end |
end |
local function MN_Paste() |
if ( MapNotes.clipBoard ) then |
MapNotes_HideAll(); |
local currentZone = MapNotes_Data_Notes[ MapNotes.dd.key ]; |
if ( currentZone ) then |
local checknote = MapNotes_CheckNearNotes(MapNotes.dd.key, MapNotes.dd.x, MapNotes.dd.y); |
if ( checknote ) then |
MapNotes_StatusPrint(format(MAPNOTES_QUICKNOTE_NOTETONEAR, MapNotes_Data_Notes[MapNotes.dd.key][checknote].name ) ); |
else |
local Plugin = MapNotes.pluginKeys[MapNotes.dd.key]; |
MapNotes_TempData_Id = MapNotes_GetZoneTableSize(currentZone) + 1; |
currentZone[MapNotes_TempData_Id] = {}; |
currentZone[MapNotes_TempData_Id].name = MapNotes.clipBoard.name |
currentZone[MapNotes_TempData_Id].ncol = MapNotes.clipBoard.ncol |
currentZone[MapNotes_TempData_Id].inf1 = MapNotes.clipBoard.inf1 |
currentZone[MapNotes_TempData_Id].in1c = MapNotes.clipBoard.in1c |
currentZone[MapNotes_TempData_Id].inf2 = MapNotes.clipBoard.inf2 |
currentZone[MapNotes_TempData_Id].in2c = MapNotes.clipBoard.in2c |
currentZone[MapNotes_TempData_Id].icon = MapNotes.clipBoard.icon |
currentZone[MapNotes_TempData_Id].mininote = MapNotes.clipBoard.mininote |
currentZone[MapNotes_TempData_Id].customIcon = MapNotes.clipBoard.customIcon |
currentZone[MapNotes_TempData_Id].xPos = MapNotes.dd.x; |
currentZone[MapNotes_TempData_Id].yPos = MapNotes.dd.y; |
currentZone[MapNotes_TempData_Id].creator = UnitName("player"); |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
MapNotes_StatusPrint( format(MAPNOTES_ACCEPT_SLASH, MapNotes_GetMapDisplayName(MapNotes.dd.key, Plugin)) ); |
end |
end |
end |
end |
local function MN_Status() |
if ( MapNotes_Options.shownotes ) then |
return MAPNOTES_SHOWNOTES, true; |
else |
return MAPNOTES_SHOWNOTES; |
end |
end |
MapNotes.base_dd_info = { |
-- Define level one elements here |
[1] = { |
{ -- Title |
text = MAPNOTES_NAME, |
isTitle = 1, |
}, |
{ -- Create new note |
text = MAPNOTES_NEW_NOTE, |
func = function() |
MapNotesEditFrame:SetParent( MapNotes.dd.pFrame ); |
MapNotes_TempData_xPos = MapNotes.dd.x; |
MapNotes_TempData_yPos = MapNotes.dd.y; |
MapNotes_TempData_Id = nil; |
MapNotesEditFrame.k = MapNotes.dd.key; |
MapNotesEditFrame.miniMe = IsControlKeyDown(); |
MapNotes_OpenEditForNewNote(); |
end, |
tooltipTitle = MN_TT_MINITITLE; |
tooltipText = MN_TT_MINITEXT; |
}, |
{ -- QuickNote for quick creation without editing |
text = MAPNOTES_QUICKNOTE_DEFAULTNAME, |
func = function() |
local Plugin = MapNotes.pluginKeys[ MapNotes.dd.key ]; |
local lNote = MapNotes_ShortCutNote(MapNotes.dd.x, MapNotes.dd.y, Plugin, IsControlKeyDown(), MapNotes.dd.key); |
if ( ( not Plugin ) or ( Plugin.wmflag ) ) then |
MapNotes_MapUpdate(); |
else |
MapNotes_PlugInsDrawNotes(Plugin); |
end |
if ( lNote ) then |
lNote = getglobal( "MapNotesPOI" .. lNote ); |
if ( lNote ) then |
lNote:SetFrameLevel( MapNotes.dd.pFrame:GetFrameLevel() + 1 ); |
end |
end |
end, |
tooltipTitle = MN_TT_MINITITLE; |
tooltipText = MN_TT_MINITEXT; |
}, |
{ -- Group Note |
text = MAPNOTES_PARTYNOTE, |
func = function() |
MapNotes_SetPartyNote(MapNotes.dd.x, MapNotes.dd.y); |
MapNotes_MapUpdate(); |
end, |
}, |
{ -- Special Actions |
text = MAPNOTES_SPECIAL_ACTIONS, |
hasArrow = true, |
value = "special", |
}, |
{ -- Mass Delete Options |
text = MN_MDELETE, |
hasArrow = true, |
value = "delete", |
}, |
{ -- Options |
text = MAPNOTES_OPTIONS, |
func = function() |
MapNotes_HideAll(); |
MapNotesOptionsFrame:SetParent(MapNotes.dd.pFrame); |
local pScale = MapNotes.dd.pFrame:GetEffectiveScale(); |
MapNotesOptionsFrame:SetScale( 0.8 / pScale ); |
MapNotesOptionsFrame:Show(); |
MapNotesOptionsFrame:SetAlpha(1); |
end, |
}, |
{ -- Cancel |
text = CANCEL, |
func = function() |
HideDropDownMenu(1); |
end, |
}, |
}, |
[2] = { |
special = { |
{ -- Show (/Hide) All MapNotes |
dynamicFunc = MN_Status, |
func = function() |
if ( MapNotes_Options.shownotes ) then |
MapNotes_Options.shownotes = false; |
else |
MapNotes_Options.shownotes = true; |
end |
HideDropDownMenu(1); |
local Plugin = MapNotes.pluginKeys[ MapNotes.dd.key ]; |
if ( ( not Plugin ) or ( Plugin.wmflag ) ) then |
MapNotes_MapUpdate(); |
else |
MapNotes_PlugInsDrawNotes(Plugin); |
end |
end |
}, |
{ -- Paste a Copied/Cut note |
dynamicFunc = MN_Copied, |
text = MN_PASTE, |
func = function() |
MN_Paste(); |
HideDropDownMenu(1); |
end, |
}, |
{ -- Undelete if possible... |
dynamicFunc = MN_Wasted, |
text = MAPNOTES_CHAT_COMMAND_UNDELETE, |
func = function() |
MapNotes_Undelete(); |
HideDropDownMenu(1); |
end |
}, |
}, |
delete = { |
{ -- containing Text |
text = MN_TEXT, |
func = function() |
local lName = MapNotes_GetMapDisplayName(MapNotes.dd.key); |
MN_DELETE_TITLE_TEXT = MN_MDELETE .. MN_TEXT .. " (" .. lName .. ")"; |
MapNotes.delFilter = {}; |
MapNotes.delFilter.type = "text"; |
MapNotes.delFilter.key = MapNotes.dd.key; |
StaticPopup_Show("MN_DELETE_FILTER"); |
HideDropDownMenu(1); |
end, |
}, |
{ -- by Creator |
text = MN_CREATOR, |
func = function() |
local lName = MapNotes_GetMapDisplayName(MapNotes.dd.key); |
MN_DELETE_TITLE_TEXT = MN_MDELETE .. MN_CREATOR .. " (" .. lName .. ")"; |
MapNotes.delFilter = {}; |
MapNotes.delFilter.type = "creator"; |
MapNotes.delFilter.key = MapNotes.dd.key; |
StaticPopup_Show("MN_DELETE_FILTER"); |
HideDropDownMenu(1); |
end, |
}, |
}, |
}, |
}; |
local function MN_GetMiniNoteToggleText() |
if ( string.find(MapNotes.dd.key, "^WM %a+") ) then |
if ( not MapNotes.dd.id ) then |
return nil, nil, true, nil; |
elseif ( MapNotes.dd.id == 0 ) then |
if ( MapNotes_MiniNote_Data.icon == "tloc") then |
return MAPNOTES_MININOTE_OFF; |
else |
return MAPNOTES_MININOTE_ON; |
end |
elseif ( MapNotes.dd.id == -1 ) then |
if ( MapNotes_MiniNote_Data.icon == "party") then |
return MAPNOTES_MININOTE_OFF; |
else |
return MAPNOTES_MININOTE_ON; |
end |
elseif ( MapNotes_Data_Notes[MapNotes.dd.key][MapNotes.dd.id].mininote ) then |
return MAPNOTES_MININOTE_OFF; |
else |
return MAPNOTES_MININOTE_ON; |
end |
else |
return nil, nil, nil, true; |
end |
end |
MapNotes.mininote_dd_info = { |
-- Define level one elements here |
[1] = { |
{ -- Title |
text = MAPNOTES_NAME, |
isTitle = 1, |
}, |
{ -- Edit Note |
text = MAPNOTES_EDIT_NOTE, |
func = function() |
MapNotesEditFrame.k = MapNotes.dd.key; |
MapNotes_OpenEditForExistingNote(MapNotes.dd.key, MapNotes.dd.id); |
end, |
}, |
{ -- Delete Note |
text = MAPNOTES_DELETE_NOTE, |
func = function() |
MapNotes_DeleteNote(MapNotes.dd.id, MapNotes.dd.key); |
end, |
}, |
{ -- Mininote Toggle |
text = nil, |
dynamicFunc = MN_GetMiniNoteToggleText; |
func = function() |
if ( not MapNotes.dd.id ) then |
-- Doh !!! |
elseif ( MapNotes_Data_Notes[MapNotes.dd.key][MapNotes.dd.id].mininote ) then |
local note = {}; |
note.key = MapNotes.dd.key |
note.id = MapNotes.dd.id; |
MapNotes_ClearMiniNote(nil, note); |
else |
MapNotes_SetAsMiniNote(MapNotes.dd.id); |
end |
end, |
}, |
{ -- PointyPointy |
text = MN_WAYPOINT, |
dynamicFunc = MN_PointyPointyPointy; |
func = function() |
MapNotes.pointy( unpack(MapNotes.pointyP) ); |
end, |
}, |
{ -- Options |
text = MAPNOTES_OPTIONS, |
func = function() |
MapNotes_HideAll(); |
MapNotesOptionsFrame:SetParent(MapNotes.dd.pFrame); |
local pScale = MapNotes.dd.pFrame:GetEffectiveScale(); |
MapNotesOptionsFrame:SetScale( 0.8 / pScale ); |
MapNotesOptionsFrame:Show(); |
MapNotesOptionsFrame:SetAlpha(1); |
end, |
}, |
{ -- Cancel |
text = CANCEL, |
func = function() |
HideDropDownMenu(1); |
end, |
}, |
}, |
}; |
MapNotes.note_dd_info = { |
-- Define level one elements here |
[1] = { |
{ -- Title |
text = MAPNOTES_NAME, |
isTitle = 1, |
}, |
{ |
-- Edit Note |
text = MAPNOTES_EDIT_NOTE, |
func = function() |
MapNotesEditFrame.k = MapNotes.dd.key; |
MapNotes_OpenEditForExistingNote(MapNotes.dd.key, MapNotes.dd.id); |
end, |
}, |
{ |
-- Delete Note |
text = MAPNOTES_DELETE_NOTE, |
func = function() |
MapNotes_DeleteNote(MapNotes.dd.id, MapNotes.dd.key); |
end, |
}, |
{ -- Mininote Toggle |
text = nil, |
dynamicFunc = MN_GetMiniNoteToggleText; |
func = function() |
if ( not MapNotes.dd.id ) then |
-- Doh !!! |
elseif ( MapNotes_Data_Notes[MapNotes.dd.key][MapNotes.dd.id].mininote ) then |
local note = {}; |
note.key = MapNotes.dd.key |
note.id = MapNotes.dd.id; |
MapNotes_ClearMiniNote(nil, note); |
else |
MapNotes_SetAsMiniNote(MapNotes.dd.id); |
end |
end, |
}, |
{ -- PointyPointy |
text = MN_WAYPOINT, |
dynamicFunc = MN_PointyPointyPointy; |
func = function() |
MapNotes.pointy( unpack(MapNotes.pointyP) ); |
end, |
}, |
{ -- Special Actions |
text = MAPNOTES_SPECIAL_ACTIONS, |
hasArrow = true, |
value = "special", |
}, |
{ -- Send to ... |
text = MAPNOTES_SEND_NOTE; |
hasArrow = true, |
value = "send", |
}, |
{ -- Options |
text = MAPNOTES_OPTIONS, |
func = function() |
MapNotes_HideAll(); |
MapNotesOptionsFrame:SetParent(MapNotes.dd.pFrame); |
local pScale = MapNotes.dd.pFrame:GetEffectiveScale(); |
MapNotesOptionsFrame:SetScale( 0.8 / pScale ); |
MapNotesOptionsFrame:Show(); |
MapNotesOptionsFrame:SetAlpha(1); |
end, |
}, |
{ -- Cancel |
text = CANCEL, |
func = function() |
HideDropDownMenu(1); |
end, |
}, |
}, |
[2] = { |
special = { |
{ -- Cut Note |
text = MN_CUT, |
func = function() |
-- have to write this functionality |
MN_Copy(true); |
HideDropDownMenu(1); |
end, |
}, |
{ -- Copy Note |
text = MN_COPY, |
func = function() |
-- have to write this functionality |
MN_Copy(); |
HideDropDownMenu(1); |
end, |
}, |
{ -- Draw... from/to? |
text = MAPNOTES_TOGGLELINE, |
func = function() |
MapNotes_StartGUIToggleLine(MapNotes.dd.key); |
HideDropDownMenu(1); |
end, |
}, |
}, |
send = { |
{ -- Whisper |
text = WHISPER .. " / " .. MAPNOTES_SEND_SLASHTITLE, |
func = function() |
MapNotesSendFrame.key = MapNotes.dd.key; |
MapNotes_ShowSendFrame(1); |
HideDropDownMenu(1); |
end, |
}, |
{ -- Party |
text = PARTY, |
func = function() |
MapNotesSendFrame.key = MapNotes.dd.key; |
MapNotes_SendNote(2); |
HideDropDownMenu(1); |
end |
}, |
{ -- Raid |
text = RAID, |
func = function() |
MapNotesSendFrame.key = MapNotes.dd.key; |
MapNotes_SendNote(3); |
HideDropDownMenu(1); |
end |
}, |
{ -- Battleground |
text = BATTLEGROUND, |
func = function() |
MapNotesSendFrame.key = MapNotes.dd.key; |
MapNotes_SendNote(4); |
HideDropDownMenu(1); |
end |
}, |
{ -- Guild |
text = GUILD, |
func = function() |
MapNotesSendFrame.key = MapNotes.dd.key; |
MapNotes_SendNote(5); |
HideDropDownMenu(1); |
end |
}, |
}, |
}, |
}; |
MapNotes.temp_dd_info = { |
-- Define level one elements here |
[1] = { |
{ -- Title |
text = MAPNOTES_NAME, |
isTitle = 1, |
}, |
{ -- Convert to Permanent Note without opening Edit Frame... i.e. delete temporary, and create quick note(?) |
text = MN_CONVERT, |
func = function() |
local Plugin = MapNotes_DeleteNote(MapNotes.dd.id, MapNotes.dd.key, true); |
local storeN = MAPNOTES_QUICKNOTE_DEFAULTNAME; |
if ( MapNotes.dd.id == 0 ) then |
MAPNOTES_QUICKNOTE_DEFAULTNAME = tostring(MAPNOTES_THOTTBOTLOC ); |
elseif ( MapNotes.dd.id == -1 ) then |
MAPNOTES_QUICKNOTE_DEFAULTNAME = tostring(MAPNOTES_PARTYNOTE); |
end |
local lNote = MapNotes_ShortCutNote(MapNotes.dd.x, MapNotes.dd.y, Plugin, true, MapNotes.dd.key); |
if ( ( not Plugin ) or ( Plugin.wmflag ) ) then |
MapNotes_MapUpdate(); |
else |
MapNotes_PlugInsDrawNotes(Plugin); |
end |
if ( lNote ) then |
lNote = getglobal( "MapNotesPOI" .. lNote ); |
if ( lNote ) then |
lNote:SetFrameLevel( MapNotes.dd.pFrame:GetFrameLevel() + 1 ); |
end |
end |
MAPNOTES_QUICKNOTE_DEFAULTNAME = storeN; |
end, |
}, |
{ -- Toggle as Mininote |
text = nil, |
dynamicFunc = MN_GetMiniNoteToggleText; |
func = function() |
if ( not MapNotes.dd.id ) then |
-- Doh !!! |
elseif ( MapNotes.dd.id == 0 ) then |
if ( MapNotes_MiniNote_Data.icon == "tloc") then |
MapNotes_ClearMiniNote(nil, "tloc"); |
else |
MapNotes_SetAsMiniNote(0); |
end |
elseif ( MapNotes.dd.id == -1 ) then |
if ( MapNotes_MiniNote_Data.icon == "party") then |
MapNotes_ClearMiniNote(nil, "party"); |
else |
MapNotes_SetAsMiniNote(-1); |
end |
end |
end, |
}, |
{ -- PointyPointy |
text = MN_WAYPOINT, |
dynamicFunc = MN_PointyPointyPointy; |
func = function() |
MapNotes.pointy( unpack(MapNotes.pointyP) ); |
end, |
}, |
{ -- Delete |
text = MAPNOTES_DELETE_NOTE, |
func = function() |
MapNotes_DeleteNote(MapNotes.dd.id, MapNotes.dd.key); |
end, |
}, |
{ -- Options |
text = MAPNOTES_OPTIONS, |
func = function() |
MapNotes_HideAll(); |
MapNotesOptionsFrame:SetParent(MapNotes.dd.pFrame); |
local pScale = MapNotes.dd.pFrame:GetEffectiveScale(); |
MapNotesOptionsFrame:SetScale( 0.8 / pScale ); |
MapNotesOptionsFrame:Show(); |
MapNotesOptionsFrame:SetAlpha(1); |
end, |
}, |
{ -- Cancel |
text = CANCEL, |
func = function() |
HideDropDownMenu(1); |
end, |
}, |
}, |
}; |
MapNotes.coords_dd_info = { |
-- Define level one elements here |
[1] = { |
{ -- Title |
text = MAPNOTES_NAME, |
isTitle = 1, |
}, |
{ -- Quick Note |
text = MAPNOTES_QUICKNOTE_DEFAULTNAME, |
func = function() |
MapNotes_CreateQuickNote(nil, nil, nil, nil, IsControlKeyDown()); |
end, |
tooltipTitle = MN_TT_MINITITLE; |
tooltipText = MN_TT_MINITEXT; |
}, |
{ -- Target Note |
text = BINDING_NAME_MN_TARGET_NEW, |
func = function() |
MapNotes_TargetNote(""); |
end, |
tooltipTitle = MN_TT_MINITITLE; |
tooltipText = MN_TT_MINITEXT; |
}, |
{ -- Merge Note |
text = BINDING_NAME_MN_TARGET_MERGE, |
func = function() |
MapNotes_MergeNote(""); |
end, |
tooltipTitle = MN_TT_MINITITLE; |
tooltipText = MN_TT_MINITEXT; |
}, |
{ -- Undelete if possible... |
dynamicFunc = MN_Wasted, |
text = MAPNOTES_CHAT_COMMAND_UNDELETE, |
func = function() |
MapNotes_Undelete(); |
HideDropDownMenu(1); |
end, |
}, |
{ -- Mass Delete Options |
text = MN_MDELETE, |
hasArrow = true, |
value = "delete", |
}, |
{ -- Options |
text = MAPNOTES_OPTIONS, |
func = function() |
MapNotes_HideAll(); |
MapNotesOptionsFrame:SetParent(MapNotes.dd.pFrame); |
local pScale = MapNotes.dd.pFrame:GetEffectiveScale(); |
MapNotesOptionsFrame:SetScale( 0.8 / pScale ); |
MapNotesOptionsFrame:Show(); |
MapNotesOptionsFrame:SetAlpha(1); |
end, |
}, |
{ -- Cancel |
text = CANCEL, |
func = function() |
HideDropDownMenu(1); |
end, |
}, |
}, |
[2] = { |
delete = { |
{ -- containing Text |
text = MN_TEXT, |
func = function() |
MN_DELETE_TITLE_TEXT = MN_MDELETE .. MN_TEXT .. " (" .. MN_ALLZONES .. ")"; |
MapNotes.delFilter = {}; |
MapNotes.delFilter.type = "text"; |
StaticPopup_Show("MN_DELETE_FILTER"); |
HideDropDownMenu(1); |
end, |
}, |
{ -- by Creator |
text = MN_CREATOR, |
func = function() |
MN_DELETE_TITLE_TEXT = MN_MDELETE .. MN_CREATOR .. " (" .. MN_ALLZONES .. ")"; |
MapNotes.delFilter = {}; |
MapNotes.delFilter.type = "creator"; |
StaticPopup_Show("MN_DELETE_FILTER"); |
HideDropDownMenu(1); |
end, |
}, |
}, |
}, |
}; |
local function MN_Init_DD(self, level) |
-- Make sure level is set to 1, if not supplied |
level = level or 1 |
-- Get the current level from the info table |
local info = MapNotes.dd.info[level] |
-- If a value has been set, try to find it at the current level |
if level > 1 and UIDROPDOWNMENU_MENU_VALUE then |
if info[UIDROPDOWNMENU_MENU_VALUE] then |
info = info[UIDROPDOWNMENU_MENU_VALUE] |
end |
end |
-- Add the buttons to the menu |
for idx, entry in ipairs(info) do |
if ( entry.dynamicFunc ) then |
local text, checked, disabled, ignore = entry.dynamicFunc(); |
if ( text ) then entry.text = text; end |
entry.checked = checked; |
entry.disabled = disabled; |
if ( ignore ) then entry.text = nil; end |
else |
entry.checked = nil; |
end |
if ( entry.text ) then |
UIDropDownMenu_AddButton(entry, level); |
end |
end |
end |
function MapNotes:InitialiseDropdown(pFrame, x, y, info, key, id) |
self.dd.pFrame = pFrame; |
self.dd.x = x; |
self.dd.y = y; |
self.dd.info = info; |
self.dd.key = key; |
self.dd.id = id; |
UIDropDownMenu_Initialize(self.dd, MN_Init_DD, "MENU"); |
end |
-- Extract x and y coordinates from text with optional comma/space separators allowing for decimal points |
function MapNotes_ExtractCoords(data) |
local tS, tE, tX, tY = string.find(data, "(%d%d?%.%d*)%.%.*(%d%d?%.%d*)"); |
if ( ( not tX ) or ( not tY ) ) then |
tS, tE, tX, tY = string.find(data, "(%d%d?%.?%d*)[^0-9^%.]+%.*[^0-9^%.]*(%d%d?%.?%d*)"); |
end |
if ( ( not tX ) and ( not tY ) ) then |
tS, tE, tX, tY = string.find(data, "(%d%d?)%.+(%d%d?)"); |
end |
if ( ( tX ) and ( tY ) ) then |
tX = tonumber(tX); |
tY = tonumber(tY); |
end |
if ( ( tX ) and ( tY ) ) then |
local restText = string.sub(data, tE+1); |
if ( not restText ) then |
restText = ""; |
end |
local msgStart = string.find(restText, "%S"); |
if ( ( msgStart ) and ( msgStart < string.len(restText) ) ) then |
restText = string.sub(restText, msgStart); |
end |
return tX, tY, restText; |
end |
MapNotes_StatusPrint(MAPNOTES_COORDINATE_FORMATTING_ERROR1); |
MapNotes_StatusPrint(MAPNOTES_COORDINATE_FORMATTING_ERROR2); |
MapNotes_StatusPrint(MAPNOTES_COORDINATE_FORMATTING_ERROR3); |
return nil, nil, nil; |
end |
-- Telic_1 Functions |
function MapNotes_GetAdjustedMapXY(lclFrame, x, y) |
local normalisingFactor = MN_DEFAULT_SCALE; |
if ( ( MapNotes_Options ) and ( MapNotes_Options.nFactor ) ) then |
normalisingFactor = MapNotes_Options.nFactor; |
end |
local eScale = 1 / (normalisingFactor / lclFrame:GetEffectiveScale()); |
local xAdjustment, yAdjustment = 125, 60; |
local width = lclFrame:GetWidth() * eScale; |
local height = lclFrame:GetHeight() * eScale; |
local adjustedX, adjustedY = x, y; |
if ( not x ) then |
adjustedX, adjustedY = MapNotes_GetMouseXY(lclFrame); |
end |
local xOff, yOff = 0, 0; |
if ( adjustedX < 0.5 ) then |
xOff = xAdjustment; |
else |
xOff = -(xAdjustment); |
end |
if ( adjustedY < 0.5 ) then |
yOff = -(yAdjustment); |
else |
yOff = yAdjustment; |
end |
adjustedX = math.floor( ( (width*adjustedX) + xOff ) ); |
adjustedY = math.floor( ( -(height*adjustedY) + yOff) ); |
return adjustedX, adjustedY; |
end |
function MapNotes_GetMouseXY(lclFrame) |
local width = lclFrame:GetWidth(); |
local height = lclFrame:GetHeight(); |
local x, y = GetCursorPosition(); |
x = x / (lclFrame:GetEffectiveScale()); |
y = y / (lclFrame:GetEffectiveScale()); |
local centerX, centerY = lclFrame:GetCenter(); |
x = (x - (centerX - (width/2))) / width; |
y = (centerY + (height/2) - y ) / height; |
return x, y; |
end |
function MapNotes_NormaliseScale(theFrame, toScale) |
local normalisingFactor = MN_DEFAULT_SCALE; |
if ( ( MapNotes_Options ) and ( MapNotes_Options.nFactor ) ) then |
normalisingFactor = MapNotes_Options.nFactor; |
end |
local anchorFrame = theFrame:GetParent(); |
if ( anchorFrame ) then |
if ( not toScale ) then |
toScale = normalisingFactor; |
end |
local eScale = anchorFrame:GetEffectiveScale(); |
eScale = toScale / eScale; |
theFrame:SetScale( eScale ); |
return eScale; |
end |
end |
-- Telic_2 Functions |
-- Probably need the ability to create Note Buttons for each AddOn that wants them |
-- as won't be able to show MapNotes on the World map and Alpha Map at the same time |
-- if they are trying to display the exact same XML components... |
-- If Plugin is left nil, then this function can be called to generate the default MapNotes POI buttons |
-- Could therefore be used to create them dynamically as needed instead of having a fixed maximum... |
function MapNotes_AssignPOI(index, Plugin) |
local POI; |
if ( Plugin ) then |
local lclFrame = getglobal(Plugin.frame); |
POI = getglobal( (Plugin.frame) .. "POI" .. index ); |
if ( not POI ) then |
POI = CreateFrame("Button", (Plugin.frame) .. "POI" .. index, lclFrame, "MapNotesPOIButtonTemplate"); |
POI:SetID(index); |
end |
POI.Plugin = Plugin; -- Associate Plugin Data with each Note (nil for original WorldMap Notes) |
-- Useful for distinguishing between types of note; Also, useful for |
-- other AddOns that want to remain compatible (i.e. NotesUNeed) |
else |
local lclFrame = getglobal("WorldMapButton"); |
POI = getglobal( "MapNotesPOI" .. index ); |
if ( not POI ) then |
POI = CreateFrame("Button", "MapNotesPOI" .. index, WorldMapButton, "MapNotesPOIButtonTemplate"); |
POI:SetID(index); |
end |
POI.Plugin = nil; -- Just to be explicit |
end |
return POI; |
end |
function MapNotes_AssignLine(index, Plugin) |
local Line; |
if ( Plugin ) then |
local lclFrame = getglobal( (Plugin.frame) .. "_MNLinesFrame" ); |
Line = getglobal( lclFrame:GetName() .. "Lines_" .. index ); |
if ( not Line ) then |
Line = lclFrame:CreateTexture( (lclFrame:GetName() .. "Lines_" .. index), "ARTWORK" ); |
end |
else |
Line = getglobal("MapNotesLines_"..index); |
if ( not Line ) then |
Line = MapNotesLinesFrame:CreateTexture( ("MapNotesLines_"..index), "ARTWORK"); |
end |
end |
return Line; |
end |
-- Telic_10 Functions |
------------------------------------------------------------------------------------------------- |
-- Make MapNotes independant of Localisation (ZoneShifting) Errors |
-- (i.e. future proofed. It doesn't fix errors already present in the notes when upgrading.) |
------------------------------------------------------------------------------------------------- |
MapNotes_Keys = {}; -- MapNotes Keys with Localised name details |
MapNotes_OldKeys = {}; -- Mapping of old [Continent][Zone] to New Key values (for this localisation) |
MapNotes_MetaKeys = {}; -- Mapping of MetaMaps new (but still not global?) Map Keys |
-- Basically adding Localised names to the the 'constants' now used as note keys |
function MapNotes_LoadMapData() |
MapNotes_BuildKeyList(); -- Other Addons that want to use the same keys should look here |
if ( not MapNotes_Data_Notes ) then |
MapNotes_Data_Notes = {}; |
end |
if ( not MapNotes_Data_Lines ) then |
MapNotes_Data_Lines = {}; |
end |
if ( not MapNotes_Undelete_Info ) then |
MapNotes_Undelete_Info = {}; |
end |
for mapName, mapObject in pairs(MapNotes_Keys) do |
if ( not MapNotes_Data_Notes[ mapName ] ) then |
MapNotes_Data_Notes[ mapName ] = {}; |
end |
if ( not MapNotes_Data_Lines[ mapName ] ) then |
MapNotes_Data_Lines[ mapName ] = {}; |
end |
end |
if ( not MapNotes_Options.Edition ) then |
MapNotes_Options.Edition = MAPNOTES_EDITION; |
end |
MapNotes_Options.Version = MAPNOTES_VERSION; |
end |
--Other Addons that want to use the same keys should look here |
--World Map Keys are basically "WM "..GetMapInfo() |
--Localised names are all fetched from game info, except for Battlegrounds - these need to be provided in the localisation files |
function MapNotes_BuildKeyList() |
local continentNames = { GetMapContinents() }; |
local key = "WM Cosmic"; -- Burning Crusade Support |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].name = MAPNOTES_COSMIC; |
MapNotes_Keys[key].longName = MAPNOTES_COSMIC; |
MapNotes_Keys[key].c = -1; |
local key = "WM WorldMap"; -- Manually set when GetMapInfo() returns nil |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].name = WORLD_MAP; -- Blizzard provided constant |
MapNotes_Keys[key].longName = WORLD_MAP; |
MapNotes_Keys[key].c = 0; |
key = "WM AlteracValley"; |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].miniData = MAPNOTES_BASEKEYS[key].miniData; |
MapNotes_Keys[key].name = MAPNOTES_ALTERACVALLEY; |
MapNotes_Keys[key].longName = MAPNOTES_ALTERACVALLEY; |
key = "WM ArathiBasin"; |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].miniData = MAPNOTES_BASEKEYS[key].miniData; |
MapNotes_Keys[key].name = MAPNOTES_ARATHIBASIN; |
MapNotes_Keys[key].longName = MAPNOTES_ARATHIBASIN; |
key = "WM WarsongGulch"; |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].miniData = MAPNOTES_BASEKEYS[key].miniData; |
MapNotes_Keys[key].name = MAPNOTES_WARSONGGULCH; |
MapNotes_Keys[key].longName = MAPNOTES_WARSONGGULCH; |
key = "WM NetherstormArena"; |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].miniData = MAPNOTES_BASEKEYS[key].miniData; |
MapNotes_Keys[key].name = MAPNOTES_NETHERSTORM; |
MapNotes_Keys[key].longName = MAPNOTES_NETHERSTORM; |
key = "WM StrandoftheAncients"; |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].miniData = MAPNOTES_BASEKEYS[key].miniData; |
MapNotes_Keys[key].name = MAPNOTES_SOTA; |
MapNotes_Keys[key].longName = MAPNOTES_SOTA; |
key = "WM ScarletEnclave"; |
MapNotes_Keys[key] = {}; |
MapNotes_Keys[key].miniData = MAPNOTES_BASEKEYS[key].miniData; |
MapNotes_Keys[key].name = MAPNOTES_SCARLETENCLAVE; |
MapNotes_Keys[key].longName = MAPNOTES_SCARLETENCLAVE; |
for i in ipairs(continentNames) do |
SetMapZoom(i); |
local map = GetMapInfo(); |
map = "WM "..map; |
if ( not MapNotes_Keys[map] ) then |
MapNotes_Keys[map] = {}; |
end |
MapNotes_Keys[map].name = continentNames[i]; |
MapNotes_Keys[map].longName = continentNames[i]; |
MapNotes_Keys[map].c = i; |
if ( not MapNotes_OldKeys[i] ) then |
MapNotes_OldKeys[i] = {}; |
end |
local zoneNames = { GetMapZones(i) }; |
local dL; |
local floored = {}; |
for j in ipairs(zoneNames) do |
SetMapZoom(i, j); |
map = GetMapInfo(); |
dL = GetNumDungeonMapLevels(); |
if ( dL > 0 ) then |
floored[map] = {}; |
floored[map].floors = dL; |
floored[map].c = i; |
floored[map].z = j; |
else |
map = "WM "..map; |
if ( not MapNotes_Keys[map] ) then |
MapNotes_Keys[map] = {}; |
end |
if ( ( MAPNOTES_BASEKEYS[map] ) and ( MAPNOTES_BASEKEYS[map].miniData ) ) then |
MapNotes_Keys[map].miniData = MAPNOTES_BASEKEYS[map].miniData; |
else |
MapNotes_Keys[map].miniData = MAPNOTES_DEFAULT_MINIDATA; |
end |
MapNotes_Keys[map].name = zoneNames[j]; |
MapNotes_Keys[map].longName = continentNames[i].." - "..zoneNames[j]; |
MapNotes_Keys[map].c = i; |
MapNotes_Keys[map].z = j; |
if ( not MapNotes_OldKeys[i][j] ) then |
MapNotes_OldKeys[i][j] = map; |
end |
if ( MetaMap_ZoneIDToName ) then |
local metaKey = MetaMap_ZoneIDToName(i, j); |
if ( metaKey ) then |
MapNotes_MetaKeys[metaKey] = map; |
end |
end |
end |
for map, floorDetails in pairs(floored) do |
local floorname, key; |
local mapTmp = strupper(map); |
for floor=1, floorDetails.floors do |
floorname = getglobal("DUNGEON_FLOOR_" .. mapTmp .. floor); |
key = "WM " .. map .. floor; |
if ( not MapNotes_Keys[key] ) then |
MapNotes_Keys[key] = {}; |
end |
if ( ( MAPNOTES_BASEKEYS[key] ) and ( MAPNOTES_BASEKEYS[key].miniData ) ) then |
MapNotes_Keys[key].miniData = MAPNOTES_BASEKEYS[key].miniData; |
else |
MapNotes_Keys[key].miniData = MAPNOTES_DEFAULT_MINIDATA; |
end |
MapNotes_Keys[key].name = zoneNames[j] .. ": " .. floorname; |
MapNotes_Keys[key].longName = continentNames[i].." - "..zoneNames[j] .. ": " .. floorname; |
MapNotes_Keys[key].c = floorDetails.c; |
MapNotes_Keys[key].z = floorDetails.z; |
MapNotes_Keys[key].f = floor; |
if ( not MapNotes_OldKeys[i][j] ) then |
MapNotes_OldKeys[i][j] = map; |
end |
end |
end |
end |
end |
end |
function MapNotes_GetMapKey() |
local map = GetMapInfo(); |
local dL = GetCurrentMapDungeonLevel(); |
if ( not map ) then |
if ( GetCurrentMapContinent() == WORLDMAP_COSMIC_ID ) then |
map = "Cosmic"; |
else |
map = "WorldMap"; |
end |
end |
if ( dL > 0 ) then |
map = "WM "..map..dL; |
else |
map = "WM "..map; |
end |
return map; |
end |
function MapNotes_GetMapDisplayName(key, Plugin) |
if ( not Plugin ) then |
Plugin = MapNotes.pluginKeys[key]; |
end |
if ( Plugin ) then |
if ( Plugin.lclFnc ) then |
local subber = Plugin.name .. " "; |
local basicKey, subbed = string.gsub(key, subber, ""); |
if ( ( basicKey ) and ( subbed ) and ( subbed > 0 ) ) then |
local localiser = getglobal(Plugin.lclFnc); |
if ( ( localiser ) and ( type(localiser) == "function" ) ) then |
local name = localiser(basicKey); |
if ( name ) then |
lName = Plugin.name .. " - " .. name; |
return name, lName, Plugin.name; |
end |
end |
end |
end |
else |
if ( MapNotes_Keys[key] ) then |
return MapNotes_Keys[key].name, MapNotes_Keys[key].longName, WORLD_MAP; |
end |
end |
return tostring(key), tostring(key), "?"; -- Allow for no Localised Name data (i.e. at least don't return nil and cause a crash) |
end |
------------------------------------------------------------------------------------------------- |
-- Scaling functions for note |
------------------------------------------------------------------------------------------------- |
local MN_SCALE_MIN = 0.65; |
local MN_SCALE_MAX = 1.2; |
function MN_ScaleMe(self, minum, maxum, dflt) |
local gScale = UIParent:GetScale(); |
local lScale = self:GetParent():GetScale(); |
local eScale = self:GetParent():GetEffectiveScale(); |
if ( not minum ) then |
minum = MN_SCALE_MIN; |
end |
if ( not maxum ) then |
maxum = MN_SCALE_MAX; |
end |
if ( not dflt ) then |
dflt = 1; |
end |
eScale = eScale * dflt; |
if ( eScale < minum ) then |
return ( ( minum / gScale ) / lScale ); |
elseif ( eScale > maxum ) then |
return ( ( maxum / gScale ) / lScale ); |
end |
return dflt; |
end |
-- Telic_4 Functions |
------------------------------------------------------------------------------------------------- |
-- Import from other Noting AddOns |
-- NOTE : Not Importing any "Lines" at the moment... |
------------------------------------------------------------------------------------------------- |
-- METAMAP IMPORT |
local numberImported; |
function MapNotes_ImportMetaMap() |
local key; |
numberImported = 0; |
if ( MetaMap_Notes ) then |
for index, records in pairs(MetaMap_Notes) do |
if ( index == METAMAP_WARSONGGULCH ) then |
key = "WM WarsongGulch"; |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
MapNotes_Data_Lines[key] = {}; |
end |
MapNotes_ImportZoneNotes(records, MapNotes_Data_Notes[key]); |
elseif ( index == METAMAP_ALTERACVALLEY ) then |
key = "WM AlteracValley"; |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
MapNotes_Data_Lines[key] = {}; |
end |
MapNotes_ImportZoneNotes(records, MapNotes_Data_Notes[key]); |
elseif ( index == METAMAP_ARATHIBASIN ) then |
key = "WM ArathiBasin"; |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
MapNotes_Data_Lines[key] = {}; |
end |
MapNotes_ImportZoneNotes(records, MapNotes_Data_Notes[key]); |
-- elseif -- MetaMap Instances |
-- Nowhere to display Instance notes in basic version of MapNotes |
-- (Can import AlphaMap's Instance notes and use alongside AlphaMap) |
elseif ( MapNotes_MetaKeys[index] ) then |
local key = MapNotes_MetaKeys[index]; |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
MapNotes_Data_Lines[key] = {}; |
end |
MapNotes_ImportZoneNotes(records, MapNotes_Data_Notes[key]); |
end |
end |
end |
MapNotes_StatusPrint(numberImported..MAPNOTES_IMPORT_REPORT); |
end |
function MapNotes_ImportZoneNotes(sourceData, targetData) |
for index, record in ipairs(sourceData) do |
targetData[index] = sourceData[index]; |
numberImported = numberImported + 1; |
end |
end |
-- ALPHAMAP IMPORT |
function MapNotes_ImportAlphaMap(bgOnly) |
local key; |
numberImported = 0; |
if ( AM_ALPHAMAP_LIST ) then |
for index, map in pairs(AM_ALPHAMAP_LIST) do |
if ( ( ( bgOnly == "OnlyBGs" ) and ( map.type == AM_TYP_BG ) ) or ( ( bgOnly ~= "OnlyBGs" ) and ( map.type ~= AM_TYP_BG ) ) ) then |
local key = "AlphaMap "..(map.filename); |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
MapNotes_Data_Lines[key] = {}; |
end |
local targetData = MapNotes_Data_Notes[key]; |
local index = 0; |
table.sort(map); |
for detailName, details in pairs(map) do |
if ( ( type(details) == "table" ) and ( details.coords ) ) then |
for point, coordinates in ipairs(details.coords) do |
numberImported = numberImported + 1; |
index = index + 1; |
local imported = MapNotes_CreateAlphaNote(details, targetData, index, coordinates); |
if ( not imported ) then |
numberImported = numberImported - 1; |
index = index - 1; |
end |
end |
end |
end |
end |
end |
end |
MapNotes_StatusPrint(numberImported..MAPNOTES_IMPORT_REPORT); |
end |
function MapNotes_ImportAlphaMapBG() |
MapNotes_ImportAlphaMap("OnlyBGs"); |
end |
function MapNotes_CreateAlphaNote(noteDetails, targetData, index, coords) |
if ( ( coords[1] == 0 ) and ( coords[2] == 0 ) ) then |
return nil; |
end |
targetData[index] = {}; |
targetData[index].name = noteDetails.text; |
targetData[index].inf1 = noteDetails.tooltiptxt; |
if ( noteDetails.special ) then |
targetData[index].inf2 = noteDetails.special; |
else |
targetData[index].inf2 = ""; |
end |
targetData[index].creator = "AlphaMap"; |
targetData[index].xPos = coords[1] / 100; |
targetData[index].yPos = coords[2] / 100; |
targetData[index].in2c = 8; |
if ( noteDetails.colour == AM_RED ) then |
targetData[index].icon = 6; |
targetData[index].ncol = 2; |
targetData[index].in1c = 0; |
elseif ( noteDetails.colour == AM_GREEN ) then |
targetData[index].icon = 0; |
targetData[index].ncol = 4; |
targetData[index].in1c = 0; |
elseif ( noteDetails.colour == AM_BLUE ) then |
targetData[index].icon = 2; |
targetData[index].ncol = 6; |
targetData[index].in1c = 0; |
elseif ( noteDetails.colour == AM_GOLD ) then |
targetData[index].icon = 0; |
targetData[index].ncol = 0; |
targetData[index].in1c = 0; |
elseif ( noteDetails.colour == AM_PURPLE ) then |
targetData[index].icon = 7; |
targetData[index].ncol = 7; |
targetData[index].in1c = 7; |
elseif ( noteDetails.colour == AM_ORANGE ) then |
targetData[index].icon = 5; |
targetData[index].ncol = 1; |
targetData[index].in1c = 1; |
elseif ( noteDetails.colour == AM_YELLOW ) then |
targetData[index].icon = 5; |
targetData[index].ncol = 0; |
targetData[index].in1c = 0; |
end |
-- For possible Future Development |
if ( noteDetails.lootid ) then |
targetData[index].lootid = noteDetails.lootid; |
end |
return true; |
end |
-- /script MapNotes_ImportCarto() |
-- Wibble |
function MapNotes_ImportCarto() |
local rIcons = {}; |
local rIconsIndex = 0; |
local colours = { |
[16771840] = 0, |
[16421120] = 1, |
[16727339] = 2, |
[16752278] = 3, |
[717312] = 4, |
[45568] = 5, |
[65535] = 6, |
[46591] = 7, |
[99999] = 8, |
[13421772] = 9, |
}; |
local icons = { |
["Moon"] = 1, |
["Skull"] = 2, |
["Square"] = 3, |
["Cross"] = 4, |
["Triangle"] = 5, |
["Circle"] = 6, |
["Diamond"] = 7, |
["Star"] = 8, |
}; |
local cIcons = { |
["Moon"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidCrescentMoon", |
["Skull"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidSkull", |
["Square"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidBlueSquared", |
["Cross"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidRedCross", |
["Triangle"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidGreenTriangle", |
["Circle"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidOrangeCircle", |
["Diamond"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidPurpleDiamond", |
["Star"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidYellowStarDiamond", |
}; |
local cNotes = CartographerDB.namespaces.Notes.account.pois; |
local currentZone, nNote; |
local count = 0; |
for locale, lNotes in pairs(cNotes) do |
-- get key from locale |
currentZone = nil; |
for key, data in pairs(MapNotes_Keys) do |
if ( data.name == locale ) then |
currentZone = MapNotes_Data_Notes[key]; |
if ( currentZone ) then |
break; |
end |
end |
end |
if ( not currentZone ) then |
currentZone = MapNotes_Data_Notes[locale]; |
end |
if ( currentZone ) then |
for id, details in pairs(lNotes) do |
nNote = {}; |
nNote.xPos, nNote.yPos = ( (id % 10001)/10000), ( math.floor(id / 10001)/10000 ); |
nNote.name = ( details.title or "" ); |
nNote.ncol = 8; |
if ( ( details.titleCol ) and ( colours[details.titleCol] ) ) then |
nNote.nol = colours[details.titleCol]; |
end |
nNote.inf1 = ( details.info or "" ); |
nNote.in1c = 4; |
if ( ( details.infoCol ) and ( colours[details.infoCol] ) ) then |
nNote.in1c = colours[details.infoCol]; |
end |
nNote.inf2 = ( details.info2 or "" ); |
nNote.in2c = 0; |
if ( ( details.info2Col ) and ( colours[details.info2Col] ) ) then |
nNote.in2c = colours[details.info2Col]; |
end |
nNote.creator = ( details.creator or "Cartographer" ); |
if ( icons[details.icon] ) then |
nNote.icon = icons[details.icon]; |
else |
if ( not rIcons[details.icon] ) then |
rIcons[details.icon] = rIconsIndex; |
rIconsIndex = rIconsIndex + 1; |
if ( rIconsIndex > 9 ) then |
rIconsIndex = 0; |
end |
end |
nNote.icon = rIcons[details.icon]; |
end |
nNote.customIcon = ( cIcons[details.icon] or "" ); |
table.insert( currentZone, nNote ); |
count = count + 1; |
end |
end |
end |
MapNotes_StatusPrint(count..MAPNOTES_IMPORT_REPORT); |
end |
-- CTMapMod |
function MapNotes_ImportCTMap() |
numberImported = 0; |
if ( CT_UserMap_Notes ) then |
for mnKey, values in pairs(MapNotes_Keys) do |
local ctKey = values.name; |
local mnIndex = 0; |
if ( CT_UserMap_Notes[ctKey] ) then |
for ctNoteIndex, ctNote in ipairs(CT_UserMap_Notes[ctKey]) do |
if ( ctNote.set < 7 ) then |
mnIndex = mnIndex + 1; |
numberImported = numberImported + 1; |
local targetData = MapNotes_Data_Notes[mnKey]; |
MapNotes_CreateCTNote(ctNote, targetData, mnIndex); |
end |
end |
end |
end |
end |
MapNotes_StatusPrint(numberImported..MAPNOTES_IMPORT_REPORT); |
end |
function MapNotes_CreateCTNote(noteDetails, targetData, index) |
targetData[index] = {}; |
targetData[index].name = noteDetails.name; |
targetData[index].inf1 = noteDetails.descript; |
targetData[index].inf2 = ""; |
targetData[index].creator = "CTMapMod"; |
targetData[index].xPos = noteDetails.x; |
targetData[index].yPos = noteDetails.y; |
targetData[index].in2c = 0; |
if ( noteDetails.set == 1 ) then |
targetData[index].icon = 0; |
targetData[index].ncol = 0; |
targetData[index].in1c = 0; |
elseif ( noteDetails.set == 2 ) then |
targetData[index].icon = 2; |
targetData[index].ncol = 7; |
targetData[index].in1c = 7; |
elseif ( noteDetails.set == 3 ) then |
targetData[index].icon = 1; |
targetData[index].ncol = 2; |
targetData[index].in1c = 2; |
elseif ( noteDetails.set == 4 ) then |
targetData[index].icon = 4; |
targetData[index].ncol = 8; |
targetData[index].in1c = 8; |
elseif ( noteDetails.set == 5 ) then |
targetData[index].icon = 3; |
targetData[index].ncol = 4; |
targetData[index].in1c = 4; |
elseif ( noteDetails.set == 6 ) then |
targetData[index].icon = 6; |
targetData[index].ncol = 3; |
targetData[index].in1c = 3; |
end |
end |
-- Data Fix for people who have gaps in notes, making it seem as though many notes are missing |
function MN_DataCheck(report) |
MapNotes_Data_Notes = MN_DataCheck_Sort(MapNotes_Data_Notes, report); |
MapNotes_Data_Lines = MN_DataCheck_Sort(MapNotes_Data_Lines, report); |
end |
function MN_DataCheck_Sort(data, report) |
local holdingArray, errors = {}, 0; |
if ( report ) then |
report = 0; |
end |
for key, notes in pairs(data) do |
holdingArray[key] = {}; |
local counter = 0; |
for note, details in pairs(notes) do |
if ( details.name ) then |
if ( not details.icon ) then |
errors = errors + 1; |
details.icon = 0; |
end |
if ( not details.inf1 ) then |
errors = errors + 1; |
details.inf1 = ""; |
end |
if ( not details.inf2 ) then |
errors = errors + 1; |
details.inf2 = ""; |
end |
if ( not details.xPos ) then |
errors = errors + 1; |
details.xPos = 0; |
end |
if ( not details.yPos ) then |
errors = errors + 1; |
details.yPos = 0; |
end |
end |
counter = counter + 1; |
holdingArray[key][counter] = details; |
end |
if ( report ) then |
report = report + counter; |
end |
end |
if ( report ) then |
DEFAULT_CHAT_FRAME:AddMessage("MapNotes -> "..report, 0.9, 0.1, 0.1); |
end |
if ( errors > 0 ) then |
DEFAULT_CHAT_FRAME:AddMessage("MapNotes -> |cffff0000"..errors.."|r Errors Self Corrected", 0.9, 0.1, 0.1); |
end |
return holdingArray; |
end |
-- Temporary include a fix function for Stormwind map adjustments |
function Stormwindy() |
local x, y; |
local moved = 0; |
for i, n in ipairs(MapNotes_Data_Notes["WM Stormwind"]) do |
x = n.xPos*.76+.203; |
if ( x > 0.9999 ) then x = 0.9999; end |
y = n.yPos*.76+.253; |
if ( y > 0.9999 ) then y = 0.9999; end |
n.xPos = x; |
n.yPos = y; |
moved = moved + 1; |
end |
DEFAULT_CHAT_FRAME:AddMessage("MapNotes -> "..moved, 0.9, 0.1, 0.1); |
MapNotes_WorldMapButton_OnUpdate(); |
end |
function MN_IntegrityCheck() |
local totNotes, totFixed = 0, 0; |
for key, notes in pairs(MapNotes_Data_Notes) do |
for note, details in ipairs(notes) do |
totNotes = totNotes + 1; |
if ( type(details.inf1) == "table" ) then |
details.inf1 = ""; |
totFixed = totFixed + 1; |
end |
end |
end |
MapNotes_mntloc(); |
DEFAULT_CHAT_FRAME:AddMessage("MapNotes -> "..totFixed, 0.9, 0.1, 0.1); |
end |
<Bindings> |
<!-- User interface key bindings --> |
<Binding name="MN_TARGET_NEW" description="QuickNote/TargetNote" runOnUp="false" header="MAPNOTES"> |
MapNotes_TargetNote(""); |
</Binding> |
<Binding name="MN_TARGET_MERGE" description="Merge Target Note" runOnUp="false"> |
MapNotes_MergeNote(""); |
</Binding> |
<Binding name="MN_TOGGLE_MINIS" description="Toggle Mininotes" runOnUp="false"> |
MapNotes_TotallyMini(); |
</Binding> |
<Binding name="MN_MINIMAP_STYLE" description="Cycle through Minimap Styles" runOnUp="false"> |
MN_CustomMinimapCycler(); |
</Binding> |
</Bindings> |
One thing that people should be aware of is that this version of MapNotes has changed the Keying system for notes, and no longer uses the Continent/Zone as a heading under which to save them. |
Your MapNotes should be automatically converted the first time you log in. |
This means that you can't use older versions of Magellan for example, which will still try to create MapNotes under the old Continent / Zone system, and you won't be able to send/receive notes with players using older versions of MapNotes. |
NOTE : This version of MapNotes includes Magellan functionality via a new checkbox on the Options frame. |
Q01 - How do I make notes on the map now ? |
| |
A01 - <Control>-<Right Click> on the World Map to show the MapNotes menu from where you can Create a new note, or access the Options menu, etc. (The traditional methods of note creation via slash commands, or receiving from other users still work - note that you can only send/receive notes with other users of MapNotes (Fan's Update), and NOT to users of other versions of MapNotes.) |
OR |
<Control>-<Alt>-Right Click on the Map to speedily create a quicknote. |
Also check the key bindings and other information in the Readme.txt file for more details. |
<Control>-<Alt>-Right Click on a note to quickly open the Edit Window for that note. |
So you can quickly create and edit a new note by <Control>-<Alt>-Double Right Clicking. |
Q02 - The MapNotes in game help shows Slash Commands such as '/mn -q', etc. Can I still use the slash commands I'm used to such as '/quicknote' ? |
| |
A02 - Yes. I have introduced a new set of slash commands that I consider to be more consistant, but the legacy Slash commands are still available. |
If you need help on the Slash commands in game, I have added some Help messages - just type '/mn' on its own to see what version of MapNotes you are playing with, and what commands are available. |
New slash commands all follow the form '/mn [-switch] [parameters, ...]' |
But you can still use '/mn [MapNote]' to create a new note - see the Readme.txt file for details on how to format a [Mapnote] in order to create one from the command line. |
Q03 - Can I still use '/tloc' to show coordinates under the Minimap ? |
| |
A03 - '/tloc' can still be used to toggle the display of coordinates under the minimap. There are NO other dependancies apart from MapNotes itself, and this command will display MapNotes' own coordinates whether or not you have Thottbott installed. |
'/tloc' is basically identical to the new '/mn -minic' command for toggling minimap coordinates. |
Q04 - Can I still use '/tloc xx,yy' to place a Thottbott marker on the World Map ? |
| |
A04 - No. Use either '/mn -tloc xx,yy' or '/mntloc xx,yy'. There are various reasons for why I separated the toggling of Minimap coordinates from the creation of a Thottbott Note - see separate posting for details. |
Q05 - Is there a way to quickly create a note at my Players current location while I play ? |
(i.e. without having to move away so that I can click on the part of the map that my Player arrow was obscuring...) |
| |
A05 - MapNotes (Fan's Update) provides several methods for the creation of Quicknotes : |
1.) the original Slash command functionality; '/mn -q' OR '/quicknote' |
2.) NEW slash command '/mn -t' will create a MapNote at the Players current location if you have nothing Targetted. |
However, if you do have a target, then '/mn -t' will create a MapNote with details of your Target at the PLAYER'S current location. If you are too near to an existing MapNote, then you will be warned that no MapNote can be created. |
3.) NEW slash command '/mn -m' will also create a MapNote based on the player's current Target, at the PLAYER'S current location. |
However, if the player is too near an existing MapNote to create a new one, then the details of the current Target will be Merged with the existing MapNote. |
4.) NEW Key-Binding added for the QuickNote/TargetNote ('/mn -t') command; And NEW Key-Binding added for the TargetNote/MergeNote ('/mn -m') command also. |
5.) <Alt>-Left-Clicking on the MapNotes Minimap Coordinates will also execute the QuickNote/TargetNote functionality. |
6.) <Alt>-Right-Clicking on the MapNotes Minimap Coordinates will execute the TargetNote/MergeNote functionality. |
Q06 - The 'Turn Mininote Off' button is no longer available when I bring up the 'Create New Note' menu by <Control>-<Right Clicking> on the World Map. Also, when I type, '/mininoteoff' or '/mn -minioff', the current Mininote does not disappear. |
What's going on ? |
| |
A06 - MapNotes (Fan's Update) now allows you to use multiple MapNotes as Mininotes that you can track via the Minimap. |
You can still only use ONE Party Note OR ONE Thottbott marker - but you can turn on as many MapNotes as you like to use as Mininotes. This means that currently, the '/mn -minioff' command will only turn off Party/Thottbott Mininotes. Any mininote that is based on a permanent MapNote must be turned off by one of 2 methods : |
1.) <Control>-<Alt>-<Left Click> on any Mininote on the Minimap to turn off that Mininote - this is probably the easies/quickest method. It will NOT delete the underlying MapNotes - just stop using it as a Mininote. |
2.) Right-Click on the MapNote itself on the World Map, and choose the "Turn Mininote Off" option for that note. |
(Note that when you use the "Set As Mininote" button for a MapNote, then the option automatically changes to "Turn Mininote Off" when you Right-Click that MapNote again.) |
3.) Delete the underlying MapNote - extreme but it works. |
Note : Yup, that's right, there is no global way to turn off ALL Mininotes at the moment - I didn't think it was necessary so far, as <Control>-<Alt>-<Left Clicking> the actual Mininotes on the Minimap is a quick easy way to turn them off... |
4.) New key binding or "/mn -allmini" command to toggle all MapNotes on/off as Mininotes |
Q07 - Is there an easy way to adjust the position of a Note, other than deleting it, and re-creating it in a new location ? |
| |
A07 - Map Notes can easily be moved to new locations by <Control>-<Alt>-Left-Click dragging with the Mouse. |
Q08 - Can MapNotes show Player/Cursor Coordinates on the WorldMap ? |
| |
A08 - Use '/mn -mapc' to toggle display of Player/Cursor coordinates on the World Map. If you are not happy with the default location of the coordinates, you can <Control>-Click drag them to a different location, and they will remember where you drop them. |
Q09 - Can the <Alt>-Click method of line drawing be used again ? |
| |
A09 - Yes. The toggling of lines between points by <Alt>-Left-Clicking each point has been fixed in this version. |
Q10 - I want to be able to make notes on Atlas Instance maps |
| |
A10 - MapNotes (Fan's Update) comes with a Plugins Interface allowing it to make notes on Frames/Maps belonging to other AddOns. But the other AddOns need to use the MapNotes Interface. AlphaMap (Fan's Update) v2.62.11200 and later works with MapNotes (Fan's Update) so that you can create MapNotes on AlphaMap Battleground/Instance/WorldBoss maps in exactly the same way as you do on the WorldMap. MapNotes (Fan's Update) also comes with in-built support for the current version of Atlas, so that you can make MapNotes on any of the Atlas maps. |
Q11 - I want to use MapNotes (Fan's Update) to make notes on the Naxxramas Dungeon map in AlphaMap, but nothing happens when I <Control>-<Right Click> on AlphaMap's Naxxramas map ? |
| |
A11 - Open up the Naxxramas map in AlphaMap; Open up the AlphaMap Options frame; Click on the first 'General' Tab, and make sure that the "Enable Map Notes" check box is checked. Make sure this option is checked for any map where you want to be able to make MapNotes in AlphaMap. |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
Special thanks to StarDust for the German translation |
]] |
-- Ã: C3 84 - \195\132 |
-- Ã: C3 96 - \195\150 |
-- Ã: C3 9C - \195\156 |
-- Ã: C3 9F - \195\159 |
-- ä: C3 A4 - \195\164 |
-- ö: C3 B6 - \195\182 |
-- ü: C3 BC - \195\188 |
if GetLocale() == "deDE" then |
-- General |
MAPNOTES_NAME = "MapNotes" |
MAPNOTES_ADDON_DESCRIPTION = "F\195\188gt ein Bemerkungs/Notes System der Weltkarte hinzu." |
MAPNOTES_DOWNLOAD_SITES = "Sehe README f\195\188r Download Seiten" |
-- Inteface Configuration |
MAPNOTES_WORLDMAP_HELP_1 = "Rechts-Klicken um aus der Karte zu zoomen" |
MAPNOTES_WORLDMAP_HELP_2 = "Links-Klicken um hinein zu zoomen" |
MAPNOTES_WORLDMAP_HELP_3 = "<Strg>+Rechts-Klicken auf die Karte um das "..MAPNOTES_NAME.." Menu zu \195\182ffnen" |
MAPNOTES_CLICK_ON_SECOND_NOTE = "|cFFFF0000Karten Notizen:|r W\195\164hle eine zweite Notiz um jene\ndurch eine Linie zu verbinden/Linie wieder zu l\195\182schen." |
MAPNOTES_NEW_MENU = "Karten Notizen" |
MAPNOTES_NEW_NOTE = "Notiz erstellen" |
MAPNOTES_MININOTE_OFF = "Kurz-Notizen aussch." |
MAPNOTES_OPTIONS = "Einstellungen" |
MAPNOTES_CANCEL = "Abbrechen" |
MAPNOTES_POI_MENU = "Karten Notizen" |
MAPNOTES_EDIT_NOTE = "Notiz bearbeiten" |
MAPNOTES_MININOTE_ON = "Als Kurz-Notiz" |
MAPNOTES_SPECIAL_ACTIONS = "Spezielle Aktionen" |
MAPNOTES_SEND_NOTE = "Notiz senden" |
MAPNOTES_SPECIALACTION_MENU = "Spezielle Aktionen" |
MAPNOTES_TOGGLELINE = "Notizen verbinden" |
MAPNOTES_DELETE_NOTE = "Notiz l\195\182schen" |
MAPNOTES_EDIT_MENU = "Notiz Bearbeiten" |
MAPNOTES_SAVE_NOTE = "Speichern" |
MAPNOTES_EDIT_TITLE = "Titel (erfordert):" |
MAPNOTES_EDIT_INFO1 = "Info Zeile 1 (optional):" |
MAPNOTES_EDIT_INFO2 = "Info Zeile 2 (optional):" |
MAPNOTES_EDIT_CREATOR = "Sch\195\182pfer (optional):" |
MAPNOTES_SEND_MENU = "Notiz Senden" |
MAPNOTES_SLASHCOMMAND = "Modus wechseln" |
MAPNOTES_SEND_TITLE = "Notiz senden:" |
MAPNOTES_SEND_TIP = "Diese Notiz kann von allen Benutzern der Karten Notizen MapNotes(Fan's Update) empfangen werden." |
MAPNOTES_SEND_PLAYER = "Spielername eingeben:" |
MAPNOTES_SENDTOPLAYER = "An Spieler senden" |
MAPNOTES_SENDTOPARTY = "An Gruppe/Schlachtzug senden" |
MAPNOTES_SENDTOPARTY_TIP = "Links Klick - Gruppe\nRechts Klick - Schlachtzug"; |
MAPNOTES_SHOWSEND = "Modus wechseln" |
MAPNOTES_SEND_SLASHTITLE = "Slash-Befehle:" |
MAPNOTES_SEND_SLASHTIP = "Dies markieren und STRG+C dr\195\188cken um in die Zwischenablage zu kopieren. (dann kann es zum Beispiel in einem Forum ver\195\182ffentlicht werden)" |
MAPNOTES_SEND_SLASHCOMMAND = "/Befehl:" |
MAPNOTES_OPTIONS_MENU = "Einstellungen" |
MAPNOTES_SAVE_OPTIONS = "Speichern" |
MAPNOTES_OWNNOTES = "Notizen anzeigen, die von diesem Charakter erstellt wurden" |
MAPNOTES_OTHERNOTES = "Notizen anzeigen, die von anderen Spielern empfangen wurden" |
MAPNOTES_HIGHLIGHT_LASTCREATED = "Zuletzt erstellte Notiz in |cFFFF0000rot|r hervorheben" |
MAPNOTES_HIGHLIGHT_MININOTE = "Notizen die als Kurz-Notiz markiert wurden in |cFF6666FFblau|r hervorheben" |
MAPNOTES_ACCEPTINCOMING = "Ankommende Notizen von anderen Spielern akzeptieren" |
MAPNOTES_INCOMING_CAP = "Ankommende Notizen ablehnen wenn\nweniger als 5 freie Notizen \195\188brig bleiben" |
MAPNOTES_AUTOPARTYASMININOTE = "Markiere Gruppen-Notizen automatisch als Kurz-Notiz" |
MAPNOTES_CREATEDBY = "Erstellt von" |
MAPNOTES_CHAT_COMMAND_ENABLE_INFO = "Dieser Befehl erlaubt es zum Beispiel Notizen, die von einer Webseite empfangen wurden, einzuf\195\188gen." |
MAPNOTES_CHAT_COMMAND_ONENOTE_INFO = "\195\156bergeht die Einstellungen, wodurch die n\195\164chste empfangene Notiz in jedem Fall akzeptiert wird." |
MAPNOTES_CHAT_COMMAND_MININOTE_INFO = "Markiert die n\195\164chste empfangene Notiz direkt als Kurz-Notiz (und f\195\188gt jene auf der Karte ein)." |
MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO = "Markiert die n\195\164chste empfangene Notiz nur als Kurz-Notiz (und f\195\188gt jene nicht auf der Karte ein)." |
MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO = "Kurz-Notizen nicht mehr anzeigen." |
MAPNOTES_CHAT_COMMAND_MNTLOC_INFO = "Setzt eine tloc auf der Karte." |
MAPNOTES_CHAT_COMMAND_QUICKNOTE = "F\195\188gt auf der momentanen Position auf der Karte eine Notiz ein." |
MAPNOTES_CHAT_COMMAND_QUICKTLOC = "F\195\188gt auf der angegebenen tloc Position auf der Karte, in der momentanen Zone, eine Notiz ein." |
MAPNOTES_MAPNOTEHELP = "Dieser Befehl kann nur zum Einf\195\188gen einer Notiz benutzt werden." |
MAPNOTES_ONENOTE_OFF = "Eine Notiz zulassen: AUS" |
MAPNOTES_ONENOTE_ON = "Eine Notiz zulassen: AN" |
MAPNOTES_MININOTE_SHOW_0 = "N\195\164chste als Kurz-Notiz: AUS" |
MAPNOTES_MININOTE_SHOW_1 = "N\195\164chste als Kurz-Notiz: AN" |
MAPNOTES_MININOTE_SHOW_2 = "N\195\164chste als Kurz-Notiz: IMMER" |
MAPNOTES_DECLINE_SLASH = "Notiz kann nicht hinzugef\195\188gt werden, zuviele Notizen in |cFFFFD100%s|r." |
MAPNOTES_DECLINE_SLASH_NEAR = "Notiz kann nicht hinzugef\195\188gt werden, sie befindet sich zu nahe an |cFFFFD100%q|r in |cFFFFD100%s|r." |
MAPNOTES_DECLINE_GET = "Notiz von |cFFFFD100%s|r konnte nicht empfangen werden: zu viele Notizen in |cFFFFD100%s|r, oder Empfang in den Einstellungen deaktiviert." |
MAPNOTES_ACCEPT_SLASH = "Notiz auf der Karte von |cFFFFD100%s|r hinzugef\195\188gt." |
MAPNOTES_ACCEPT_GET = "Notiz von |cFFFFD100%s|r in |cFFFFD100%s|r empfangen." |
MAPNOTES_PARTY_GET = "|cFFFFD100%s|r hat eine neue Gruppen-Notiz in |cFFFFD100%s|r hinzugef\195\188gt." |
MAPNOTES_DECLINE_NOTETONEAR = "|cFFFFD100%s|r hat versucht dir in |cFFFFD100%s|r eine Notiz zu senden, aber jene war zu nahe bei |cFFFFD100%q|r." |
MAPNOTES_QUICKNOTE_NOTETONEAR = "Notiz konnte nicht erstellt werden: Du befindest dich zu nahe bei |cFFFFD100%s|r." |
MAPNOTES_QUICKNOTE_NOPOSITION = "Notiz konnte nicht erstellt werden: momentane Position konnte nicht ermittelt werden." |
MAPNOTES_QUICKNOTE_DEFAULTNAME = "Schnell-Notiz" |
MAPNOTES_QUICKNOTE_OK = "Notiz auf der Karte in |cFFFFD100%s|r erstellt." |
MAPNOTES_QUICKNOTE_TOOMANY = "Es befinden sich bereits zu viele Notizen auf der Karte von |cFFFFD100%s|r." |
MAPNOTES_DELETED_BY_NAME = "Alle Karten Notizen mit dem Erzeuger |cFFFFD100%s|r und dem Namen |cFFFFD100%s|r wurden gel\195\182scht" |
MAPNOTES_DELETED_BY_CREATOR = "Alle Karten Notizen mit dem Erzeuger |cFFFFD100%s|r wurden gel\195\182scht" |
MAPNOTES_QUICKTLOC_NOTETONEAR = "Notiz konnte nicht erstellt werden: Die Position ist zu nahe bei |cFFFFD100%s|r." |
MAPNOTES_QUICKTLOC_NOZONE = "Notiz konnte nicht erstellt werden: momentane Zone konnte nicht ermittelt werden." |
MAPNOTES_QUICKTLOC_NOARGUMENT = "Benutzung: '/quicktloc xx,yy [Icon] [Title]'." |
MAPNOTES_SETMININOTE = "Setzt die Notiz als neue Kurz-Notiz." |
MAPNOTES_THOTTBOTLOC = "Thottbot Ortsangabe" |
MAPNOTES_PARTYNOTE = "Gruppen-Notiz" |
MAPNOTES_CONVERSION_COMPLETE = MAPNOTES_VERSION.." - Konvertierung abgeschlossen. \195\156berpr\195\188fen sie bitte ihre Notes." |
-- Errors |
MAPNOTES_ERROR_NO_OLD_ZONESHIFT = "FEHLER: Kein altes Zoneshift definiert." |
-- Drop Down Menu |
MAPNOTES_SHOWNOTES = "Notizen anzeigen" |
MAPNOTES_DROPDOWNTITLE = "Karten Notizen" |
MAPNOTES_DROPDOWNMENUTEXT = "Optionen" |
MAPNOTES_WARSONGGULCH = "Warsongschlucht" |
MAPNOTES_ALTERACVALLEY = "Alteractal" |
MAPNOTES_ARATHIBASIN = "Arathibecken" |
MAPNOTES_NETHERSTORM = "Auge des Sturms"; |
MAPNOTES_COSMIC = "Cosmic"; |
-- Coordinates |
MAPNOTES_MAP_COORDS = "Map Coords"; |
MAPNOTES_MINIMAP_COORDS = "Minimap Coords"; |
-- MapNotes Target & Merging |
MAPNOTES_MERGED = "MapNote Merged for : "; |
MAPNOTES_MERGE_DUP = "MapNote already exists for : "; |
MAPNOTES_MERGE_WARNING = "You must have something targetted to merge notes."; |
BINDING_HEADER_MAPNOTES = "MapNotes"; |
BINDING_NAME_MN_TARGET_NEW = "QuickNote/TargetNote"; |
BINDING_NAME_MN_TARGET_MERGE = "Merge Target Note"; |
MN_LEVEL = "Stufe"; |
-- Magellan Style LandMarks |
MAPNOTES_LANDMARKS = "Landmarks"; -- Landmarks, as in POI, or Magellan |
MAPNOTES_LANDMARKS_CHECK = "Auto-MapNote "..MAPNOTES_LANDMARKS; |
MAPNOTES_DELETELANDMARKS = "Delete "..MAPNOTES_LANDMARKS; |
MAPNOTES_MAGELLAN = "(~Magellan)"; |
MAPNOTES_LM_CREATED = " MapNotes Created in "; |
MAPNOTES_LM_MERGED = " MapNotes Merged in "; |
MAPNOTES_LM_SKIPPED = " MapNotes not Noted in "; |
MAPNOTES_LANDMARKS_NOTIFY = MAPNOTES_LANDMARKS.." Noted in "; |
MN_AUTO_DESCRIPTIONS = { |
["SQUARE"] = "Quadrat", |
["CORNER-TOPRIGHT"] = "Rund:Ecke oben rechts", |
["CORNER-BOTTOMRIGHT"] = "Rund:Ecke unten rechts", |
["CORNER-BOTTOMLEFT"] = "Rund:Ecke unten links", |
["CORNER-TOPLEFT"] = "Rund:Ecke oben links", |
["SIDE-RIGHT"] = "Rund:Eckes rechts", |
["SIDE-BOTTOM"] = "Rund:Eckes unten", |
["SIDE-LEFT"] = "Rund:Eckes links", |
["SIDE-TOP"] = "Rund:Eckes oben", |
["TRICORNER-TOPRIGHT"] = "Quadrat:Ecke oben rechts", |
["TRICORNER-BOTTOMRIGHT"] = "Quadrat:Ecke unten rechts", |
["TRICORNER-BOTTOMLEFT"] = "Quadrat:Ecke unten links", |
["TRICORNER-TOPLEFT"] = "Quadrat:Ecke oben links", |
["CIRCULAR"] = "Rund"; |
}; |
MN_STYLE_AUTOMATIC = "Automatic"; |
MN_WAYPOINT = "Zielpunktpfeil"; |
end |
Legacy Slash Command Details |
---------------------------- |
/mapnote OR /mapnotes OR /mn |
Only used to insert a Map Note by a slash command (which you can create in the Send Menu), for example, to put a note at the Entrance of Stormwind City on the map Elwynn Forest: |
"/mapnote k<WM Elwynn> x<0.320701> y<0.491480> t<Stormwind> i1<Entrance> i2<> cr<ciphersimian> i<0> tf<0> i1f<0> i2f<0>" |
NOTE: The above would all be on one line Description of the identifiers: |
k<#> - Key based on the map name from GetMapInfo() prefixed by "WM " (English name on all clients - never localised) Varies for other AddOns using the Plugin functionality |
x<#> - X coordinate, based on the GetPlayerMapPosition() function |
y<#> - Y coordinate, based on the GetPlayerMapPosition() function |
t<text> - Title for the MapNote |
i1<text> - first line of text displayed under the Title in the MapNote (Info 1) |
i2<text> - second line of text displayed under the Title in the MapNote (Info 2) |
cr<text> - Creator of the MapNote |
i<#> - icon to use for the MapNote, AddOns/MapNotes/POIIcons/Icon#.tga |
tf<#> - color of the Title, AddOns/MapNotes/POIIcons/Color#.tga |
i1f<#> - color of the Info 1 line (colors as above) |
i1f<#> - color of the Info 2 line (colors as above) |
/onenote [on|off] OR /allowonenote [on|off] OR /aon [on|off] OR /mn1 [on|off] |
Allows you to receive the next note, even if you have disabled receiving in the options. If invoked with no parameters, it will toggle the current state. |
/nextmininote [on|off] OR /nmn [on|off] OR /mnmn [on|off] |
Shows the next note created (using any method) as a MiniNote and also puts it on the WorldMap. If invoked with no parameters, it will toggle the current state. |
/nextmininoteonly [on|off] OR /nmno [on|off] |
Like the previous command, but doesn't put the note on the WorldMap. |
/mininoteoff OR /mno |
Turns the MiniNote off. |
/mntloc tbX,tbY |
Sets a "Thottbot location" on the map. Use it with no arguments to toggle it off. |
X and Y are in "Thottbot coordinates" which can be represented as follows: |
local x,y = GetPlayerMapPosition() |
local tbX = math.floor(x*100) |
local tbY = math.floor(y*100) |
This note is not bound to the map you are currently on. Left click on it and select "Create New Note" to turn it into a standard note on the map you are viewing. |
/quicknote [icon] [name] OR /qnote [icon] [name] |
Adds a note at your current location, icon and name are optional (icon any number from 0 to 9, AddOns/MapNotes/POIIcons/Icon#.tga) |
/quicktloc xx,yy [icon] [name] OR /qtloc xx,yy [icon] [name] |
Addes a note on the map you are currently on at the given thottbot location, icon and name are optional (icon any number from 0 to 9, AddOns/MapNotes/POIIcons/Icon#.tga) |
NEW SLASH COMMANDS IN MapNotes(Fan's Update) |
/mnsearch [search text] OR /mns [search text] |
If you want to search for a note, to see if one exists, or where it is, then you can use this command, and MapNotes will print out a report in the chat window, displaying the names of all maps which have a note containing that text |
/mnhighlight [note name] OR /mnhl [note name] |
If you have lots of notes and want to clearly identify a single one on a map, or if you want a certain note to remain highlighted, then use this command and they will be displayed with a green circle around them. |
If there are several notes with that name, then they will all be highlighted |
/mnmapc |
Toggle the display of Player and Cursor Coordinates on the World Map |
Control-Left-Click and drag the coordinates to move them to a different position on the World Map if you are not happy with the default. |
/mnminic |
Toggle the display of Player coordinates below the Minimap. |
/mnt |
Creates a quicknote at the Player's current location if the Player has no target. |
If the Player does have a target, then it will create a note for that target at the Player's current location. |
/mnm |
Creates a note for the Player's target at the Player's current location. |
OR Merges the details for the Player's current target in to a Map Note that has already been created at the Player's current location. |
MUST have targetted a Player/NPC/Mob for this to work. |
-- |
-- MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
-- |
-- See the README file for more information. |
-- |
-- English is the default localization for MapNotes |
if (GetLocale()=="zhTW") then |
-- General |
MAPNOTES_NAME = "MapNotes" |
MAPNOTES_ADDON_DESCRIPTION = "Adds a note system to the WorldMap." |
MAPNOTES_DOWNLOAD_SITES = "See README for download sites" |
-- Interface Configuration |
MAPNOTES_WORLDMAP_HELP_1 = "使ç¨å³éµæé å°å" |
MAPNOTES_WORLDMAP_HELP_2 = "使ç¨å·¦éµæè¿å°å" |
MAPNOTES_WORLDMAP_HELP_3 = "å¨å°åä¸ä½¿ç¨ãControl + å³éµã以éåå°åæ¨è¨é¸å®" |
MAPNOTES_CLICK_ON_SECOND_NOTE = "|cFFFF0000å°åæ¨è¨:|r é¸æ第äºåæ¨è¨ä»¥ç«åº/æ¸ é¤ä¸æ¢ç·" |
MAPNOTES_NEW_MENU = "å°åæ¨è¨"; |
MAPNOTES_NEW_NOTE = "åµå»ºæ¨è¨"; |
MAPNOTES_MININOTE_OFF = "ééå°å°åä¸çæ¨è¨"; |
MAPNOTES_OPTIONS = "é¸é "; |
MAPNOTES_CANCEL = "åæ¶"; |
MAPNOTES_POI_MENU = "å°åæ¨è¨"; |
MAPNOTES_EDIT_NOTE = "編輯æ¨è¨"; |
MAPNOTES_MININOTE_ON = "è¨ç½®çºå°å°åæ¨è¨"; |
MAPNOTES_SPECIAL_ACTIONS = "ç¹æ®æä½"; |
MAPNOTES_SEND_NOTE = "ç¼éæ¨è¨"; |
MAPNOTES_SPECIALACTION_MENU = "ç¹æ®æä½"; |
MAPNOTES_TOGGLELINE = "åæç·æ¢"; |
MAPNOTES_DELETE_NOTE = "åªé¤æ¨è¨"; |
MAPNOTES_EDIT_MENU = "編輯æ¨è¨"; |
MAPNOTES_SAVE_NOTE = "ä¿å"; |
MAPNOTES_EDIT_TITLE = "æ¨é¡ (å¿ å¡«):"; |
MAPNOTES_EDIT_INFO1 = "ä¿¡æ¯è¡ 1 (å¯é¸):"; |
MAPNOTES_EDIT_INFO2 = "ä¿¡æ¯è¡ 2 (å¯é¸):"; |
MAPNOTES_EDIT_CREATOR = "åµå»ºè (å¯é¸):" |
MAPNOTES_SEND_MENU = "ç¼éæ¨è¨"; |
MAPNOTES_SLASHCOMMAND = "æ¹è®æ¨¡å¼"; |
MAPNOTES_SEND_TITLE = "ç¼éæ¨è¨:"; |
MAPNOTES_SEND_TIP = "éäºæ¨è¨å¯ä»¥è¢«å ¶ä»å°åæ¨è¨ä½¿ç¨è æ¥æ¶\n('ç¼é給éå'åè½å¿ é é åMapNotes(Fan's Update)æå¯ä½¿ç¨)"; |
MAPNOTES_SEND_PLAYER = "è¼¸å ¥ç©å®¶åå:"; |
MAPNOTES_SENDTOPLAYER = "ç¼é給ç©å®¶"; |
MAPNOTES_SENDTOPARTY = "ç¼é給éå"; |
MAPNOTES_SENDTOPARTY_TIP = "Left Click to Party\nRight Click to Raid"; |
MAPNOTES_SHOWSEND = "æ¹è®æ¨¡å¼"; |
MAPNOTES_SEND_SLASHTITLE = "å¾å°æç·å½ä»¤:"; |
MAPNOTES_SEND_SLASHTIP = "é¸ä¸éäºä¸¦ä½¿ç¨ CTRL+C 復å¶å°åªåæ¿\n(ä¹å¾å¯ä»¥å°å®é²è¡ä¸å³è«å£çèç)"; |
MAPNOTES_SEND_SLASHCOMMAND = "/Command:"; |
MAPNOTES_OPTIONS_MENU = "é¸é "; |
MAPNOTES_SAVE_OPTIONS = "ä¿å"; |
MAPNOTES_OWNNOTES = "顯示èªå·±å»ºç«çæ¨è¨"; |
MAPNOTES_OTHERNOTES = "顯示æ¶å°çæ¨è¨"; |
MAPNOTES_HIGHLIGHT_LASTCREATED = "é«äº®æ示æå¾å»ºç«çæ¨è¨çº|cFFFF0000ç´ è²|r"; |
MAPNOTES_HIGHLIGHT_MININOTE = "é«äº®æ示æå¾é¸æçºå°å°åæ¨è¨çæ¨è¨çº|cFF6666FFèè²|r"; |
MAPNOTES_ACCEPTINCOMING = "æ¥åå ¶ä»ç©å®¶å³å ¥çæ¨è¨"; |
MAPNOTES_INCOMING_CAP = "Decline notes if they would leave less than 5 notes free"; |
MAPNOTES_AUTOPARTYASMININOTE = "èªåå°åéæ¨è¨è¨çºå°å°åæ¨è¨." |
MAPNOTES_CREATEDBY = "åµå»ºäºº:"; |
MAPNOTES_CHAT_COMMAND_ENABLE_INFO = "éåå½ä»¤å è¨±ä½ æå ¥å¾å ¶ä»å°æ¹å¾å°çæ¨è¨(å¦ç¶²é )."; |
MAPNOTES_CHAT_COMMAND_ONENOTE_INFO = "忽ç¥é¸é è¨ç½®, ä½¿ä½ å¯ä»¥æ¥æ¶ä¸ä¸åå³å ¥çæ¨è¨."; |
MAPNOTES_CHAT_COMMAND_MININOTE_INFO = "å°ä¸ä¸åå³å ¥çæ¨è¨ç´æ¥è¨ç½®çºå°å°åæ¨è¨ (åæå¨å°åä¸æå ¥æ¨è¨):"; |
MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO = "å°ä¸ä¸åå³å ¥çæ¨è¨å è¨ç½®çºå°å°åæ¨è¨ (ä¸å¨å°åä¸æå ¥æ¨è¨)."; |
MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO = "ééå°å°åæ¨è¨."; |
MAPNOTES_CHAT_COMMAND_MNTLOC_INFO = "å¨å°åä¸åµå»º tloc æ¨è¨."; |
MAPNOTES_CHAT_COMMAND_QUICKNOTE = "å¨å°åä¸åµå»ºç¶åä½ç½®çæ¨è¨."; |
MAPNOTES_CHAT_COMMAND_QUICKTLOC = "å¨ç¶åååå°åä¸åµå»ºä¸å tloc å¶å®ä½ç½®çæ¨è¨."; |
MAPNOTES_CHAT_COMMAND_IMPORT_METAMAP = "Imports MetaMapNotes. Intended for people migrating to MapNotes.\nMetaMap must be Installed and Enabled for the command to work. Then Un-Install MetaMap.\nWARNING : Intended for new users. May over-write existing notes."; --Telic_4 |
MAPNOTES_CHAT_COMMAND_IMPORT_ALPHAMAP = "Import AlphaMap's Instance Notes : Requires AlphaMap (Fan's Update) to be Installed and Enabled"; --Telic_4 |
MAPNOTES_MAPNOTEHELP = "éåå½ä»¤åªè½ç¨ä¾åµå»ºæ¨è¨"; |
MAPNOTES_ONENOTE_OFF = "å 許ä¸åæ¨è¨å³å ¥: éé"; |
MAPNOTES_ONENOTE_ON = "å 許ä¸åæ¨è¨å³å ¥: æé"; |
MAPNOTES_MININOTE_SHOW_0 = "ä¸ä¸åå³å ¥æ¨è¨ä½çºå°å°åæ¨è¨: éé"; |
MAPNOTES_MININOTE_SHOW_1 = "ä¸ä¸åå³å ¥æ¨è¨ä½çºå°å°åæ¨è¨: æé"; |
MAPNOTES_MININOTE_SHOW_2 = "ä¸ä¸åå³å ¥æ¨è¨ä½çºå°å°åæ¨è¨: å å°å°åæ¨è¨"; |
MAPNOTES_DECLINE_SLASH = "ç¡æ³å¢å ï¼å¤ªå¤æ¨è¨å¨ |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_SLASH_NEAR = "ç¡æ³å¢å , éåæ¨è¨å¤ªæ¥è¿ |cFFFFD100%q|r å¨ |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_GET = "ç¡æ³æ¥æ¶ |cFFFFD100%s|rå³å ¥çæ¨è¨: 太å¤æ¨è¨å¨ |cFFFFD100%s|r, æè¨ç½®ä¸ç¦æ¢æ¥æ¶è©²æ¨è¨."; |
MAPNOTES_ACCEPT_SLASH = "æ¨è¨å¢å å°äº |cFFFFD100%s|r çå°åä¸."; |
MAPNOTES_ACCEPT_GET = "ä½ æ¥æ¶å°ä¸åå¾ |cFFFFD100%s|r ç¼ä¾çæ¨è¨å¨ |cFFFFD100%s|r."; |
MAPNOTES_PARTY_GET = "|cFFFFD100%s|r å¨ |cFFFFD100%s|rè¨ç½®äºä¸åæ°çåéæ¨è¨."; |
MAPNOTES_DECLINE_NOTETONEAR = "|cFFFFD100%s|r 試åçµ¦ä½ ç¼éä¸åå¨ |cFFFFD100%s|r çæ¨è¨, ä½æ¯å®å¤ªæ¥è¿ |cFFFFD100%q|r äº."; |
MAPNOTES_QUICKNOTE_NOTETONEAR = "ç¡æ³åµå»ºæ¨è¨. ä½ å¤ªæ¥è¿ |cFFFFD100%s|r äº."; |
MAPNOTES_QUICKNOTE_NOPOSITION = "ç¡æ³åµå»ºæ¨è¨: ç¡æ³å¾å°ç¶åä½ç½®."; |
MAPNOTES_QUICKNOTE_DEFAULTNAME = "å¿«éæ¨è¨"; |
MAPNOTES_QUICKNOTE_OK = "å¨å°å |cFFFFD100%s|r ä¸åµå»ºæ¨è¨."; |
MAPNOTES_QUICKNOTE_TOOMANY = "å·²ç¶æ太å¤æ¨è¨å¨ |cFFFFD100%s|r çå°åä¸äº."; |
MAPNOTES_DELETED_BY_NAME = "å·²åªé¤ææç± %s 以å %s æåµå»ºçå°åæ¨è¨." |
MAPNOTES_DELETED_BY_CREATOR = "å·²åªé¤ææç± %s æ建ç«çå°åæ¨è¨." |
MAPNOTES_QUICKTLOC_NOTETONEAR = "ç¡æ³åµå»ºæ¨è¨. ä½ç½®å¤ªæ¥è¿æ¨è¨ |cFFFFD100%s|r äº."; |
MAPNOTES_QUICKTLOC_NOZONE = "ç¡æ³åµå»ºæ¨è¨: ç¡æ³å¾å°ç¶ååå."; |
MAPNOTES_QUICKTLOC_NOARGUMENT = "ç¨æ³: '/quicktloc xx,yy [icon] [title]'."; |
MAPNOTES_SETMININOTE = "å°æ¨è¨è¨ç½®çºæ°çå°å°åæ¨è¨"; |
MAPNOTES_THOTTBOTLOC = "Thottbot åæ¨"; |
MAPNOTES_PARTYNOTE = "åéæ¨è¨"; |
MAPNOTES_CONVERSION_COMPLETE = MAPNOTES_VERSION.." - è½æå®ç¢,è«å¿éè¤å·è¡éåæ令." |
MAPNOTES_TRUNCATION_WARNING = "The Note Text being Sent had to be truncated"; -- ?? |
MAPNOTES_IMPORT_REPORT = " Notes Imported"; -- ?? |
MAPNOTES_NOTESFOUND = " Note(s) Found"; -- ?? |
-- Drop Down Menu |
MAPNOTES_SHOWNOTES = "顯示æ¨è¨"; |
MAPNOTES_DROPDOWNTITLE = "å°åæ¨è¨"; |
MAPNOTES_DROPDOWNMENUTEXT = "å¿«éæ¨è¨"; |
MAPNOTES_WARSONGGULCH = "æ°æ峽谷"; |
MAPNOTES_ALTERACVALLEY = "奧ç¹èå 山谷"; |
MAPNOTES_ARATHIBASIN = "é¿æå¸çå°"; |
MAPNOTES_NETHERSTORM = "Eye of the Storm"; |
MAPNOTES_COSMIC = "Cosmic"; |
-- Coordinates |
MAPNOTES_MAP_COORDS = "Map Coords"; |
MAPNOTES_MINIMAP_COORDS = "Minimap Coords"; |
-- MapNotes Target & Merging |
MAPNOTES_MERGED = "MapNote Merged for : "; |
MAPNOTES_MERGE_DUP = "MapNote already exists for : "; |
MAPNOTES_MERGE_WARNING = "You must have something targetted to merge notes."; |
BINDING_HEADER_MAPNOTES = "MapNotes"; |
BINDING_NAME_MN_TARGET_NEW = "QuickNote/TargetNote"; |
BINDING_NAME_MN_TARGET_MERGE = "Merge Target Note"; |
MN_LEVEL = "Level"; |
-- Magellan Style LandMarks |
MAPNOTES_LANDMARKS = "Landmarks"; -- Landmarks, as in POI, or Magellan |
MAPNOTES_LANDMARKS_CHECK = "Auto-MapNote "..MAPNOTES_LANDMARKS; |
MAPNOTES_DELETELANDMARKS = "Delete "..MAPNOTES_LANDMARKS; |
MAPNOTES_MAGELLAN = "(~Magellan)"; |
MAPNOTES_LM_CREATED = " MapNotes Created in "; |
MAPNOTES_LM_MERGED = " MapNotes Merged in "; |
MAPNOTES_LM_SKIPPED = " MapNotes not Noted in "; |
MAPNOTES_LANDMARKS_NOTIFY = MAPNOTES_LANDMARKS.." Noted in "; |
end |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
-- Global Variables to allow access from other Scripts. Other AddOns may add to the MAPNOTES_PLUGINS_LIST in order to take |
-- advantage of MapNotes note making ability within their own code |
MAPNOTES_PLUGINS_LIST = {}; |
MAPNOTES_DISABLED_PLUGINS = {}; |
-- AlphaMap |
-- AlphaMap Registers its data and functions from within that AddOn itself |
-- so see download and look at that AddOn for an example of how AddOns can 'Plug In' to MapNotes functionality |
-- ATLAS PLUGIN CODE MOVED TO ITS OWN ADDON -- |
--MAPNOTES_PLUGINS_LIST.Atlas = { name = "Atlas", -- Used internally by MapNotes to ensure returned Keys are unique |
-- frame = "AtlasFrame", -- Other AddOn's main frame on which to make notes (String) |
-- -- |
-- keyVal = "Atlas_MN_Query", -- Function to return a MapNotes Key for recording notes against. |
-- -- Equals MapNotes own [Continent][Zone] key for organising notes. |
-- -- Preferably, also return a Localised name associated with the Key |
-- lclFnc = "Atlas_MN_Localiser", -- Return a Localised name based on a 'key' value-- initFnc = "AlphaMap_MN_Initialise", -- Can include a custom initialisation function |
-- wmflag = "1" -- Indicates the Plugin will display (BlizzardFrame)World MapNotes |
-- -- (See AlphaMap (Fan's Update) for an example) |
-- -- |
-- initFnc = "Atlas_MN_Init", -- Can include an initialisation routine of your own that will execute |
-- -- when the Plugin is Registered with MapNotes |
-- -- |
-- -- BELOW NOT IMPLEMENTED ATM |
-- -- Potentially add other controls such as ... |
-- mBttn = "RightButton", -- What mouse button should be used for note creation |
-- cKey1 = IsControlKeyDown, -- What 'control' keys should be pressed in conjunction with the mouse |
-- cKey2 = IsAltKeyDown, -- before we create a note / open a MapNotes Menu... |
-- cKey3 = IsShiftKeyDown, -- (Remember 'control' keys are function names) |
-- tt = GameTooltip -- Specify explicitly the tooltip to be displayed OnEnter...TipBuddy? |
--}; |
local MapNotes_PlugInsMonitorInterval = 0.1; |
local MapNotes_PlugInsRefreshInterval = 0.25; |
MapNotes.MapNotes_Plugin_Updating = {}; |
MapNotes_PlugInFrames = {}; |
--------------------------------------------------------------------------------------------- |
-- Functions acting as Handlers for Specific PlugIns |
-- NOTE That these could be written and included in the other AddOn and don't have to be included |
-- in the base of MapNotes |
--------------------------------------------------------------------------------------------- |
-- AlphaMap |
-- AlphaMap Registers its data and functions from within that AddOn itself |
-- so see download and look at that AddOn for an example of how AddOns can 'Plug In' to MapNotes functionality |
-- Atlas |
--function Atlas_MN_Query() |
-- local key = nil; |
-- local mapRaw = AtlasMap:GetTexture(); |
-- |
-- if ( mapRaw ) then |
-- local i, l = 0; -- note that 'l' is deliberately left 'nil' by this assignment |
-- while ( true ) do |
-- i = string.find(mapRaw, "\\", i+2); |
-- if ( i ) then |
-- l = i+1; |
-- else |
-- break; |
-- end |
-- end |
-- if ( l ) then |
-- key = string.sub(mapRaw, l); |
-- end |
-- end |
-- |
-- return key; |
--end |
--function Atlas_MN_Localiser(key) |
-- if ( AtlasText[key] ) then |
-- return AtlasText[key].ZoneName; |
-- end |
-- |
-- return; |
--end |
-- ... |
--------------------------------------------------------------------------------------------- |
-- General PlugIn Management |
--------------------------------------------------------------------------------------------- |
function MapNotes_LoadPlugIns() |
-- Called after Variables are Loaded to initialise all 'natively supported' PlugIns |
-- (Which is currently none, as I felt Atlas Plugin code was best moved to its own AddOn) |
for index, values in pairs(MAPNOTES_PLUGINS_LIST) do |
local plugInFrame = getglobal(values.frame); |
if ( plugInFrame ) then |
MapNotes_RegisterPlugin(values); |
end |
end |
end |
function MapNotes_RegisterPlugin(Plugin) |
local plugInFrame = getglobal(Plugin.frame); |
-- Create a 'control' Frame over the other AddOn's main frame with an OnUpdate function |
-- so that we know when the other AddOn's frame IsVisible |
local ctrlName = Plugin.frame .."_MNControl"; |
local ctrl = CreateFrame("Frame", ctrlName, plugInFrame); -- Other AddOn's main frame is Parent so |
ctrl:SetScript("OnUpdate", MapNotes_PlugInsOnUpdate); -- so only shows when other AddOn Frame IsVisible() |
ctrl.MapNotes_PlugInsMonitorTimer = 0; -- and OnUpdate only executes when visible... |
ctrl.MapNotes_PlugInsRefreshTimer = 0; |
ctrl:SetAllPoints(plugInFrame); |
ctrl.Plugin = Plugin; |
ctrl.currentKey = ""; |
ctrl:SetScript("OnShow", MapNotes_PlugInsDrawNotes); |
-- Create a Frame equivalent to the WorldMapButton, so that we can register Clicks for |
-- note creation |
local bttnName = Plugin.frame .."_MNOverlay"; |
local bttn = CreateFrame("Button", bttnName, plugInFrame); |
bttn:SetAllPoints(plugInFrame); |
bttn:RegisterForClicks("LeftButtonUp", "RightButtonUp"); |
bttn:SetScript("OnClick", function() |
MapNotes_PlugInsOnClick(this, arg1); |
end); |
bttn:Hide(); |
bttn.Plugin = Plugin; |
-- Create a Frame for the Drawing of Lines |
local lineFrameName = Plugin.frame .."_MNLinesFrame"; |
local lineFrame = CreateFrame("Frame", lineFrameName, plugInFrame); |
lineFrame:SetAllPoints(plugInFrame); |
lineFrame:SetScript("OnShow", MapNotes_PlugInsOnShow); |
-- Allow Party notes on any Plugin frame |
local p = CreateFrame("Button", Plugin.name .. "PartyNote", plugInFrame, "WorldMapMapNotesMiscTemplate"); |
p:SetID(-1); |
p.note = "party"; |
p.timer = 0; |
p.hAngle = 0; |
p.s = 0; |
p.c = 0; |
p.Plugin = Plugin; -- 29/07/2007 |
-- If Displaying WorldMap Notes, then create tloc notes |
if ( Plugin.wmflag ) then |
local t = CreateFrame("Button", Plugin.name .. "tlocNote", plugInFrame, "WorldMapMapNotesMiscTemplate"); |
t:SetID(0); |
t.note = "tloc"; -- 29/07/2007 |
t.timer = 0; |
t.hAngle = 0; |
t.s = 0; |
t.c = 0; |
t.Plugin = Plugin; -- 29/07/2007 |
end |
-- Create an entry in a second PlugIn array, so that we can look up a PlugIn's details from the XML Parent of a Note |
-- i.e. when we click on a note displayed in another AddOn, we can fetch the name of the Note's Parent Frame, and check |
-- this array for the relevant PlugIn details |
MapNotes_PlugInFrames[plugInFrame] = Plugin; |
-- Run the Plugin's associated Initialisation Script if it exists... |
if ( Plugin.initFnc ) then |
local initFnc = getglobal(Plugin.initFnc); |
if ( ( initFnc ) and ( type(initFnc) == "function" ) ) then |
initFnc(); |
end |
end |
-- Store currently registered keys for this plugin |
local s, name = nil, nil; |
for key in pairs(MapNotes_Data_Notes) do |
s = string.find(key, " "); |
name = string.sub(key, 1, s-1); |
if ( ( name ) and ( name == Plugin.name ) ) then |
MapNotes.pluginKeys[key] = Plugin; |
end |
end |
end |
-- All Plugins are 'Enabled' by default when Registered |
-- This only needs to be used after a call to MapNotes_DisablePlugin() |
function MapNotes_EnablePlugin(Plugin) |
if ( ( Plugin ) and ( MAPNOTES_DISABLED_PLUGINS[ Plugin.name ] ) ) then |
MAPNOTES_DISABLED_PLUGINS[ Plugin.name ] = nil; |
MapNotes_PlugInsDrawNotes(Plugin); |
end |
end |
function MapNotes_DisablePlugin(Plugin) |
if ( ( Plugin ) and ( not MAPNOTES_DISABLED_PLUGINS[ Plugin.name ] ) ) then |
MAPNOTES_DISABLED_PLUGINS[ Plugin.name ] = true; |
local overLay = getglobal( Plugin.frame .."MNOverlay" ); |
if ( overLay ) then |
overLay:Hide(); |
end |
MapNotes_PlugInsDrawNotes(Plugin); |
end |
end |
--------------------------------------------------------------------------------------------- |
-- The following functions are associated and used by ANY/ALL PlugIns, and are 'personalised' |
-- to that AddOn by the changing value of "this", and 'local' variables associated with them |
-- via dot notation, and passed parameters |
-- e.g. "AlphaMapAlphaMapFrame_MNControl.MapNotes_PlugInsTimer" = "this.MapNotes_PlugInsTimer" |
--------------------------------------------------------------------------------------------- |
function MapNotes_PlugInsGetKey(Plugin) |
if ( Plugin ) then |
local keyVal = getglobal(Plugin.keyVal); |
if ( type(keyVal) == "function" ) then |
local key = keyVal(); |
if ( key ) then |
if ( not Plugin.wmflag ) then -- Allow for Plugins editing real MapNotes |
key = (Plugin.name).." "..key; -- which will already be prefixed with "WM " |
if ( not MapNotes.pluginKeys[key] ) then MapNotes.pluginKeys[key] = Plugin; end |
end -- Otherwise, makes sure its unique per AddOn |
return key; |
end |
end |
end |
return nil; |
end |
function MapNotes_PlugInsOnUpdate(self, elapsed) |
local eScale = self:GetEffectiveScale(); |
if ( self.eScale ~= eScale ) then |
self.eScale = eScale; |
MapNotes_PlugInsDrawNotes(self.Plugin); |
end |
if ( not MAPNOTES_DISABLED_PLUGINS[ self.Plugin.name ] ) then |
-- Default OnUpdate arg1 = elapsed time since last OnUpdate |
-- "this" obviously referencing the Frame whose OnUpdate this is being executed for |
self.MapNotes_PlugInsMonitorTimer = self.MapNotes_PlugInsMonitorTimer + arg1; |
if ( self.MapNotes_PlugInsMonitorTimer > MapNotes_PlugInsMonitorInterval ) then |
local plugInFrame = self:GetParent(); |
local plugInOverlay = getglobal( (plugInFrame:GetName()).."_MNOverlay" ); |
-- Toggle a 'mouse interactive' frame that can capture mouse clicks for note creation |
-- Check frequently for pressing of Control key |
if ( IsControlKeyDown() ) then |
if ( not plugInOverlay:IsVisible() ) then |
plugInOverlay:Show(); |
end |
else |
if ( plugInOverlay:IsVisible() ) then |
plugInOverlay:Hide(); |
end |
end |
self.MapNotes_PlugInsMonitorTimer = 0; |
end |
self.MapNotes_PlugInsRefreshTimer = self.MapNotes_PlugInsRefreshTimer + arg1; |
if ( self.MapNotes_PlugInsRefreshTimer > MapNotes_PlugInsRefreshInterval ) then |
local key = MapNotes_PlugInsGetKey(self.Plugin); |
if ( not MapNotes.pluginKeys[key] ) then MapNotes.pluginKeys[key] = Plugin; end |
-- Check less frequently for a change in the other AddOns Key which will require an update to the displayed MapNotes |
-- Can force a 'relatively' quick update of the displayed MapNotes by resetting the value of .currentKey elsewhere. |
if ( self.currentKey ~= key ) then |
self.currentKey = key; |
getglobal(self.Plugin.frame).key = key; |
MapNotes_PlugInsDrawNotes(self.Plugin); |
end |
self.MapNotes_PlugInsRefreshTimer = 0; |
end |
end |
end |
function MapNotes_PlugInsOnShow() |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); |
end |
function MapNotes_PlugInsOnClick(self, mouseButton) |
-- Default OnClick arg1 = Mouse button clicked |
-- "this" obviously being the _MNOverlay frame that was clicked |
-- local mouseBttn = arg1; |
if ( mouseButton == "RightButton" ) then -- emulating MapNotes standard functionality |
local MapNotes_PlugInFrame = self:GetParent(); |
local x, y = MapNotes_GetMouseXY(MapNotes_PlugInFrame); |
if ( IsShiftKeyDown() ) then |
if ( self.Plugin.wmflag ) then |
MapNotes_SetPartyNote(x, y); |
else |
local key = MapNotes_PlugInsGetKey(self.Plugin); |
MapNotes_SetPartyNote(x, y, key); |
MapNotes_PlugInsDrawNotes(self.Plugin); |
end |
elseif ( IsAltKeyDown() ) then -- Telic_Beta_1 |
if ( self.Plugin.wmflag ) then |
MapNotes_ShortCutNote(x, y); |
MapNotes_MapUpdate(); |
else |
MapNotes_ShortCutNote(x, y, self.Plugin); |
MapNotes_PlugInsDrawNotes(self.Plugin); |
end |
else |
local key = MapNotes_PlugInsGetKey(self.Plugin); |
if ( key ) then |
MapNotes:InitialiseDropdown(MapNotes_PlugInFrame, x, y, MapNotes.base_dd_info, key); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
end |
end |
end |
end |
function MapNotes_PlugInsRefresh() |
for frame, Plugin in pairs(MapNotes_PlugInFrames) do |
if ( frame:IsVisible() ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
end |
end |
end |
function MapNotes_PlugInsDrawNotes(Plugin) |
if ( Plugin.Plugin ) then |
Plugin = Plugin.Plugin; |
end |
if ( MapNotes.MapNotes_Plugin_Updating[Plugin.name] ) then |
return; |
end |
MapNotes.MapNotes_Plugin_Updating[Plugin.name] = true; |
local border = ( MapNotes_Options.iFactor / MAPNOTES_DFLT_ICONSIZE ) * MAPNOTES_BORDER; |
local lBorder = ( MapNotes_Options.iFactor / MAPNOTES_DFLT_ICONSIZE ) * ( MAPNOTES_BORDER / 2.2); |
local nNotes, nLines = 1, 1; |
local key = MapNotes_PlugInsGetKey(Plugin); |
local plugInFrame = getglobal( Plugin.frame ); |
local width = plugInFrame:GetWidth(); |
local height = plugInFrame:GetHeight(); |
local scalingFactor = MN_ScaleMe(plugInFrame); |
if ( not plugInFrame:IsVisible() ) then |
return; |
end |
if ( key ) then |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
MapNotes_Data_Lines[key] = {}; |
end |
if ( ( MapNotes_Options.shownotes ) and ( not MAPNOTES_DISABLED_PLUGINS[ Plugin.name ] ) ) then |
local currentZone = MapNotes_Data_Notes[key]; |
local currentLineZone = MapNotes_Data_Lines[key]; |
local POI, POIMininote, POIHighlight, POILastnote, POIName; |
local findIn; |
for i, value in ipairs(currentZone) do |
POI = MapNotes_AssignPOI(i, Plugin); -- fetches with getglobal, or creates if doesn't exist yet |
POI.key = key; |
POI.nid = i; |
POI.Plugin = Plugin; |
POIName = POI:GetName(); |
POI:SetScale( scalingFactor ); |
local xOffset = (currentZone[i].xPos * width) / scalingFactor; |
local yOffset = -(currentZone[i].yPos * height) / scalingFactor; |
POI:SetUserPlaced(false); |
POI:ClearAllPoints(); |
POI:SetPoint("CENTER", plugInFrame, "TOPLEFT", xOffset, yOffset); |
-- Custom |
POITexture = getglobal(POIName.."Texture"); |
POIMininote = getglobal(POIName.."Mininote"); |
POILastnote = getglobal(POIName.."Lastnote"); |
POIHighlight = getglobal(POIName.."Highlight"); |
POITexture:SetTexture(nil); |
if ( currentZone[i].customIcon ) then |
POITexture:SetTexture( currentZone[i].customIcon ); |
end |
local txtr = POITexture:GetTexture(); |
if ( not txtr ) then |
POITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..currentZone[i].icon); |
end |
findIn = string.lower(value.name); |
if ( ( MapNotes_HighlightedNote ~= "" ) and ( string.find( findIn, MapNotes_HighlightedNote ) ) ) then |
POIHighlight:Show(); |
if ( ( findIn == MapNotes_HighlightedNote ) and ( MapNotes_Options[13] ~= "off" ) ) then |
-- Custom |
POIMininote:Show(); |
end |
-- Custom |
elseif ( ( currentZone[i].mininote ) and ( MapNotes_Options[13] ~= "off" ) ) then |
POIMininote:Show(); |
POIHighlight:Hide(); |
else |
POIMininote:Hide(); |
POIHighlight:Hide(); |
end |
if MapNotes_Options[currentZone[i].icon] ~= "off" then |
if ( ( ( MapNotes_Options[10] ~= "off" ) and ( currentZone[i].creator == UnitName("player") ) ) |
or ( ( MapNotes_Options[11] ~= "off" ) and ( currentZone[i].creator ~= UnitName("player") ) ) ) then |
POI:SetWidth( MapNotes_Options.iFactor ); |
POIMininote:SetWidth( border ); |
POI:SetHeight( MapNotes_Options.iFactor ); |
POIMininote:SetHeight( border ); |
POI:SetAlpha( MapNotes_Options.aFactor ); |
POILastnote:Hide(); |
POI:Show(); |
end |
else |
POI:Hide(); |
end |
nNotes = nNotes + 1; |
end |
if ( MapNotes_Options[12] ~= "off" ) then |
if ( ( POI ) and ( POI:IsVisible() ) ) then |
POILastnote:SetWidth( lBorder ); |
POILastnote:SetHeight( lBorder ); |
POILastnote:Show(); |
end |
end |
if ( currentLineZone ) then |
for i, line in ipairs(currentLineZone) do |
MapNotes_DrawLine(i, line.x1, line.y1, line.x2, line.y2, Plugin); |
nLines = nLines + 1; |
end |
end |
end |
end |
local POI = getglobal( (Plugin.frame) .. "POI" .. nNotes ); |
while ( POI ) do |
POI:Hide(); |
nNotes = nNotes + 1; |
POI = getglobal( (Plugin.frame) .. "POI" .. nNotes ); |
end |
local otherLines = getglobal( (Plugin.frame) .. "_MNLinesFrameLines_" .. nLines ); |
while ( otherLines ) do |
otherLines:Hide(); |
nLines = nLines + 1; |
otherLines = getglobal( (Plugin.frame) .. "_MNLinesFrameLines_" .. nLines ); |
end |
-- tloc button |
local tlocNote = getglobal(Plugin.name .. "tlocNote"); |
if ( tlocNote ) then |
if ( ( MapNotes_tloc_xPos ) and ( MapNotes_tloc_key == key ) ) then |
local tlocNoteTexture = getglobal(Plugin.name .. "tlocNoteTexture"); |
local tlocNoteMininote = getglobal(Plugin.name .. "tlocNoteMininote"); |
if ( tlocNoteTexture ) then |
tlocNoteTexture:SetTexture(nil); |
if ( MN_TLOC_ICON ) then |
tlocNoteTexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = tlocNoteTexture:GetTexture(); |
if ( not txtr ) then |
if ( MN_TLOC_ICON ) then MN_TLOC_ICON = nil; end |
tlocNoteTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
end |
end |
if ( ( MapNotes_Options[13] ~= "off" ) and ( MapNotes_MiniNote_Data.icon == "tloc" ) ) then |
tlocNoteMininote:SetWidth( border ); |
tlocNoteMininote:SetHeight( border ); |
tlocNoteMininote:Show(); |
tlocNoteMininote.key = key; |
tlocNoteMininote.nid = 0; |
else |
tlocNoteMininote:Hide(); |
end |
tlocNote:SetScale( scalingFactor ); |
xOffset = ( MapNotes_tloc_xPos * width ) / scalingFactor; |
yOffset = ( -MapNotes_tloc_yPos * height ) / scalingFactor; |
tlocNote:SetPoint("CENTER", Plugin.frame, "TOPLEFT", xOffset, yOffset); |
tlocNote:SetWidth( MapNotes_Options.iFactor ); |
tlocNote:SetHeight( MapNotes_Options.iFactor ); |
tlocNote:SetAlpha( MapNotes_Options.aFactor ); |
tlocNote:Show(); |
tlocNote.key = key; |
tlocNote.nid = 0; |
else |
tlocNote:Hide(); |
end |
end |
-- party note |
local partyNote = getglobal(Plugin.name .. "PartyNote"); |
if ( partyNote ) then |
if ( ( MapNotes_PartyNoteData.xPos ) and ( key == MapNotes_PartyNoteData.key ) ) then --Telic_5 |
local partyNoteTexture = getglobal(Plugin.name .. "PartyNoteTexture"); |
local partyNoteMininote = getglobal(Plugin.name .. "PartyNoteMininote"); |
partyNoteTexture:SetTexture(nil); |
if ( MN_PARTY_ICON ) then -- 5.60 |
partyNoteTexture:SetTexture(MN_PARTY_ICON); -- 5.60 |
end |
local txtr = partyNoteTexture:GetTexture(); |
if ( not txtr ) then -- 5.60 |
if ( MN_PARTY_ICON ) then MN_PARTY_ICON = nil; end |
partyNoteTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
end |
if MapNotes_Options[13] ~= "off" and MapNotes_MiniNote_Data.icon == "party" then |
partyNoteMininote:SetWidth( border ); |
partyNoteMininote:SetHeight( border ); |
partyNoteMininote:Show(); |
partyNoteMininote.key = key; |
partyNoteMininote.nid = -1; |
partyNoteMininote.Plugin = Plugin; |
else |
partyNoteMininote:Hide(); |
end |
partyNote:SetScale( scalingFactor ); |
xOffset = (MapNotes_PartyNoteData.xPos * width) / scalingFactor; |
yOffset = (-MapNotes_PartyNoteData.yPos * height) / scalingFactor; |
partyNote:SetPoint("CENTER", Plugin.frame, "TOPLEFT", xOffset, yOffset); |
partyNote:SetWidth( MapNotes_Options.iFactor ); |
partyNote:SetHeight( MapNotes_Options.iFactor ); |
partyNote:SetAlpha( MapNotes_Options.aFactor ); |
partyNote:Show(); |
partyNote.key = key; |
partyNote.nid = -1; |
partyNote.Plugin = Plugin; |
else |
partyNote:Hide(); |
end |
end |
if ( ( Plugin.wmflag ) and ( not MapNotesFU_Drawing ) ) then |
MapNotes_MapUpdate(); |
end |
MapNotes.MapNotes_Plugin_Updating[Plugin.name] = nil; |
end |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
MAPNOTES_VERSION = "5.12.30000"; |
MAPNOTES_EDITION = "Fan's Update"; |
MN_DEFAULT_SCALE = 0.75; |
MN_DEFAULT_ISCALE = 16; |
MN_DEFAULT_ASCALE = 1; |
-- Commands |
MAPNOTES_ENABLE_COMMANDS = { "/mapnote", "/mapnotes", "/mn" }; |
MAPNOTES_ONENOTE_COMMANDS = { "/onenote", "/allowonenote", "/aon", "/mn1" }; |
MAPNOTES_MININOTE_COMMANDS = { "/nextmininote", "/nmn", "/mnmn" }; |
MAPNOTES_MININOTEONLY_COMMANDS = { "/nextmininoteonly", "/nmno", "/mnmn1" }; |
MAPNOTES_MININOTEOFF_COMMANDS = { "/mininoteoff", "/mno", "/mnmn0" }; |
MAPNOTES_MNTLOC_COMMANDS = { "/mntloc" } |
MAPNOTES_QUICKNOTE_COMMANDS = { "/quicknote", "/qnote", "/mnq" }; |
MAPNOTES_QUICKTLOC_COMMANDS = { "/quicktloc", "/qtloc", "/mnqtloc" }; |
MAPNOTES_SEARCH_COMMANDS = { "/mnsearch", "/mns" }; |
MAPNOTES_HLIGHT_COMMANDS = { "/mnhighlight", "/mnhl" }; |
MAPNOTES_MINICOORDS_COMMANDS = { "/mnminic" }; |
MAPNOTES_MAPCOORDS_COMMANDS = { "/mnmapc" }; |
MAPNOTES_NTARGET_COMMANDS = { "/mnt" }; |
MAPNOTES_MTARGET_COMMANDS = { "/mnm" }; |
MAPNOTES_WFC_COMMANDS = { "/tloc", "/thottbottloc" }; |
-- Import Commands |
MAPNOTES_IMPORT_METAMAP = { "/MapNotes_Import_MetaMap" }; --Telic_4 |
MAPNOTES_IMPORT_ALPHAMAP = { "/MapNotes_Import_AlphaMap" }; --Telic_4 |
MAPNOTES_IMPORT_ALPHAMAPBG = { "/MapNotes_Import_AlphaMapBG" }; --Telic_4 |
MAPNOTES_IMPORT_CTMAPMOD = { "/MapNotes_Import_CTMapMod" }; --Telic_4 |
MAPNOTES_DFLT_ICONSIZE = 18; |
MAPNOTES_BORDER = 46; |
MapNotes_Mininote_UpdateRate = 0.01; -- Update rate required when a 'child' of Minimap, is less than 0.03 !!! |
-- so moved the parent of the OnUpdate Function to the UI - buttons still |
-- children of Minimap obviously |
-- 5.60 - To provide for sufficient performance for Rotating Minimap support |
-- this has been put back to a Minimap level OnUpdate, and a value of similar |
-- magnitude to the original |
MapNotes_WorldMap_UpdateRate = 0.1; |
MapNotes_MinDiff = 7; |
MAPNOTES_MAXLINES = 100; |
MN_COORD_FS = { |
[0] = "%d, %d", |
[1] = "%.1f, %.1f", |
[2] = "%.2f, %.2f", |
}; |
MN_COORD_F = 1; |
MAPNOTES_BASEKEYS = { |
["WM LochModan"] = { |
["miniData"] = { |
["scale"] = 0.07839152145224, |
["xOffset"] = 0.51118749188138, |
["yOffset"] = 0.50940913489577, |
}, |
}, |
["WM BurningSteppes"] = { |
["miniData"] = { |
["scale"] = 0.08321525646393001, |
["xOffset"] = 0.04621224670174, |
["yOffset"] = 0.61780780524905, |
}, |
}, |
["WM Moonglade"] = { |
["miniData"] = { |
["scale"] = 0.06292695969921, |
["xOffset"] = 0.50130287793373, |
["yOffset"] = 0.17560823085517, |
}, |
}, |
["WM Barrens"] = { |
["miniData"] = { |
["scale"] = 0.27539211944292, |
["xOffset"] = 0.3924934733345, |
["yOffset"] = 0.45601063260257, |
}, |
}, |
["WM Winterspring"] = { |
["miniData"] = { |
["scale"] = 0.19293573573141, |
["xOffset"] = 0.47237382938446, |
["yOffset"] = 0.17390990272233, |
}, |
}, |
["WM Ogrimmar"] = { |
["miniData"] = { |
["scale"] = 0.03811449638057, |
["xOffset"] = 0.56378554142668, |
["yOffset"] = 0.42905218646258, |
}, |
}, |
["WM Westfall"] = { |
["miniData"] = { |
["scale"] = 0.09943208435841, |
["xOffset"] = 0.36884571674582, |
["yOffset"] = 0.71874918595783, |
}, |
}, |
["WM Badlands"] = { |
["miniData"] = { |
["scale"] = 0.07066771883566, |
["xOffset"] = 0.51361415033147, |
["yOffset"] = 0.56915717993261, |
}, |
}, |
["WM Darkshore"] = { |
["miniData"] = { |
["scale"] = 0.17799008894522, |
["xOffset"] = 0.38383175154516, |
["yOffset"] = 0.18206216123156, |
}, |
}, |
["WM Undercity"] = { |
["miniData"] = { |
["scale"] = 0.02727719546939, |
["xOffset"] = 0.4297399924566, |
["yOffset"] = 0.23815358517831, |
}, |
}, |
["WM Dalaran1"] = { |
["miniData"] = { |
["scale"] = 0.02727719546939, |
["xOffset"] = 0.4297399924566, |
["yOffset"] = 0.23815358517831, |
}, |
}, |
["WM Dalaran2"] = { |
["miniData"] = { |
["scale"] = 0.02727719546939, |
["xOffset"] = 0.4297399924566, |
["yOffset"] = 0.23815358517831, |
}, |
}, |
["WM Desolace"] = { |
["miniData"] = { |
["scale"] = 0.12219839120669, |
["xOffset"] = 0.34873187115693, |
["yOffset"] = 0.50331046935371, |
}, |
}, |
["WM Tanaris"] = { |
["miniData"] = { |
["scale"] = 0.18750104661175, |
["xOffset"] = 0.46971301480866, |
["yOffset"] = 0.76120931364891, |
}, |
}, |
["WM Durotar"] = { |
["miniData"] = { |
["scale"] = 0.1436829497008, |
["xOffset"] = 0.5170978270910001, |
["yOffset"] = 0.44802818134926, |
}, |
}, |
["WM Silithus"] = { |
["miniData"] = { |
["scale"] = 0.18885969712845, |
["xOffset"] = 0.33763582469211, |
["yOffset"] = 0.7581522495192899, |
}, |
}, |
["WM SwampOfSorrows"] = { |
["miniData"] = { |
["scale"] = 0.06516347991404001, |
["xOffset"] = 0.5176979527207, |
["yOffset"] = 0.7281597470161501, |
}, |
}, |
["WM StonetalonMountains"] = { |
["miniData"] = { |
["scale"] = 0.13272833611061, |
["xOffset"] = 0.37556627748617, |
["yOffset"] = 0.40285135292988, |
}, |
}, |
["WM Darnassis"] = { |
["miniData"] = { |
["scale"] = 0.02876626176374, |
["xOffset"] = 0.38392150175204, |
["yOffset"] = 0.10441296545475, |
}, |
}, |
["WM Alterac"] = { |
["miniData"] = { |
["scale"] = 0.07954563533736, |
["xOffset"] = 0.43229874660542, |
["yOffset"] = 0.25425926375262, |
}, |
}, |
["WM SearingGorge"] = { |
["miniData"] = { |
["scale"] = 0.06338794005822999, |
["xOffset"] = 0.46372051266487, |
["yOffset"] = 0.5781237938250901, |
}, |
}, |
["WM AlteracValley"] = { |
["miniData"] = { |
["scale"] = 0.13, |
["xOffset"] = 0.41757282062541, |
["yOffset"] = 0.33126468682991, |
}, |
}, |
["WM Hilsbrad"] = { |
["miniData"] = { |
["scale"] = 0.09090931690055, |
["xOffset"] = 0.4242436124746, |
["yOffset"] = 0.30113436864162, |
}, |
}, |
["WM Wetlands"] = { |
["miniData"] = { |
["scale"] = 0.11745423014662, |
["xOffset"] = 0.46561438951659, |
["yOffset"] = 0.40971063365152, |
}, |
}, |
["WM Duskwood"] = { |
["miniData"] = { |
["scale"] = 0.07670475476181, |
["xOffset"] = 0.43087243362495, |
["yOffset"] = 0.73224350550454, |
}, |
}, |
["WM ThousandNeedles"] = { |
["miniData"] = { |
["scale"] = 0.1195658287792, |
["xOffset"] = 0.47554411191734, |
["yOffset"] = 0.6834235638965001, |
}, |
}, |
["WM WesternPlaguelands"] = { |
["miniData"] = { |
["scale"] = 0.12215946583965, |
["xOffset"] = 0.44270955019641, |
["yOffset"] = 0.17471356786018, |
}, |
}, |
["WM Ashenvale"] = { |
["miniData"] = { |
["scale"] = 0.15670371525706, |
["xOffset"] = 0.41757282062541, |
["yOffset"] = 0.33126468682991, |
}, |
}, |
["WM Teldrassil"] = { |
["miniData"] = { |
["scale"] = 0.13836131003639, |
["xOffset"] = 0.36011098024729, |
["yOffset"] = 0.0394832297921, |
}, |
}, |
["WM Tirisfal"] = { |
["miniData"] = { |
["scale"] = 0.12837403412087, |
["xOffset"] = 0.36837217317549, |
["yOffset"] = 0.15464954319582, |
}, |
}, |
["WM Mulgore"] = { |
["miniData"] = { |
["scale"] = 0.13960673216274, |
["xOffset"] = 0.40811854919226, |
["yOffset"] = 0.53286226907346, |
}, |
}, |
["WM Ironforge"] = { |
["miniData"] = { |
["scale"] = 0.02248317426784, |
["xOffset"] = 0.47481923366335, |
["yOffset"] = 0.51289242617182, |
}, |
}, |
["WM Felwood"] = { |
["miniData"] = { |
["scale"] = 0.15625084006464, |
["xOffset"] = 0.41995800144849, |
["yOffset"] = 0.23097545880609, |
}, |
}, |
["WM Silverpine"] = { |
["miniData"] = { |
["scale"] = 0.11931848806212, |
["xOffset"] = 0.3565350229009, |
["yOffset"] = 0.24715695496522, |
}, |
}, |
["WM Aszhara"] = { |
["miniData"] = { |
["scale"] = 0.13779501505279, |
["xOffset"] = 0.5528203691804901, |
["yOffset"] = 0.30400571307545, |
}, |
}, |
["WM Hinterlands"] = { |
["miniData"] = { |
["scale"] = 0.10937523495111, |
["xOffset"] = 0.49929119700867, |
["yOffset"] = 0.25567971676068, |
}, |
}, |
["WM ArathiBasin"] = { |
["miniData"] = { |
["scale"] = 0.045, |
["xOffset"] = 0.41757282062541, |
["yOffset"] = 0.33126468682991, |
}, |
}, |
["WM UngoroCrater"] = { |
["miniData"] = { |
["scale"] = 0.10054401185671, |
["xOffset"] = 0.4492759445152, |
["yOffset"] = 0.7649457362940501, |
}, |
}, |
["WM Stormwind"] = { |
["miniData"] = { |
["scale"] = 0.03819701270887, |
["xOffset"] = 0.41531450060561, |
["yOffset"] = 0.67097280492581, |
}, |
}, |
["WM Elwynn"] = { |
["miniData"] = { |
["scale"] = 0.09860350595046, |
["xOffset"] = 0.41092682316676, |
["yOffset"] = 0.65651531970162, |
}, |
}, |
["WM Redridge"] = { |
["miniData"] = { |
["scale"] = 0.06170112311456, |
["xOffset"] = 0.49917278340928, |
["yOffset"] = 0.68359285304999, |
}, |
}, |
["WM EasternPlaguelands"] = { |
["miniData"] = { |
["scale"] = 0.10996723642661, |
["xOffset"] = 0.51663255550387, |
["yOffset"] = 0.15624753972085, |
}, |
}, |
["WM DunMorogh"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
}, |
}, |
["WM DeadwindPass"] = { |
["miniData"] = { |
["scale"] = 0.07102298961531001, |
["xOffset"] = 0.47822105868635, |
["yOffset"] = 0.7386355504851601, |
}, |
}, |
["WM Feralas"] = { |
["miniData"] = { |
["scale"] = 0.18885970960818, |
["xOffset"] = 0.31589651244686, |
["yOffset"] = 0.61820581746798, |
}, |
}, |
["WM BlastedLands"] = { |
["miniData"] = { |
["scale"] = 0.09517074521836, |
["xOffset"] = 0.48982154167011, |
["yOffset"] = 0.7684651998651, |
}, |
}, |
["WM WarsongGulch"] = { |
["miniData"] = { |
["scale"] = 0.035, |
["xOffset"] = 0.41757282062541, |
["yOffset"] = 0.33126468682991, |
}, |
}, |
["WM Arathi"] = { |
["miniData"] = { |
["scale"] = 0.10227310921644, |
["xOffset"] = 0.47916793249546, |
["yOffset"] = 0.32386170078419, |
}, |
}, |
["WM NetherstormArena"] = { |
["miniData"] = { |
["scale"] = 0.10227310921644, |
["xOffset"] = 0.47916793249546, |
["yOffset"] = 0.32386170078419, |
}, |
}, |
["WM StrandoftheAncients"] = { |
["miniData"] = { |
["scale"] = 0.10227310921644, |
["xOffset"] = 0.47916793249546, |
["yOffset"] = 0.32386170078419, |
}, |
}, |
["WM ScarletEnclave"] = { |
["miniData"] = { |
["scale"] = 0.10227310921644, |
["xOffset"] = 0.47916793249546, |
["yOffset"] = 0.32386170078419, |
}, |
}, |
["WM Dustwallow"] = { |
["miniData"] = { |
["scale"] = 0.14266384095509, |
["xOffset"] = 0.49026338351379, |
["yOffset"] = 0.60461876174686, |
}, |
}, |
["WM Stranglethorn"] = { |
["miniData"] = { |
["scale"] = 0.18128603034401, |
["xOffset"] = 0.39145470225916, |
["yOffset"] = 0.79412224886668, |
}, |
}, |
["WM ThunderBluff"] = { |
["miniData"] = { |
["scale"] = 0.02836291430658, |
["xOffset"] = 0.44972878210917, |
["yOffset"] = 0.55638479002362, |
} |
}, |
["WM ShattrathCity"] = { |
["miniData"] = { |
["scale"] = 0.03811449638057, |
["xOffset"] = 0.56378554142668, |
["yOffset"] = 0.42905218646258, |
} |
}, |
["WM EversongWoods"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM Zangarmarsh"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM Nagrand"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM Netherstorm"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM BloodmystIsle"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM Hellfire"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM TheExodar"] = { |
["miniData"] = { |
["scale"] = 0.03811449638057, |
["xOffset"] = 0.56378554142668, |
["yOffset"] = 0.42905218646258, |
} |
}, |
["WM ShadowmoonValley"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM TerokkarForest"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM Ghostlands"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM BladesEdgeMountains"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM AzuremystIsle"] = { |
["miniData"] = { |
["scale"] = 0.13991525534426, |
["xOffset"] = 0.40335096278072, |
["yOffset"] = 0.48339696712179, |
} |
}, |
["WM SilvermoonCity"] = { |
["miniData"] = { |
["scale"] = 0.03811449638057, |
["xOffset"] = 0.56378554142668, |
["yOffset"] = 0.42905218646258, |
} |
}, |
}; |
MapNotes_CityConst = { |
[0] = { |
["cityScale"] = 1.565, |
}, |
[1] = { |
["cityScale"] = 1.687, |
}, |
[2] = { |
["cityScale"] = 1.882, |
}, |
[3] = { |
["cityScale"] = 2.210, |
}, |
[4] = { |
["cityScale"] = 2.575, |
}, |
[5] = { |
["cityScale"] = 2.651, |
} |
}; |
MapNotes_MiniConst = { |
[1] = { |
[0] = { |
["xScale"] = 11016.6, |
["yScale"] = 7399.9, |
}, |
[1] = { |
["xScale"] = 12897.3, |
["yScale"] = 8638.1, |
}, |
[2] = { |
["xScale"] = 15478.8, |
["yScale"] = 10368.0, |
}, |
[3] = { |
["xScale"] = 19321.8, |
["yScale"] = 12992.7, |
}, |
[4] = { |
["xScale"] = 25650.4, |
["yScale"] = 17253.2, |
}, |
[5] = { |
["xScale"] = 38787.7, |
["yScale"] = 26032.1, |
} |
}, |
[2] = { |
[0] = { |
["xScale"] = 10448.3, |
["yScale"] = 7072.7, |
}, |
[1] = { |
["xScale"] = 12160.5, |
["yScale"] = 8197.8, |
}, |
[2] = { |
["xScale"] = 14703.1, |
["yScale"] = 9825.0, |
}, |
[3] = { |
["xScale"] = 18568.7, |
["yScale"] = 12472.2, |
}, |
[4] = { |
["xScale"] = 24390.3, |
["yScale"] = 15628.5, |
}, |
[5] = { |
["xScale"] = 37012.2, |
["yScale"] = 25130.6, |
} |
}, |
[3] = { |
[0] = { |
["xScale"] = 10448.3, |
["yScale"] = 7072.7, |
}, |
[1] = { |
["xScale"] = 12160.5, |
["yScale"] = 8197.8, |
}, |
[2] = { |
["xScale"] = 14703.1, |
["yScale"] = 9825.0, |
}, |
[3] = { |
["xScale"] = 18568.7, |
["yScale"] = 12472.2, |
}, |
[4] = { |
["xScale"] = 24390.3, |
["yScale"] = 15628.5, |
}, |
[5] = { |
["xScale"] = 37012.2, |
["yScale"] = 25130.6, |
} |
}, |
[4] = { |
[0] = { |
["xScale"] = 10448.3, |
["yScale"] = 7072.7, |
}, |
[1] = { |
["xScale"] = 12160.5, |
["yScale"] = 8197.8, |
}, |
[2] = { |
["xScale"] = 14703.1, |
["yScale"] = 9825.0, |
}, |
[3] = { |
["xScale"] = 18568.7, |
["yScale"] = 12472.2, |
}, |
[4] = { |
["xScale"] = 24390.3, |
["yScale"] = 15628.5, |
}, |
[5] = { |
["xScale"] = 37012.2, |
["yScale"] = 25130.6, |
} |
}, |
}; |
MAPNOTES_DEFAULT_MINIDATA = { |
["scale"] = 0.15, |
["xOffset"] = 0.4, |
["yOffset"] = 0.4, |
["cont"] = 2, |
}; |
MN_MINIMAP_STYLES = { |
[1] = "SQUARE", |
[2] = "CORNER-TOPRIGHT", |
[3] = "CORNER-BOTTOMRIGHT", |
[4] = "CORNER-BOTTOMLEFT", |
[5] = "CORNER-TOPLEFT", |
[6] = "SIDE-RIGHT", |
[7] = "SIDE-BOTTOM", |
[8] = "SIDE-LEFT", |
[9] = "SIDE-TOP", |
[10] = "TRICORNER-TOPRIGHT", |
[11] = "TRICORNER-BOTTOMRIGHT", |
[12] = "TRICORNER-BOTTOMLEFT", |
[13] = "TRICORNER-TOPLEFT", |
[14] = "CIRCULAR", |
}; |
MN_AUTO_MINIMAPS = { |
["SQUARE"] = { true, true, true, true }, |
["CORNER-TOPRIGHT"] = { false, true, true, true }, |
["CORNER-BOTTOMRIGHT"] = { true, false, true, true }, |
["CORNER-BOTTOMLEFT"] = { true, true, true, false }, |
["CORNER-TOPLEFT"] = { true, true, false, true }, |
["SIDE-RIGHT"] = { false, false, true, true }, |
["SIDE-BOTTOM"] = { true, false, true, false }, |
["SIDE-LEFT"] = { true, true, false, false }, |
["SIDE-TOP"] = { false, true, false, true }, |
["TRICORNER-TOPRIGHT"] = { true, false, false, false }, |
["TRICORNER-BOTTOMRIGHT"] = { false, true, false, false }, |
["TRICORNER-BOTTOMLEFT"] = { false, false, false, true }, |
["TRICORNER-TOPLEFT"] = { false, false, true, false }, |
["CIRUCULAR"] = { false, false, false, false }, |
}; |
<!-- |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
--> |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd"> |
<Button name="MapNotesPOIButtonTemplate" enableMouse="true" movable="true" virtual="true"> |
<Size> |
<AbsDimension x="18" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="$parentMininote" file="Interface\AddOns\MapNotes\MiscGFX\BaW" hidden="true"> |
<Size> |
<AbsDimension x="19" y="19"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
<Layer level="ARTWORK"> |
<Texture name="$parentLastnote" file="Interface\AddOns\MapNotes\MiscGFX\Lastnote" hidden="true"> |
<Size> |
<AbsDimension x="19" y="19"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
<Layer level="OVERLAY"> |
<Texture name="$parentTexture" file="" setAllPoints="true"/> |
<Texture name="$parentHighlight" file="Interface\AddOns\MapNotes\MiscGFX\Highlight" hidden="true"> |
<Size> |
<AbsDimension x="22" y="22"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
self:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnShow> |
self:SetFrameLevel(self:GetParent():GetFrameLevel() + 3); |
self.hAngle = 0; |
self.s = 0; |
self.c = 0; |
self.timer = 0; |
</OnShow> |
<OnMouseDown> |
if ( ( IsControlKeyDown() ) and ( IsAltKeyDown() ) and ( arg1 == "LeftButton" ) ) then |
self.isMoving = true; |
MapNotes_RememberPosition(self:GetID()); |
self:StartMoving(); |
end |
</OnMouseDown> |
<OnMouseUp> |
if ( self.isMoving ) then |
self:StopMovingOrSizing(); |
self.isMoving = false; |
MapNotes_RepositionNote(self:GetID()); |
end |
</OnMouseUp> |
<OnEnter> |
MN_NoteOnEnter(self); |
</OnEnter> |
<OnLeave> |
WorldMapTooltip:Hide(); |
GameTooltip:Hide(); |
</OnLeave> |
<OnClick> |
MapNotes_Note_OnClick(self, arg1); |
</OnClick> |
<OnUpdate> |
MN_NoteUpdate(self, arg1); |
</OnUpdate> |
</Scripts> |
</Button> |
<Button name="WorldMapMapNotesMiscTemplate" hidden="true" virtual="true"> |
<Size> |
<AbsDimension x="18" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="$parentMininote" file="Interface\AddOns\MapNotes\MiscGFX\BaW" hidden="true"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
<Layer level="ARTWORK"> |
<Texture name="$parentTexture" file="" setAllPoints="true"/> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
self:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnEnter> |
MN_NoteOnEnter(self); |
</OnEnter> |
<OnLeave> |
GameTooltip:Hide(); |
WorldMapTooltip:Hide(); |
</OnLeave> |
<OnClick> |
MapNotes_Misc_OnClick(self, arg1, self:GetParent()); |
</OnClick> |
<OnUpdate> |
MN_NoteUpdate(self, arg1); |
</OnUpdate> |
</Scripts> |
</Button> |
<!-- Could try this as a normal frame with OnMouseDown events and a normal texture layer definition --> |
<Button name="MN_MiniNotePOITemplate" enableMouse="true" clampedToScreen="true" parent="Minimap" virtual="true"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Scripts> |
<OnLoad> |
this:SetFrameLevel(5); |
this.timeSinceLastUpdate = 0; |
<!-- this:RegisterForClicks("LeftButtonUp", "RightButtonUp"); --> |
</OnLoad> |
<OnShow> |
this.timeSinceLastUpdate = 0; |
</OnShow> |
<OnUpdate> |
POI_OnUpdate(arg1, this); |
</OnUpdate> |
<OnEnter> |
MN_NoteOnEnter(self); |
</OnEnter> |
<OnLeave> |
GameTooltip:Hide(); |
</OnLeave> |
<OnMouseUp> |
MapNotes_MiniNote_OnClick(self, arg1); |
</OnMouseUp> |
</Scripts> |
<NormalTexture name="$parentTexture" file=""/> |
</Button> |
<!-- enable clicking through hidden player frame that triggers tooltip--> |
<Button name="MapNotes_WorldMapPlayerButton" parent="WorldMapPlayer"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnEnter> |
WorldMapPlayer:GetScript("OnEnter")(WorldMapPlayer); |
</OnEnter> |
<OnLeave> |
WorldMapPlayer:GetScript("OnLeave")(WorldMapPlayer); |
</OnLeave> |
<OnClick> |
MapNotes_WorldMapButton_OnClick(WorldMapButton, arg1); |
</OnClick> |
</Scripts> |
</Button> |
<!-- for tloc function --> |
<Button name="MapNotesPOItloc" inherits="WorldMapMapNotesMiscTemplate" parent="WorldMapButton"> |
<Scripts> |
<OnShow> |
self:SetFrameLevel(self:GetParent():GetFrameLevel() + 3); |
self:SetID(0); |
self.hAngle = 0; |
self.s = 0; |
self.c = 0; |
self.timer = 0; |
</OnShow> |
</Scripts> |
</Button> |
<Button name="MapNotesPOIparty" inherits="WorldMapMapNotesMiscTemplate" parent="WorldMapButton"> |
<Scripts> |
<OnShow> |
self:SetFrameLevel(self:GetParent():GetFrameLevel() + 3); |
self:SetID(-1); |
self.hAngle = 0; |
self.s = 0; |
self.c = 0; |
self.timer = 0; |
</OnShow> |
</Scripts> |
</Button> |
<!-- Adds the MiniNote POI to MiniMapFrame --> |
<Button name="MN_MiniNotePOI" inherits="MN_MiniNotePOITemplate" hidden="true" toplevel="true"> |
<Anchors> |
<Anchor point="CENTER" relativeTo="MinimapBackdrop" relativePoint="TOPLEFT"> |
<Offset><AbsDimension x="-51" y="60"/></Offset> |
</Anchor> |
</Anchors> |
</Button> |
</Ui> |
<!-- |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
--> |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd"> |
<Script file="MapNotesConstants.lua"/> |
<Script file="MapNotesColours.lua"/> |
<Script file="localization.en.lua"/> |
<Script file="localization.de.lua"/> |
<Script file="localization.fr.lua"/> |
<Script file="localization.kr.lua"/> |
<Script file="localization.tw.lua"/> |
<Script file="localization.es.lua"/> |
<Script file="localization.cn.lua"/> |
<Script file="Utilities.lua"/> <!-- Telic_1 --> |
<Script file="PlugIns.lua"/> <!-- Telic_2 --> |
<Frame name="MapNotes_FrameTemplate" toplevel="true" movable="true" hidden="true" |
parent="WorldMapFrame" frameStrata="TOOLTIP" enableMouse="true" virtual="true"> <!-- Telic_2 frameStrata --> |
<Scripts> |
<OnMouseDown> |
if ( arg1 == "LeftButton" ) then |
self:StartMoving(); |
end |
</OnMouseDown> |
<OnMouseUp> |
if ( arg1 == "LeftButton" ) then |
self:StopMovingOrSizing(); |
end |
</OnMouseUp> |
<OnShow> <!-- Telic_1 --> |
this:SetAlpha(1.0); <!-- Telic_1 - caters for AddOns that can change the parent frame Alpha setting --> |
</OnShow> <!-- Telic_1 --> |
</Scripts> |
<Backdrop bgFile="Interface\Tooltips\UI-Tooltip-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="5" right="5" top="5" bottom="5"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="16"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="16"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<Button name="MapNotes_ButtonTemplate" inherits="UIPanelButtonTemplate2" virtual="true"> |
<Size> |
<AbsDimension x="185" y="21"/> |
</Size> |
<Scripts> <!-- Telic_2 --> |
<OnShow> <!-- Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!-- Telic_2 --> |
</OnShow> <!-- Telic_2 --> |
</Scripts> <!-- Telic_2 --> |
</Button> |
<Button name="MapNotes_CancelButtonTemplate" inherits="MapNotes_ButtonTemplate" virtual="true" text="MAPNOTES_CANCEL"> |
<Scripts> |
<OnClick> |
PlaySound("igMainMenuOption"); |
this:GetParent():Hide(); |
</OnClick> |
</Scripts> |
</Button> |
<Texture name="MapNotesLineTemplate" hidden="true" virtual="true"/> |
</Ui> |
<!-- |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more Information. |
--> |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd"> |
<Script file="MapNotes.lua"/> |
<Frame name="MapNotesEditFrame" frameStrata="TOOLTIP" inherits="MapNotes_FrameTemplate"> |
<Size> |
<AbsDimension x="450" y="350"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString inherits="GameFontGreenLarge" text="MAPNOTES_EDIT_MENU"> |
<Anchors> |
<Anchor point="TOP" relativeTo="MapNotesEditFrame"> |
<Offset><AbsDimension x="0" y="-12"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Frames> |
<Button name="MapNotesButtonSaveNote" inherits="MapNotes_ButtonTemplate" text="MAPNOTES_SAVE_NOTE"> |
<Anchors> |
<Anchor point="CENTER" relativePoint="Bottom"> |
<Offset><AbsDimension x="-102.5" y="30"/></Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnClick> |
PlaySound("igMainMenuOption"); |
MapNotes_WriteNote(); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="$parentCancel" inherits="MapNotes_CancelButtonTemplate"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesButtonSaveNote"> |
<Offset><AbsDimension x="20" y="0"/></Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MN_EditIcon0"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="50" y="-41"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon0Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon0"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(0); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon1"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon0"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon1Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon1"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon2"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon1"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon2Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon2"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(2); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon3"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon2"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon3Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon3"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(3); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon4"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon3"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon4Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon4"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(4); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon5"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon4"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon5Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon5"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(5); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon6"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon5"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon6Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon6"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(6); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon7"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon6"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon7Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon7"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(7); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon8"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon7"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon8Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon8"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(8); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_EditIcon9"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_EditIcon8"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_EditIcon9Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon9"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetIcon(9); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Frame name="MN_IconOverlay" enableMouse="false"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MN_EditIcon0"> |
<Offset><AbsDimension x="-3" y="3"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_IconOverlayTexture" file="Interface\AddOns\MapNotes\POIIcons\Overlay"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
</Frame> |
<EditBox name="MapNotes_TitleWideEditBox" historyLines="0" letters="100"> |
<Size> |
<AbsDimension x="400" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MN_EditIcon0"> |
<Offset><AbsDimension x="-26" y="-36"/></Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
MapNotes_TitleWideEditBox:SetText(""); |
</OnLoad> |
<OnTextChanged> |
if (MapNotes_TitleWideEditBox:GetText() == "" or MapNotes_TitleWideEditBox:GetText() == nil) then |
MapNotesButtonSaveNote:Disable(); |
else |
MapNotesButtonSaveNote:Enable(); |
end |
</OnTextChanged> |
<OnEnterPressed> |
PlaySound("igMainMenuOption"); |
MapNotes_WriteNote(); |
</OnEnterPressed> |
<OnEscapePressed> |
MapNotesEditFrame:Hide(); |
</OnEscapePressed> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); |
</OnShow> |
<OnTabPressed> |
MN_Info1WideEditBox:SetFocus(); |
</OnTabPressed> |
</Scripts> |
<FontString inherits="ChatFontNormal"/> |
</EditBox> |
<Frame> |
<Size> |
<AbsDimension x="420" y="28"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativePoint="CENTER" relativeTo="MapNotes_TitleWideEditBox"/> |
</Anchors> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="12"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="12"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<EditBox name="MN_Info1WideEditBox" historyLines="0" letters="100"> |
<Size> |
<AbsDimension x="400" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MapNotes_TitleWideEditBox"> |
<Offset><AbsDimension x="0" y="-65"/></Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnEnterPressed> |
PlaySound("igMainMenuOption"); |
MapNotes_WriteNote(); |
</OnEnterPressed> |
<OnEscapePressed> |
MapNotesEditFrame:Hide(); |
</OnEscapePressed> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); |
</OnShow> |
<OnTabPressed> |
MN_Info2WideEditBox:SetFocus(); |
</OnTabPressed> |
</Scripts> |
<FontString inherits="ChatFontNormal"/> |
</EditBox> |
<Frame> |
<Size> |
<AbsDimension x="420" y="28"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativePoint="CENTER" relativeTo="MN_Info1WideEditBox"/> |
</Anchors> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="12"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="12"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<EditBox name="MN_Info2WideEditBox" historyLines="0" letters="100"> |
<Size> |
<AbsDimension x="400" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MN_Info1WideEditBox"> |
<Offset><AbsDimension x="0" y="-65"/></Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnEnterPressed> |
PlaySound("igMainMenuOption"); |
MapNotes_WriteNote(); |
</OnEnterPressed> |
<OnEscapePressed> |
MapNotesEditFrame:Hide(); |
</OnEscapePressed> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); |
</OnShow> |
<OnTabPressed> |
MN_CreatorWideEditBox:SetFocus(); |
</OnTabPressed> |
</Scripts> |
<FontString inherits="ChatFontNormal"/> |
</EditBox> |
<Frame> |
<Size> |
<AbsDimension x="420" y="28"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativePoint="CENTER" relativeTo="MN_Info2WideEditBox"/> |
</Anchors> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="12"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="12"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<EditBox name="MN_CreatorWideEditBox" historyLines="0" letters="100"> |
<Size> |
<AbsDimension x="400" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MN_Info2WideEditBox"> |
<Offset><AbsDimension x="0" y="-65"/></Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnEnterPressed> |
PlaySound("igMainMenuOption"); |
MapNotes_WriteNote(); |
</OnEnterPressed> |
<OnEscapePressed> |
MapNotesEditFrame:Hide(); |
</OnEscapePressed> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); |
</OnShow> |
<OnTabPressed> |
MapNotes_TitleWideEditBox:SetFocus(); |
</OnTabPressed> |
</Scripts> |
<FontString inherits="ChatFontNormal"/> |
</EditBox> |
<Frame> |
<Size> |
<AbsDimension x="420" y="28"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativePoint="CENTER" relativeTo="MN_CreatorWideEditBox"/> |
</Anchors> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="12"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="12"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<Button name="MN_TextColor0"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="50" y="-111"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor0Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(0, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor1"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor0"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor1Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(1, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor2"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor1"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor2Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(2, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor3"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor2"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor3Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(3, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor4"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor3"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor4Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(4, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor5"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor4"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor5Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(5, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor6"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor5"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor6Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(6, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor7"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor6"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor7Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(7, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor8"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor7"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor8Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(8, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_TextColor9"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_TextColor8"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColor9Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_SetTextColor(9, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Frame name="MN_TextColorOverlay" enableMouse="false"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MN_TextColor0"> |
<Offset><AbsDimension x="-3" y="3"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_TextColorOverlayTexture" file="Interface\AddOns\MapNotes\POIIcons\Overlay"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
</Frame> |
<Button name="MN_Info1Color0"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="50" y="-175"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color0Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(0, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color1"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color0"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color1Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(1, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color2"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color1"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color2Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(2, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color3"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color2"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color3Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(3, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color4"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color3"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color4Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(4, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color5"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color4"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color5Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(5, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color6"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color5"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color6Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(6, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color7"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color6"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color7Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(7, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color8"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color7"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color8Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(8, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info1Color9"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info1Color8"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1Color9Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info1Color(9, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Frame name="MN_Info1ColorOverlay" enableMouse="false"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MN_Info1Color0"> |
<Offset><AbsDimension x="-3" y="3"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info1ColorOverlayTexture" file="Interface\AddOns\MapNotes\POIIcons\Overlay"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
</Frame> |
<Button name="MN_Info2Color0"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="50" y="-241"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color0Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(0, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color1"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color0"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color1Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(1, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color2"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color1"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color2Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(2, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color3"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color2"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color3Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(3, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color4"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color3"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color4Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(4, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color5"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color4"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color5Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(5, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color6"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color5"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color6Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(6, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color7"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color6"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color7Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(7, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color8"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color7"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color8Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(8, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Button name="MN_Info2Color9"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_Info2Color8"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2Color9Texture" file="Interface\AddOns\MapNotes\POIIcons\TextColourTemplate"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
this:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MapNotes_Edit_Set_Info2Color(9, arg1); |
</OnClick> |
<OnShow> <!--Telic_2 --> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 1 ); <!--Telic_2 --> |
</OnShow> <!--Telic_2 --> |
</Scripts> |
</Button> |
<Frame name="MN_Info2ColorOverlay" enableMouse="false"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MN_Info2Color0"> |
<Offset><AbsDimension x="-3" y="3"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MN_Info2ColorOverlayTexture" file="Interface\AddOns\MapNotes\POIIcons\Overlay"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
</Frame> |
</Frames> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotes_EditFrame_Title" inherits="GameFontNormalSmall" text="MAPNOTES_EDIT_TITLE" justifyH="LEFT"> |
<Size> |
<AbsDimension x="222" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="22" y="-63"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MapNotes_EditFrame_MN_Info1" inherits="GameFontNormalSmall" text="MAPNOTES_EDIT_INFO1" justifyH="LEFT"> |
<Size> |
<AbsDimension x="222" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="22" y="-129"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MapNotes_EditFrame_MN_Info2" inherits="GameFontNormalSmall" text="MAPNOTES_EDIT_INFO2" justifyH="LEFT"> |
<Size> |
<AbsDimension x="222" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="22" y="-194"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MapNotes_EditFrame_Creator" inherits="GameFontNormalSmall" text="MAPNOTES_EDIT_CREATOR" justifyH="LEFT"> |
<Size> |
<AbsDimension x="222" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="22" y="-259"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnShow> |
MN_InitialiseTextColours(true); |
this:SetFrameStrata("TOOLTIP"); |
this:SetAlpha(1.0); |
MapNotes_NormaliseScale(self); |
</OnShow> |
<OnLoad> |
this:SetBackdropColor(0,0,0,1); |
</OnLoad> |
</Scripts> |
</Frame> |
<Frame parent="ColorPickerFrame" enableMouse="false" hidden="false"> <!-- Easy Hook ColorPickerFrame's OnHide function that will Never interfere with anyone elses... ;) --> |
<Size> |
<AbsDimension x="1" y="1"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Scripts> |
<OnHide> |
if ( ColorPickerFrame.strata ) then |
ColorPickerFrame:SetFrameStrata(ColorPickerFrame.strata); |
ColorPickerFrame.strata = nil; |
end |
ColorPickerFrame:SetParent(UIParent); |
</OnHide> |
<OnUpdate> |
if ( ( ColorPickerFrame.forceHide ) and ( not WorldMapButton:IsVisible() ) ) then |
ColorPickerFrame.forceHide = nil; |
ColorPickerFrame:Hide(); |
end |
</OnUpdate> |
</Scripts> |
</Frame> |
</Ui> |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
MapNotes_Details = { |
name = MAPNOTES_NAME, |
description = MAPNOTES_ADDON_DESCRIPTION, |
version = MAPNOTES_VERSION, |
releaseDate = "14 November 2007", |
author = "Telic", |
email = "telic@hotmail.co.uk", |
website = MAPNOTES_DOWNLOAD_SITES, |
category = MYADDONS_CATEGORY_MAP, |
frame = "MapNotesOptionsFrame", |
optionsframe = "MapNotesOptionsFrame", |
}; |
MapNotes_Options = {}; |
MapNotes_Data_Notes = {}; |
MapNotes_Data_Lines = {}; |
MapNotes_MiniNote_Data = {}; |
MapNotes_Undelete_Info = {}; |
MapNotes_Globals = {}; |
MapNotes_MiniNote_IsInCity = false; |
MapNotes_MiniNote_MapzoomInit = false; |
MapNotes_SetNextAsMiniNote = 0; |
MapNotes_AllowOneNote = 0; |
MapNotes_LastReceivedNote_xPos = 0; |
MapNotes_LastReceivedNote_yPos = 0; |
MapNotes_ZoneNames = {}; |
MapNotes_LastLineClick = {}; |
MapNotes_LastLineClick.time = 0; |
MapNotes_TempData_Id = ""; |
MapNotes_TempData_Creator = ""; |
MapNotes_TempData_xPos = ""; |
MapNotes_TempData_yPos = ""; |
MapNotes_TempData_Icon = ""; |
MapNotes_TempData_TextColor = ""; |
MapNotes_TempData_Info1Color = ""; |
MapNotes_TempData_Info2Color = ""; |
MapNotes_TempData_miniNote = nil; |
MapNotes_PartyNoteData = {}; |
MapNotes_tloc_xPos = nil; |
MapNotes_tloc_yPos = nil; |
MapNotes_tloc_name = nil; |
MapNotes_tloc_key = nil; |
MapNotes_Started = nil; |
MN_toggleClosed = nil; |
MapNotes_HighlightedNote = ""; |
local highlightedNotes = {}; |
local id = 0; |
local MapNotesFU_Drawing = nil; |
local MapNotesWorldMapTimeSinceLastUpdate = 0; |
local MapNotes_DoubleClick_Timer = 0; |
local MapNotes_DoubleClick_Key = ""; |
local MapNotes_DoubleClick_Id = 0; |
MapNotes_TargetInfo_Proceed = nil; |
local atan2 = math.atan2; |
local sin = math.sin; |
local cos = math.cos; |
local tan = math.tan; |
local sqrt = math.sqrt; |
local abs = math.abs; |
--[[ |
Hooked Functions |
--]] |
local orig_MapNotes_WorldMapButton_OnClick; -- MapNotes hides WorldMapButton_OnClick on right-clicks |
local orig_ChatFrame_MessageEventHandler; |
local orig_Minimap_OnClick; |
local MN_DefaultCoordsX = 60; |
local MN_DefaultCoordsY = 532; |
local MN_MOFFSET_X = 0.0022; |
local MN_MOFFSET_Y = 0.0; |
local MN_cUpdate = 0.0; |
local MN_cUpdateLimit = 0.05; |
local MN_miniRadius = 66; |
local MN_currentZoom = 0; |
local MN_rotatingMinimap = nil; |
local function MapNotes_NewNoteSlot(key) |
local currentZone = MapNotes_Data_Notes[key]; |
return MapNotes_GetZoneTableSize(currentZone) + 1; |
end |
function MapNotes_Hooker() |
-- WorldMapButton_OnClick -- not secure, but couldn't find any Taint of Pet Bars when making notes in combat, etc. |
orig_MapNotes_WorldMapButton_OnClick = WorldMapButton_OnClick; |
WorldMapButton_OnClick = MapNotes_WorldMapButton_OnClick; |
-- ToggleWorldMap |
-- Secure Hook |
hooksecurefunc("ToggleFrame", MapNotes_ToggleWorldMap); |
-- hooksecurefunc("ToggleWorldMap", MapNotes_ToggleWorldMap); |
-- ChatFrame_MessageEventHandler |
orig_ChatFrame_MessageEventHandler = ChatFrame_MessageEventHandler; |
ChatFrame_MessageEventHandler = MapNotes_ChatFrame_MessageEventHandler; |
-- Create notes from Minimap clicks |
orig_Minimap_OnClick = Minimap_OnClick; |
Minimap_OnClick = MapNotes_Minimap_OnClick; |
end |
function MapNotes_OnLoad() |
WorldMapMagnifyingGlassButton:SetText(MAPNOTES_WORLDMAP_HELP_1.."\n"..MAPNOTES_WORLDMAP_HELP_2.."\n"..MAPNOTES_WORLDMAP_HELP_3); |
SlashCmdList["MAPNOTES"] = MapNotes_GetNoteBySlashCommand; |
for i = 1, table.getn(MAPNOTES_ENABLE_COMMANDS) do |
setglobal("SLASH_MAPNOTES"..i, MAPNOTES_ENABLE_COMMANDS[i]); |
end |
SlashCmdList["MN_ONENOTE"] = MapNotes_OneNote; |
for i = 1, table.getn(MAPNOTES_ONENOTE_COMMANDS) do |
setglobal("SLASH_MN_ONENOTE"..i, MAPNOTES_ONENOTE_COMMANDS[i]); |
end |
SlashCmdList["MN_MININOTE"] = MapNotes_NextMiniNote; |
for i = 1, table.getn(MAPNOTES_MININOTE_COMMANDS) do |
setglobal("SLASH_MN_MININOTE"..i, MAPNOTES_MININOTE_COMMANDS[i]); |
end |
SlashCmdList["MN_MININOTEONLY"] = MapNotes_NextMiniNoteOnly; |
for i = 1, table.getn(MAPNOTES_MININOTEONLY_COMMANDS) do |
setglobal("SLASH_MN_MININOTEONLY"..i, MAPNOTES_MININOTEONLY_COMMANDS[i]); |
end |
SlashCmdList["MN_MININOTEOFF"] = MapNotes_ClearMiniNoteGlobal; |
for i = 1, table.getn(MAPNOTES_MININOTEOFF_COMMANDS) do |
setglobal("SLASH_MN_MININOTEOFF"..i, MAPNOTES_MININOTEOFF_COMMANDS[i]); |
end |
SlashCmdList["MN_TLOC"] = function(txt, editBox) MapNotes_mntloc(txt); end |
for i = 1, table.getn(MAPNOTES_MNTLOC_COMMANDS) do |
setglobal("SLASH_MN_TLOC"..i, MAPNOTES_MNTLOC_COMMANDS[i]); |
end |
SlashCmdList["MN_QUICKNOTE"] = function(txt, editBox) MapNotes_CreateQuickNote(txt); end |
for i = 1, table.getn(MAPNOTES_QUICKNOTE_COMMANDS) do |
setglobal("SLASH_MN_QUICKNOTE"..i, MAPNOTES_QUICKNOTE_COMMANDS[i]); |
end |
SlashCmdList["MN_QUICKTLOC"] = function(txt, editBox) MapNotes_Quicktloc(txt); end |
for i = 1, table.getn(MAPNOTES_QUICKTLOC_COMMANDS) do |
setglobal("SLASH_MN_QUICKTLOC"..i, MAPNOTES_QUICKTLOC_COMMANDS[i]); |
end |
SlashCmdList["MN_SEARCH"] = MapNotes_Search; |
for i = 1, table.getn(MAPNOTES_SEARCH_COMMANDS) do |
setglobal("SLASH_MN_SEARCH"..i, MAPNOTES_SEARCH_COMMANDS[i]); |
end |
SlashCmdList["MN_HIGHLIGHT"] = MapNotes_Highlight; |
for i = 1, table.getn(MAPNOTES_HLIGHT_COMMANDS) do |
setglobal("SLASH_MN_HIGHLIGHT"..i, MAPNOTES_HLIGHT_COMMANDS[i]); |
end |
SlashCmdList["MN_MINICOORDS"] = MapNotes_MiniCToggle; |
for i = 1, table.getn(MAPNOTES_MINICOORDS_COMMANDS) do |
setglobal("SLASH_MN_MINICOORDS"..i, MAPNOTES_MINICOORDS_COMMANDS[i]); |
end |
SlashCmdList["MN_MAPCOORDS"] = MapNotes_MapCToggle; |
for i = 1, table.getn(MAPNOTES_MAPCOORDS_COMMANDS) do |
setglobal("SLASH_MN_MAPCOORDS"..i, MAPNOTES_MAPCOORDS_COMMANDS[i]); |
end |
SlashCmdList["MN_TARGETNOTE"] = MapNotes_TargetNote; |
for i = 1, table.getn(MAPNOTES_NTARGET_COMMANDS) do |
setglobal("SLASH_MN_TARGETNOTE"..i, MAPNOTES_NTARGET_COMMANDS[i]); |
end |
SlashCmdList["MN_TARGETMERGE"] = MapNotes_MergeNote; |
for i = 1, table.getn(MAPNOTES_MTARGET_COMMANDS) do |
setglobal("SLASH_MN_TARGETMERGE"..i, MAPNOTES_MTARGET_COMMANDS[i]); |
end |
SlashCmdList["MN_WFC"] = MapNotes_WFC; |
for i = 1, table.getn(MAPNOTES_WFC_COMMANDS) do |
setglobal("SLASH_MN_WFC"..i, MAPNOTES_WFC_COMMANDS[i]); |
end |
SlashCmdList["IMPORTMETAMAP"] = MapNotes_ImportMetaMap; --Telic_4 |
for i = 1, table.getn(MAPNOTES_IMPORT_METAMAP) do --Telic_4 |
setglobal("SLASH_IMPORTMETAMAP"..i, MAPNOTES_IMPORT_METAMAP[i]); --Telic_4 |
end --Telic_4 |
SlashCmdList["IMPORTALPHAMAP"] = MapNotes_ImportAlphaMap; --Telic_4 |
for i = 1, table.getn(MAPNOTES_IMPORT_ALPHAMAP) do --Telic_4 |
setglobal("SLASH_IMPORTALPHAMAP"..i, MAPNOTES_IMPORT_ALPHAMAP[i]); --Telic_4 |
end --Telic_4 |
SlashCmdList["IMPORTALPHABGMAP"] = MapNotes_ImportAlphaMapBG; --Telic_4 |
for i = 1, table.getn(MAPNOTES_IMPORT_ALPHAMAPBG) do --Telic_4 |
setglobal("SLASH_IMPORTALPHABGMAP"..i, MAPNOTES_IMPORT_ALPHAMAPBG[i]); --Telic_4 |
end --Telic_4 |
SlashCmdList["IMPORTCTMAP"] = MapNotes_ImportCTMap; --Telic_4 |
for i = 1, table.getn(MAPNOTES_IMPORT_CTMAPMOD) do --Telic_4 |
setglobal("SLASH_IMPORTCTMAP"..i, MAPNOTES_IMPORT_CTMAPMOD[i]); --Telic_4 |
end --Telic_4 |
end |
function MapNotes_VariablesLoaded() |
MapNotes_MiniNote_Data = {}; |
if ( not MapNotes_Options.colourT ) then |
MapNotes_Options.colourT = {}; |
end |
if ( not MapNotes_Options.colourT[1] ) then |
MapNotes_Options.colourT[1] = {}; |
end |
if ( not MapNotes_Options.colourT[2] ) then |
MapNotes_Options.colourT[2] = {}; |
end |
if ( not MapNotes_Options.colourT[3] ) then |
MapNotes_Options.colourT[3] = {}; |
end |
if ( MapNotes_Options.coordF == nil ) then |
MapNotes_Options.coordF = MN_COORD_F; |
else |
MN_COORD_F = MapNotes_Options.coordF; |
end |
if ( MapNotes_Options.miniC == nil ) then |
MapNotes_Options.miniC = true; |
end |
MapNotes_ResetHighlightsOnLoad(); |
if ( MapNotes_MiniNote_Data.icon ~= nil ) then |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MapNotes_MiniNote_Data.icon == "party" ) and ( MNIL ) and ( MN_PARTY_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_PARTY_ICON); |
elseif ( ( MapNotes_MiniNote_Data.icon == "tloc" ) and ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
end |
if myAddOnsFrame_Register then |
myAddOnsFrame_Register(MapNotes_Details); |
end |
MapNotes_Hooker(); |
MapNotes_LoadMapData(); -- (Also upgrades from previous MapNotes versions |
if ( MapNotes_Data ) then |
MapNotes_Data = nil; -- {} ? Legacy now remove to nil |
end |
if ( MapNotes_Lines ) then |
MapNotes_Lines = nil; -- {} ? Legacy now remove to nil |
end |
MapNotes_LoadPlugIns(); --Telic_2 |
if ( MapNotes_Options.miniC ) then |
MN_MinimapCoordsFrame:Show(); |
end |
if ( MapNotes_Options.shownotes == nil ) then |
MapNotes_Options.shownotes = true; |
end |
if ( not MapNotes_Options.nFactor ) then |
MapNotes_Options.nFactor = MN_DEFAULT_SCALE; |
end |
MN_FrameSlider:SetValue( MapNotes_Options.nFactor ); |
if ( not MapNotes_Options.iFactor ) then |
MapNotes_Options.iFactor = MN_DEFAULT_ISCALE; |
end |
MN_IconSlider:SetValue( MapNotes_Options.iFactor ); |
if ( not MapNotes_Options.aFactor ) then |
MapNotes_Options.aFactor = MN_DEFAULT_ASCALE; |
end |
MN_AlphaSlider:SetValue( MapNotes_Options.aFactor ); |
if ( not MapNotes_Options.coordsLocX ) then |
MapNotes_Options.coordsLocX = MN_DefaultCoordsX; |
end |
if ( not MapNotes_Options.coordsLocY ) then |
MapNotes_Options.coordsLocY = MN_DefaultCoordsY; |
end |
MN_SetCoordsPos(); |
local msg = "MapNotes(Fan's Update) |c0000FF00"..MAPNOTES_VERSION.."|r"; |
DEFAULT_CHAT_FRAME:AddMessage(msg, 0.64, 0.21, 0.93); |
-- No more quick options so no more need to do this |
-- WorldMapZoneMinimapDropDown:ClearAllPoints(); |
-- WorldMapZoneMinimapDropDown:SetPoint("TOPLEFT", WorldMapPositioningGuide, "TOP", -394, -35); |
MN_DataCheck(nil); |
SetMapToCurrentZone(); |
end |
function MapNotes_ScaleFrames() |
for i, frame in ipairs(MapNotes.scaleFrames) do |
MapNotes_NormaliseScale( frame ); |
end |
end |
function MapNotes_CheckNearNotes(key, xPos, yPos) |
local i = 1; |
if ( ( not key ) or ( not MapNotes_Data_Notes[key] ) ) then |
local alrt = "!!!"; |
if ( key ) then |
alrt = "!!! : "..key; |
end |
DEFAULT_CHAT_FRAME:AddMessage("!!!"..alrt, 0.64, 0.21, 0.93); |
end |
for j, value in ipairs(MapNotes_Data_Notes[key]) do |
local deltax = abs(MapNotes_Data_Notes[key][i].xPos - xPos); |
local deltay = abs(MapNotes_Data_Notes[key][i].yPos - yPos); |
if ( ( deltax <= (0.0009765625 * MapNotes_MinDiff) ) and ( deltay <= (0.0013020833 * MapNotes_MinDiff) ) ) then |
return i; |
end |
i = i + 1; |
end |
return false; |
end |
function MapNotes_StatusPrint(msg) |
msg = "<"..MAPNOTES_NAME..">: "..msg; |
if DEFAULT_CHAT_FRAME then |
DEFAULT_CHAT_FRAME:AddMessage(msg, 1.0, 0.5, 0.25); |
end |
end |
function MapNotes_mntloc(msg, name) |
if ( ( not msg ) or ( msg == "" ) ) then |
MapNotes_tloc_xPos = nil; |
MapNotes_tloc_yPos = nil; |
MapNotes_tloc_name = nil; |
MapNotes_tloc_key = nil; |
if ( MapNotes_MiniNote_Data.icon == "tloc" ) then |
MapNotes_ClearMiniNote(true, "tloc"); |
end |
else |
SetMapToCurrentZone(); |
local x, y = MapNotes_ExtractCoords(msg); |
if ( ( x ) and ( y ) ) then |
if ( not name ) then |
name = MAPNOTES_THOTTBOTLOC; |
end |
MapNotes_tloc_xPos = x / 100; |
MapNotes_tloc_yPos = y / 100; |
MapNotes_tloc_name = name; |
MapNotes_tloc_key = MapNotes_GetMapKey(); |
MapNotes_MiniNote_Data.id = 0; |
MapNotes_MiniNote_Data.key = MapNotes_tloc_key; |
MapNotes_MiniNote_Data.xPos = MapNotes_tloc_xPos; |
MapNotes_MiniNote_Data.yPos = MapNotes_tloc_yPos; |
MapNotes_MiniNote_Data.name = MapNotes_tloc_name; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
end |
end |
MapNotes_MapUpdate(); |
end |
function MapNotes_GetNoteFromChat(note, who) |
if who ~= UnitName("player") then |
if ( gsub(note, ".*<M_N+>%s+%w+.*p<([^>]*)>.*", "%1", 1) == "1" ) then -- Party Note |
local key = gsub(note, ".*<M_N+> k<([^>]*)>.*", "%1", 1); |
local xPos = gsub(note, ".*<M_N+>%s+%w+.*x<([^>]*)>.*", "%1", 1) + 0; |
local yPos = gsub(note, ".*<M_N+>%s+%w+.*y<([^>]*)>.*", "%1", 1) + 0; |
local lKey = gsub(note, ".*<M_N+>%s+%w+.*l<([^>]*)>.*", "%1", 1); |
MapNotes_PartyNoteData.key = key; |
MapNotes_PartyNoteData.xPos = xPos; |
MapNotes_PartyNoteData.yPos = yPos; |
if ( lKey ) then |
MapNotes_StatusPrint( format( MAPNOTES_PARTY_GET, who, lKey ) ); |
else |
MapNotes_StatusPrint( format( MAPNOTES_PARTY_GET, who, MapNotes_GetMapDisplayName(key) ) ); |
end |
local worldMapTest = string.sub(key, 1, 3); |
if ( ( worldMapTest == "WM " ) and |
( MapNotes_MiniNote_Data.icon == "party" or MapNotes_Options[16] ~= "off" ) ) then |
MapNotes_MiniNote_Data.id = -1; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.xPos = xPos; |
MapNotes_MiniNote_Data.yPos = yPos; |
MapNotes_MiniNote_Data.name = MAPNOTES_PARTYNOTE; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "party"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_PARTY_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_PARTY_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
elseif ( ( worldMapTest ~= "WM " ) and ( MapNotes_MiniNote_Data.icon == "party" ) ) then |
MapNotes_ClearMiniNote(true, "party"); |
end |
else |
local key = gsub(note,".*<M_N+> k<([^>]*)>.*","%1",1); |
local xPos = gsub(note,".*<M_N+>%s+%w+.*x<([^>]*)>.*","%1",1) + 0; |
local yPos = gsub(note,".*<M_N+>%s+%w+.*y<([^>]*)>.*","%1",1) + 0; |
local title = gsub(note,".*<M_N+>%s+%w+.*t<([^>]*)>.*","%1",1); |
local info1 = gsub(note,".*<M_N+>%s+%w+.*i1<([^>]*)>.*","%1",1); |
local info2 = gsub(note,".*<M_N+>%s+%w+.*i2<([^>]*)>.*","%1",1); |
local creator = gsub(note,".*<M_N+>%s+%w+.*cr<([^>]*)>.*","%1",1); |
local icon = gsub(note,".*<M_N+>%s+%w+.*i<([^>]*)>.*","%1",1)+0; |
local tcolor = gsub(note,".*<M_N+>%s+%w+.*tf<([^>]*)>.*","%1",1)+0; |
local i1color = gsub(note,".*<M_N+>%s+%w+.*i1f<([^>]*)>.*","%1",1)+0; |
local i2color = gsub(note,".*<M_N+>%s+%w+.*i2f<([^>]*)>.*","%1",1)+0; |
local miniN = gsub(note,".*<M_N+>%s+%w+.*mn<([^>]*)>.*","%1",1); |
if MapNotes_LastReceivedNote_xPos == xPos and MapNotes_LastReceivedNote_yPos == yPos then |
-- do nothing, because the previous note is exactly the same as the current note |
else |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
end |
local checknote = MapNotes_CheckNearNotes(key, xPos, yPos); |
MapNotes_LastReceivedNote_xPos = xPos; |
MapNotes_LastReceivedNote_yPos = yPos; |
if checknote then |
MapNotes_StatusPrint(format(MAPNOTES_DECLINE_NOTETONEAR, who, MapNotes_GetMapDisplayName(key), MapNotes_Data_Notes[key][checknote].name ) ); |
return; |
end |
local n_id = 0; |
local i = MapNotes_GetZoneTableSize(MapNotes_Data_Notes[key]); |
if MapNotes_SetNextAsMiniNote ~= 2 then |
if ( ( MapNotes_AllowOneNote == 1 ) or ( MapNotes_Options[14] ~= "off" ) ) then |
MapNotes_TempData_Id = i + 1; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id] = {}; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].name = title; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].ncol = tcolor; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].inf1 = info1; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].in1c = i1color; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].inf2 = info2; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].in2c = i2color; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].creator = creator; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].icon = icon; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].xPos = xPos; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].yPos = yPos; |
if ( ( MapNotes_SetNextAsMiniNote ~= 0 ) or ( ( miniN ) and ( miniN == "1" ) ) ) then |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].mininote = true; |
end |
n_id = MapNotes_TempData_Id; |
MapNotes_StatusPrint(format(MAPNOTES_ACCEPT_GET, who, MapNotes_GetMapDisplayName(key) ) ); |
else |
MapNotes_StatusPrint(format(MAPNOTES_DECLINE_GET, who, MapNotes_GetMapDisplayName(key) ) ); |
end |
end |
if MapNotes_SetNextAsMiniNote == 2 then |
MapNotes_MiniNote_Data.xPos = xPos; |
MapNotes_MiniNote_Data.yPos = xPos; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.id = n_id; |
MapNotes_MiniNote_Data.name = title; |
MapNotes_MiniNote_Data.color = tcolor; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
MapNotes_StatusPrint(MAPNOTES_SETMININOTE); |
end |
MapNotes_AllowOneNote = 0; |
end |
end |
MapNotes_MapUpdate(); |
end |
end |
function MapNotes_GetNoteBySlashCommand(msg) |
local returnValue = false; |
local cmd, prms = nil, nil; |
if ( ( msg ) and ( msg ~= "" ) ) then |
cmd = strsub(msg, 1, 1); |
if ( ( cmd == "-" ) or ( cmd == "?" ) ) then |
local sep = string.find(msg, " "); |
if ( sep ) then |
prms = string.sub(msg, sep+1); |
cmd = strsub(msg, 1, sep-1); |
else |
cmd = strsub(msg, 1); |
prms = ""; |
end |
if ( ( cmd ) and ( prms ) ) then |
cmd = string.lower(cmd); |
MapNotes_MainCommandHandler(cmd, prms); |
else |
MapNotes_Help(); |
returnValue = false; |
end |
elseif ( ( string.find(msg, "k<") ) and ( string.find(msg, "x<") ) ) then |
msg = "<M_N> "..msg; |
local key = gsub(msg,".*<M_N+> k<([^>]*)>.*","%1",1); |
local xPos = gsub(msg,".*<M_N+>%s+%w+.*x<([^>]*)>.*","%1",1) + 0; |
local yPos = gsub(msg,".*<M_N+>%s+%w+.*y<([^>]*)>.*","%1",1) + 0; |
local title = gsub(msg,".*<M_N+>%s+%w+.*t<([^>]*)>.*","%1",1); |
local info1 = gsub(msg,".*<M_N+>%s+%w+.*i1<([^>]*)>.*","%1",1); |
local info2 = gsub(msg,".*<M_N+>%s+%w+.*i2<([^>]*)>.*","%1",1); |
local creator = gsub(msg,".*<M_N+>%s+%w+.*cr<([^>]*)>.*","%1",1); |
local icon = gsub(msg,".*<M_N+>%s+%w+.*i<([^>]*)>.*","%1",1)+0; |
local tcolor = gsub(msg,".*<M_N+>%s+%w+.*tf<([^>]*)>.*","%1",1)+0; |
local i1color = gsub(msg,".*<M_N+>%s+%w+.*i1f<([^>]*)>.*","%1",1)+0; |
local i2color = gsub(msg,".*<M_N+>%s+%w+.*i2f<([^>]*)>.*","%1",1)+0; |
local miniN = gsub(msg,".*<M_N+>%s+%w+.*mn<([^>]*)>.*","%1",1); |
local checknote = MapNotes_CheckNearNotes(key, xPos, yPos); |
local n_id = 0; |
local i = MapNotes_GetZoneTableSize(MapNotes_Data_Notes[key]); |
if MapNotes_SetNextAsMiniNote ~= 2 then |
if ( not MapNotes_Data_Notes[key] ) then |
MapNotes_Data_Notes[key] = {}; |
end |
local checknote = MapNotes_CheckNearNotes(key, xPos, yPos); |
if checknote then |
MapNotes_StatusPrint(format(MAPNOTES_DECLINE_SLASH_NEAR, MapNotes_Data_Notes[key][checknote].name, MapNotes_GetMapDisplayName(key) ) ); |
returnValue = false; |
else |
MapNotes_TempData_Id = i + 1; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id] = {}; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].name = title; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].ncol = tcolor; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].inf1 = info1; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].in1c = i1color; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].inf2 = info2; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].in2c = i2color; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].creator = creator; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].icon = icon; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].xPos = xPos; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].yPos = yPos; |
if ( ( MapNotes_SetNextAsMiniNote ~= 0 ) or ( ( miniN ) and ( miniN == "1" ) ) ) then |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].mininote = true; |
end |
n_id = MapNotes_TempData_Id; |
MapNotes_StatusPrint(format(MAPNOTES_ACCEPT_SLASH, MapNotes_GetMapDisplayName(key) ) ); |
returnValue = true; |
end |
end |
if MapNotes_SetNextAsMiniNote == 2 then |
MapNotes_MiniNote_Data.xPos = xPos; |
MapNotes_MiniNote_Data.yPos = yPos; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.id = 0; |
MapNotes_MiniNote_Data.name = title; |
MapNotes_MiniNote_Data.color = tcolor; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
MapNotes_StatusPrint(MAPNOTES_SETMININOTE); |
end |
else |
MapNotes_Help(); |
returnValue = false; |
end |
else |
MapNotes_Help(); |
returnValue = false; |
end |
if ( returnValue ) then |
MapNotes_MapUpdate(); |
end |
return returnValue; |
end |
function MapNotes_MainCommandHandler(cmd, prms) |
NuN_Message(cmd, prms); |
if ( ( cmd == "-allow" ) or ( cmd == "-a" ) ) then |
MapNotes_OneNote(prms); |
elseif ( cmd == "-allmini" ) then |
MapNotes_TotallyMini(); |
elseif ( cmd == "-automini" ) then |
MapNotes_NextMiniNote(prms); |
elseif ( cmd == "-nextmini" ) then |
MapNotes_NextMiniNote(prms); |
elseif ( cmd == "-minionly" ) then |
MapNotes_NextMiniNoteOnly(prms); |
elseif ( cmd == "-minioff" ) then |
MapNotes_ClearMiniNoteGlobal(); |
elseif ( cmd == "-tloc" ) then |
MapNotes_mntloc(prms); |
elseif ( cmd == "-q" ) then |
MapNotes_CreateQuickNote(prms); |
elseif ( cmd == "-qtloc" ) then |
MapNotes_Quicktloc(prms); |
elseif ( cmd == "-mapc" ) then |
MapNotes_MapCToggle(); |
elseif ( cmd == "-minic" ) then |
MapNotes_MiniCToggle(); |
elseif ( cmd == "-s" ) then |
MapNotes_Search(prms); |
elseif ( cmd == "-hl" ) then |
MapNotes_Highlight(prms); |
elseif ( cmd == "-t" ) then |
MapNotes_TargetNote(prms); |
elseif ( cmd == "-m" ) then |
MapNotes_MergeNote(prms); |
elseif ( cmd == "-datacheck" ) then |
MN_DataCheck(true); |
elseif ( cmd == "-scale" ) then |
local nFactor = tonumber( prms ); |
if ( ( nFactor ) and ( nFactor >= 0.5 ) and ( nFactor <= 1.5 ) ) then |
MapNotes_Options.nFactor = nFactor; |
else |
local msg = "|c0000FF00/mn -scale [0.5 - 1.5] |r"; |
MapNotes_StatusPrint(msg); |
end |
MN_FrameSlider:SetValue( MapNotes_Options.nFactor ); |
elseif ( cmd == "-undelete" ) then |
MapNotes_Undelete(); |
elseif ( cmd == "-clearicons" ) then |
MapNotes_ClearIcons(); |
elseif ( cmd == "-mstyle" ) then |
MN_CustomMinimapCycler( tonumber(prms) ); |
else |
MapNotes_Help(); |
end |
end |
function MapNotes_Help() |
local msg = "MapNotes(Fan's Update) |c0000FF00"..MAPNOTES_VERSION.."|r"; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn k<WM txt> x<#> y<#> t<txt> i1<txt> i2<#> cr<txt> i<#> tf<#> i1f<#> i2f<#> mn<boolean> |r: " .. MAPNOTES_CHAT_COMMAND_ENABLE_INFO; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -allow |r: " .. MAPNOTES_CHAT_COMMAND_ONENOTE_INFO; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -nextmini |r: " .. MAPNOTES_CHAT_COMMAND_MININOTE_INFO; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -minionly |r: " .. MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -minioff |r: " .. MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -tloc xx,yy |r: " .. MAPNOTES_CHAT_COMMAND_MNTLOC_INFO; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -q [icon] [title] |r: " .. MAPNOTES_CHAT_COMMAND_QUICKNOTE; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -qtloc xx,yy [icon] [title] |r: " .. MAPNOTES_CHAT_COMMAND_QUICKTLOC; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -mapc |r: " .. MAPNOTES_MAP_COORDS; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -minic |r: " .. MAPNOTES_MINIMAP_COORDS; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -s |r: " .. MAPNOTES_CHAT_COMMAND_SEARCH; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -hl |r: " .. MAPNOTES_CHAT_COMMAND_HIGHLIGHT; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -t |r: " .. BINDING_NAME_MN_TARGET_NEW; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -m |r: " .. BINDING_NAME_MN_TARGET_MERGE; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -scale [0.5 - 1.5] |r: " .. MAPNOTES_CHAT_COMMAND_SCALE; |
MapNotes_StatusPrint(msg); |
msg = "|c0000FF00/mn -undelete |r: " .. MAPNOTES_CHAT_COMMAND_UNDELETE; |
MapNotes_StatusPrint(msg); |
end |
function MapNotes_Quicktloc(msg, MN_creatorOverride, MN_mininoteOverride) |
if msg == "" then |
MapNotes_StatusPrint(MAPNOTES_QUICKTLOC_NOARGUMENT); |
else |
local x, y, msg = MapNotes_ExtractCoords(msg); |
if ( ( x ) and ( y ) ) then |
local key = MapNotes_GetMapKey(); |
x = x / 100; |
y = y / 100; |
local checknote = MapNotes_CheckNearNotes(key, x, y); |
if checknote then |
MapNotes_StatusPrint(format(MAPNOTES_QUICKNOTE_NOTETONEAR, |
MapNotes_Data_Notes[key][checknote].name ) ); |
else |
local n_id = 0; |
local icon = 0; |
local name = MAPNOTES_THOTTBOTLOC; |
if ( ( msg ) and ( msg ~= "" ) ) then |
local icheck = strsub(msg, 1, 2); |
if ( string.find(icheck, "%d%s") ) then |
icon = tonumber( string.sub(msg, 1, 1) ); |
msg = strsub(msg, 3); |
end |
if ( ( msg ) and ( msg ~= "" ) ) then |
local msgStart = string.find(msg, "%S"); |
local msgBack = 80; |
if ( msgStart ) then |
msgBack = msgStart + 80; |
else |
msgStart = 1; |
end |
msg = strsub(msg, msgStart, msgBack); |
if ( ( msg ) and ( msg ~= "" ) ) then |
name = msg; |
end |
end |
end |
if MapNotes_SetNextAsMiniNote ~= 2 then |
local i = MapNotes_GetZoneTableSize(MapNotes_Data_Notes[key]); |
MapNotes_TempData_Id = i + 1; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id] = {}; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].name = name; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].ncol = 0; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].inf1 = ""; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].in1c = 0; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].inf2 = ""; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].in2c = 0; |
if ( MN_creatorOverride ) then |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].creator = MN_creatorOverride; |
MN_creatorOverride = nil; |
else |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].creator = UnitName("player"); |
end |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].icon = icon; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].xPos = x; |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].yPos = y; |
if ( ( MapNotes_SetNextAsMiniNote ~= 0 ) or ( MN_mininoteOverride ) ) then |
MapNotes_Data_Notes[key][MapNotes_TempData_Id].mininote = true; |
end |
n_id = MapNotes_TempData_Id; |
MapNotes_StatusPrint(format(MAPNOTES_QUICKNOTE_OK, MapNotes_GetMapDisplayName(key) ) ); |
end |
if MapNotes_SetNextAsMiniNote == 2 then |
MapNotes_MiniNote_Data.xPos = x; |
MapNotes_MiniNote_Data.yPos = y; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.id = 0; |
MapNotes_MiniNote_Data.name = name; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
MapNotes_StatusPrint(MAPNOTES_SETMININOTE); |
end |
end |
end |
end |
MapNotes_MapUpdate(); |
end |
function MapNotes_ShortCutNote(x, y, Plugin, miniIt, key) |
if ( ( x ) and ( y ) ) then |
local currentZone; |
if ( not key ) then |
if ( Plugin ) then |
key = MapNotes_PlugInsGetKey(Plugin); |
else |
key = MapNotes_GetMapKey(); |
end |
end |
currentZone = MapNotes_Data_Notes[key]; |
local checkDist = MapNotes_CheckNearNotes(key, x, y); |
if ( checkDist ) then |
MapNotes_StatusPrint(format(MAPNOTES_DECLINE_SLASH_NEAR, MapNotes_Data_Notes[key][checkDist].name, MapNotes_GetMapDisplayName(key) ) ); |
MapNotes_Data_Notes[key][checkDist].mininote = true; |
return; |
end |
if MapNotes_SetNextAsMiniNote ~= 2 then |
MapNotes_TempData_Id = ( MapNotes_GetZoneTableSize( currentZone ) ) + 1; |
currentZone[MapNotes_TempData_Id] = {}; |
currentZone[MapNotes_TempData_Id].name = MAPNOTES_QUICKNOTE_DEFAULTNAME; |
currentZone[MapNotes_TempData_Id].ncol = 0; |
currentZone[MapNotes_TempData_Id].inf1 = ""; |
currentZone[MapNotes_TempData_Id].in1c = 0; |
currentZone[MapNotes_TempData_Id].inf2 = ""; |
currentZone[MapNotes_TempData_Id].in2c = 0; |
currentZone[MapNotes_TempData_Id].creator = UnitName("player"); |
currentZone[MapNotes_TempData_Id].icon = 0; |
currentZone[MapNotes_TempData_Id].xPos = x; |
currentZone[MapNotes_TempData_Id].yPos = y; |
n_id = MapNotes_TempData_Id; |
if ( Plugin ) then |
MapNotes_StatusPrint( format( MAPNOTES_QUICKNOTE_OK, MapNotes_GetMapDisplayName(key, Plugin) ) ); |
else |
MapNotes_StatusPrint( format( MAPNOTES_QUICKNOTE_OK, MapNotes_GetMapDisplayName(key) ) ); |
end |
if ( ( MapNotes_SetNextAsMiniNote ~= 0 ) or ( miniIt ) ) and |
( ( not Plugin ) or ( Plugin.wmflag ) ) then |
currentZone[MapNotes_TempData_Id].mininote = true; |
MapNotes_StatusPrint(MAPNOTES_SETMININOTE); |
end |
return MapNotes_TempData_Id; |
end |
if MapNotes_SetNextAsMiniNote == 2 then |
MapNotes_MiniNote_Data.xPos = x; |
MapNotes_MiniNote_Data.yPos = y; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.id = 0; |
MapNotes_MiniNote_Data.name = MAPNOTES_QUICKNOTE_DEFAULTNAME; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
MapNotes_StatusPrint(MAPNOTES_SETMININOTE); |
end |
end |
end |
function MapNotes_CreateQuickNote(msg, msg2, msg3, shouldMerge, miniIt) |
x, y = GetPlayerMapPosition("player"); |
if ( ( ( x ) and ( x == 0 ) ) and ( ( y ) and ( y == 0 ) ) ) then |
SetMapToCurrentZone(); |
x, y = GetPlayerMapPosition("player"); |
end |
local key = MapNotes_GetMapKey(); |
local currentZone = MapNotes_Data_Notes[key]; |
local checknote = MapNotes_CheckNearNotes(key, x, y); |
if ( ( checknote ) and ( shouldMerge ) ) then |
MapNotes_Merge(key, checknote, msg, msg2, msg3); |
return; |
end |
if ( checknote ) then |
MapNotes_StatusPrint(format(MAPNOTES_QUICKNOTE_NOTETONEAR, |
MapNotes_Data_Notes[key][checknote].name ) ); |
elseif ( ( x == 0 ) and ( y == 0 ) ) then |
MapNotes_StatusPrint(MAPNOTES_QUICKNOTE_NOPOSITION); |
else |
local n_id = 0; |
local icon = 0; |
local l_zone = GetMinimapZoneText(); |
local m_zone = GetRealZoneText(); |
if ( l_zone == m_zone ) then |
m_zone = nil; |
end |
-- local name = MAPNOTES_QUICKNOTE_DEFAULTNAME; |
local name = ""; |
if ( ( msg ) and ( msg ~= "" ) ) then |
local icheck = strsub(msg, 1, 2); |
if ( string.find(icheck, "%d%s") ) then |
icon = tonumber( string.sub(msg, 1, 1) ); |
msg = strsub(msg, 3); |
end |
if ( ( msg ) and ( msg ~= "" ) ) then |
local msgStart = string.find(msg, "%S"); |
local msgBack = 80; |
if ( msgStart ) then |
msgBack = msgStart + 80; |
else |
msgStart = 1; |
end |
msg = strsub(msg, msgStart, msgBack); |
if ( ( msg ) and ( msg ~= "" ) ) then |
name = msg; |
end |
end |
end |
if ( name == "" ) then |
name = l_zone; |
end |
if ( ( not msg2 ) or ( msg2 == "" ) ) then |
msg2 = ""; |
if ( name ~= l_zone ) then |
msg2 = l_zone; |
elseif ( m_zone ) then |
msg2 = m_zone; |
else |
msg2 = MAPNOTES_QUICKNOTE_DEFAULTNAME; |
end |
end |
if ( ( not msg3 ) or ( msg3 == "" ) ) then |
msg3 = ""; |
if ( ( name ~= l_zone ) and ( msg2 ~= l_zone ) ) then |
msg3 = l_zone; |
elseif ( ( m_zone ) and ( msg2 ~= m_zone ) ) then |
msg3 = m_zone; |
elseif ( msg2 ~= MAPNOTES_QUICKNOTE_DEFAULTNAME ) then |
msg3 = MAPNOTES_QUICKNOTE_DEFAULTNAME; |
end |
end |
if MapNotes_SetNextAsMiniNote ~= 2 then |
local i = MapNotes_GetZoneTableSize(currentZone); |
MapNotes_TempData_Id = i + 1; |
currentZone[MapNotes_TempData_Id] = {}; |
currentZone[MapNotes_TempData_Id].name = name; |
currentZone[MapNotes_TempData_Id].ncol = 0; |
currentZone[MapNotes_TempData_Id].inf1 = msg2; |
currentZone[MapNotes_TempData_Id].in1c = 0; |
currentZone[MapNotes_TempData_Id].inf2 = msg3; |
currentZone[MapNotes_TempData_Id].in2c = 0; |
currentZone[MapNotes_TempData_Id].creator = UnitName("player"); |
currentZone[MapNotes_TempData_Id].icon = icon; |
currentZone[MapNotes_TempData_Id].xPos = x; |
currentZone[MapNotes_TempData_Id].yPos = y; |
n_id = MapNotes_TempData_Id; |
MapNotes_StatusPrint(format(MAPNOTES_QUICKNOTE_OK, GetRealZoneText())); |
if ( ( MapNotes_SetNextAsMiniNote ~= 0 ) or ( miniIt ) ) then |
currentZone[MapNotes_TempData_Id].mininote = true; |
-- MapNotes_SetNextAsMiniNote = 0; |
MapNotes_StatusPrint(MAPNOTES_SETMININOTE); |
end |
end |
if MapNotes_SetNextAsMiniNote == 2 then |
MapNotes_MiniNote_Data.xPos = x; |
MapNotes_MiniNote_Data.yPos = y; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.id = 0; |
MapNotes_MiniNote_Data.name = name; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
MapNotes_StatusPrint(MAPNOTES_SETMININOTE); |
end |
end |
end |
function MapNotes_Misc_OnClick(self, mouseButton, lclFrame) |
local Plugin, key = self.Plugin; |
if ( not MapNotes_FramesHidden() ) then |
return; |
else |
MapNotes_ClearGUI(); |
end |
if ( Plugin ) then |
key = MapNotes_PlugInsGetKey(Plugin); |
if ( not lclFrame ) then |
lclFrame = Plugin.frame; |
end |
else |
key = MapNotes_GetMapKey(); |
if ( not lclFrame ) then |
lclFrame = WorldMapButton; |
end |
end |
local ax, ay = MapNotes_GetMouseXY(lclFrame); |
local note = "party"; |
local theID = -1; |
if ( self:GetID() == 0 ) then |
note = "tloc"; |
theID = 0; |
end |
if ( mouseButton == "RightButton" ) then |
if ( ( IsShiftKeyDown() ) and ( not IsAltKeyDown() ) ) then |
if ( note == "party" ) then --spfix1 --Telic_7 |
MapNotes_DeleteNote(-1); -- 29/07/2007 |
if ( this.Plugin ) then -- 29/07/2007 |
MapNotes_PlugInsDrawNotes(this.Plugin); -- 29/07/2007 |
end -- 29/07/2007 |
return; --Telic_7 |
else -- also allow Shift-Right deletion of tloc -- 29/07/2007 |
MapNotes_DeleteNote(0); -- 29/07/2007 |
if ( this.Plugin ) then -- 29/07/2007 |
MapNotes_PlugInsDrawNotes(this.Plugin); -- 29/07/2007 |
end -- 29/07/2007 |
return; -- 29/07/2007 |
end --Telic_7 |
elseif ( ( IsAltKeyDown() ) and ( not IsShiftKeyDown() ) ) then -- 29/07/2007 |
if ( note == "party" ) then -- 29/07/2007 |
local worldMapTest = string.sub(MapNotes_PartyNoteData.key, 1, 3); |
if ( worldMapTest == "WM " ) then |
MapNotes_SetAsMiniNote(-1); -- Should "Toggle" Party Mininote -- 29/07/2007 |
MapNotes_MapUpdate(); -- 29/07/2007 |
return; -- 29/07/2007 |
end |
-- 29/07/2007 |
else -- 29/07/2007 |
MapNotes_SetAsMiniNote(0); -- Should "Toggle" tloc Mininote -- 29/07/2007 |
MapNotes_MapUpdate(); -- 29/07/2007 |
return; -- 29/07/2007 |
end |
end --Telic_7 |
local xOffset, yOffset = MapNotes_GetAdjustedMapXY(lclFrame, ax, ay); --Telic_1 |
-- Needs to be Misc Note info... |
MapNotes:InitialiseDropdown(lclFrame, ax, ay, MapNotes.temp_dd_info, key, theID); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
WorldMapTooltip:Hide(); |
GameTooltip:Hide(); |
if ( ( note == "party" ) and ( MapNotes_MiniNote_Data.icon == "party" ) ) then --spfix1 |
MapNotes_TempData_Id = -1; |
elseif ( note == "party" ) then --spfix1 |
MapNotes_TempData_Id = -1; |
elseif ( MapNotes_MiniNote_Data.icon == "tloc" ) then --spfix1 |
MapNotes_TempData_Id = 0; |
else --spfix1 |
MapNotes_TempData_Id = 0; |
end |
end |
end |
function MapNotes_NextMiniNote(msg) |
msg = string.lower(msg); |
if msg == "on" then |
MapNotes_SetNextAsMiniNote = 1; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_1); |
elseif msg == "off" then |
MapNotes_SetNextAsMiniNote = 0; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_0); |
elseif MapNotes_SetNextAsMiniNote == 1 then |
MapNotes_SetNextAsMiniNote = 0; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_0); |
else |
MapNotes_SetNextAsMiniNote = 1; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_1); |
end |
end |
function MapNotes_NextMiniNoteOnly(msg) |
msg = string.lower(msg); |
if msg == "on" then |
MapNotes_SetNextAsMiniNote = 2; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_2); |
elseif msg == "off" then |
MapNotes_SetNextAsMiniNote = 0; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_0); |
elseif MapNotes_SetNextAsMiniNote == 2 then |
MapNotes_SetNextAsMiniNote = 0; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_0); |
else |
MapNotes_SetNextAsMiniNote = 2; |
MapNotes_StatusPrint(MAPNOTES_MININOTE_SHOW_2); |
end |
end |
function MapNotes_OneNote(msg) |
msg = string.lower(msg); |
if msg == "on" then |
MapNotes_AllowOneNote = 1; |
MapNotes_StatusPrint(MAPNOTES_ONENOTE_ON); |
elseif msg == "off" then |
MapNotes_AllowOneNote = 0; |
MapNotes_StatusPrint(MAPNOTES_ONENOTE_OFF); |
elseif MapNotes_AllowOneNote == 1 then |
MapNotes_AllowOneNote = 0; |
MapNotes_StatusPrint(MAPNOTES_ONENOTE_OFF); |
else |
MapNotes_AllowOneNote = 1; |
MapNotes_StatusPrint(MAPNOTES_ONENOTE_ON); |
end |
end |
function MapNotes_MinimapUpdateZoom() |
if MapNotes_MiniNote_MapzoomInit then |
if MapNotes_MiniNote_IsInCity then |
MapNotes_MiniNote_IsInCity = false; |
else |
MapNotes_MiniNote_IsInCity = true; |
end |
else |
local tempzoom = 0; |
if GetCVar("minimapZoom") == GetCVar("minimapInsideZoom") then |
if GetCVar("minimapInsideZoom")+0 >= 3 then |
Minimap:SetZoom(Minimap:GetZoom() - 1); |
tempzoom = 1; |
else |
Minimap:SetZoom(Minimap:GetZoom() + 1); |
tempzoom = -1; |
end |
end |
if GetCVar("minimapInsideZoom")+0 == Minimap:GetZoom() then |
MapNotes_MiniNote_IsInCity = true; |
else |
MapNotes_MiniNote_IsInCity = false; |
end |
Minimap:SetZoom(Minimap:GetZoom() + tempzoom); |
MapNotes_MiniNote_MapzoomInit = true; |
end |
end |
function MapNotes_ChatFrame_MessageEventHandler(self, event, ...) |
if ( ( strsub(event, 1, 16) == "CHAT_MSG_WHISPER" ) and ( strsub(arg1, 1, 5) == "<M_N>" ) ) then |
if strsub(event, 17) == "_INFORM" then |
-- do nothing |
else |
MapNotes_GetNoteFromChat(arg1, arg2); |
end |
else |
orig_ChatFrame_MessageEventHandler(self, event, ...); |
end |
end |
function MapNotes_WorldMap_OnUpdate(self, elapsed) |
MapNotesWorldMapTimeSinceLastUpdate = MapNotesWorldMapTimeSinceLastUpdate + elapsed; |
local eScale = self:GetEffectiveScale(); |
if ( self.eScale ~= eScale ) then |
self.eScale = eScale; |
MapNotes_WorldMapButton_OnUpdate(); |
end |
self.oTimer = self.oTimer + elapsed; |
if ( ( self.oTimer > 0.02 ) and ( self.oTimer < 0.12 ) ) then |
MapNotes_WorldMapButton_OnUpdate(); |
end |
if ( ( IsControlKeyDown() ) or ( IsShiftKeyDown() ) ) then |
if ( WorldMapFrameAreaLabel:IsVisible() ) then |
WorldMapFrameAreaLabel:Hide(); |
end |
else |
if ( not WorldMapFrameAreaLabel:IsVisible() ) then |
WorldMapFrameAreaLabel:Show(); |
end |
end |
if ( MapNotesWorldMapTimeSinceLastUpdate > MapNotes_WorldMap_UpdateRate ) then |
if ( IsControlKeyDown() ) then |
if ( WorldMapMagnifyingGlassButton:IsVisible() ) then |
WorldMapMagnifyingGlassButton:Hide(); |
end |
if ( not MapNotes_WorldMapButton:IsVisible() ) then |
MapNotes_WorldMapButton:Show(); |
end |
elseif ( IsShiftKeyDown() ) then |
if ( WorldMapMagnifyingGlassButton:IsVisible() ) then |
WorldMapMagnifyingGlassButton:Hide(); |
end |
if ( MapNotes_WorldMapButton:IsVisible() ) then |
MapNotes_WorldMapButton:Hide(); |
end |
else |
if ( not WorldMapMagnifyingGlassButton:IsVisible() ) then |
WorldMapMagnifyingGlassButton:Show(); |
end |
if ( MapNotes_WorldMapButton:IsVisible() ) then |
MapNotes_WorldMapButton:Hide(); |
end |
end |
MapNotesWorldMapTimeSinceLastUpdate = 0; |
end |
end |
function MN_CustomMinimapCycler(style) |
if ( ( style ) and ( type(style) == "number" ) ) then |
if ( style == 0 ) then |
MapNotes_Options.customMinimap = nil; |
else |
MapNotes_Options.customMinimap = style; |
end |
elseif ( not MapNotes_Options.customMinimap ) then |
MapNotes_Options.customMinimap = 1; |
else |
MapNotes_Options.customMinimap = MapNotes_Options.customMinimap + 1; |
if ( not MN_MINIMAP_STYLES[ MapNotes_Options.customMinimap ] ) then |
MapNotes_Options.customMinimap = nil; |
end |
end |
if ( MapNotes_Options.customMinimap ) then |
MapNotes_StatusPrint( MapNotes_Options.customMinimap .. " : " .. MN_AUTO_DESCRIPTIONS[ MN_MINIMAP_STYLES[MapNotes_Options.customMinimap] ] ); |
else |
MapNotes_StatusPrint( "0 : " .. MN_STYLE_AUTOMATIC ); |
end |
end |
local function MN_GetMinimapShape() |
if ( MapNotes_Options.customMinimap ) then |
return MN_AUTO_MINIMAPS[ MN_MINIMAP_STYLES[MapNotes_Options.customMinimap] ]; |
elseif ( GetMinimapShape ) then |
return MN_AUTO_MINIMAPS[ GetMinimapShape() ]; |
end |
return nil; |
end |
local minimapShaped; |
local visibilityUpdate = 0; |
local MN_currentConst, MN_key; |
local MN_pX, MN_pY, MN_dist = 0, 0, 0; |
local MN_xPos, MN_yPos = 0, 0; |
local MN_xScale, MN_yScale = 1, 1; |
function MapNotes_MiniNote_OnUpdate(self, elapsed) |
visibilityUpdate = visibilityUpdate + elapsed; |
if ( ( MapNotes_TargetInfo_Proceed ) and ( GameTooltip:IsVisible() ) ) then |
MapNotes_TargetInfo_Proceed.func(); |
return; |
end |
if ( visibilityUpdate > MapNotes_WorldMap_UpdateRate ) then -- Changed Update Rate slightly higher |
-- check for Minimap shape change via SimpleMinimap in this OnUpdate function |
minimapShaped = MN_GetMinimapShape(); |
MN_pX, MN_pY = GetPlayerMapPosition("player"); |
local lZone, lCont = GetCurrentMapZone(), GetCurrentMapContinent(); |
-- NOTE : if no player position or MapZone == 0... no need to show |
if ( ( ( MN_pX == 0 ) and ( MN_pY == 0 ) ) or ( lZone == 0 ) ) then |
MN_MiniNotePOI:Hide(); |
MapNotes_HideMiniNotes(1); |
visibilityUpdate = 0; |
return; |
end |
MN_currentConst = nil; -- reset & use as control for individual OnUpdates |
local counter = 1; |
local key = MapNotes_GetMapKey(); |
if ( ( MapNotes_Keys[key] ) and ( MapNotes_Keys[key].miniData ) ) then |
if ( ( MapNotes_Keys[key] ) and ( MapNotes_Keys[key].miniData ) ) then |
MN_currentConst = MapNotes_Keys[key].miniData; |
else |
MN_currentConst = MAPNOTES_DEFAULT_MINIDATA; |
end |
MN_currentZoom = Minimap:GetZoom(); |
if ( GetCVar("rotateMinimap") == "1" ) then |
MN_rotatingMinimap = true; |
else |
MN_rotatingMinimap = nil; |
end |
if ( lZone > 0 ) then |
MN_xScale = MapNotes_MiniConst[lCont][MN_currentZoom].xScale; |
MN_yScale = MapNotes_MiniConst[lCont][MN_currentZoom].yScale; |
else |
MN_xScale = MapNotes_MiniConst[MAPNOTES_DEFAULT_MINIDATA.cont][MN_currentZoom].xScale; |
MN_yScale = MapNotes_MiniConst[MAPNOTES_DEFAULT_MINIDATA.cont][MN_currentZoom].yScale; |
end |
if ( MapNotes_MiniNote_IsInCity ) then |
MN_xScale = MN_xScale * MapNotes_CityConst[MN_currentZoom].cityScale; |
MN_yScale = MN_yScale * MapNotes_CityConst[MN_currentZoom].cityScale; |
end |
MN_pX = MN_pX * MN_currentConst.scale + MN_currentConst.xOffset; |
MN_pY = MN_pY * MN_currentConst.scale + MN_currentConst.yOffset; |
if ( ( MapNotes_MiniNote_Data.key == key ) and ( MapNotes_MiniNote_Data.xPos ) ) then |
MN_xPos = MapNotes_MiniNote_Data.xPos * MN_currentConst.scale + MN_currentConst.xOffset; |
MN_yPos = MapNotes_MiniNote_Data.yPos * MN_currentConst.scale + MN_currentConst.yOffset; |
MN_xPos = (MN_xPos - MN_pX) * MN_xScale; |
MN_yPos = (MN_yPos - MN_pY) * MN_yScale; |
MN_MiniNotePOI.key = key; |
MN_MiniNotePOI.nid = MapNotes_MiniNote_Data.id; |
MN_MiniNotePOI.xPos = MN_xPos; |
MN_MiniNotePOI.yPos = MN_yPos; |
MN_MiniNotePOI.ref = MapNotes_MiniNote_Data.id; |
MN_MiniNotePOI.dist = sqrt( MN_xPos*MN_xPos + MN_yPos*MN_yPos ); |
if ( not MN_MiniNotePOI:IsVisible() ) then |
MN_MiniNotePOI.timeSinceLastUpdate = 0; |
-- MN_MiniNotePOI only shown through this routine now, and no explicit :Show() anywhere else, so the expected valudes for POI should be managed from here |
-- so that it can be treated in exactly the same way as a normal MapNote Mininote detailed below |
POI_OnUpdate(1, MN_MiniNotePOI); |
end |
else |
MN_MiniNotePOI:Hide(); |
end |
-- Plot normal MapNote Mininotes |
if ( MapNotes_Data_Notes[key] ) then |
local supData, subData = MapNotes_Data_Notes[key]; |
local i, POI, POITexture = 1; |
while ( supData[i] ) do |
subData = supData[i]; |
if ( subData.mininote ) then |
POI = getglobal("MN_MiniNotePOI"..counter); |
if ( not POI ) then |
POI = CreateFrame("Button", "MN_MiniNotePOI"..counter, Minimap, "MN_MiniNotePOITemplate"); |
end |
if ( POI ) then |
MN_xPos = subData.xPos * MN_currentConst.scale + MN_currentConst.xOffset; |
MN_yPos = subData.yPos * MN_currentConst.scale + MN_currentConst.yOffset; |
MN_xPos = (MN_xPos - MN_pX) * MN_xScale; |
MN_yPos = (MN_yPos - MN_pY) * MN_yScale; |
POI.ref = i; |
POI.key = key; |
POI.nid = i; |
POI.xPos = MN_xPos; |
POI.yPos = MN_yPos; |
POI.dist = sqrt( MN_xPos*MN_xPos + MN_yPos*MN_yPos ); |
POI.key = key; |
POI.timeSinceLastUpdate = 0; |
-- Custom |
POITexture = getglobal(POI:GetName().."Texture"); |
POITexture:SetTexture(nil); |
if ( ( MNIL ) and ( subData.customIcon ) ) then |
POITexture:SetTexture( subData.customIcon ); |
end |
if ( not POITexture:GetTexture() ) then |
POITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..subData.icon); |
end |
POI_OnUpdate(1, POI); |
counter = counter + 1; |
end |
end |
i = i + 1; |
end |
end |
else |
MN_MiniNotePOI:Hide(); |
end |
MapNotes_HideMiniNotes(counter); -- hide remaining Mininotes |
visibilityUpdate = 0; |
end |
end |
local MN_facing; |
-- Basically the design here is to keep as many of the "traditional" required variables in the main OnUpdate because they don't need to be calculated SO frequently... |
-- If possible, the only variable that needs Frequent updating is the Rotation Angle... But I move the test of the "if Rotation turned on" test in to the Main OnUpdate also, and only do a boolean test here |
-- In other words I'm assuming you don't move SO quickly that changes in distance "stutter", but changes in orientation need to be reflected very quickly |
function POI_OnUpdate(elapsed, POI) |
POI.timeSinceLastUpdate = POI.timeSinceLastUpdate + elapsed; |
if ( POI.timeSinceLastUpdate > MapNotes_Mininote_UpdateRate ) then |
POI.timeSinceLastUpdate = 0; |
if ( ( MN_pX == 0 ) and ( MN_pY == 0 ) ) then |
return; |
end |
if ( MN_currentConst ) then |
MN_xPos, MN_yPos = POI.xPos, POI.yPos; |
MN_dist = POI.dist; |
-- Recalculate the angle and convert from Polar coordinates back to cartesian coordinates if necessary |
-- i.e. if Minimap Rotation needs to be accounted for |
if ( MN_rotatingMinimap ) then |
local theta = atan2(MN_xPos, MN_yPos) + MiniMapCompassRing:GetFacing(); |
MN_xPos = sin(theta) * MN_dist; |
MN_yPos = cos(theta) * MN_dist; |
end |
-- Squared map ? |
if ( minimapShaped ) then |
local squared = 1; |
if ( MN_xPos < 0 ) then squared = squared + 2; end |
if ( MN_yPos > 0 ) then squared = squared + 1; end |
squared = minimapShaped[squared]; |
if ( squared ) then |
local p, q = abs(MN_xPos), abs(MN_yPos); |
if ( q > p ) then p = q; end |
if ( p > MN_miniRadius ) then |
MN_dist = p; |
else |
MN_dist = 0; |
end |
end |
end |
if ( MN_dist > MN_miniRadius ) then |
local scaling = MN_miniRadius / MN_dist; |
MN_xPos = MN_xPos * scaling; |
MN_yPos = MN_yPos * scaling; |
end |
POI:SetPoint("CENTER", "Minimap", "CENTER", MN_xPos, -MN_yPos); |
POI:Show(); |
end |
end |
end |
function MapNotes_HideMiniNotes(fr) |
local POI = getglobal("MN_MiniNotePOI"..fr); |
while ( POI ) do |
POI:Hide(); |
POI.key = nil; |
fr = fr + 1; |
POI = getglobal("MN_MiniNotePOI"..fr); |
end |
end |
function MapNotes_Edit_SetIcon(icon) |
MapNotes_TempData_Icon = icon; |
MN_IconOverlay:SetPoint("TOPLEFT", "MN_EditIcon"..icon, "TOPLEFT", -3, 3); |
end |
function MapNotes_Edit_SetTextColor(color, mBttn) |
if ( ( not mBttn ) or ( mBttn == "LeftButton" ) ) then |
MapNotes_TempData_TextColor = color; |
MN_TextColorOverlay:SetPoint("TOPLEFT", "MN_TextColor"..color, "TOPLEFT", -3, 3); |
else |
if ( IsAltKeyDown() ) then |
MapNotes_Options.colourT[1][color] = nil; |
MN_InitialiseTextColours(); |
else |
ColorPickerFrame.strata = ColorPickerFrame:GetFrameStrata(); |
ColorPickerFrame:SetParent(MapNotesEditFrame); |
if ( MapNotesEditFrame:GetParent() == WorldMapButton ) then |
ColorPickerFrame.forceHide = true; |
end |
MN_SetUpColourPicker(1, color); |
ColorPickerFrame:SetFrameStrata("TOOLTIP"); |
ColorPickerFrame:SetFrameLevel(MapNotesEditFrame:GetFrameLevel() + 3); |
ColorPickerOkayButton:SetFrameLevel( ColorPickerFrame:GetFrameLevel() + 1 ); |
ColorPickerCancelButton:SetFrameLevel( ColorPickerFrame:GetFrameLevel() + 1 ); |
end |
end |
end |
function MapNotes_Edit_Set_Info1Color(color, mBttn) |
if ( ( not mBttn ) or ( mBttn == "LeftButton" ) ) then |
MapNotes_TempData_Info1Color = color; |
MN_Info1ColorOverlay:SetPoint("TOPLEFT", "MN_Info1Color"..color, "TOPLEFT", -3, 3); |
else |
if ( IsAltKeyDown() ) then |
MapNotes_Options.colourT[2][color] = nil; |
MN_InitialiseTextColours(); |
else |
ColorPickerFrame.strata = ColorPickerFrame:GetFrameStrata(); |
ColorPickerFrame:SetParent(MapNotesEditFrame); |
if ( MapNotesEditFrame:GetParent() == WorldMapButton ) then |
ColorPickerFrame.forceHide = true; |
end |
MN_SetUpColourPicker(2, color); |
ColorPickerFrame:SetFrameStrata("TOOLTIP"); |
ColorPickerFrame:SetFrameLevel(MapNotesEditFrame:GetFrameLevel() + 3); |
ColorPickerOkayButton:SetFrameLevel( ColorPickerFrame:GetFrameLevel() + 1 ); |
ColorPickerCancelButton:SetFrameLevel( ColorPickerFrame:GetFrameLevel() + 1 ); |
end |
end |
end |
function MapNotes_Edit_Set_Info2Color(color, mBttn) |
if ( ( not mBttn ) or ( mBttn == "LeftButton" ) ) then |
MapNotes_TempData_Info2Color = color; |
MN_Info2ColorOverlay:SetPoint("TOPLEFT", "MN_Info2Color"..color, "TOPLEFT", -3, 3); |
else |
if ( IsAltKeyDown() ) then |
MapNotes_Options.colourT[3][color] = nil; |
MN_InitialiseTextColours(); |
else |
ColorPickerFrame.strata = ColorPickerFrame:GetFrameStrata(); |
ColorPickerFrame:SetParent(MapNotesEditFrame); |
if ( MapNotesEditFrame:GetParent() == WorldMapButton ) then |
ColorPickerFrame.forceHide = true; |
end |
MN_SetUpColourPicker(3, color); |
ColorPickerFrame:SetFrameStrata("TOOLTIP"); |
ColorPickerFrame:SetFrameLevel(MapNotesEditFrame:GetFrameLevel() + 3); |
ColorPickerOkayButton:SetFrameLevel( ColorPickerFrame:GetFrameLevel() + 1 ); |
ColorPickerCancelButton:SetFrameLevel( ColorPickerFrame:GetFrameLevel() + 1 ); |
end |
end |
end |
function MapNotes_OpenEditForExistingNote(key, nid) |
MapNotes_HideAll(); |
local currentZone = MapNotes_Data_Notes[key]; |
local lclFrame = UIParent; |
local Plugin = MapNotes.pluginKeys[key]; |
if ( ( Plugin ) and ( not Plugin.wmflag ) ) then |
lclFrame = getglobal( Plugin.frame ); |
elseif ( WorldMapButton:IsVisible() ) then |
lclFrame = WorldMapButton; |
end |
MapNotes_TempData_Id = nid; |
MapNotes_TempData_Creator = currentZone[MapNotes_TempData_Id].creator; |
MapNotes_TempData_xPos = currentZone[MapNotes_TempData_Id].xPos; |
MapNotes_TempData_yPos = currentZone[MapNotes_TempData_Id].yPos; |
MapNotes_TempData_miniNote = currentZone[MapNotes_TempData_Id].mininote; |
if ( not currentZone[MapNotes_TempData_Id].icon ) then |
currentZone[MapNotes_TempData_Id].icon = 0; |
end |
MapNotes_Edit_SetIcon(currentZone[MapNotes_TempData_Id].icon); |
MapNotes_Edit_SetTextColor(currentZone[MapNotes_TempData_Id].ncol); |
MapNotes_Edit_Set_Info1Color(currentZone[MapNotes_TempData_Id].in1c); |
MapNotes_Edit_Set_Info2Color(currentZone[MapNotes_TempData_Id].in2c); |
MapNotes_TitleWideEditBox:SetText(currentZone[MapNotes_TempData_Id].name); |
MN_Info1WideEditBox:SetText(currentZone[MapNotes_TempData_Id].inf1); |
MN_Info2WideEditBox:SetText(currentZone[MapNotes_TempData_Id].inf2); |
MN_CreatorWideEditBox:SetText(currentZone[MapNotes_TempData_Id].creator); |
MapNotesEditFrame:SetParent(lclFrame); |
MapNotesEditFrame.miniMe = currentZone[MapNotes_TempData_Id].mininote; |
MapNotesEditFrame.k = key; |
MapNotesEditFrame:Show(); |
end |
function MapNotes_ShowSendFrame(number) |
local Plugin = MapNotes.pluginKeys[ MapNotesSendFrame.key ]; |
local lclFrame = WorldMapButton; |
if ( Plugin ) then |
lclFrame = getglobal( Plugin.frame ); |
end |
if ( number == 1 ) then |
MapNotesSendPlayer:Enable(); |
MapNotesChangeSendFrame:SetText(MAPNOTES_SLASHCOMMAND); |
MapNotes_SendWideEditBox:SetText(""); |
if UnitCanCooperate("player", "target") then |
MapNotes_SendWideEditBox:SetText(UnitName("target")); |
end |
MapNotes_SendFrame_Title:SetText(MAPNOTES_SEND_TITLE); |
MapNotes_SendFrame_Tip:SetText(MAPNOTES_SEND_TIP); |
MapNotes_SendFrame_Player:SetText(MAPNOTES_SEND_PLAYER); |
MapNotes_ToggleSendValue = 2; |
elseif ( number == 2 ) then |
MapNotesSendPlayer:Disable(); |
MapNotesChangeSendFrame:SetText(MAPNOTES_SHOWSEND); |
MapNotes_SendWideEditBox:SetText("/mapnote "..MapNotes_GenerateSendString(2)); |
MapNotes_SendFrame_Title:SetText(MAPNOTES_SEND_SLASHTITLE); |
MapNotes_SendFrame_Tip:SetText(MAPNOTES_SEND_SLASHTIP); |
MapNotes_SendFrame_Player:SetText(MAPNOTES_SEND_SLASHCOMMAND); |
MapNotes_ToggleSendValue = 1; |
end |
if not MapNotesSendFrame:IsVisible() then |
MapNotes_HideAll(); |
MapNotesSendFrame:SetParent(lclFrame); |
MapNotesSendFrame:Show(); |
end |
end |
function MapNotes_GenerateSendString(version) |
-- <M_N> k<1> x<0.123123> y<0.123123> t<> i1<> i2<> cr<> i<8> tf<3> i1f<5> i2f<6> |
local text = ""; |
local upperLimit = 164; -- SendAddonMessage with combined Prefix..Text of over 254 = Disconnect |
if version == 1 then |
text = "<M_N> "; |
end |
local key = MapNotesSendFrame.key; |
local currentZone = MapNotes_Data_Notes[key]; |
local keyLen = string.len(key); |
upperLimit = upperLimit - keyLen; |
local t1 = MapNotes_EliminateUsedChars(currentZone[MapNotes_TempData_Id].name); |
local t2 = MapNotes_EliminateUsedChars(currentZone[MapNotes_TempData_Id].inf1); |
local t3 = MapNotes_EliminateUsedChars(currentZone[MapNotes_TempData_Id].inf2); |
local cr = MapNotes_EliminateUsedChars(currentZone[MapNotes_TempData_Id].creator); |
local truncated; |
t1, t2, t3, cr, truncated = MapNotes_CheckLength(t1, t2, t3, cr, upperLimit); |
text = text.."k<"..key..">" |
local xPos = floor(currentZone[MapNotes_TempData_Id].xPos * 1000000)/1000000; |
local yPos = floor(currentZone[MapNotes_TempData_Id].yPos * 1000000)/1000000; |
text = text.." x<"..xPos.."> y<"..yPos..">"; |
text = text.." t<".. t1 ..">"; |
text = text.." i1<".. t2 ..">"; |
text = text.." i2<".. t3 ..">"; |
if not currentZone[MapNotes_TempData_Id].creator then |
currentZone[MapNotes_TempData_Id].creator = UnitName("player"); |
end |
text = text.." cr<"..cr..">"; |
text = text.." i<"..currentZone[MapNotes_TempData_Id].icon..">"; |
text = text.." tf<"..currentZone[MapNotes_TempData_Id].ncol..">"; |
text = text.." i1f<"..currentZone[MapNotes_TempData_Id].in1c..">"; |
text = text.." i2f<"..currentZone[MapNotes_TempData_Id].in2c..">"; |
if ( ( version == 1 ) and ( truncated ) ) then |
MapNotes_StatusPrint(MAPNOTES_TRUNCATION_WARNING); |
end |
text = string.gsub(text, "|", "\124\124"); |
return text; |
end |
function MapNotes_CheckLength(t1, t2, t3, cr, upperLimit) |
local l1 = string.len(t1); |
local l2 = string.len(t2); |
local l3 = string.len(t3); |
local l4 = string.len(cr); |
local truncated; |
if ( l1 > upperLimit ) then |
t1 = string.sub(t1, 1, upperLimit); |
t2 = ""; |
t3 = ""; |
cr = ""; |
truncated = true; |
elseif ( (l1+l2) > upperLimit ) then |
t2 = string.sub(t2, 1, (upperLimit-l1)); |
t3 = ""; |
cr = ""; |
truncated = true; |
elseif ( (l1+l2+l3) > upperLimit ) then |
t3 = string.sub(t3, 1, (upperLimit-l1-l2)); |
cr = ""; |
truncated = true; |
elseif ( (l1+l2+l3+l4) > upperLimit ) then |
cr = string.sub(cr, 1, (upperLimit-l1-l2-l3)); |
truncated = true; |
end |
return t1, t2, t3, cr, truncated; |
end |
function MapNotes_EliminateUsedChars(text) |
text = string.gsub(text, "<", ""); |
text = string.gsub(text, ">", ""); |
return text; |
end |
function MapNotes_SendNote(type) |
if ( type == 1 ) then |
SendChatMessage(MapNotes_GenerateSendString(1), "WHISPER", this.language, MapNotes_SendWideEditBox:GetText()); |
MapNotes_HideAll(); |
elseif ( type == 2 ) then |
local msg = MapNotes_GenerateSendString(1); |
SendAddonMessage( "MapNotes_FU", msg, "PARTY" ); |
elseif ( type == 3 ) then |
local msg = MapNotes_GenerateSendString(1); |
SendAddonMessage( "MapNotes_FU", msg, "RAID" ); |
elseif ( type == 4 ) then |
local msg = MapNotes_GenerateSendString(1); |
SendAddonMessage( "MapNotes_FU", msg, "BATTLEGROUND" ); |
elseif ( type == 5 ) then |
local msg = MapNotes_GenerateSendString(1); |
SendAddonMessage( "MapNotes_FU", msg, "GUILD" ); |
end |
end |
function MapNotes_OpenOptionsFrame() |
for i=0, 16, 1 do |
if MapNotes_Options[i] ~= "off" then |
getglobal("MapNotesOptionsCheckbox"..i):SetChecked(1); |
else |
getglobal("MapNotesOptionsCheckbox"..i):SetChecked(0); |
end |
end |
if ( MapNotes_Options.mapC ) then |
MapNotesOptionsCheckboxMapC:SetChecked(1); |
else |
MapNotesOptionsCheckboxMapC:SetChecked(0); |
end |
if ( MapNotes_Options.miniC ) then |
MapNotesOptionsCheckboxMiniC:SetChecked(1); |
else |
MapNotesOptionsCheckboxMiniC:SetChecked(0); |
end |
if ( MapNotes_Options.landMarks ) then |
MapNotesOptionsCheckboxLM:SetChecked(1); |
else |
MapNotesOptionsCheckboxLM:SetChecked(0); |
end |
end |
function MapNotes_WriteOptions() |
for i=0, 16, 1 do |
if getglobal("MapNotesOptionsCheckbox"..i):GetChecked() then |
MapNotes_Options[i] = nil; |
else |
MapNotes_Options[i] = "off"; |
end |
end |
MapNotes_PlugInsRefresh(); |
MapNotes_MapUpdate(); |
end |
function MapNotes_SetAsMiniNote(nid) |
local key = MapNotes_GetMapKey(); |
local currentZone = nil; |
if ( ( nid ) and ( nid > 0 ) ) then |
currentZone = MapNotes_Data_Notes[key]; |
if ( currentZone ) then |
currentZone = currentZone[nid]; |
end |
end |
if ( ( nid == 0 ) and ( MapNotes_MiniNote_Data.icon == "tloc" ) ) then |
MapNotes_ClearMiniNote(true, "tloc"); |
elseif ( ( nid == -1 ) and ( MapNotes_MiniNote_Data.icon == "party" ) ) then |
MapNotes_ClearMiniNote(true, "party"); |
elseif ( ( currentZone ) and ( currentZone.mininote ) ) then |
currentZone.mininote = nil; |
else |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.id = nid -- able to show, because there wasn't a delete and its not received for showing on Minimap only |
if ( nid == 0 ) then |
MapNotes_MiniNote_Data.xPos = MapNotes_tloc_xPos; |
MapNotes_MiniNote_Data.yPos = MapNotes_tloc_yPos; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.name = MAPNOTES_THOTTBOTLOC; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
elseif ( nid == -1 ) then |
MapNotes_MiniNote_Data.xPos = MapNotes_PartyNoteData.xPos; |
MapNotes_MiniNote_Data.yPos = MapNotes_PartyNoteData.yPos; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.name = MAPNOTES_PARTYNOTE; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "party"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_PARTY_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_PARTY_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
elseif ( currentZone ) then |
currentZone.mininote = true; |
end |
end |
MapNotes_MapUpdate(); |
end |
function MapNotes_ClearMiniNoteGlobal() |
MapNotes_ClearMiniNote(nil, nil); |
end |
function MapNotes_ClearMiniNote(skipMapUpdate, typ) |
if ( ( typ ) and ( ( typ == "party" ) or ( typ == "tloc" ) ) ) then |
if ( typ == "party" ) then |
MapNotesPOIparty:SetAlpha( MapNotes_Options.aFactor ); |
else |
MapNotesPOItloc:SetAlpha( MapNotes_Options.aFactor ); |
end |
MapNotes_MiniNote_Data.xPos = nil; |
MapNotes_MiniNote_Data.yPos = nil; |
MapNotes_MiniNote_Data.key = nil; |
MapNotes_MiniNote_Data.id = nil; -- nothing to show on the zone map |
MapNotes_MiniNote_Data.name = nil; |
MapNotes_MiniNote_Data.color = nil; |
MapNotes_MiniNote_Data.icon = nil; |
MN_MiniNotePOI:Hide(); |
elseif ( typ.ref ) then |
MapNotes_Data_Notes[typ.key][typ.ref].mininote = nil; |
typ:Hide(); |
elseif ( typ.id ) then |
MapNotes_Data_Notes[typ.key][typ.id].mininote = nil; |
else |
MapNotes_MiniNote_Data.xPos = nil; |
MapNotes_MiniNote_Data.yPos = nil; |
MapNotes_MiniNote_Data.key = nil; |
MapNotes_MiniNote_Data.id = nil; -- nothing to show on the zone map |
MapNotes_MiniNote_Data.name = nil; |
MapNotes_MiniNote_Data.color = nil; |
MapNotes_MiniNote_Data.icon = nil; |
MN_MiniNotePOI:Hide(); |
end |
if ( not skipMapUpdate ) then |
MapNotes_MapUpdate(); |
end |
end |
function MapNotes_WriteNote() |
MapNotes_HideAll(); |
local key = MapNotesEditFrame.k; |
local Plugin = MapNotes.pluginKeys[key]; |
local currentZone = MapNotes_Data_Notes[key]; |
currentZone[MapNotes_TempData_Id] = {}; |
currentZone[MapNotes_TempData_Id].name = MapNotes_TitleWideEditBox:GetText(); |
currentZone[MapNotes_TempData_Id].ncol = MapNotes_TempData_TextColor; |
currentZone[MapNotes_TempData_Id].inf1 = MN_Info1WideEditBox:GetText(); |
currentZone[MapNotes_TempData_Id].in1c = MapNotes_TempData_Info1Color; |
currentZone[MapNotes_TempData_Id].inf2 = MN_Info2WideEditBox:GetText(); |
currentZone[MapNotes_TempData_Id].in2c = MapNotes_TempData_Info2Color; |
currentZone[MapNotes_TempData_Id].creator = MN_CreatorWideEditBox:GetText(); |
currentZone[MapNotes_TempData_Id].icon = MapNotes_TempData_Icon; |
currentZone[MapNotes_TempData_Id].xPos = MapNotes_TempData_xPos; |
currentZone[MapNotes_TempData_Id].yPos = MapNotes_TempData_yPos; |
currentZone[MapNotes_TempData_Id].mininote = MapNotes_TempData_miniNote; |
if ( MapNotesEditFrame.miniMe ) then |
currentZone[MapNotes_TempData_Id].mininote = true; |
elseif ( ( key == MapNotes_MiniNote_Data.key ) and ( MapNotes_MiniNote_Data.id == MapNotes_TempData_Id ) ) then |
currentZone[MapNotes_TempData_Id].mininote = true; |
end |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
function MapNotes_MapUpdate() |
-- if WorldMapButton:IsVisible() then |
MapNotes_WorldMapButton_OnUpdate(); |
-- end |
if Minimap:IsVisible() then |
Minimap_OnUpdate(Minimap, 0.0); --Telic_* (Lack of argument can cause error in Minimap.lua) |
end |
end |
function MapNotes_HideAll() |
-- dialogs |
MapNotesEditFrame:Hide(); |
MapNotesOptionsFrame:Hide(); |
MapNotesSendFrame:Hide(); |
MapNotes_ClearGUI(); |
end |
function MapNotes_HideFrames() |
MapNotesEditFrame:Hide(); |
MapNotesOptionsFrame:Hide(); |
MapNotesSendFrame:Hide(); |
MapNotes_ClearGUI(); |
end |
function MapNotes_FramesHidden() |
if ( ( MapNotesEditFrame:IsVisible() ) or |
( MapNotesSendFrame:IsVisible() ) or |
( MapNotesOptionsFrame:IsVisible() ) ) then |
return false; |
else |
return true; |
end |
end |
function MapNotes_DeleteNote(nid, key, suppress) |
local Plugin; |
if ( type(key) == "string" ) then |
Plugin = MapNotes.pluginKeys[key]; |
elseif ( ( key ) and ( key.frame ) ) then |
Plugin = key; |
key = MapNotes_PlugInsGetKey(key); |
else |
if ( not key ) then |
key = MapNotes_GetMapKey(); |
end |
end |
if ( nid == 0 ) then |
MapNotes_tloc_xPos = nil; |
MapNotes_tloc_yPox = nil; |
MapNotes_tloc_name = nil; |
MapNotes_tloc_key = nil; |
if ( MapNotes_MiniNote_Data.icon == "tloc") then |
MapNotes_ClearMiniNote(true, "tloc"); |
end |
MapNotes_MapUpdate(); |
return |
elseif ( nid == -1 ) then |
MapNotes_PartyNoteData.xPos = nil; |
MapNotes_PartyNoteData.yPos = nil; |
MapNotes_PartyNoteData.key = nil; |
if ( MapNotes_MiniNote_Data.icon == "party" ) then |
MapNotes_ClearMiniNote(true, "party"); |
end |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin) |
else |
MapNotes_MapUpdate(); |
end |
return Plugin; |
end |
local currentZone, lastEntry; |
currentZone = MapNotes_Data_Notes[key]; |
lastEntry = MapNotes_GetZoneTableSize(currentZone); |
MapNotes_DeleteLines(key, currentZone[nid].xPos, currentZone[nid].yPos); |
if ( ( lastEntry ~= 0 ) and ( nid <= lastEntry ) ) then |
MapNotes_Undelete_Info.key = key; |
if ( Plugin ) then |
MapNotes_Undelete_Info.plugin = Plugin.name; -- Plugin itself is a table reference which won't survive relog - so store name, and retrieve plugin based on it |
else -- If Plugin not loaded, then delete the undelete info... |
MapNotes_Undelete_Info.plugin = nil; |
end |
MapNotes_Undelete_Info.name = currentZone[nid].name; |
currentZone[nid].name = currentZone[lastEntry].name; |
currentZone[lastEntry].name = nil; |
MapNotes_Undelete_Info.ncol = currentZone[nid].ncol; |
currentZone[nid].ncol = currentZone[lastEntry].ncol; |
currentZone[lastEntry].ncol = nil; |
MapNotes_Undelete_Info.inf1 = currentZone[nid].inf1; |
currentZone[nid].inf1 = currentZone[lastEntry].inf1; |
currentZone[lastEntry].inf1 = nil; |
MapNotes_Undelete_Info.in1c = currentZone[nid].in1c; |
currentZone[nid].in1c = currentZone[lastEntry].in1c; |
currentZone[lastEntry].in1c = nil; |
MapNotes_Undelete_Info.inf2 = currentZone[nid].inf2; |
currentZone[nid].inf2 = currentZone[lastEntry].inf2; |
currentZone[lastEntry].inf2 = nil; |
MapNotes_Undelete_Info.in2c = currentZone[nid].in2c; |
currentZone[nid].in2c = currentZone[lastEntry].in2c; |
currentZone[lastEntry].in2c = nil; |
MapNotes_Undelete_Info.creator = currentZone[nid].creator; |
currentZone[nid].creator = currentZone[lastEntry].creator; |
currentZone[lastEntry].creator = nil; |
MapNotes_Undelete_Info.icon = currentZone[nid].icon; |
currentZone[nid].icon = currentZone[lastEntry].icon; |
currentZone[lastEntry].icon = nil; |
MapNotes_Undelete_Info.xPos = currentZone[nid].xPos; |
currentZone[nid].xPos = currentZone[lastEntry].xPos; |
currentZone[lastEntry].xPos = nil; |
MapNotes_Undelete_Info.yPos = currentZone[nid].yPos; |
currentZone[nid].yPos = currentZone[lastEntry].yPos; |
currentZone[lastEntry].yPos = nil; |
MapNotes_Undelete_Info.mininote = currentZone[nid].mininote; |
if ( currentZone[lastEntry].mininote ) then |
currentZone[nid].mininote = true; |
currentZone[lastEntry].mininote = nil; |
else |
currentZone[nid].mininote = nil; |
end |
MapNotes_Undelete_Info.customIcon = currentZone[nid].customIcon; |
if ( currentZone[lastEntry].customIcon ) then |
currentZone[nid].customIcon = currentZone[lastEntry].customIcon; |
currentZone[lastEntry].customIcon = nil; |
else |
currentZone[nid].customIcon = nil; |
end |
currentZone[lastEntry] = nil; |
end |
if ( not suppress ) then |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
return Plugin; |
end |
function MapNotes_Undelete() |
if ( MapNotes_Undelete_Info.key ) then |
local currentZone = MapNotes_Data_Notes[MapNotes_Undelete_Info.key]; |
if ( currentZone ) then |
local checknote = MapNotes_CheckNearNotes(MapNotes_Undelete_Info.key, MapNotes_Undelete_Info.xPos, MapNotes_Undelete_Info.yPos); |
if ( checknote ) then |
MapNotes_StatusPrint(format(MAPNOTES_QUICKNOTE_NOTETONEAR, MapNotes_Data_Notes[MapNotes_Undelete_Info.key][checknote].name ) ); |
else |
MapNotes_TempData_Id = ( MapNotes_GetZoneTableSize( currentZone ) ) + 1; |
currentZone[MapNotes_TempData_Id] = {}; |
currentZone[MapNotes_TempData_Id].name = MapNotes_Undelete_Info.name; |
MapNotes_Undelete_Info.name = nil; |
currentZone[MapNotes_TempData_Id].ncol = MapNotes_Undelete_Info.ncol; |
MapNotes_Undelete_Info.ncol = nil; |
currentZone[MapNotes_TempData_Id].inf1 = MapNotes_Undelete_Info.inf1; |
MapNotes_Undelete_Info.inf1 = nil; |
currentZone[MapNotes_TempData_Id].in1c = MapNotes_Undelete_Info.in1c; |
MapNotes_Undelete_Info.in1c = nil; |
currentZone[MapNotes_TempData_Id].inf2 = MapNotes_Undelete_Info.inf2; |
MapNotes_Undelete_Info.inf2 = nil; |
currentZone[MapNotes_TempData_Id].in2c = MapNotes_Undelete_Info.in2c; |
MapNotes_Undelete_Info.in2c = nil; |
currentZone[MapNotes_TempData_Id].creator = MapNotes_Undelete_Info.creator; |
MapNotes_Undelete_Info.creator = nil; |
currentZone[MapNotes_TempData_Id].icon = MapNotes_Undelete_Info.icon; |
MapNotes_Undelete_Info.icon = nil; |
currentZone[MapNotes_TempData_Id].xPos = MapNotes_Undelete_Info.xPos; |
MapNotes_Undelete_Info.xPos = nil; |
currentZone[MapNotes_TempData_Id].yPos = MapNotes_Undelete_Info.yPos; |
MapNotes_Undelete_Info.yPos = nil; |
currentZone[MapNotes_TempData_Id].mininote = MapNotes_Undelete_Info.mininote; |
MapNotes_Undelete_Info.mininote = nil; |
currentZone[MapNotes_TempData_Id].customIcon = MapNotes_Undelete_Info.customIcon; |
MapNotes_Undelete_Info.customIcon = nil; |
local Plugin; |
if ( MapNotes_Undelete_Info.plugin ) then |
for p, details in pairs(MAPNOTES_PLUGINS_LIST) do |
if ( MapNotes_Undelete_Info.plugin == details.name ) then |
Plugin = details; |
end |
end |
if ( Plugin ) then MapNotes_PlugInsDrawNotes(Plugin); end |
else |
MapNotes_MapUpdate(); |
end |
MapNotes_StatusPrint( format(MAPNOTES_ACCEPT_SLASH, MapNotes_GetMapDisplayName(MapNotes_Undelete_Info.key, Plugin)) ); |
MapNotes_Undelete_Info.key = nil; |
MapNotes_Undelete_Info.plugin = nil; |
end |
end |
end |
end |
function MapNotes_GetZoneTableSize(zoneTable) |
local i = 0; |
for index, records in ipairs(zoneTable) do |
i = i + 1; |
end |
return i; |
end |
function MapNotes_DeleteNotesWithText(text, key) |
if ( not text ) then |
return; |
end |
local count, cText, Plugin = 0; |
if ( ( key ) and ( MapNotes_Data_Notes[key] ) ) then |
local records = MapNotes_Data_Notes[key]; |
for n_id=MapNotes_GetZoneTableSize(records), 1, -1 do |
cText = records[n_id].name .. records[n_id].inf1 .. records[n_id].inf2; |
if ( string.find(cText, text) ) then |
Plugin = MapNotes_DeleteNote(n_id, key, true); |
count = count + 1; |
end |
end |
else |
for key, records in pairs(MapNotes_Data_Notes) do |
for n_id=MapNotes_GetZoneTableSize(records), 1, -1 do |
cText = records[n_id].name .. records[n_id].inf1 .. records[n_id].inf2; |
if ( string.find(cText, text) ) then |
Plugin = MapNotes_DeleteNote(n_id, key, true); |
count = count + 1; |
end |
end |
end |
end |
if ( text ) then |
MapNotes_StatusPrint(format(TEXT(MN_DELETED_WITH_TEXT), text) .. " (" .. count .. ")"); |
end |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
function MapNotes_DeleteNotesByCreatorAndName(creator, name, key) --Oh,that's where its called from;)WoWKb -- 29/07/2007 |
if ( not creator ) then |
return; |
end |
local region = MN_ALLZONES; |
local count, Plugin = 0; |
if ( ( key ) and ( MapNotes_Data_Notes[key] ) ) then |
local records = MapNotes_Data_Notes[key]; |
for n_id=MapNotes_GetZoneTableSize(records), 1, -1 do |
if ( ( creator == records[n_id].creator ) and ( name == records[n_id].name or name == nil ) ) then |
Plugin = MapNotes_DeleteNote(n_id, key, true); |
count = count + 1; |
end |
end |
else |
for key, records in pairs(MapNotes_Data_Notes) do |
for n_id=MapNotes_GetZoneTableSize(records), 1, -1 do |
if ( ( creator == records[n_id].creator ) and ( name == records[n_id].name or name == nil ) ) then |
Plugin = MapNotes_DeleteNote(n_id, key, true); |
count = count + 1; |
end |
end |
end |
end |
if ( name ) then |
MapNotes_StatusPrint(format(TEXT(MAPNOTES_DELETED_BY_NAME), creator, name) .. " (" .. count .. ")"); |
else |
MapNotes_StatusPrint(format(TEXT(MAPNOTES_DELETED_BY_CREATOR), creator) .. " (" .. count .. ")"); |
end |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
function MapNotes_ClearMiniNotesByCreator(creator) |
if ( not creator ) then |
return; |
end |
for key, records in pairs(MapNotes_Data_Notes) do |
for n_id=MapNotes_GetZoneTableSize(records), 1, -1 do |
if ( creator == records[n_id].creator ) then |
records[n_id].mininote = nil; |
end |
end |
end |
end |
function MapNotes_Note_OnClick(self, mouseButton) |
local lclFrame = self:GetParent(); |
local Plugin = self.Plugin; |
local key = self.key; |
local nid = self.nid; |
CloseDropDownMenus(); -- test to see if this can taint ? %%% |
if not MapNotes_FramesHidden() then |
return; |
end |
local currentZone; |
currentZone = MapNotes_Data_Notes[key]; |
if ( MapNotes_LastLineClick.GUIactive ) then |
local ax = currentZone[nid].xPos; |
local ay = currentZone[nid].yPos; |
if ( ( MapNotes_LastLineClick.x ~= ax or MapNotes_LastLineClick.y ~= ay) and ( MapNotes_LastLineClick.key == key ) ) then |
MapNotes_ToggleLine(key, ax, ay, MapNotes_LastLineClick.x, MapNotes_LastLineClick.y, Plugin); |
end |
MapNotes_ClearGUI(); |
elseif ( mouseButton == "RightButton" ) then |
MapNotes_TempData_Id = nid; -- Doh! *** DO NOT DELETE *** |
if ( ( IsControlKeyDown() ) and ( IsAltKeyDown() ) ) then |
MapNotes_OpenEditForExistingNote(key, nid); |
MapNotes_TitleWideEditBox:SetFocus(); |
MapNotes_TitleWideEditBox:HighlightText(); |
elseif ( IsAltKeyDown() ) then |
if ( IsShiftKeyDown() ) then |
local lTime = GetTime() - 0.6; |
if ( ( MapNotes_DoubleClick_Timer > lTime ) and ( MapNotes_DoubleClick_Id == nid ) and ( MapNotes_DoubleClick_Key == key ) ) then |
MapNotes_DeleteNote(nid, key); |
MapNotes_DoubleClick_Id = -2; |
MapNotes_DoubleClick_Key = ""; |
MapNotes_DoubleClick_Timer = lTime - 2; |
else |
MapNotes_DoubleClick_Id = nid; |
MapNotes_DoubleClick_Key = key; |
MapNotes_DoubleClick_Timer = GetTime() - 0.1; -- paranoid in case 2 clicks can fetch same time ;P |
end |
elseif ( ( not Plugin ) or ( Plugin.wmflag ) ) then -- Mininotes only on WorldMap type notes |
if ( currentZone[nid].mininote ) then |
currentZone[nid].mininote = nil; |
else |
currentZone[nid].mininote = true; |
end |
MapNotes_MapUpdate(); |
end |
else |
local xOffset, yOffset = MapNotes_GetAdjustedMapXY(lclFrame); |
WorldMapTooltip:Hide(); |
GameTooltip:Hide(); |
MapNotes:InitialiseDropdown(lclFrame, currentZone[nid].xPos, currentZone[nid].yPos, MapNotes.note_dd_info, key, nid); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
WorldMapTooltip:Hide(); |
GameTooltip:Hide(); |
end |
elseif ( ( mouseButton == "LeftButton" ) and ( IsAltKeyDown() ) and ( not IsControlKeyDown() ) ) then |
local ax = currentZone[nid].xPos; |
local ay = currentZone[nid].yPos; |
if (MapNotes_LastLineClick.x ~= ax or MapNotes_LastLineClick.y ~= ay) and MapNotes_LastLineClick.key == key and MapNotes_LastLineClick.time > GetTime() - 4 then |
MapNotes_ToggleLine(key, ax, ay, MapNotes_LastLineClick.x, MapNotes_LastLineClick.y, Plugin); |
else |
MapNotes_LastLineClick.x = ax; |
MapNotes_LastLineClick.y = ay; |
MapNotes_LastLineClick.key = key; |
MapNotes_LastLineClick.time = GetTime(); |
end |
end |
end |
function MapNotes_StartGUIToggleLine(key) |
if ( not MapNotes.pluginKeys[key] ) then |
WorldMapMagnifyingGlassButton:SetText(MAPNOTES_WORLDMAP_HELP_1.."\n"..MAPNOTES_WORLDMAP_HELP_2.."\n"..MAPNOTES_WORLDMAP_HELP_3.."\n"..MAPNOTES_CLICK_ON_SECOND_NOTE); |
end |
local currentZone = MapNotes_Data_Notes[key]; --Telic_* |
MapNotes_LastLineClick.GUIactive = true; |
MapNotes_LastLineClick.x = currentZone[MapNotes_TempData_Id].xPos; --Telic_* (changed to use currentZone) |
MapNotes_LastLineClick.y = currentZone[MapNotes_TempData_Id].yPos; --Telic_* (changed to use cuurentZone) |
MapNotes_LastLineClick.key = key; |
end |
function MapNotes_ClearGUI() |
WorldMapMagnifyingGlassButton:SetText(MAPNOTES_WORLDMAP_HELP_1.."\n"..MAPNOTES_WORLDMAP_HELP_2.."\n"..MAPNOTES_WORLDMAP_HELP_3); |
MapNotes_LastLineClick.GUIactive = false; |
end |
function MapNotes_DrawLine(n_id, x1, y1, x2, y2, Plugin) --Telic_2 (Added Plugin parameter) |
if ( ( not x1 ) or ( not x2 ) or ( not y1 ) or ( not y2 ) ) then |
return; |
end |
local MapNotesLine = MapNotes_AssignLine(n_id, Plugin); |
local lineFrame = WorldMapDetailFrame; |
if ( Plugin ) then |
lineFrame = getglobal( Plugin.frame .. "_MNLinesFrame" ); |
end |
local positiveSlopeTexture = MN_MISC_GFX_PATH.."\\LineTemplatePositive256"; |
local negativeSlopeTexture = MN_MISC_GFX_PATH.."\\LineTemplateNegative256"; |
local width = lineFrame:GetWidth(); |
local height = lineFrame:GetHeight(); |
local deltax = ( abs((x1 - x2) * width) ); |
local deltay = ( abs((y1 - y2) * height) ); |
local xOffset = ( (math.min(x1,x2) * width ) ); |
local yOffset = (-(math.min(y1,y2) * height) ); |
local lowerpixel = math.min(deltax, deltay); |
lowerpixel = lowerpixel / 256; |
if lowerpixel > 1 then |
lowerpixel = 1; |
end |
if deltax == 0 then |
deltax = 2; |
MapNotesLine:SetTexture(0, 0, 0); |
MapNotesLine:SetTexCoord(0, 1, 0, 1); |
elseif deltay == 0 then |
deltay = 2; |
MapNotesLine:SetTexture(0, 0, 0); |
MapNotesLine:SetTexCoord(0, 1, 0, 1); |
elseif x1 - x2 < 0 then |
if y1 - y2 < 0 then |
MapNotesLine:SetTexture(negativeSlopeTexture); |
MapNotesLine:SetTexCoord(0, lowerpixel, 0, lowerpixel); |
else |
MapNotesLine:SetTexture(positiveSlopeTexture); |
MapNotesLine:SetTexCoord(0, lowerpixel, 1-lowerpixel, 1); |
end |
else |
if y1 - y2 < 0 then |
MapNotesLine:SetTexture(positiveSlopeTexture); |
MapNotesLine:SetTexCoord(0, lowerpixel, 1-lowerpixel, 1); |
else |
MapNotesLine:SetTexture(negativeSlopeTexture); |
MapNotesLine:SetTexCoord(0, lowerpixel, 0, lowerpixel); |
end |
end |
MapNotesLine:SetPoint("TOPLEFT", lineFrame, "TOPLEFT", xOffset, yOffset); |
MapNotesLine:SetWidth(deltax); |
MapNotesLine:SetHeight(deltay); |
MapNotesLine:Show(); |
end |
function MapNotes_DeleteLines(key, x, y) |
local zoneTable = MapNotes_Data_Lines[key]; |
local lineCount = MapNotes_GetZoneTableSize(zoneTable); |
local offset = 0; |
for i = 1, lineCount, 1 do |
if (zoneTable[i-offset].x1 == x and zoneTable[i-offset].y1 == y) or (zoneTable[i-offset].x2 == x and zoneTable[i-offset].y2 == y) then |
for j = i, lineCount-1, 1 do |
zoneTable[j-offset].x1 = zoneTable[j+1-offset].x1; |
zoneTable[j-offset].x2 = zoneTable[j+1-offset].x2; |
zoneTable[j-offset].y1 = zoneTable[j+1-offset].y1; |
zoneTable[j-offset].y2 = zoneTable[j+1-offset].y2; |
end |
zoneTable[lineCount-offset] = nil; |
offset = offset + 1; |
end |
end |
MapNotes_LastLineClick.key = "nil"; |
end |
function MapNotes_ToggleLine(key, x1, y1, x2, y2, Plugin) |
local zoneTable = MapNotes_Data_Lines[key]; |
local newline = true; |
local lineCount = MapNotes_GetZoneTableSize(zoneTable); |
for i = 1, lineCount, 1 do |
if i <= lineCount then |
if (zoneTable[i].x1 == x1 and zoneTable[i].y1 == y1 and zoneTable[i].x2 == x2 and zoneTable[i].y2 == y2) or |
(zoneTable[i].x1 == x2 and zoneTable[i].y1 == y2 and zoneTable[i].x2 == x1 and zoneTable[i].y2 == y1) then |
for j = i, lineCount-1, 1 do |
zoneTable[j].x1 = zoneTable[j+1].x1; |
zoneTable[j].x2 = zoneTable[j+1].x2; |
zoneTable[j].y1 = zoneTable[j+1].y1; |
zoneTable[j].y2 = zoneTable[j+1].y2; |
end |
zoneTable[lineCount] = nil; |
PlaySound("igMainMenuOption"); |
newline = false; |
lineCount = lineCount - 1; |
end |
end |
end |
if ( newline ) then |
zoneTable[lineCount+1] = {}; |
zoneTable[lineCount+1].x1 = x1; |
zoneTable[lineCount+1].x2 = x2; |
zoneTable[lineCount+1].y1 = y1; |
zoneTable[lineCount+1].y2 = y2; |
end |
MapNotes_LastLineClick.key = "nil"; |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
function MapNotes_OpenEditForNewNote() |
if ( MapNotes_TempData_Id == 0 ) then |
MapNotes_tloc_xPos = nil; |
MapNotes_tloc_yPos = nil; |
MapNotes_tloc_name = nil; |
MapNotes_tloc_key = nil; |
end |
MapNotes_TempData_Id = MapNotes_NewNoteSlot(MapNotesEditFrame.k); |
MapNotes_TempData_Creator = UnitName("player"); |
MapNotes_Edit_SetIcon(0); |
MapNotes_Edit_SetTextColor(0); |
MapNotes_Edit_Set_Info1Color(0); |
MapNotes_Edit_Set_Info2Color(0); |
MapNotes_TitleWideEditBox:SetText(""); |
MN_Info1WideEditBox:SetText(""); |
MN_Info2WideEditBox:SetText(""); |
MN_CreatorWideEditBox:SetText(MapNotes_TempData_Creator); |
MapNotes_HideAll(); |
MapNotesEditFrame:Show(); |
end |
function MapNotes_SetPartyNote(xPos, yPos, pKey) |
if ( ( not pKey ) and ( ( GetCurrentMapZone() == 0 ) or ( GetCurrentMapContinent() == 0 ) ) ) then |
return; |
end |
xPos = floor(xPos * 1000000) / 1000000; |
yPos = floor(yPos * 1000000) / 1000000; |
local key, lKey; |
if ( pKey ) then |
key = pKey; |
_, lKey = MapNotes_GetMapDisplayName(key); |
else |
key = MapNotes_GetMapKey(); |
lKey = MapNotes_GetMapDisplayName(key); |
end |
MapNotes_PartyNoteData.key = key; |
MapNotes_PartyNoteData.xPos = xPos; |
MapNotes_PartyNoteData.yPos = yPos; |
local msg = "<M_N> k<"..key.."> x<"..xPos.."> y<"..yPos.."> l<"..lKey.."> p<1>"; --Telic_6 |
if ( ( IsControlKeyDown() ) and ( GetNumRaidMembers() > 0 ) ) then -- Send Party note if not in Raid |
SendAddonMessage( "MapNotes_FU", msg, "RAID" ); |
else |
SendAddonMessage( "MapNotes_FU", msg, "PARTY" ); --Telic_6 |
end |
if ( ( not pKey ) and ( ( MapNotes_MiniNote_Data.icon == "party" ) or ( MapNotes_Options[16] ~= "off" ) ) ) then |
MapNotes_MiniNote_Data.id = -1; |
MapNotes_MiniNote_Data.key = key; |
MapNotes_MiniNote_Data.xPos = xPos; |
MapNotes_MiniNote_Data.yPos = yPos; |
MapNotes_MiniNote_Data.name = MAPNOTES_PARTYNOTE; |
MapNotes_MiniNote_Data.color = 0; |
MapNotes_MiniNote_Data.icon = "party"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_PARTY_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_PARTY_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
elseif ( ( pKey ) and ( MapNotes_MiniNote_Data.icon == "party" ) ) then |
MapNotes_ClearMiniNote(true, "party"); |
end |
MapNotes_MapUpdate(); |
end |
function MapNotes_MiniNote_OnClick(self, mouseButton) |
if ( ( mouseButton == "RightButton" ) and ( self.ref ) and ( self.ref > 0 ) ) then |
if ( ( IsControlKeyDown() ) and ( not IsAltKeyDown() ) ) then |
SetMapToCurrentZone(); |
local x, y = GetPlayerMapPosition("player"); |
if ( ( x == 0 ) and ( y == 0 ) ) then |
else |
local key = MapNotes_GetMapKey(); |
if ( self.key == key ) then |
MapNotes:InitialiseDropdown(UIParent, nil, nil, MapNotes.mininote_dd_info, key, self.ref); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
return; |
end |
end |
elseif ( ( IsShiftKeyDown() ) and ( IsAltKeyDown() ) ) then |
local lTime = GetTime() - 0.7; -- allow 1 second for the second click |
if ( ( MapNotes_DoubleClick_Timer > lTime ) and ( MapNotes_DoubleClick_Id == self.ref ) and ( MapNotes_DoubleClick_Key == self.key ) ) then |
MapNotes_HideFrames(); |
MapNotes_DeleteNote(self.ref, self.key); |
MapNotes_StatusPrint(MAPNOTES_DELETE_NOTE); |
MapNotes_DoubleClick_Id = -2; |
MapNotes_DoubleClick_Key = ""; |
MapNotes_DoubleClick_Timer = lTime - 2; |
else |
MapNotes_DoubleClick_Id = self.ref; |
MapNotes_DoubleClick_Key = self.key; |
MapNotes_DoubleClick_Timer = GetTime() - 0.1; -- paranoid in case 2 clicks can fetch same time ;P |
end |
return; |
elseif ( ( IsControlKeyDown() ) and ( IsAltKeyDown() ) ) then |
if ( MapNotesEditFrame:IsVisible() ) then |
MapNotesEditFrame:Hide(); |
else |
MapNotes_OpenEditForExistingNote(self.key, self.ref); |
MapNotes_TitleWideEditBox:SetFocus(); |
MapNotes_TitleWideEditBox:HighlightText(); |
end |
return; |
elseif ( ( IsAltKeyDown() ) ) then |
local note = MapNotes_Data_Notes[self.key]; |
if ( note ) then |
note = note[self.ref]; |
end |
if ( note ) then |
note.mininote = nil; |
end |
MapNotes_MapUpdate(); |
return; |
end |
elseif ( ( mouseButton == "RightButton" ) and ( self.ref <= 0 ) ) then |
if ( ( IsControlKeyDown() ) and ( not IsAltKeyDown() ) ) then |
SetMapToCurrentZone(); |
local x, y = GetPlayerMapPosition("player"); |
if ( ( x == 0 ) and ( y == 0 ) ) then |
else |
local key = MapNotes_GetMapKey(); |
if ( self.key == key ) then |
MapNotes:InitialiseDropdown(UIParent, MapNotes_MiniNote_Data.xPos, MapNotes_MiniNote_Data.yPos, MapNotes.temp_dd_info, key, self.ref); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
return; |
end |
end |
elseif ( ( IsShiftKeyDown() ) and ( not IsAltKeyDown() ) and ( not IsControlKeyDown() ) ) then |
MapNotes_DeleteNote(self.ref, self.key); |
elseif ( ( IsAltKeyDown() ) and ( not IsControlKeyDown() ) and ( not IsShiftKeyDown() ) ) then |
if ( self.ref == 0 ) then |
MapNotes_ClearMiniNote(nil, "tloc"); |
elseif ( self.ref == -1 ) then |
MapNotes_ClearMiniNote(nil, "party"); |
end |
end |
return; |
end |
Minimap_OnClick(Minimap, mouseButton); |
end |
function MapNotes_Minimap_OnClick(...) |
if ( ( IsControlKeyDown() ) and ( IsAltKeyDown() ) and ( arg1 == "RightButton" ) ) then |
local x, y = GetCursorPosition(); |
x = x / this:GetEffectiveScale(); |
y = y / this:GetEffectiveScale(); |
local cx, cy = this:GetCenter(); |
x = x - cx; |
y = 1 - ( y - cy ); |
local dist = sqrt(x * x + y * y); |
if ( dist < (this:GetWidth() / 2) ) then |
SetMapToCurrentZone(); |
local pX, pY = GetPlayerMapPosition("player"); |
local lZone, lCont = GetCurrentMapZone(), GetCurrentMapContinent(); |
if ( ( ( pX == 0 ) and ( pY == 0 ) ) or ( lZone == 0 ) ) then |
return; |
else |
local currentConst, currentZoom, rotatingMinimap, xScale, yScale, mapX, mapY; |
local key = MapNotes_GetMapKey(); |
if ( ( MapNotes_Keys[key] ) and ( MapNotes_Keys[key].miniData ) ) then |
if ( ( MapNotes_Keys[key] ) and ( MapNotes_Keys[key].miniData ) ) then |
currentConst = MapNotes_Keys[key].miniData; |
else |
currentConst = MAPNOTES_DEFAULT_MINIDATA; |
end |
currentZoom = Minimap:GetZoom(); |
if ( GetCVar("rotateMinimap") == "1" ) then |
rotatingMinimap = MiniMapCompassRing:GetFacing(); |
end |
if ( rotatingMinimap ) then |
local theta = atan2(x, y); |
theta = theta - rotatingMinimap; |
x = sin(theta) * dist; |
y = cos(theta) * dist; |
end |
if ( lZone > 0 ) then |
xScale = MapNotes_MiniConst[lCont][currentZoom].xScale; |
yScale = MapNotes_MiniConst[lCont][currentZoom].yScale; |
else |
xScale = MapNotes_MiniConst[MAPNOTES_DEFAULT_MINIDATA.cont][currentZoom].xScale; |
yScale = MapNotes_MiniConst[MAPNOTES_DEFAULT_MINIDATA.cont][currentZoom].yScale; |
end |
if ( MapNotes_MiniNote_IsInCity ) then |
xScale = xScale * MapNotes_CityConst[currentZoom].cityScale; |
yScale = yScale * MapNotes_CityConst[currentZoom].cityScale; |
end |
pX = pX * currentConst.scale + currentConst.xOffset; |
pY = pY * currentConst.scale + currentConst.yOffset; |
x = ( ( (x / xScale) + pX ) - currentConst.xOffset ) / currentConst.scale; |
y = ( ( (y / yScale) + pY ) - currentConst.yOffset ) / currentConst.scale; |
MapNotes_ShortCutNote(x, y, nil, true); |
end |
end |
end |
else |
orig_Minimap_OnClick(...); |
end |
end |
-- Create the note in the Players current Map if not in an Instance |
function MN_ThottInterface_Local(x, y, desc, creator) |
-- No need to reset to a previous map - if not current then they're probably viewing a map, |
-- and presumably would want to see it change and the marker placed on it... |
SetMapToCurrentZone(); |
-- Get MapKey if valid coordinate system for current map... |
local pX, pY = GetPlayerMapPosition("player"); |
if ( ( pX <= 0 ) and ( pY <= 0 ) ) then |
return; |
end |
local key = MapNotes_GetMapKey(); |
MN_ThottInterface(key, x, y, desc, creator); |
end |
-- Create the note on a specified map using legacy keying system |
-- This may suffer from the old zone shift problems associated with this keying system on different clients, depending on other AddOn calling it |
function MN_ThottInterface_Legacy(c, z, x, y, desc, creator) |
-- Translate Continent/Zone to key |
local key = MapNotes_OldKeys[c][z]; |
-- Could do some testing for inside Instances where note creation is possible.... ??? |
if ( key ) then |
-- SetMapZoom(c, z); -- ??? |
MN_ThottInterface(key, x, y, desc); |
end |
end |
function MN_ThottInterface(key, x, y, desc, creator) |
local msg; |
if ( IsAltKeyDown() ) then -- Must hold down <Alt> if wanting a temporary Thott marker |
MapNotes_tloc_xPos = x / 100; |
MapNotes_tloc_yPos = y / 100; |
MapNotes_tloc_name = desc; |
MapNotes_tloc_key = key; |
MapNotes_MiniNote_Data.id = 0; |
MapNotes_MiniNote_Data.key = MapNotes_tloc_key; |
MapNotes_MiniNote_Data.xPos = MapNotes_tloc_xPos; |
MapNotes_MiniNote_Data.yPos = MapNotes_tloc_yPos; |
MapNotes_MiniNote_Data.name = desc; |
MapNotes_MiniNote_Data.color = 4; |
MapNotes_MiniNote_Data.icon = "tloc"; |
MN_MiniNotePOITexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
local txtr = MN_MiniNotePOITexture:GetTexture(); |
if ( not txtr ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..MapNotes_MiniNote_Data.icon); |
end |
local msg = format( MAPNOTES_ACCEPT_SLASH, MapNotes_GetMapDisplayName(key) ); |
MapNotes_StatusPrint( msg ); |
elseif ( IsControlKeyDown() ) then -- else hold down <Ctrl> if wanting a permanent marker |
-- Hide other frames |
-- Set Creator to Lightheaded |
-- Use Red Cross marker |
MapNotes_HideFrames(); |
local MN_creatorOverride, MN_mininoteOverride = creator, true; |
if ( ( not MN_creatorOverride ) and ( Lightheaded ) ) then |
MN_creatorOverride = "Lightheaded"; |
-- else |
-- MN_creatorOverride = ""; |
end |
if ( IsShiftKeyDown() ) then |
MN_mininoteOverride = nil; |
end |
MapNotes_Quicktloc( x .. ", " .. y .. " 6 "..desc, MN_creatorOverride, MN_mininoteOverride ); |
end |
end |
function MapNotes_WorldMapButton_OnClick(button, mouseButton) |
CloseDropDownMenus(); |
if ( not MapNotes_FramesHidden() ) then |
return; |
else |
MapNotes_ClearGUI(); |
end |
local key = MapNotes_GetMapKey(); |
-- if we are viewing a continent or continents or it was left-click call the original handler |
if ( ( mouseButton == "LeftButton" ) or ( ( mouseButton == "RightButton" ) and ( not IsControlKeyDown() ) and ( not IsShiftKeyDown() ) ) ) then --Telic_7 |
orig_MapNotes_WorldMapButton_OnClick(button, mouseButton); |
return; |
end |
-- <control>+right-click is used to bring up the main menu when viewing a particular zone/city |
-- shift right-click is used to set the party note at the click location |
if not button then |
button = WorldMapButton; |
end |
local adjustedX, adjustedY = MapNotes_GetMouseXY(button); |
if ( IsShiftKeyDown() ) then |
MapNotes_SetPartyNote(adjustedX, adjustedY); |
MapNotes_MapUpdate(); |
elseif ( IsAltKeyDown() ) then |
local lNote = MapNotes_ShortCutNote(adjustedX, adjustedY); |
MapNotes_MapUpdate(); |
if ( lNote ) then |
lNote = getglobal( "MapNotesPOI" .. lNote ); |
if ( lNote ) then |
lNote:SetFrameLevel( MapNotes_WorldMapButton:GetFrameLevel() + 1 ); |
end |
end |
else |
MapNotes:InitialiseDropdown(button, adjustedX, adjustedY, MapNotes.base_dd_info, key); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
end |
end |
-- %%% THE CORE %%% |
function MapNotes_WorldMapButton_OnUpdate() |
if ( ( MapNotesFU_Drawing ) or ( not MapNotes_Options.aFactor ) ) then |
return; |
end |
-- if ( not WorldMapFrame:IsVisible() ) then |
-- return; |
-- end |
MapNotesFU_Drawing = true; |
local border = ( MapNotes_Options.iFactor / MAPNOTES_DFLT_ICONSIZE ) * MAPNOTES_BORDER; |
local lBorder = ( MapNotes_Options.iFactor / MAPNOTES_DFLT_ICONSIZE ) * ( MAPNOTES_BORDER / 2 ); |
local width = WorldMapButton:GetWidth(); |
local height = WorldMapButton:GetHeight(); |
local key = MapNotes_GetMapKey(); |
local currentZone = MapNotes_Data_Notes[key]; |
local currentLineZone = MapNotes_Data_Lines[key]; |
local xOffset,yOffset = 0; |
local POI, POITexture, POIHighlight, POIMininote, POILastnote, POIName; |
local nNotes, nLines = 1, 1; |
local findIn; |
local scalingFactor = MN_ScaleMe(WorldMapButton); |
if ( ( currentZone ) and ( MapNotes_Options.shownotes ) ) then |
for i, value in ipairs(currentZone) do |
-- Data Validity Checks : Set Defatults for missing mandatory data |
if ( not currentZone[i].icon ) then |
currentZone[i].icon = 0; |
end |
POI = MapNotes_AssignPOI(i); |
POI.key = key; |
POI.nid = i; |
POIName = POI:GetName(); |
POI:SetScale( scalingFactor ); |
local xOffset = ( currentZone[i].xPos * width ) / scalingFactor; |
local yOffset = ( -currentZone[i].yPos * height ) / scalingFactor; |
POI:SetUserPlaced(false); |
POI:ClearAllPoints(); |
POI:SetPoint("CENTER", "WorldMapDetailFrame", "TOPLEFT", xOffset, yOffset); |
POITexture = getglobal(POIName.."Texture"); |
POIMininote = getglobal(POIName.."Mininote"); |
POILastnote = getglobal(POIName.."Lastnote"); |
POIHighlight = getglobal(POIName.."Highlight"); |
-- Custom |
POITexture:SetTexture(nil); |
if ( ( MNIL ) and ( currentZone[i].customIcon ) ) then |
POITexture:SetTexture( currentZone[i].customIcon ); |
end |
if ( not POITexture:GetTexture() ) then |
POITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icon"..currentZone[i].icon); |
end |
findIn = string.lower(value.name); |
if ( ( MapNotes_HighlightedNote ~= "" ) and ( string.find( findIn, MapNotes_HighlightedNote ) ) ) then |
POIHighlight:Show(); |
-- Custom |
if ( ( findIn == MapNotes_HighlightedNote ) and ( MapNotes_Options[13] ~= "off" ) ) then |
POIMininote:Show(); |
end |
-- Custom |
elseif ( ( currentZone[i].mininote ) and ( MapNotes_Options[13] ~= "off" ) ) then |
POIMininote:Show(); |
POIHighlight:Hide(); |
else |
POIMininote:Hide(); |
POIHighlight:Hide(); |
end |
if MapNotes_Options[currentZone[i].icon] ~= "off" then |
if (MapNotes_Options[10] ~= "off" and currentZone[i].creator == UnitName("player")) or |
(MapNotes_Options[11] ~= "off" and currentZone[i].creator ~= UnitName("player")) then |
POI:SetWidth( MapNotes_Options.iFactor ); |
POIMininote:SetWidth( border ); |
POI:SetHeight( MapNotes_Options.iFactor ); |
POIMininote:SetHeight( border ); |
POI:SetAlpha( MapNotes_Options.aFactor ); |
POILastnote:Hide(); |
POI:Show(); |
end |
else |
POI:Hide(); |
end |
nNotes = nNotes + 1; |
end |
if ( MapNotes_Options[12] ~= "off" ) then |
if ( ( POI ) and ( POI:IsVisible() ) ) then |
-- Custom |
POILastnote:SetWidth( lBorder ); |
POILastnote:SetHeight( lBorder ); |
POILastnote:Show(); |
end |
end |
if ( currentLineZone ) then |
for i, line in ipairs(currentLineZone) do |
MapNotes_DrawLine(i, line.x1, line.y1, line.x2, line.y2); |
nLines = nLines + 1; |
end |
end |
end |
local otherPOI = getglobal("MapNotesPOI"..nNotes); |
while ( otherPOI ) do |
otherPOI:Hide(); |
nNotes = nNotes + 1; |
otherPOI = getglobal("MapNotesPOI"..nNotes); |
end |
local otherLines = getglobal("MapNotesLines_"..nLines); |
while ( otherLines ) do |
otherLines:Hide(); |
nLines = nLines + 1; |
otherLines = getglobal("MapNotesLines_"..nLines); |
end |
if ( currentZone ) then |
-- tloc button |
if ( ( MapNotes_tloc_xPos ) and ( MapNotes_tloc_key == key ) ) then |
MapNotesPOItlocTexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_TLOC_ICON ) ) then |
MapNotesPOItlocTexture:SetTexture(MN_TLOC_ICON); |
end |
if ( not MapNotesPOItlocTexture:GetTexture() ) then |
MapNotesPOItlocTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
end |
if MapNotes_Options[13] ~= "off" and MapNotes_MiniNote_Data.icon == "tloc" then |
MapNotesPOItlocMininote:SetWidth( border ); |
MapNotesPOItlocMininote:SetHeight( border ); |
MapNotesPOItlocMininote:Show(); |
MapNotesPOItlocMininote.key = key; |
MapNotesPOItlocMininote.nid = 0; |
else |
MapNotesPOItlocMininote:Hide(); |
end |
MapNotesPOItloc:SetScale( scalingFactor ); |
xOffset = ( MapNotes_tloc_xPos * width ) / scalingFactor; |
yOffset = ( -MapNotes_tloc_yPos * height ) / scalingFactor; |
MapNotesPOItloc:SetPoint("CENTER", "WorldMapDetailFrame", "TOPLEFT", xOffset, yOffset); |
MapNotesPOItloc:SetWidth( MapNotes_Options.iFactor ); |
MapNotesPOItloc:SetHeight( MapNotes_Options.iFactor ); |
MapNotesPOItloc:SetAlpha( MapNotes_Options.aFactor ); |
MapNotesPOItloc:Show(); |
MapNotesPOItloc.key = key; |
MapNotesPOItloc.nid = 0; |
else |
MapNotesPOItloc:Hide(); |
end |
-- party note |
if ( ( MapNotes_PartyNoteData.xPos ) and ( key == MapNotes_PartyNoteData.key ) ) then |
MapNotesPOIpartyTexture:SetTexture(nil); |
if ( ( MNIL ) and ( MN_PARTY_ICON ) ) then |
MapNotesPOIpartyTexture:SetTexture(MN_PARTY_ICON); |
end |
if ( not MapNotesPOIpartyTexture:GetTexture() ) then |
MapNotesPOIpartyTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
end |
if MapNotes_Options[13] ~= "off" and MapNotes_MiniNote_Data.icon == "party" then |
MapNotesPOIpartyMininote:SetWidth( border ); |
MapNotesPOIpartyMininote:SetHeight( border ); |
MapNotesPOIpartyMininote:Show(); |
MapNotesPOIpartyMininote.key = key; |
MapNotesPOIpartyMininote.nid = -1; |
else |
MapNotesPOIpartyMininote:Hide(); |
end |
MapNotesPOIparty:SetScale( scalingFactor ); |
xOffset = ( MapNotes_PartyNoteData.xPos * width ) / scalingFactor; |
yOffset = ( -MapNotes_PartyNoteData.yPos * height ) / scalingFactor; |
MapNotesPOIparty:SetPoint("CENTER", "WorldMapDetailFrame", "TOPLEFT", xOffset, yOffset); |
MapNotesPOIparty:SetWidth( MapNotes_Options.iFactor ); |
MapNotesPOIparty:SetHeight( MapNotes_Options.iFactor ); |
MapNotesPOIparty:SetAlpha( MapNotes_Options.aFactor ); |
MapNotesPOIparty:Show(); |
MapNotesPOIparty.key = key; |
MapNotesPOIparty.nid = -1; |
else |
MapNotesPOIparty:Hide(); |
end |
else |
MapNotesPOItloc:Hide(); |
MapNotesPOIparty:Hide(); |
end |
for pluginName, Plugin in pairs(MAPNOTES_PLUGINS_LIST) do |
if ( Plugin.wmflag ) then |
local plugInFrame = getglobal( Plugin.frame ); |
if ( ( plugInFrame ) and ( plugInFrame:IsVisible() ) ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
end |
end |
end |
MapNotesFU_Drawing = nil; |
end |
function MapNotes_ToggleWorldMap(frame) |
if ( frame == WorldMapFrame ) then |
if ( not WorldMapFrame:IsVisible() ) then |
SetMapToCurrentZone(); |
end |
MapNotes_HideAll(); |
ColorPickerFrame:Hide(); |
end |
end |
function MapNotes_RememberPosition(n_id) |
local Plugin = this.Plugin; |
local key; |
if ( Plugin ) then |
key = MapNotes_PlugInsGetKey(Plugin); |
else |
key = MapNotes_GetMapKey(); |
end |
this.lastXPos = MapNotes_Data_Notes[key][n_id].xPos; |
this.lastYPos = MapNotes_Data_Notes[key][n_id].yPos; |
end |
function MapNotes_RepositionNote(n_id) |
local pFrame = this:GetParent(); |
local Plugin = this.Plugin; |
if ( MouseIsOver(pFrame) ) then |
local x, y = MapNotes_GetMouseXY(pFrame); |
local key; |
if ( Plugin ) then |
key = MapNotes_PlugInsGetKey(Plugin); |
else |
key = MapNotes_GetMapKey(); |
end |
MapNotes_Data_Notes[key][n_id].xPos = x; |
MapNotes_Data_Notes[key][n_id].yPos = y; |
-- Update Lines using this Note as a Vertex |
local lX = this.lastXPos; |
local lY = this.lastYPos; |
for i, line in ipairs(MapNotes_Data_Lines[key]) do |
if ( ( line.x1 == lX ) and ( line.y1 == lY ) ) then |
line.x1 = x; |
line.y1 = y; |
elseif ( ( line.x2 == lX ) and ( line.y2 == lY ) ) then |
line.x2 = x; |
line.y2 = y; |
end |
end |
end |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
-- MapNotes Global Search |
function MapNotes_Search(fTxt) |
if ( ( fTxt ) and ( fTxt ~= "" ) ) then |
local foundArray = {}; |
fTxt = string.lower(fTxt); |
for key, map in pairs(MapNotes_Data_Notes) do |
for index, note in ipairs(map) do |
local sTxt = string.lower( note.name .. note.inf1 .. note.inf2 .. note.creator ); |
if ( string.find(sTxt, fTxt) ) then |
local name, lName, cat; |
if ( string.sub(key, 1, 3) == "WM " ) then |
name, lName, cat = MapNotes_GetMapDisplayName(key); |
else |
for index, Plugin in pairs(MAPNOTES_PLUGINS_LIST) do |
if ( string.find(key, Plugin.name) ) then |
name, lName, cat = MapNotes_GetMapDisplayName(key, Plugin); |
break; |
end |
end |
end |
if ( not foundArray[cat] ) then |
foundArray[cat] = {}; |
foundArray[cat].counter = 1; |
end |
if ( not foundArray[cat][lName] ) then |
foundArray[cat][lName] = {}; |
foundArray[cat][lName].counter = 1; |
else |
foundArray[cat][lName].counter = foundArray[cat][lName].counter + 1; |
end |
end |
end |
end |
local counter = 0; |
MapNotes_StatusPrint(" "); |
for type, noteTypes in pairs(foundArray) do |
MapNotes_StatusPrint("----------"); |
MapNotes_StatusPrint(type); |
for key, note in pairs(noteTypes) do |
if ( key ~= "counter" ) then |
MapNotes_StatusPrint(key .. " : " .. note.counter .. MAPNOTES_NOTESFOUND); |
counter = counter + 1; |
end |
end |
end |
MapNotes_StatusPrint("----------"); |
MapNotes_StatusPrint(counter.. " " .. ZONE); |
MapNotes_StatusPrint(" "); |
end |
end |
function MapNotes_Highlight(hName) |
if ( ( hName ) and ( hName ~= "" ) ) then |
hName = string.lower(hName); |
MapNotes_HighlightedNote = hName; |
MapNotes_TrackHighlights(hName, true); |
else |
MapNotes_HighlightedNote = ""; |
MapNotes_TrackHighlights(hName); |
end |
MapNotes_PlugInsRefresh(); |
MapNotes_MapUpdate(); |
end |
function MapNotes_TrackHighlights(hName, hlVal) |
MapNotes_ClearTrackHighlights(); |
if ( hlVal ) then |
highlightedNotes = {}; |
for dat, val in pairs(MapNotes_Data_Notes) do |
for note, noteA in pairs(val) do |
local dataName = string.lower(noteA.name); |
if ( dataName == hName ) then |
if ( ( hlVal ) and ( not noteA.mininote ) ) then |
noteA.mininote = "HL"; |
if ( not highlightedNotes[dat] ) then |
highlightedNotes[dat] = {}; |
end |
if ( not highlightedNotes[dat][note] ) then |
highlightedNotes[dat][note] = true; |
end |
end |
end |
end |
end |
end |
end |
function MapNotes_ClearTrackHighlights() |
for dat, val in pairs(MapNotes_Data_Notes) do |
if ( highlightedNotes[dat] ) then |
for note, noteA in pairs(val) do |
if ( highlightedNotes[dat][note] ) then |
noteA.mininote = nil; |
end |
end |
end |
end |
end |
function MapNotes_ResetHighlightsOnLoad() |
for dat, val in pairs(MapNotes_Data_Notes) do |
for note, noteA in pairs(val) do |
if ( ( noteA.mininote ) and ( noteA.mininote == "HL" ) ) then |
noteA.mininote = nil; |
end |
end |
end |
end |
function MapNotes_MiniCToggle() |
if ( MN_MinimapCoordsFrame:IsVisible() ) then |
MN_MinimapCoordsFrame:Hide(); |
MapNotesOptionsCheckboxMiniC:SetChecked(0); |
MapNotes_Options.miniC = false; |
else |
MN_MinimapCoordsFrame:ClearAllPoints(); |
MN_MinimapCoordsFrame:SetUserPlaced(0); |
MN_MinimapCoordsFrame:SetPoint("TOP", "MinimapCluster", "BOTTOM", 8, 16); |
MN_MinimapCoordsFrame:Show(); |
MapNotesOptionsCheckboxMiniC:SetChecked(1); |
MapNotes_Options.miniC = true; |
end |
end |
function MapNotes_MapCToggle() |
if ( MN_MapCoords:IsVisible() ) then |
MapNotes_Options.mapC = nil; |
MapNotesOptionsCheckboxMapC:SetChecked(0); |
MN_SetCoordsPos(); |
else |
MapNotes_Options.mapC = true; |
MapNotesOptionsCheckboxMapC:SetChecked(1); |
MN_SetCoordsPos(); |
end |
end |
function MN_SetCoordsPos() |
local x, y = MapNotes_Options.coordsLocX, MapNotes_Options.coordsLocY; |
MN_MapCoords:ClearAllPoints(); |
MN_MapCoords:SetUserPlaced(0); |
MN_MapCoords:SetParent(WorldMapFrame); |
MN_MapCoords:SetPoint("CENTER", "WorldMapButton", "BOTTOMLEFT", x, y); |
MN_MapCoords:SetFrameLevel( WorldMapButton:GetFrameLevel() + 3); |
MN_MapCoords:Show(); |
if ( not MapNotes_Options.mapC ) then |
MN_MapCoords:Hide(); |
end |
end |
function MN_RememberCoordsPos() |
if ( MN_MapCoords.isMoving ) then |
if ( MouseIsOver(WorldMapFrame) ) then |
MN_MapCoords.startingX, MN_MapCoords.startingY = MN_GetRelativeCoords(MN_MapCoords, WorldMapButton); |
else |
MN_MapCoords.startingX, MN_MapCoords.startingY = MN_DefaultCoordsX, MN_DefaultCoordsY; |
end |
return; |
else |
local x, y; |
if ( MouseIsOver(WorldMapFrame) ) then |
x, y = MN_GetRelativeCoords(MN_MapCoords, WorldMapButton); |
else |
x, y = MN_MapCoords.startingX, MN_MapCoords.startingY; |
end |
MapNotes_Options.coordsLocX, MapNotes_Options.coordsLocY = x, y; |
MN_SetCoordsPos(); |
end |
end |
-- %%% Corrected positioning function ??? |
function MN_GetRelativeCoords(pFrame, rFrame) |
local x, y = pFrame:GetCenter(); |
local centerX, centerY = rFrame:GetCenter(); |
local width = rFrame:GetWidth(); |
local height = rFrame:GetHeight(); |
x = (x - (centerX - (width/2))); |
y = height - (centerY + (height/2) - y ); |
return x, y; |
end |
-- £££1 |
function MN_MinimapCoords_OnUpdate(self) |
local x,y = GetPlayerMapPosition("player"); |
if ( recordingData ) then |
end |
if ( ( x ) and ( y ) ) then |
x = x*100; |
y = y*100; |
MN_MinimapCoordsFrameText:SetText( format(MN_COORD_FS[MN_COORD_F], x, y) ); |
MN_MinimapCoordsFrame:SetWidth(MN_MinimapCoordsFrameText:GetWidth() + 12); |
end |
end |
function MN_MapCoords_OnUpdate(self, elapsed) |
if ( IsControlKeyDown() ) then |
if ( not MN_MapCoordsMovementFrame:IsVisible() ) then |
MN_MapCoordsMovementFrame:Show(); |
end |
else |
if ( MN_MapCoordsMovementFrame:IsVisible() ) then |
if ( MN_MapCoords.isMoving ) then |
MN_MapCoords:StopMovingOrSizing(); |
MN_MapCoords.isMoving = false; |
MN_RememberCoordsPos(); |
end |
MN_MapCoordsMovementFrame:Hide(); |
end |
end |
MN_cUpdate = MN_cUpdate + elapsed; |
if ( MN_cUpdate > MN_cUpdateLimit ) then |
local pLoc, cLoc = "", nil; |
local x,y = GetPlayerMapPosition("player"); |
local cX, cY = nil, nil; |
if ( ( x ) and ( y ) ) then |
x = x*100; |
y = y*100; |
pLoc = "|c0000FF00"..( format(MN_COORD_FS[MN_COORD_F], x, y) ).."|r"; |
end |
if ( MouseIsOver(WorldMapButton) ) then |
local centerX, centerY = WorldMapButton:GetCenter(); |
local width = WorldMapButton:GetWidth(); |
local height = WorldMapButton:GetHeight(); |
cX, cY = GetCursorPosition(); |
cX = cX / WorldMapButton:GetEffectiveScale(); |
cY = cY / WorldMapButton:GetEffectiveScale(); |
local adjustedY = (centerY + height/2 - cY) / height; |
local adjustedX = (cX - (centerX - width/2)) / width; |
cX = 100 * ( adjustedX + MN_MOFFSET_X ); |
cY = 100 * ( adjustedY + MN_MOFFSET_Y ); |
end |
local h = 28; |
if ( ( cX ) and ( cY ) ) then |
cLoc = "\n|c00FFFF00"..( format(MN_COORD_FS[MN_COORD_F], cX, cY) ).."|r"; |
h = 48; |
end |
MN_MapCoordsText:SetText( pLoc .. ( cLoc or "" ) ); |
MN_cUpdate = 0; |
local w = MN_MapCoordsText:GetWidth() + 4; |
self:SetWidth(w); |
self:SetHeight(h); |
end |
end |
function MN_MinimapCoords_OnClick() |
MapNotes:InitialiseDropdown(UIParent, nil, nil, MapNotes.coords_dd_info); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
end |
function MapNotes_TargetNote(inf2) |
local t = UnitName("target"); |
if ( not t ) then |
MapNotes_CreateQuickNote(inf2); |
return; |
end |
if ( not MapNotes_TargetInfo_Proceed ) then |
local x, y = GetPlayerMapPosition("player"); |
if ( ( ( x ) and ( x == 0 ) ) and ( ( y ) and ( y == 0 ) ) ) then |
SetMapToCurrentZone(); |
x, y = GetPlayerMapPosition("player"); |
if ( ( ( x ) and ( x == 0 ) ) and ( ( y ) and ( y == 0 ) ) ) then |
MapNotes_StatusPrint(MAPNOTES_QUICKNOTE_NOPOSITION); |
return; |
end |
end |
local tstIcon = string.sub(inf2, 1, 2); |
if ( ( tstIcon ) and ( type(tstIcon) == "string" ) and ( tstIcon ~= "" ) and ( string.find(tstIcon, "%d%s") ) ) then |
inf2 = string.sub(inf2, 3); |
else |
tstIcon = nil; |
end |
if ( not inf2 ) then |
inf2 = ""; |
end |
GameTooltip:Hide(); |
GameTooltip:SetOwner(UIParent, "ANCHOR_CURSOR"); |
GameTooltip:SetUnit("target"); |
GameTooltip:SetFrameStrata("TOOLTIP"); |
GameTooltip:Show(); |
MapNotes_TargetInfo_Proceed = {}; |
MapNotes_TargetInfo_Proceed.tstIcon = tstIcon; |
MapNotes_TargetInfo_Proceed.inf2 = inf2; |
MapNotes_TargetInfo_Proceed.func = MapNotes_TargetNote; |
else |
MapNotes_TargetInfo_Proceed.name, MapNotes_TargetInfo_Proceed.inf1 = MapNotes_TargetInfo(); |
if ( MapNotes_TargetInfo_Proceed.tstIcon ) then |
MapNotes_TargetInfo_Proceed.name = MapNotes_TargetInfo_Proceed.tstIcon .. string.sub(MapNotes_TargetInfo_Proceed.name, 3); |
end |
MapNotes_CreateQuickNote(MapNotes_TargetInfo_Proceed.name, MapNotes_TargetInfo_Proceed.inf1, MapNotes_TargetInfo_Proceed.inf2); |
MapNotes_TargetInfo_Proceed = nil; |
GameTooltip:Hide(); |
end |
end |
function MapNotes_MergeNote(inf2) |
if ( not MapNotes_TargetInfo_Proceed ) then |
local x, y = GetPlayerMapPosition("player"); |
if ( ( ( x ) and ( x == 0 ) ) and ( ( y ) and ( y == 0 ) ) ) then |
SetMapToCurrentZone(); |
x, y = GetPlayerMapPosition("player"); |
if ( ( ( x ) and ( x == 0 ) ) and ( ( y ) and ( y == 0 ) ) ) then |
MapNotes_StatusPrint(MAPNOTES_QUICKNOTE_NOPOSITION); |
return; |
end |
end |
if ( not UnitExists("target") ) then |
MapNotes_StatusPrint(MAPNOTES_MERGE_WARNING); |
return; |
end |
local tstIcon = string.sub(inf2, 1, 2); |
if ( ( tstIcon ) and ( type(tstIcon) == "string" ) and ( tstIcon ~= "" ) and ( string.find(tstIcon, "%d%s") ) ) then |
inf2 = string.sub(inf2, 3); |
else |
tstIcon = nil; |
end |
if ( not inf2 ) then |
inf2 = ""; |
end |
GameTooltip:Hide(); |
GameTooltip:SetOwner(UIParent, "ANCHOR_CURSOR"); |
GameTooltip:SetUnit("target"); |
GameTooltip:SetFrameStrata("TOOLTIP"); |
GameTooltip:Show(); |
MapNotes_TargetInfo_Proceed = {}; |
MapNotes_TargetInfo_Proceed.tstIcon = tstIcon; |
MapNotes_TargetInfo_Proceed.inf2 = inf2; |
MapNotes_TargetInfo_Proceed.func = MapNotes_MergeNote; |
else |
MapNotes_TargetInfo_Proceed.name, MapNotes_TargetInfo_Proceed.inf1 = MapNotes_TargetInfo(); |
if ( MapNotes_TargetInfo_Proceed.tstIcon ) then |
MapNotes_TargetInfo_Proceed.name = MapNotes_TargetInfo_Proceed.tstIcon .. string.sub(MapNotes_TargetInfo_Proceed.name, 3); |
end |
MapNotes_CreateQuickNote(MapNotes_TargetInfo_Proceed.name, MapNotes_TargetInfo_Proceed.inf1, MapNotes_TargetInfo_Proceed.inf2, "true"); |
MapNotes_TargetInfo_Proceed = nil; |
GameTooltip:Hide(); |
end |
end |
function MapNotes_TargetInfo() |
local icon = 8; |
local text = UnitName("target"); |
local text2 = ""; |
if ( ( text ) and ( text ~= "" ) ) then |
local unitReact = UnitReaction("player", "target"); |
if ( unitReact ) then |
if (unitReact < 4) then |
-- hostile, get level, classification, type, and class |
text2 = text2.." "..MN_LEVEL.." "..UnitLevel("target"); |
icon = 6; |
if (UnitClassification("target") ~= "normal") then |
text2 = text2.." "..UnitClassification("target"); |
end |
text2 = text2.." "..UnitCreatureType("target").." "..UnitClass("target"); |
elseif (unitReact == 4) then |
-- neutral, assume critter, use yellow icon |
icon = 5; |
else |
-- add profession |
local profession = GameTooltipTextLeft2:GetText(); |
-- set profession to nil if it's the target's level or empty |
if ( ( profession ) and ( ( string.find(profession, MN_LEVEL) ) or ( profession == "" ) ) ) then |
profession = nil; |
end |
if ( profession ) then |
text2 = text2.." <"..profession..">"; |
end |
end |
end |
text = icon.." "..text; |
else |
text = ""; |
end |
return text, text2; |
end |
function MapNotes_Merge(key, n_id, name, inf1, inf2) |
name = string.sub(name, 3); |
if ( ( name ) and ( name ~= "" ) ) then |
local tstIcon = string.sub(name, 1, 2); |
if ( string.find(tstIcon, "%d%s") ) then |
name = string.sub(name, 3); |
end |
if ( not inf1 ) then |
inf1 = ""; |
end |
if ( not inf2 ) then |
inf2 = ""; |
end |
if ( string.find( MapNotes_Data_Notes[key][n_id].name, UnitName("target") ) ) then |
MapNotes_StatusPrint( MAPNOTES_MERGE_DUP..UnitName("target") ); |
else |
MapNotes_Data_Notes[key][n_id].name = MapNotes_Data_Notes[key][n_id].name .." \124\124 ".. name; -- " | " |
MapNotes_Data_Notes[key][n_id].inf1 = MapNotes_Data_Notes[key][n_id].inf1 .." \124\124 ".. inf1; -- " | " |
MapNotes_Data_Notes[key][n_id].inf2 = MapNotes_Data_Notes[key][n_id].inf2 .." \124\124 ".. inf2; -- " | " |
MapNotes_StatusPrint( MAPNOTES_MERGED..UnitName("target") ); |
end |
end |
end |
function MapNotes_CreateLandMarks() |
if ( WorldMapFrame:IsVisible() ) then |
ToggleWorldMap(); |
end |
local continentNames = { GetMapContinents() }; |
for i in ipairs(continentNames) do |
local zoneNames = { GetMapZones(i) }; |
for j in ipairs(zoneNames) do |
SetMapZoom(i, j); |
MapNotes_IterateLandMarks(true); |
end |
end |
end |
function MapNotes_IterateLandMarks(report) |
local nCreated, nMerged, nSkipped = 0, 0, 0; |
local map = GetMapInfo(); |
if ( ( not map ) or ( ( map ) and ( GetCurrentMapZone() == 0 ) ) ) then |
return; |
end |
for k=1, GetNumMapLandmarks(), 1 do |
name, desc, textureIndex, x, y = GetMapLandmarkInfo(k); |
local created = MapNotes_CreateLandMarkNote(name, desc, textureIndex, x, y); |
if ( created == "Created" ) then |
nCreated = nCreated + 1; |
elseif ( created == "Merged" ) then |
nMerged = nMerged + 1; |
else |
nSkipped = nSkipped + 1; |
end |
end |
local tot = nCreated + nMerged; |
if ( ( report ) or ( tot > 0 ) ) then |
local key = MapNotes_GetMapKey(); |
MapNotes_StatusPrint( tot.." "..MAPNOTES_LANDMARKS_NOTIFY..(MapNotes_GetMapDisplayName(key)) ); |
end |
MapNotes_MapUpdate(); |
return; |
end |
function MapNotes_CreateLandMarkNote(name, desc, textureIndex, x, y) |
local key = MapNotes_GetMapKey(); |
local currentZone = MapNotes_Data_Notes[key]; |
local checknote = MapNotes_CheckNearNotes(key, x, y); |
if ( not desc ) then |
desc = ""; |
end |
if ( checknote ) then |
if ( ( currentZone[checknote].name == name ) or ( string.find( currentZone[checknote].name, name ) ) ) then |
return "Duplicate"; |
else |
currentZone[checknote].name = currentZone[checknote].name .." \124\124 ".. name; -- " | " |
currentZone[checknote].inf1 = currentZone[checknote].inf1 .." \124\124 ".. desc; -- " | " |
return "Merged"; |
end |
else |
MapNotes_TempData_Id = MapNotes_GetZoneTableSize(currentZone) + 1; |
currentZone[MapNotes_TempData_Id] = {}; |
currentZone[MapNotes_TempData_Id].name = name; |
currentZone[MapNotes_TempData_Id].ncol = 7; |
currentZone[MapNotes_TempData_Id].inf1 = ""; |
currentZone[MapNotes_TempData_Id].in1c = 6; |
currentZone[MapNotes_TempData_Id].inf2 = ""; |
currentZone[MapNotes_TempData_Id].in2c = 0; |
currentZone[MapNotes_TempData_Id].creator = "MapNotesLandMark"; |
currentZone[MapNotes_TempData_Id].icon = 7; |
currentZone[MapNotes_TempData_Id].xPos = x; |
currentZone[MapNotes_TempData_Id].yPos = y; |
return "Created"; |
end |
return nil; |
end |
function MapNotes_DeleteLandMarks() |
local key = MapNotes_GetMapKey(); |
local currentZone = MapNotes_Data_Notes[key]; |
for i=MapNotes_GetZoneTableSize(currentZone), 1, -1 do |
if ( currentZone[i].creator == "MapNotesLandMark" ) then |
MapNotes_DeleteNote(i, key, nil); |
end |
end |
MapNotes_MapUpdate(); |
end |
function MapNotes_WFC(thisParms) |
MapNotes_StatusPrint(MAPNOTES_MINIMAP_COORDS); |
MapNotes_StatusPrint(MAPNOTES_WFC_WARN); |
MapNotes_MiniCToggle(); |
end |
function MapNotes_ClearIcons() |
for area, areaNotes in pairs(MapNotes_Data_Notes) do |
for note, noteData in pairs(areaNotes) do |
noteData.customIcon = nil; |
end |
end |
end |
local totallyMini = nil; |
function MapNotes_TotallyMini() |
if ( totallyMini ) then |
totallyMini = nil; |
else |
totallyMini = true; |
end |
for area, areaNotes in pairs(MapNotes_Data_Notes) do |
for note, noteData in pairs(areaNotes) do |
noteData.mininote = totallyMini; |
end |
end |
end |
function MapNotes_ImportDataSet(extData) |
local areas, notes, clashes = 0, 0, 0; |
MapNotes_StatusPrint(MN_STARTED_IMPORTING .. "..."); |
if ( type(extData) == "table" ) then |
for extKey, extNotes in pairs(extData) do |
if ( type(extNotes) == "table" ) then |
if ( not MapNotes_Data_Notes[extKey] ) then |
extKey = "WM " .. extKey; |
end |
if ( MapNotes_Data_Notes[extKey] ) then |
local nextNote = MapNotes_GetZoneTableSize( MapNotes_Data_Notes[extKey] ); |
areas = areas + 1; |
for extNote, extDetails in pairs(extNotes) do |
local checkNearNote = MapNotes_CheckNearNotes(extKey, extDetails.xPos, extDetails.yPos); |
if ( checkNearNote ) then |
clashes = clashes + 1; |
else |
notes = notes + 1; |
nextNote = nextNote + 1; |
MapNotes_Data_Notes[extKey][nextNote] = extDetails; |
end |
end |
else |
MapNotes_StatusPrint(MN_INVALID_KEY .. extKey); |
end |
end |
end |
end |
MapNotes_StatusPrint("..." .. MN_FINISHED_IMPORTING); |
MapNotes_StatusPrint( format(MN_AREANOTES, areas, notes) ); |
MapNotes_StatusPrint(clashes .. " " .. MN_DUPS_IGNORED); |
end |
function MN_InitialiseTextColours(setTextures) |
local textT, inf1T, inf2T; |
local colours = {}; |
for i = 0, 9, 1 do |
textT = getglobal("MN_TextColor"..i.."Texture"); |
inf1T = getglobal("MN_Info1Color"..i.."Texture"); |
inf2T = getglobal("MN_Info2Color"..i.."Texture"); |
if ( setTextures ) then |
textT:SetTexture("Interface\\AddOns\\MapNotes\\POIIcons\\TextColourTemplate"); |
inf1T:SetTexture("Interface\\AddOns\\MapNotes\\POIIcons\\TextColourTemplate"); |
inf2T:SetTexture("Interface\\AddOns\\MapNotes\\POIIcons\\TextColourTemplate"); |
end |
colours = MapNotes_Colors[i]; |
if ( MapNotes_Options.colourT[1][i] ) then |
colours = MapNotes_Options.colourT[1][i]; |
end |
textT:SetVertexColor(colours.r, colours.g, colours.b); |
colours = MapNotes_Colors[i]; |
if ( MapNotes_Options.colourT[2][i] ) then |
colours = MapNotes_Options.colourT[2][i]; |
end |
inf1T:SetVertexColor(colours.r, colours.g, colours.b); |
colours = MapNotes_Colors[i]; |
if ( MapNotes_Options.colourT[3][i] ) then |
colours = MapNotes_Options.colourT[3][i]; |
end |
inf2T:SetVertexColor(colours.r, colours.g, colours.b); |
end |
end |
function MN_SetUpColourPicker(row, id) |
local col; |
ColorPickerFrame.row = row; |
ColorPickerFrame.bttnId = id; |
ColorPickerFrame.hasOpacity = false; |
ColorPickerFrame.func = MN_AcceptColour; |
ColorPickerFrame.cancelFunc = MN_CancelColourPicker; |
if ( MapNotes_Options.colourT[row][id] ) then |
col = MapNotes_Options.colourT[row][id]; |
else |
col = MapNotes_Colors[id]; |
end |
ColorPickerFrame.previousValues = {col.r, col.g, col.b}; |
ColorPickerFrame:SetFrameStrata("FULLSCREEN_DIALOG"); |
ColorPickerFrame.opacity = 1.0; |
ColorPickerFrame:SetColorRGB(col.r, col.g, col.b); |
ColorPickerFrame:Show(); |
end |
function MN_AcceptColour() |
local r, g, b = ColorPickerFrame:GetColorRGB(); |
MN_UpdateButtonColour(ColorPickerFrame.row, ColorPickerFrame.bttnId, r, g, b); |
end |
function MN_CancelColourPicker(cols) |
MN_UpdateButtonColour(ColorPickerFrame.row, ColorPickerFrame.bttnId, cols[1], cols[2], cols[3]); |
ColorPickerFrame.row = nil; |
ColorPickerFrame.bttnId = nil; |
end |
function MN_UpdateButtonColour(row, id, r, g, b) |
MapNotes_Options.colourT[row] = {}; |
MapNotes_Options.colourT[row][id] = {}; |
MapNotes_Options.colourT[row][id].r = r; |
MapNotes_Options.colourT[row][id].g = g; |
MapNotes_Options.colourT[row][id].b = b; |
if ( row == 1 ) then |
getglobal("MN_TextColor"..id.."Texture"):SetVertexColor(r, g, b); |
elseif ( row == 2 ) then |
getglobal("MN_Info1Color"..id.."Texture"):SetVertexColor(r, g, b); |
elseif ( row == 3 ) then |
getglobal("MN_Info2Color"..id.."Texture"):SetVertexColor(r, g, b); |
end |
end |
local function EventProcessing(self, event, ...) |
if ( event == "MINIMAP_UPDATE_ZOOM" ) then |
MapNotes_MinimapUpdateZoom(); |
elseif ( event == "VARIABLES_LOADED" ) then |
MapNotes_VariablesLoaded(); |
MapNotes_Started = true; |
elseif ( event == "WORLD_MAP_UPDATE" ) then |
if ( ( MapNotes_Options.landMarks ) and ( MapNotes_Started ) ) then |
MapNotes_IterateLandMarks(false); |
end |
MapNotes_MapUpdate(); |
elseif ( event == "CHAT_MSG_ADDON" ) then |
local arg1, arg2, arg3, arg4 = ...; |
if ( arg1 == "MapNotes_FU" ) then |
MapNotes_GetNoteFromChat(arg2, arg4); |
end |
end |
end |
local angleInc = 0.25; |
-- %%% Fancy Mininote highlighting on the map... instead of the static blue circle background - a circling highlight would be good... |
function MN_NoteUpdate(self, elapsed) |
local miniNote = getglobal(self:GetName() .. "Mininote"); |
if ( miniNote:IsVisible() ) then |
self.timer = self.timer + elapsed; |
if ( self.timer > 0.05 ) then |
self.hAngle = self.hAngle - angleInc; |
self.s = sin(self.hAngle); |
self.c = cos(self.hAngle); |
miniNote:SetTexCoord( 0.5-self.s, 0.5+self.c, |
0.5+self.c, 0.5+self.s, |
0.5-self.c, 0.5-self.s, |
0.5+self.s, 0.5-self.c); |
self.timer = 0; |
end |
end |
end |
function MN_NoteOnEnter(note) |
local key, id = note.key, note.nid; |
local Plugin = MapNotes.pluginKeys[key]; |
local loc, lLoc = MapNotes_GetMapDisplayName(key, Plugin); |
local tt = GameTooltip; |
local pFrame = note:GetParent(); |
if ( pFrame == WorldMapButton ) then |
tt = WorldMapTooltip; |
end |
local x, y = note:GetCenter(); |
local x2, y2 = pFrame:GetCenter(); |
local anchor = ""; |
if x > x2 then |
anchor = "ANCHOR_LEFT"; |
else |
anchor = "ANCHOR_RIGHT"; |
end |
tt:SetOwner(note, anchor); |
if ( id == 0 ) then |
if ( MapNotes_tloc_name ) then |
tt:AddLine( MapNotes_tloc_name ); |
else |
tt:AddLine(MAPNOTES_THOTTBOTLOC); |
end |
if ( lLoc ) then |
tt:AddLine(lLoc, 1, 1, 1); |
end |
local x, y = MapNotes_tloc_xPos * 100, MapNotes_tloc_yPos * 100; |
local xy = string.format(MN_COORD_FS[MN_COORD_F], x, y); |
tt:AddLine(xy, 0, 1, 0); |
MN_TestTexture:SetTexture( MN_TLOC_ICON ); |
local t = MN_TestTexture:GetTexture(); |
if ( not t ) then |
t = MN_POI_ICONS_PATH.."\\Icontloc"; |
end |
tt:AddTexture( t ); |
tt:Show(); |
elseif ( id == -1 ) then |
tt:AddLine(MAPNOTES_PARTYNOTE); |
if ( lLoc ) then |
tt:AddLine(lLoc, 1, 1, 1); |
end |
local x, y = MapNotes_PartyNoteData.xPos * 100, MapNotes_PartyNoteData.yPos * 100; |
local xy = string.format(MN_COORD_FS[MN_COORD_F], x, y); |
tt:AddLine(xy, 0, 1, 0); |
MN_TestTexture:SetTexture( MN_PARTY_ICON ); |
local t = MN_TestTexture:GetTexture(); |
if ( not t ) then |
t = MN_POI_ICONS_PATH.."\\Iconparty"; |
end |
tt:AddTexture( t ); |
tt:Show(); |
else |
local noteDetails = MapNotes_Data_Notes[key][id]; |
local cRef = noteDetails.ncol; |
local colours = MapNotes_Colors[cRef]; |
if ( MapNotes_Options.colourT[1][cRef] ) then |
colours = MapNotes_Options.colourT[1][cRef]; |
end |
tt:AddLine(noteDetails.name, colours.r, colours.g, colours.b); |
if ( ( noteDetails.inf1 ~= nil ) and ( noteDetails.inf1 ~= "" ) ) then |
cRef = noteDetails.in1c; |
colours = MapNotes_Colors[cRef]; |
if ( MapNotes_Options.colourT[2][cRef] ) then |
colours = MapNotes_Options.colourT[2][cRef]; |
end |
tt:AddLine(noteDetails.inf1, colours.r, colours.g, colours.b); |
end |
if ( ( noteDetails.inf2 ~= nil ) and ( noteDetails.inf2 ~= "" ) ) then |
cRef = noteDetails.in2c; |
colours = MapNotes_Colors[cRef]; |
if ( MapNotes_Options.colourT[3][cRef] ) then |
colours = MapNotes_Options.colourT[3][cRef]; |
end |
tt:AddLine(noteDetails.inf2, colours.r, colours.g, colours.b); |
end |
if ( ( noteDetails.creator ) and ( noteDetails.creator ~= "" ) ) then |
tt:AddDoubleLine(MAPNOTES_CREATEDBY, noteDetails.creator, 0.79, 0.69, 0.0, 0.79, 0.69, 0.0) |
end |
if ( lLoc ) then |
tt:AddLine(lLoc, 1, 1, 1); |
end |
local x, y = noteDetails.xPos * 100, noteDetails.yPos * 100; |
local xy = string.format(MN_COORD_FS[MN_COORD_F], x, y); |
tt:AddLine(xy, 0, 1, 0); |
local t = noteDetails.customIcon; |
MN_TestTexture:SetTexture(nil); |
if ( ( MNIL ) and ( t ) ) then |
MN_TestTexture:SetTexture( t ); |
end |
if ( not MN_TestTexture:GetTexture() ) then |
t = MN_POI_ICONS_PATH.."\\Icon"..noteDetails.icon; |
end |
tt:AddTexture( t ); |
tt:SetFrameStrata("TOOLTIP"); |
tt:SetFrameLevel( note:GetFrameLevel() + 2 ); |
tt:Show(); |
end |
end |
-- Dynamic frame creation |
do |
local frame = CreateFrame("Button", "MapNotes_WorldMapButton", WorldMapButton); |
frame:SetAllPoints(WorldMapButton); |
frame:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
frame:SetScript("OnShow", function() |
local index = 1; |
local note = getglobal( "MapNotesPOI" .. index ); |
local targetLevel = MapNotes_WorldMapButton:GetFrameLevel() + 1; |
while ( note ) do |
-- Should probably break out of here early if not Visible... -- 29/07/2007 |
note:SetFrameLevel( targetLevel ); |
index = index + 1; |
note = getglobal( "MapNotesPOI" .. index ); |
end |
MapNotesPOItloc:SetFrameLevel( targetLevel ); -- 29/07/2007 |
MapNotesPOIparty:SetFrameLevel( targetLevel ); -- 29/07/2007 |
end); |
frame:SetScript("OnClick", function() |
MapNotes_WorldMapButton_OnClick(WorldMapButton, arg1); |
end); |
frame:Hide(); |
frame = CreateFrame("Frame"); |
frame:CreateTexture("MN_TestTexture", "BACKGROUND"); |
frame:RegisterEvent("VARIABLES_LOADED"); |
frame:RegisterEvent("MINIMAP_UPDATE_ZOOM"); |
frame:RegisterEvent("WORLD_MAP_UPDATE"); |
frame:RegisterEvent("CHAT_MSG_ADDON"); |
frame:RegisterEvent("ADDON_LOADED"); |
frame:SetScript("OnEvent", EventProcessing); |
frame:SetScript("OnUpdate", MapNotes_MiniNote_OnUpdate); |
frame = CreateFrame("Frame", nil, WorldMapFrame); |
frame:SetScript("OnUpdate", MapNotes_WorldMap_OnUpdate); |
frame:SetScript("OnShow", function() |
this.oTimer = 0; |
end); |
CreateFrame("Frame", "MapNotesLinesFrame", WorldMapDetailFrame); |
end |
-- Version : Chinese (by onlyfly) |
-- Update : 2007/12/25 |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
-- English is the default localization for MapNotes |
if GetLocale() == "zhCN" then |
-- General |
MAPNOTES_NAME = "MapNotes"; |
MAPNOTES_ADDON_DESCRIPTION = "å¨ä¸çå°å¾ä¸å¢å æ è®°åè½."; |
MAPNOTES_DOWNLOAD_SITES = "æ¥çREADMEæ件äºè§£ä¸è½½ç½ç«ä¿¡æ¯."; |
-- Interface Configuration |
MAPNOTES_WORLDMAP_HELP_1 = "å°å¾ä¸å³é®åå»ç¼©å°å°å¾"; |
MAPNOTES_WORLDMAP_HELP_2 = "å°å¾ä¸å·¦é®åå»æ¾å¤§å°å¾"; |
MAPNOTES_WORLDMAP_HELP_3 = "å¨å°å¾ä¸ä½¿ç¨ãControl +å³é®ã以å¼å¯ "..MAPNOTES_NAME.." èå"; |
MAPNOTES_CLICK_ON_SECOND_NOTE = "|cFFFF0000"..MAPNOTES_NAME..":|r éæ©ç¬¬äºä¸ªæ 记以å建/æ¸ é¤ä¸æ¡çº¿"; |
MAPNOTES_NEW_MENU = MAPNOTES_NAME; |
MAPNOTES_NEW_NOTE = "å建æ è®°"; |
MAPNOTES_MININOTE_OFF = "å ³éå°å°å¾æ è®°"; |
MAPNOTES_OPTIONS = "é项"; |
MAPNOTES_CANCEL = "åæ¶"; |
MAPNOTES_POI_MENU = MAPNOTES_NAME; |
MAPNOTES_EDIT_NOTE = "ç¼è¾æ è®°"; |
MAPNOTES_MININOTE_ON = "设置为å°å°å¾æ è®°"; |
MAPNOTES_SPECIAL_ACTIONS = "ç¹æ®æä½"; |
MAPNOTES_SEND_NOTE = "åéæ è®°"; |
MAPNOTES_SPECIALACTION_MENU = "ç¹æ®æä½"; |
MAPNOTES_TOGGLELINE = "å建/æ¸ é¤çº¿æ¡"; |
MAPNOTES_DELETE_NOTE = "å é¤æ è®°"; |
MAPNOTES_EDIT_MENU = "ç¼è¾æ è®°"; |
MAPNOTES_SAVE_NOTE = "ä¿å"; |
MAPNOTES_EDIT_TITLE = "æ é¢(å¿ å¡«):"; |
MAPNOTES_EDIT_INFO1 = "注é1 (å¯é):"; |
MAPNOTES_EDIT_INFO2 = "注é2 (å¯é):"; |
MAPNOTES_EDIT_CREATOR = "å建è (å¯é):"; |
MAPNOTES_SEND_MENU = "åéæ è®°"; |
MAPNOTES_SLASHCOMMAND = "æ¹å模å¼"; |
MAPNOTES_SEND_TITLE = "åéæ è®°:"; |
MAPNOTES_SEND_TIP = "è¿äºæ è®°å¯ä»¥è¢«å ¶ä»å°å¾æ 记使ç¨è æ¥æ¶\n('åéç»éå'åè½å¿ é¡»é åMapNotes(Fan's Update)æå¯ä½¿ç¨)"; |
MAPNOTES_SEND_PLAYER = "è¾å ¥ç©å®¶å:"; |
MAPNOTES_SENDTOPLAYER = "åéç»ç©å®¶"; |
MAPNOTES_SENDTOPARTY = "åéç»éå"; |
MAPNOTES_SENDTOPARTY_TIP = "å·¦é®åå» - å°é\nå³é®åå» - å¢é"; |
MAPNOTES_SHOWSEND = "æ¹å模å¼"; |
MAPNOTES_SEND_SLASHTITLE = "å¾å°æ线å½ä»¤:"; |
MAPNOTES_SEND_SLASHTIP = "éä¸è¿äºå¹¶ä½¿ç¨CTRL+C å¤å¶å°åªåæ¿\n(ä¹åå¯ä»¥å°å®è¿è¡ä¸ä¼ 论åçå¤ç)"; |
MAPNOTES_SEND_SLASHCOMMAND = "/Command:"; |
MAPNOTES_OPTIONS_MENU = "é项"; |
MAPNOTES_SAVE_OPTIONS = "ä¿å"; |
MAPNOTES_OWNNOTES = "æ¾ç¤ºèªå·±å建çæ è®°"; |
MAPNOTES_OTHERNOTES = "æ¾ç¤ºæ¶å°çæ è®°"; |
MAPNOTES_HIGHLIGHT_LASTCREATED = "é«äº®æ示æåå建çæ 记为|cFFFF0000红è²|r"; |
MAPNOTES_HIGHLIGHT_MININOTE = "é«äº®æ示æåéæ©ä¸ºå°å°å¾æ è®°çæ 记为|cFF6666FFèè²|r"; |
MAPNOTES_ACCEPTINCOMING = "æ¥åå ¶ä»ç©å®¶ä¼ å ¥çæ è®°"; |
MAPNOTES_INCOMING_CAP = "å¦æå¯æ¥æ¶æ è®°å°äº5个åææ¶æ è®°"; |
MAPNOTES_AUTOPARTYASMININOTE = "èªå¨å°å¢éæ 记设为å°å°å¾æ è®°."; |
MAPNOTES_CREATEDBY = "å建人ï¼"; |
MAPNOTES_CHAT_COMMAND_ENABLE_INFO = "è¿ä¸ªå½ä»¤å è®¸ä½ æå ¥ä»å ¶ä»å°æ¹å¾å°çæ è®°(å¦ç½é¡µ)."; |
MAPNOTES_CHAT_COMMAND_ONENOTE_INFO = "忽ç¥é项设置,ä½¿ä½ å¯ä»¥æ¥æ¶ä¸ä¸ä¸ªä¼ å ¥çæ è®°."; |
MAPNOTES_CHAT_COMMAND_MININOTE_INFO = "å°ä¸ä¸ä¸ªä¼ å ¥çæ è®°ç´æ¥è®¾ç½®ä¸ºå°å°å¾æ è®°(åæ¶å¨å°å¾ä¸æå ¥æ è®°):"; |
MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO = "å°ä¸ä¸ä¸ªä¼ å ¥çæ è®°ä» è®¾ç½®ä¸ºå°å°å¾æ è®°(ä¸å¨å°å¾ä¸æå ¥æ è®°)."; |
MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO = "å ³éå°å°å¾æ è®°."; |
MAPNOTES_CHAT_COMMAND_MNTLOC_INFO = "å¨å°å¾ä¸å建tlocæ è®°."; |
MAPNOTES_CHAT_COMMAND_QUICKNOTE = "å¨å°å¾ä¸å建å½åä½ç½®çæ è®°."; |
MAPNOTES_CHAT_COMMAND_QUICKTLOC = "å¨å½ååºåå°å¾ä¸å建ä¸ä¸ªtlocå¶å®ä½ç½®çæ è®°."; |
MAPNOTES_CHAT_COMMAND_SEARCH = "æ¥æ¾å å« [æå] çæ è®°"; |
MAPNOTES_CHAT_COMMAND_HIGHLIGHT = "é«äº®æ¾ç¤ºå ·æ [æ é¢] çæ è®°"; |
MAPNOTES_CHAT_COMMAND_IMPORT_METAMAP = "å¯¼å ¥ MetaMap çæ è®°ãè¿ä¸ªåè½å¯ä»¥ä½¿ä½ è½¬ç§»å° MapNotesã\nMetaMap å¿ é¡»å®è£ 并å¯ç¨æå¯ä½¿ç¨è¯¥å½ä»¤ã ç¶åå°±å¯ä»¥ç§»é¤ MetaMap äº.\nè¦å : è¿ä¸ªåè½ä» 为MapNotesæ°ç¨æ·è®¾è®¡ãå¦åå¯è½è¦çä½ åæçæ è®°."; --Telic_4 |
MAPNOTES_CHAT_COMMAND_IMPORT_ALPHAMAP = "å¯¼å ¥ AlphaMap çå¯æ¬æ è®° : éè¦ AlphaMap å·²å®è£ 并å¯ç¨."; --Telic_4 |
MAPNOTES_CHAT_COMMAND_SCALE = "æ¹åçªå£å¤§å°"; |
MAPNOTES_CHAT_COMMAND_ISCALE = "æ¹åæ è®°å¾æ 大å°"; |
MAPNOTES_CHAT_COMMAND_ASCALE = "æ¹åæ è®°å¾æ éæ度"; |
MAPNOTES_CHAT_COMMAND_UNDELETE = "è¿åæåå é¤çæ è®°"; |
MAPNOTES_MAPNOTEHELP = "è¿ä¸ªå½ä»¤åªè½ç¨æ¥å建æ è®°"; |
MAPNOTES_ONENOTE_OFF = "å 许ä¸ä¸ªæ è®°ä¼ å ¥: å ³"; |
MAPNOTES_ONENOTE_ON = "å 许ä¸ä¸ªæ è®°ä¼ å ¥: å¼"; |
MAPNOTES_MININOTE_SHOW_0 = "ä¸ä¸ä¸ªä¼ å ¥æ è®°å为å°å°å¾æ è®°: å ³"; |
MAPNOTES_MININOTE_SHOW_1 = "ä¸ä¸ä¸ªä¼ å ¥æ è®°å为å°å°å¾æ è®°: å¼"; |
MAPNOTES_MININOTE_SHOW_2 = "ä¸ä¸ä¸ªä¼ å ¥æ è®°å为å°å°å¾æ è®°: ä» å°å°å¾æ è®°"; |
MAPNOTES_DECLINE_SLASH = "æ æ³å¢å ï¼å¤ªå¤æ è®°å¨|cFFFFD100%s|r."; |
MAPNOTES_DECLINE_SLASH_NEAR = "æ æ³å¢å ,è¿ä¸ªæ 记太æ¥è¿|cFFFFD100%q|rå¨|cFFFFD100%s|r."; |
MAPNOTES_DECLINE_GET = "æ æ³æ¥æ¶|cFFFFD100%s|rä¼ å ¥çæ è®°:太å¤æ è®°å¨|cFFFFD100%s|r,æ设置ä¸ç¦æ¢æ¥æ¶è¯¥æ è®°."; |
MAPNOTES_ACCEPT_SLASH = "æ è®°å¢å å°äº|cFFFFD100%s|rçå°å¾ä¸."; |
MAPNOTES_ACCEPT_GET = "ä½ æ¥æ¶å°ä¸ä¸ªä»|cFFFFD100%s|råæ¥çæ è®°å¨|cFFFFD100%s|r."; |
MAPNOTES_PARTY_GET = "|cFFFFD100%s|rå¨|cFFFFD100%s|r设置äºä¸ä¸ªæ°çå¢éæ è®°."; |
MAPNOTES_DECLINE_NOTETONEAR = "|cFFFFD100%s|rè¯å¾ç»ä½ åéä¸ä¸ªå¨|cFFFFD100%s|rçæ è®°,ä½æ¯å®å¤ªæ¥è¿|cFFFFD100%q|räº."; |
MAPNOTES_QUICKNOTE_NOTETONEAR = "æ æ³å建æ è®°.ä½ å¤ªæ¥è¿|cFFFFD100%s|räº."; |
MAPNOTES_QUICKNOTE_NOPOSITION = "æ æ³å建æ è®°:æ æ³å¾å°å½åä½ç½®."; |
MAPNOTES_QUICKNOTE_DEFAULTNAME = "å¿«éæ è®°"; |
MAPNOTES_QUICKNOTE_OK = "å¨å°å¾|cFFFFD100%s|rä¸å建æ è®°."; |
MAPNOTES_QUICKNOTE_TOOMANY = "å·²ç»æ太å¤æ è®°å¨|cFFFFD100%s|rçå°å¾ä¸äº."; |
MAPNOTES_DELETED_BY_NAME = "å·²å é¤ææç±%s以å%sæå建çå°å¾æ è®°."; |
MAPNOTES_DELETED_BY_CREATOR = "å·²å é¤ææç±%sæ建ç«çå°å¾æ è®°."; |
MAPNOTES_QUICKTLOC_NOTETONEAR = "æ æ³å建æ è®°.ä½ç½®å¤ªæ¥è¿æ è®°|cFFFFD100%s|räº."; |
MAPNOTES_QUICKTLOC_NOZONE = "æ æ³å建æ è®°:æ æ³å¾å°å½ååºå."; |
MAPNOTES_QUICKTLOC_NOARGUMENT = "ç¨æ³: '/quicktloc xx,yy [icon] [title]'."; |
MAPNOTES_SETMININOTE = "å°æ 记设置为æ°çå°å°å¾æ è®°"; |
MAPNOTES_THOTTBOTLOC = "Thottbotåæ "; |
MAPNOTES_PARTYNOTE = "å¢éæ è®°"; |
MAPNOTES_WFC_WARN = "ä½¿ç¨ |c0000FF00'/mn -tloc xx,yy'|r æ |c0000FF00'/mntloc xx,yy'|r æ¥ æ¾ç¤ºå°å¾ä¸çä½ç½®."; |
MAPNOTES_CONVERSION_COMPLETE = MAPNOTES_VERSION.." - 转æ¢å®æ¯,请å¿éå¤æ§è¡è¿ä¸ªæ令."; -- ?? |
MAPNOTES_TRUNCATION_WARNING = "The Note Text being Sent had to be truncated"; -- ?? |
MAPNOTES_IMPORT_REPORT = " æ è®°å·²å¯¼å ¥"; -- ?? |
MAPNOTES_NOTESFOUND = " æ¾å°æ è®°"; -- ?? |
-- Drop Down Menu |
MAPNOTES_SHOWNOTES = "æ¾ç¤ºæ è®°"; |
MAPNOTES_DROPDOWNTITLE = MAPNOTES_NAME; |
MAPNOTES_DROPDOWNMENUTEXT = "å¿«æ·é项"; |
MAPNOTES_WARSONGGULCH = "ææ峡谷"; |
MAPNOTES_ALTERACVALLEY = "奥ç¹å °å 山谷"; |
MAPNOTES_ARATHIBASIN = "é¿æå¸çå°"; |
MAPNOTES_NETHERSTORM = "é£æ´ä¹ç¼"; |
MAPNOTES_COSMIC = "Cosmic"; |
-- Coordinates |
MAPNOTES_MAP_COORDS = "å°å¾åæ "; |
MAPNOTES_MINIMAP_COORDS = "å°å°å¾åæ "; |
MAPNOTES_COORDINATE_FORMATTING_ERROR1 = "MapNotes æ æ³å¤çä¼ å ¥çåæ "; |
MAPNOTES_COORDINATE_FORMATTING_ERROR2 = "æç®åçæ ¼å¼ : x,y ä¾å¦ 55,9"; |
MAPNOTES_COORDINATE_FORMATTING_ERROR3 = "æ¥ç Readme.txt äºè§£å ¶ä»æ ¼å¼é项"; |
-- MapNotes Target & Merging |
MAPNOTES_MERGED = "MapNote å并为 : "; |
MAPNOTES_MERGE_DUP = "MapNote å·²åå¨ : "; |
MAPNOTES_MERGE_WARNING = "ä½ å¿ é¡»æç®æ æè½å并æ è®°."; |
BINDING_HEADER_MAPNOTES = "å°å¾æ è®°"; |
BINDING_NAME_MN_TARGET_NEW = "å¿«éæ è®°/ç®æ æ è®°"; |
BINDING_NAME_MN_TARGET_MERGE = "å并ç®æ æ è®°"; |
BINDING_NAME_MN_TOGGLE_MINIS = "å ¨é¨å°å°å¾æ è®°åæ¢"; |
MN_LEVEL = "Level"; |
-- Magellan Style LandMarks |
MAPNOTES_LANDMARKS = "å°æ "; -- Landmarks, as in POI, or Magellan |
MAPNOTES_LANDMARKS_CHECK = "èªå¨æ è®°å°å¾ "..MAPNOTES_LANDMARKS; |
MAPNOTES_DELETELANDMARKS = "å é¤ "..MAPNOTES_LANDMARKS; |
MAPNOTES_MAGELLAN = "(~Magellan)"; |
MAPNOTES_LM_CREATED = " å°å¾æ è®°åå»ºäº "; |
MAPNOTES_LM_MERGED = " å°å¾æ è®°åå¹¶äº "; |
MAPNOTES_LM_SKIPPED = " å°å¾æ è®°æªåæ è®°äº "; |
MAPNOTES_LANDMARKS_NOTIFY = MAPNOTES_LANDMARKS.." æ è®°äº "; |
MN_STARTED_IMPORTING = "å¼å§å¯¼å ¥"; |
MN_INVALID_KEY = "æ æçå°å¾é® : "; |
MN_FINISHED_IMPORTING = "å®æå¯¼å ¥"; |
MN_AREANOTES = "%d æ è®°äº %d å°åº"; |
MN_DUPS_IGNORED = "忽è§å¯æ¬"; |
MN_WAYPOINT = "è·¯å¾ç®å¤´"; |
end |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
-- English is the default localization for MapNotes |
--if GetLocale() == "usEN" then |
-- General |
MAPNOTES_NAME = "MapNotes"; |
MAPNOTES_ADDON_DESCRIPTION = "Adds a note system to the WorldMap."; |
MAPNOTES_DOWNLOAD_SITES = "See README for download sites"; |
-- Interface Configuration |
MAPNOTES_WORLDMAP_HELP_1 = "Right-Click On Map To Zoom Out"; |
MAPNOTES_WORLDMAP_HELP_2 = "Left-Click On Map To Zoom In"; |
MAPNOTES_WORLDMAP_HELP_3 = "<Control>+Right-Click On Map To Open "..MAPNOTES_NAME.." Menu"; |
MAPNOTES_CLICK_ON_SECOND_NOTE = "|cFFFF0000"..MAPNOTES_NAME..":|r Choose Second Note To Draw/Clear A Line"; |
MAPNOTES_NEW_MENU = MAPNOTES_NAME; |
MAPNOTES_NEW_NOTE = "Create Note"; |
MAPNOTES_MININOTE_OFF = "Turn MiniNote Off"; |
MAPNOTES_OPTIONS = "Options"; |
MAPNOTES_CANCEL = "Cancel"; |
MAPNOTES_POI_MENU = MAPNOTES_NAME; |
MAPNOTES_EDIT_NOTE = "Edit Note"; |
MAPNOTES_MININOTE_ON = "Set As MiniNote"; |
MAPNOTES_SPECIAL_ACTIONS = "Special Actions"; |
MAPNOTES_SEND_NOTE = "Send Note"; |
MAPNOTES_SPECIALACTION_MENU = "Special Actions"; |
MAPNOTES_TOGGLELINE = "Toggle Line"; |
MAPNOTES_DELETE_NOTE = "Delete Note"; |
MAPNOTES_EDIT_MENU = "Edit Note"; |
MAPNOTES_SAVE_NOTE = "Save"; |
MAPNOTES_EDIT_TITLE = "Title (required):"; |
MAPNOTES_EDIT_INFO1 = "Info Line 1 (optional):"; |
MAPNOTES_EDIT_INFO2 = "Info Line 2 (optional):"; |
MAPNOTES_EDIT_CREATOR = "Creator (optional):"; |
MAPNOTES_SEND_MENU = "Send Note"; |
MAPNOTES_SLASHCOMMAND = "Change Mode"; |
MAPNOTES_SEND_TITLE = "Send Note:"; |
MAPNOTES_SEND_TIP = "These notes can be received by all MapNotes(Fan's Update) users."; |
MAPNOTES_SEND_PLAYER = "Enter player name:"; |
MAPNOTES_SENDTOPLAYER = "Send to player"; |
MAPNOTES_SENDTOPARTY = "Send to Party/Raid"; |
-- %%% MAPNOTES_SENDTOPARTY_TIP = "Left Click - Party\nRight Click - Raid"; |
MAPNOTES_SHOWSEND = "Change Mode"; |
MAPNOTES_SEND_SLASHTITLE = "Get slash Command:"; |
MAPNOTES_SEND_SLASHTIP = "Highlight this and use CTRL+C to copy to clipboard (then you can post it in a forum for example)"; |
MAPNOTES_SEND_SLASHCOMMAND = "/Command:"; |
MAPNOTES_OPTIONS_MENU = "Options"; |
MAPNOTES_SAVE_OPTIONS = "Save"; |
MAPNOTES_OWNNOTES = "Show notes created by your character"; |
MAPNOTES_OTHERNOTES = "Show notes received from other characters"; |
MAPNOTES_HIGHLIGHT_LASTCREATED = "Highlight last created note in |cFFFF0000red|r"; |
MAPNOTES_HIGHLIGHT_MININOTE = "Highlight note selected for MiniNote in |cFF6666FFblue|r"; |
MAPNOTES_ACCEPTINCOMING = "Accept incoming notes from other players"; |
MAPNOTES_INCOMING_CAP = "Decline notes if they would leave less than 5 notes free"; |
MAPNOTES_AUTOPARTYASMININOTE = "Automatically set party notes as MiniNote."; |
MAPNOTES_CREATEDBY = "Created by"; |
MAPNOTES_CHAT_COMMAND_ENABLE_INFO = "This command enables you to instert notes gotten by a webpage for example."; |
MAPNOTES_CHAT_COMMAND_ONENOTE_INFO = "Overrides the options setting, so that the next note you receive is accepted."; |
MAPNOTES_CHAT_COMMAND_MININOTE_INFO = "Displays the next received note directly as MiniNote (and insterts it into the map):"; |
MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO = "Displays the next note received as MiniNote only (not inserted into map)."; |
MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO = "Turns the MiniNote off."; |
MAPNOTES_CHAT_COMMAND_MNTLOC_INFO = "Sets a Thottbott marker on the map."; |
MAPNOTES_CHAT_COMMAND_QUICKNOTE = "Creates a note at the current position on the map."; |
MAPNOTES_CHAT_COMMAND_QUICKTLOC = "Creates a note at the given coordinate position on the map in the current zone."; |
MAPNOTES_CHAT_COMMAND_SEARCH = "Search for notes containing [text]"; |
MAPNOTES_CHAT_COMMAND_HIGHLIGHT = "Highlight MapNotes with the following [title]"; |
MAPNOTES_CHAT_COMMAND_IMPORT_METAMAP = "Imports MetaMapNotes. Intended for people migrating to MapNotes.\nMetaMap must be Installed and Enabled for the command to work. Then Un-Install MetaMap.\nWARNING : Intended for new users. May over-write existing notes."; --Telic_4 |
MAPNOTES_CHAT_COMMAND_IMPORT_ALPHAMAP = "Import AlphaMap's Instance Notes : Requires AlphaMap (Fan's Update) to be Installed and Enabled"; --Telic_4 |
MAPNOTES_CHAT_COMMAND_SCALE = "Change Frame Size"; |
MAPNOTES_CHAT_COMMAND_ISCALE = "Change Icon Size"; |
MAPNOTES_CHAT_COMMAND_ASCALE = "Change Icon Alpha Level"; |
MAPNOTES_CHAT_COMMAND_UNDELETE = "Undelete last deleted Note"; |
MAPNOTES_MAPNOTEHELP = "This command can only be used to insert a note"; |
MAPNOTES_ONENOTE_OFF = "Allow one note: OFF"; |
MAPNOTES_ONENOTE_ON = "Allow one note: ON"; |
MAPNOTES_MININOTE_SHOW_0 = "Next as MiniNote: OFF"; |
MAPNOTES_MININOTE_SHOW_1 = "Next as MiniNote: ON"; |
MAPNOTES_MININOTE_SHOW_2 = "Next as MiniNote: ONLY"; |
MAPNOTES_DECLINE_SLASH = "Could not add, too many notes in |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_SLASH_NEAR = "Could not add, this note is too near to |cFFFFD100%q|r in |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_GET = "Could not receive note from |cFFFFD100%s|r: too many notes in |cFFFFD100%s|r, or reception disabled in the options."; |
MAPNOTES_ACCEPT_SLASH = "Note added to the map of |cFFFFD100%s|r."; |
MAPNOTES_ACCEPT_GET = "You received a note from |cFFFFD100%s|r in |cFFFFD100%s|r."; |
MAPNOTES_PARTY_GET = "|cFFFFD100%s|r set a new party note in |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_NOTETONEAR = "|cFFFFD100%s|r tried to send you a note in |cFFFFD100%s|r, but it was too near to |cFFFFD100%q|r."; |
MAPNOTES_QUICKNOTE_NOTETONEAR = "Can't create note. You are too near to |cFFFFD100%s|r."; |
MAPNOTES_QUICKNOTE_NOPOSITION = "Can't create note: could not retrieve current position."; |
MAPNOTES_QUICKNOTE_DEFAULTNAME = "Quicknote"; |
MAPNOTES_QUICKNOTE_OK = "Created note on the map of |cFFFFD100%s|r."; |
MAPNOTES_QUICKNOTE_TOOMANY = "There are already too many notes on the map of |cFFFFD100%s|r."; |
MAPNOTES_DELETED_BY_NAME = "Deleted all "..MAPNOTES_NAME.." with creator |cFFFFD100%s|r and name |cFFFFD100%s|r."; |
MAPNOTES_DELETED_BY_CREATOR = "Deleted all "..MAPNOTES_NAME.." with creator |cFFFFD100%s|r."; |
MAPNOTES_QUICKTLOC_NOTETONEAR = "Can't create note. The location is too near to the note |cFFFFD100%s|r."; |
MAPNOTES_QUICKTLOC_NOZONE = "Can't create note: could not retrieve current zone."; |
MAPNOTES_QUICKTLOC_NOARGUMENT = "Usage: '/quicktloc xx,yy [icon] [title]'."; |
MAPNOTES_SETMININOTE = "Set note as new MiniNote"; |
MAPNOTES_THOTTBOTLOC = "Thottbot Location"; |
MAPNOTES_PARTYNOTE = "Party Note"; |
MAPNOTES_WFC_WARN = "Use |c0000FF00'/mn -tloc xx,yy'|r OR |c0000FF00'/mntloc xx,yy'|r to show a location on the map."; |
MAPNOTES_CONVERSION_COMPLETE = MAPNOTES_VERSION.." - Conversion complete. Please check your notes."; -- ?? |
MAPNOTES_TRUNCATION_WARNING = "The Note Text being Sent had to be truncated"; -- ?? |
MAPNOTES_IMPORT_REPORT = " Notes Imported"; -- ?? |
MAPNOTES_NOTESFOUND = " Note(s) Found"; -- ?? |
-- Drop Down Menu |
MAPNOTES_SHOWNOTES = "Show Notes"; |
MAPNOTES_DROPDOWNTITLE = MAPNOTES_NAME; |
MAPNOTES_DROPDOWNMENUTEXT = "Quick Options"; |
MAPNOTES_WARSONGGULCH = "Warsong Gulch"; |
MAPNOTES_ALTERACVALLEY = "Alterac Valley"; |
MAPNOTES_ARATHIBASIN = "Arathi Basin"; |
MAPNOTES_NETHERSTORM = "Eye of the Storm"; |
MAPNOTES_COSMIC = "Cosmic"; |
-- Coordinates |
MAPNOTES_MAP_COORDS = "Map Coords"; |
MAPNOTES_MINIMAP_COORDS = "Minimap Coords"; |
MAPNOTES_COORDINATE_FORMATTING_ERROR1 = "MapNotes could not interpret the passed coordinates"; |
MAPNOTES_COORDINATE_FORMATTING_ERROR2 = "Simplest format : x,y e.g. 55,9"; |
MAPNOTES_COORDINATE_FORMATTING_ERROR3 = "See Readme.txt for further formatting options"; |
-- MapNotes Target & Merging |
MAPNOTES_MERGED = "MapNote Merged for : "; |
MAPNOTES_MERGE_DUP = "MapNote already exists for : "; |
MAPNOTES_MERGE_WARNING = "You must have something targetted to merge notes."; |
BINDING_HEADER_MAPNOTES = "MapNotes"; |
BINDING_NAME_MN_TARGET_NEW = "QuickNote/TargetNote"; |
BINDING_NAME_MN_TARGET_MERGE = "Merge Target Note"; |
BINDING_NAME_MN_TOGGLE_MINIS = "Global Mininotes Toggle"; |
BINDING_NAME_MN_MINIMAP_STYLE = "Cycle through Minimap Styles"; |
MN_LEVEL = "Level"; |
MN_AUTO_DESCRIPTIONS = { |
["SQUARE"] = "Full Square", |
["CORNER-TOPRIGHT"] = "Rounded Top Right Corner", |
["CORNER-BOTTOMRIGHT"] = "Rounded Bottom Right Corner", |
["CORNER-BOTTOMLEFT"] = "Rounded Bottom Left Corner", |
["CORNER-TOPLEFT"] = "Rounded Top Left Corner", |
["SIDE-RIGHT"] = "Rounded Right Side Corners", |
["SIDE-BOTTOM"] = "Rounded Bottom Corners", |
["SIDE-LEFT"] = "Rounded Left Side Corners", |
["SIDE-TOP"] = "Rounded Top Corners", |
["TRICORNER-TOPRIGHT"] = "Squared Top Right Corner", |
["TRICORNER-BOTTOMRIGHT"] = "Squared Bottom Right Corner", |
["TRICORNER-BOTTOMLEFT"] = "Squared Bottom Left Corner", |
["TRICORNER-TOPLEFT"] = "Squared Top Left Corner", |
["CIRCULAR"] = "Circular"; |
}; |
MN_STYLE_AUTOMATIC = "Automatic"; |
-- Magellan Style LandMarks |
MAPNOTES_LANDMARKS = "Landmarks"; -- Landmarks, as in POI, or Magellan |
MAPNOTES_LANDMARKS_CHECK = "Auto-MapNote "..MAPNOTES_LANDMARKS; |
MAPNOTES_DELETELANDMARKS = "Delete "..MAPNOTES_LANDMARKS; |
MAPNOTES_MAGELLAN = "(~Magellan)"; |
MAPNOTES_LM_CREATED = " MapNotes Created in "; |
MAPNOTES_LM_MERGED = " MapNotes Merged in "; |
MAPNOTES_LM_SKIPPED = " MapNotes not Noted in "; |
MAPNOTES_LANDMARKS_NOTIFY = MAPNOTES_LANDMARKS.." Noted in "; |
MN_STARTED_IMPORTING = "Started Importing"; |
MN_INVALID_KEY = "Invalid Map Key : "; |
MN_FINISHED_IMPORTING = "Finished Importing"; |
MN_AREANOTES = "%d Notes in %d Areas"; |
MN_DUPS_IGNORED = "Dupliacates Ignored"; |
MN_TT_MINITITLE = "Mininote"; |
MN_TT_MINITEXT = "Hold down <Ctrl> to set as Mininote"; |
MN_COPY = "Copy"; |
MN_CUT = "Cut"; |
MN_PASTE = "Paste"; |
MN_CONVERT = "Make Permanent"; |
MN_CODEC_FMT = "Coord Decimal Places : "; |
MN_MDELETE = "Mass Delete by : "; |
MN_TEXT = "Text"; |
MN_CREATOR = "Creator"; |
MN_ALLZONES = "All Maps"; |
MN_DELETED_WITH_TEXT = "Deleted all "..MAPNOTES_NAME.." with text |cFFFFD100%s|r."; |
MN_WAYPOINT = "WayPoint Arrow"; |
--end |
<!-- |
MapNotes: Adds a note system to the WorldMap |
See the README file for more information. |
--> |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd"> |
<Frame name="MapNotesSendFrame" inherits="MapNotes_FrameTemplate"> |
<Size> |
<AbsDimension x="450" y="180"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString inherits="GameFontGreenLarge" text="MAPNOTES_SEND_MENU"> |
<Anchors> |
<Anchor point="TOP" relativeTo="MapNotesSendFrame"> |
<Offset><AbsDimension x="0" y="-8"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
<Layer level="OVERLAY"> |
<FontString name="MapNotes_SendFrame_Title" inherits="GameFontNormal" text="MAPNOTES_SEND_TITLE" justifyH="LEFT"> |
<Size> |
<AbsDimension x="222" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="22" y="-22"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MapNotes_SendFrame_Tip" inherits="GameFontNormalSmall" text="MAPNOTES_SEND_TIP" justifyH="LEFT"> |
<Size> |
<AbsDimension x="400" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="22" y="-36"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MapNotes_SendFrame_Player" inherits="GameFontNormalSmall" text="MAPNOTES_SEND_PLAYER" justifyH="LEFT"> |
<Size> |
<AbsDimension x="222" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="22" y="-65"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Frames> |
<Button name="MapNotesChangeSendFrame" inherits="MapNotes_ButtonTemplate" text="MAPNOTES_SLASHCOMMAND"> |
<Anchors> |
<Anchor point="CENTER" relativePoint="Bottom"> |
<Offset><AbsDimension x="-102.5" y="30"/></Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnClick> |
PlaySound("igMainMenuOption"); |
MapNotes_ShowSendFrame(MapNotes_ToggleSendValue); |
</OnClick> |
</Scripts> |
</Button> |
<Button name="$parentCancel" inherits="MapNotes_CancelButtonTemplate"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesChangeSendFrame"> |
<Offset><AbsDimension x="20" y="0"/></Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MapNotesSendPlayer" inherits="MapNotes_ButtonTemplate" text="MAPNOTES_SENDTOPLAYER"> |
<Anchors> |
<Anchor point="CENTER" relativePoint="BOTTOM" relativeTo="MapNotesChangeSendFrame"> |
<Offset><AbsDimension x="0" y="37"/></Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnClick> |
if ( MapNotes_SendWideEditBox:GetText() ~= "" ) then |
PlaySound("igMainMenuOption"); |
MapNotes_SendNote(1); |
end |
</OnClick> |
</Scripts> |
</Button> |
<EditBox name="MapNotes_SendWideEditBox" historyLines="0" letters="255"> |
<Size> |
<AbsDimension x="400" y="64"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="24" y="-63"/></Offset> |
</Anchor> |
</Anchors> |
<HitRectInsets> |
<AbsInset left="0" right="0" top="-22" bottom="22"/> |
</HitRectInsets> |
<Scripts> |
<OnLoad> |
MapNotes_SendWideEditBox:SetText(""); |
</OnLoad> |
<OnEscapePressed> |
MapNotesSendFrame:Hide(); |
</OnEscapePressed> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<FontString inherits="ChatFontNormal"/> |
</EditBox> |
<Frame> |
<Size> |
<AbsDimension x="420" y="30"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativePoint="CENTER" relativeTo="MapNotes_SendWideEditBox"/> |
</Anchors> |
<Backdrop bgFile="" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="16"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="16"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
</Frames> |
<Scripts> |
<OnShow> |
MapNotes_NormaliseScale(this); |
</OnShow> |
<OnLoad> |
MapNotes_OnLoad(); |
this:SetBackdropColor(0,0,0,1); |
</OnLoad> |
</Scripts> |
</Frame> |
</Ui> |
## Interface: 30000 |
## Title: MapNotes |c0000FF00(5.12.30000)|r |
## Author: Telic (originally ciphersimian) |
## eMail: telic@hotmail.co.uk |
## Version: 5.12.30000 |
## URL: See README for download sites |
## Notes: Adds a note system to the WorldMap - Other AddOns can also now 'Plug In' and allow notes to be made on their frames eg AlphaMap |
## Notes-deDE: Ermöglicht es Notizen auf der Karte zu platzieren. |
## Notes-enUS: Adds a note system to the Worldmap. |
## Notes-frFR: Ajoute la possibilité de créer des annotations sur votre carte du monde. |
## Notes-koKR: ì¸ê³ ì§ëì ë©ëª¨ ìì¤í ì ì¶ê°í©ëë¤. |
## RequiredDeps: |
## OptionalDeps: Thottbot, myAddOns, SilverTrack |
## DefaultState: enabled |
## SavedVariables: MapNotes_Data_Notes, MapNotes_Data_Lines, MapNotes_Data, MapNotes_Lines, MapNotes_Options, MapNotes_Undelete_Info, MapNotes_Globals |
MapNotesTemplates.xml |
MapNotesEditFrame.xml |
MapNotesMiniNoteFrame.xml |
MapNotesOptionsFrame.xml |
MapNotesSendFrame.xml |
****************************************** |
MapNotes (Fan's Update) README v5.12.30000 |
****************************************** |
Maintainer: Telic <telic@hotmail.co.uk> |
Original code: Sir.Bender <Meog on WoW Forums> |
Contributors: |
ciphersimian |
... and MANY others whose names didn't appear in the code anywhere |
*********** |
Description |
*********** |
Adds a note system to the WorldMap helping you keep track of interesting locations. |
MapNotes(Fan's Update) also provides a Plugin interface for other AddOns to take advantage of the note making ability. AlphaMap(Fans Update) uses this interface to allow Note creation on AlphaMap Maps of Instances, BattleGrounds, and World Boss Maps. This version of MapNotes comes with in-built support for creation of notes on Atlas maps, also using this Plugin interface. |
For these purpose MapNotes offers the following main functions: |
1. Marking notes on the WorldMap |
2. Showing one of these notes on the MiniMap (see MiniNote) |
3. Allows any other AddOn to use MapNotes note creation ability to mark notes on frames within their own AddOn : |
- Marking notes on AlphaMap (Fan's Update) Instance maps |
- Marking notes on Atlas maps |
"/tloc" can be used to toggle this AddOns minimap coordinates instead of Thottbott's minimap coordinates. |
NOTE : PLEASE still use "/mn -tloc xx,yy" to place a Thottbott marker on the map. "/tloc" ONLY toggles Minimap Coordinates. |
Should be compatible with Cartographer, although you may no longer be able to create notes on the map with the in-built functionality provided by that AddOn - only with the functionality provided by MapNotes (Fan's Update). |
******** |
Features |
******** |
[Slash Commands] - NOTE : See separate file "LegacySlashCommands.txt" for old style commands |
================ |
/mapnote OR /mapnotes OR /mn |
Use without any other parameters to see which version of MapNotes is installed, and access the list of available Slash Commands. |
Otherwise can be used to insert a Map Note by a slash command (which you can create in the Send Menu), for example, to put a note at the Entrance of Stormwind City on the map Elwynn Forest: |
"/mapnote k<WM Elwynn> x<0.320701> y<0.491480> t<Stormwind> i1<Entrance> i2<> cr<ciphersimian> i<0> tf<0> i1f<0> i2f<0>" |
NOTE: The above would all be on one line Description of the identifiers: |
k<#> - Key based on the map name from GetMapInfo() prefixed by "WM " (English name on all clients - never localised) Varies for other AddOns using the Plugin functionality |
x<#> - X coordinate, based on the GetPlayerMapPosition() function |
y<#> - Y coordinate, based on the GetPlayerMapPosition() function |
t<text> - Title for the MapNote |
i1<text> - first line of text displayed under the Title in the MapNote (Info 1) |
i2<text> - second line of text displayed under the Title in the MapNote (Info 2) |
cr<text> - Creator of the MapNote |
i<#> - icon to use for the MapNote, AddOns/MapNotes/POIIcons/Icon#.tga |
tf<#> - color of the Title, AddOns/MapNotes/POIIcons/Color#.tga |
i1f<#> - color of the Info 1 line (colors as above) |
i1f<#> - color of the Info 2 line (colors as above) |
mn<1> - (optional) If included, then a value of 1 will set the note as a mininote also. Any other value and the note will NOT be set as a mininote. |
/mn -allow OR /mn -a |
Allows you to receive the next note, even if you have disabled receiving in the options. If invoked with no parameters, it will toggle the current state. |
/mn -automini |
Shows the next note created (using any method) as a MiniNote and also puts it on the WorldMap. If invoked with no parameters, it will toggle the current state. |
/mn -allmini |
Toggle all MapNotes off/on as Mininotes |
(Keybinding also available) |
/mn -nextmini |
Shows the next note created (using any method) as a MiniNote and also puts it on the WorldMap. If invoked with no parameters, it will toggle the current state. |
/mn -minionly |
Like the previous command, but doesn't put the note on the WorldMap. |
/mn -minioff |
Turns the MiniNote off. |
/mn -tloc tbX,tbY |
Sets a "Thottbot location" on the map. Use it with no arguments to toggle it off. |
See the Section on Formatting of X,Y Coordinates |
/mn -q [icon] [name] |
Adds a note at your current location, icon and name are optional (icon any number from 0 to 9, AddOns/MapNotes/POIIcons/Icon#.tga) |
If no [name] is passed, then the Note will be named based on the MiniMap Text, and the second/third lines will be populated with more zone information and/or the default QuickNote text. |
/mn -qtloc xx,yy [icon] [name] |
See the Section on Formatting of X,Y Coordinates |
Adds a note on the map you are currently on at the given thottbot location, icon and name are optional (icon any number from 0 to 9, AddOns/MapNotes/POIIcons/Icon#.tga) |
NEW SLASH COMMANDS IN MapNotes(Fan's Update) |
/mn -s [search text] |
If you want to search for a note, to see if one exists, or where it is, then you can use this command, and MapNotes will print out a report in the chat window, displaying the names of all maps which have a note containing that text |
/mn -hl [note name] |
If you have lots of notes and want to clearly identify a single one on a map, or if you want a certain note to remain highlighted, then use this command and they will be displayed with a green circle around them. |
If there are several notes with that name or containing that text, then they will ALL be highlighted. |
The note name does not have to be case sensitive, and doesn't have to be an exact match - all notes containing the [note name] text will be highlighted. |
If the EXACT NAME is specified (not case-sensitive), the note will also be marked as a MiniNote on the Minimap |
/mn -mapc |
Toggle the display of Player and Cursor Coordinates on the World Map |
Control-Left-Click and drag the coordinates to move them to a different position on the World Map if you are not happy with the default. |
/mn -minic |
Toggle the display of Player coordinates below the Minimap. |
/mn -t [icon] [name] |
Creates a quicknote at the Player's current location if the Player has no target. |
If the Player does have a target, then it will create a note for that target at the Player's current location, icon and name are optional (icon any number from 0 to 9, AddOns/MapNotes/POIIcons/Icon#.tga) |
/mn -m |
Creates a note for the Player's target at the Player's current location. |
OR Merges the details for the Player's current target in to a Map Note that has already been created at the Player's current location. |
MUST have targetted a Player/NPC/Mob for this to work. |
/mn -scale [0.5 - 1.5] |
The size of MapNotes Menus and Frames are now fixed no matter what the scale of the World Map or other AddOn Map being used. |
This command can be used to change the default size of MapNotes Menus and Frames if the user finds it too small or large. |
The default value is 0.7 |
Therefore "/mn -scale 1.0" will make the Menus and Frames appear larger than they do by default. |
/mn -undelete |
Will undelete the last deleted MapNote. |
IMPORTANT NOTE ON THE IMPORT FUNCTIONS BELOW |
All of the functions below are mainly designed for people who have just installed MapNotes (Fan's Update). If you have been using this version of MapNotes for some time already, and have your own notes, then these functions may overwrite your existing notes. YOU HAVE BEEN WARNED. |
/MapNotes_Import_MetaMap |
If you want to move from MetaMapNotes to MapNotes, then log in to the game with both AddOns enabled, use the above command, after which you will receive notification in the chat window on how many notes have been imported; Then log out, and disable MetaMap. Don't try to use MapNotes at the same time as MetaMap for any other purposes, as the results may be unpredictable |
/MapNotes_Import_AlphaMap |
If you have AlphaMap installed, and want to convert the in-built Instance and World Boss notes in to MapNotes notes, then use the above command, and you will see a message in the chat window informing you of how many notes have been imported in to MapNotes. |
This does NOT import Battleground notes by default, as AlphaMap's in built Battleground functionality works best without MapNotes overlaying the BG Objectives. |
NOTE: You don't have to import notes from AlphaMap, to make MapNotes on AlphaMap Instance/Battleground/WorldBoss maps. You can create any notes you like manually. |
/MapNotes_Import_AlphaMapBG |
As mentioned above, the basic "/MapNotes_Import_AlphaMap" command does not import Battleground notes by default. If you do want to import AlphaMap Battlegournd map notes, then use this command to do so. |
/MapNotes_Import_CTMapMod |
If you want to move from using CTMapMod to MapNotes (Fan's Update), then log in to the game with both AddOns enabled, use the above command, after which you will receive notification in the chat window on how many notes have been imported; Then log out, and disable CTMapMod. |
[Key Bindings] |
============== |
QuickNote/TargetNote |
-------------------- |
Creates a quicknote at the Player's current location if the Player has no target. |
If the Player does have a target, then it will create a note for that target at the Player's current location. |
-OR CLICK MINIMAP COORDINATES- |
If you are NOT targetting anything, then ALT-Left-Click on the Minimap Coordinates to create a QuickNote. |
If you are targetting something, then ALT-Left-Click to create a Target note with details about the current target at the PLAYER'S current location - you will be warned if you are too near to an existing note to create a new note. |
(Slash Command "/mn -t" also available) |
TargetNote/MergeNote |
-------------------- |
Creates a note for the Player's target at the Player's current location. |
OR Merges the details for the Player's current target in to a Map Note that has already been created at the Player's current location. |
MUST have targetted a Player/NPC/Mob for this to work. |
-OR CLICK MINIMAP COORDINATES- |
If you are targetting something, then you may also ALT-Right-Click on the Minimap Coordinates if you wish to create a note for your Target at the PLAYER'S current location. However, if a MapNote already exists at Player's location, then the details will be merged with the existing note. |
(Slash Command "/mn -m" also available) |
[Fast Note Creation/Editing/Deleting] |
===================================== |
- <Control>+<Alt>+Right-click on a MAP/FRAME to create a Quicknote at that point |
- <Control>+<Alt>+Right-click on a NOTE to quickly go to the note Editing Frame |
- <Control>+<Alt>+Left-clicking to drag NOTES to new positions |
- <Alt>+Right-click on a NOTE to toggle it as a Minimap note |
- <Alt>+<Shift>+DOUBLE Right-click on a note to quickly delete it. |
- <Control>+<Shift>+Right-click will create a temporary blue Group note on a map |
If created on a World map, then it will also be displayed in the Minimap for you to track |
If in a Raid group, then the note will be shared with other Raid members who have MapNotes installed |
Otherwise, if in a Party, then the note will be shared with the Party members who have MapNotes installed |
Otherwise, its just your own quick temporary marker ;) |
Differently Shaped Minimaps |
=========================== |
As it works with SimpleMinimap automatically, and wouldn't change much in other circumstances, there is no GUI control of this option. However, it is possible to manually specify the Minimap style you want via the provided key binding to specify the style you want. |
OR via the following slash command : |
/mn -mstyle [#] |
Where # is a number specifying the style of map you want to force MapNotes to use. |
Use the keybinding to cycle through the available styles to choose from, or just use "/mn -mstyle" on its own. |
0 "Automatic" -- adjusts its shape automatically based on SimpleMinimap skins |
1 "Full Square", |
2 "Rounded Top Right Corner", |
3 "Rounded Bottom Right Corner", |
4 "Rounded Bottom Left Corner", |
5 "Rounded Top Left Corner", |
6 "Rounded Right Side Corners", |
7 "Rounded Bottom Corners", |
8 "Rounded Left Side Corners", |
9 "Rounded Top Corners", |
10 "Squared Top Right Corner", |
11 "Squared Bottom Right Corner", |
12 "Squared Bottom Left Corner", |
13 "Squared Top Left Corner", |
14 "Circular"; |
LIGHTHEADED SUPPORT |
=================== |
To create a MapNote from Lightheaded coordinates, must do one of the following : |
1.) <ALT>-Click on the Lightheaded coordinates to create a temporary Thottbott Map and Mininote as per original functionality |
2.) <CTRL>-Click on the Lightheaded coordinates to create a permanent MapNote (Also active as Mininote) |
3.) <CTRL>-<SHIFT>-Click on the Lightheaded coordinates to create a permanent MapNote NOT active as a Mininote |
[Traditional Methods] |
===================== |
(The AlphaMap and Atlas Plugins use the same basic functionality as below) |
1.) |
<Control>+Right-clicking on a MAP/FRAME opens the MapNotes menu. |
In this menu you will find different buttons: |
Create Note - This will open the Edit Menu and create a note at the position you clicked |
Options - This opens the Options Menu (covered in more detail below) |
Cancel - Closes the menu |
NOTE: A left click on an existing MapNote will also open this menu, but "Create Note" won't be available. |
2.) |
Move the mouse over a NOTE to see the tooltip with the information you entered. |
3.) |
Right-clicking on a NOTE opens the other MapNotes menu. Here you will find the following buttons: |
Edit Note - This button opens the Edit Menu to change the note you clicked on. |
Set As MiniNote - Sets the note as the current MiniNote. |
Send Note - Opens the Send Menu. |
Delete Note - Deletes the note without further questioning. |
Cancel - Closes the Menu |
4.) |
<Alt>+Left-clicking on two NOTES will draw a line between them |
5.) |
<Control>+<Shift>+Right-click will create a temporary blue Group note on a map |
If created on a World map, then it will also be displayed in the Minimap for you to track. (No minimap icon will be displayed if created on non-world map such as Atlas or AlphaMap Instance maps) |
If in a Raid group, then the note will be shared with other Raid members who have MapNotes installed |
Otherwise, if in a Party, then the note will be shared with other Party members who have MapNotes installed |
NOTE 1 : |
<Shift>+Right-clicking on the the World Map frame will share only with your local party, even when in a Raid |
(As a result of the way that Plugins work, this functionality is only available on the Blizzard World Map. i.e. Plugins such as AlphaMap require that the <Control> key be pressed in order to carry out MapNotes functionality) |
NOTE 2 : |
Plugins that display World Map notes, such as AlphaMap may FORCE you to use <Control>+<Shift>+Right-click, as the <Control> key must be pressed to create any kind of Plugin note via the mouse. |
NOTE 3 : |
<Shift>+Right-clicking on a tloc note will also remove that note, although tloc notes can still only be created via slash commands |
[Group Notes] |
============= |
<Control>+<Shift>+Right-click will create a temporary blue Group note on a map |
If created on a World map, then it will also be displayed in the Minimap for you to track |
If in a Raid group, then the note will be shared with other Raid members who have MapNotes installed |
Otherwise, if in a Party, then the note will be shared with the Party members who have MapNotes installed |
NOTE 1 : |
<Shift>+Right-clicking on the the World Map frame will share only with your local party, even when in a Raid |
(As a result of the way that Plugins work, this functionality is only available on the Blizzard World Map. i.e. Plugins such as AlphaMap require that the <Control> key be pressed in order to carry out MapNotes functionality) |
NOTE 2 : |
Plugins that display World Map notes, such as AlphaMap may FORCE you to use <Control>+<Shift>+Right-click, as the <Control> key must be pressed to create any kind of Plugin note via the mouse. |
NOTE 3 : |
<Shift>+Right-clicking on a tloc note will also remove that note, although tloc notes can still only be created via slash commands |
[Edit Menu] |
=========== |
With this menu you can create new notes and edit existing notes. |
1. Select the icon style you want to use for your note. |
2. Title: Enter it in the editbox and select a color in which it will be displayed in the tooltip. |
NOTE: The title field is mandatory, you cannot create a note without a title - to prevent this the "Save" button is disabled when the title field is empty. |
3. Infoline 1 and 2: Here you can insert additional information for your note and color it in one of the colors below the editbox. |
4. Creator: Enter the name of the player or AddOn that created the note |
[Formatting of X,Y Coordinates] |
=============================== |
The following formatting options apply to the "/mn -tloc xx,yy" and "/mn -qtloc xx,yy" commands. |
X and Y are in "Thottbot coordinates" which can be represented as follows: |
local tbX,tbY = GetPlayerMapPosition() |
local tbX = math.floor(x*100) |
local tbY = math.floor(y*100) |
So basic formatting is "x,y" |
e.g. "5,90" OR "55,49" OR "75,74" |
MapNotes (Fan's Update) is quite forgiving about how coordinates are passed however, and you can use a space instead of a comma, or one or more spaces without a comma |
e.g. "5, 90" OR "5 , 90" OR "5 ,90" |
MapNotes (Fan's Update) also allows for x and y coordinates containing decimal points. |
e.g. "26.2443, 39.988" OR "26, 39.0" OR "25.0 0.9" |
Since v3.30.20003, any non-numeric characters can be used as a separator |
e.g. "29-50" OR "29x50.5" |
Can now use the decimal point as a separator between the x and y coordinates |
e.g. "5.90" |
NOTE: if using the decimal point as a separator between the x and y coordinates, then it is advisable to NOT use x and y coordinates that also contain decimal points - if you must use decimal points in the coordinates AND as a separator, then you should use a decimal point in BOTH the x and y coordinates |
For Example : |
"/mn -tloc 10.50.90.0" will be correctly located at '10.5, 90.0' |
BUT if passed |
"/mn -tloc 10.50.90" then there's no way for MapNotes to know if you mean 10.5, 90 or 10, 50.9 |
[MiniNotes] |
============== |
You can display multiple MapNotes on the Minimap as Mininotes allowing you |
to Track them. |
There are 2 basic types : |
1.) Mininotes based on Permanent MapNotes - can have as many as you like |
2.) Temporary Mininote based on either the Thottbott marker or the Group Note |
- can only have one temporary type Mininote. Either Thott or Groupd Note |
When you create a Group Note (by Shift-Right Clicking on the World Map to |
share a specific Map Location with your Party), OR when you create a Thottbott |
Marker on the map (by using the '/mn -tloc xx,yy' or '/mntloc xx,yy' command), |
then a special Mininote will be shown - either a blue dot for the Group Note, or |
a red dot for the Thottbott Marker. You can only show ONE Party Mininote OR ONE |
Thottbott Mininote at any time. |
However, in MapNotes (Fan's Update), you can now make as many normal MapNotes as |
you like display as a Mininotes on the Minimap. So you can now track multiple |
MapNotes. |
Mininotes can be turned on via the Note Right-click menu, or by <Alt>+Right-clicking |
on a MapNote to toggle its mininote status |
Mininotes can be turned off using any of the following methods : |
1.) <Control><Alt><Click> on the Mininote on the Minimap to turn it off |
2.) <Alt>+Right-clicking on a MapNote to toggle its mininote status |
3.) Right Click on the MapNote on the Map, and choose the option to "Turn Mininote Off" |
4.) Use the '/mn -minioff' or '/mininoteoff' slash command to remove a Party/Thottbott note |
MiniNotes are turned off if the underlying MapNote is deleted. |
If you want a MiniNote without a MapNote use the '/mn -minionly' slash |
command before creating the note. |
If you want new notes to be turned on as Mininotes automatically use "/mn -automini" |
All MapNotes can be toggled on/off with a key binding or "/mn -allmini" command |
[Send Notes To Other Players] |
============================= |
After clicking "Send Note" in the MapNotes Menu the Send Menu will show up. |
1. Enter the name of the player you want to send a note to |
NOTE: Targeting the player before opening the WorldMap will auto insert the name. |
2. Send To Player |
Choose this option to send the note to the player entered above. |
NOTE: These notes can also be received by Carto+ users. |
3. Send To Party |
This will send the note to the entire party. Only Players in your Party that have MapNotes (Fan's Update) installed will receive the note. You will not Spam anybody with strange MapNote coordinates if they do not have this AddOn installed. |
4. Change Mode |
This toggles between Send To Player/Send To Party and Get Slash Command |
Get Slash Command - Inserts a slash command in the editbox which can be highlighted and then copied to the clipboard. After this you can post it on a forum or in chat and other MapNotes users can insert this note by copying the slash command to the chatline. |
****************************** |
MapNotes ZoneShift Conversions |
****************************** |
The MapNotes keying system has been completely re-written in this Version, and no longer uses the Continent/Zone combined key. |
Instead, it is based on Map data that doesn't change between different language clients. |
Hopefully this should future proof your database against any changes to zone lists caused by future WoW patches, or changing clients, or moving your database from one Client version to another. It should also allow two people who are using different Clients on the same Server to send notes to each other, without any client zone-shift, or version zone-shift errors. |
If you are upgrading from an older version of MapNotes, to this version, your notes will be updated automatically. |
However, if your database already had zone shift errors, then those errors will still exist after upgrading your database to this version. |
Because of these changes, people upgrading from old versions will lose there old style data and will not be able to revert to their old version unless they have saved a copy of their MapNotes.lua database file. |
******* |
Options |
******* |
If the checkbox in front of an icon style is checked the notes with this style will be displayed, otherwise they will be hidden. |
01.) Show notes created by your character |
Enable to show notes with the creator field set to your character name |
02.) Show notes received from other characters |
Enable to show notes with the creator field set to anything other than your character name |
03.) Highlight last created note in red |
04.) Highlight note selected for MiniNote in blue |
05.) Accept incoming notes from other players |
Enable to allow other players to send MapNotes to you via whisper, etc. |
NOTE: You can override this option for the next note only with the slash command /allowonenote (/aon). |
06.) Decline notes if they would leave less than 5 notes free |
This option is obsolete as there is now effectively no limit to the number of notes |
07.) Map Coordinates |
Enable to display your player AND cursor coordinates on the World Map. |
Control-Click on the coordinates to move them to a different position on the World Map Frame, if you are not happy with the default. |
08.) Minimap Coordinates |
Enable to display your player coordinates below the Minimap. |
If you are NOT targetting anything, then ALT-Left-Click on these coordinates to create a QuickNote. |
If you are targetting something, then ALT-Left-Click to create a Target note with details about the current target at the PLAYER'S current location - you will be warned if you are too near to an existing note to create a new note. |
If you are targetting something, then you may also ALT-Right-Click if you wish to create a note for your Target at the PLAYER'S current location. However, if a MapNote already exists at Player's location, then the details will be merged with the existing note. |
(Key Bindings have also been created for these two functions) |
09.) Options now also include the ability to auto-note Blizzard POIs as MapNotes LandMarks. |
When the Landmarking Option is turned on, then Guard Directions to NPCs will be stored as MapNotes. |
10.) It is also now possible to change the scale/alpha of MapNotes. |
******************* |
Legacy Contributors |
******************* |
Legorol <legorol@cosmosui.org> |
Oystein <opium@geheb.com> |
StarDust |
Vjeux |
Jorol |
Marsman |
Sinaloit |
dodgizzla |
Foogray |
Khisanth |
********** |
Change Log |
********** |
======================================= |
Changes in v5.12.30000 from v5.11.30000 |
======================================= |
- option to set MapNotes as Cartographer Waypoint arrow |
- option to set MapNotes as TomTom arrow |
======================================= |
Changes in v5.11.30000 from v5.10.30000 |
======================================= |
- introduced a way to import Cartographer notes |
Log in with both Cartographer2 & MapNotes; |
Execute the following slash command script; |
/script MapNotes_ImportCarto() |
NOTE: sorry, but this may only work on an English client |
======================================= |
Changes in v5.10.30000 from v5.02.30000 |
======================================= |
- added option to the basic menu's Special options to toggle the display of MapNotes notes |
IF YOU CAN'T SEE YOUR OLD NOTES DO THE FOLLOWING : |
Ctrl-Right click on the World Map |
Mouse over the "Special" button |
The "Show Notes" option should be checked in order to see notes. |
If it isn't then click on it to toggle note display On. |
- now includes a companion "MapNotesBrowser" AddOn |
Open up the Note Browser frame by Control-Right-Clicking on a note frame like the World Map. |
Then select the new menu item "MapNotes Browser" |
A scroll list of notes within the current zone sorted alphabetically. |
Filter listed notes via the provided text box. |
Mouse over notes to highlight them on the map. |
Right click to open the standard MapNotes right click menu to edit, delete, track notes via the Minimap. |
Left click to bookmark a particular note, highlighting it on the map, and setting it as a Mininote. |
When you have bookmarked a note, a red arrow in the top left of the frame will appear. |
Mouse over the bookmark to see the note tooltip. |
Left click the bookmark, and if made on a World Map, then the map will change to show the map with that note. |
Right click to clear the bookmark. |
Also allows you to carry out global searches for notes containing certain text, via the 'All Maps' button. |
If you carry out an 'All Maps' global text search, then left clicking on World Map notes in different zones will open up that particular map. |
This map changing feature only works with world map type notes, and not for custom-map AddOn notes. |
(Disable from the AddOn screen before logging in if not required) |
- added note location details to note tooltips |
- fix to 1916 error when opening note edit frame by Ctrl-Alt-Right clicking |
- fix to some note creation messages |
======================================= |
Changes in v5.02.30000 from v5.01.30000 |
======================================= |
- fix to prevent the taint of unit drop down Focus & ClearFocus buttons |
- fix to make sure new notes are set as Mininotes if holding down the CONTROL key when Creating from right click menu |
- manual fix available for re-positioning of Stormwind City notes |
ONLY EXECUTE THE FOLLOWING SLASH COMMAND IF YOU NEED -ALL- OF YOUR STORMWIND CITY NOTES ADJUSTING |
Your Stormwind City note positions will be scaled and shifted to account for the new city map |
/script Stormwindy() |
You should receive a message in the chat frame informing you of the number of notes that have been adjusted. |
This fix will place old notes closer to where they should be on the new map, but I can't guarantee they will be EXACTLY where you want them. |
Remember that it is easy to fine tune your MapNotes icon positions via the following MapNotes feature : |
Hold down CONTROL & ALT and left-click drag your notes to move them, and leave them exactly where you need them. |
- note icons now displayed in tooltip |
(Of some use when mousing over closely packed notes (with different icons)) |
- some code clean up of globals, and consolidation of Tooltip display in to a single function |
- some compatibility changes for new MapNotes Browser frame companion AddOn |
======================================= |
Changes in v5.01.30000 from v5.00.30000 |
======================================= |
- fix to stop Minimap coordinates reappearing the next time you log in, when disabled |
- fix to some slash command issues |
======================================= |
Changes in v5.00.30000 from v4.16.20400 |
======================================= |
- updated for WoW v3 and WotLK |
MAJOR UPDATE - compatible with older versions of MapNotes |
- updated look and feel with new Menus, Frame styles, and map Icons and note highlighting |
(Note : if you wish to revert to the old MapNotes icons, |
then please use the included "MapNotesIconsLib" AddOn to change back |
to your old, legacy icons.) |
- Right click menus can be raised by : |
a.) CTRL-Right clicking on the World Map, or plugin frames like AlphaMap |
b.) Right clicking on the Minimap Coordinates |
c.) Right clicking on the MapNotes themselves |
d.) CTRL-Right clicking on Minimap notes |
- new menu options such as Cut, Copy, Paste, Mass Delete |
Mass delete by text or Creator across ALL maps by Right clicking on Minimap Coordinates |
Mass delete by text or Creator in one specific map by CTRL-Right clicking on the map |
- support for 0, 1 or 2 decimal point formatting of coordinates controlled via a slider |
on the Options frame |
- MapNotesIconLib now packaged with MapNotes for a greater selection of note icons |
(Please see the Readme.txt file in that AddOn's folder for more details) |
======================================= |
Changes in v4.16.20400 from v4.15.20300 |
======================================= |
- support for differently shaped minimaps |
Automatically works with SimpleMinimap |
As it works with SimpleMinimap automatically, and wouldn't change much in other circumstances, there is no GUI control of this option. However, it is possible to manually specify the Minimap style you want via the following methods : |
1.) use the following slash command to cycle through the available styles |
"/mn -mstyle [#]" |
Pass an optional number to specify a particular style. |
Pass a zero to revert to a circular Minimap style. |
See the Readme.txt file for a list of styles. |
2.) use the provided key-binding to cycle through the available styles |
======================================= |
Changes in v4.15.20400 from v4.15.20300 |
======================================= |
- toc update |
======================================= |
Changes in v4.15.20300 from v4.14.20200 |
======================================= |
- fixed a bug when creating QuickNotes |
- added some self repair capabilities for databases with errors from previous bugs |
======================================= |
Changes in v4.14.20300 from v4.12.20200 |
======================================= |
- Chinese localisation courtesy of Onlyfly |
- small change to Thottbott interface for other AddOns to create Notes |
i.e. making MapNotes from MobMap icons on AlphaMap |
1.) <ALT>-Click on the AlphaMap MobMap icon to create a temporary Thottbott Map and Mininote |
2.) <CTRL>-Click on the AlphaMap MobMap icon to create a permanent MapNote (Also active as Mininote) |
3.) <CTRL>-<SHIFT>-Click on the AlphaMap MobMap icon to create a permanent MapNote NOT active as a Mininote |
======================================= |
Changes in v4.12.20300 from v4.11.20200 |
======================================= |
- now hides the WorldMap Magnifying glass when selecting MapNotes Quick Options |
- compatibility changes for new AddOn companion "MapNotesIconLib" to allow a much larger choice of Icons |
- a couple of small tweaks that people shouldn't even notice ;) |
======================================= |
Changes in v4.11.20300 from v4.10.20200 |
======================================= |
- CHANGE TO LIGHTHEADED SUPPORT |
To create a MapNote from Lightheaded coordinates, must now do one of the following : |
1.) <ALT>-Click on the Lightheaded coordinates to create a temporary Thottbott Map and Mininote as per original functionality |
2.) <CTRL>-Click on the Lightheaded coordinates to create a permanent MapNote (Also active as Mininote) |
3.) <CTRL>-<SHIFT>-Click on the Lightheaded coordinates to create a permanent MapNote NOT active as a Mininote |
- Adjusted the position of the WorldMap MapNotes Menu to stop it overlapping with the Blizzard Minimap Options |
======================================= |
Changes in v4.10.20300 from v4.00.20200 |
======================================= |
- NEW FUNCTIONALITY |
Can now choose your own Text colours by Right clicking the colour selection squares on the Note Edit Frame |
<Alt>-Right click the selection square to reset it to its original value |
- NEW FUNCTIONALITY |
Can now Create Notes on the Minimap - <Control><Alt> Right click just like the World Map |
Can now Edit Note Details from the Minimap - <Control><Alt> Right click just like clicking on Notes on the World Map |
Can now Completely Delete Notes from Minimap - <Alt><Shift> Double Right click just like on the World Map |
Turn Off Mininotes by <Alt> Right clicking them ..... just like on the World Map ;) |
- fixed a problem displaying Party notes on Plugins |
- fixed a small problem when clicking through Mininotes to ping the Minimap |
- update to Mininote data |
- made the MapNote highlighting a little more discrete |
- fixed the option to disable MapNote highlighting which couldn't be turned off before |
- fixed a future proofing feature of the Undelete command |
- Creator line in the Tootlip is omitted if not stored |
======================================= |
Changes in v4.00.20200 from v3.44.20200 |
======================================= |
- Rotating Minimap support |
- Lightheaded Coordinate click support |
- Changed the highlighting of MapNotes turned on as Mininotes (and the Last Note highlighting) |
- New slash command "/mn -automini" to toggle new notes on as Mininotes by default |
- New slash command "/mn -allmini" & key binding to toggle All notes on/off as Mininotes |
- Various changes including : |
Compatibility changes for future Icon Plugins |
Compatibility changes and Import function provided for Note database Plugins |
Removed unnecessary legacy code & data |
v4 Credits |
__________ |
Frigidman for Beta Testing |
Hristo for Beta Testing |
tattooedpierre for testing feedback |
Cladhaire for Lightheaded support |
======================================== |
Changes in v3.44.20200 from v3.44.20100 |
======================================== |
- simply a toc update |
======================================== |
Changes in v3.44.20100 from v3.43.20100 |
======================================== |
Again, BIG thanks to Morac for testing and indeed fixing some of the issues detailed below : |
- Raid/Party notes can now be set on Plugin frames/maps e.g. Atlas or AlphaMap Instance maps |
<Control>-<Shift>-Right clicking on a Plugin map will set a Group note on that map that will be shared with other group members - obviously they will require both MapNotes and the other AddOn to actually see the note, but it is still safe to set Raid/Party notes when other members do not have the required AddOns. |
(i.e. Group notes will be shared with Raid members if you are in a Raid, or Party members if you are in a Party) |
NOTE : Group notes made on Instance maps will NOT be set as Mininotes on the Minimap |
- Fixed a problem with the Localised names of Plugin maps (especially Atlas) |
- Fixed a problem with note creation messages on Plugin maps |
- Simply moved the Atlas-specific Plugin code to its own AddOn and folder where it can be maintained separately to MapNotes itself. (Or enabled/disabled separately, and replaced by newer/alternative Plugin code for Atlas) |
======================================== |
Changes in v3.43.20100 from v3.42.20100 |
======================================== |
- <Alt>-<Shift>-DOUBLE-Right click on a note to quickly delete it. You will receive no confirmation request ! |
- New slash command allows you to UN-Delete the last deleted note : |
/mn -undelete |
- When <Control>-<Alt>-Right clicking on a note to quickly edit it, have now tried to make sure that the notes name is highlighted so that you can quickly overwrite it with a new name, without having to manually delete the existing name |
- Fixed a small bug that would turn on the last created note as a Mininote, when deleting an existing note being used as a Mininote |
- Fixed a small bug that "covered" Party/tloc notes, and stopped the <Shift>-Right-click removal of a Party note |
- Can now <Shift>-Right-click on a tloc note to quickly remove it |
- Made sure that <Alt>-Right-clicking of Party/tloc notes toggles their Mininote status as per the functionality of normal notes |
- Trying to toggle Mininote status of Plugin notes will have no affect |
(i.e. Should still be able to toggle mininote status of AlphaMap's World Map notes, but not its Instance notes) |
Again, many thanks to Morac for helping with testing, and discovering small bugs :D |
Changes commented with -- 29/07/2007 |
======================================== |
Changes in v3.42.20100 from v3.41.20100 |
======================================== |
- Fixes a couple of bugs in v3.41.20100. |
BIG thanks to Morac for their help :D |
======================================== |
Changes in v3.41.20100 from v3.40.20100 |
======================================== |
- Fixed a bug when trying to access the Special Actions menu for Plugin Party/tloc notes |
- New features for speeding up Note Creation/Editing : |
1.) <Control>+<Alt>+Right-click on a MAP/FRAME to create a Quicknote in that position |
2.) <Control>+<Alt>+Right-click on a NOTE to go directly to the note editing frame |
3.) <Alt>+Right-click on a NOTE to quickly toggle its MiniNote status for tracking in the MiniMap |
NOTE: to move existing notes, only the Left Mouse button can be used. |
i.e. <Control>+<Alt>+Left-click on a NOTE to drag it to a new position. |
======================================= |
Changes in v3.40.20003 from v3.36.20003 |
======================================= |
- Enhanced the Plugin functionality to allow other AddOns to create and edit WorldMap notes in their own frames. |
e.g. AlphaMap (Fan's Update) v3.90.20003 and later can now make/edit WorldMap notes within AlphaMap without opening the Blizzard map. |
Via new Plugin option "wmflag" |
Other AddOn frames displaying world map icons will also show Party/tloc notes, and Highlighted notes. |
- Added Slider controls to the Options Frame to control : |
1.) Frame Size |
2.) MapNote Icon Size |
3.) MapNote Icon Alpha Setting |
- fix to a couple of non-critical errors reported in FrameXML.log |
======================================= |
Changes in v3.36.20003 from v3.35.20003 |
======================================= |
- fixed a problem with Alt-Clicking on the Minimap Coordinates to create a QuickNote, which sometimes required double clicking |
- small changes to make it easier for other people to write 'Plugin' style AddOns with their own MapNote Icon and Colour choices |
- small change for MetaMap compatibility |
======================================= |
Changes in v3.35.20003 from v3.30.20003 |
======================================= |
- QuickNotes will now note your current location as detailed in the Minimap Text, possibly with more general zone location information in the second line of the note, and the default QuickNote text in the second or third lines of the note. I just felt this was more useful, as often when making quicknotes, I just wanted to note my current location's name. |
You can still pass [icon] [name] parameters. |
- Enhanced the Note Highlighting functionality. |
If you have lots of notes, it can be quite useful to highlight the one you are looking for rather than inspecting the tooltip for each one in turn. This was the reason for originally introducing the "/mn -hl <Note Name>" command. |
When you specify the exact name of a note, then the MapNote will be highlighted with a green circle on the Map, and will be displayed as a MiniNote you can track in the Minimap. MapNotes would highlight ALL notes with that name if more than one exists. |
I have made this command more useful by allowing the user to enter part of a Notes name and not making it case sensitive, as often you won't be certain how the full name of the note is spelled, or whether it had capital letters, etc. |
So for example if you have lots of notes in Shattrath city, and can't remember which one was the "Spymistress Mehlisah Highcrown", then you can type "/mn -hl spy", and that note will be highlighted on the map. More than one note might be highlighted if more than one note has the text "spy" in it. |
You will still need to specify the exactly identical note name to make the highlighted note appear as a MiniNote automatically - although this is no longer case-sensitive either. |
To remove Highlighting, just type "/mn -hl". |
This functionality will highlight notes in any zone you look at on the Map. |
- Fixed a problem with Alt-Clicking on the Minimap Coordinates to create Target/Merge Notes, which sometimes required double clicking |
- Now Hides the World Map area Label information while the <Control> Key is depressed to hide clutter |
- Now Hides the World Map area Label information when the MapNotes Quick Options Drop Down Menu is open |
- MapNotes Quick Options Drop Down Menu will now close when the Map closes |
- Added support that Cartographer users who want to use MapNotes (Fan's Update) requested. |
<Control>-Right Click will now show the MapNotes note menu rather than the Cartographer note menu |
======================================= |
Changes in v3.30.20003 from v3.27.20003 |
======================================= |
- improved the MiniMap Tooltip to show all the same information as the WorldMap Tooltip |
- now while holding down the Control key to create a Note, or the Shift key to create a Party Note on the World Map, the World Map Magnifying button will be hidden allowing notes to be made on that part of the map if needed |
- Made sure WorldMapToolip will appear above other WorldMap components |
- can now use x,y coordinate separators other than the commas, and/or spaces |
(Its still possible to input bad coordinates, but much harder, and if bad coordinates are passed, the player will receive a warning message in the chat frame, rather than an error message box) |
- can now use the decimal point as a separator between the x and y coordinates |
NOTE: if using the decimal point as a separator between the x and y coordinates, then it is advisable to NOT use x and y coordinates that also contain decimal points - if you must use decimal points in the coordinates AND as a separator, then you should use a decimal point in BOTH the x and y coordinates |
For Example : |
/mn -tloc 10.50.90.0 will be correctly located at 10.5, 90.0 |
BUT if passed |
/mn -tloc 10.50.90 then there's no way for MapNotes to know if you mean 10.5, 90 or 10, 50.9 |
I now have a headache, so please leave me alone ;p |
======================================= |
Changes in v3.27.20003 from v3.26.20003 |
======================================= |
- fixed a problem with the "/mn -q [icon] [text]" slash command when passing the optional [icon] and/or [text] |
======================================= |
Changes in v3.26.20003 from v3.25.20003 |
======================================= |
- fixed a bug with Send Note functionality after I suffered a particularly severe brain fart in v3.22.20003 |
======================================= |
Changes in v3.25.20003 from v3.24.20003 |
======================================= |
- hopefully fixed problems with the /mn -qtloc xx,yy [icon] [text] slash command when passing extra Icon/Text information |
- change to make sure that the Map Zone is the current one by default when logging in or using ReloadUI(), or when first showing the Minimap coordinates |
======================================= |
Changes in v3.24.20003 from v3.23.20003 |
======================================= |
- hopefully fixed the Send Note problem introduced in v3.22.20003 |
- fixed a problem sending the "|" character in merged notes |
======================================= |
Changes in v3.23.20003 from v3.22.20003 |
======================================= |
- new Slash Command "/mn -scale [0.5 - 1.5]" |
The size of MapNotes Menus and Frames are now fixed no matter what the scale of the World Map or other AddOn Map being used. |
This command can be used to change the default size of MapNotes Menus and Frames if the user finds it too small or too large. |
The default value is 0.7 |
Therefore "/mn -scale 1.0" will make the Menus and Frames appear larger than they do by default. |
Obviously MapNotes will remember this setting between sessions. |
======================================= |
Changes in v3.22.20003 from v3.21.20003 |
======================================= |
- fixed a problem that made the Send Note buttons difficult to click upon |
- small changes to the Send Note functionality to ensure a message can be sent more than once to Party/Raid members if necessary |
(Blizzard's standard functionality seems to be to suppress consecutive duplicate SendAddonMessages) |
======================================= |
Changes in v3.21.20003 from v3.20.20003 |
======================================= |
- fixed a bug with the Key Bindings for making Target/Merge notes |
======================================= |
Changes in v3.20.20003 from v3.17.20000 |
======================================= |
- toc update |
- made several enhancements to the MapNotes Target and Merge note functionality : |
1.) Now correctly fetches the Profession of friendly NPCs such as Bankers, FlightMasters, etc. |
2.) Can now include an optional icon and extra text with both the Target and Merge commands |
/mn -t [icon] [text] |
/mn -m [icon] [text] |
The text is still optional, but if included will appear on the second Info Line of the Map Note. |
The icon is also optional, and doesn't have to be included even if text is provided; However, if an icon and text is entered, then there must be a space between the icon and the text. Any provided icon will overide the default/determined icon. |
As per other slash commands the icon must be a number between 0-9 representing the list of icons available for selection when you create/filter Map Notes. |
- the /mn -tloc x,y (and /mntloc x,y) (and /mn -qtloc x,y) commands are now more forgiving and will allow the following coordinate formatting |
1.) The coordinates may now include decimal points |
2.) The separator between coordinates may now include spaces, or be a simple space instead of a comma |
- notes can now be sent to the whole Raid as well as the your immediate Party members. On the Send Note frame, a Left Click will still send a note to just your Party; But a Right Click will send the note to everyone in the Raid. |
(Other members of your Party/Raid must have MapNotes(Fan's Update) installed to receive the note) |
- the actual Party Note itself can now also be sent to the all members of the Raid. <Shift><Right-Click> will still just send to your immediate Party members, but <Control><Shift><Right-Click> will set a Party Note for the entire Raid. |
(Other members of your Party/Raid must have MapNotes(Fan's Update) installed to receive the note) |
- changed the Chat Frame hooks to address problems with Pet Bars and handling functions when a Pet is summoned while in combat |
- the scale of the Menus and frames has been normalised so that no matter what scale the Map frame is, the MapNotes menus and frames will always be constant. i.e. if you have changed the scale of the World Map or are making notes on AlphaMap or Atlas |
- some small fixes such as making sure the World Map isn't toggled when using the Escape key to close the MapNote editing frame for notes in other AddOns such as AlphaMap or Atlas |
- extended an original bug avoidance measure to try and avoid any possibility of a recursive stack overflow error |
======================================= |
Changes in v3.17.20000 from v3.16.20000 |
======================================= |
- added a new option to the note creation slash command allowing the created note to be set as a mininote ( mn<boolean> i.e. 0 or 1 ) |
Please see the Readme.txt file for more details. |
- fixed a potential MapNotes compatibility issue with Ciphersimian's recent update of WoWKB when deleting notes in multiple zones |
- fixed an issue that could cause the User Interface to remain hidden if entering combat when the map was open |
- the options to "Set next note as mininote Also" and "Set next note as mininote Only", will now remain on until toggled off again |
("/mn -nextmini" and "/mn -minionly") |
======================================= |
Changes in v3.16.20000 from v3.15.20000 |
======================================= |
- made sure that MapNotes are displayed by default when first installing |
- fixed the check mark against the Show Notes options so it correctly displays the option status |
- fixed the Edit Box labels on the Note Edit frame |
======================================= |
Changes in v3.15.20000 from v3.12.20000 |
======================================= |
- un-hooking of unnecessary functions to fix the PetDismiss() Blocked Action problem |
(Thanks to Quel for his input in solving this issue) |
(Rumour has it that Blizzard will be addressing this issue themselves, as it seems to have affected many AddOns that Hook DropDownMenu functionality in perfectly benign ways) |
- made sure the Options frame will Show properly |
- fixed some small issues with the positioning of Menu frames when using MapNotes on AlphaMap/Atlas maps |
- update to support ciphersimian's recent update of WoWKB v20000 (i.e. NOT MetaMap) |
- updated the "/MapNotes_Import_MetaMap" command to work with MetaMap v20000-3 and later |
NOTE: although this version of MapNotes (Fan's Update) can fix ZoneShift errors caused by the Blizzard Patch 2.01 in older versions of MapNotes when upgrading to this version, it can't fix any ZoneShift errors when importing data from MetaMap, so if a note was in the wrong Zone in MetaMap, then it will still be in the wrong Zone. |
- variable name clean-up |
- included a data checking function that may help find notes that appear to be missing due to the Zone Shift errors that the WoW 2.01 patch caused in previous versions of MapNotes. If your notes don't seem to be showing, then backup your \SavedVariables\MapNotes.lua file before using the following Slash Command : |
/mn -datacheck |
If that still doesn't help, double check the "ShowNotes" option in the "Quick Options" drop down box on the World Map frame. |
======================================= |
Changes in v3.12.20000 from v3.11.20000 |
======================================= |
- Spanish added to the list of Clients that can be corrected by the datafix introduced in 3.11.20000 |
See Change Log for v3.11.20000 on how to run the datafix manually if you have already imported Zone Shift errors in to your MapNotes (Fan's Update) database. |
- people can now upgrade from old versions of MapNotes to MapNotes (Fan's Update), on English, German, French, and SPANISH Clients, even if they have Zone Shift errors created by the WoW 2.01 Patch, and the data will be corrected automatically, and you won't see any Zone Shift errors. |
- NOTE : I repeat, this datafix should NOT be required by people who had changed to MapNotes (Fan's Update) BEFORE WoW Patch 2.01. |
- NOTE 2 : After upgrading to MapNotes (Fan's Update), you shouldn't have any further Zone Shift problems in the future. |
======================================= |
Changes in v3.11.20000 from v3.10.20000 |
======================================= |
- a datafix will run automatically for people upgrading to MapNotes (Fan's Update) at the same time as upgrading to the WoW 2.01 Patch. |
- included a manual datafix mainly for Cosmos users who already have Zone Shift errors since the WoW 2.01 Patch |
Users who upgraded to MapNotes (Fan's Update) BEFORE the WoW 2.01 Patch should NOT need to run this data fix. |
Non-Cosmos users who have upgraded to WoW 2.01 before changing to MapNotes (Fan's Update) may also find this fix useful. |
NOTE : |
Only use this datafix ONCE, and only if your data contained Zone Shift errors, or they occured after the WoW 2.01 Patch. |
If you have created notes since the WoW 2.01 Patch, and run this datafix, your new notes will also be moved if they are in zones affected by the problem. |
Any MapNotes LandMark notes that have been automatically created since updgrading to MapNotes (Fan's Update) will be deleted. |
Tested for English Client |
Limited testing for French and German Clients - let me know if you still have errors |
No datafix data available for other Clients atm. |
Type the following in to the command line : |
/script MN_WoW_DFix1(1); |
You should receive confirmation of the number of Notes and Lines that have been fixed. |
======================================= |
Changes in v3.10.20000 from v3.00.20000 |
======================================= |
- Multiple Mininotes - can now display more than one Mininote. |
Can still only display one Thottbott Location / PartyNote, but any number of normal MapNotes can now be left displayed as Mininotes. |
- Easily remove Mininotes by <Control><Alt>-Clicking on the actual Mininote on the Minimap |
(This won't delete underlying notes - just stops using them as Mininotes.) |
- Enhanced the Highlighting function to display highlighted notes as Mininotes that can be tracked in the Minimap. |
'/mn -hl <Note Name>' will highlight all notes with that name, on all maps. |
'/mn -s <text>' allows you to search for text, and will report to the Chat frame all zones with notes containing the text |
- Where the user has selected to make the next received/created note as a Mininote Only, then that note will be displayed as a Thottbott style note. Any existing Thottbott Mininote the user may already be displaying will be overidden by the new note. |
- Legacy Slash Commands still work : But new Slash commands implemented, including a help command. |
"/mn -help" or "/mn -h" or "/mn -?" |
- Fixed a small bug in generating a MapNotes string in the Send Note frame |
- Fixed a small bug when creating notes via Slash command input |
- Fixed a BC compatibility problem when clicking on Mininotes |
- Fixed a BC compatibility issue with drawing lines between notes on Plugin frames/maps, such as AlphaMap or Atlas |
- "/tloc" can now be used to toggle this AddOn's minimap coordinates instead of Thottbott's minimap coordinates. |
NOTE : PLEASE still use "/mntloc xx,yy" or "/mn -tloc xx,yy" to place a Thottbott marker on the map. |
---- |
("/tloc" only toggles Minimap Coordinates.) |
======================================= |
Changes in v3.00.20000 from v2.40.11200 |
======================================= |
- Burning Crusade Compatibility |
- changed the way the options work so that using a Checkbox takes affect immediately and the 'Save' button is no longer required |
- added new check-box on Options frame to auto-note Landmarks. Based on Magellan functionality. |
- added new button on Options frame to delete auto-noted Landmarks in the current zone. |
======================================= |
Changes in v2.40.11200 from v2.30.11200 |
======================================= |
- Added 90% Traditional Chinese Localisation |
- If the Thottbott note is set as a Mininote, then I now make sure the Mininote is removed when the Thottbott note is deleted. |
(Thottbott notes are set using the "/mntloc xx,yy" slash command) |
- Some preliminary coding changes for compatiblity with The Burning Crusade Expansion pack. (Not fully compatible yet) |
======================================= |
Changes in v2.30.11200 from v2.25.11200 |
======================================= |
- Added 90% Korean Localisation (Thanks to Gigabyte) |
- Fixed a compatibility issue with AddOns that intercept Mouse clicks on the MiniMap (e.g. SilverTrack) |
- Made sure coordinates are correct for current Zone when the WorldMap / AlphaMap closes |
- Removed a debug message about MiniNote Map Key that should not have been left in ;p |
======================================= |
Changes in v2.25.11200 from v2.00.11200 |
======================================= |
- NEW option to display Player and Cursor Coordinates on the World Map. |
Control-Left-Click and drag the coordinates to move them to a different position on the World Map if you are not happy with the default. |
Use the "/mnmapc" slash command to toggle display of World Map coordinates, or the new checkbox on the Options Frame |
- NEW option to display Player Coordinates below the Minimap. |
If you are NOT targetting anything, then ALT-Left-Click on these coordinates to create a QuickNote. |
If you are targetting something, then ALT-Left-Click to create a Target Note at the PLAYER'S current location - you will be warned if you are too near to an existing note to create a new note. |
If you are targetting something, then you may also ALT-Right-Click if you wish to create a note for your Target at the PLAYER'S current location. However when ALT-Right-Clicking the Minimap Coordinates, if a MapNote already exists at Player's location, then the details will be merged with the existing note. |
Use the "/mnminic" slash command to toggle display of Minimap coordinates, or the new checkbox on the Options Frame. |
- NEW Key bindings available that will do the same thing as Clicking on the Minimap Coordinates. |
i.e. either create a new QuickNote/TargetNote, or Create/Merge a TargetNote. |
- NEW Slash commands can be used for the same functions : |
/mnt - create a new QuickNote/TargetNote at the player's Current location |
/mnm - create/merge a TargetNote for the Player's current target at the Player's current location |
================================================================== |
Changes from the Base Version to MapNotes(Fan's Update)v2.00.11200 |
================================================================== |
NOTE: IF UPGRADING FROM PREVIOUS VERSIONS OF MAPNOTES - BACKUP YOUR MAPNOTES.LUA |
DATABASE FILE FROM YOUR SAVEDVARIABLES FOLDER FIRST |
- This version of MapNotes changes the Keying system used to record notes. If you are upgrading from a previous version of MapNotes, then it is important to save a copy of your MapNotes.lua file from your saved variables directory. |
Because of these changes, people upgrading from old versions will lose there old style data and will not be able to revert to their old version unless they have saved a copy of their MapNotes.lua database file. |
See the "MapNotes ZoneShift Conversions" section of the Readme.txt file for more details. |
- You can now make notes on the Continent Maps and the overal World Map |
- You can now make notes on Battleground Maps |
MapNotes PlugIn Interface and Support for AlphaMap & Atlas |
---------------------------------------------------------- |
- Added the ability to create MapNotes on AlphaMap (Fan's Update) v2.60.11200 Instance, Battleground, & World Boss Maps. Note that AlphaMap already supports the display of MapNotes on World maps, and you must still use the World Map to create World map notes; However, you can now make MapNotes on the AlphaMap when displaying Instances, Battlegrounds, and World Boss maps.(This functionality is actually built in to AlphaMap itself, and takes advantage of the PlugIn feature now built in to this version of MapNotes.) |
- Added the ability to create MapNotes on Atlas maps. (Again, this uses the Plugin features added to this version of MapNotes, but I have included the Atlas support natively, and it should work with most recent versions of Atlas) |
- Provided a PlugIn interface by which other AddOns can add their own Frames over which MapNotes can then create MapNotes. Other Developers should see the extensive comments in the code, and check AlphaMap (Fan's Update) for an example of how to use this interface. (Read Plugins.lua) |
MapNotes Import Functions |
------------------------- |
- For people moving from MetaMap or CTMapMod, there are 2 new slash commands available for people to import the notes made in those AddOns in to this version of MapNotes. |
There are also 2 commands available to import AlphaMap's built in notes if you prefer to use MapNotes notes instead of AlphaMap's own. |
All of these functions are mainly designed for people who have just installed MapNotes (Fan's Update). If you have been using this version of MapNotes for some time already, and have your own notes, then these functions may overwrite your existing notes. |
See the Slash Commands section for details on use. |
Movable MapNotes |
---------------- |
- You can now Control-Alt-Click Drag Notes to move them to different locations on the Map. No need to delete and re-create, just ctrl-alt-drag. |
Changes to the Party Note |
------------------------- |
- First of all, the bug causing it to not be displayed on the World Map has been fixed. |
- Shift-Right clicking places the note, and now Shift-Right clicking will also remove it, and make sure the MiniMap icon is also removed |
- Removed the dependancy on Sky. Only members of your Party who also have MapNotes (Fan's Update) installed will receive a note. You will NOT spam the members of your party who do not have this AddOn with strange MapNotes coordinates. |
Changes to the MiniMapNote |
-------------------------- |
- Stopped the Mininote from preventing use of the WorldMap |
- Made sure the Mininote stops displaying if the underlying MapNote is deleted |
Change to Maximum number of Notes |
--------------------------------- |
- No longer a maximum number of notes/lines. Notes and Lines are now created dynamically which will save memory for most people |
MapNotes Search Feature |
----------------------- |
- Can now search your MapNotes database for certain text, and MapNotes will report the number and locations of all notes containing that text to the default chat window |
(SEE Slash Commands) |
MapNotes Highlighting |
--------------------- |
- If you have lots of notes and want to clearly identify a single one on a map, or if you want a certain note to remain highlighted, then use this command and they will be displayed with a green circle around them. |
If there are several notes with that name, then they will all be highlighted |
(SEE Slash Commands) |
Miscallaneous Changes |
--------------------- |
- Compatibility changes ensuring the menu frames are always fully opaque and appear near the cursor when the WorldMap has been altered by other AddOns. |
- Made some updates more immediate so that maps/frames show new/deleted notes/lines as soon as you add/delete them. |
- Multiple small bug fixes |
SEE Readme.old.txt FOR HISTORIC CHANGES TO EARLIER VERSIONS OF MAPNOTS |
<!-- |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
--> |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/FrameXML/UI.xsd"> |
<Frame name="MapNotesOptionsFrame" inherits="MapNotes_FrameTemplate" frameStrata="TOOLTIP" parent="UIParent"> |
<Size> |
<AbsDimension x="450" y="372"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString inherits="GameFontGreenLarge" text="MAPNOTES_OPTIONS_MENU"> |
<Anchors> |
<Anchor point="TOP" relativeTo="MapNotesOptionsFrame"> |
<Offset><AbsDimension x="0" y="-8"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Frames> |
<Button name="MapNotesButtonDeleteLandMarks" inherits="MapNotes_ButtonTemplate" text="MAPNOTES_DELETELANDMARKS"> |
<Anchors> |
<Anchor point="CENTER" relativePoint="Bottom"> |
<Offset> |
<AbsDimension x="-102.5" y="30"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnClick> |
PlaySound("igMainMenuOption"); |
MapNotes_DeleteLandMarks(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
</Scripts> |
</Button> |
<Button name="$parentCancel" inherits="MapNotes_ButtonTemplate" text="CLOSE"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesButtonDeleteLandMarks"> |
<Offset> |
<AbsDimension x="20" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnClick> |
PlaySound("igMainMenuOption"); |
MapNotesOptionsFrame:Hide(); |
</OnClick> |
</Scripts> |
</Button> |
<EditBox name="MapNotes_GhostTextBox" autoFocus="true" historyLines="0" letters="0" hidden="false"> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnEscapePressed> |
MapNotesOptionsFrame:Hide(); |
</OnEscapePressed> |
</Scripts> |
</EditBox> |
<CheckButton name="MapNotesOptionsCheckbox0" id="0"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="50" y="-30"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon0Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon0"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox1" id="1"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox0"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon1Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon1"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox2" id="2"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox1"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon2Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon2"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox3" id="3"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox2"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon3Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon3"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox4" id="4"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox3"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon4Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon4"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox5" id="5"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox0"> |
<Offset><AbsDimension x="0" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon5Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon5"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox6" id="6"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox5"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon6Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon6"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox7" id="7"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox6"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon7Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon7"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox8" id="8"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox7"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon8Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon8"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox9" id="9"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckbox8"> |
<Offset><AbsDimension x="60" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="MapNotesOptionsIcon9Texture" file="Interface\AddOns\MapNotes\POIIcons\Icon9"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox10" id="10"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset><AbsDimension x="50" y="-78"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckbox10Text" inherits="GameFontNormalSmall" text="MAPNOTES_OWNNOTES"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="1" y="1"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox11" id="11"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox10"> |
<Offset><AbsDimension x="0" y="3"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckbox11Text" inherits="GameFontNormalSmall" text="MAPNOTES_OTHERNOTES"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="1" y="1"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox12" id="12"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox11"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckbox12Text" inherits="GameFontNormalSmall" text="MAPNOTES_HIGHLIGHT_LASTCREATED"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="1" y="1"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox13" id="13"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox12"> |
<Offset><AbsDimension x="0" y="3"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckbox13Text" inherits="GameFontNormalSmall" text="MAPNOTES_HIGHLIGHT_MININOTE"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="1" y="1"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox14" id="14"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox13"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckbox14Text" inherits="GameFontNormalSmall" text="MAPNOTES_ACCEPTINCOMING"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="1" y="1"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
MapNotesOptionsCheckbox15:Enable(); |
MapNotesOptionsCheckbox15Text:SetTextColor(NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
MapNotesOptionsCheckbox15:Disable(); |
MapNotesOptionsCheckbox15Text:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox15" hidden="true" id="15"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox14"> |
<Offset><AbsDimension x="20" y="3"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckbox15Text" inherits="GameFontNormalSmall" text="MAPNOTES_INCOMING_CAP"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="1" y="1"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckbox16" id="16"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox14"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckbox16Text" inherits="GameFontNormalSmall" text="MAPNOTES_AUTOPARTYASMININOTE"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset><AbsDimension x="1" y="1"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
end |
MapNotes_WriteOptions(); |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckboxMapC"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckbox16"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckboxMapCText" inherits="GameFontNormalSmall" text="MAPNOTES_MAP_COORDS"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset> |
<AbsDimension x="1" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
MapNotes_Options.mapC = true; |
MN_SetCoordsPos(); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
MapNotes_Options.mapC = nil; |
MN_SetCoordsPos(); |
end |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckboxMiniC"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MapNotesOptionsCheckboxMapC"> |
<Offset> |
<AbsDimension x="150" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckboxMiniCText" inherits="GameFontNormalSmall" text="MAPNOTES_MINIMAP_COORDS"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset> |
<AbsDimension x="1" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
MN_MinimapCoordsFrame:Show(); |
MapNotes_Options.miniC = true; |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
MN_MinimapCoordsFrame:Hide(); |
MapNotes_Options.miniC = false; |
end |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<CheckButton name="MapNotesOptionsCheckboxLM"> |
<Size> |
<AbsDimension x="20" y="20"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MapNotesOptionsCheckboxMapC"> |
<Offset><AbsDimension x="0" y="-1"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MapNotesOptionsCheckboxLMText" inherits="GameFontNormalSmall" text="MAPNOTES_LANDMARKS_CHECK"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT"> |
<Offset> |
<AbsDimension x="1" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnClick> |
if this:GetChecked() then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
MapNotes_Options.landMarks = true; |
<!-- MapNotes_CreateLandMarks(); --> |
MapNotes_IterateLandMarks(true); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
MapNotes_Options.landMarks = nil; |
end |
MapNotes_GhostTextBox:SetFocus(true); |
</OnClick> |
<OnEnter> |
GameTooltip:SetOwner(this, "ANCHOR_CURSOR"); |
GameTooltip:SetText(MAPNOTES_MAGELLAN); |
GameTooltip:Show(); |
GameTooltip:SetFrameLevel( this:GetFrameLevel() + 1 ); |
</OnEnter> |
<OnLeave> |
GameTooltip:Hide(); |
</OnLeave> |
<OnShow> |
this:SetFrameLevel( MapNotesOptionsFrame:GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
<NormalTexture file="Interface\Buttons\UI-CheckBox-Up"/> |
<PushedTexture file="Interface\Buttons\UI-CheckBox-Down"/> |
<HighlightTexture file="Interface\Buttons\UI-CheckBox-Highlight" alphaMode="ADD"/> |
<CheckedTexture file="Interface\Buttons\UI-CheckBox-Check"/> |
<DisabledCheckedTexture file="Interface\Buttons\UI-CheckBox-Check-Disabled"/> |
</CheckButton> |
<Slider name="MN_FrameSlider" hidden="false" enabled="true" inherits="OptionsSliderTemplate"> |
<Size> |
<AbsDimension x="165" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="MapNotesOptionsCheckboxLM"> |
<Offset><AbsDimension x="0" y="-16"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MN_FrameSliderValue" inherits="GameFontGreenSmall"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_FrameSliderText"> |
<Offset> |
<AbsDimension x="2" y="0" /> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
MN_FrameSliderText:SetPoint("BOTTOM", "MN_FrameSlider", "TOP", -10, 0); |
MN_FrameSliderText:SetText(MAPNOTES_CHAT_COMMAND_SCALE); |
MN_FrameSlider:SetMinMaxValues(0.5,1.5); |
MN_FrameSlider:SetValueStep(0.05); |
</OnLoad> |
<OnMouseUp> |
MapNotes_ScaleFrames(); |
</OnMouseUp> |
<OnValueChanged> |
MapNotes_Options.nFactor = MN_FrameSlider:GetValue(); |
MN_FrameSliderValue:SetText( math.floor(MN_FrameSlider:GetValue() * 100) .. "%" ); |
</OnValueChanged> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 2 ); |
if ( MapNotes_Options.nFactor ) then |
MN_FrameSlider:SetValue( MapNotes_Options.nFactor ); |
end |
</OnShow> |
</Scripts> |
</Slider> |
<Slider name="MN_IconSlider" hidden="false" enabled="true" inherits="OptionsSliderTemplate"> |
<Size> |
<AbsDimension x="165" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_FrameSlider"> |
<Offset><AbsDimension x="21" y="0"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MN_IconSliderValue" inherits="GameFontGreenSmall"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_IconSliderText"> |
<Offset> |
<AbsDimension x="2" y="0" /> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
MN_IconSliderText:SetPoint("BOTTOM", "MN_IconSlider", "TOP", -10, 0); |
MN_IconSliderText:SetText(MAPNOTES_CHAT_COMMAND_ISCALE); |
MN_IconSlider:SetMinMaxValues(8,48); |
MN_IconSlider:SetValueStep(1); |
</OnLoad> |
<OnMouseUp> |
MapNotes_WorldMapButton_OnUpdate(); |
</OnMouseUp> |
<OnValueChanged> |
MapNotes_Options.iFactor = MN_IconSlider:GetValue(); |
MN_IconSliderValue:SetText( MN_IconSlider:GetValue() ); |
MapNotes_WorldMapButton_OnUpdate(); |
</OnValueChanged> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
</Slider> |
<Slider name="MN_AlphaSlider" hidden="false" enabled="true" inherits="OptionsSliderTemplate"> |
<Size> |
<AbsDimension x="165" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="MN_IconSlider"> |
<Offset><AbsDimension x="0" y="-24"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MN_AlphaSliderValue" inherits="GameFontGreenSmall"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_AlphaSliderText"> |
<Offset> |
<AbsDimension x="2" y="0" /> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
MN_AlphaSliderText:SetPoint("BOTTOM", "MN_AlphaSlider", "TOP", -10, 0); |
MN_AlphaSliderText:SetText(MAPNOTES_CHAT_COMMAND_ASCALE); |
MN_AlphaSlider:SetMinMaxValues(0,1); |
MN_AlphaSlider:SetValueStep(0.1); |
</OnLoad> |
<OnMouseUp> |
MapNotes_WorldMapButton_OnUpdate(); |
</OnMouseUp> |
<OnValueChanged> |
MapNotes_Options.aFactor = MN_AlphaSlider:GetValue(); |
MN_AlphaSliderValue:SetText( math.floor( MN_AlphaSlider:GetValue() * 10 ) * 10 .. "%" ); |
MapNotes_WorldMapButton_OnUpdate(); |
</OnValueChanged> |
<OnShow> |
this:SetFrameLevel( this:GetParent():GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
</Slider> |
<Slider name="MN_CoordSlider" hidden="false" enabled="true" inherits="OptionsSliderTemplate"> |
<Size> |
<AbsDimension x="165" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="MN_FrameSlider"> |
<Offset><AbsDimension x="0" y="-24"/></Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MN_CoordSliderValue" inherits="GameFontGreenSmall"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MN_CoordSliderText"> |
<Offset> |
<AbsDimension x="2" y="0" /> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
MN_CoordSliderText:SetPoint("BOTTOM", "MN_CoordSlider", "TOP", -10, 0); |
MN_CoordSliderText:SetText(MN_CODEC_FMT); |
MN_CoordSlider:SetMinMaxValues(0,2); |
MN_CoordSlider:SetValueStep(1); |
</OnLoad> |
<OnValueChanged> |
MapNotes_Options.coordF = math.floor( MN_CoordSlider:GetValue() * 10 ) / 10; |
MN_COORD_F = MapNotes_Options.coordF; |
MN_CoordSliderValue:SetText( MN_CoordSlider:GetValue() ); |
</OnValueChanged> |
<OnShow> |
self:SetValue( MN_COORD_F ); |
self:SetFrameLevel( this:GetParent():GetFrameLevel() + 2 ); |
</OnShow> |
</Scripts> |
</Slider> |
</Frames> |
<Scripts> |
<OnLoad> |
this:SetBackdropColor(0,0,0); |
</OnLoad> |
<OnShow> |
MapNotes_NormaliseScale(this); |
MapNotes_OpenOptionsFrame(); |
</OnShow> |
<OnHide> |
this:SetParent("UIParent"); |
</OnHide> |
</Scripts> |
</Frame> |
<Frame name="MN_MapCoords" movable="true" toplevel="true" hidden="true" parent="WorldMapFrame"> <!-- Try ...Frame instead of ...Button parent --> |
<Size> |
<AbsDimension x="90" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativeTo="WorldMapButton" relativePoint="BOTTOMLEFT" > |
<Offset> |
<AbsDimension x="16" y="532"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MN_MapCoordsText" inherits="GameFontNormalLarge" text="Player" hidden="false" justifyH="CENTER" justifyV="BOTTOM" > |
<Color r="1.0" g="1.0" b="1.0"/> |
<Anchors> |
<Anchor point="LEFT"> |
<Offset> |
<AbsDimension x="2" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Frames> |
<Frame name="MN_MapCoordsMovementFrame" hidden="true" setAllPoints="true" enableMouse="true" movable="true"> |
<Scripts> |
<OnShow> |
this:SetFrameLevel(MN_MapCoords:GetFrameLevel() + 1); |
</OnShow> |
<OnMouseDown> |
MN_MapCoords.isMoving = true; |
MN_RememberCoordsPos(); |
MN_MapCoords:StartMoving(); |
</OnMouseDown> |
<OnMouseUp> |
if ( MN_MapCoords.isMoving ) then |
MN_MapCoords:StopMovingOrSizing(); |
MN_MapCoords.isMoving = false; |
MN_RememberCoordsPos(); |
end |
</OnMouseUp> |
</Scripts> |
</Frame> |
</Frames> |
<Scripts> |
<OnShow> |
this:SetFrameStrata("TOOLTIP"); |
</OnShow> |
<OnUpdate> |
MN_MapCoords_OnUpdate(self, arg1); |
</OnUpdate> |
</Scripts> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="5" right="5" top="5" bottom="5"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="16"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="16"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<Button name="MN_MinimapCoordsFrame" clampedToScreen="true" frameStrata="LOW" enableMouse="true" movable="true" hidden="true" parent="UIParent"> |
<Size> |
<AbsDimension x="90" y="28"/> |
</Size> |
<Anchors> |
<Anchor point="TOP" relativeTo="MinimapCluster" relativePoint="BOTTOM"> |
<Offset> |
<AbsDimension x="8" y="16"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MN_MinimapCoordsFrameText" inherits="GameFontNormal" text="Player" hidden="false" justifyH="CENTER" justifyV="BOTTOM" > |
<Anchors> |
<Anchor point="LEFT"> |
<Offset> |
<AbsDimension x="6" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Scripts> |
<OnUpdate> |
MN_MinimapCoords_OnUpdate(self, arg1); |
</OnUpdate> |
<OnMouseDown> |
HideDropDownMenu(1); |
if ( arg1 == "LeftButton" ) then |
self:StartMoving(); |
else |
MN_MinimapCoords_OnClick(); |
end |
</OnMouseDown> |
<OnMouseUp> |
if ( arg1 == "LeftButton" ) then |
self:StopMovingOrSizing(); |
end |
</OnMouseUp> |
</Scripts> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="5" right="5" top="5" bottom="5"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="16"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="16"/> |
</EdgeSize> |
</Backdrop> |
</Button> |
</Ui> |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
MN_PARTY_ICON = nil; -- Replace with the Name of the icon's graphics file INCLUDING the Path from Interface\\ as per below |
MN_TLOC_ICON = nil; -- Replace with the Name of the icon's graphics file INCLUDING the Path from Interface\\ as per below |
MN_MISC_GFX_PATH = "Interface\\AddOns\\MapNotes\\MiscGFX"; -- Moved here as now also used in Utilities.lua |
MN_POI_ICONS_PATH = "Interface\\AddOns\\MapNotes\\POIIcons"; |
MapNotes_Colors = {}; |
MapNotes_Colors[0] = {r = 1.0, g = 0.82, b = 0.0}; |
MapNotes_Colors[1] = {r = 0.55, g = 0.46, b = 0.04}; |
MapNotes_Colors[2] = {r = 0.87, g = 0.06, b = 0.0}; |
MapNotes_Colors[3] = {r = 0.56, g = 0.0, b = 0.0}; |
MapNotes_Colors[4] = {r = 0.18, g = 0.7, b = 0.2}; |
MapNotes_Colors[5] = {r = 0.0, g = 0.39, b = 0.05}; |
MapNotes_Colors[6] = {r = 0.42, g = 0.47, b = 0.87}; |
MapNotes_Colors[7] = {r = 0.25, g = 0.35, b = 0.66}; |
MapNotes_Colors[8] = {r = 1.0, g = 1.0, b = 1.0}; |
MapNotes_Colors[9] = {r = 0.65, g = 0.65, b = 0.65}; |
-- In Order for another AddOn to replace the default Icons and colours they should take the following steps : |
-- |
-- Modification of colours is no longer fully supported - as users can now select their own |
-- A Modified colour table can still be supplied above to modify the defaults, but no need to SetTextures |
-- (If you do SetTextures - they will be reset to by the program and the supplied colour table used anyway) |
-- |
-- 1.) Make MapNotes a Required Dependancy for their AddOn |
-- 2.) Provide their own graphics in their own AddOn's Library Path |
-- 3.) Include an OnEven function in their AddOn which takes the following steps, once "VARIABLES_LOADED" has occurred : |
-- - Replace the _PATH Constants above, with Directory Paths pointing to their own AddOn's graphics |
-- - Replace the MapNotes_Colors array above with their own colour choices |
-- - Include the following code snippet that has been commented out below : |
-- |
-- for i = 0, 9, 1 do |
-- getglobal("MN_EditIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
-- getglobal("MapNotesOptionsIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
-- end |
-- |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
Special thanks to Vjeux for the French translation |
]] |
-- À: C3 80 - \195\128 |
-- à: C3 A0 - \195\160 |
-- â: C3 A2 - \195\162 |
-- ç: C3 A7 - \185\167 |
-- è: C3 A8 - \195\168 |
-- é: C3 A9 - \195\169 |
-- ê: C3 AA - \195\170 |
-- ë: C3 AB - \195\171 |
-- î: C3 AE - \195\174 |
-- ô: C3 B4 - \195\180 |
-- û: C3 BB - \195\187 |
-- ': E2 80 99 - \226\128\153 |
if GetLocale() == "frFR" then |
-- General |
MAPNOTES_NAME = "MapNotes" |
MAPNOTES_ADDON_DESCRIPTION = "Ajoute un syst\195\168me de note au WorldMap." |
MAPNOTES_DOWNLOAD_SITES = "Voir le dossier de README" |
-- Interface Configuration |
MAPNOTES_WORLDMAP_HELP_1 = "Bon Clic Sur La Carte \195\128 bourdonner Dehors" |
MAPNOTES_WORLDMAP_HELP_2 = "Clic Gauche Sur La Carte \195\128 bourdonner Dedans" |
MAPNOTES_WORLDMAP_HELP_3 = "<Commande>+Bon Clic Sur La Carte Pour ouvrir Le Menu De Notes De Carte" |
MAPNOTES_CLICK_ON_SECOND_NOTE = "|cFFFF0000MapNotes:|r Choisissez une Note pour tracer/effacer une ligne" |
MAPNOTES_NEW_MENU = "Notes De Carte" |
MAPNOTES_NEW_NOTE = "Cr\195\169er une Note" |
MAPNOTES_MININOTE_OFF = "D\195\169sactiver MiniNotes" |
MAPNOTES_OPTIONS = "Options" |
MAPNOTES_CANCEL = "Annuler" |
MAPNOTES_POI_MENU = "Notes De Carte" |
MAPNOTES_EDIT_NOTE = "Modifier Note" |
MAPNOTES_MININOTE_ON = "Utiliser comme MiniNote" |
MAPNOTES_SPECIAL_ACTIONS = "Actions sp\195\169ciales" |
MAPNOTES_SEND_NOTE = "Envoyer Note" |
MAPNOTES_SPECIALACTION_MENU = "Actions sp\195\169ciales" |
MAPNOTES_TOGGLELINE = "Cr\195\169er/Supprimer la ligne" |
MAPNOTES_DELETE_NOTE = "Supprimer la Note" |
MAPNOTES_EDIT_MENU = "Modifier une Note" |
MAPNOTES_SAVE_NOTE = "Sauvegarder" |
MAPNOTES_EDIT_TITLE = "Titre (requis):" |
MAPNOTES_EDIT_INFO1 = "Ligne D\226\128\153Information 1 (optionel):" |
MAPNOTES_EDIT_INFO2 = "Ligne D\226\128\153Information 2 (optionel):" |
MAPNOTES_EDIT_CREATOR = "Cr\195\169ateur (optionel):" |
MAPNOTES_SEND_MENU = "Envoyer Note" |
MAPNOTES_SLASHCOMMAND = "Changer de Mode" |
MAPNOTES_SEND_TITLE = "Envoyer Note:" |
MAPNOTES_SEND_TIP = "Les Notes peuvent \195\170tre re\185\167ues par tous les utilisateurs de MapNotes(Fan's Update)." |
MAPNOTES_SEND_PLAYER = "Nom du joueur :" |
MAPNOTES_SENDTOPLAYER = "Envoyer au joueur" |
MAPNOTES_SENDTOPARTY = "Envoyer au groupe/raid" |
MAPNOTES_SENDTOPARTY_TIP = "Claquement gauche - Partie\nClaquement droit - Raid"; |
MAPNOTES_SHOWSEND = "Changer de Mode" |
MAPNOTES_SEND_SLASHTITLE = "Obtenir la /commande :" |
MAPNOTES_SEND_SLASHTIP = "Selectionnez ceci et utilisez CTRL+C pour la copier dans le presse-papier. (Vous pouvez ensuite l\226\128\153envoyer sur un forum par exemple)" |
MAPNOTES_SEND_SLASHCOMMAND = "/Commande :" |
MAPNOTES_OPTIONS_MENU = "Options" |
MAPNOTES_SAVE_OPTIONS = "Sauvegarder" |
MAPNOTES_OWNNOTES = "Afficher les notes cr\195\169\195\169es par votre personnage." |
MAPNOTES_OTHERNOTES = "Afficher les Notes re\185\167ues des autres joueurs." |
MAPNOTES_HIGHLIGHT_LASTCREATED = "Mettre en \195\169vidence (en |cFFFF0000rouge|r) la derni\195\168re Note cr\195\169\195\169e." |
MAPNOTES_HIGHLIGHT_MININOTE = "Mettre en \195\169vidence (en |cFF6666FFbleu|r) la Note selectionn\195\169e." |
MAPNOTES_ACCEPTINCOMING = "Accepter les Notes des autres utilisateurs." |
MAPNOTES_INCOMING_CAP = "Refuser une Note si vous avez moins de 5 Notes disponibles." |
MAPNOTES_AUTOPARTYASMININOTE = "Membres du groupe en MiniNote." |
MAPNOTES_CREATEDBY = "Cr\195\169\195\169 par" |
MAPNOTES_CHAT_COMMAND_ENABLE_INFO = "Cette commande vous permet d\226\128\153ajouter une Note trouv\195\169e sur une page web par exemple." |
MAPNOTES_CHAT_COMMAND_ONENOTE_INFO = "Autorise la r\195\169ception de la prochaine Note." |
MAPNOTES_CHAT_COMMAND_MININOTE_INFO = "Mettre la prochaine Note re\185\167ue en tant que MiniNote (avec une copie sur la carte)." |
MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO = "Mettre la prochaine Note re\185\167ue en tant que MiniNote (seulement sur la minicarte)." |
MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO = "D\195\169sactiver MiniNote." |
MAPNOTES_CHAT_COMMAND_MNTLOC_INFO = "Ajoute une position sur la carte." |
MAPNOTES_CHAT_COMMAND_QUICKNOTE = "Cr\195\169er une Note \195\160 votre position actuelle." |
MAPNOTES_CHAT_COMMAND_QUICKTLOC = "Cr\195\169er une Note \195\160 la position donn\195\169e." |
MAPNOTES_MAPNOTEHELP = "Cette commande ne peut \195\170tre utilis\195\169e que pour ajouter une Note." |
MAPNOTES_ONENOTE_OFF = "Autoriser une Note : D\195\169sactiv\195\169" |
MAPNOTES_ONENOTE_ON = "Autoriser une Note : Activ\195\169" |
MAPNOTES_MININOTE_SHOW_0 = "Prochaine Note en MiniNote: D\195\169sactiv\195\169" |
MAPNOTES_MININOTE_SHOW_1 = "Prochaine Note en MiniNote: Activ\195\169" |
MAPNOTES_MININOTE_SHOW_2 = "Prochaine Note en MiniNote: Seulement" |
MAPNOTES_DECLINE_SLASH = "Ajout impossible, trop de Notes dans la zone |cFFFFD100%s|r." |
MAPNOTES_DECLINE_SLASH_NEAR = "Ajout impossible, Note trop proche de |cFFFFD100%q|r dans |cFFFFD100%s|r." |
MAPNOTES_DECLINE_GET = "R\195\169ception impossible, trop de Notes dans la zone |cFFFFD100%s|r, ou la r\195\169ception de Notes est d\195\169sactiv\195\169e." |
MAPNOTES_ACCEPT_SLASH = "Note ajout\195\169 dans |cFFFFD100%s|r." |
MAPNOTES_ACCEPT_GET = "Vous avez re\185\167u la Note \226\128\153|cFFFFD100%s|r dans |cFFFFD100%s|r." |
MAPNOTES_PARTY_GET = "|cFFFFD100%s|r utilis\195\169 comme Note de g\226\128\153roupe dans |cFFFFD100%s|r." |
MAPNOTES_DECLINE_NOTETONEAR = "|cFFFFD100%s|r a essay\195\169 de vous envoyer la Note |cFFFFD100%s|r, mais elle est trop proche de |cFFFFD100%q|r." |
MAPNOTES_QUICKNOTE_NOTETONEAR = "Cr\195\169ation impossible. Vous \195\170tes trop proche de |cFFFFD100%s|r." |
MAPNOTES_QUICKNOTE_NOPOSITION = "Cr\195\169ation impossible. Impossible de r\195\169cup\195\169rer votre position actuelle." |
MAPNOTES_QUICKNOTE_DEFAULTNAME = "Quicknote" |
MAPNOTES_QUICKNOTE_OK = "Cr\195\169\195\169 dans |cFFFFD100%s|r." |
MAPNOTES_QUICKNOTE_TOOMANY = "Il y a d\195\169ja trop de Notes dans |cFFFFD100%s|r." |
MAPNOTES_DELETED_BY_NAME = "A supprim\195\169 tout le Notes de carte avec le cr\195\169ateur |cFFFFD100%s|r et le nom |cFFFFD100%s|r." |
MAPNOTES_DELETED_BY_CREATOR = "A supprim\195\169 tout le Notes de carte avec le cr\195\169ateur |cFFFFD100%s|r." |
MAPNOTES_QUICKTLOC_NOTETONEAR = "Cr\195\169ation impossible. Trop proche de |cFFFFD100%s|r." |
MAPNOTES_QUICKTLOC_NOZONE = "Cr\195\169ation impossible. Impossible de r\195\169cup\195\169rer la zone actuelle." |
MAPNOTES_QUICKTLOC_NOARGUMENT = "Utilisation: \226\128\153/quicktloc xx,yy [icone] [titre]\226\128\153." |
MAPNOTES_SETMININOTE = "Utiliser comme MiniNote" |
MAPNOTES_THOTTBOTLOC = "Thottbot Position" |
MAPNOTES_PARTYNOTE = "Note de groupe" |
MAPNOTES_CONVERSION_COMPLETE = MAPNOTES_VERSION.." - Changez complet. Veuillez v\195\169rifier vos notes." |
-- Drop Down Menu |
MAPNOTES_SHOWNOTES = "Montrez Les Notes" |
MAPNOTES_DROPDOWNTITLE = "Notes De Carte" |
MAPNOTES_DROPDOWNMENUTEXT = "Options" |
MAPNOTES_WARSONGGULCH = "Goulet des Warsong" |
MAPNOTES_ALTERACVALLEY = "Vall\195\169e d\226\128\153Alterac" |
MAPNOTES_ARATHIBASIN = "Bassin d\226\128\153Arathi" |
MAPNOTES_NETHERSTORM = "L'Eil du Cyclone"; |
MAPNOTES_COSMIC = "Cosmic"; |
-- Coordinates |
MAPNOTES_MAP_COORDS = "Carte Coords"; |
MAPNOTES_MINIMAP_COORDS = "Minimap Coords"; |
-- MapNotes Target & Merging |
MAPNOTES_MERGED = "MapNote Merged for : "; |
MAPNOTES_MERGE_DUP = "MapNote already exists for : "; |
MAPNOTES_MERGE_WARNING = "You must have something targetted to merge notes."; |
BINDING_HEADER_MAPNOTES = "MapNotes"; |
BINDING_NAME_MN_TARGET_NEW = "QuickNote/TargetNote"; |
BINDING_NAME_MN_TARGET_MERGE = "Merge Target Note"; |
MN_LEVEL = "Niveau"; |
-- Magellan Style LandMarks |
MAPNOTES_LANDMARKS = "Landmarks"; -- Landmarks, as in POI, or Magellan |
MAPNOTES_LANDMARKS_CHECK = "Auto-MapNote "..MAPNOTES_LANDMARKS; |
MAPNOTES_DELETELANDMARKS = "Delete "..MAPNOTES_LANDMARKS; |
MAPNOTES_MAGELLAN = "(~Magellan)"; |
MAPNOTES_LM_CREATED = " MapNotes Created in "; |
MAPNOTES_LM_MERGED = " MapNotes Merged in "; |
MAPNOTES_LM_SKIPPED = " MapNotes not Noted in "; |
MAPNOTES_LANDMARKS_NOTIFY = MAPNOTES_LANDMARKS.." Noted in "; |
end |
--[[ |
MapNotes: Adds a note system to the WorldMap and other AddOns that use the Plugins facility provided |
See the README file for more information. |
]] |
-- À: C3 80 - \195\128 |
-- à: C3 A0 - \195\160 |
-- â: C3 A2 - \195\162 |
-- ç: C3 A7 - \185\167 |
-- è: C3 A8 - \195\168 |
-- é: C3 A9 - \195\169 |
-- ê: C3 AA - \195\170 |
-- ë: C3 AB - \195\171 |
-- î: C3 AE - \195\174 |
-- ô: C3 B4 - \195\180 |
-- û: C3 BB - \195\187 |
-- ': E2 80 99 - \226\128\153 |
if GetLocale() == "esES" then |
-- General |
MAPNOTES_NAME = "MapNotes"; |
MAPNOTES_ADDON_DESCRIPTION = "Adds a note system to the WorldMap."; |
MAPNOTES_DOWNLOAD_SITES = "See README for download sites"; |
-- Interface Configuration |
MAPNOTES_WORLDMAP_HELP_1 = "Right-Click On Map To Zoom Out"; |
MAPNOTES_WORLDMAP_HELP_2 = "Left-Click On Map To Zoom In"; |
MAPNOTES_WORLDMAP_HELP_3 = "<Control>+Right-Click On Map To Open "..MAPNOTES_NAME.." Menu"; |
MAPNOTES_CLICK_ON_SECOND_NOTE = "|cFFFF0000"..MAPNOTES_NAME..":|r Choose Second Note To Draw/Clear A Line"; |
MAPNOTES_NEW_MENU = MAPNOTES_NAME; |
MAPNOTES_NEW_NOTE = "Create Note"; |
MAPNOTES_MININOTE_OFF = "Turn MiniNote Off"; |
MAPNOTES_OPTIONS = "Options"; |
MAPNOTES_CANCEL = "Cancel"; |
MAPNOTES_POI_MENU = MAPNOTES_NAME; |
MAPNOTES_EDIT_NOTE = "Edit Note"; |
MAPNOTES_MININOTE_ON = "Set As MiniNote"; |
MAPNOTES_SPECIAL_ACTIONS = "Special Actions"; |
MAPNOTES_SEND_NOTE = "Send Note"; |
MAPNOTES_SPECIALACTION_MENU = "Special Actions"; |
MAPNOTES_TOGGLELINE = "Toggle Line"; |
MAPNOTES_DELETE_NOTE = "Delete Note"; |
MAPNOTES_EDIT_MENU = "Edit Note"; |
MAPNOTES_SAVE_NOTE = "Save"; |
MAPNOTES_EDIT_TITLE = "Title (required):"; |
MAPNOTES_EDIT_INFO1 = "Info Line 1 (optional):"; |
MAPNOTES_EDIT_INFO2 = "Info Line 2 (optional):"; |
MAPNOTES_EDIT_CREATOR = "Creator (optional):"; |
MAPNOTES_SEND_MENU = "Send Note"; |
MAPNOTES_SLASHCOMMAND = "Change Mode"; |
MAPNOTES_SEND_TITLE = "Send Note:"; |
MAPNOTES_SEND_TIP = "These notes can be received by all MapNotes(Fan's Update) users."; |
MAPNOTES_SEND_PLAYER = "Enter player name:"; |
MAPNOTES_SENDTOPLAYER = "Send to player"; |
MAPNOTES_SENDTOPARTY = "Send to party/banda"; |
MAPNOTES_SENDTOPARTY_TIP = "Clic Izquierdo - Party\nClic Derecha - Banda"; |
MAPNOTES_SHOWSEND = "Change Mode"; |
MAPNOTES_SEND_SLASHTITLE = "Get slash Command:"; |
MAPNOTES_SEND_SLASHTIP = "Highlight this and use CTRL+C to copy to clipboard (then you can post it in a forum for example)"; |
MAPNOTES_SEND_SLASHCOMMAND = "/Command:"; |
MAPNOTES_OPTIONS_MENU = "Options"; |
MAPNOTES_SAVE_OPTIONS = "Save"; |
MAPNOTES_OWNNOTES = "Show notes created by your character"; |
MAPNOTES_OTHERNOTES = "Show notes received from other characters"; |
MAPNOTES_HIGHLIGHT_LASTCREATED = "Highlight last created note in |cFFFF0000red|r"; |
MAPNOTES_HIGHLIGHT_MININOTE = "Highlight note selected for MiniNote in |cFF6666FFblue|r"; |
MAPNOTES_ACCEPTINCOMING = "Accept incoming notes from other players"; |
MAPNOTES_INCOMING_CAP = "Decline notes if they would leave less than 5 notes free"; |
MAPNOTES_AUTOPARTYASMININOTE = "Automatically set party notes as MiniNote."; |
MAPNOTES_CREATEDBY = "Created by"; |
MAPNOTES_CHAT_COMMAND_ENABLE_INFO = "This command enables you to instert notes gotten by a webpage for example."; |
MAPNOTES_CHAT_COMMAND_ONENOTE_INFO = "Overrides the options setting, so that the next note you receive is accepted."; |
MAPNOTES_CHAT_COMMAND_MININOTE_INFO = "Displays the next received note directly as MiniNote (and insterts it into the map):"; |
MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO = "Displays the next note received as MiniNote only (not inserted into map)."; |
MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO = "Turns the MiniNote off."; |
MAPNOTES_CHAT_COMMAND_MNTLOC_INFO = "Sets a Thottbott marker on the map."; |
MAPNOTES_CHAT_COMMAND_QUICKNOTE = "Creates a note at the current position on the map."; |
MAPNOTES_CHAT_COMMAND_QUICKTLOC = "Creates a note at the given coordinate position on the map in the current zone."; |
MAPNOTES_CHAT_COMMAND_SEARCH = "Search for notes containing [text]"; |
MAPNOTES_CHAT_COMMAND_HIGHLIGHT = "Highlight MapNotes with the following [title]"; |
MAPNOTES_CHAT_COMMAND_IMPORT_METAMAP = "Imports MetaMapNotes. Intended for people migrating to MapNotes.\nMetaMap must be Installed and Enabled for the command to work. Then Un-Install MetaMap.\nWARNING : Intended for new users. May over-write existing notes."; --Telic_4 |
MAPNOTES_CHAT_COMMAND_IMPORT_ALPHAMAP = "Import AlphaMap's Instance Notes : Requires AlphaMap (Fan's Update) to be Installed and Enabled"; --Telic_4 |
MAPNOTES_MAPNOTEHELP = "This command can only be used to insert a note"; |
MAPNOTES_ONENOTE_OFF = "Allow one note: OFF"; |
MAPNOTES_ONENOTE_ON = "Allow one note: ON"; |
MAPNOTES_MININOTE_SHOW_0 = "Next as MiniNote: OFF"; |
MAPNOTES_MININOTE_SHOW_1 = "Next as MiniNote: ON"; |
MAPNOTES_MININOTE_SHOW_2 = "Next as MiniNote: ONLY"; |
MAPNOTES_DECLINE_SLASH = "Could not add, too many notes in |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_SLASH_NEAR = "Could not add, this note is too near to |cFFFFD100%q|r in |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_GET = "Could not receive note from |cFFFFD100%s|r: too many notes in |cFFFFD100%s|r, or reception disabled in the options."; |
MAPNOTES_ACCEPT_SLASH = "Note added to the map of |cFFFFD100%s|r."; |
MAPNOTES_ACCEPT_GET = "You received a note from |cFFFFD100%s|r in |cFFFFD100%s|r."; |
MAPNOTES_PARTY_GET = "|cFFFFD100%s|r set a new party note in |cFFFFD100%s|r."; |
MAPNOTES_DECLINE_NOTETONEAR = "|cFFFFD100%s|r tried to send you a note in |cFFFFD100%s|r, but it was too near to |cFFFFD100%q|r."; |
MAPNOTES_QUICKNOTE_NOTETONEAR = "Can't create note. You are too near to |cFFFFD100%s|r."; |
MAPNOTES_QUICKNOTE_NOPOSITION = "Can't create note: could not retrieve current position."; |
MAPNOTES_QUICKNOTE_DEFAULTNAME = "Quicknote"; |
MAPNOTES_QUICKNOTE_OK = "Created note on the map of |cFFFFD100%s|r."; |
MAPNOTES_QUICKNOTE_TOOMANY = "There are already too many notes on the map of |cFFFFD100%s|r."; |
MAPNOTES_DELETED_BY_NAME = "Deleted all "..MAPNOTES_NAME.." with creator |cFFFFD100%s|r and name |cFFFFD100%s|r."; |
MAPNOTES_DELETED_BY_CREATOR = "Deleted all "..MAPNOTES_NAME.." with creator |cFFFFD100%s|r."; |
MAPNOTES_QUICKTLOC_NOTETONEAR = "Can't create note. The location is too near to the note |cFFFFD100%s|r."; |
MAPNOTES_QUICKTLOC_NOZONE = "Can't create note: could not retrieve current zone."; |
MAPNOTES_QUICKTLOC_NOARGUMENT = "Usage: '/quicktloc xx,yy [icon] [title]'."; |
MAPNOTES_SETMININOTE = "Set note as new MiniNote"; |
MAPNOTES_THOTTBOTLOC = "Thottbot Location"; |
MAPNOTES_PARTYNOTE = "Party Note"; |
MAPNOTES_WFC_WARN = "Use |c0000FF00'/mn -tloc xx,yy'|r OR |c0000FF00'/mntloc xx,yy'|r to show a location on the map."; |
MAPNOTES_CONVERSION_COMPLETE = MAPNOTES_VERSION.." - Conversion complete. Please check your notes."; -- ?? |
MAPNOTES_TRUNCATION_WARNING = "The Note Text being Sent had to be truncated"; -- ?? |
MAPNOTES_IMPORT_REPORT = " Notes Imported"; -- ?? |
MAPNOTES_NOTESFOUND = " Note(s) Found"; -- ?? |
-- Drop Down Menu |
MAPNOTES_SHOWNOTES = "Show Notes"; |
MAPNOTES_DROPDOWNTITLE = MAPNOTES_NAME; |
MAPNOTES_DROPDOWNMENUTEXT = "Quick Options"; |
MAPNOTES_WARSONGGULCH = "Warsong Gulch"; |
MAPNOTES_ALTERACVALLEY = "Alterac Valley"; |
MAPNOTES_ARATHIBASIN = "Arathi Basin"; |
MAPNOTES_NETHERSTORM = "El Ojo de la Tormenta"; |
MAPNOTES_COSMIC = "Cosmic"; |
-- Coordinates |
MAPNOTES_MAP_COORDS = "Map Coords"; |
MAPNOTES_MINIMAP_COORDS = "Minimap Coords"; |
-- MapNotes Target & Merging |
MAPNOTES_MERGED = "MapNote Merged for : "; |
MAPNOTES_MERGE_DUP = "MapNote already exists for : "; |
MAPNOTES_MERGE_WARNING = "You must have something targetted to merge notes."; |
BINDING_HEADER_MAPNOTES = "MapNotes"; |
BINDING_NAME_MN_TARGET_NEW = "QuickNote/TargetNote"; |
BINDING_NAME_MN_TARGET_MERGE = "Merge Target Note"; |
MN_LEVEL = "Level"; |
-- Magellan Style LandMarks |
MAPNOTES_LANDMARKS = "Landmarks"; -- Landmarks, as in POI, or Magellan |
MAPNOTES_LANDMARKS_CHECK = "Auto-MapNote "..MAPNOTES_LANDMARKS; |
MAPNOTES_DELETELANDMARKS = "Delete "..MAPNOTES_LANDMARKS; |
MAPNOTES_MAGELLAN = "(~Magellan)"; |
MAPNOTES_LM_CREATED = " MapNotes Created in "; |
MAPNOTES_LM_MERGED = " MapNotes Merged in "; |
MAPNOTES_LM_SKIPPED = " MapNotes not Noted in "; |
MAPNOTES_LANDMARKS_NOTIFY = MAPNOTES_LANDMARKS.." Noted in "; |
end |
-- Last Update : 11/03/2006 |
if GetLocale() == "koKR" then |
-- General |
MAPNOTES_NAME = "MapNotes"; |
MAPNOTES_ADDON_DESCRIPTION = "ì¸ê³ ì§ëì ë©ëª¨ ìì¤í ì ì¶ê°í©ëë¤."; |
MAPNOTES_DOWNLOAD_SITES = "ë¤ì´ë¡ë ì¬ì´í¸ìì README íì¼ì ì½ì´ì£¼ì¸ì."; |
-- Interface Configuration |
MAPNOTES_WORLDMAP_HELP_1 = "ì§ë ì¶ì: ë§ì°ì¤ ì¤ë¥¸ìª½ ë²í¼"; |
MAPNOTES_WORLDMAP_HELP_2 = "ì§ë íë: ë§ì°ì¤ ì¼ìª½ ë²í¼"; |
MAPNOTES_WORLDMAP_HELP_3 = MAPNOTES_NAME.." ë©ë´ ì´ê¸°: <컨í¸ë¡¤>+ë§ì°ì¤ ì¤ë¥¸ìª½ ë²í¼"; |
MAPNOTES_CLICK_ON_SECOND_NOTE = "|cFFFF0000"..MAPNOTES_NAME..":|r ë©ëª¨ ìì / ì ê¸ê¸°ë¥¼ í ëë²ì§¸ ë©ëª¨ë¥¼ ì ííì¸ì"; |
MAPNOTES_NEW_MENU = MAPNOTES_NAME; |
MAPNOTES_NEW_NOTE = "ë©ëª¨ ë§ë¤ê¸°"; |
MAPNOTES_MININOTE_OFF = "미ë맵 ë©ëª¨ íì í´ì "; |
MAPNOTES_OPTIONS = "ì¤ì "; |
MAPNOTES_CANCEL = "ì·¨ì"; |
MAPNOTES_POI_MENU = MAPNOTES_NAME; |
MAPNOTES_EDIT_NOTE = "ë©ëª¨ í¸ì§"; |
MAPNOTES_MININOTE_ON = "미ë맵ì ë©ëª¨ í"; |
MAPNOTES_SPECIAL_ACTIONS = "ë©ëª¨ ìì / ì ê¸ê¸°"; |
MAPNOTES_SEND_NOTE = "ë©ëª¨ ë³´ë´ê¸°"; |
MAPNOTES_SPECIALACTION_MENU = "ë©ëª¨ ìì / ì ê¸ê¸°"; |
MAPNOTES_TOGGLELINE = "ë©ëª¨ê° ì ê¸ê¸°"; |
MAPNOTES_DELETE_NOTE = "ë©ëª¨ ìì "; |
MAPNOTES_EDIT_MENU = "ë©ëª¨ í¸ì§"; |
MAPNOTES_SAVE_NOTE = "ì ì¥"; |
MAPNOTES_EDIT_TITLE = "ì 목 (íì ì ë ¥ì¬í):"; |
MAPNOTES_EDIT_INFO1 = "ë´ì© 1 (ì í ì ë ¥ì¬í):"; |
MAPNOTES_EDIT_INFO2 = "ë´ì© 2 (ì í ì ë ¥ì¬í):"; |
MAPNOTES_EDIT_CREATOR = "ìì±ì (ì í ì ë ¥ì¬í):"; |
MAPNOTES_SEND_MENU = "ë©ëª¨ ë³´ë´ê¸°"; |
MAPNOTES_SLASHCOMMAND = "ë³´ë´ê¸° 모ë ë³ê²½"; |
MAPNOTES_SEND_TITLE = "ë©ëª¨ ë³´ë´ê¸°:"; |
MAPNOTES_SEND_TIP = "MapNotes(Fan's Update) 기ë¥ì ì¬ì©íë ì¬ì©ìë¤ìê² ë©ëª¨ë¥¼ ë³´ë¼ ì ììµëë¤."; |
MAPNOTES_SEND_PLAYER = "íë ì´ì´ ì´ë¦ ì ë ¥:"; |
MAPNOTES_SENDTOPLAYER = "íì¬ëìê² ì ì¡"; |
MAPNOTES_SENDTOPARTY = "íí°ììê² ì ì¡"; |
MAPNOTES_SENDTOPARTY_TIP = "Left Click - Party\nRight Click - Raid"; |
MAPNOTES_SHOWSEND = "ë³´ë´ê¸° 모ë ë³ê²½"; |
MAPNOTES_SEND_SLASHTITLE = "/ ëª ë ¹ì´ ë³´ê¸°:"; |
MAPNOTES_SEND_SLASHTIP = "ë¤ìì ëª ë ¹ì CTRL+Aë¡ ì ííìê³ CTRL+Cë¡ ì¹´í¼íì í\nê²ìí ë±ì ì¬ë ¤ì ì 보를 ê³µì í ì ììµëë¤."; |
MAPNOTES_SEND_SLASHCOMMAND = "/ ëª ë ¹ì´:"; |
MAPNOTES_OPTIONS_MENU = "ìµì "; |
MAPNOTES_SAVE_OPTIONS = "ì ì¥"; |
MAPNOTES_OWNNOTES = "ìê¸°ê° ìì±í 맵 ë©ëª¨ íì"; |
MAPNOTES_OTHERNOTES = "ë¤ë¥¸ ì¬ì©ìë¡ë¶í° ë°ì 맵 ë©ëª¨ íì"; |
MAPNOTES_HIGHLIGHT_LASTCREATED = "|cFFFF0000빨ê°ì|rì¼ë¡ ë§ì§ë§ì ìì±í ë©ëª¨ íì"; |
MAPNOTES_HIGHLIGHT_MININOTE = "미ë맵ì íìí ë©ëª¨ë¥¼ |cFF6666FFíëì|rì¼ë¡ íì"; |
MAPNOTES_ACCEPTINCOMING = "ë¤ë¥¸ ì¬ì©ìë¡ë¶í° ë©ëª¨ë°ê¸° íì©"; |
MAPNOTES_INCOMING_CAP = "ë§ë¤ì ìë ë©ëª¨ê° 5ê° ë¯¸ë§ì¼ê²½ì° íì© ìí¨"; |
MAPNOTES_AUTOPARTYASMININOTE = "íí°ìì´ ì¬ì©íê³ ìë 미ë맵 ë©ëª¨ ìë ê³µì " |
MAPNOTES_CREATEDBY = "ëê»ì ìì±"; |
MAPNOTES_CHAT_COMMAND_ENABLE_INFO = "ì´ ëª ë ¹ì´ë ì¹ì¬ì´í¸ ë±ì ì¬ë ¤ì§ ë©ëª¨ë¥¼ ë±ë¡í ë ì¬ì©íë ëª ë ¹ì´ ì ëë¤."; |
MAPNOTES_CHAT_COMMAND_ONENOTE_INFO = "ìµì ì¤ì ë´ìì 무ìíê³ ì´íì ë©ëª¨ë¥¼ íë²ë§ ì ì¡ë°ë ê²ì íì©í©ëë¤."; |
MAPNOTES_CHAT_COMMAND_MININOTE_INFO = "ì´íì ë°ë 맵 ë©ëª¨ë 미ë맵ìë íìí©ëë¤. (ì§ëìë ì¶ê°ë©ëë¤):"; |
MAPNOTES_CHAT_COMMAND_MININOTEONLY_INFO = "ì´íì ë°ë 맵 ë©ëª¨ë¥¼ 미ë맵ìë§ íìí©ëë¤. (ì§ëìë ì¶ê°ëì§ ììµëë¤)."; |
MAPNOTES_CHAT_COMMAND_MININOTEOFF_INFO = "미ë맵ì ë©ëª¨ íì 기ë¥ì í´ì í©ëë¤."; |
MAPNOTES_CHAT_COMMAND_MNTLOC_INFO = "ì§ëì ì¢í를 íìí©ëë¤."; |
MAPNOTES_CHAT_COMMAND_QUICKNOTE = "íì¬ ìì¹ì 맵 ë©ëª¨ë¥¼ ìì±í©ëë¤."; |
MAPNOTES_CHAT_COMMAND_QUICKTLOC = "ì¢í ì 보를 ì ë ¥íì¬ ë§µ ë©ëª¨ë¥¼ ìì±í©ëë¤."; |
MAPNOTES_CHAT_COMMAND_IMPORT_METAMAP = "Imports MetaMapNotes. Intended for people migrating to MapNotes.\nMetaMap must be Installed and Enabled for the command to work. Then Un-Install MetaMap.\nWARNING : Intended for new users. May over-write existing notes."; --Telic_4 |
MAPNOTES_CHAT_COMMAND_IMPORT_ALPHAMAP = "Import AlphaMap's Instance Notes : Requires AlphaMap (Fan's Update) to be Installed and Enabled"; --Telic_4 |
MAPNOTES_MAPNOTEHELP = "ì´ ëª ë ¹ì´ë 맵 ë©ëª¨ë¥¼ ë§ëë ë° ì°ì ëë¤."; |
MAPNOTES_ONENOTE_OFF = "맵 ë©ëª¨ íì©ìí: íì©ìí¨"; |
MAPNOTES_ONENOTE_ON = "맵 ë©ëª¨ íì©ìí: íì©"; |
MAPNOTES_MININOTE_SHOW_0 = "미ë맵 íì ì¬ë¶: íì©ìí¨"; |
MAPNOTES_MININOTE_SHOW_1 = "미ë맵 íì ì¬ë¶: íì©"; |
MAPNOTES_MININOTE_SHOW_2 = "미ë맵 íì ì¬ë¶: 미ë맵ìë§ íì"; |
MAPNOTES_DECLINE_SLASH = "ë©ëª¨ë¥¼ ë§ë¤ ì ììµëë¤. |cFFFFD100%s|r ì§ìì ë무 ë§ì ë©ëª¨ê° ììµëë¤."; |
MAPNOTES_DECLINE_SLASH_NEAR = "ë©ëª¨ë¥¼ ë§ë¤ ì ììµëë¤. |cFFFFD100%s|r ì§ìì |cFFFFD100%q|r ë©ëª¨ê° ë무 ê°ê¹ì´ ììµëë¤."; |
MAPNOTES_DECLINE_GET = "|cFFFFD100%s|rëì¼ë¡ë¶í° ë©ëª¨ë¥¼ ë°ì ì ììµëë¤: |cFFFFD100%s|r ì§ìì ë무 ë§ì ë©ëª¨ê° ìê±°ë, ìµì ìì íì©íì§ ììì¼ë¡ ì¤ì ëì´ ììµëë¤."; |
MAPNOTES_ACCEPT_SLASH = "|cFFFFD100%s|r ì§ìì ë©ëª¨ë¥¼ ì¶ê°í©ëë¤."; |
MAPNOTES_ACCEPT_GET = "|cFFFFD100%s|rëì¼ë¡ë¶í° |cFFFFD100%s|r ì§ìì ë©ëª¨ë¥¼ ì ì¡ë°ììµëë¤."; |
MAPNOTES_PARTY_GET = "|cFFFFD100%s|rëê»ì 모ë íí°ììê² |cFFFFD100%s|r ì§ìì ë©ëª¨ë¥¼ ì ì¡íììµëë¤."; |
MAPNOTES_DECLINE_NOTETONEAR = "|cFFFFD100%s|rëê»ì ë¹ì ìê² |cFFFFD100%s|rì§ìì ë©ëª¨ë¥¼ ë³´ëìµëë¤, íì§ë§ |cFFFFD100%q|r ë©ëª¨ì ìë¦¬ê° ê²¹ì³ ìì±íì§ ëª»íìµëë¤."; |
MAPNOTES_QUICKNOTE_NOTETONEAR = "ë©ëª¨ë¥¼ ë§ë¤ ì ììµëë¤. |cFFFFD100%s|r ë©ëª¨ì ë무 ê°ê¹ì´ ê³³ì ììµëë¤."; |
MAPNOTES_QUICKNOTE_NOPOSITION = "ë©ëª¨ë¥¼ ë§ë¤ ì ììµëë¤: íì¬ ìì¹ ì 보를 ì ì ììµëë¤."; |
MAPNOTES_QUICKNOTE_DEFAULTNAME = "ë¹ ë¥¸ ë©ëª¨"; |
MAPNOTES_QUICKNOTE_OK = "|cFFFFD100%s|r ì§ìì ë©ëª¨ë¥¼ ìì±í©ëë¤."; |
MAPNOTES_QUICKNOTE_TOOMANY = "|cFFFFD100%s|r ì§ìì ì´ë¯¸ ë무 ë§ì ë©ëª¨ê° ììµëë¤."; |
MAPNOTES_DELETED_BY_NAME = "Deleted all "..MAPNOTES_NAME.." with creator |cFFFFD100%s|r and name |cFFFFD100%s|r."; |
MAPNOTES_DELETED_BY_CREATOR = "Deleted all "..MAPNOTES_NAME.." with creator |cFFFFD100%s|r."; |
MAPNOTES_QUICKTLOC_NOTETONEAR = "ë©ëª¨ë¥¼ ë§ë¤ ì ììµëë¤. ì§ì í ìì¹ê° |cFFFFD100%s|r ë©ëª¨ì ë무 ê°ê¹ìµëë¤."; |
MAPNOTES_QUICKTLOC_NOZONE = "ë©ëª¨ë¥¼ ë§ë¤ ì ììµëë¤: ì§ì í ìì¹ ì 보를 ì ì ììµëë¤."; |
MAPNOTES_QUICKTLOC_NOARGUMENT = "ì¬ì© ì: '/ì¢íìì± ì¢í(xx,yy) [ìì´ì½] [ì 목]'."; |
MAPNOTES_SETMININOTE = "ë©ëª¨ë¥¼ 미ë맵ì íì"; |
MAPNOTES_THOTTBOTLOC = "Thottbot ì¢íë¡ ìì±"; |
MAPNOTES_PARTYNOTE = "íí°ìë¤ìê² ì ì¡ë 맵 ë©ëª¨"; |
MAPNOTES_CONVERSION_COMPLETE = MAPNOTES_VERSION.." - Conversion complete. Please check your notes."; -- ?? |
MAPNOTES_TRUNCATION_WARNING = "The Note Text being Sent had to be truncated"; -- ?? |
MAPNOTES_IMPORT_REPORT = "ê°ì ë©ëª¨ë¥¼ ì ì¡ë°ììµëë¤";--" Notes Imported"; -- ?? |
MAPNOTES_NOTESFOUND = "ê°ì ë©ëª¨ë¥¼ ì°¾ììµëë¤.";--" Note(s) Found"; -- ?? |
-- Drop Down Menu |
MAPNOTES_SHOWNOTES = "ë©ëª¨ íì"; |
MAPNOTES_DROPDOWNTITLE = MAPNOTES_NAME; |
MAPNOTES_DROPDOWNMENUTEXT = "ë¹ ë¥¸ ì¤ì "; |
MAPNOTES_WARSONGGULCH = "ì ìë ¸ë í곡"; |
MAPNOTES_ALTERACVALLEY = "ìí°ë ê³ê³¡"; |
MAPNOTES_ARATHIBASIN = "ìë¼ì ë¶ì§"; |
MAPNOTES_NETHERSTORM = "Eye of the Storm"; |
MAPNOTES_COSMIC = "Cosmic"; |
-- Coordinates |
MAPNOTES_MAP_COORDS = "Map Coords"; |
MAPNOTES_MINIMAP_COORDS = "Minimap Coords"; |
-- MapNotes Target & Merging |
MAPNOTES_MERGED = "MapNote Merged for : "; |
MAPNOTES_MERGE_DUP = "MapNote already exists for : "; |
MAPNOTES_MERGE_WARNING = "You must have something targetted to merge notes."; |
BINDING_HEADER_MAPNOTES = "MapNotes"; |
BINDING_NAME_MN_TARGET_NEW = "QuickNote/TargetNote"; |
BINDING_NAME_MN_TARGET_MERGE = "Merge Target Note"; |
MN_LEVEL = "ë 벨"; |
-- Magellan Style LandMarks |
MAPNOTES_LANDMARKS = "Landmarks"; -- Landmarks, as in POI, or Magellan |
MAPNOTES_LANDMARKS_CHECK = "Auto-MapNote "..MAPNOTES_LANDMARKS; |
MAPNOTES_DELETELANDMARKS = "Delete "..MAPNOTES_LANDMARKS; |
MAPNOTES_MAGELLAN = "(~Magellan)"; |
MAPNOTES_LM_CREATED = " MapNotes Created in "; |
MAPNOTES_LM_MERGED = " MapNotes Merged in "; |
MAPNOTES_LM_SKIPPED = " MapNotes not Noted in "; |
MAPNOTES_LANDMARKS_NOTIFY = MAPNOTES_LANDMARKS.." Noted in "; |
end |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ |
..\FrameXML\UI.xsd"> |
<Include file="MapNotesIconLib_Templates.xml"/> |
<Frame name="MNILSelectorFrame" hidden="true" topLevel="true" frameStrata="FULLSCREEN_DIALOG" enableMouse="true" movable="true"> |
<Size> |
<AbsDimension x="512" y="512"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativeTo="UIParent"/> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MNILSelectorFrameBackground" file="Interface\AddOns\MapNotesIconLib\Graphics\MNIL_BG"/> |
</Layer> |
<Layer level="ARTWORK"> |
<FontString name="MNILSelectorFrameStatus" inherits="GameFontGreen" justifyH="RIGHT" text="MNIL_LIBSLOADED"> |
<Anchors> |
<Anchor point="TOPRIGHT" relativePoint="TOP" relativeTo="MNILSelectorFrame"> |
<Offset> |
<AbsDimension x="60" y="-66"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILSelectorFrameStatus2" inherits="GameFontGreen" justifyH="LEFT" justifyV="TOP" text=""/> |
<FontString name="MNILSelectorFrameMNLibAuthor" inherits="MNIL_GreenFont" justifyH="RIGHT" text="MNIL_LAUTHOR"> |
<Anchors> |
<Anchor point="TOPRIGHT" relativePoint="TOP" relativeTo="MNILSelectorFrame"> |
<Offset> |
<AbsDimension x="-40" y="-132"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILSelectorFrameMNLibAuthor2" inherits="MNIL_GreenFont" justifyH="LEFT" justifyV="TOP" text=""/> |
<FontString name="MNILSelectorFrameMNLibDate" inherits="MNIL_GreenFont" justifyH="RIGHT" text="MNIL_LDATE"> |
<Anchors> |
<Anchor point="TOPRIGHT" relativePoint="BOTTOMRIGHT" relativeTo="MNILSelectorFrameMNLibAuthor"> |
<Offset> |
<AbsDimension x="0" y="-6"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILSelectorFrameMNLibDate2" inherits="MNIL_GreenFont" justifyH="LEFT" justifyV="TOP" text=""/> |
<FontString name="MNILSelectorFrameMNLibInfo" inherits="MNIL_GreenFont" justifyH="RIGHT" text="MNIL_LINFO"> |
<Anchors> |
<Anchor point="TOPRIGHT" relativePoint="BOTTOMRIGHT" relativeTo="MNILSelectorFrameMNLibDate"> |
<Offset> |
<AbsDimension x="0" y="-6"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILSelectorFrameMNLibInfo2" inherits="MNIL_GreenFont" justifyH="LEFT" justifyV="TOP" text=""/> |
<FontString name="MNILSelectorFrameMNLibIcons" inherits="MNIL_GreenFont" justifyH="LEFT" text="MNIL_LICONS"> |
<Anchors> |
<Anchor point="CENTER"> |
<Offset> |
<AbsDimension x="-160" y="50"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILSelectorFrameMNLibIcons2" inherits="MNIL_GreenFont" justifyH="LEFT" justifyV="TOP" text=""/> |
<FontString name="MNILSelectorFrameMNVersion" inherits="MNIL_BlackFont" justifyH="CENTER" text="MNIL_MNVERSION"> |
<Anchors> |
<Anchor point="BOTTOM"> |
<Offset> |
<AbsDimension x="8" y="76"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILSelectorFrameMNILVersion" inherits="MNIL_BlackFont" justifyH="CENTER" text="MNIL_MNILVERSION"> |
<Anchors> |
<Anchor point="TOPRIGHT" relativePoint="BOTTOMRIGHT" relativeTo="MNILSelectorFrameMNVersion"> |
<Offset> |
<AbsDimension x="-12" y="-2"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
<Layer level="OVERLAY"> |
</Layer> |
</Layers> |
<Frames> |
<Frame name="MNIL_LibsDropDown" inherits="UIDropDownMenuTemplate"> |
<Anchors> |
<Anchor point="TOP" relativePoint="TOP" relativeTo="MNILSelectorFrame"> |
<Offset> |
<AbsDimension x="14" y="-104"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnShow> |
MNIL.MNIL_LibsDropDown_OnLoad(); |
</OnShow> |
</Scripts> |
</Frame> |
<Frame name="MNIL_LibIcon1" inherits="MNIL_ILIconButtonTemplate" id="1" /> |
<Frame name="MNIL_LibIcon2" inherits="MNIL_ILIconButtonTemplate" id="2" /> |
<Frame name="MNIL_LibIcon3" inherits="MNIL_ILIconButtonTemplate" id="3" /> |
<Frame name="MNIL_LibIcon4" inherits="MNIL_ILIconButtonTemplate" id="4" /> |
<Frame name="MNIL_LibIcon5" inherits="MNIL_ILIconButtonTemplate" id="5" /> |
<Frame name="MNIL_LibIcon6" inherits="MNIL_ILIconButtonTemplate" id="6" /> |
<Frame name="MNIL_LibIcon7" inherits="MNIL_ILIconButtonTemplate" id="7" /> |
<Frame name="MNIL_LibIcon8" inherits="MNIL_ILIconButtonTemplate" id="8" /> |
<Frame name="MNIL_LibIcon9" inherits="MNIL_ILIconButtonTemplate" id="9" /> |
<Frame name="MNIL_LibIcon10" inherits="MNIL_ILIconButtonTemplate" id="10"/> |
<Frame name="MNIL_LibIcon11" inherits="MNIL_ILIconButtonTemplate" id="11"/> |
<Frame name="MNIL_LibIcon12" inherits="MNIL_ILIconButtonTemplate" id="12"/> |
<Frame name="MNIL_LibIcon13" inherits="MNIL_ILIconButtonTemplate" id="13"/> |
<Frame name="MNIL_LibIcon14" inherits="MNIL_ILIconButtonTemplate" id="14"/> |
<Frame name="MNIL_LibIcon15" inherits="MNIL_ILIconButtonTemplate" id="15"/> |
<Frame name="MNIL_LibIcon16" inherits="MNIL_ILIconButtonTemplate" id="16"/> |
<Frame name="MNIL_LibIcon17" inherits="MNIL_ILIconButtonTemplate" id="17"/> |
<Frame name="MNIL_LibIcon18" inherits="MNIL_ILIconButtonTemplate" id="18"/> |
<Frame name="MNIL_LibIcon19" inherits="MNIL_ILIconButtonTemplate" id="19"/> |
<Frame name="MNIL_LibIcon20" inherits="MNIL_ILIconButtonTemplate" id="20"/> |
<Frame name="MNIL_LibIcon21" inherits="MNIL_ILIconButtonTemplate" id="21"/> |
<Frame name="MNIL_LibIcon22" inherits="MNIL_ILIconButtonTemplate" id="22"/> |
<Frame name="MNIL_LibIcon23" inherits="MNIL_ILIconButtonTemplate" id="23"/> |
<Frame name="MNIL_LibIcon24" inherits="MNIL_ILIconButtonTemplate" id="24"/> |
<Frame name="MNIL_LibIcon25" inherits="MNIL_ILIconButtonTemplate" id="52"/> |
<Frame name="MNIL_LibIcon26" inherits="MNIL_ILIconButtonTemplate" id="26"/> |
<Frame name="MNIL_LibIcon27" inherits="MNIL_ILIconButtonTemplate" id="27"/> |
<Frame name="MNIL_LibIcon28" inherits="MNIL_ILIconButtonTemplate" id="28"/> |
<Frame name="MNIL_LibIcon29" inherits="MNIL_ILIconButtonTemplate" id="29"/> |
<Frame name="MNIL_LibIcon30" inherits="MNIL_ILIconButtonTemplate" id="30"/> |
<Frame name="MNIL_LibIcon31" inherits="MNIL_ILIconButtonTemplate" id="31"/> |
<Frame name="MNIL_LibIcon32" inherits="MNIL_ILIconButtonTemplate" id="32"/> |
<Frame name="MNIL_LibIcon33" inherits="MNIL_ILIconButtonTemplate" id="33"/> |
<Frame name="MNIL_LibIcon34" inherits="MNIL_ILIconButtonTemplate" id="34"/> |
<Frame name="MNIL_LibIcon35" inherits="MNIL_ILIconButtonTemplate" id="35"/> |
<Frame name="MNIL_LibIcon36" inherits="MNIL_ILIconButtonTemplate" id="36"/> |
<Frame name="MNIL_LibIcon37" inherits="MNIL_ILIconButtonTemplate" id="37"/> |
<Frame name="MNIL_LibIcon38" inherits="MNIL_ILIconButtonTemplate" id="38"/> |
<Frame name="MNIL_LibIcon39" inherits="MNIL_ILIconButtonTemplate" id="39"/> |
<Frame name="MNIL_LibIcon40" inherits="MNIL_ILIconButtonTemplate" id="40"/> |
<Frame name="MNIL_LibPrev" inherits="MNIL_NavButtonTemplate"> |
<Anchors> |
<Anchor point="RIGHT"> |
<Offset> |
<AbsDimension x="-50" y="14"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.IL_PrevIcons; |
this.tooltipKey = "NV_PREVTOOLTIP"; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\Up"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\UpDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\UpLit"; |
</OnLoad> |
<OnShow> |
MNIL_LibPrevArtWorkTexture:SetTexture("Interface\AddOns\MapNotesIconLib\Graphics\Up"); |
</OnShow> |
</Scripts> |
</Frame> |
<Frame name="MNIL_LibNext" inherits="MNIL_NavButtonTemplate"> |
<Anchors> |
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="MNIL_LibPrev"> |
<Offset> |
<AbsDimension x="0" y="-40"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.IL_NextIcons; |
this.tooltipKey = "NV_NEXTTOOLTIP"; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\Down"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\DownDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\DownLit"; |
</OnLoad> |
<OnShow> |
MNIL_LibNextArtWorkTexture:SetTexture("Interface\AddOns\MapNotesIconLib\Graphics\Down"); |
</OnShow> |
</Scripts> |
</Frame> |
<Frame name="MNIL_LibOptions" inherits="MNIL_GenButtonTemplate"> |
<Anchors> |
<Anchor point="BOTTOM"> |
<Offset> |
<AbsDimension x="-48" y="125"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.IL_OptionsOnClick; |
this.tooltipKey = "NV_OPTIONSTOOLTIP"; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenRaw"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenLitRaw"; |
MNIL.Button_SetText(this, MNIL_OPTIONS); |
</OnLoad> |
</Scripts> |
</Frame> |
<Frame name="MNIL_LibCancel" inherits="MNIL_GenButtonTemplate"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MNIL_LibOptions"> |
<Offset> |
<AbsDimension x="36" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.IL_CancelSelectorOnClick; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenRaw"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenLitRaw"; |
MNIL.Button_SetText(this, CANCEL); |
</OnLoad> |
</Scripts> |
</Frame> |
</Frames> |
<Scripts> |
<OnLoad> |
MNIL.MNILSelectorFrame_OnLoad(); |
</OnLoad> |
<OnEvent> |
MNIL.OnEvent(); |
</OnEvent> |
<OnShow> |
MNIL.MNILSelectorFrame_OnShow(); |
</OnShow> |
<OnHide> |
MNIL.MNILSelectorFrame_OnHide(); |
</OnHide> |
<OnMouseDown> |
this:StartMoving(); |
this.isMoving = true; |
</OnMouseDown> |
<OnMouseUp> |
this:StopMovingOrSizing(); |
this.isMoving = false; |
</OnMouseUp> |
</Scripts> |
</Frame> |
<Frame name="MNILOptionsFrame" hidden="true" topLevel="true" frameStrata="FULLSCREEN_DIALOG" enableMouse="true" movable="true"> |
<Size> |
<AbsDimension x="256" y="256"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativeTo="UIParent"/> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="MNILOptionsFrameBackground" file="Interface\AddOns\MapNotesIconLib\Graphics\MapNotesIconLib_Options"/> |
</Layer> |
<Layer level="ARTWORK"> |
<FontString name="MNILOptionsLabel" inherits="GameFontGreen" justifyH="CENTER" text="MNIL_OTITLE"> |
<Anchors> |
<Anchor point="TOP"> |
<Offset> |
<AbsDimension x="0" y="-26"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILOptionsPartyLabel" inherits="GameFontGreenSmall" justifyH="CENTER" text="MNIL_PARTYICON"> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MNILOptionsFrame"> |
<Offset> |
<AbsDimension x="52" y="-66"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNILOptionstlocLabel" inherits="GameFontGreenSmall" justifyH="CENTER" text="MNIL_TLOCICON"> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOP" relativeTo="MNILOptionsFrame"> |
<Offset> |
<AbsDimension x="36" y="-66"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Frames> |
<Frame name="MNIL_OptionParty" inherits="MNIL_MNIconButtonTemplate"> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOPLEFT" relativeTo="MNILOptionsFrame"> |
<Offset> |
<AbsDimension x="34" y="-64"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.PartyIcon_OnClick; |
this.tooltipKey = "GN_OPTIONSPARTY"; |
this.overlayHighlight = true; |
this.enabled = true; |
this.GetTexture = MNIL.Button_GetTexture; |
this.SetTexture = MNIL.Button_SetTexture; |
</OnLoad> |
<OnShow> |
MNIL.PartyIcon_OnShow(); |
</OnShow> |
</Scripts> |
</Frame> |
<Frame name="MNIL_Optiontloc" inherits="MNIL_MNIconButtonTemplate"> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="TOP" relativeTo="MNILOptionsFrame"> |
<Offset> |
<AbsDimension x="18" y="-64"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.tlocIcon_OnClick; |
this.tooltipKey = "GN_OPTIONSTLOC"; |
this.overlayHighlight = true; |
this.enabled = true; |
this.GetTexture = MNIL.Button_GetTexture; |
this.SetTexture = MNIL.Button_SetTexture; |
</OnLoad> |
<OnShow> |
MNIL.tlocIcon_OnShow(); |
</OnShow> |
</Scripts> |
</Frame> |
<Frame name="MNIL_OptionsBrowse" inherits="MNIL_GenButtonTemplate"> |
<Anchors> |
<Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" relativeTo="MNILOptionsFrame"> |
<Offset> |
<AbsDimension x="32" y="58"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.IL_BrowseOnClick; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenRaw"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenLitRaw"; |
MNIL.Button_SetText(this, MNIL_BROWSE); |
</OnLoad> |
</Scripts> |
</Frame> |
<Frame name="MNIL_OptionsClean" inherits="MNIL_GenButtonTemplate"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MNIL_OptionsBrowse"> |
<Offset> |
<AbsDimension x="32" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.CleanOnClick; |
this.tooltipKey = "IL_CLEANTOOLTIP"; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenRaw"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenLitRaw"; |
MNIL.Button_SetText(this, MNIL_CLEAN); |
</OnLoad> |
</Scripts> |
</Frame> |
<Frame name="MNIL_OptionsReset" inherits="MNIL_GenButtonTemplate"> |
<Anchors> |
<Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" relativeTo="MNIL_OptionsBrowse"> |
<Offset> |
<AbsDimension x="0" y="-10"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.ResetOnClick; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenRaw"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenLitRaw"; |
MNIL.Button_SetText(this, MNIL_RESET); |
</OnLoad> |
</Scripts> |
</Frame> |
<Frame name="MNIL_OptionsCancel" inherits="MNIL_GenButtonTemplate"> |
<Anchors> |
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="MNIL_OptionsReset"> |
<Offset> |
<AbsDimension x="32" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.IL_CancelOptionsOnClick; |
this.enabled = true; |
this.enabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenRaw"; |
this.disabledTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenDisabled"; |
this.highlightedTexture = "Interface\\AddOns\\MapNotesIconLib\\Graphics\\GenLitRaw"; |
MNIL.Button_SetText(this, CANCEL); |
</OnLoad> |
</Scripts> |
</Frame> |
</Frames> |
<Scripts> |
<OnMouseDown> |
this:StartMoving(); |
this.isMoving = true; |
</OnMouseDown> |
<OnMouseUp> |
this:StopMovingOrSizing(); |
this.isMoving = false; |
</OnMouseUp> |
</Scripts> |
</Frame> |
<Frame name="MNIL_CustomIcon" parent="MapNotesEditFrame" topLevel="true" inherits="MNIL_IconButtonTemplate" enableMouse="true"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="TOPRIGHT"/> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.MNIL_CustomIcon_OnClick; |
this.tooltipKey = "IL_CUSTOMICONTOOLTIP"; |
this.overlayHighlight = true; |
this.enabled = true; |
</OnLoad> |
<OnShow> |
MNIL_CustomIcon:SetFrameLevel( MapNotesEditFrame:GetFrameLevel() + 2 ); |
MNIL.MNIL_CustomIcon_OnShow(); |
</OnShow> |
<OnHide> |
MNIL.MNIL_CustomIcon_OnHide(); |
</OnHide> |
</Scripts> |
</Frame> |
</Ui> |
-- Saved Variables |
MNIL_Data = {}; |
-- NameSpace |
MNIL = {}; |
-- Global Constants not for localisation |
MNIL_VERSION = "v1.04.20400"; |
MNIL_EDITION = 1; |
MNIL_MNVERSION = "MapNotes (Fan's Update) " .. MNIL_VERSIONTXT .. " " .. MAPNOTES_VERSION; |
MNIL_MNILVERSION = "MapNotesIconLib " .. MNIL_VERSIONTXT .. " " .. MNIL_VERSION; |
-- Local Constants |
local MNILLC = {}; |
MNILLC.NormalFontSize = 12; |
MNILLC.HighlightFontSize = 14; |
MNILLC.DisabledFontSize = 8; |
MNILLC.ButtonsPerRow = 10; |
MNILLC.LibButtons = 40; |
-- Local Variables |
local MNILV = {}; |
MNILV.AsyncData = {}; |
------------------------- |
-- Local Functions -- |
------------------------- |
local MNILF = {}; |
function MNILF.MNILSelectorFrame_Refresh() |
local selectedLib = MNILSelectorFrame.selectedLib; |
-- Set Labels |
MNILSelectorFrameStatus2:SetText( getn(MNIL_Libs) ); |
MNILSelectorFrameStatus2:ClearAllPoints(); |
MNILSelectorFrameStatus2:SetPoint("LEFT", MNILSelectorFrameStatus, "RIGHT", 0, 0); |
MNILSelectorFrameMNLibAuthor2:SetText( selectedLib.author ); |
MNILSelectorFrameMNLibAuthor2:ClearAllPoints(); |
MNILSelectorFrameMNLibAuthor2:SetPoint("LEFT", MNILSelectorFrameMNLibAuthor, "RIGHT", 0, 0); |
MNILSelectorFrameMNLibDate2:SetText( selectedLib.date ); |
MNILSelectorFrameMNLibDate2:ClearAllPoints(); |
MNILSelectorFrameMNLibDate2:SetPoint("LEFT", MNILSelectorFrameMNLibDate, "RIGHT", 0, 0); |
local localisedInfo = selectedLib.info[ MNILLC.loc ]; |
if ( not localisedInfo ) then |
localisedInfo = selectedLib.info.enGB; |
end |
if ( not localisedInfo ) then |
for loc, info in pairs(selectedLib.info) do |
localisedInfo = info; |
break; |
end |
end |
if ( not localisedInfo ) then localisedInfo = "BUG ALERT : Please report code 432jk("..selectedLib.title..") to telic@hotmail.co.uk"; end |
MNILSelectorFrameMNLibInfo2:SetText( localisedInfo ); |
MNILSelectorFrameMNLibInfo2:ClearAllPoints(); |
MNILSelectorFrameMNLibInfo2:SetPoint("TOPLEFT", MNILSelectorFrameMNLibInfo, "TOPRIGHT", 0, 0); |
UIDropDownMenu_SetSelectedID(MNIL_LibsDropDown, MNIL_Data.lastLib); |
UIDropDownMenu_SetText(MNIL_LibsDropDown, selectedLib.title); |
MNIL_LibsDropDown:SetScale(0.9); |
-- Set Buttons |
MNILF.MNILSelectorFrame_RefreshButtons() |
end |
function MNILF.MNILSelectorFrame_RefreshButtons() |
local selectedLib = MNILSelectorFrame.selectedLib; |
if ( not MNIL_Data.lastRow ) then |
MNIL_Data.lastRow = 1; |
end |
local startAt = ( ( MNIL_Data.lastRow - 1 ) * MNILLC.ButtonsPerRow ) + 1; |
local numIcons = getn(selectedLib.icons); |
if ( ( startAt > numIcons ) or ( startAt < 1 ) ) then |
startAt = 1; |
MNIL_Data.lastRow = 1; |
end |
-- set the label describing which icons are showing |
local endAt = startAt+MNILLC.LibButtons-1; |
if ( numIcons < endAt ) then |
endAt = numIcons; |
end |
MNILSelectorFrameMNLibIcons2:SetText(startAt .. " - " .. endAt .. " (" .. numIcons .. ")"); |
MNILSelectorFrameMNLibIcons2:ClearAllPoints(); |
MNILSelectorFrameMNLibIcons2:SetPoint("LEFT", MNILSelectorFrameMNLibIcons, "RIGHT", 0, 0); |
-- if starting at a row after the first, enable the scroll up button, else disable |
if ( MNIL_Data.lastRow > 1 ) then |
MNIL.Button_Enable(MNIL_LibPrev); |
else |
MNIL.Button_Disable(MNIL_LibPrev); |
end |
-- if enough icons to overflow the available buttons, then enable the scroll down button, else disable |
if ( numIcons - startAt + 1 > MNILLC.LibButtons ) then |
MNIL.Button_Enable(MNIL_LibNext); |
else |
MNIL.Button_Disable(MNIL_LibNext); |
end |
-- update the button icons, or hide the buttons if not enough icons |
local icon, libIndex; |
for i=1, MNILLC.LibButtons, 1 do |
libIndex = startAt + i - 1; |
icon = getglobal("MNIL_LibIcon"..i); |
if ( ( selectedLib.icons[libIndex] ) and ( selectedLib.icons[libIndex].path ~= "Interface\\AddOns\\MapNotesIconLib\\Icons\\Empty" ) ) then |
MNIL.Button_SetTexture(icon, selectedLib.icons[libIndex].path); |
icon.text = selectedLib.icons[libIndex].path; |
icon:Show(); |
else |
icon:Hide(); |
end |
end |
end |
function MNILF.CmdLine(switch, parm1, pList) |
if ( ( not switch ) or ( switch == "" ) ) then |
if ( MNILOptionsFrame:IsVisible() ) then |
MNIL.IL_CancelOptionsOnClick(); |
else |
MNILOptionsFrame:Show(); |
end |
-- elseif ( |
else |
end |
end |
function MNILF.Reset() |
-- cancel any current selection |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
MNILSelectorFrame:SetUserPlaced(false); |
end |
-- now clean the MNIL stored changes |
MNIL_Data.customDefaults = {}; |
MNIL_Data.partyIcon = nil; |
MNIL_Data.tlocIcon = nil; |
-- now clean the MapNotes Database of ALL customIcons |
for _, map in pairs(MapNotes_Data_Notes) do |
for _, note in pairs(map) do |
if ( note.customIcon ) then |
note.customIcon = nil; |
end |
end |
end |
-- reset the Party / tloc notes |
MN_PARTY_ICON = nil; |
MN_TLOC_ICON = nil; |
MapNotesPOIpartyTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
MNIL_OptionPartyArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
MapNotesPOItlocTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
MNIL_OptiontlocArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
if ( MapNotes_MiniNote_Data.icon == "party" ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
elseif ( MapNotes_MiniNote_Data.icon == "tloc" ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
end |
-- reset the Options / Edit menu icons |
for i = 0, 9, 1 do |
getglobal("MN_EditIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
getglobal("MapNotesOptionsIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
end |
-- refresh the maps |
MapNotes_MapUpdate(); |
MapNotes_PlugInsRefresh(); |
-- reset the Options frame |
MNILOptionsFrame:Hide(); |
MNILOptionsFrame:SetUserPlaced(false); |
MNILOptionsFrame:Show(); |
end |
function MNILF.WashMe() |
local washedIcons = {}; |
local washedCount = 0; |
-- create local index of loaded Icons for ease of use |
local tIndex = {}; |
for _, lib in pairs(MNIL_Libs) do |
for _, txture in pairs(lib.icons) do |
tIndex[txture.path] = true; |
end |
end |
-- prepare the way |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
end |
if ( MapNotesDropDownList:IsVisible() ) then |
MapNotes_ToggleDropDownMenu(); |
end |
DEFAULT_CHAT_FRAME:AddMessage(MNIL_CLEAN, 0, 0, 1); |
for _, map in pairs(MapNotes_Data_Notes) do |
for _, note in pairs(map) do |
if ( note.customIcon ) then |
if ( not tIndex[note.customIcon] ) then |
if ( not washedIcons[note.customIcon] ) then |
washedIcons[note.customIcon] = 0; |
end |
washedIcons[note.customIcon] = washedIcons[note.customIcon] + 1; |
note.customIcon = nil; |
end |
end |
end |
end |
-- also need to wash customDefaults, and the Party / tloc icons.... |
for i, txture in pairs(MNIL_Data.customDefaults) do |
if ( not tIndex[txture] ) then |
if ( not washedIcons[txture] ) then |
washedIcons[txture] = 0; |
end |
washedIcons[txture] = washedIcons[txture] + 1; |
MNIL_Data.customDefaults[i] = nil; |
getglobal("MN_EditIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
getglobal("MapNotesOptionsIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
end |
end |
if ( MNIL_Data.partyIcon ) then |
if ( not tIndex[MNIL_Data.partyIcon] ) then |
if ( not washedIcons[MNIL_Data.partyIcon] ) then |
washedIcons[MNIL_Data.partyIcon] = 0; |
end |
washedIcons[MNIL_Data.partyIcon] = washedIcons[MNIL_Data.partyIcon] + 1; |
MNIL_Data.partyIcon = nil; |
MN_PARTY_ICON = nil; |
MapNotesPOIpartyTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
MNIL_OptionPartyArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
if ( MapNotes_MiniNote_Data.icon == "party" ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
end |
end |
end |
if ( MNIL_Data.tlocIcon ) then |
if ( not tIndex[MNIL_Data.tlocIcon] ) then |
if ( not washedIcons[MNIL_Data.tlocIcon] ) then |
washedIcons[MNIL_Data.tlocIcon] = 0; |
end |
washedIcons[MNIL_Data.tlocIcon] = washedIcons[MNIL_Data.tlocIcon] + 1; |
MNIL_Data.tlocIcon = nil; |
MN_TLOC_ICON = nil; |
MapNotesPOItlocTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
MNIL_OptiontlocArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
if ( MapNotes_MiniNote_Data.icon == "tloc" ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
end |
end |
end |
-- report on what was cleaned |
for icon, count in pairs(washedIcons) do |
washedCount = washedCount + count; |
DEFAULT_CHAT_FRAME:AddMessage(icon .. " : " .. count, 0, 1, 0); |
end |
DEFAULT_CHAT_FRAME:AddMessage(MNIL_TOTAL .. " : " .. washedCount, 0, 0, 1); |
-- refresh the maps |
MapNotes_MapUpdate(); |
MapNotes_PlugInsRefresh(); |
end |
-- Function Hooks |
function MNILF.MNILNew_MapNotes_Edit_SetIcon(icon) |
local update; |
if ( MapNotesEditFrame:IsVisible() ) then |
-- Control-Click to toggle the Choose a new Icon frame |
if ( ( IsControlKeyDown() ) and ( not IsAltKeyDown() ) and ( not IsShiftKeyDown() ) ) then |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
else |
MNIL.activeSelection = getglobal("MN_EditIcon"..icon.."Texture"); |
MNIL.specificIcon = nil; |
MNIL.defaultIcon = icon; |
MNILSelectorFrame:Show(); |
end |
-- Alt-Click resets the Icon to the MapNotes default |
elseif ( ( IsAltKeyDown() ) and ( not IsControlKeyDown() ) and ( not IsShiftKeyDown() ) ) then |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
end |
if ( MNIL_Data.customDefaults[icon] ) then |
MNILF.PropagateDefaultIcon(icon, MNIL_Data.customDefaults[icon], nil); |
MNIL_Data.customDefaults[icon] = nil; |
end |
getglobal("MN_EditIcon"..icon.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..icon); |
getglobal("MapNotesOptionsIcon"..icon.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..icon); |
update = true; |
elseif ( ( MapNotes_Data_Notes[MapNotesEditFrame.k] ) and ( MapNotes_Data_Notes[MapNotesEditFrame.k][MapNotesEditFrame.index] ) ) then |
MapNotes_Data_Notes[MapNotesEditFrame.k][MapNotesEditFrame.index].icon = icon; |
if ( MNIL_Data.customDefaults[icon] ) then -- v1.1 |
MapNotes_Data_Notes[MapNotesEditFrame.k][MapNotesEditFrame.index].customIcon = MNIL_Data.customDefaults[icon]; -- v1.1 |
else |
MapNotes_Data_Notes[MapNotesEditFrame.k][MapNotesEditFrame.index].customIcon = nil; |
end -- v1.1 |
update = true; |
end |
end |
MNILOld_MapNotes_Edit_SetIcon(icon); |
MNIL_CustomIconArtWorkTexture:SetTexture("Interface\\Buttons\\ButtonHilight-SquareQuickslot"); |
if ( update ) then |
local Plugin = MapNotes.pluginKeys[MapNotesEditFrame.k]; |
if ( Plugin ) then |
MapNotes_PlugInsDrawNotes(Plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
end |
function MNILF.MNILNew_MapNotes_DropDownExpandArrowOnEnter(m_id) |
MNILOld_MapNotes_DropDownExpandArrowOnEnter(m_id); |
for i=0, 9, 1 do |
if ( MNIL_Data.customDefaults[i] ) then |
getglobal("MapNotesDropDownSubMenuIcon"..i.."Texture"):SetTexture(MNIL_Data.customDefaults[i]); |
else |
getglobal("MapNotesDropDownSubMenuIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
end |
end |
end |
function MNILF.MNILNew_MapNotes_DropDownToggleSubMenu(m_id) |
MNILOld_MapNotes_DropDownToggleSubMenu(m_id); |
for i=0, 9, 1 do |
if ( MNIL_Data.customDefaults[i] ) then |
getglobal("MapNotesDropDownSubMenuIcon"..i.."Texture"):SetTexture(MNIL_Data.customDefaults[i]); |
else |
getglobal("MapNotesDropDownSubMenuIcon"..i.."Texture"):SetTexture(MN_POI_ICONS_PATH.."\\Icon"..i); |
end |
end |
end |
function MNILF.MNILNew_MapNotes_WriteNote() |
local noteKey = MapNotesEditFrame.k; |
local plugin = MapNotes.pluginKeys[noteKey]; |
local noteID = MapNotes_TempData_Id; |
local noteIcon = MapNotes_TempData_Icon; |
local customIcon; |
if ( MNILV.AsyncData.txture ) then |
MNILV.AsyncData.writing = true; |
end |
if ( ( MapNotes_Data_Notes[noteKey] ) and ( MapNotes_Data_Notes[noteKey][noteID] ) ) then |
customIcon = MapNotes_Data_Notes[noteKey][noteID].customIcon; |
end |
MNILOld_MapNotes_WriteNote(); |
if ( ( MNILV.AsyncData.txture ) and ( MapNotes_Data_Notes[noteKey] ) and ( MapNotes_Data_Notes[noteKey][noteID] ) ) then |
MapNotes_Data_Notes[noteKey][noteID].customIcon = MNILV.AsyncData.txture; |
if ( MNILV.AsyncData.defaultCustomIcon ) then |
MapNotes_Data_Notes[noteKey][noteID].icon = MNILV.AsyncData.defaultCustomIcon; |
end |
if ( plugin ) then |
MapNotes_PlugInsDrawNotes(plugin); |
else |
MapNotes_MapUpdate(); |
end |
-- v1.1 POSSIBLY REMOVE THIS WHOLE CLAUSE NOW ??? |
elseif ( MNIL_Data.customDefaults[noteIcon] ) and ( not MapNotes_Data_Notes[noteKey][noteID].customIcon ) then -- v1.1 |
MapNotes_Data_Notes[noteKey][noteID].customIcon = MNIL_Data.customDefaults[noteIcon]; |
if ( plugin ) then |
MapNotes_PlugInsDrawNotes(plugin); |
else |
MapNotes_MapUpdate(); |
end |
elseif ( customIcon ) then |
MapNotes_Data_Notes[noteKey][noteID].customIcon = customIcon; |
if ( plugin ) then |
MapNotes_PlugInsDrawNotes(plugin); |
else |
MapNotes_MapUpdate(); |
end |
end |
MNILV.AsyncData = {}; |
end |
function MNILF.MNILNew_MapNotes_WorldMapButton_OnUpdate() |
if ( ( MapNotesFU_Drawing ) or ( not MapNotes_Options.aFactor ) or ( not MNIL_Data.customDefaults ) ) then |
return; |
end |
local key = MapNotes_GetMapKey(); |
local currentZone = MapNotes_Data_Notes[key]; |
if ( ( currentZone ) and ( MapNotes_Options.shownotes ) ) then |
for i, value in ipairs(currentZone) do |
if ( ( not value.customIcon ) and ( MNIL_Data.customDefaults[ value.icon ] ) ) then |
value.customIcon = MNIL_Data.customDefaults[ value.icon ]; |
end |
end |
end |
-- Carry out the Update |
MNILOld_MapNotes_WorldMapButton_OnUpdate(); |
end |
function MNILF.MNILNew_MapNotes_PlugInsDrawNotes(Plugin) |
if ( ( MapNotes_Plugin_Updating ) or ( not Plugin ) or ( not Plugin.name ) or ( not MapNotes_Options.aFactor ) ) then |
return; |
end |
local key = MapNotes_PlugInsGetKey(Plugin); |
if ( ( key ) and ( MapNotes_Data_Notes[key] ) ) then |
for i, value in ipairs( MapNotes_Data_Notes[key] ) do |
if ( ( not value.customIcon ) and ( MNIL_Data.customDefaults[ value.icon ] ) ) then |
value.customIcon = MNIL_Data.customDefaults[ value.icon ]; |
end |
end |
end |
-- Carry out the Update |
MNILOld_MapNotes_PlugInsDrawNotes(Plugin); |
end |
function MNILF.PropagateDefaultIcon(index, oldTxture, newTxture) |
-- Go through the database and make sure all notes have the same Icon that meet the following criteria |
-- 1.) have an Icon value of index |
-- 2.) either (a.) don't have a customIcon already |
-- (b.) have a customIcon equal to the old default customIcon |
for _, map in pairs(MapNotes_Data_Notes) do |
for _, note in ipairs(map) do |
if ( note.icon == index ) then |
if ( ( not note.customIcon ) or ( note.customIcon == oldTxture ) ) then |
note.customIcon = newTxture; |
end |
end |
end |
end |
end |
------------------------- |
-- Dialogue Boxes -- |
------------------------- |
-- MapNotes Version Warning |
StaticPopupDialogs["MNIL_VERSION_WARNING_BOX"] = { |
text = TEXT(MNIL_VERSION_WARNING_MSG), |
button1 = TEXT(OKAY), |
showAlert = 1, |
timeout = 0, |
hideOnEscape = 1, |
}; |
-- Confirm Reset |
StaticPopupDialogs["MNIL_CONFIRM_RESET"] = { |
text = TEXT(MNIL_RESET), |
button1 = TEXT(MNIL_RESET), |
button2 = TEXT(CANCEL), |
OnAccept = MNILF.Reset, |
showAlert = 1, |
timeout = 0, |
hideOnEscape = 1, |
}; |
-- Confirm Clean |
StaticPopupDialogs["MNIL_CONFIRM_CLEAN"] = { |
text = TEXT(MNIL_CLEAN), |
button1 = TEXT(MNIL_CLEAN), |
button2 = TEXT(CANCEL), |
OnAccept = MNILF.WashMe, |
showAlert = 1, |
timeout = 0, |
hideOnEscape = 1, |
}; |
------------------------- |
-- Main Functions -- |
------------------------- |
function MNIL.MNILSelectorFrame_OnLoad() |
MNILSelectorFrame:RegisterEvent("VARIABLES_LOADED"); |
-- Set up XML Anchors for library Icons |
MNIL_LibIcon1:ClearAllPoints(); |
MNIL_LibIcon1:SetPoint("CENTER", MNILSelectorFrame, "CENTER", -152, 26); |
local i = 2; |
local icon = getglobal("MNIL_LibIcon"..i); |
local leftAnchor, topAnchor = MNIL_LibIcon1, MNIL_LibIcon1; |
while ( icon ) do |
icon:ClearAllPoints(); |
if ( mod(i, 10) == 1 ) then |
icon:SetPoint("CENTER", topAnchor, "CENTER", 0, -32); |
topAnchor = icon; |
leftAnchor = icon; |
else |
icon:SetPoint("CENTER", leftAnchor, "CENTER", 32, 0); |
leftAnchor = icon; |
end |
i = i + 1; |
icon = getglobal("MNIL_LibIcon"..i); |
end |
-- Hook some key MapNotes functions |
MNILOld_MapNotes_Edit_SetIcon = MapNotes_Edit_SetIcon; |
MapNotes_Edit_SetIcon = MNILF.MNILNew_MapNotes_Edit_SetIcon; |
MNILOld_MapNotes_WriteNote = MapNotes_WriteNote; |
MapNotes_WriteNote = MNILF.MNILNew_MapNotes_WriteNote; |
MNILOld_MapNotes_DropDownExpandArrowOnEnter = MapNotes_DropDownExpandArrowOnEnter; |
MapNotes_DropDownExpandArrowOnEnter = MNILF.MNILNew_MapNotes_DropDownExpandArrowOnEnter; |
MNILOld_MapNotes_DropDownToggleSubMenu = MapNotes_DropDownToggleSubMenu; |
MapNotes_DropDownToggleSubMenu = MNILF.MNILNew_MapNotes_DropDownToggleSubMenu; |
MNILOld_MapNotes_WorldMapButton_OnUpdate = MapNotes_WorldMapButton_OnUpdate; |
MapNotes_WorldMapButton_OnUpdate = MNILF.MNILNew_MapNotes_WorldMapButton_OnUpdate; |
MNILOld_MapNotes_PlugInsDrawNotes = MapNotes_PlugInsDrawNotes; |
MapNotes_PlugInsDrawNotes = MNILF.MNILNew_MapNotes_PlugInsDrawNotes; |
-- Slash commands |
local switch, parm1; |
SlashCmdList["MNIL"] = function(pList) |
local gap = string.find(pList, " "); |
if ( gap ) then |
switch = string.sub(pList, 1, (gap - 1)); |
parm1 = string.sub(pList, (gap + 1)); |
else |
switch = pList; |
parm1 = nil; |
end |
MNILF.CmdLine(switch, parm1, pList); |
end |
SLASH_MNIL1 = "/mnil"; |
end |
function MNIL.OnEvent() |
if ( event == "VARIABLES_LOADED" ) then |
MNILLC.loc = GetLocale(); |
-- Check Saved Variable Integrity for mandatory values |
if ( not MNIL_Data.lastLib ) then |
MNIL_Data.lastLib = 1; |
end |
if ( not MNIL_Data.lastRow ) then |
MNIL_Data.lastRow = 1; |
end |
if ( not MNIL_Data.customDefaults ) then |
MNIL_Data.customDefaults = {}; |
end |
-- Load new Party/tloc Icons |
if ( MNIL_Data.partyIcon ) then |
MN_PARTY_ICON = MNIL_Data.partyIcon; |
MapNotesPOIpartyTexture:SetTexture(MN_PARTY_ICON); |
end |
if ( MNIL_Data.tlocIcon ) then |
MN_TLOC_ICON = MNIL_Data.tlocIcon; |
MapNotesPOItlocTexture:SetTexture(MN_TLOC_ICON); |
end |
-- Load new Default Icons if any |
for i = 0, 9, 1 do |
if ( MNIL_Data.customDefaults[i] ) then |
getglobal("MN_EditIcon"..i.."Texture"):SetTexture(MNIL_Data.customDefaults[i]); |
getglobal("MapNotesOptionsIcon"..i.."Texture"):SetTexture(MNIL_Data.customDefaults[i]); |
end |
end |
-- Re-position the EditFrame Icons to allow room for a Custom choice |
local lastBttn = MN_EditIcon0; |
local thisBttn; |
for i = 1, 9, 1 do |
thisBttn = getglobal("MN_EditIcon"..i); |
thisBttn:ClearAllPoints(); |
thisBttn:SetPoint("LEFT", lastBttn, "RIGHT", 16, 0); |
lastBttn = thisBttn; |
end |
MNIL_CustomIcon:ClearAllPoints(); |
MNIL_CustomIcon:SetPoint("LEFT", lastBttn, "RIGHT", 50, -1); |
MapNotesEditFrame:SetScript("OnHide", MNIL.MNILEditFrame_OnHide); |
MNILSelectorFrame:SetScale(0.8); |
MNILOptionsFrame:SetScale(0.8); |
-- Check the MapNotes version |
if ( MAPNOTES_VERSION < "4.12.20300" ) then |
StaticPopup_Show("MNIL_VERSION_WARNING_BOX"); |
end |
end |
end |
function MNIL.MNIL_LibsDropDown_OnLoad() |
UIDropDownMenu_Initialize(MNIL_LibsDropDown, MNILF.MNIL_LibsDropDown_Initialise); |
UIDropDownMenu_SetWidth(MNIL_LibsDropDown, 180); |
end |
function MNILF.MNIL_LibsDropDown_Initialise() |
for i=1, getn(MNIL_Libs), 1 do |
local info = {}; |
info.func = MNILF.MNIL_LibsDropDown_OnClick; |
info.text = MNIL_Libs[i].title; |
UIDropDownMenu_AddButton(info); |
end |
end |
function MNILF.MNIL_LibsDropDown_OnClick() |
UIDropDownMenu_SetSelectedID(MNIL_LibsDropDown, this:GetID()); |
MNIL_Data.lastLib = this:GetID(); |
MNILSelectorFrame.selectedLib = MNIL_Libs[ MNIL_Data.lastLib ]; |
MNILF.MNILSelectorFrame_Refresh(); |
end |
function MNIL.MNILEditFrame_OnHide() |
if ( not MNILV.AsyncData.writing ) then |
MNILV.AsyncData = {}; |
end |
end |
function MNIL.MNILSelectorFrame_OnShow() |
local selectedLib; |
if ( MNIL_Libs[ MNIL_Data.lastLib ] ) then |
selectedLib = MNIL_Libs[ MNIL_Data.lastLib ]; |
else |
selectedLib = MNIL_Libs[1]; |
MNIL_Data.lastLib = 1; |
end |
MNILSelectorFrame.selectedLib = selectedLib; |
MNILF.MNILSelectorFrame_Refresh(); |
end |
function MNIL.MNILSelectorFrame_OnHide() |
MNIL.activeSelection = nil; |
MNIL.specificIcon = nil; |
MNIL.defaultIcon = nil; |
end |
function MNIL.Button_OnMouseDown(bttn) |
if ( bttn.enabled ) then |
-- Mouse down animation |
local artWork = getglobal(bttn:GetName() .. "ArtWork"); |
artWork:ClearAllPoints(); |
artWork:SetPoint("CENTER", bttn, "CENTER", 2, -2); |
end |
end |
function MNIL.Button_OnMouseUp(bttn, mouseBttn) |
if ( bttn.enabled ) then |
-- Mouse up animation |
local artWork = getglobal(bttn:GetName() .. "ArtWork"); |
artWork:ClearAllPoints(); |
artWork:SetPoint("CENTER", bttn, "CENTER", 0, 0); |
-- Don't actually process a click if the user moved the Mouse away from the button |
if ( not MouseIsOver(bttn) ) then |
return; |
end |
-- Default processing for Button Click |
-- Button specific OnClick function |
local onClickFunc = bttn.onClickFunc; |
if ( ( onClickFunc ) and ( type(onClickFunc) == "function" ) ) then |
onClickFunc(bttn, mouseBttn); |
end |
end |
end |
function MNIL.Button_OnMouseEnter(bttn) |
local ttKey = bttn.tooltipKey; |
if ( ttKey ) then |
local tt = GameTooltip; |
if ( ( WorldMapFrame:IsVisible() ) and ( MouseIsOver(WorldMapFrame) ) ) then |
tt = WorldMapTooltip; |
end |
local x, y = GetCursorPosition(); |
if ( x > 500 ) then |
tt:SetOwner(this, "ANCHOR_TOPRIGHT"); |
else |
tt:SetOwner(this, "ANCHOR_TOPLEFT"); |
end |
tt:ClearLines(); |
ttKey = ttKey.."0"; |
tt:AddLine(MNIL_TT[ttKey], 1, 0.7, 0); |
local i = 1; |
ttKey = this.tooltipKey .. i; |
while ( MNIL_TT[ttKey] ) do |
tt:AddLine(MNIL_TT[ttKey], 0, 1, 0); |
i = i + 1; |
ttKey = this.tooltipKey .. i; |
end |
if ( bttn.text ) then |
tt:AddDoubleLine(MNILC.ICON, bttn.text, 0, 1, 0, 0.8, 0.1, 0.8); |
end |
tt:Show(); |
MapNotesEditFrame:SetFrameLevel(1); |
tt:SetFrameLevel( MapNotesEditFrame:GetFrameLevel() + 3 ); |
end |
if ( bttn.enabled ) then |
if ( bttn.overlayHighlight ) then |
getglobal(bttn:GetName() .. "ArtWorkHighlight"):Show(); |
elseif ( bttn.highlightedTexture ) then |
MNIL.Button_SetTexture(bttn, bttn.highlightedTexture); |
end |
local text = getglobal(bttn:GetName() .. "ArtWorkText"); |
if ( text ) then |
-- text:SetFont("Fonts\\ARIALN.TTF", MNILLC.HighlightFontSize); |
text:SetTextColor(1, 0, 0); |
--text:SetText( text:GetText() ); |
end |
end |
end |
function MNIL.Button_OnMouseLeave(bttn) |
if ( bttn.enabled ) then |
local button = bttn:GetName(); |
-- Mouse up animation |
local artWork = getglobal(button .. "ArtWork"); |
artWork:ClearAllPoints(); |
artWork:SetPoint("CENTER", bttn, "CENTER", 0, 0); |
if ( bttn.overlayHighlight ) then |
getglobal(button .. "ArtWorkHighlight"):Hide(); |
elseif ( bttn.highlightedTexture ) then |
MNIL.Button_SetTexture(bttn, bttn.enabledTexture); |
end |
local text = getglobal(button .. "ArtWorkText"); |
if ( text ) then |
-- text:SetFont("Fonts\\ARIALN.TTF", 15); |
text:SetTextColor(1, 1, 0); |
end |
end |
GameTooltip:Hide(); |
WorldMapTooltip:Hide(); |
end |
function MNIL.Button_Disable(bttn) |
bttn.enabled = false; |
local text = getglobal(bttn:GetName() .. "ArtWorkText"); |
if ( text ) then |
text:SetFont("Fonts\\ARIALN.TTF", MNILLC.DisabledFontSize); |
text:SetTextColor(0.2, 0.2, 0.2); |
end |
if ( bttn.disabledTexture ) then |
MNIL.Button_SetTexture(bttn, bttn.disabledTexture) |
end |
end |
function MNIL.Button_Enable(bttn) |
bttn.enabled = true; |
local text = getglobal(bttn:GetName() .. "ArtWorkText"); |
if ( text ) then |
text:SetFont("MNIL_DisabledFont", MNILLC.NormalFontSize); |
text:SetTextColor(1, 0.34, 0.05); |
end |
if ( bttn.enabledTexture ) then |
MNIL.Button_SetTexture(bttn, bttn.enabledTexture) |
end |
end |
function MNIL.Button_SetText(bttn, txt) |
getglobal(bttn:GetName() .. "ArtWorkText"):SetText(txt); |
end |
function MNIL.Button_SetTexture(bttn, txture) |
getglobal(bttn:GetName() .. "ArtWorkTexture"):SetTexture(txture); |
end |
function MNIL.Button_GetTexture(bttn) |
return getglobal(bttn:GetName() .. "ArtWorkTexture"):GetTexture(); |
end |
------------------------------------------------------------------------------------------------------------------------------------------ |
-- Chosen an Icon - might be considered the MAIN function where icons and defaults are actually changed |
-- If called from an Icon selection frame, then return and set the icon |
-- If just browsing, then don't do anything |
-- NOTE : Changes are effected immediately and should be reflected on the map immediately |
-- The only exception being New Notes where no note details exist to update yet |
function MNIL.IL_IconOnClick(bttn, mouseBttn) |
if ( MNIL.activeSelection ) then |
local oldTxture = MNIL.activeSelection:GetTexture(); |
local txture = MNIL.Button_GetTexture(bttn); |
local update = true; |
if ( oldTxture == "Interface\\AddOns\\MapNotesIconLib\\Icons\\Empty" ) then |
return; |
end |
-- Store details of the selected Icon in the appropriate place |
if ( MNIL.specificIcon ) then |
local key, id = MapNotesEditFrame.k, MapNotesEditFrame.index; |
local defaultCustomIcon; |
for i=0, 9, 1 do |
if ( MNIL_Data.customDefaults[i] == txture ) then |
defaultCustomIcon = i; |
elseif ( ( i ~= MapNotes_TempData_Icon ) and ( txture == MN_POI_ICONS_PATH.."\\Icon"..i ) ) then |
defaultCustomIcon = i; |
end |
end |
if ( ( MapNotes_Data_Notes[key] ) and ( MapNotes_Data_Notes[key][id] ) ) then |
MapNotes_Data_Notes[key][id].customIcon = txture; |
else |
update = nil; |
end |
MNILV.AsyncData = {}; |
MNILV.AsyncData.txture = txture; |
MNILV.AsyncData.defaultCustomIcon = defaultCustomIcon; |
-- Set the texture of the target |
MNIL.activeSelection:SetTexture( txture ); |
elseif ( MNIL.defaultIcon == "Party" ) then |
MN_PARTY_ICON = txture; |
MNIL_Data.partyIcon = MN_PARTY_ICON; |
MapNotesPOIpartyTexture:SetTexture(txture); |
MNIL_OptionPartyArtWorkTexture:SetTexture(txture); |
if ( MapNotes_MiniNote_Data.icon == "party" ) then |
MN_MiniNotePOITexture:SetTexture(MN_PARTY_ICON); |
end |
elseif ( MNIL.defaultIcon == "tloc" ) then |
MN_TLOC_ICON = txture; |
MNIL_Data.tlocIcon = MN_TLOC_ICON; |
MapNotesPOItlocTexture:SetTexture(txture); |
MNIL_OptiontlocArtWorkTexture:SetTexture(txture); |
if ( MapNotes_MiniNote_Data.icon == "tloc" ) then |
MN_MiniNotePOITexture:SetTexture(MN_TLOC_ICON); |
end |
elseif ( MNIL.defaultIcon ) then |
local defaultCustomIcon; |
for i=0, 9, 1 do |
if ( MNIL_Data.customDefaults[i] == txture ) then |
defaultCustomIcon = i; |
elseif ( ( i ~= MapNotes_TempData_Icon ) and ( txture == MN_POI_ICONS_PATH.."\\Icon"..i ) ) then |
defaultCustomIcon = i; |
end |
end |
if ( defaultCustomIcon ) then |
DEFAULT_CHAT_FRAME:AddMessage(MNIL_DEFAULT_IN_USE, 1, 0.1, 0.1); |
return; |
else |
MNIL_Data.customDefaults[ MNIL.defaultIcon ] = txture; |
getglobal("MapNotesOptionsIcon"..MNIL.defaultIcon.."Texture"):SetTexture(txture); |
getglobal("MN_EditIcon"..MNIL.defaultIcon.."Texture"):SetTexture(txture); |
MNIL.activeSelection:SetTexture( txture ); |
MNILF.PropagateDefaultIcon(MapNotes_TempData_Icon, oldTxture, txture); |
end |
end |
if ( update ) then |
-- refresh the maps |
MapNotes_MapUpdate(); |
MapNotes_PlugInsRefresh(); |
end |
MNILSelectorFrame:Hide(); |
end |
end |
------------------------------------------------------------------------------------------------------------------------------------------ |
-- %%% |
-- Choosing a custom Icon for a specific note, without changing the defaults |
function MNIL.MNIL_CustomIcon_OnClick(bttn, mouseBttn) |
if ( ( IsAltKeyDown() ) and ( not IsControlKeyDown() ) and ( not IsShiftKeyDown() ) ) then |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
end |
MNIL_CustomIconArtWorkTexture:SetTexture("Interface\\Buttons\\ButtonHilight-SquareQuickslot"); |
MN_IconOverlay:SetPoint("TOPLEFT", "MN_EditIcon"..MapNotes_TempData_Icon, "TOPLEFT", -3, 3); |
if ( ( MapNotes_Data_Notes[MapNotesEditFrame.k] ) |
and ( MapNotes_Data_Notes[MapNotesEditFrame.k][MapNotesEditFrame.index] ) ) then |
MapNotes_Data_Notes[MapNotesEditFrame.k][MapNotesEditFrame.index].customIcon = nil; |
if ( MapNotes.pluginKeys[MapNotesEditFrame.k] ) then |
MapNotes_PlugInsDrawNotes(MapNotes.pluginKeys[MapNotesEditFrame.k]); |
else |
MapNotes_MapUpdate(); |
end |
end |
return; |
else |
MN_IconOverlay:SetPoint("TOPLEFT", MNIL_CustomIcon, "TOPLEFT", -3, 3); |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
else |
MNIL.activeSelection = MNIL_CustomIconArtWorkTexture; |
MNIL.specificIcon = {}; |
MNIL.specificIcon.key = MapNotesEditFrame.k; |
MNIL.specificIcon.index = MapNotesEditFrame.index; |
MNIL.defaultIcon = nil; |
MNILSelectorFrame:Show(); |
end |
end |
MNIL.Button_OnMouseEnter(MNIL_CustomIcon); |
end |
-- Click on Library navigation buttons for scrolling through Icons |
function MNIL.IL_PrevIcons() |
if ( MNIL_Data.lastRow ) then |
MNIL_Data.lastRow = MNIL_Data.lastRow - 1; |
MNILF.MNILSelectorFrame_RefreshButtons(); |
end |
end |
function MNIL.IL_NextIcons() |
if ( MNIL_Data.lastRow ) then |
MNIL_Data.lastRow = MNIL_Data.lastRow + 1; |
MNILF.MNILSelectorFrame_RefreshButtons(); |
end |
end |
function MNIL.IL_OptionsOnClick() |
if ( MNILOptionsFrame:IsVisible() ) then |
MNIL.IL_CancelOptionsOnClick(); |
else |
MNILOptionsFrame:Show(); |
end |
end |
function MNIL.MNIL_CustomIcon_OnShow() |
local key = MapNotesEditFrame.k; |
local Plugin = MapNotes.pluginKeys[key]; |
local currentZone = MapNotes_Data_Notes[key]; |
local id = MapNotes_TempData_Id; |
currentZone = MapNotes_Data_Notes[key]; |
MapNotesEditFrame.index = id; |
MNIL_CustomIconArtWorkTexture:SetTexture("Interface\\Buttons\\ButtonHilight-SquareQuickslot"); |
if ( ( currentZone ) and ( id ) and ( currentZone[id] ) and ( currentZone[id].customIcon ) ) then |
local defaultCustomIcon; |
for i=0, 9, 1 do |
if ( MNIL_Data.customDefaults[i] == currentZone[id].customIcon ) then |
defaultCustomIcon = i; |
end |
end |
if ( defaultCustomIcon ) then |
MN_IconOverlay:SetPoint("TOPLEFT", "MN_EditIcon"..defaultCustomIcon, "TOPLEFT", -3, 3); |
else |
MN_IconOverlay:SetPoint("TOPLEFT", MNIL_CustomIcon, "TOPLEFT", -3, 3); |
MNIL_CustomIconArtWorkTexture:SetTexture(currentZone[id].customIcon); |
end |
end |
end |
function MNIL.MNIL_CustomIcon_OnHide() |
if ( MNIL.specificIcon ) or ( ( MNIL.defaultIcon ) and ( type(MNIL.defaultIcon) == "number" ) ) then |
MNILSelectorFrame:Hide(); |
end |
end |
function MNIL.IL_CancelSelectorOnClick() |
MNILSelectorFrame:Hide(); |
end |
------------------------------------------------ |
-- OPTIONS FRAME FUNCTIONS -- |
------------------------------------------------ |
function MNIL.PartyIcon_OnClick(bttn, mouseBttn) |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
elseif ( ( IsAltKeyDown() ) and ( not IsControlKeyDown() ) and ( not IsShiftKeyDown() ) ) then |
MNIL.activeSelection = nil; |
MNIL.specificIcon = nil; |
MNIL.defaultIcon = nil; |
MNIL_Data.partyIcon = nil; |
MN_PARTY_ICON = nil; |
MapNotesPOIpartyTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
MNIL_OptionPartyArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
if ( MapNotes_MiniNote_Data.icon == "party" ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
end |
MapNotes_MapUpdate(); |
else |
MNIL.activeSelection = bttn; |
MNIL.specificIcon = nil; |
MNIL.defaultIcon = "Party"; |
MNILSelectorFrame:Show(); |
end |
end |
function MNIL.tlocIcon_OnClick(bttn, mouseBttn) |
if ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
elseif ( ( IsAltKeyDown() ) and ( not IsControlKeyDown() ) and ( not IsShiftKeyDown() ) ) then |
MNIL.activeSelection = nil; |
MNIL.specificIcon = nil; |
MNIL.defaultIcon = nil; |
MNIL_Data.tlocIcon = nil; |
MN_TLOC_ICON = nil; |
MapNotesPOItlocTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
MNIL_OptiontlocArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
if ( MapNotes_MiniNote_Data.icon == "tloc" ) then |
MN_MiniNotePOITexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
end |
MapNotes_MapUpdate(); |
else |
MNIL.activeSelection = bttn; |
MNIL.specificIcon = nil; |
MNIL.defaultIcon = "tloc"; |
MNILSelectorFrame:Show(); |
end |
end |
function MNIL.PartyIcon_OnShow() |
if ( MNIL_Data.partyIcon ) then |
MapNotesPOIpartyTexture:SetTexture(MNIL_Data.partyIcon); |
MNIL_OptionPartyArtWorkTexture:SetTexture(MNIL_Data.partyIcon); |
else |
MapNotesPOIpartyTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
MNIL_OptionPartyArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Iconparty"); |
end |
end |
function MNIL.tlocIcon_OnShow() |
if ( MNIL_Data.tlocIcon ) then |
MapNotesPOItlocTexture:SetTexture(MNIL_Data.tlocIcon); |
MNIL_OptiontlocArtWorkTexture:SetTexture(MNIL_Data.tlocIcon); |
else |
MapNotesPOItlocTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
MNIL_OptiontlocArtWorkTexture:SetTexture(MN_POI_ICONS_PATH.."\\Icontloc"); |
end |
end |
function MNIL.IL_CancelOptionsOnClick() |
if ( ( MNIL.defaultIcon ) and ( type(MNIL.defaultIcon) == "string" ) ) then |
MNILSelectorFrame:Hide(); |
end |
MNILOptionsFrame:Hide(); |
end |
function MNIL.IL_BrowseOnClick() |
if ( MNIL.activeSelection ) then |
return; |
elseif ( MNILSelectorFrame:IsVisible() ) then |
MNILSelectorFrame:Hide(); |
else |
MNIL.activeSelection = nil; |
MNIL.specificIcon = nil; |
MNIL.defaultIcon = nil; |
MNILSelectorFrame:Show(); |
end |
end |
function MNIL.ResetOnClick() |
StaticPopup_Show("MNIL_CONFIRM_RESET"); |
end |
function MNIL.CleanOnClick() |
StaticPopup_Show("MNIL_CONFIRM_CLEAN"); |
end |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-------------------------------------------------------------------- |
-- Function for other Plugins to register their Icons -- |
-------------------------------------------------------------------- |
function MNIL_RegisterLibrary(newLib) |
for _, lib in pairs(newLib) do |
table.insert(MNIL_Libs, lib); |
end |
end |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
MNIL_VERSIONTXT = "Version"; |
MNIL_LIBSLOADED = "Libraries Loaded : "; |
MNIL_LIB = "Library : "; |
MNIL_LTITLE = "Title : "; |
MNIL_LAUTHOR = "Author : "; |
MNIL_LDATE = "Date : "; |
MNIL_LINFO = "Notes : "; |
MNIL_LICONS = "Icons : "; |
MNIL_PARTYICON = "Party Note"; |
MNIL_TLOCICON = "tloc Note"; |
MNIL_BROWSE = "Browse"; |
MNIL_RESET = "Reset"; |
MNIL_CLEAN = "Clean"; |
MNIL_TOTAL = "Total : "; |
MNIL_OPTIONS = "Options"; |
MNIL_OTITLE = "MapNotes Icon Library " .. MNIL_OPTIONS; |
MNIL_DEFAULT_IN_USE = "--- TEXTURE ALREADY IN USE BY ANOTHER DEFAULT ---"; |
MNIL_VERSION_WARNING_MSG = "Please Upgrade to MapNotes (Fan's Update) v4.12.20300 or later.\nMapNotesIconLibrary is NOT guaranteed to work with earlier versions."; |
MNILC = { |
ICON = "Icon", |
ICONS = MNIL_LICONS; |
}; |
MNIL_TT = { |
["IL_ICONTOOLTIP0"] = "Choose a new Icon", |
["IL_ICONTOOLTIP1"] = " Click to choose a new Icon from the", |
["IL_ICONTOOLTIP2"] = " currently selected Icon Library.", |
["NV_PREVTOOLTIP0"] = "Previous...", |
["NV_NEXTTOOLTIP0"] = "More...", |
["MN_ICONTOOLTIP0"] = "Original MapNotes Defaults", |
["MN_ICONTOOLTIP1"] = " Click to reset to MapNotes Default", |
["NV_OPTIONSTOOLTIP0"] = MNIL_OPTIONS, |
["GN_OPTIONSBROWSE0"] = "Browse Library Icons", |
["GN_OPTIONSRESET0"] = "Remove ALL Custom Icons", |
["GN_OPTIONSPARTY0"] = "Choose a new Group / Party Icon", |
["GN_OPTIONSTLOC0"] = "Choose a new tloc Icon", |
["IL_CUSTOMICONTOOLTIP0"] = "Choose an Icon", |
["IL_CUSTOMICONTOOLTIP1"] = " Select a unique Icon for this", |
["IL_CUSTOMICONTOOLTIP2"] = " particular MapNote", |
["IL_CLEANTOOLTIP0"] = "Clean MapNotes Data", |
["IL_CLEANTOOLTIP1"] = "Delete Custom Icons where the Library\n to which they belong is not loaded", |
}; |
## Interface: 30000 |
## Title: MapNotesIconLib |c0000FF00(v1.04.30000)|r |
## Author: Telic |
## Version: 1.04.30000 |
## Notes: Provides a much larger selection of Icons for use with MapNotes (Fan's Update). Plus a framework for adding further Icon Libraries |
## eMail: telic@hotmail.co.uk |
## RequiredDeps: MapNotes |
## DefaultState: Enabled |
## LoadOnDemand: 0 |
## SavedVariables: MNIL_Data |
MapNotesIconLib.xml |
MNIL_Libs = { |
[1] = { |
["title"] = "MapNotesIconLibrary", |
["author"] = "Telic", |
["date"] = "20071218", |
["info"] = { |
["enGB"] = "Base Library including a variety of Icons\nincluding many of Blizzard's own", |
}, |
["icons"] = { |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon0", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon1", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon2", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon3", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon4", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon5", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon6", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon7", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon8", }, |
{ ["path"] = "Interface\\AddOns\\MapNotes\\POIIcons\\Icon9", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\Mail", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\MagGlass", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\Repair", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\Herb", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\Pick", }, |
{ ["path"] = "Interface\\Buttons\\UI-GuildButton-PublicNote-Up", }, |
{ ["path"] = "Interface\\Buttons\\UI-GuildButton-PublicNote-Disabled", }, |
{ ["path"] = "Interface\\Buttons\\UI-GuildButton-OfficerNote-Up", }, |
{ ["path"] = "Interface\\Buttons\\UI-GuildButton-OfficerNote-Disabled", }, |
{ ["path"] = "Interface\\Buttons\\UI-GroupLoot-Pass-Up", }, |
{ ["path"] = "Interface\\Buttons\\UI-GuildButton-MOTD-Up", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\PvPAlliance", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\PvPHorde", }, |
{ ["path"] = "Interface\\CharacterFrame\\UI-Player-PlayTimeTired", }, |
{ ["path"] = "Interface\\CharacterFrame\\UI-Player-PlayTimeUnhealthy", }, |
{ ["path"] = "Interface\\GLUES\\Login\\Glues-CheckBox-Check", }, |
{ ["path"] = "Interface\\GossipFrame\\ActiveQuestIcon", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ActiveQuestIconRed", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ActiveQuestIconBlue", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ActiveQuestIconGreen", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ActiveQuestIconCyan", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ActiveQuestIconPurple", }, |
{ ["path"] = "Interface\\GossipFrame\\AvailableQuestIcon", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\AvailableQuestIconRed", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\AvailableQuestIconBlue", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\AvailableQuestIconGreen", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\AvailableQuestIconCyan", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\AvailableQuestIconPurple", }, |
{ ["path"] = "Interface\\GossipFrame\\BankerGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\BattleMasterGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\HealerGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\GossipGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\PetitionGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\TabardGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\TaxiGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\TrainerGossipIcon", }, |
{ ["path"] = "Interface\\GossipFrame\\VendorGossipIcon", }, |
{ ["path"] = "Interface\\GroupFrame\\UI-Group-LeaderIcon", }, |
{ ["path"] = "Interface\\GroupFrame\\UI-Group-MasterLooter", }, |
{ ["path"] = "Interface\\LootFrame\\LootPanel-Icon", }, |
{ ["path"] = "Interface\\MINIMAP\\UI-Minimap-ZoomInButton-Up", }, |
{ ["path"] = "Interface\\MINIMAP\\UI-Minimap-ZoomOutButton-Down", }, |
{ ["path"] = "Interface\\PVPFrame\\PVP-ArenaPoints-Icon", }, |
{ ["path"] = "Interface\\PvPRankBadges\\PvPRankAlliance", }, |
{ ["path"] = "Interface\\PvPRankBadges\\PvPRankHorde", }, |
{ ["path"] = "Interface\\TAXIFRAME\\UI-Taxi-Icon-Green", }, |
{ ["path"] = "Interface\\TAXIFRAME\\UI-Taxi-Icon-Red", }, |
{ ["path"] = "Interface\\TargetingFrame\\UI-TargetingFrame-Seal", }, |
{ ["path"] = "Interface\\TargetingFrame\\UI-TargetingFrame-Sheep", }, |
{ ["path"] = "Interface\\TargetingFrame\\UI-TargetingFrame-Skull", }, |
{ ["path"] = "Interface\\WorldStateFrame\\AllianceFlag", }, |
{ ["path"] = "Interface\\WorldStateFrame\\HordeFlag", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\AllianceTower", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\HordeTower", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\NeutralTower", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\DialogAlertIcon", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ButtonBlue", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ButtonGreen", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ButtonRed", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\ButtonYellow", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidBlueSquared", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidCrescentMoon", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidGreenTriangle", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidOrangeCircle", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidPurpleDiamond", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidRedCross", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidSkull", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\RaidYellowStarDiamond", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\UI-PVP-FFA", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Blizzard\\MiniMap-TrackingBorder", }, |
{ ["path"] = "Interface\\WorldMap\\WorldMap-Icon", }, |
}, |
}, |
}; |
MapNotesIconLib |
_______________ |
Provides a much larger set of Icons to use for MapNotes (Fan's Update). |
MapNotesIconLib comes with 76 new core icons, mainly sourced from the Game itself. |
Packaged with the library are 3 other Plugin libraries : |
Fancy - some fancy icons modified from source graphics at from http://www.freebuttons.com |
Numbered - a variety of numbered icons (again, some modified versions of http://www.freebuttons.com) |
Neptunia - the Icons originally donated by Neptunia |
With MapNotesIconLib installed, Icon choices are applied immediately when selected without having to save the Note. |
Getting Started |
_______________ |
Open up a Note Edit Frame via MapNotes menus, or <Ctrl><Alt>-Right clicking on a MapNote. |
There is a new empty blue highlighted button to the right of the normal MapNote Icons. |
Click on this square to open up the Icon Library Browser frame and choose a new Icon for this MapNote :) |
<Alt>-Click on this square to delete the custom Icon choice, and MapNotes will revert to using the default Icon it was using originally. |
The change will take effect immediately without having to save the note. |
Advanced Use |
____________ |
1.) You can change the original 10 default icons used by MapNotes |
Open up a Note Edit Frame via MapNotes menus, or <Ctrl><Alt>-Right clicking on a MapNote. |
<Ctrl>-Click on any of the default MapNote Icons to open up the Icon Library Browser frame and choose a new default icon :) |
<Alt>-Click on any of the default MapNote Icons to reset it to the original MapNotes version. |
The changes will take effect immediately, and will propagate thoughout the database and change all MapNotes that were using that default Icon. |
2.) The Icon Library Options frame |
Use the "/mnil" slash command to open the Icon Library Options frame |
From the Options frame you can : |
a.) Change the default Party / tloc Icons by clicking on them and choosing new ones from the Icon Library Browser frame |
b.) Simply open the Icon Library Broswer frame just to look through the Icons available |
c.) Reset ALL MapNotes to use the original MapNotes defaults, and remove ALL customised Icons |
d.) This Option will "clean" the MapNotes database, by removing any references to icons that you no longer explicitly load. |
[See Special Note for more details] |
e.) Cancel and close the Options frame |
NOTE that to "Reset" or "Clean" the Icons requires clicking Okay in a Confirmation dialogue box. |
So if you don't see the confirmation box, then close the World Map and move frames around until it is visible ;) |
Special Note on Database Cleaning |
_________________________________ |
If you use icons from a certain library, but don't load that particular library - those Icons will still be displayed in game if the directory paths still exist. |
In order to completely remove traces of library icons that you don't want to see, you should NOT load the library, and then manually use the "Clean" option, and/or physically remove the AddOn library from the AddOns folder. |
The results of the "cleaning" will be reported in the chat frame, detailing the names of the textures that have been cleaned and the total number. |
I have made the conscious decision not to automatically clean Icon data when a specific library is not loaded for a couple of reasons : |
a.) it is more forgiving to people who don't load a library by mistake. Auto-cleaning would mean that people would have to manually select all the icons again when they logged in again with that library. |
But with this set up, then the Icons will be remembered even when a library isn't loaded - unless you manually choose to clean the data. |
b.) it also allows the user to specify special icons for very rare MapNotes, and then save memory by not loading the icon library. |
i.e. the rare icon they selected will still show, but they won't be loading all the other Icon graphics. |
How To Publish a Plugin Library of Icons |
________________________________________ |
I'm not gonna describe the general process of AddOn publication, so you'll need some knowledge about how to make AddOns ;p |
Basically you need to do 3 things : |
1.) Provide the Icons as .tga or .blp |
2.) Define a data array describing the library, and the paths to the Icons (See the _Fancy / _Neptunia / _Numbered libraries for examples) |
3.) After the "VARIABLES_LOADED" event, register your library of Icons with MapNotesIconLib by calling the following function : |
MNIL_RegisterLibrary(newLib); |
... where newLib is the data array you have used to define your library in step 2 above. |
Obviously, the best place to start is by looking at the other examples, so just look at how MapNotesIconLib_Fancy, etc. have been designed to load. |
The Icons in the browser frame can be formatted, and blanks inserted by using the special Texture : |
"Interface\\AddOns\\MapNotesIconLib\\Icons\\Empty" |
See the _Fancy icon library for an example of how this is used to include a "blank" icon as a spacer between other ones :) |
__________ |
Change Log |
__________ |
Changes in v1.04.30000 from v1.03.30000 |
--------------------------------------- |
- fix to FrameXML.log font error |
- fix to MapNotes plugin custom icon selection |
Changes in v1.03.30000 from v1.02.30000 |
--------------------------------------- |
- small fix to allow selection of original default icons after having selected a custom icon |
Changes in v1.02.30000 from v1.01.20400 |
--------------------------------------- |
- update for toc 3 and WotLK |
- fix to prevent single error message for new installation |
Changes in v1.01.20400 from v1.01.20300 |
--------------------------------------- |
- toc update |
Changes in v1.01.20300 from v1.00.20300 |
--------------------------------------- |
- Added 5 NEW Icons to the base library for : |
Mail, Herbalist, RepairNPC, MiningTrainer, Magnifying Glass |
- Saving a note with a pre-existing custom icon selection, will no longer reset when using customised defaults |
- choosing a default Icon that you have customised will now be applied immediatly without having to save the note |
(As per the other functionality provided by this AddOn) |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ |
..\FrameXML\UI.xsd"> |
<Script file="MapNotesIconLib_Library.lua"/> |
<Script file="MapNotesIconLib.en.lua"/> |
<Script file="MapNotesIconLib.lua"/> |
<!-- MNIL Fonts --> |
<Font name="MNIL_NormalFont" inherits="GameFontNormalLarge" font="Fonts\ARIALN.TTF" virtual="true"> |
<FontHeight> |
<AbsValue val="15"/> |
</FontHeight> |
<Shadow> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
<Color r="0" g="0" b="0"/> |
</Shadow> |
<Color r="1.0" g="1.0" b="0.0"/> |
</Font> |
<Font name="MNIL_GreenFont" inherits="GameFontNormal" font="Fonts\ARIALN.TTF" virtual="true"> |
<FontHeight> |
<AbsValue val="12"/> |
</FontHeight> |
<Shadow> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
<Color r="0" g="0" b="0"/> |
</Shadow> |
<Color r="0.0" g="0.0" b="1"/> |
</Font> |
<Font name="MNIL_BlackFont" inherits="GameFontNormal" font="Fonts\ARIALN.TTF" virtual="true"> |
<FontHeight> |
<AbsValue val="12"/> |
</FontHeight> |
<Shadow> |
<Offset> |
<AbsDimension x="0" y="0"/> |
</Offset> |
<Color r="0" g="0" b="0"/> |
</Shadow> |
<Color r="0.0" g="0.0" b="0.0"/> |
</Font> |
<!-- Master Templates --> |
<Frame name="MNIL_ScriptTemplate" enableMouse="true" virtual="true"> |
<Scripts> |
<OnMouseDown> |
MNIL.Button_OnMouseDown(this); <!-- Button pressed animation --> |
</OnMouseDown> |
<OnMouseUp> |
MNIL.Button_OnMouseUp(this, arg1); <!-- Button released animation --> |
</OnMouseUp> <!-- Buttons based on this template can call their own secondary, customised OnClick func --> |
<OnEnter> |
MNIL.Button_OnMouseEnter(this); <!-- Buttons based on this template can provide their own Tooltip key --> |
</OnEnter> |
<OnLeave> |
MNIL.Button_OnMouseLeave(this); <!-- Hide tooltip --> |
</OnLeave> |
</Scripts> |
</Frame> |
<Frame name="MNIL_IconButtonTemplate" inherits="MNIL_ScriptTemplate" enableMouse="true" virtual="true"> |
<Frames> |
<Frame name="$parentArtWork"> |
<Size> |
<AbsDimension x="18" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="$parentTexture" file="Interface\QuestFrame\UI-QuestTitleHighlight"> |
<Size> |
<AbsDimension x="18" y="18"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
<Layer level="OVERLAY"> |
<Texture name="$parentHighlight" hidden="true" file="Interface\QuestFrame\UI-QuestTitleHighlight" alphaMode="ADD"> |
<Size> |
<AbsDimension x="14" y="14"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
</Frame> |
</Frames> |
</Frame> |
<!-- Specific Button Templates --> |
<!-- IconLib Default Icons --> |
<Frame name="MNIL_ILIconButtonTemplate" inherits="MNIL_IconButtonTemplate" virtual="true"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativeTo="MNILSelectorFrame" relativePoint="CENTER"/> |
</Anchors> |
<Scripts> |
<OnLoad> |
this.onClickFunc = MNIL.IL_IconOnClick; |
this.tooltipKey = "IL_ICONTOOLTIP"; |
this.overlayHighlight = true; |
this.enabled = true; |
</OnLoad> |
</Scripts> |
</Frame> |
<!-- MapNotes Default Icons --> |
<Frame name="MNIL_MNIconButtonTemplate" inherits="MNIL_IconButtonTemplate" virtual="true"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER" relativeTo="MNILOptionsFrame" relativePoint="CENTER"/> |
</Anchors> |
</Frame> |
<!-- Navigation --> |
<Frame name="MNIL_NavButtonTemplate" inherits="MNIL_ScriptTemplate" virtual="true"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Frames> |
<Frame name="$parentArtWork"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="$parentTexture" file="Interface\AddOns\MapNotesIconLib\Graphics\Down"> |
<Size> |
<AbsDimension x="32" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
</Layers> |
</Frame> |
</Frames> |
</Frame> |
<!-- Generic --> |
<Frame name="MNIL_GenButtonTemplate" inherits="MNIL_ScriptTemplate" virtual="true"> |
<Size> |
<AbsDimension x="80" y="22"/> |
</Size> |
<Frames> |
<Frame name="$parentArtWork"> |
<Size> |
<AbsDimension x="128" y="128"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="BACKGROUND"> |
<Texture name="$parentTexture" file="Interface\AddOns\MapNotesIconLib\Graphics\GenRaw"> |
<Size> |
<AbsDimension x="128" y="128"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
</Texture> |
</Layer> |
<Layer level="ARTWORK"> |
<FontString name="$parentText" inherits="MNIL_NormalFont"/> |
</Layer> |
</Layers> |
</Frame> |
</Frames> |
</Frame> |
</Ui> |
-- Data that we need to register with MapNotesIconLib |
local MapNotesIconLib_Fancy_Icons = { |
[1] = { |
["title"] = "Fancy Icons", |
["author"] = "Telic", |
["date"] = "20071227", |
["info"] = { |
["enGB"] = "Some fancy Icons courtesy of\nhttp://www.freebuttons.com", |
}, |
["icons"] = { |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Hublo08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Empty", }, -- use to pad the display of Icons with an empty space |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Alien08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Empty", }, -- use to pad the display of Icons with an empty space |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Cosmic08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib\\Icons\\Empty", }, -- use to pad the display of Icons with an empty space |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Fancy\\Icons\\Fancy\\Mechano08", }, |
}, |
}, |
}; |
local MNIL_Fancy_Frame = CreateFrame("Frame"); |
local function MNIL_Fancy_OnEvent() |
MNIL_RegisterLibrary(MapNotesIconLib_Fancy_Icons); -- The function needed to register the above data with MapNotesIconLib |
end |
MNIL_Fancy_Frame:RegisterEvent("VARIABLES_LOADED"); |
MNIL_Fancy_Frame:SetScript("OnEvent", MNIL_Fancy_OnEvent); |
## Interface: 30000 |
## Title: MapNotesIconLib_Fancy |
## Notes: A Variety of Numbered Icons for MapNotesIconLib |
## Dependencies: MapNotesIconLib |
MapNotesIconLib_Fancy.lua |
-- Data that we need to register with MapNotesIconLib |
local MapNotesIconLib_Neptunia_Icons = { |
[1] = { |
["title"] = "Neptunia's Icons", |
["author"] = "Neptunia", |
["date"] = "20070101", |
["info"] = { |
["enGB"] = "Custom Library Icons donated by Neptunia", |
}, |
["icons"] = { |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon0", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon1", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon2", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon3", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon4", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon5", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon6", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon7", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon8", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Neptunia\\Icons\\Neptunia\\icon9", }, |
}, |
}, |
}; |
local MNIL_Neptunia_Frame = CreateFrame("Frame"); |
local function MNIL_Neptunia_OnEvent() |
MNIL_RegisterLibrary(MapNotesIconLib_Neptunia_Icons); -- The function needed to register the above data with MapNotesIconLib |
end |
MNIL_Neptunia_Frame:RegisterEvent("VARIABLES_LOADED"); |
MNIL_Neptunia_Frame:SetScript("OnEvent", MNIL_Neptunia_OnEvent); |
## Interface: 30000 |
## Title: MapNotesIconLib_Neptunia |
## Notes: Plugin of Neptunia's Icons for MapNotesIconLib |
## Dependencies: MapNotesIconLib |
MapNotesIconLib_Neptunia.lua |
MNB_VERSION = "v1.00.30000"; |
MNB = {}; |
MNB.mode = "WM"; -- default World Map mode |
MNB_List = {}; |
local browserInsert = { |
text = MNB_NAME, |
func = function() |
local pFrame = WorldMapButton; |
MNB.mode = "WM"; |
pFrame = MapNotes.dd.pFrame; |
local Plugin = MapNotes.pluginKeys[ MapNotes.dd.key ]; |
if ( ( Plugin ) and ( not Plugin.wmflag ) ) then |
MNB.mode = Plugin.name; |
end |
MNB_Browser:SetParent( pFrame ); |
MNB_Browser:SetAlpha(1); |
MNB_Browser:Show(); |
MapNotes_ScaleFrames(); |
MNB.PopulateScroll(Plugin); |
end, |
}; |
-- Main event processor |
function MNB.ProcessEvents(self, event, ...) |
if ( event == "VARIABLES_LOADED" ) then |
local msg = "MapNotesBrowser |c0000FF00"..MNB_VERSION.."|r"; |
DEFAULT_CHAT_FRAME:AddMessage(msg, 0.64, 0.21, 0.93); |
-- set hooks |
MNB.Ori_MapNotes_WorldMapButton_OnUpdate = MapNotes_WorldMapButton_OnUpdate; |
MapNotes_WorldMapButton_OnUpdate = MNB.New_MapNotes_WorldMapButton_OnUpdate; |
MNB.Ori_MapNotes_PlugInsDrawNotes = MapNotes_PlugInsDrawNotes; |
MapNotes_PlugInsDrawNotes = MNB.New_MapNotes_PlugInsDrawNotes; |
MNB.Ori_MapNotes_WriteNote = MapNotes_WriteNote; |
MapNotes_WriteNote = MNB.New_MapNotes_WriteNote; |
-- insert the Browse option in to the MapNotes right click menu |
table.insert(MapNotes.base_dd_info[1], #(MapNotes.base_dd_info[1]), browserInsert); |
-- insert an entry in the MapNotes frames array to be scaled in line with other MapNotes frames |
table.insert(MapNotes.scaleFrames, MNB_Browser); |
-- initialise the PointyPointy |
MNB_PointyPointy.timer = 0; |
MNB_PointyPointy.hAngle = 0; |
MNB_PointyPointy:SetScript("OnUpdate", MNB.PointyUpdate); |
end |
end |
local function ShowPointy() |
local frame = MNB_PointyPointy.frame; |
local scalingFactor = MN_ScaleMe(frame); |
MNB_PointyPointy:SetScale( scalingFactor ); |
local x = MNB_PointyPointy.x * frame:GetWidth() / scalingFactor; |
local y = -MNB_PointyPointy.y * frame:GetHeight() / scalingFactor; |
MNB_PointyPointy:ClearAllPoints(); |
MNB_PointyPointy:SetParent( frame ); |
MNB_PointyPointy:SetPoint("CENTER", frame:GetName(), "TOPLEFT", x, y); |
MNB_PointyPointy.timer = 0; |
MNB_PointyPointy:Show(); |
end |
-- scroll button OnEnter |
function MNB.ScrollButton_OnEnter(self) |
MN_NoteOnEnter(self); -- trigger display of standard MapNotes tooltip |
local frame = self.pluginFrame; |
if ( not frame ) then |
frame = MNB_Browser:GetParent(); |
end |
local key = frame.key or MapNotes_GetMapKey(); |
if ( ( frame:IsVisible() ) and ( self.key == key ) ) then -- display special pointer on map |
if ( not MNB_PointyPointy.fixed ) then |
MNB_PointyPointy.frame = frame; |
MNB_PointyPointy.x = self.xPos; |
MNB_PointyPointy.y = self.yPos; |
ShowPointy(); |
end |
end |
end |
-- scroll button OnClick |
function MNB.ScrollButton_OnClick(self, mouseButton) |
HideDropDownMenu(1); |
if ( self.heading ) then return; end |
if ( mouseButton == "LeftButton" ) then |
local key = self.key; |
local nid = self.nid; |
local frame = self.pluginFrame; |
if ( not frame ) then |
frame = MNB_Browser:GetParent(); |
end |
local frameKey = frame.key or MapNotes_GetMapKey(); |
local fixPointy; |
if ( not MNB_PointyPointy.fixed ) then |
MNB_PointyPointy.fixed = {}; |
fixPointy = true; |
elseif ( ( MNB_PointyPointy.fixed.key == key ) and ( MNB_PointyPointy.fixed.nid == nid ) ) then |
MNB_PointyPointy.fixed = nil; |
MNB_MarkerButton:Hide(); |
else |
fixPointy = true; |
end |
if ( string.find(key, "^WM %a+") ) then |
local note = MapNotes_Data_Notes[key]; |
if ( note ) then |
note = note[nid]; |
if ( note ) then |
local check = getglobal( self:GetName() .. "NoteMininote" ); |
if ( fixPointy ) then |
note.mininote = true; |
if ( MNB.mode == "searching" ) then |
check:Show(); |
end |
else |
note.mininote = nil; |
if ( MNB.mode == "searching" ) then |
check:Hide(); |
end |
end |
end |
MNB.New_MapNotes_WorldMapButton_OnUpdate(); -- new or old .... ? |
end |
end |
if ( ( MapNotes_Keys[key] ) and ( MapNotes_Keys[key].c ~= nil ) and ( not MNB_Browser.Plugin ) ) then |
SetMapZoom(MapNotes_Keys[key].c, MapNotes_Keys[key].z); |
if ( MapNotes_Keys[key].f ) then |
SetDungeonMapLevel(MapNotes_Keys[key].f); |
end |
frameKey = frame.key or MapNotes_GetMapKey(); -- update key if map changed |
end |
MNB_PointyPointy:Hide(); |
for n=1, 18 do getglobal("MNB_Scroll"..n.."NotePointy"):Hide(); end |
if ( fixPointy ) then |
MNB_PointyPointy.fixed.key = key; |
MNB_PointyPointy.fixed.nid = nid; |
MNB_PointyPointy.fixed.pluginFrame = self.pluginFrame; |
MNB_PointyPointy.frame = frame; |
MNB_PointyPointy.x = self.xPos; |
MNB_PointyPointy.y = self.yPos; |
getglobal( self:GetName() .. "NotePointy" ):Show(); |
ShowPointy(); |
if ( ( frame:IsVisible() ) and ( frameKey == key ) ) then |
else |
MNB_PointyPointy:Hide(); |
end |
-- record marker information |
MNB_MarkerButton.key = key; |
MNB_MarkerButton.nid = nid; |
MNB_MarkerButton:Show(); |
if ( ( MapNotes_Keys[key] ) and ( MapNotes_Keys[key].c ~= nil ) ) then |
MNB_MarkerButton.c = MapNotes_Keys[key].c; |
MNB_MarkerButton.z = MapNotes_Keys[key].z; |
MNB_MarkerButton.f = MapNotes_Keys[key].f; |
end |
end |
MNB.ScrollButton_OnEnter(self); |
elseif ( mouseButton == "RightButton" ) then |
MapNotes:InitialiseDropdown(MNB_Browser, self.xPos, self.yPos, MapNotes.mininote_dd_info, self.key, self.nid); |
ToggleDropDownMenu(1, nil, MapNotes.dd, "cursor", 0, 0); |
end |
end |
function MNB.Marker_OnClick(self, mouseButton) |
if ( mouseButton == "LeftButton" ) then |
if ( self.c ) then |
SetMapZoom(self.c, self.z); |
if ( self.f ) then |
SetDungeonMapLevel(self.f); |
end |
end |
else |
MNB_PointyPointy.fixed = nil; |
MNB_PointyPointy:Hide(); |
MNB_MarkerButton:Hide(); |
MNB.PopulateScroll(MapNotes.pluginKeys[self.key]); |
end |
end |
-- search button OnClick |
function MNB.Search_OnClick(self, mouseButton) |
MNB.mode = "searching"; |
MNB.PopulateScroll(); |
end |
-- function for generic call to refresh the scroll list |
function MNB.PopulateScroll(Plugin) |
if ( MNB.mode == "searching" ) then |
-- MNB_Browser.Plugin = nil; |
MNB.GlobalSearch(); |
elseif ( Plugin ) then |
MNB_Browser.Plugin = Plugin; |
MNB.New_MapNotes_PlugInsDrawNotes(Plugin); |
else |
MNB_Browser.Plugin = nil; |
MNB.New_MapNotes_WorldMapButton_OnUpdate(); |
end |
end |
local function SortByName(note1, note2) |
if ( strlower(note1.name) < strlower(note2.name) ) then |
return true; |
end |
return false; |
end |
local function LoadMNBList(key, currentZone, Plugin) |
local filter = MNB_FilterEditBox:GetText(); |
local search, include; |
if ( string.len(filter) == 0 ) then filter = nil; end |
local counter = 0; |
MNB_List = {}; |
for i, note in ipairs(currentZone) do |
include = true; |
if ( filter ) then |
filter = strlower(filter); |
search = strlower( note.name .. note.inf1 .. note.inf2 .. note.creator ); |
if ( not string.find(search, filter) ) then |
include = false; |
end |
end |
if ( include ) then |
counter = counter + 1; |
MNB_List[counter] = {}; |
MNB_List[counter].key = key; |
MNB_List[counter].nid = i; |
MNB_List[counter].name = note.name; |
MNB_List[counter].xPos = note.xPos; |
MNB_List[counter].yPos = note.yPos; |
MNB_List[counter].mininote = note.mininote; |
MNB_List[counter].icon = note.icon; |
MNB_List[counter].customIcon = note.customIcon; |
if ( Plugin ) then |
MNB_List[counter].pluginFrame = Plugin.frame; |
else |
MNB_List[counter].pluginFrame = nil; |
end |
end |
end |
local _, lName = MapNotes_GetMapDisplayName(key); |
MNB_ZoneName:SetText( lName ); |
table.sort(MNB_List, SortByName); |
MNB.Refresh(); |
end |
-- Note Writing hook to refresh global searches only if necessary |
function MNB.New_MapNotes_WriteNote() |
MNB.Ori_MapNotes_WriteNote(); |
if ( ( MNB_Browser:IsVisible() ) and ( MNB.mode == "searching" ) and ( #MNB_List > 0 ) ) then |
MNB_Browser.Plugin = nil; |
MNB.GlobalSearch(); |
end |
end |
-- WorldMap note update |
function MNB.New_MapNotes_WorldMapButton_OnUpdate() |
MNB.Ori_MapNotes_WorldMapButton_OnUpdate(); |
local key = MapNotes_GetMapKey(); |
if ( ( MNB_Browser:IsVisible() ) and ( MNB.mode == "WM" ) ) then |
local currentZone = MapNotes_Data_Notes[key]; |
LoadMNBList(key, currentZone, nil); |
end |
if ( ( MNB_PointyPointy.fixed ) and ( not MNB_PointyPointy.fixed.pluginFrame ) ) then |
if ( MNB_PointyPointy.fixed.key == key ) then |
MNB_PointyPointy:Show(); |
-- local p = MNB_PointyPointy:GetParent(); |
local p = WorldMapButton; -- default frame for non-plugins |
-- if ( ( p:IsVisible() ) and ( not MNB_Browser:IsVisible() ) and ( MNB_Browser:IsShown() ) ) then |
if ( ( p:IsVisible() ) and ( MNB_Browser:IsShown() ) ) then |
MNB_Browser:SetParent( p ); |
MNB_Browser:Show(); |
MNB_Browser.Plugin = nil; |
end |
else |
MNB_PointyPointy:Hide(); |
end |
end |
end |
-- Plugin note update |
function MNB.New_MapNotes_PlugInsDrawNotes(Plugin) |
if ( Plugin.Plugin ) then |
Plugin = Plugin.Plugin; |
end |
if ( MapNotes.MapNotes_Plugin_Updating[Plugin.name] ) then |
return; |
end |
MNB.Ori_MapNotes_PlugInsDrawNotes(Plugin); |
local key = MapNotes_PlugInsGetKey(Plugin); |
if ( ( MNB_Browser:IsVisible() ) and ( MNB.mode == Plugin.name ) ) then |
local currentZone = MapNotes_Data_Notes[key]; |
LoadMNBList(key, currentZone, Plugin); |
end |
if ( ( MNB_PointyPointy.fixed ) and ( MNB_PointyPointy.fixed.pluginFrame ) ) then |
if ( MNB_PointyPointy.fixed.key == key ) then |
MNB_PointyPointy:Show(); |
-- local p = MNB_PointyPointy:GetParent(); |
local p = MNB_PointyPointy.fixed.pluginFrame; |
-- if ( ( p:IsVisible() ) and ( not MNB_Browser:IsVisible() ) and ( MNB_Browser:IsShown() ) ) then |
if ( ( p:IsVisible() ) and ( MNB_Browser:IsShown() ) ) then |
MNB_Browser:SetParent( p ); |
MNB_Browser:Show(); |
MNB_Browser.Plugin = Plugin; |
end |
else |
MNB_PointyPointy:Hide(); |
end |
end |
end |
function MNB.GlobalSearch() |
local fTxt = MNB_FilterEditBox:GetText(); |
if ( ( fTxt ) and ( fTxt ~= "" ) ) then |
local foundArray = {}; |
foundArray.w = {}; |
foundArray.p = {}; |
local workin, countin; |
fTxt = string.lower(fTxt); |
for key, map in pairs(MapNotes_Data_Notes) do |
local heading; |
if ( string.sub(key, 1, 3) == "WM " ) then |
workin = foundArray.w; |
_, heading, _ = MapNotes_GetMapDisplayName(key); |
if ( heading ) then |
table.insert(workin, {}); |
workin = workin[#workin]; |
countin = foundArray.w[#workin]; |
workin.name = heading; |
workin.notes = {}; |
workin = workin.notes; |
end |
else |
workin = foundArray.p; |
for i, P in pairs(MAPNOTES_PLUGINS_LIST) do |
if ( string.find(key, P.name) ) then |
_, heading, _ = MapNotes_GetMapDisplayName(key, P); |
if ( heading ) then |
table.insert(workin, {}); |
workin = workin[#workin]; |
countin = foundArray.p[#workin]; |
workin.name = heading; |
workin.Plugin = P; |
workin.notes = {}; |
workin = workin.notes; |
end |
break; |
end |
end |
end |
-- Have set up the workin array, now copy relevant note details in to it |
local cN = 0; |
for index, note in ipairs(map) do |
local sTxt = string.lower( note.name .. note.inf1 .. note.inf2 .. note.creator ); |
-- if ( ( fTxt == "" ) or ( string.find(sTxt, fTxt) ) ) then -- allow for empty strings i.e. allow ALL notes to be listed ??? %%% |
if ( string.find(sTxt, fTxt) ) then |
table.insert(workin, {}); |
workin[#workin].name = note.name; |
workin[#workin].key = key; |
workin[#workin].nid = index; |
cN = cN + 1; |
end |
end |
end |
for i, data in ipairs(foundArray.p) do |
table.sort(data.notes, SortByName); |
end |
table.sort(foundArray.p, SortByName); |
for i, data in ipairs(foundArray.w) do |
table.sort(data.notes, SortByName); |
end |
table.sort(foundArray.w, SortByName); |
MNB_List = {}; |
local counter = 0; |
local Plugin; |
local aNote; |
for i, data in ipairs(foundArray.p) do |
if ( #(data.notes) > 0 ) then |
counter = counter + 1; |
MNB_List[counter] = {}; |
MNB_List[counter].heading = data.name; |
Plugin = data.Plugin; |
for n, details in ipairs(data.notes) do |
counter = counter + 1; |
aNote = MapNotes_Data_Notes[details.key][details.nid]; |
MNB_List[counter] = {}; |
MNB_List[counter].key = details.key; |
MNB_List[counter].nid = details.nid; |
MNB_List[counter].name = aNote.name; |
MNB_List[counter].xPos = aNote.xPos; |
MNB_List[counter].yPos = aNote.yPos; |
MNB_List[counter].mininote = aNote.mininote; |
MNB_List[counter].icon = aNote.icon; |
MNB_List[counter].customIcon = aNote.customIcon; |
if ( Plugin ) then |
MNB_List[counter].pluginFrame = Plugin.frame; |
end |
end |
end |
end |
for i, data in ipairs(foundArray.w) do |
if ( #(data.notes) > 0 ) then |
counter = counter + 1; |
MNB_List[counter] = {}; |
MNB_List[counter].heading = data.name; |
for n, details in ipairs(data.notes) do |
counter = counter + 1; |
aNote = MapNotes_Data_Notes[details.key][details.nid]; |
MNB_List[counter] = MapNotes_Data_Notes[details.key][details.nid]; |
MNB_List[counter].key = details.key; |
MNB_List[counter].nid = details.nid; |
MNB_List[counter].name = aNote.name; |
MNB_List[counter].xPos = aNote.xPos; |
MNB_List[counter].yPos = aNote.yPos; |
MNB_List[counter].mininote = aNote.mininote; |
MNB_List[counter].icon = aNote.icon; |
MNB_List[counter].customIcon = aNote.customIcon; |
MNB_List[counter].pluginFrame = nil; |
end |
end |
end |
MNB_ZoneName:SetText( MNB_ALLMAPS ); |
MNB.Refresh(); |
end |
end |
-- Actual refreshing of listed notes |
function MNB.Refresh() |
local note, noteT, noteIcon, noteZone, noteName, noteMininote; |
local numNotes = #MNB_List; |
local nOffset = 0; |
local data, test; |
FauxScrollFrame_Update(MNB_BrowserScroll, numNotes, 18, 16); |
local fOffset = FauxScrollFrame_GetOffset(MNB_BrowserScroll); |
for n=1, 18 do |
nOffset = n + fOffset; |
noteT = "MNB_Scroll"..n; |
note = getglobal(noteT); |
if ( nOffset > numNotes ) then |
note:Hide(); |
else |
data = MNB_List[nOffset]; |
noteMininote = getglobal(noteT.."NoteMininote"); |
noteIcon = getglobal(noteT.."NoteIcon"); |
noteZone = getglobal(noteT.."NoteZone"); |
noteName = getglobal(noteT.."NoteName"); |
notePointy = getglobal(noteT.."NotePointy"); |
if ( data.heading ) then |
noteMininote:Hide(); |
noteIcon:Hide(); |
notePointy:Hide(); |
noteName:Hide(); |
noteZone:SetText( "|c0000ff00" .. data.heading .. "|r" ); |
noteZone:Show(); |
note:SetScript("OnEnter", nil); |
note.heading = data.heading; |
note.xPos, note.yPos, note.key, note.nid = nil, nil, nil, nil; |
note.pluginFrame = nil; |
else |
noteZone:Hide(); |
if ( data.mininote ) then |
noteMininote:Show(); |
else |
noteMininote:Hide(); |
end |
noteIcon:SetTexture( data.customIcon ); |
if ( not noteIcon:GetTexture() ) then |
noteIcon:SetTexture(MN_POI_ICONS_PATH .. "\\Icon" .. data.icon); |
end |
if ( ( MNB_PointyPointy.fixed ) and |
( MNB_PointyPointy.fixed.key == data.key ) and |
( MNB_PointyPointy.fixed.nid == data.nid ) ) then |
notePointy:Show(); |
else |
notePointy:Hide(); |
end |
noteIcon:Show(); |
noteName:SetText( data.name ); |
noteName:Show(); |
note:SetScript("OnEnter", MNB.ScrollButton_OnEnter); |
note.heading = nil; |
note.xPos = data.xPos; |
note.yPos = data.yPos; |
note.key = data.key; |
note.nid = data.nid; |
if ( data.pluginFrame ) then |
note.pluginFrame = getglobal(data.pluginFrame); |
else |
note.pluginFrame = nil; |
end |
end |
note:Show(); |
end |
end |
end |
local angleInc = 5.00; |
function MNB.PointyUpdate(self, elapsed) |
if ( self:IsVisible() ) then |
self.timer = self.timer + elapsed; |
-- if ( self.timer > 0.05 ) then |
self.hAngle = self.hAngle + angleInc; |
local s = sin(self.hAngle); |
local c = cos(self.hAngle); |
MNB_PointyPointyT:SetTexCoord( 0.5-s, 0.5+c, |
0.5+c, 0.5+s, |
0.5-c, 0.5-s, |
0.5+s, 0.5-c); |
self.timer = 0; |
-- end |
end |
end |
-- Load me up |
do |
local frame = CreateFrame("Frame"); |
frame:RegisterEvent("VARIABLES_LOADED"); |
frame:SetScript("OnEvent", MNB.ProcessEvents); |
end |
MapNotesBrowser v1.00.30000 |
--------------------------- |
Summary |
------- |
Companion AddOn to MapNotes (Fan's Update). |
Open up the Note Browser frame by Control-Right-Clicking on a note frame like the World Map. |
Then select the new menu item "MapNotes Browser" |
A scroll list of notes within the current zone sorted alphabetically. |
Filter listed notes via the provided text box. |
Mouse over notes to highlight them on the map. |
Right click to open the standard MapNotes right click menu to edit, delete, track notes via the Minimap. |
Left click to bookmark a particular note, highlighting it on the map, and setting it as a Mininote. |
When you have bookmarked a note, a red arrow in the top left of the frame will appear. |
Mouse over the bookmark to see the note tooltip. |
Left click the bookmark, and if made on a World Map, then the map will change to show the map with that note. |
Right click to clear the bookmark. |
Also allows you to carry out global searches for notes containing certain text, via the 'All Maps' button. |
If you carry out an 'All Maps' global text search, then left clicking on World Map notes in different zones will open up that particular map. |
This map changing feature only works with world map type notes, and not for custom-map AddOn notes. |
Change History |
-------------- |
v1.00.30000 Released |
Contact |
------- |
telic@hotmail.co.uk |
## Interface: 30000 |
## Title: MapNotesBrowser |c0000FF00(v1.00.30000)|r |
## Version: v1.00.30000 |
## Notes: Frame for listing a map's notes alphabetically, and searching for notes |
## SavedVariables: |
## OptionalDeps: |
## Dependencies: MapNotes |
MapNotesBrowser.xml |
MNB_NAME = "MapNotes Browser"; |
MNB_ALLMAPS = "All Maps"; |
MNB_SEARCH = "Search"; |
MNB_NAME = "MapNotes Chercher"; |
MNB_ALLMAPS = "Toutes les Cartes"; |
MNB_SEARCH = "Chercher"; |
MNB_NAME = "MapNotes Suche"; |
MNB_ALLMAPS = "Alle Karten"; |
MNB_SEARCH = "Suche"; |
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/"> |
<Script file="Localisation.en.lua"/> |
<Script file="MapNotesBrowser.lua"/> |
<!-- TEMPLATE FOR SCROLL LIST BUTTONS --> |
<Button name="MNB_ScrollButtonTemplate" virtual="true"> |
<Size> |
<AbsDimension x="300" y="16"/> |
</Size> |
<Frames> |
<Frame name="$parentNote" setAllPoints="true"> |
<Layers> |
<Layer level="ARTWORK"> |
<Texture name="$parentMininote" file="Interface\Buttons\UI-CheckBox-Check"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT"> |
<Offset> |
<AbsDimension x="4" y="-1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Texture> |
<Texture name="$parentIcon" file="Interface\Addons\NotesUNeed\Artwork\tAlliance"> |
<Size> |
<AbsDimension x="12" y="12"/> |
</Size> |
<Anchors> |
<Anchor point="RIGHT"> |
<Offset> |
<AbsDimension x="-12" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Texture> |
<Texture name="$parentPointy" file="Interface\AddOns\MapNotesBrowser\Graphics\ScrollMark"> |
<Size> |
<AbsDimension x="16" y="16"/> |
</Size> |
<Anchors> |
<Anchor point="RIGHT"> |
<Offset> |
<AbsDimension x="-26" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Texture> |
<FontString name="$parentZone" inherits="GameFontNormal" text="Zone" hidden="true" justifyH="LEFT"> |
<Size> |
<AbsDimension x="252" y="12"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT"> |
<Offset> |
<AbsDimension x="12" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="$parentName" inherits="GameFontNormal" text="Wibble" justifyH="LEFT"> |
<Size> |
<AbsDimension x="252" y="12"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT"> |
<Offset> |
<AbsDimension x="32" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
</Frame> |
</Frames> |
<Scripts> |
<OnLoad> |
self:RegisterForClicks("LeftButtonDown", "RightButtonDown"); |
</OnLoad> |
<OnClick> |
MNB.ScrollButton_OnClick(self, arg1); |
</OnClick> |
<OnEnter> |
MNB.ScrollButton_OnEnter(self); |
</OnEnter> |
<OnLeave> |
if ( not MNB_PointyPointy.fixed ) then |
MNB_PointyPointy:Hide(); |
end |
GameTooltip:Hide(); |
WorldMapTooltip:Hide(); |
</OnLeave> |
</Scripts> |
<HighlightTexture file="Interface\QuestFrame\UI-QuestTitleHighlight" alphaMode="ADD"/> |
</Button> |
<!-- MAIN BROWSER FRAME --> |
<Frame name="MNB_Browser" hidden="true" toplevel="true" enableMouse="true" movable="true" parent="WorldMapButton"> |
<Size> |
<AbsDimension x="354" y="406"/> |
</Size> |
<Anchors> |
<Anchor point="RIGHT"> |
<Offset> |
<AbsDimension x="-80" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="ARTWORK"> |
<FontString name="MNB_Title" inherits="GameFontGreenLarge" text="MNB_NAME"> |
<Anchors> |
<Anchor point="TOP" relativeTo="MNB_Browser"> |
<Offset><AbsDimension x="0" y="-12"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
<FontString name="MNB_ZoneName" inherits="GameFontNormal" text="Zone Info"> |
<Anchors> |
<Anchor point="TOP" relativeTo="MNB_Title" relativePoint="BOTTOM"> |
<Offset><AbsDimension x="0" y="-10"/></Offset> |
</Anchor> |
</Anchors> |
</FontString> |
</Layer> |
</Layers> |
<Frames> |
<Button name="MNB_BrowserCloseButton" inherits="UIPanelCloseButton"> |
<Anchors> |
<Anchor point="TOPRIGHT"> |
<Offset> |
<AbsDimension x="4" y="4"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Frame name="MNB_FilterBorder"> |
<Size> |
<AbsDimension x="230" y="24"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset> |
<AbsDimension x="16" y="-64"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="12"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="12"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<Button name="MNB_MarkerButton" hidden="true"> |
<Size> |
<AbsDimension x="24" y="24"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset> |
<AbsDimension x="20" y="-20"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Layers> |
<Layer level="OVERLAY"> |
<Texture name="$parentArrow" file="Interface\AddOns\MapNotesBrowser\Graphics\ScrollMark"/> |
</Layer> |
</Layers> |
<Scripts> |
<OnLoad> |
self:RegisterForClicks("LeftButtonUp", "RightButtonUp"); |
</OnLoad> |
<OnClick> |
MNB.Marker_OnClick(self, arg1); |
</OnClick> |
<OnEnter> |
MN_NoteOnEnter(self); |
</OnEnter> |
<OnLeave> |
GameTooltip:Hide(); |
WorldMapTooltip:Hide(); |
</OnLeave> |
</Scripts> |
<HighlightTexture file="Interface\QuestFrame\UI-QuestTitleHighlight" alphaMode="ADD"/> |
</Button> |
<EditBox name="MNB_FilterEditBox" autofocus="false" letters="64"> |
<Size> |
<AbsDimension x="216" y="32"/> |
</Size> |
<Anchors> |
<Anchor point="TOPLEFT"> |
<Offset> |
<AbsDimension x="22" y="-59"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnEnterPressed> |
<!-- Allow global searches on Enter pressed --> |
MNB.PopulateScroll(MNB_Browser.Plugin); |
</OnEnterPressed> |
<OnTextChanged> |
<!-- Do NOT carry out global searches on every text changed event - too processor intensive --> |
if ( MNB.mode ~= "searching" ) then |
MNB.PopulateScroll(MNB_Browser.Plugin); |
end |
</OnTextChanged> |
<OnEscapePressed> |
MNB_Browser:Hide(); |
</OnEscapePressed> |
</Scripts> |
<FontString inherits="ChatFontNormal"/> |
</EditBox> |
<Button name="MNB_SearchButton" inherits="UIPanelButtonTemplate" text="MNB_ALLMAPS"> |
<Size> |
<AbsDimension x="90" y="26"/> |
</Size> |
<Anchors> |
<Anchor point="LEFT" relativeTo="MNB_FilterEditBox" relativePoint="RIGHT"> |
<Offset> |
<AbsDimension x="10" y="0"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnLoad> |
self:RegisterForClicks("LeftButtonUp", "RightButtonUp"); |
</OnLoad> |
<OnClick> |
MNB.Search_OnClick(self, arg1); |
</OnClick> |
</Scripts> |
</Button> |
<Frame name="MNB_ScrollBorder"> |
<Size> |
<AbsDimension x="322" y="296"/> |
</Size> |
<Anchors> |
<Anchor point="BOTTOMLEFT" relativeTo="MNB_Browser"> |
<Offset> |
<AbsDimension x="16" y="12"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="12"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="12"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<ScrollFrame name="MNB_BrowserScroll" inherits="FauxScrollFrameTemplate"> |
<Size> |
<AbsDimension x="296" y="288"/> |
</Size> |
<Anchors> |
<Anchor point="BOTTOMLEFT" relativeTo="MNB_Browser"> |
<Offset> |
<AbsDimension x="16" y="14"/> |
</Offset> |
</Anchor> |
</Anchors> |
<Scripts> |
<OnVerticalScroll> |
FauxScrollFrame_OnVerticalScroll(self, offset, 16, MNB.Refresh); |
</OnVerticalScroll> |
</Scripts> |
</ScrollFrame> |
<Button name="MNB_Scroll1" inherits="MNB_ScrollButtonTemplate" id="1"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_BrowserScroll"> |
<Offset> |
<AbsDimension x="2" y="-6"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll2" inherits="MNB_ScrollButtonTemplate" id="2"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll1" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll3" inherits="MNB_ScrollButtonTemplate" id="3"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll2" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll4" inherits="MNB_ScrollButtonTemplate" id="4"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll3" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll5" inherits="MNB_ScrollButtonTemplate" id="5"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll4" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll6" inherits="MNB_ScrollButtonTemplate" id="6"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll5" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll7" inherits="MNB_ScrollButtonTemplate" id="7"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll6" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll8" inherits="MNB_ScrollButtonTemplate" id="8"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll7" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll9" inherits="MNB_ScrollButtonTemplate" id="9"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll8" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll10" inherits="MNB_ScrollButtonTemplate" id="10"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll9" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll11" inherits="MNB_ScrollButtonTemplate" id="11"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll10" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll12" inherits="MNB_ScrollButtonTemplate" id="12"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll11" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll13" inherits="MNB_ScrollButtonTemplate" id="13"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll12" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll14" inherits="MNB_ScrollButtonTemplate" id="14"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll13" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll15" inherits="MNB_ScrollButtonTemplate" id="15"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll14" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll16" inherits="MNB_ScrollButtonTemplate" id="16"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll15" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll17" inherits="MNB_ScrollButtonTemplate" id="17"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll16" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
<Button name="MNB_Scroll18" inherits="MNB_ScrollButtonTemplate" id="18"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="MNB_Scroll17" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="1"/> |
</Offset> |
</Anchor> |
</Anchors> |
</Button> |
</Frames> |
<Scripts> |
<OnShow> |
MapNotes_NormaliseScale(self); |
</OnShow> |
<OnMouseDown> |
if ( arg1 == "LeftButton" ) then |
self:StartMoving(); |
end |
</OnMouseDown> |
<OnMouseUp> |
if ( arg1 == "LeftButton" ) then |
self:StopMovingOrSizing(); |
end |
</OnMouseUp> |
</Scripts> |
<Backdrop bgFile="Interface\TutorialFrame\TutorialFrameBackground" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> |
<BackgroundInsets> |
<AbsInset left="0" right="0" top="0" bottom="0"/> |
</BackgroundInsets> |
<TileSize> |
<AbsValue val="12"/> |
</TileSize> |
<EdgeSize> |
<AbsValue val="12"/> |
</EdgeSize> |
</Backdrop> |
</Frame> |
<Frame name="MNB_PointyPointy" frameStrata="TOOLTIP" toplevel="true" hidden="true" parent="WorldMapButton"> |
<Size> |
<AbsDimension x="192" y="192"/> |
</Size> |
<Anchors> |
<Anchor point="CENTER"/> |
</Anchors> |
<Layers> |
<Layer level="OVERLAY"> |
<Texture name="MNB_PointyPointyT" setAllPoints="true" file="Interface\AddOns\MapNotesBrowser\Graphics\PointyPointy"/> |
</Layer> |
</Layers> |
</Frame> |
</Ui> |
-- Data that we need to register with MapNotesIconLib |
local MapNotesIconLib_Legacy_Icons = { |
[1] = { |
["title"] = "Legacy Icons", |
["author"] = "Telic", |
["date"] = "20081012", |
["info"] = { |
["enGB"] = "The Original MapNotes Icons", |
}, |
["icons"] = { |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon0", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon1", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon2", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon3", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon4", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon5", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon6", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon7", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon8", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\icon9", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\Iconparty", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Legacy\\Icons\\Legacy\\Icontloc", }, |
}, |
}, |
}; |
local MNIL_Legacy_Frame = CreateFrame("Frame"); |
local function MNIL_Legacy_OnEvent() |
MNIL_RegisterLibrary(MapNotesIconLib_Legacy_Icons); -- The function needed to register the above data with MapNotesIconLib |
end |
MNIL_Legacy_Frame:RegisterEvent("VARIABLES_LOADED"); |
MNIL_Legacy_Frame:SetScript("OnEvent", MNIL_Legacy_OnEvent); |
## Interface: 30000 |
## Title: MapNotesIconLib_Legacy |
## Notes: Original MapNotes Icons for MapNotesIconLib |
## Dependencies: MapNotesIconLib |
MapNotesIconLib_Legacy.lua |
-- Data that we need to register with MapNotesIconLib |
local MapNotesIconLib_Numbers_Icons = { |
[1] = { |
["title"] = "Numbered Icons", |
["author"] = "Telic", |
["date"] = "20071227", |
["info"] = { |
["enGB"] = "A Variety of Numbered Icons for MapNotes\n (Some Icons courtesy of\n http://www.freebuttons.com)", |
}, |
["icons"] = { |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup0t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup1t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup2t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup3t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup4t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup5t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup6t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup7t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup8t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\SpotGroup9t", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank0", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank1", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank2", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank3", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank4", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank5", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank6", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank7", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank8", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Blank9", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacea09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaceb09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacec09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peaced09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacee09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Peacef09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblea09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marbleb09", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec00", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec01", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec02", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec03", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec04", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec05", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec06", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec07", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec08", }, |
{ ["path"] = "Interface\\AddOns\\MapNotesIconLib_Numbers\\Icons\\Numbers\\Marblec09", }, |
}, |
}, |
}; |
local MNIL_Numbers_Frame = CreateFrame("Frame"); |
local function MNIL_Numbers_OnEvent() |
MNIL_RegisterLibrary(MapNotesIconLib_Numbers_Icons); -- The function needed to register the above data with MapNotesIconLib |
end |
MNIL_Numbers_Frame:RegisterEvent("VARIABLES_LOADED"); |
MNIL_Numbers_Frame:SetScript("OnEvent", MNIL_Numbers_OnEvent); |
## Interface: 30000 |
## Title: MapNotesIconLib_Numbers |
## Notes: A Variety of Numbered Icons for MapNotesIconLib |
## Dependencies: MapNotesIconLib |
MapNotesIconLib_Numbers.lua |
## Interface: 30000 |
## Title: MapNotesForAtlas |
## Author: Telic |
## eMail: telic@hotmail.co.uk |
## Version: 1.00.30000 |
## Notes: Allows MapNotes functionality & notes on Atlas Maps |
## RequiredDeps: MapNotes, Atlas |
## OptionalDeps: |
## DefaultState: enabled |
## SavedVariables: |
MapNotesForAtlas.lua |
This AddOn makes the functionality of MapNotes (Fan's Update) available within Atlas. |
i.e. you can now <Control>-Click on Atlas maps to make your own notes, in just the same way that you use MapNotes to make notes on the Blizzard WorldMap |
This AddOn simply uses the Plugin interface provided by MapNotes that allows notes to be created on any other WoW frames. |
The code in this AddOn used to be included within the MapNotes AddOn. Why have I separated this code in to its own AddOn folder ? |
Firstly, this is probably the way that this functionality should always have been implemented for the sake of clarity. |
I'm also aware that a new version of Atlas will be released, and that this Plugin may not work with the new Atlas. |
However, I am confident that MapNotes and Atlas can still be compatible with some small modifications to the Atlas-specific "Plugin" functions. Putting this plugin code in its own AddOn means that it can be updated and upgraded separately to the MapNotes AddOn itself, and even allows the Atlas author to provide their own Plugin code if they so wish. |
------------------------------------------------- |
-- Code to Register Atlas as a MapNotes Plugin -- |
------------------------------------------------- |
local MapNotesForAtlas_Frame = CreateFrame("Frame"); |
MapNotesForAtlas_Frame:RegisterEvent("VARIABLES_LOADED"); |
local function MapNotesForAtlas_OnEvent() |
MAPNOTES_PLUGINS_LIST.Atlas = { name = "Atlas", |
frame = "AtlasFrame", |
keyVal = "Atlas_MN_Query", |
lclFnc = "Atlas_MN_Localiser", |
}; |
MapNotes_RegisterPlugin(MAPNOTES_PLUGINS_LIST.Atlas); |
end |
MapNotesForAtlas_Frame:SetScript("OnEvent", MapNotesForAtlas_OnEvent); |
---------------------------------------------------------------------------------------------------- |
-- Plugin Functions that must be provided for MapNotes to generate note keys, and localised names -- |
---------------------------------------------------------------------------------------------------- |
function Atlas_MN_Query() |
local key = nil; |
local mapRaw = AtlasMap:GetTexture(); |
if ( mapRaw ) then |
local i, l = 0; -- note that 'l' is deliberately left 'nil' by this assignment |
while ( true ) do |
i = string.find(mapRaw, "\\", i+2); |
if ( i ) then |
l = i+1; |
else |
break; |
end |
end |
if ( l ) then |
key = string.sub(mapRaw, l); |
end |
end |
return key; |
end |
function Atlas_MN_Localiser(key) |
for j, value in ipairs(AtlasMaps) do |
if (value[key]) then |
return value[key].ZoneName; |
end |
end |
return; |
end |