Changeset 1188
- Timestamp:
- 07/01/09 02:49:38 (4 years ago)
- Files:
-
- apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer.js (modified) (4 diffs)
- apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/MapToolMenu.js (deleted)
- apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/MapToolSplitToggle.js (deleted)
- apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/MapToolToggle.js (deleted)
- apps/opengeo/geoexplorer/trunk/src/script/app/loader.js (modified) (1 diff)
- apps/opengeo/geoexplorer/trunk/src/theme/app/geoexplorer.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer.js
r1186 r1188 6 6 * @requires GeoExplorer/util.js 7 7 * @requires GeoExplorer/GroupContainer.js 8 * @requires GeoExplorer/MapToolSplitToggle.js9 8 * @requires GeoExplorer/CapabilitiesGrid.js 10 9 * @requires GeoExplorer/NewSourceWindow.js … … 1096 1095 this.mapPanel.layers.on("remove", updateInfo, this); 1097 1096 1098 // create length measure control 1099 var measureLength = this.createMeasureTool( 1100 OpenLayers.Handler.Path, 'Length'); 1101 this.map.addControl(measureLength); 1102 1103 // create area measure control 1104 var measureArea = this.createMeasureTool( 1105 OpenLayers.Handler.Polygon, 'Area'); 1106 this.map.addControl(measureArea); 1107 1097 // create split button for measure controls 1098 var activeIndex = 0; 1099 var measureSplit = new Ext.SplitButton({ 1100 iconCls: "icon-measure-length", 1101 tooltip: "Measure", 1102 enableToggle: true, 1103 toggleGroup: toolGroup, // Ext doesn't respect this, registered with ButtonToggleMgr below 1104 allowDepress: false, // Ext doesn't respect this, handler deals with it 1105 handler: function(button, event) { 1106 // allowDepress should deal with this first condition 1107 if(!button.pressed) { 1108 button.toggle(); 1109 } else { 1110 button.menu.items.itemAt(activeIndex).setChecked(true); 1111 } 1112 }, 1113 listeners: { 1114 toggle: function(button, pressed) { 1115 // toggleGroup should handle this 1116 if(!pressed) { 1117 button.menu.items.each(function(i) { 1118 i.setChecked(false); 1119 }); 1120 } 1121 }, 1122 render: function(button) { 1123 // toggleGroup should handle this 1124 Ext.ButtonToggleMgr.register(button); 1125 } 1126 }, 1127 menu: new Ext.menu.Menu({ 1128 items: [ 1129 new Ext.menu.CheckItem( 1130 new GeoExt.Action({ 1131 text: "Length", 1132 iconCls: "icon-measure-length", 1133 map: this.map, 1134 toggleGroup: toolGroup, 1135 group: toolGroup, 1136 allowDepress: false, 1137 map: this.map, 1138 control: this.createMeasureControl( 1139 OpenLayers.Handler.Path, "Length" 1140 ) 1141 }) 1142 ), 1143 new Ext.menu.CheckItem( 1144 new GeoExt.Action({ 1145 text: "Area", 1146 iconCls: "icon-measure-area", 1147 map: this.map, 1148 toggleGroup: toolGroup, 1149 group: toolGroup, 1150 allowDepress: false, 1151 map: this.map, 1152 control: this.createMeasureControl( 1153 OpenLayers.Handler.Polygon, "Area" 1154 ) 1155 }) 1156 ) 1157 ] 1158 }) 1159 }); 1160 measureSplit.menu.items.each(function(item, index) { 1161 item.on({checkchange: function(item, checked) { 1162 measureSplit.toggle(checked); 1163 if(checked) { 1164 activeIndex = index; 1165 measureSplit.setIconClass(item.iconCls); 1166 } 1167 }}); 1168 }); 1169 1108 1170 var tools = [ 1109 1171 navAction, 1110 1172 infoButton, 1111 new GeoExplorer.MapToolSplitToggle({ 1112 tooltip: "Measure", 1113 iconCls: "icon-measure-length", 1114 defaultTool: measureLength, 1115 allowDepress: false, 1116 tools: [ 1117 {text: 'Length', tool: measureLength, iconCls: 'icon-measure-length'}, 1118 {text: 'Area', tool: measureArea, iconCls: 'icon-measure-area'} 1119 ], 1120 enableToggle: true, 1121 toggleGroup: toolGroup 1122 }), 1173 measureSplit, 1123 1174 "-", 1124 1175 new Ext.Button({ … … 1166 1217 }, 1167 1218 1168 /** private: method[createMeasure Tool]1219 /** private: method[createMeasureControl] 1169 1220 * :param: handlerType: the :class:`OpenLayers.Handler` for the measurement 1170 1221 * operation … … 1174 1225 * control 1175 1226 */ 1176 createMeasure Tool: function(handlerType, title) {1227 createMeasureControl: function(handlerType, title) { 1177 1228 1178 1229 var styleMap = new OpenLayers.StyleMap({ apps/opengeo/geoexplorer/trunk/src/script/app/loader.js
r1165 r1188 1 1 (function() { 2 2 3 // Since the applications are located one directory down from4 // the base, all these includes must be prefixed by a ../5 3 var jsfiles = new Array( 6 4 "../../src/script/app/GeoExplorer.js", 7 5 "../../src/script/app/GeoExplorer/util.js", 8 "../../src/script/app/GeoExplorer/MapToolToggle.js",9 "../../src/script/app/GeoExplorer/MapToolSplitToggle.js",10 "../../src/script/app/GeoExplorer/MapToolMenu.js",11 6 "../../src/script/app/GeoExplorer/Wizard.js", 12 7 "../../src/script/app/GeoExplorer/LayerMenuItem.js", apps/opengeo/geoexplorer/trunk/src/theme/app/geoexplorer.css
r1184 r1188 52 52 } 53 53 54 .x-btn .icon-measure-length, .icon-measure-length { 55 background-image: url(img/geosilk/ruler.png); 56 } 57 58 .x-btn .icon-measure-area, .icon-measure-area { 59 background-image: url(img/geosilk/ruler_square.png); 54 .x-btn .icon-measure { 55 background-image: url(img/geosilk/measure.png); 56 } 57 58 .icon-measure-length { 59 background-image: url(img/geosilk/ruler.png) !important; 60 } 61 62 .icon-measure-area { 63 background-image: url(img/geosilk/ruler_square.png) !important; 60 64 } 61 65