GUI -- Created the rest of the icons for Topo Toolbar.

Change-Id: I05f0ab13e15099de3a2c5b381e151a268c285c28
diff --git a/web/gui/src/main/webapp/app/fw/svg/glyph.js b/web/gui/src/main/webapp/app/fw/svg/glyph.js
index 8e82fa6..52664f5 100644
--- a/web/gui/src/main/webapp/app/fw/svg/glyph.js
+++ b/web/gui/src/main/webapp/app/fw/svg/glyph.js
@@ -109,6 +109,13 @@
             "-2.1,0-4.4-1.9-4.4-4.1v-3.3c0-2.2,2.3-4.5,4.4-4.5h65.8c2.1," +
             "0,3.8,2.3,3.8,4.5V87.9z",
 
+            lock: "M79.4,48.6h-2.7c0.2-5.7-0.2-20.4-7.9-28.8c-3.6-3.9-8.3" +
+            "-5.9-13.7-5.9c-5.4,0-10.2,2-13.8,5.9c-7.8,8.4-8.3,23.2-8.1,28.8" +
+            "h-2.7c-4.4,0-8,2.6-8,5.9v35.7c0,3.3,3.6,5.9,8,5.9h48.9c4.4,0," +
+            "8-2.6,8-5.9V54.5C87.5,51.3,83.9,48.6,79.4,48.6z M48.1,26.1c1.9" +
+            "-2,4.1-2.9,7-2.9c2.9,0,5.1,0.9,6.9,2.9c5,5.4,5.6,17.1,5.4,22.6" +
+            "h-25C42.3,43.1,43.1,31.5,48.1,26.1z",
+
             // --- Topology toolbar specific glyphs ----------------------
 
             summary: "M95.8,9.2H14.2c-2.8,0-5,2.2-5,5v81.5c0,2.8,2.2,5,5," +
@@ -173,19 +180,52 @@
             "-6.6c3.2-2.1,6.3,0.8,6.3,0.8s3.1,3.3,7,7.2c4.7-4.7,10.1-9.2," +
             "14.7-10c0,0,3.3-1,5.2,1.7C92.5,18.8,92.4,19.6,91.9,20.4z",
 
