105751 - splitter should set orient attribute on itself based on parent orientation, r=jag, sr=hyatt

This commit is contained in:
hewitt%netscape.com 2001-10-26 00:09:12 +00:00
Родитель 60a1909f1a
Коммит 257b6413cc
10 изменённых файлов: 49 добавлений и 87 удалений

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

@ -187,8 +187,6 @@
<splitter id="helpsidebar-splitter"
collapse="before"
persist="state hidden"
autostretch="never"
orient="vertical"
state="open">
<grippy/>
</splitter>

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

@ -33,7 +33,7 @@
<domi:panel id="bxDocPanel" title="&bxDocPanel.title;"
flex="1" persist="width"/>
<splitter id="splPanels" orient="vertical"/>
<splitter id="splPanels"/>
<domi:panel id="bxObjectPanel" title="&bxObjectPanel.title;" linkedpanel="bxDocPanel"
flex="1" persist="width"/>

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

@ -59,7 +59,7 @@
<outlinerbody id="olbStyleRules" flex="1"/>
</outliner>
<splitter orient="horizontal" collapse="after">
<splitter collapse="after">
<grippy/>
</splitter>

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

@ -357,8 +357,7 @@
</vbox> <!-- user-list-box -->
<splitter id="main-splitter" orient="vertical" collapse="before"
persist="collapsed left">
<splitter id="main-splitter" collapse="before" persist="collapsed left">
<grippy/>
</splitter>
@ -387,8 +386,7 @@
</vbox> <!-- upper-box -->
<splitter id="input-splitter" orient="vertical" collapse="after"
collapsed="true"/>
<splitter id="input-splitter" collapse="after" collapsed="true"/>
<vbox id="input-widgets">
<textbox id="multiline-input" multiline="true" flex="1" height="100px"

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

