зеркало из https://github.com/mozilla/pjs.git
Horizontal tree scrolling XBL/CSS cleanup b=308490 r=varga sr=bz
This commit is contained in:
Родитель
cafe8bed39
Коммит
6ed92b441f
|
@ -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 *********/
|
||||
|
|
Загрузка…
Ссылка в новой задаче