-            resetZoom: "M86.4,81.6L60.3,54.2c1.9-3.1,3-6.8,3.1-10.7c0.3-12" +
-            "-9.2-22.1-21.2-22.4c-12-0.3-22.1,9.2-22.4,21.2c-0.3,12,9.2," +
-            "22.1,21.2,22.4c4.3,0.1,9.6-0.9,12.8-3.9l25.5,26.8c1.6,1.7,4.3," +
-            "2.4,5.7,1.1l1.8-1.7C88.2,85.8,88,83.3,86.4,81.6z M27.8," +
-            "42.5C28,34.8,34.4,28.8,42,29c7.7,0.2,13.7,6.6,13.5,14.2c" +
-            "-0.2,7.7-6.6,13.7-14.2,13.5C33.6,56.5,27.6,50.2,27.8,42.5z " +
-            "M10.4,27.2c-1.7,0-3-1.3-3-3V7.1h16.2c1.7,0,3,1.3,3,3s-1.3,3-3," +
-            "3H13.4v11.2C13.4,25.9,12.1,27.2,10.4,27.2z M23.7,102.3H7.5" +
-            "V85.2c0-1.7,1.3-3,3-3s3,1.3,3,3v11.2h10.2c1.7,0,3,1.3,3,3S25.3," +
-            "102.3,23.7,102.3z M102.6,103.4H86.4c-1.7,0-3-1.3-3-3c0-1.7,1.3" +
-            "-3,3-3h10.2V86.2c0-1.7,1.3-3,3-3c1.7,0,3,1.3,3,3V103.4z M99.6," +
-            "27.2c-1.7,0-3-1.3-3-3V13.1H86.4c-1.7,0-3-1.3-3-3s1.3-3,3" +
-            "-3h16.2v17.2C102.6,25.9,101.3,27.2,99.6,27.2z",
+            cycleLabels: "M72.5,33.9c0,0.6-0.2,1-0.5,1H40c-0.3,0-0.5-0.4" +
+            "-0.5-1V20.7c0-0.6,0.2-1,0.5-1h32c0.3,0,0.5,0.4,0.5,1V33.9z " +
+            "M41.2,61.8c0-0.6-0.2-1-0.5-1h-32c-0.3,0-0.5,0.4-0.5,1V75c0,0.6," +
+            "0.2,1,0.5,1h32c0.3,0,0.5-0.4,0.5-1V61.8z M101.8,61.8c0-0.6-0.2" +
+            "-1-0.5-1h-32c-0.3,0-0.5,0.4-0.5,1V75c0,0.6,0.2,1,0.5,1h32c0.3," +
+            "0,0.5-0.4,0.5-1V61.8z M17.2,52.9c0-0.1-0.3-7.1,4.6-13.6l-2.4-1.8" +
+            "c-5.4,7.3-5.2,15.2-5.1,15.5L17.2,52.9z M12.7,36.8l7.4,2.5l1.5," +
+            "7.6L29.5,31L12.7,36.8z M94.2,42.3c-2.1-8.9-8.3-13.7-8.6-13.9l" +
+            "-1.8,2.4c0.1,0,5.6,4.3,7.5,12.2L94.2,42.3z M99,37.8l-6.6,4.1l" +
+            "-6.8-3.7l7.1,16.2L99,37.8z M69,90.2l-1.2-2.8c-0.1,0-6.6,2.8" +
+            "-14.3,0.6l-0.8,2.9c2.5,0.7,4.9,1,7,1C65,91.8,68.7,90.2,69,90.2z " +
+            "M54.3,97.3L54,89.5l6.6-4.1l-17.6-1.7L54.3,97.3z",
+
+            oblique: "M80.9,30.2h4.3l15-16.9H24.8l-15,16.9h19v48.5h-4l-15," +
+            "16.9h75.3l15-16.9H80.9V30.2z M78.6,78.7H56.1V30.2h22.5V78.7z" +
+            "M79.7,17.4c2.4,0,4.3,1.9,4.3,4.3c0,2.4-1.9,4.3-4.3,4.3s-4.3" +
+            "-1.9-4.3-4.3C75.4,19.3,77.4,17.4,79.7,17.4z M55,17.4c2.4,0," +
+            "4.3,1.9,4.3,4.3c0,2.4-1.9,4.3-4.3,4.3s-4.3-1.9-4.3-4.3C50.7," +
+            "19.3,52.6,17.4,55,17.4z M26.1,21.7c0-2.4,1.9-4.3,4.3-4.3c2.4," +
+            "0,4.3,1.9,4.3,4.3c0,2.4-1.9,4.3-4.3,4.3C28,26,26.1,24.1,26.1," +
+            "21.7z M31.1,30.2h22.6v48.5H31.1V30.2z M30.3,91.4c-2.4,0-4.3" +
+            "-1.9-4.3-4.3c0-2.4,1.9-4.3,4.3-4.3c2.4,0,4.3,1.9,4.3,4.3C34.6," +
+            "89.5,32.7,91.4,30.3,91.4z M54.9,91.4c-2.4,0-4.3-1.9-4.3-4.3c0" +
+            "-2.4,1.9-4.3,4.3-4.3c2.4,0,4.3,1.9,4.3,4.3C59.2,89.5,57.3," +
+            "91.4,54.9,91.4z M84,87.1c0,2.4-1.9,4.3-4.3,4.3c-2.4,0-4.3-1.9" +
+            "-4.3-4.3c0-2.4,1.9-4.3,4.3-4.3C82.1,82.8,84,84.7,84,87.1z",
+
+            resetZoom: "M86,79.8L61.7,54.3c1.8-2.9,2.8-6.3,2.9-10c0.3-11.2" +
+            "-8.6-20.5-19.8-20.8C33.7,23.2,24.3,32,24.1,43.2c-0.3,11.2,8.6," +
+            "20.5,19.8,20.8c4,0.1,8.9-0.8,11.9-3.6l23.7,25c1.5,1.6,4,2.3," +
+            "5.3,1l1.6-1.6C87.7,83.7,87.5,81.4,86,79.8z M31.4,43.4c0.2-7.1," +
+            "6.1-12.8,13.2-12.6C51.8,31,57.5,37,57.3,44.1c-0.2,7.1-6.1,12.8" +
+            "-13.2,12.6C36.9,56.5,31.3,50.6,31.4,43.4zM22.6,104H6V86.4c0" +
+            "-1.7,1.4-3.1,3.1-3.1s3.1,1.4,3.1,3.1v11.4h10.4c1.7,0,3.1,1.4," +
+            "3.1,3.1S24.3,104,22.6,104z M25.7,9.1c0,1.7-1.4,3.1-3.1,3.1" +
+            "H12.2v11.4c0,1.7-1.4,3.1-3.1,3.1S6,25.3,6,23.6V6h16.6C24.3,6," +
+            "25.7,7.4,25.7,9.1z M84.3,100.9c0-1.7,1.4-3.1,3.1-3.1h10.4V86.4" +
+            "c0-1.7,1.4-3.1,3.1-3.1s3.1,1.4,3.1,3.1V104H87.4C85.7,104,84.3," +
+            "102.6,84.3,100.9z M87.4,6H104v17.6c0,1.7-1.4,3.1-3.1,3.1s-3.1" +
+            "-1.4-3.1-3.1V12.2H87.4c-1.7,0-3.1-1.4-3.1-3.1S85.7,6,87.4,6z",
+
+            relatedIntents: "M99.9,43.7v22.6c0,1.9-1.5,3.4-3.4,3.4H73.9c" +
+            "-1.9,0-3.4-1.5-3.4-3.4V43.7c0-1.9,1.5-3.4,3.4-3.4h22.6C98.4," +
+            "40.3,99.9,41.8,99.9,43.7z M48.4,46.3l6.2,6.7h-4.6L38.5,38v9.7" +
+            "l4.7,5.3H10.1V57h33.2l-4.8,5.3v9.5L49.8,57h5.1v0l-6.5,7v11.5" +
+            "L64.1,55L48.4,34.4V46.3z",
 
             nextIntent: "M88.1,55.7L34.6,13.1c0,0-1.6-0.5-2.1-0.2c-1.9,1.2" +
             "-6.5,13.8-3.1,17.2c7,6.9,30.6,24.5,32.4,25.9c-1.8,1.4-25.4,19" +
