From afc6f429f09c7b6b854b4ec756ec69e009224348 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Wed, 14 Sep 2011 13:00:35 +0800 Subject: [PATCH] Add sorting and ordering controls for layer control (layerprio attribute) --- .../java/org/dynmap/markers/MarkerSet.java | 8 ++++ .../dynmap/markers/impl/MarkerAPIImpl.java | 22 +++++++++- .../dynmap/markers/impl/MarkerSetImpl.java | 17 ++++++++ src/main/resources/configuration.txt | 8 ++++ web/js/map.js | 40 +++++++++++++++++++ web/js/markers.js | 23 +++++++---- web/js/playermarkers.js | 3 +- web/js/regions.js | 3 +- 8 files changed, 112 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/dynmap/markers/MarkerSet.java b/src/main/java/org/dynmap/markers/MarkerSet.java index ee8d2b60..ef46c543 100644 --- a/src/main/java/org/dynmap/markers/MarkerSet.java +++ b/src/main/java/org/dynmap/markers/MarkerSet.java @@ -101,4 +101,12 @@ public interface MarkerSet { * @return true if layer for set will be hidden by default */ public boolean getHideByDefault(); + /** + * Set layer ordering priority (0=default, low before high in layer order) + */ + public void setLayerPriority(int prio); + /** + * Get layer ordering priority (0=default, low before high in layer order) + */ + public int getLayerPriority(); } diff --git a/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java b/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java index 1481c26f..9f6f8040 100644 --- a/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java +++ b/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java @@ -424,6 +424,7 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { private static final String ARG_HIDE = "hide"; private static final String ARG_ICON = "icon"; private static final String ARG_SET = "set"; + private static final String ARG_PRIO = "prio"; /* Parse argument strings : handle 'attrib:value' and quoted strings */ private static Map parseArgs(String[] args, CommandSender snd) { @@ -487,7 +488,7 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { public static boolean onCommand(DynmapPlugin plugin, CommandSender sender, Command cmd, String commandLabel, String[] args) { - String id, setid, file, label, newlabel, iconid; + String id, setid, file, label, newlabel, iconid, prio; if(api == null) { sender.sendMessage("Markers component is not enabled."); @@ -734,6 +735,7 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { if(parms == null) return true; id = parms.get(ARG_ID); label = parms.get(ARG_LABEL); + prio = parms.get(ARG_PRIO); if((id == null) && (label == null)) { sender.sendMessage("