1731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Use of this source code is governed by a BSD-style license that can be 3731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// found in the LICENSE file. 4731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 5731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick/** 6731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * ButtonCommand class for small buttons on menu items. 7731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 8731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvar ButtonCommand = cr.ui.define('div'); 9731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 10731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickButtonCommand.prototype = { 11731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick __proto__: HTMLDivElement.prototype, 12731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 14731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Decorate Button item. 15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick decorate: function() { 17731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 20731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Changes the selection state of the menu item. 21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @param {boolean} selected True to set the selection, or false otherwise. 22731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 23731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick set selected(selected) { 24731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (selected) { 25731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.classList.add('selected'); 26731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.selectedItem = this; 27731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } else { 28731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.classList.remove('selected'); 29731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 30731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 31731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 32731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 33731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Activate the menu item. 34731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 35731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick activate: function() { 36731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick sendActivate(this.menu_.getMenuItemIndexOf(this), 37731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 'close_and_activate'); 38731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 39731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 40731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 41731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick/** 42731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * EditCommand implements Copy and Paste command. 43731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 44731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvar EditCommand = cr.ui.define('div'); 45731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 46731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickEditCommand.prototype = { 47731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick __proto__: ButtonCommand.prototype, 48731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 49731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 50731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Initialize the menu item. 51731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 52731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 53731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick init: function(menu, attrs, model) { 54731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_ = menu; 55731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.attrs = attrs; 56731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (this.attrs.font) { 57731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.style.font = attrs.font; 58731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 59731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick menu.addHandlers(this, this); 60731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (attrs.command_id == menu.config_.IDC_COPY) { 61731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick menu.addLabelTo(this, menu.config_.IDS_COPY, this, 62731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick false /* no mnemonic */); 63731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } else { 64731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick menu.addLabelTo(this, menu.config_.IDS_PASTE, this, 65731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick false /* no mnemonic */); 66731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 67731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 68731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 69731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 70731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick/** 71731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * EditMenuItem which has Copy and Paste commands inside. 72731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 73731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvar EditMenuItem = cr.ui.define('div'); 74731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 75731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickEditMenuItem.prototype = { 76731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick __proto__: MenuItem.prototype, 77731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 78731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 79731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Initialize 80731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 81731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick decorate: function() { 82731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.className = 'menu-item'; 83731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_ = document.createElement('div'); 84731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_.className = 'menu-label'; 85731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.cut_ = document.createElement('div'); 86731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.cut_.className = 'edit-button left-button'; 87731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.copy_ = new EditCommand(); 88731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.copy_.className = 'edit-button center-button'; 89731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.paste_ = new EditCommand(); 90731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.paste_.className = 'edit-button right-button'; 91731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 92731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.label_); 93731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.cut_); 94731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.copy_); 95731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.paste_); 96731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 97731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 98731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 99731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Activates the command. 100731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 101731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 102731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick activate: function() { 103731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick sendActivate(this.menu_.getMenuItemIndexOf(this), 104731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 'close_and_activate'); 105731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 106731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 107731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 108731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 109731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 110731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick set selected(selected) { 111731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (selected) { 112731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.cut_.classList.add('selected'); 113731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.selectedItem = this; 114731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } else { 115731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.cut_.classList.remove('selected'); 116731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 117731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 118731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 119731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 120731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Initialize the edit items with configuration info. 121731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 122731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 123731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick initMenuItem_: function() { 124731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_.textContent = 125731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.config_.IDS_EDIT2; 126731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (this.attrs.font) { 127731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_.style.font = this.attrs.font; 128731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.cut_.style.font = this.attrs.font; 129731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 130731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.addLabelTo( 131731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this, this.menu_.config_.IDS_CUT, this.cut_, 132731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick false /* no mnemonic */); 133731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.addHandlers(this, this.cut_); 134731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 135731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 136731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 137731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick/** 138731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * ZoomCommand class implements Zoom plus and fullscreen. 139731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 140731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvar ZoomCommand = cr.ui.define('div'); 141731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 142731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickZoomCommand.prototype = { 143731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick __proto__: ButtonCommand.prototype, 144731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 145731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 146731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Initialize the menu item. 147731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 148731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 149731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick init: function(menu, attrs, model) { 150731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_ = menu; 151731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.attrs = attrs; 152731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick menu.addHandlers(this, this); 153731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (attrs.command_id == menu.config_.IDC_ZOOM_PLUS) { 154731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.textContent = '+'; 155731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 156731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (this.attrs.font) { 157731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.style.font = attrs.font; 158731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 159731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 160731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 161731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 162731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Activate zoom plus and full screen commands. 163731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 164731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 165731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick activate: function() { 166731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick sendActivate(this.menu_.getMenuItemIndexOf(this), 167731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.attrs.command_id == this.menu_.config_.IDC_ZOOM_PLUS ? 168731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 'activate_no_close' : 'close_and_activate'); 169731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 170731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 171731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 172731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick/** 173731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * ZoomMenuItem which has plus and fullscreen buttons inside. 174731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 175731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvar ZoomMenuItem = cr.ui.define('div'); 176731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 177731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickZoomMenuItem.prototype = { 178731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick __proto__: MenuItem.prototype, 179731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 180731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 181731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Decorate Zoom button item. 182731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 183731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick decorate: function() { 184731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.className = 'menu-item'; 185731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 186731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_ = document.createElement('div'); 187731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_.className = 'menu-label'; 188731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.minus_ = document.createElement('div'); 189731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.minus_.className = 'zoom-button left-button'; 190731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.minus_.textContent = '-'; 191731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.plus_ = new ZoomCommand(); 192731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.plus_.className = 'zoom-button right-button'; 193731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.percent_ = document.createElement('div'); 194731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.percent_.className = 'zoom-percent center-button'; 195731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.fullscreen_ = new ZoomCommand(); 196731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.fullscreen_.className = 'fullscreen'; 197731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 198731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.label_); 199731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.minus_); 200731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.percent_); 201731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.plus_); 202731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.appendChild(this.fullscreen_); 203731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 204731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 205731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 206731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Activates the cut command. 207731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 208731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 209731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick activate: function() { 210731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick sendActivate(this.menu_.getMenuItemIndexOf(this), 211731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 'activate_no_close'); 212731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 213731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 214731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 215731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Updates zoom controls. 216731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @params {JSON} params JSON object to configure zoom controls. 217731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 218731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick updateZoomControls: function(params) { 219731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.attrs.enabled = params.plus; 220731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (params.plus) { 221731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.plus_.classList.remove('disabled'); 222731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } else { 223731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.plus_.classList.add('disabled'); 224731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 225731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.attrs.enabled = params.minus; 226731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (params.minus) { 227731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.classList.remove('disabled'); 228731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } else { 229731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.classList.add('disabled'); 230731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 231731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.percent_.textContent = params.percent; 232731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 233731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 234731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 235731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 236731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 237731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick set selected(selected) { 238731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (selected) { 239731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.minus_.classList.add('selected'); 240731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.selectedItem = this; 241731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } else { 242731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.minus_.classList.remove('selected'); 243731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 244731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 245731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 246731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 247731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Initializes the zoom menu item with configuration info. 248731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 249731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 250731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick initMenuItem_: function() { 251731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_.textContent = 252731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.config_.IDS_ZOOM_MENU2; 253731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.menu_.addHandlers(this, this.minus_); 254731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 255731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick if (this.attrs.font) { 256731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.label_.style.font = this.attrs.font; 257731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.minus_.style.font = this.attrs.font; 258731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.percent_.style.font = this.attrs.font; 259731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 260731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 261731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 262731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 263731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick/** 264731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * WrenchMenu 265731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 266731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvar WrenchMenu = cr.ui.define('div'); 267731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 268731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickWrenchMenu.prototype = { 269731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick __proto__: Menu.prototype, 270731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 271731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 272731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Decorate Zoom button item. 273731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 274731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick decorate: function() { 275731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick Menu.prototype.decorate.call(this); 276731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.edit_ = new EditMenuItem(); 277731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.zoom_ = new ZoomMenuItem(); 278731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 279731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 280731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick /** 281731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * Create a MenuItem for given {@code attrs}. 282731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * @override 283731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick */ 284731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick createMenuItem: function(attrs) { 285731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick switch(attrs.command_id) { 286731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick case this.config_.IDC_CUT: 287731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return this.edit_; 288731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick case this.config_.IDC_COPY: 289731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return this.edit_.copy_; 290731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick case this.config_.IDC_PASTE: 291731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return this.edit_.paste_; 292731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick case this.config_.IDC_ZOOM_MINUS: 293731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return this.zoom_; 294731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick case this.config_.IDC_ZOOM_PLUS: 295731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return this.zoom_.plus_; 296731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick case this.config_.IDC_FULLSCREEN: 297731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return this.zoom_.fullscreen_; 298731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick default: 299731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return new MenuItem(); 300731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 301731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 302731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 303731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick updateZoomControls: function(params) { 304731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick this.zoom_.updateZoomControls(params); 305731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick }, 306731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 307731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 308731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickfunction updateZoomControls(params) { 309731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick var menu = document.getElementById('viewport'); 310731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick menu.updateZoomControls(params); 311731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick} 312