@@ -195,7 +235,45 @@
             prevIntent: "M22.5,55.6L76,12.9c0,0,1.6-0.5,2.2-0.2c1.9,1.2," +
             "6.5,13.8,3.1,17.2c-7,6.9-30.6,24.5-32.4,25.9c1.8,1.4,25.4,19," +
             "32.4,25.9c3.4,3.4-1.2,16-3.1,17.2c-0.6,0.4-2.2-0.2-2.2-0.2" +
-            "S22.9,56.3,22.5,56C22.2,55.8,22.5,55.6,22.5,55.6z"
+            "S22.9,56.3,22.5,56C22.2,55.8,22.5,55.6,22.5,55.6z",
+
+            intentTraffic: "M14.7,71.5h-6v-33h6V71.5z M88.5,38.5H76.9v33" +
+            "h11.7V38.5z M70.1,38.5H58.4v33h11.7V38.5z M51.6,38.5H39.9v33" +
+            "h11.7V38.5z M33.1,38.5H21.5v33h11.7V38.5z M101.3,38.5h-6v33h6" +
+            "V38.5z",
+
+            allTraffic: "M15.7,64.5h-7v-19h7V64.5z M78.6,45.5H62.9v19h15.7" +
+            "V45.5z M47.1,45.5H31.4v19h15.7V45.5z M101.3,45.5h-7v19h7V45.5z" +
+            "M14.7,14.1h-6v19h6V14.1z M88.5,14.1H76.9v19h11.7V14.1z M70.1," +
+            "14.1H58.4v19h11.7V14.1z M51.6,14.1H39.9v19h11.7V14.1z M33.1,14.1" +
+            "H21.5v19h11.7V14.1z M101.3,14.1h-6v19h6V14.1z M14.7,76.9h-6v19" +
+            "h6V76.9z M88.5,76.9H76.9v19h11.7V76.9z M70.1,76.9H58.4v19h11.7" +
+            "V76.9z M51.6,76.9H39.9v19h11.7V76.9z M33.1,76.9H21.5v19h11.7" +
+            "V76.9z M101.3,76.9h-6v19h6V76.9z",
+
+            flows: "M93.8,46.1c-4.3,0-8,3-9,7H67.9v-8.8c0-1.3-1.1-2.4-2.4" +
+            "-2.4h-8.1V25.3c4-1,7-4.7,7-9.1c0-5.2-4.2-9.4-9.4-9.4c-5.2,0" +
+            "-9.4,4.2-9.4,9.4c0,4.3,3,8,7,9v16.5H44c-1.3,0-2.4,1.1-2.4,2.4" +
+            "v8.8H25.3c-1-4.1-4.7-7.1-9.1-7.1c-5.2,0-9.4,4.2-9.4,9.4s4.2," +
+            "9.4,9.4,9.4c4.3,0,8-2.9,9-6.9h16.4v7.9c0,1.3,1.1,2.4,2.4,2.4" +
+            "h8.6v16.6c-4,1.1-6.9,4.7-6.9,9c0,5.2,4.2,9.4,9.4,9.4c5.2,0," +
+            "9.4-4.2,9.4-9.4c0-4.4-3-8-7.1-9.1V68.2h8.1c1.3,0,2.4-1.1,2.4" +
+            "-2.4v-7.9h16.8c1.1,4,4.7,7,9,7c5.2,0,9.4-4.2,9.4-9.4S99,46.1," +
+            "93.8,46.1z M48.7,16.3c0-3.5,2.9-6.4,6.4-6.4c3.5,0,6.4,2.9,6.4," +
+            "6.4s-2.9,6.4-6.4,6.4C51.5,22.6,48.7,19.8,48.7,16.3zM16.2,61.7c" +
+            "-3.5,0-6.4-2.9-6.4-6.4c0-3.5,2.9-6.4,6.4-6.4s6.4,2.9,6.4,6.4" +
+            "C22.6,58.9,19.7,61.7,16.2,61.7z M61.4,93.7c0,3.5-2.9,6.4-6.4," +
+            "6.4c-3.5,0-6.4-2.9-6.4-6.4c0-3.5,2.9-6.4,6.4-6.4C58.6,87.4," +
+            "61.4,90.2,61.4,93.7z M93.8,61.8c-3.5,0-6.4-2.9-6.4-6.4c0-3.5," +
+            "2.9-6.4,6.4-6.4s6.4,2.9,6.4,6.4C100.1,58.9,97.3,61.8,93.8,61.8z",
+
+            eqMaster: "M94.6,80.1c0,5.7-4.6,10.3-10.3,10.3S74,85.8,74,80.1" +
+            "c0-3.8,2-7,5-8.8L64.4,37.5H45.8L31.1,71.3c2.9,1.8,4.9,5.1,4.9," +
+            "8.8c0,5.7-4.6,10.3-10.3,10.3s-10.3-4.6-10.3-10.3S20,69.8,25.7," +
+            "69.8c0.7,0,1.5,0.1,2.2,0.2L42,37.5H26.7c-0.6,0-1-0.4-1-0.8V20.4" +
+            "c0-0.5,0.5-0.8,1-0.8h56.6c0.6,0,1,0.4,1,0.8v16.2c0,0.5-0.5,0.8" +
+            "-1,0.8H68.2L82.3,70c0.6-0.1,1.3-0.2,2-0.2C90,69.8,94.6,74.4," +
+            "94.6,80.1z"
         },
 
         badgeViewBox = '0 0 10 10',