@ -339,6 +339,25 @@ nsSplitterFrame::Init(nsIPresContext* aPresContext,
else */
realTimeDrag = 1;
// determine orientation of parent, and if vertical, set orient to vertical
// on splitter content, then re-resolve style
nsIBox* boxParent;
if (aParent)
CallQueryInterface(aParent, &boxParent);
if (boxParent) {
PRBool isHorizontal;
boxParent->GetOrientation(isHorizontal);
if (!isHorizontal) {
nsAutoString str;
aContent->GetAttr(kNameSpaceID_None, nsXULAtoms::orient, str);
if (str.IsEmpty()) {
aContent->SetAttr(kNameSpaceID_None, nsXULAtoms::orient,
NS_LITERAL_STRING("vertical"), PR_FALSE);
aPresContext->ResolveStyleContextFor(aContent, aContext->GetParent(), PR_FALSE, &aContext);
}
}
}
nsresult rv = nsBoxFrame::Init(aPresContext, aContent, aParent, aContext, aPrevInFlow);
// XXX Hack because we need the pres context in some of the event handling functions...

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

@ -48,7 +48,7 @@ splitter:hover:active
}
/* vertical splitters */
window > splitter, box, hbox > splitter
splitter
{
width : 6px;
}
@ -56,10 +56,7 @@ splitter:hover:active
/* horizontal splitters */
/* XXX 'align' support removed to force people to migrate
to 'orient' */
rows > splitter,
window[orient="vertical"] > splitter,
box[orient="vertical"] > splitter,
vbox > splitter
splitter[orient="vertical"]
{
cursor : n-resize;
border-right : 0px;
@ -70,19 +67,13 @@ splitter:hover:active
/**** NOTE *****/
/* The images below are correct, even though their names are switched. */
window[orient="vertical"] > splitter > grippy,
window[orient="vertical"] > splitter > grippy[collapse="before"],
vbox > splitter > grippy,
vbox > splitter > grippy[collapse="before"],
box[orient="vertical"] > splitter > grippy,
box[orient="vertical"] > splitter > grippy[collapse="before"]
splitter[orient="vertical"] > grippy,
splitter[orient="vertical"] > grippy[collapse="before"]
{
list-style-image : url("chrome://global/skin/grippy-vertical-after.gif");
}
window[orient="vertical"] > splitter[state="collapsed"] > grippy,
vbox > splitter[state="collapsed"] > grippy,
box[orient="vertical"] > splitter[state="collapsed"] > grippy
splitter[state="collapsed"][orient="vertical"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-vertical-before.gif");
}

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

@ -55,9 +55,7 @@
cursor : n-resize;
}
window[orient="vertical"] > splitter,
box[orient="vertical"] > splitter,
vbox > splitter
splitter[orient="vertical"]
{
cursor : n-resize;
border-top : 1px solid ThreeDHighlight;
@ -65,50 +63,37 @@
/* Grippy alignment */
/* Vertical splitter (between two boxes, horizontally stacked), collapse to left */
window > splitter > grippy,
box > splitter > grippy,
hbox > splitter > grippy
splitter > grippy
{
list-style-image : url("chrome://global/skin/grippy-horizontal-before.gif");
border-left : none;
border-right : none;
}
window > splitter > grippy > .grippy-box,
box > splitter > grippy > .grippy-box,
hbox > splitter > grippy > .grippy-box
splitter > grippy > .grippy-box
{
border-left : none;
border-right : none;
}
window > splitter[state="collapsed"] > grippy,
box > splitter[state="collapsed"] > grippy,
hbox > splitter[state="collapsed"] > grippy
splitter[state="collapsed"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-horizontal-after.gif");
}
/* Vertical splitter (between two boxes, horizontally stacked), collapse to right */
window > splitter[collapse="after"] > grippy,
box > splitter[collapse="after"] > grippy,
hbox > splitter[collapse="after"] > grippy
splitter[collapse="after"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-horizontal-after.gif");
}
window > splitter[collapse="after"][state="collapsed"] > grippy,
box > splitter[collapse="after"][state="collapsed"] > grippy,
hbox > splitter[collapse="after"][state="collapsed"]> grippy
splitter[collapse="after"][state="collapsed"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-horizontal-before.gif");
}
/* Horizontal splitter (between two boxes, vertically stacked), collapse to left */
window[orient="vertical"] > splitter > grippy,
box[orient="vertical"] > splitter > grippy,
vbox > splitter > grippy
splitter[orient="vertical"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-vertical-before.gif");
border-left : 1px solid ThreeDShadow;
@ -117,9 +102,7 @@
border-bottom : none;
}
window[orient="vertical"] > splitter > grippy > .grippy-box,
box[orient="vertical"] > splitter > grippy > .grippy-box,
vbox > splitter > grippy > .grippy-box
splitter[orient="vertical"] > grippy > .grippy-box
{
border-left : 1px solid ThreeDHighlight;
border-right : 1px solid ThreeDShadow;
@ -127,24 +110,18 @@
border-bottom : none;
}
window[orient="vertical"] > splitter[state="collapsed"] > grippy,
box[orient="vertical"] > splitter[state="collapsed"] > grippy,
vbox > splitter[state="collapsed"] > grippy
splitter[state="collapsed"][orient="vertical"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-vertical-after.gif");
}
/* Horizontal splitter (between two boxes, vertically stacked), collapse to right */
window[orient="vertical"] > splitter[collapse="after"] > grippy,
box[orient="vertical"] > splitter[collapse="after"] > grippy,
vbox > splitter[collapse="after"] > grippy
splitter[collapse="after"][orient="vertical"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-vertical-after.gif");
}
window[orient="vertical"] > splitter[collapse="after"][state="collapsed"] > grippy,
box[orient="vertical"] > splitter[collapse="after"][state="collapsed"] > grippy,
vbox > splitter[collapse="after"][state="collapsed"] > grippy
splitter[collapse="after"][state="collapsed"][orient="vertical"] > grippy
{
list-style-image : url("chrome://global/skin/grippy-vertical-before.gif");
}

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

@ -47,10 +47,7 @@ splitter {
/* ::::: splitter (horizontal) ::::: */
rows > splitter,
window[orient="vertical"] > splitter,
vbox > splitter,
box[orient="vertical"] > splitter {
splitter[orient="vertical"] {
cursor: n-resize;
border-top: 1px solid #000000;
border-right: none;
@ -59,10 +56,7 @@ box[orient="vertical"] > splitter {
min-width: 1px;
}
rows > splitter > .splitter-internal-box,
window[orient="vertical"] > splitter > .splitter-internal-box,
vbox > splitter > .splitter-internal-box,
box[orient="vertical"] > splitter > .splitter-internal-box {
splitter[orient="vertical"] > .splitter-internal-box {
min-height: 5px;
}
@ -79,9 +73,7 @@ grippy {
background-position: 50% 50%;
}
window[orient="vertical"] > splitter > grippy,
vbox > splitter > grippy,
box[orient="vertical"] > splitter > grippy {
splitter[orient="vertical"] > grippy {
width: 64px;
height: 5px;
}
@ -98,15 +90,11 @@ splitter[collapse="after"] > grippy {
}
/* horizontal grippies */
window[orient="vertical"] > splitter[collapse="before"] > grippy,
vbox > splitter[collapse="before"] > grippy,
box[orient="vertical"] > splitter[collapse="before"] > grippy {
splitter[collapse="before"][orient="vertical"] > grippy {
background-image: url("chrome://global/skin/splitter/grip-hrz-before.gif");
}
window[orient="vertical"] > splitter[collapse="after"] > grippy,
vbox > splitter[collapse="after"] > grippy,
box[orient="vertical"] > splitter[collapse="after"] > grippy {
splitter[collapse="after"][orient="vertical"] > grippy {
background-image: url("chrome://global/skin/splitter/grip-hrz-after.gif");
}
@ -122,15 +110,11 @@ splitter[collapse="after"] > grippy:hover:active {
}
/* horizontal grippies */
window[orient="vertical"] > splitter[collapse="before"] > grippy:hover:active,
vbox > splitter[collapse="before"] > grippy:hover:active,
box[orient="vertical"] > splitter[collapse="before"] > grippy:hover:active {
splitter[collapse="before"][orient="vertical"] > grippy:hover:active {
background-image: url("chrome://global/skin/splitter/grip-hrz-act.gif");
}
window[orient="vertical"] > splitter[collapse="after"] > grippy:hover:active,
vbox > splitter[collapse="after"] > grippy:hover:active,
box[orient="vertical"] > splitter[collapse="after"] > grippy:hover:active {
splitter[collapse="after"][orient="vertical"] > grippy:hover:active {
background-image: url("chrome://global/skin/splitter/grip-hrz-act.gif");
}
@ -146,15 +130,11 @@ splitter[collapse="after"][state="collapsed"] > grippy {
}
/* horizontal grippies */
window[orient="vertical"] > splitter[collapse="before"][state="collapsed"] > grippy,
vbox > splitter[collapse="before"][state="collapsed"] > grippy,
box[orient="vertical"] > splitter[collapse="before"][state="collapsed"] > grippy {
splitter[collapse="before"][state="collapsed"][orient="vertical"] > grippy {
background-image: url("chrome://global/skin/splitter/grip-hrz-after.gif");
}
window[orient="vertical"] > splitter[collapse="after"][state="collapsed"] > grippy,
vbox > splitter[collapse="after"][state="collapsed"] > grippy,
box[orient="vertical"] > splitter[collapse="after"][state="collapsed"] > grippy {
splitter[collapse="after"][state="collapsed"][orient="vertical"] > grippy {
background-image: url("chrome://global/skin/splitter/grip-hrz-before.gif");
}

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

@ -156,7 +156,7 @@
</tree>
<splitter id="results-splitter" persist="state" collapse="after" orient="vertical">
<splitter id="results-splitter" persist="state" collapse="after">
<grippy/>
</splitter>
<hbox class="double-box-top" flex="1">

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

@ -163,7 +163,6 @@
<!-- Splitter on the right of sidebar -->
<splitter id="sidebar-splitter" collapse="before" persist="state hidden"
class="chromeclass-extrachrome sidebar-splitter" align="center"
orient="vertical"
onmouseup="SidebarFinishClick();">
<grippy class="sidebar-splitter-grippy"
onclick="SidebarCleanUpExpandCollapse();"/>