ginebra/chrome/js/ActionButton.js
changeset 3 0954f5dd2cd0
parent 1 b0dd75e285d2
child 4 d5cdb6bc139d
--- a/ginebra/chrome/js/ActionButton.js	Fri May 14 15:40:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-// Call ActionButton to wire an HTML button (typically an <img> tag) to an action (QAction).
-// Params:
-//   id - the id of the button.  Ex:  <img id="buttonId" .../>
-//   upImg - the path to the "up" image for the button.
-//   downImg - the path to the "down" image for the button.  Note: not yet working...
-//   disabledImg - the path to the "disabled" image for the button.
-//   action - the targeted action
-//
-function ActionButton(id, upImg, downImg, disabledImg, action) {
-    this.id = id;
-    this.upImg = upImg;
-    this.downImg = downImg;
-    this.disabledImg = disabledImg;
-    this.action = action;
-    this.isDown = false;
-
-    //window.chrome.alert("ActionButton");
-
-    // attach this object to the item as "button" for later access
-    // delete/cleanup existing button (if any) and attach this as button
-    dom = document.getElementById(this.id);
-    if(dom.button) {
-        delete dom.button;
-    }
-    dom.button = this;
-
-    this.element = function() {
-        return document.getElementById(this.id);
-    }
-
-    this.updateButton = function() {
-        //window.chrome.alert("ActionButton::updateButton " + this);
-        if(this.action.enabled) {
-            if(this.isDown) {
-                this.element().src = this.downImg;
-            }
-            else {
-                this.element().src = this.upImg;
-            }
-        }
-        else {
-            this.element().src = this.disabledImg;
-        }
-    }
-
-    // Make sure we can find the element.
-    if(!this.element()) {
-        alert("ActionButton: element not found, " + id);
-        return;
-    }
-
-    // --------------------------------
-
-    // Callback for changes in the action's state.
-    onActionChanged = function() {
-//          window.chrome.alert("ActionButton::on action changed " +
-//                              " this=" + this +
-//                              " action=" + this.action     +
-//                              " id=" + this.id     +
-//                              " enabled=" + this.action.enabled +
-//                              " src=" + this.element().src);
-        this.updateButton();
-    }
-
-// Commented out because onclick is not reliable.  Slight movements between mouse down
-// and mouse up seem to cancel the onclick.
-//    this.onClick = function() {
-//        window.chrome.alert("ActionButton::onClick: " + this);
-//        if(this.action.enabled) {
-//            this.action.trigger();
-//        }
-//        else {
-//            window.chrome.alert("ActionButton::onClick: not enabled");
-//        }
-//    }
-    
-    this.onMouseDown = function() {
-        //window.chrome.alert("ActionButton::onMouseDown " + this);
-        if(!this.isDown) {
-        this.isDown = true;
-        this.updateButton.call(this);
-      if((this.id == 'zoomBarBtnIn') || (this.id == 'zoomBarBtnOut') || (this.id == 'zoomIn') || (this.id == 'zoomOut'))
-    	    this.action.trigger();
-        }
-    }
-    
-    this.onMouseUp = function() {
-        //window.chrome.alert("ActionButton::onMouseUp " + this);
-        if(this.isDown) {
-        this.isDown = false;
-        this.updateButton.call(this);
-      
-        // Trigger the action.
-        this.action.trigger();
-    }
-    }
-    
-    this.onMouseOut = function() {
-        //window.chrome.alert("ActionButton::onMouseOut " + this);
-        if (this.isDown ) {
-            this.isDown = false;
-            this.updateButton.call(this);
-            
-        if((this.id == 'zoomBarBtnIn') || (this.id == 'zoomBarBtnOut') || (this.id == 'zoomIn') || (this.id == 'zoomOut'))
-            this.action.trigger();
-        }
-    }
-
-
-    // Connect to the action's "changed" signal.  Note: don't use bind here, causes crash in
-    // scope chain code (but only for first document that is loaded...).
-    this.action.changed.connect(createDelegate(this, onActionChanged));
-
-    // Set up element event handlers.
-    this.element().onmousedown = this.onMouseDown.bind(this);
-    this.element().onmouseup = this.onMouseUp.bind(this);
-    this.element().onmouseout = this.onMouseOut.bind(this);
-//    this.element().onclick = this.onClick.bind(this);
-
-    // Set the initial state of the button.
-    this.updateButton();
-}
-