diff --git a/web/gui/src/main/webapp/app/view/topo/topoToolbar.js b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
index c86857e..7a94bce 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
@@ -47,7 +47,7 @@
         L: { id: 'cycleLabels-btn', gid: 'cycleLabels' },
         R: { id: 'resetZoom-btn', gid: 'resetZoom' },
 
-        V: { id: 'allIntents-btn', gid: 'allIntents' },
+        V: { id: 'relatedIntents-btn', gid: 'relatedIntents' },
         leftArrow: { id: 'prevIntent-btn', gid: 'prevIntent' },
         rightArrow: { id: 'nextIntent-btn', gid: 'nextIntent' },
         W: { id: 'intentTraffic-btn', gid: 'intentTraffic' },
@@ -91,6 +91,7 @@
         addToggle('B');
     }
     function addSecondRow() {
+        //addToggle('X');
         addToggle('Z');
         addButton('L');
         addButton('R');
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
index 6ba9e32..989fb9d 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
@@ -20,7 +20,7 @@
 describe('factory: fw/svg/glyph.js', function() {
     var $log, fs, gs, d3Elem, svg;
 
-    var numBaseGlyphs = 22,
+    var numBaseGlyphs = 30,
         vbBird = '352 224 113 112',
         vbGlyph = '0 0 110 110',
         vbBadge = '0 0 10 10',
@@ -37,14 +37,25 @@
             bgpSpeaker: 'M10,40a45,35',
             chain: 'M60.4,77.6c-',
             crown: 'M99.5,21.6c0,',
+            lock: 'M79.4,48.6h',
+
+            // toolbar specific glyphs
             summary: longPrefix + 'M16.7',
             details: longPrefix + 'M16.9',
             ports: 'M98,9.2H79.6c',
             map: 'M95.8,9.2H14.2c-2.8,0-5,2.2-5,5v66',
-            resetZoom: 'M86.4,81',
+            cycleLabels: 'M72.5,33.9c',
+            oblique: 'M80.9,30.2h',
+            resetZoom: 'M86,79.8L',
+            relatedIntents: 'M99.9,43.7',
             nextIntent: 'M88.1,55.7',
             prevIntent: 'M22.5,55.6',
+            intentTraffic: 'M14.7,71.5h',
+            allTraffic: 'M15.7,64.5h-7v',
+            flows: 'M93.8,46.1c',
+            eqMaster: 'M94.6,80.1c0,5.7',
 
+            // badges
             uiAttached: 'M2,2.5a.5,.5',
             checkMark: 'M2.6,4.5c0',
             xMark: 'M9.0,7.2C8.2',
@@ -151,6 +162,10 @@
         gs.init();
         verifyGlyphLoadedInCache('crown', vbGlyph);
     });
+    it('should load the lock glyph', function() {
+        gs.init();
+        verifyGlyphLoadedInCache('lock', vbGlyph);
+    });
     it('should load the summary glyph', function () {
         gs.init();
         verifyGlyphLoadedInCache('summary', vbGlyph);
@@ -167,10 +182,22 @@
         gs.init();
         verifyGlyphLoadedInCache('map', vbGlyph);
     });
+    it('should load the cycleLabels glyph', function () {
+        gs.init();
+        verifyGlyphLoadedInCache('cycleLabels', vbGlyph);
+    });
+    it('should load the oblique glyph', function () {
+        gs.init();
+        verifyGlyphLoadedInCache('oblique', vbGlyph);
+    });
     it('should load the resetZoom glyph', function () {
         gs.init();
         verifyGlyphLoadedInCache('resetZoom', vbGlyph);
     });
+    it('should load the relatedIntents glyph', function () {
+        gs.init();
+        verifyGlyphLoadedInCache('relatedIntents', vbGlyph);
+    });
     it('should load the nextIntent glyph', function () {
         gs.init();
         verifyGlyphLoadedInCache('nextIntent', vbGlyph);
@@ -179,6 +206,18 @@
         gs.init();
         verifyGlyphLoadedInCache('prevIntent', vbGlyph);
     });
+    it('should load the intentTraffic glyph', function () {
+        gs.init();
+        verifyGlyphLoadedInCache('intentTraffic', vbGlyph);
+    });
+    it('should load the flows glyph', function () {
+        gs.init();
+        verifyGlyphLoadedInCache('flows', vbGlyph);
+    });
+    it('should load the flows eqMaster', function () {
+        gs.init();
+        verifyGlyphLoadedInCache('eqMaster', vbGlyph);
+    });
     it('should load the uiAttached glyph', function() {
         gs.init();
         verifyGlyphLoadedInCache('uiAttached', vbBadge);