# ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is the Places Tree View. # # The Initial Developer of the Original Code is Google Inc. # Portions created by the Initial Developer are Copyright (C) 2005-2006 # the Initial Developer. All Rights Reserved. # # Contributor(s): # Ben Goodger # Annie Sullivan # Marco Bonardo # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** result->treeviewer cycle. // Note: unsetting the result's viewer also unsets // the viewer's reference to our treeBoxObject. var result = this.getResult(); if (result) { result.viewer = null; result.root.containerOpen = false; } this.view = null; ]]> = 0; --i) { var index = view.treeIndexForNode(parents[i]); if (view.isContainer(index) && !view.isContainerOpen(index)) view.toggleOpenState(index); } // Select the specified node... } var index = view.treeIndexForNode(node); view.selection.select(index); // ... and ensure it's visible, not scrolled off somewhere. this.treeBoxObject.ensureRowIsVisible(index); ]]> = 1; ]]> 0; child++) { var childNode = node.getChild(child); var found = findNodes(childNode); if (!foundOne) foundOne = found; } // If we didn't find any additional matches in this node's // subtree, revert the node to its previous openness. if (foundOne) nodesToOpen.unshift(node); node.containerOpen = previousOpenness; return foundOne; } // Null the viewer while looking for nodes var result = this.getResult(); var oldViewer = result.viewer; result.viewer = null; findNodes(this.getResultNode()); result.viewer = oldViewer; // For all the nodes we've found, highlight the corresponding // index in the tree. var resultview = this.getResultView(); var selection = this.view.selection; selection.selectEventsSuppressed = true; selection.clearSelection(); // Open nodes containing found items for (var i = 0; i < nodesToOpen.length; i++) { nodesToOpen[i].containerOpen = true; } for (var i = 0; i < nodes.length; i++) { var index = resultview.treeIndexForNode(nodes[i]); selection.rangedSelect(index, index, true); } selection.selectEventsSuppressed = false; ]]> rowHeight * 0.75) { // If we are below the 75% of a container the treeview we try // to drop after the node. orientation = Ci.nsITreeView.DROP_AFTER; } else if (PlacesUtils.nodeIsContainer(node) && eventY > rowHeight * 0.25) { // If we are below the 25% of a container the treeview we try // to drop inside the node. orientation = Ci.nsITreeView.DROP_ON; } return this.view.canDrop(row.value, orientation); ]]>