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

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

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

.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;
  }

treerow 
  {
    border        : 1px solid transparent;
  }
  
treehead > treeitem > treerow,
treehead > treerow 
  {
    border              : none;
  }
  
treecell 
  { 
    padding               : 0px 0px 1px 2px;
    white-space           : nowrap;
    vertical-align        : middle;
  } 

tree:focus > treechildren treeitem[selected="true"] > treerow,
treeitem[dd-dropon="true"] > treerow
  {
  	background-color    : Highlight;
	  color               : HighlightText;
  }

tree:focus > treechildren treeitem[selected="true"][current="true"] > treerow
  {
    /* this is not the right color, what we really need is a color complementary
       to Highlight, but someone needs to implement that first */
    border              : 1px dotted #F5DB95;
  }

.treecell-header-image 
  {
    list-style-image      : inherit;
  }
  
.treecell-header,
.treecell-inset-header,
.treecell-header-image
  { 
    border-left           : 1px solid ThreeDHighlight !important;
    border-top            : 1px solid ThreeDHighlight !important;
    border-right          : 1px solid ThreeDDarkShadow !important;
    border-bottom         : 1px solid ThreeDDarkShadow !important;
    padding               : 0px;
    background-color      : ThreeDFace;
    color                 : ButtonText;
  }

.treecell-header-box,
.treecell-header-image-box 
  {
    border-left           : 1px solid ThreeDLightShadow;
    border-top            : 1px solid ThreeDLightShadow;
    border-right          : 1px solid ThreeDShadow;
    border-bottom         : 1px solid ThreeDShadow;
  }  

.treecell-header-box
  {
    padding               : 0px 4px 0px 4px;
  }

.treecell-header-image-box 
  {
    padding               : 0px 1px 0px 1px;
  }
  
.treecell-header:hover:active,
.treecell-header-image:hover:active,
.treecell-inset-header:hover:active 
  {
    border                : 1px solid ThreeDShadow !important;
  }

.treecell-header:hover:active > .treecell-header-box,
.treecell-inset-header:hover:active > .treecell-header-box,
.treecell-header-image:hover:active > .treecell-header-image-box
  {
    border-top            : 1px solid transparent;
    border-right          : none;
    border-bottom         : none;
    border-left           : 1px solid transparent;
  }
  
.treecell-header:hover:active > .treecell-header-box,
.treecell-inset-header:hover:active > .treecell-header-box
  {
    padding               : 1px 4px 0px 5px;
  }
  
.treecell-header-image:hover:active > .treecell-header-image-box
  {
    padding               : 1px 1px 0px 2px;
  }

.treecell-image 
  {
    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 1px 1px 3px;
  }

.treecell-header-sidebarpanel > .treecell-header-box
  {
    border                : none !important;
    border-right          : 1px solid ThreeDFace !important;
  }
 
/** class="propertylist" ******************************************
 *  class for cells in grid-formatted property lists.
 **/
 
treecell.propertylist 
  {
    border-right          : 1px solid ThreeDFace;
    border-bottom         : 1px solid ThreeDFace;
    padding-left          : 5px;
  }

.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[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 */

.tree-header-sortdirection 
  {
    list-style-image      : none;
  }

.sortDirectionIndicator[sortDirection="ascending"]  > .treecell-header-box > .tree-header-sortdirection 
  {
    list-style-image      : url("chrome://global/skin/sortAscending.gif");
  }

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

/* column selection popup menu icon */

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

.inline-edit-cell-box
  {
    margin-left           : 2px;
  }

/* Inline Editable Treecells */
.textfield-inline-edit 
  {
    border                : 1px solid WindowFrame !important;
    margin                : 0px !important;
  }

.textfield-inline-edit > .textfield-internal-box > .textfield-input 
  {
    border                : 0px !important;
    padding               : 1px !important;
    margin                : 0px !important;
  }

.textfield-inline-edit > .textfield-internal-box 
  {
    border                : 0px !important;
    padding               : 0px !important;
    margin                : 0px !important;
  }

treerow[mode="inline-edit"] 
  {
    background-color      : none;
  }

  