Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Unified Diff: experimental/conways_life/controllers/stamp_panel.js

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: experimental/conways_life/controllers/stamp_panel.js
diff --git a/experimental/conways_life/controllers/stamp_panel.js b/experimental/conways_life/controllers/stamp_panel.js
deleted file mode 100644
index e3776fcc4cd841a5b0c0a1b4be31548423b44498..0000000000000000000000000000000000000000
--- a/experimental/conways_life/controllers/stamp_panel.js
+++ /dev/null
@@ -1,344 +0,0 @@
-// Copyright (c) 2011 The Native Client Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/**
- * @file
- * The stamp panel object. This object manages the UI connections for various
- * elements of the stamp editor panel, and makes the dynamic parts of the
- * panel's DOM.
- */
-
-
-goog.provide('stamp');
-goog.provide('stamp.StampPanel');
-
-goog.require('goog.Disposable');
-goog.require('goog.dom');
-goog.require('goog.editor.Table');
-goog.require('goog.events');
-goog.require('goog.style');
-goog.require('goog.ui.Zippy');
-
-goog.require('stamp.Editor');
-
-/**
- * Manages the data and interface for the stamp editor.
- * @param {!Element} editorContainer The element under which DOM nodes for
- * the stamp editor should be added.
- * @constructor
- * @extends {goog.events.EventTarget}
- */
-stamp.StampPanel = function(editorContainer) {
- goog.events.EventTarget.call(this);
- this.parent_ = editorContainer;
-};
-goog.inherits(stamp.StampPanel, goog.events.EventTarget);
-
-/**
- * A dictionary of all the DOM elements used by the stamp editor.
- * @type {Object<Element>}
- * @private
- */
-stamp.StampPanel.prototype.domElements_ = {};
-
-/**
- * The minimum number of rows and columns in the stamp editor table.
- */
-stamp.StampPanel.prototype.MIN_ROW_COUNT = 3;
-stamp.StampPanel.prototype.MIN_COLUMN_COUNT = 3;
-
-/**
- * The ids used for elements in the DOM. The stamp editor expects these
- * elements to exist.
- * @enum {string}
- */
-stamp.StampPanel.DomIds = {
- ADD_COLUMN_BUTTON: 'add_column_button',
- ADD_ROW_BUTTON: 'add_row_button',
- CANCEL_BUTTON: 'cancel_button',
- OK_BUTTON: 'ok_button',
- REMOVE_COLUMN_BUTTON: 'remove_column_button',
- REMOVE_ROW_BUTTON: 'remove_row_button',
- STAMP_EDITOR_BUTTON: 'stamp_editor_button',
- STAMP_EDITOR_CONTAINER: 'stamp_editor_container',
- STAMP_EDITOR_PANEL: 'stamp_editor_panel'
-};
-
-/**
- * Panel events. These are dispatched on the stamp editor container object
- * (usually a button that opens the panel), and indicate things like when the
- * panel is about to open, or when it has been closed using specific buttons.
- * @enum {string}
- */
-stamp.StampPanel.Events = {
- PANEL_DID_CANCEL: 'panel_did_cancel', // The Cancel button was clicked.
- PANEL_DID_SAVE: 'panel_did_save', // The OK button was clicked.
- // Sent right before the editor panel will collapse. Note that it is possible
- // for the event to be sent, but the panel will not actually close. This can
- // happen, for example, if the panel open button gets a mouse-down, but does
- // not get a complete click event (no corresponding mouse-up).
- PANEL_WILL_CLOSE: 'panel_will_close',
- // Sent right before the editor panel will expand. Note that it is possible
- // for the event to be sent, but the panel will not actually open. This can
- // happen, for example, if the panel open button gets a mouse-down, but does
- // not get a complete click event (no corresponding mouse-up).
- PANEL_WILL_OPEN: 'panel_will_open'
-};
-
-/**
- * Attributes added to cells to cache certain parameters like aliveState.
- * @enum {string}
- * @private
- */
-stamp.StampPanel.CellAttributes_ = {
- ENABLED_OPACITY: '1',
- DISABLED_OPACITY: '0.5'
-};
-
-/**
- * Characters used to encode the stamp as a string.
- * @enum {string}
- * @private
- */
-stamp.Editor.StringEncoding_ = {
- DEAD_CELL: '.',
- END_OF_ROW: '\n',
- LIVE_CELL: '*'
-};
-
-/**
- * Override of disposeInternal() to dispose of retained objects and unhook all
- * events.
- * @override
- */
-stamp.StampPanel.prototype.disposeInternal = function() {
- for (elt in this.domElements_) {
- goog.events.removeAll(elt);
- }
- goog.events.removeAll(this.parent_);
- this.panel_ = null;
- this.parent_ = null;
- this.stampEditor_ = null;
- stamp.StampPanel.superClass_.disposeInternal.call(this);
-}
-
-/**
- * Respond to a MOUSEDOWN event on the parent element. This dispatches a
- * a PANEL_WILL* event based on the expanded state of the panel.
- * @param {!goog.events.Event} mousedownEvent The MOUSEDOWN event that
- * triggered this handler.
- */
-stamp.StampPanel.prototype.handleParentMousedown_ = function(mousedownEvent) {
- mousedownEvent.stopPropagation();
- var eventType;
- if (this.panel_.isExpanded()) {
- // About to close the panel.
- eventType = stamp.StampPanel.Events.PANEL_WILL_CLOSE;
- } else {
- eventType = stamp.StampPanel.Events.PANEL_WILL_OPEN;
- }
- this.dispatchEvent(new goog.events.Event(eventType));
-}
-
-/**
- * Return the current stamp expressed as a string.
- * @return {!string} The stamp currently in the editor.
- */
-stamp.StampPanel.prototype.getStampAsString = function() {
- return this.stampEditor_.getStampAsString();
-}
-
-/**
- * Sets the current stamp based on the stamp encoding in |stampString|.
- * @param {!string} stampString The encoded stamp string.
- */
-stamp.StampPanel.prototype.setStampFromString = function(stampString) {
- this.stampEditor_.setStampFromString(stampString);
- this.refreshUI_();
-}
-
-/**
- * Creates the DOM structure for the stamp editor panel and adds it to the
- * document. The panel is built into the mainPanel DOM element. The expected
- * DOM elements are keys in the |stampEditorElements| object:
- * mainPanel The main panel element.
- * editorContainer: A container for a TABLE element that impelements the
- * stamp editor.
- * addColumnButton: An element that becomes the button used to add a column to
- * the stamp editor. An onclick listener is attached to this element.
- * removeColumnButton: An element that becomes the button used to remove a
- * column from the stamp editor. An onclick listener is attached to this
- * element.
- * addRowButton: An element that becomes the button used to add a row to
- * the stamp editor. An onclick listener is attached to this element.
- * removeRowButton: An element that becomes the button used to remove a
- * row from the stamp editor. An onclick listener is attached to this
- * element.
- * cancelButton: An element that becomes the button used to close the panel
- * without changing the current stamp. An onclick listener is attached
- * to this element. Dispatches the "panel did close" event.
- * okButton: An element that becomes the button used to close the panel
- * and update the current stamp. An onclick listener is attached
- * to this element. Dispatches the "panel did close" event.
- * @param {!Object<Element>} stampEditorElements A dictionary of DOM elements
- * required by the stamp editor panel.
- * @return {!goog.ui.Zippy} The Zippy element representing the entire stamp
- * panel with enclosed editor.
- */
-stamp.StampPanel.prototype.makeStampEditorPanel =
- function(stampEditorElements) {
- if (!stampEditorElements) {
- return null;
- }
- for (elt in stampEditorElements) {
- this.domElements_[elt] = stampEditorElements[elt];
- }
- // Create DOM structure to represent the stamp editor panel. This panel
- // contains all the UI elements of the stamp editor: the stamp editor
- // itself, add/remove column and row buttons, a legend and a title string.
- // The layout of the panel is described in the markup; this code wires up
- // the button and editor behaviours.
- this.domElements_.panelHeader = goog.dom.createDom('div',
- {'style': 'background-color:#EEE',
- 'class': 'panel-container'}, 'Stamp Editor...');
- this.domElements_.panelContainer = stampEditorElements.mainPanel;
- goog.style.setPosition(this.domElements_.panelContainer, 0,
- goog.style.getSize(this.parent_).height);
- this.domElements_.panelContainer.style.display = 'block';
- var newEditor = goog.dom.createDom('div', null,
- this.domElements_.panelHeader, this.domElements_.panelContainer);
-
- // Create the editable stamp representation within the editor panel.
- this.stampEditor_ = new stamp.Editor();
- this.stampEditor_.makeStampEditorDom(stampEditorElements.editorContainer);
-
- goog.events.listen(this.parent_, goog.events.EventType.MOUSEDOWN,
- this.handleParentMousedown_, false, this);
-
- // Wire up the add/remove column and row buttons.
- goog.events.listen(stampEditorElements.addColumnButton,
- goog.events.EventType.CLICK,
- this.addColumn_, false, this);
- goog.events.listen(stampEditorElements.removeColumnButton,
- goog.events.EventType.CLICK,
- this.removeColumn_, false, this);
- goog.events.listen(stampEditorElements.addRowButton,
- goog.events.EventType.CLICK,
- this.addRow_, false, this);
- goog.events.listen(stampEditorElements.removeRowButton,
- goog.events.EventType.CLICK,
- this.removeRow_, false, this);
- goog.events.listen(stampEditorElements.cancelButton,
- goog.events.EventType.CLICK,
- this.closePanelAndCancel_, false, this);
- goog.events.listen(stampEditorElements.okButton,
- goog.events.EventType.CLICK,
- this.closePanelAndSave_, false, this);
-
- // Add the panel's DOM structure to the document.
- goog.dom.appendChild(this.parent_, newEditor);
- this.panel_ = new goog.ui.Zippy(this.domElements_.panelHeader,
- this.domElements_.panelContainer);
- return this.panel_;
-};
-
-/**
- * Respond to a CLICK event on the "add column" button. Update the display
- * to reflect whether columns can be removed or not.
- * @param {!goog.events.Event} clickEvent The CLICK event that triggered this
- * handler.
- */
-stamp.StampPanel.prototype.addColumn_ = function(clickEvent) {
- clickEvent.stopPropagation();
- this.stampEditor_.appendColumn();
- this.refreshUI_();
-}
-
-/**
- * Respond to a CLICK event on the "remove column" button.
- * @param {!goog.events.Event} clickEvent The CLICK event that triggered this
- * handler.
- */
-stamp.StampPanel.prototype.removeColumn_ = function(clickEvent) {
- clickEvent.stopPropagation();
- this.stampEditor_.removeLastColumn();
- this.refreshUI_();
-}
-
-/**
- * Respond to a CLICK event on the "add row" button.
- * @param {!goog.events.Event} clickEvent The CLICK event that triggered this
- * handler.
- */
-stamp.StampPanel.prototype.addRow_ = function(clickEvent) {
- clickEvent.stopPropagation();
- this.stampEditor_.appendRow();
- this.refreshUI_();
-}
-
-/**
- * Respond to a CLICK event on the "remove row" button.
- * @param {!goog.events.Event} clickEvent The CLICK event that triggered this
- * handler.
- * @private
- */
-stamp.StampPanel.prototype.removeRow_ = function(clickEvent) {
- clickEvent.stopPropagation();
- this.stampEditor_.removeLastRow();
- this.refreshUI_();
-}
-
-/**
- * Update the UI to reflect thing like "remove column" button to be enabled if
- * there are column that can be removed.
- * @private
- */
-stamp.StampPanel.prototype.refreshUI_ = function() {
- if (this.stampEditor_.rowCount() > this.MIN_ROW_COUNT) {
- goog.style.setStyle(this.domElements_.removeRowButton,
- { 'opacity': stamp.StampPanel.CellAttributes_.ENABLED_OPACITY });
- } else {
- goog.style.setStyle(this.domElements_.removeRowButton,
- { 'opacity': stamp.StampPanel.CellAttributes_.DISABLED_OPACITY });
- }
- if (this.stampEditor_.columnCount() > this.MIN_COLUMN_COUNT) {
- goog.style.setStyle(this.domElements_.removeColumnButton,
- { 'opacity': stamp.StampPanel.CellAttributes_.ENABLED_OPACITY });
- } else {
- goog.style.setStyle(this.domElements_.removeColumnButton,
- { 'opacity': stamp.StampPanel.CellAttributes_.DISABLED_OPACITY });
- }
-}
-
-/**
- * Respond to a CLICK event on the "cancel" button.
- * @param {!goog.events.Event} clickEvent The CLICK event that triggered this
- * handler.
- * @private
- */
-stamp.StampPanel.prototype.closePanelAndCancel_ = function(clickEvent) {
- if (this.panel_.isExpanded())
- this.panel_.collapse();
- // Dispatch two events: PANEL_WILL_CLOSE and PANEL_DID_CANCEL.
- this.dispatchEvent(
- new goog.events.Event(stamp.StampPanel.Events.PANEL_WILL_CLOSE));
- this.dispatchEvent(
- new goog.events.Event(stamp.StampPanel.Events.PANEL_DID_CANCEL));
-}
-
-/**
- * Respond to a CLICK event on the "ok" button.
- * @param {!goog.events.Event} clickEvent The CLICK event that triggered this
- * handler.
- * @private
- */
-stamp.StampPanel.prototype.closePanelAndSave_ = function(clickEvent) {
- if (this.panel_.isExpanded())
- this.panel_.collapse();
- // Dispatch two events: PANEL_WILL_CLOSE and PANEL_DID_SAVE.
- this.dispatchEvent(
- new goog.events.Event(stamp.StampPanel.Events.PANEL_WILL_CLOSE));
- this.dispatchEvent(
- new goog.events.Event(stamp.StampPanel.Events.PANEL_DID_SAVE));
-}
« no previous file with comments | « experimental/conways_life/controllers/stamp_editor.js ('k') | experimental/conways_life/controllers/viewcontroller.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698