Fix for 115743. r=pavlov, sr=bryner

This commit is contained in:
hyatt%netscape.com 2002-09-24 08:23:48 +00:00
Родитель c714394d5d
Коммит 7995076d76
6 изменённых файлов: 45 добавлений и 153 удалений

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

@ -161,6 +161,7 @@ nsNativeThemeWin::nsNativeThemeWin() {
mTabTheme = NULL;
mTreeViewTheme = NULL;
mComboBoxTheme = NULL;
mHeaderTheme = NULL;
mThemeDLL = ::LoadLibrary(kThemeLibraryName);
if (mThemeDLL) {
@ -284,11 +285,15 @@ nsNativeThemeWin::GetTheme(PRUint8 aWidgetType)
mComboBoxTheme = openTheme(NULL, L"Combobox");
return mComboBoxTheme;
}
case NS_THEME_TREEVIEW_HEADER_CELL:
case NS_THEME_TREEVIEW_HEADER_SORTARROW: {
if (!mHeaderTheme)
mHeaderTheme = openTheme(NULL, L"Header");
return mHeaderTheme;
}
case NS_THEME_LISTBOX:
case NS_THEME_LISTBOX_LISTITEM:
case NS_THEME_TREEVIEW:
case NS_THEME_TREEVIEW_HEADER:
case NS_THEME_TREEVIEW_HEADER_SORTARROW:
case NS_THEME_TREEVIEW_TWISTY_OPEN:
case NS_THEME_TREEVIEW_TREEITEM: {
if (!mTreeViewTheme)
@ -673,6 +678,31 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
return NS_OK;
}
case NS_THEME_TREEVIEW_HEADER_SORTARROW: {
// XXX Probably will never work due to a bug in the Luna theme.
aPart = 4;
aState = 1;
return NS_OK;
}
case NS_THEME_TREEVIEW_HEADER_CELL: {
aPart = 1;
if (!aFrame) {
aState = TS_NORMAL;
return NS_OK;
}
PRInt32 eventState = GetContentState(aFrame);
if (eventState & NS_EVENT_STATE_HOVER && eventState & NS_EVENT_STATE_ACTIVE)
aState = TS_ACTIVE;
else if (eventState & NS_EVENT_STATE_FOCUS)
aState = TS_FOCUSED;
else if (eventState & NS_EVENT_STATE_HOVER)
aState = TS_HOVER;
else
aState = TS_NORMAL;
return NS_OK;
}
case NS_THEME_DROPDOWN_BUTTON: {
aPart = CBP_DROPMARKER;
if (!aFrame) {
@ -858,11 +888,12 @@ nsNativeThemeWin::GetMinimumWidgetSize(nsIRenderingContext* aContext, nsIFrame*
// themes.
// In our app, we want these widgets to be able to really shrink down,
// so use the min-size request value (of 0).
SIZE sz;
getThemePartSize(theme, hdc, part, state, NULL, sizeReq, &sz);
aResult->width = sz.cx;
aResult->height = sz.cy;
return NS_OK;
}
@ -953,6 +984,10 @@ nsNativeThemeWin::CloseData()
closeTheme(mComboBoxTheme);
mComboBoxTheme = NULL;
}
if (mHeaderTheme) {
closeTheme(mHeaderTheme);
mHeaderTheme = NULL;
}
}
NS_IMETHODIMP

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

@ -85,6 +85,7 @@ private:
HANDLE mTabTheme;
HANDLE mTreeViewTheme;
HANDLE mComboBoxTheme;
HANDLE mHeaderTheme;
nsCOMPtr<nsIAtom> mCheckedAtom;
nsCOMPtr<nsIAtom> mInputAtom;

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

@ -39,6 +39,7 @@ listbox {
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
-moz-appearance: listbox;
}
/* ::::: listitem ::::: */
@ -68,6 +69,7 @@ listbox:focus > listitem[selected="true"] {
/* ::::: listheader ::::: */
listheader {
-moz-appearance: treeheadercell;
-moz-box-align: center;
border: 2px solid;
-moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;

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

@ -39,6 +39,7 @@ tree {
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
-moz-appearance: listbox;
}
/* ::::: tree rows ::::: */
@ -142,6 +143,7 @@ treechildren:-moz-tree-cell-text(progressmeter) {
treecol,
treecolpicker {
-moz-appearance: treeheadercell;
-moz-box-align: center;
-moz-box-pack: center;
border: 2px solid;

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

@ -1,150 +0,0 @@
/*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 Netscape are
* Copyright (C) 1998-2001 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Joe Hewitt (hewitt@netscape.com)
*/
/* ===== listbox.css =======================================================
== Styles used by XUL listbox-related elements.
======================================================================= */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: listbox ::::: */
listbox {
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
}
/* ::::: listitem ::::: */
listitem {
border: 1px solid transparent;
}
listbox:focus > listitem[selected="true"][current="true"] {
border: 1px dotted #F5DB95;
}
listitem[selected="true"] {
background-color: -moz-Dialog;
color: -moz-DialogText;
}
listbox:focus > listitem[selected="true"] {
background-color: Highlight;
color: HighlightText;
}
/* ::::: listheader ::::: */
listheader {
-moz-box-align: center;
border: 2px solid;
-moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
-moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
background-color: -moz-Dialog;
color: -moz-DialogText;
padding: 0 4px;
}
listheader[sortable="true"]:hover:active {
border-top: 2px solid;
border-right: 1px solid;
border-bottom: 1px solid;
border-left: 2px solid;
-moz-border-top-colors: ThreeDShadow -moz-Dialog;
-moz-border-right-colors: ThreeDShadow;
-moz-border-bottom-colors: ThreeDShadow;
-moz-border-left-colors: ThreeDShadow -moz-Dialog;
padding: 1px 4px 0 5px;
}
.listheader-icon {
margin-right: 2px;
}
.listheader-label {
margin: 0px !important;
}
/* ..... sort direction icon ..... */
.listheader-sortdirection {
list-style-image: none;
}
.listheader-sortdirection[sortDirection="ascending"] {
list-style-image: url("chrome://global/skin/tree/sort-asc.gif");
}
.listheader-sortdirection[sortDirection="descending"] {
list-style-image: url("chrome://global/skin/tree/sort-dsc.gif");
}
/* ::::: listcell ::::: */
.listcell-label {
margin: 0px !important;
padding: 0px 0px 1px 4px;
white-space: nowrap;
}
.listcell-icon {
margin-right: 2px;
}
.listcell-label[disabled="true"] {
color: GrayText;
}
/* ::::: listcell checkbox ::::: */
.listcell-check {
-moz-appearance: checkbox;
-moz-box-align: center;
margin: 0px 2px;
border: 1px solid -moz-DialogText;
min-width: 13px;
min-height: 13px;
background: -moz-Field no-repeat 50% 50%;
}
.listcell-check[checked="true"] {
background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
}
.listcell-check[disabled="true"] {
border-color: GrayText;
background-image: url("chrome://global/skin/checkbox/cbox-dis.gif");
}
.listcell-check[disabled="true"][checked="true"] {
background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif");
}

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

@ -38,6 +38,7 @@ tree {
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
-moz-appearance: listbox;
}
/* ::::: tree rows ::::: */
@ -137,6 +138,7 @@ treechildren:-moz-tree-cell-text(progressmeter) {
treecol,
treecolpicker {
-moz-appearance: treeheadercell;
-moz-box-align: center;
-moz-box-pack: center;
border: 2px solid;