
/******** Tree widget **********/

/** basic tree ****************************************************
 *  basic tree widget for use in main windows where no decoration
 *  is required.
 **/
tree 
  {
    background-color      : window;
    border-spacing        : 0px;
    border-left           : 1px solid threedshadow;
    border-top            : 1px solid threedshadow;
    border-right          : 1px solid threedhighlight;
    border-bottom         : 1px solid threedhighlight;
  }

.tree-container-treerows[dragover="true"][dragdroptree="true"]
  {
    border                : 2px solid highlight;
    padding               : 0px;
  }  
  
.tree-container-treerows
  {
    border-left           : 1px solid threeddarkshadow;
    border-top            : 1px solid threeddarkshadow;
    border-right          : 1px solid threedface;
    border-bottom         : 1px solid threedface;
  }  

.tree-container-treerows[dragdroptree="true"]
  {
    padding               : 1px;
  }  
  
tree.inset
  {
    margin                : 1px 5px 2px 5px;
  }

tree > treechildren treeitem[selected="true"] > treerow
  {
	  color: buttontext;
  	background-color: threedface;
  }

tree:focus > treechildren treeitem[selected="true"] > treerow
  {
	  color: highlighttext;
  	background-color: highlight;
  }

treerow {
  border: 1px solid transparent;
}

treehead > treerow {
  border: none;
}
  
tree:focus > treechildren treeitem[selected="true"][current="true"] > treerow
  {
    border: 1px dotted CaptionText;
  }

treeitem[dd-dropon="true"] > treerow { 
	color: highlighttext;
	background-color: highlight;
}

treecell 
  { 
    white-space           : nowrap;
    vertical-align        : middle;
    padding               : 0px 0px 1px 2px;
  } 

.treecell-header,
.treecell-inset-header 
  { 
    -moz-binding          : url("chrome://global/skin/treeBindings.xml#treecell-header");
    border-left           : 1px solid threedhighlight !important;
    border-top            : 1px solid threedhighlight !important;
    border-right          : 1px solid threeddarkshadow !important;
    border-bottom         : 1px solid threeddarkshadow !important;
    background-color      : threedface;
    padding               : 0px;
  }

/* slimline sidebar treeheaders */  
.treecell-header.treecell-header-sidebarpanel,
.treecell-inset-header.treecell-header-sidebarpanel
  {
    border-left           : none !important;
    border-top            : 1px solid threedhighlight !important;
    border-bottom         : 1px solid threedshadow !important;
    border-right          : none !important;
    padding               : 0px 0px 0px 3px;
  }

.treecell-header-sidebarpanel > .treecell-header-box
  {
    border                : none !important;
    border-right          : 1px solid threedface !important;
  }
 
.treecell-header-image 
  {
    -moz-binding          : url("chrome://global/skin/treeBindings.xml#treecell-header-image");
    padding               : 0px;
  }
  
.tree-header-image
  {
    list-style-image      : inherit;
  }  

.treecell-image 
  {
    padding               : 0px;
  }

.treecell-header-box
  {
    border-left           : 1px solid threedface;
    border-top            : 1px solid threedface;
    border-right          : 1px solid threedshadow;
    border-bottom         : 1px solid threedshadow;
    padding               : 0px 5px 0px 4px;
  }  
  
.treecell-header-image-box
  {
    border-left           : 1px solid threedface;
    border-top            : 1px solid threedface;
    border-right          : 1px solid threedshadow;
    border-bottom         : 1px solid threedshadow;
    padding               : 0px 0px 0px 0px;
  }  
  
.sortable.treecell-header:hover:active,
.sortable.treecell-inset-header:hover:active
  {
    border                : 1px solid threedshadow;
  }

.sortable.treecell-header:hover:active > .treecell-header-box,
.sortable.treecell-inset-header:hover:active > .treecell-header-box
  {
    border                : 1px solid threedface;
    padding               : 2px 4px 0px 5px;
  }
  
  
/** class="propertylist" ******************************************
 *  class for cells in grid-formatted property lists.
 **/
treecell.propertylist 
  {
    padding-left          : 5px;
    border-right          : 1px solid threedface;
    border-bottom         : 1px solid threedface;
  }

.tree-cell-primary-icon {
  list-style-image: inherit;
  padding-right: 2px;
}

.tree-cell-icon {
  list-style-image: inherit;
  padding-right: 2px;
}

.tree-cell-twisty {
 list-style-image: url("chrome://global/skin/twisty-closed.gif");
 -moz-user-focus:ignore;
 padding-right: 2px;
}

.treecell-indent > .tree-cell-primary-icon {
  padding-left: 14px;
 }

treeitem[container="true"] > treerow > .treecell-indent > .tree-cell-primary-icon {
  padding-left: 0px;
}

treeitem[selected="true"] > treerow > treecell > .tree-cell-twisty {
  list-style-image: url("chrome://global/skin/twisty-closed-selected.gif");
}

.tree-cell-twisty:hover {
 text-decoration: none;
}

.tree-cell-twisty:active {
 text-decoration: none;
}

.tree-cell-twisty[disabled="true"] {
 list-style-image: none;
}

treeitem[container="true"][open="true"] > treerow > treecell > .tree-cell-twisty {
 list-style-image: url("chrome://global/skin/twisty-open.gif");
}

treeitem[selected="true"][container="true"][open="true"] > treerow > treecell > .tree-cell-twisty {
  list-style-image: url("chrome://global/skin/twisty-open-selected.gif");
}


/* tree header with sort direction indicators */
.sortDirectionIndicator[sortDirection="ascending"]  > .treecell-header-box > .tree-header-sortdirection {
  list-style-image: url("chrome://global/skin/sortAscending.gif");
  margin-right: 3px;
}

.sortDirectionIndicator[sortDirection="descending"] > .treecell-header-box > .tree-header-sortdirection {
  list-style-image: url("chrome://global/skin/sortDescending.gif");
  margin-right: 3px;
}


.treecell-popup-icon
  {
    list-style-image       : url("chrome://global/skin/columnselect.gif");
  }
