/***************************************************************\
| |\  /|                                                We Put  |
| | >< Hypercosm         tape_measure_button.js         3d      |
| |/  \|                                                To Work |
|***************************************************************|
|                                                               |
|        This file defines the Javascript behaviors of a        |
|        specific type of SketchUp user interface button.       |
|                                                               |
|***************************************************************|
|                Copyright (c) 2007 Hypercosm, LLC.             |
\***************************************************************/


//
// "class" constructor
//


function tapeMeasureButton(element, buttonGroup, parent) {
	
  // call superclass constructor
  //
  toolbarRadioButton.call(this, element, buttonGroup, parent);
  
  // set attributes
  //
  this.status = "Measure distances and create construction lines";
  this.helpMessage = "This button is used to measure distances and create construction lines.";
  
  return this;
}    // tapeMeasureButton


// inherit prototype from "superclass"
//
tapeMeasureButton.prototype = new toolbarRadioButton();


//
// "object" or "instance" methods
//


tapeMeasureButton.prototype.onActivate = function() {
  
  // create new cursor
  //
  this.cursor = new HCIcon("tape_measure_cursor.png", "right", "bottom");
}	// onActivate
  
  
//
// selection event handling methods
//


tapeMeasureButton.prototype.onSelect = function() {
  this.parent.parent.applet.beginMessages();
  
  // call superclass method
  //
  toolbarRadioButton.prototype.onSelect.call(this);
  
  // set applet mouse mode for left and right buttons
  //
  this.parent.parent.applet.setMouseMode("left", "tape_measure", this.cursor);
  this.parent.parent.applet.setMouseMode("right", "none", null);
  
  // update applet
  //
  this.parent.parent.applet.endMessages();
}    // onSelect


tapeMeasureButton.prototype.onDeselect = function() {

  // call superclass method
  //
  toolbarRadioButton.prototype.onDeselect.call(this);
  
  // reset applet mouse mode
  //
  this.parent.parent.applet.setMouseMode("left", "none", null);
}    // onDeselect


//
// query string methods
//


tapeMeasureButton.prototype.parseQueryString = function(queryString) {
  var mouseMode = getQueryVariable(queryString, "mouse_mode");
  if (mouseMode == "tape_measure")
    this.setSelected(true);
}	// parseQueryString


tapeMeasureButton.prototype.getQueryString = function() {
  var queryString = null;
  if (this.selected && !this.initiallySelected)
    queryString = "mouse_mode=tape_measure";
  return queryString;
}	// getQueryString

