Horizontal tree scrolling XBL/CSS cleanup b=308490 r=varga sr=bz

This commit is contained in:
neil%parkwaycc.co.uk 2005-10-09 23:42:28 +00:00
Родитель cafe8bed39
Коммит 6ed92b441f
11 изменённых файлов: 51 добавлений и 342 удалений

Просмотреть файл

@ -55,7 +55,9 @@ scrollbar {
/* ::::: square at the corner of two scrollbars ::::: */
scrollcorner {
/* XXX -moz-appearance: scrollcorner; */
-moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
width: 16px;
cursor: default;
background-color: white;
}

Просмотреть файл

@ -132,7 +132,9 @@ scrollbarbutton:hover:active {
/* ::::: square at the corner of two scrollbars ::::: */
scrollcorner {
/* XXX -moz-appearance: scrollcorner; */
-moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar-base");
width: 16px;
cursor: default;
background-color: -moz-Dialog;
}

Просмотреть файл

@ -108,7 +108,9 @@ scrollbarbutton:hover:active {
/* ::::: square at the corner of two scrollbars ::::: */
scrollcorner {
/* XXX -moz-appearance: scrollcorner; */
-moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar-base");
width: 16px;
cursor: default;
background-color: -moz-Dialog;
}

Просмотреть файл

@ -120,6 +120,7 @@ scrollbarbutton:hover:active {
scrollcorner {
-moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar-base");
width: 15px;
cursor: default;
background-color: #B1BBC5;
}

Просмотреть файл

@ -27,14 +27,14 @@
</binding>
<binding id="tree" extends="chrome://global/content/bindings/tree.xml#tree-base">
<content>
<content hidevscroll="true" hidehscroll="true">
<children includes="treecols"/>
<xul:treerows class="tree-rows" flex="1">
<xul:treerows class="tree-rows" flex="1" xbl:inherits="hidevscroll">
<children/>
</xul:treerows>
<xul:hbox>
<xul:scrollbar orient="horizontal" class="tree-scrollbar-horizontal" flex="1"/>
<xul:spacer class="tree-scrollbar-spacer"/>
<xul:hbox xbl:inherits="collapsed=hidehscroll">
<xul:scrollbar orient="horizontal" flex="1" increment="16"/>
<xul:scrollcorner xbl:inherits="collapsed=hidevscroll"/>
</xul:hbox>
</content>
@ -582,47 +582,30 @@
<xul:hbox flex="1" class="tree-bodybox">
<children/>
</xul:hbox>
<xul:scrollbar height="0" minwidth="0" minheight="0" orient="vertical" class="tree-scrollbar"/>
<xul:scrollbar height="0" minwidth="0" minheight="0" orient="vertical" xbl:inherits="collapsed=hidevscroll"/>
</content>
<handlers>
<handler event="underflow">
<![CDATA[
// Scrollport event orientation
// 0: vertical
// 1: horizontal
// 2: both
var parent = this.parentNode;
while(parent && parent.localName != "tree")
parent = parent.parentNode;
if (parent) {
if (event.detail == 1 || event.detail == 2)
parent.removeAttribute("show-hscroll");
if (event.detail == 0 || event.detail == 2)
parent.removeAttribute("show-vscroll");
}
// 2: both (not used)
var tree = document.getBindingParent(this);
if (event.detail == 1)
tree.setAttribute("hidehscroll", "true");
else if (event.detail == 0)
tree.setAttribute("hidevscroll", "true");
event.preventBubble();
]]>
</handler>
<handler event="overflow">
<![CDATA[
var parent = this.parentNode;
while(parent && parent.localName != "tree")
parent = parent.parentNode;
if (parent) {
if (event.detail == 1 || event.detail == 2)
parent.setAttribute("show-hscroll", "true");
if (event.detail == 0 || event.detail == 2)
parent.setAttribute("show-vscroll", "true");
}
var tree = document.getBindingParent(this);
if (event.detail == 1)
tree.removeAttribute("hidehscroll");
else if (event.detail == 0)
tree.removeAttribute("hidevscroll");
event.preventBubble();
]]>
</handler>

Просмотреть файл

@ -567,28 +567,9 @@ treecol[hidden="true"] {
display: -moz-box;
}
treecols .tree-scrollable-columns {
/* Yes, Virginia, this makes it scrollable */
overflow: hidden;
}
tree .tree-scrollbar,
tree .tree-scrollbar-horizontal,
tree .tree-scrollbar-spacer {
visibility: collapse;
}
tree[show-vscroll="true"] .tree-scrollbar,
tree[show-hscroll="true"] .tree-scrollbar-horizontal {
visibility: visible;
}
/* XXX: The size below needs to find it's way into themes */
tree[show-hscroll="true"][show-vscroll="true"] .tree-scrollbar-spacer {
min-width: 16px;
visibility: visible;
background-color: ThreeDFace;
.tree-scrollable-columns {
/* Yes, Virginia, this makes it scrollable */
overflow: hidden;
}
/********** deck & stack *********/

Просмотреть файл

@ -56,7 +56,9 @@ scrollbar {
/* ::::: square at the corner of two scrollbars ::::: */
scrollcorner {
/* XXX -moz-appearance: scrollcorner; */
-moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
width: 16px;
cursor: default;
background-color: white;
}

Просмотреть файл

@ -1,230 +0,0 @@
/* ***** 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 Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998-2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Joe Hewitt (hewitt@netscape.com)
*
* 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 ***** */
/* ===== scrollbars.css =================================================
== Styles used by XUL scrollbar-related elements.
======================================================================= */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
/* ::::: scrollbar ::::: */
scrollbar {
-moz-appearance: scrollbartrack-horizontal;
-moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
cursor: default;
background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
}
scrollbar[orient="vertical"]
{
-moz-appearance: scrollbartrack-vertical;
}
/* ::::: borders for thumb and buttons ::::: */
thumb,
scrollbarbutton {
border: 2px solid;
-moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
-moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
-moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
background-color: -moz-Dialog;
}
/* ::::: thumb (horizontal) ::::: */
thumb {
-moz-appearance: scrollbarthumb-vertical;
min-height: 8px;
}
thumb[orient="horizontal"] {
-moz-appearance: scrollbarthumb-horizontal;
min-width: 8px;
}
thumb > gripper {
-moz-appearance: scrollbargripper-vertical;
}
thumb[orient="horizontal"] > gripper {
-moz-appearance: scrollbargripper-horizontal;
}
/* ::::: scrollbar button ::::: */
scrollbarbutton {
background: -moz-Dialog no-repeat 0px 1px;
min-width: 16px;
min-height: 16px;
}
scrollbarbutton:hover:active {
-moz-border-top-colors: ThreeDShadow -moz-Dialog;
-moz-border-right-colors: ThreeDShadow -moz-Dialog;
-moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
-moz-border-left-colors: ThreeDShadow -moz-Dialog;
background-position: 1px 2px;
}
/* ::::: square at the corner of two scrollbars ::::: */
scrollcorner {
-moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
cursor: default;
background-color: -moz-Dialog;
}
/* ..... increment .... */
scrollbarbutton[type="increment"] {
-moz-appearance: scrollbarbutton-right;
background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
}
scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-moz-appearance: scrollbarbutton-down;
background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
}
/* ..... decrement .... */
scrollbarbutton[type="decrement"] {
-moz-appearance: scrollbarbutton-left;
background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
}
scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-moz-appearance: scrollbarbutton-up;
background-image: url("chrome://global/skin/arrow/arrow-up.gif")
}
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
@media print {
/* ::::: scrollbar ::::: */
html|div scrollbar {
-moz-appearance: scrollbartrack-horizontal;
-moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
cursor: default;
background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
}
html|div scrollbar[orient="vertical"]
{
-moz-appearance: scrollbartrack-vertical;
}
/* ::::: borders for thumb and buttons ::::: */
html|div thumb,
html|div scrollbarbutton {
border: 2px solid;
-moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
-moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
-moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
background-color: -moz-Dialog;
}
/* ::::: thumb (horizontal) ::::: */
html|div thumb {
-moz-appearance: scrollbarthumb-vertical;
min-height: 8px;
}
html|div thumb[orient="horizontal"] {
-moz-appearance: scrollbarthumb-horizontal;
min-width: 8px;
}
html|div thumb > gripper {
-moz-appearance: scrollbargripper-vertical;
}
html|div thumb[orient="horizontal"] > gripper {
-moz-appearance: scrollbargripper-horizontal;
}
/* ::::: scrollbar button ::::: */
html|div scrollbarbutton {
background: -moz-Dialog no-repeat 0px 1px;
min-width: 16px;
min-height: 16px;
}
html|div scrollbarbutton:hover:active {
-moz-border-top-colors: ThreeDShadow -moz-Dialog;
-moz-border-right-colors: ThreeDShadow -moz-Dialog;
-moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
-moz-border-left-colors: ThreeDShadow -moz-Dialog;
background-position: 1px 2px;
}
/* ..... increment .... */
html|div scrollbarbutton[type="increment"] {
-moz-appearance: scrollbarbutton-right;
background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
}
html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
-moz-appearance: scrollbarbutton-down;
background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
}
/* ..... decrement .... */
html|div scrollbarbutton[type="decrement"] {
-moz-appearance: scrollbarbutton-left;
background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
}
html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
-moz-appearance: scrollbarbutton-up;
background-image: url("chrome://global/skin/arrow/arrow-up.gif")
}
}

Просмотреть файл

@ -108,7 +108,9 @@ scrollbarbutton:hover:active {
/* ::::: square at the corner of two scrollbars ::::: */
scrollcorner {
/* XXX -moz-appearance: scrollcorner; */
-moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
width: 16px;
cursor: default;
background-color: -moz-Dialog;
}

Просмотреть файл

@ -14,14 +14,14 @@
</binding>
<binding id="tree" extends="chrome://global/content/bindings/tree.xml#tree-base">
<content>
<content hidevscroll="true" hidehscroll="true">
<children includes="treecols"/>
<xul:treerows class="tree-rows" flex="1">
<xul:treerows class="tree-rows" flex="1" xbl:inherits="hidevscroll">
<children/>
</xul:treerows>
<xul:hbox>
<xul:scrollbar orient="horizontal" class="tree-scrollbar-horizontal" flex="1"/>
<xul:spacer class="tree-scrollbar-spacer"/>
<xul:hbox xbl:inherits="collapsed=hidehscroll">
<xul:scrollbar orient="horizontal" flex="1" increment="16"/>
<xul:scrollcorner xbl:inherits="collapsed=hidevscroll"/>
</xul:hbox>
</content>
@ -554,47 +554,30 @@
<xul:hbox flex="1" class="tree-bodybox">
<children/>
</xul:hbox>
<xul:scrollbar height="0" minwidth="0" minheight="0" orient="vertical" class="tree-scrollbar"/>
<xul:scrollbar height="0" minwidth="0" minheight="0" orient="vertical" xbl:inherits="collapsed=hidevscroll"/>
</content>
<handlers>
<handler event="underflow">
<![CDATA[
// Scrollport event orientation
// 0: vertical
// 1: horizontal
// 2: both
var parent = this.parentNode;
while(parent && parent.localName != "tree")
parent = parent.parentNode;
if (parent) {
if (event.detail == 1 || event.detail == 2)
parent.removeAttribute("show-hscroll");
if (event.detail == 0 || event.detail == 2)
parent.removeAttribute("show-vscroll");
}
// 2: both (not used)
var tree = document.getBindingParent(this);
if (event.detail == 1)
tree.setAttribute("hidehscroll", "true");
else if (event.detail == 0)
tree.setAttribute("hidevscroll", "true");
event.preventBubble();
]]>
</handler>
<handler event="overflow">
<![CDATA[
var parent = this.parentNode;
while(parent && parent.localName != "tree")
parent = parent.parentNode;
if (parent) {
if (event.detail == 1 || event.detail == 2)
parent.setAttribute("show-hscroll", "true");
if (event.detail == 0 || event.detail == 2)
parent.setAttribute("show-vscroll", "true");
}
var tree = document.getBindingParent(this);
if (event.detail == 1)
tree.removeAttribute("hidehscroll");
else if (event.detail == 0)
tree.removeAttribute("hidevscroll");
event.preventBubble();
]]>
</handler>

Просмотреть файл

@ -526,28 +526,9 @@ treecol[hidden="true"] {
display: -moz-box;
}
treecols .tree-scrollable-columns {
/* Yes, Virginia, this makes it scrollable */
overflow: hidden;
}
tree .tree-scrollbar,
tree .tree-scrollbar-horizontal,
tree .tree-scrollbar-spacer {
visibility: collapse;
}
tree[show-vscroll="true"] .tree-scrollbar,
tree[show-hscroll="true"] .tree-scrollbar-horizontal {
visibility: visible;
}
/* XXX: The size below needs to find it's way into themes */
tree[show-hscroll="true"][show-vscroll="true"] .tree-scrollbar-spacer {
min-width: 16px;
visibility: visible;
background-color: ThreeDFace;
.tree-scrollable-columns {
/* Yes, Virginia, this makes it scrollable */
overflow: hidden;
}
/********** deck & stack *********/