зеркало из https://github.com/mozilla/gecko-dev.git
Fixing 115750, support for tabpanels and tabs in WinXP, r=bryner, sr=blake
This commit is contained in:
Родитель
490fa68daf
Коммит
03e7fc057f
|
@ -440,6 +440,7 @@ CSS_KEY(progresschunk-vertical, progresschunk_vertical)
|
|||
CSS_KEY(tab, tab)
|
||||
CSS_KEY(tab-left-edge, tab_left_edge)
|
||||
CSS_KEY(tab-right-edge, tab_right_edge)
|
||||
CSS_KEY(tabpanels, tabpanels)
|
||||
CSS_KEY(tabpanel, tabpanel)
|
||||
CSS_KEY(tooltip, tooltip)
|
||||
CSS_KEY(spinner, spinner)
|
||||
|
|
|
@ -156,6 +156,7 @@ const PRInt32 nsCSSProps::kAppearanceKTable[] = {
|
|||
eCSSKeyword_tab, NS_THEME_TAB,
|
||||
eCSSKeyword_tab_left_edge, NS_THEME_TAB_LEFT_EDGE,
|
||||
eCSSKeyword_tab_right_edge, NS_THEME_TAB_RIGHT_EDGE,
|
||||
eCSSKeyword_tabpanels, NS_THEME_TAB_PANELS,
|
||||
eCSSKeyword_tabpanel, NS_THEME_TAB_PANEL,
|
||||
eCSSKeyword_tooltip, NS_THEME_TOOLTIP,
|
||||
eCSSKeyword_spinner, NS_THEME_SPINNER,
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
// A single tab in a tab widget.
|
||||
#define NS_THEME_TAB 61
|
||||
|
||||
// The tab panel
|
||||
// A single pane (inside the tabpanels container)
|
||||
#define NS_THEME_TAB_PANEL 62
|
||||
|
||||
// The tab just before the selection
|
||||
|
@ -95,6 +95,9 @@
|
|||
// The tab just after the selection
|
||||
#define NS_THEME_TAB_RIGHT_EDGE 64
|
||||
|
||||
// The tab panels container.
|
||||
#define NS_THEME_TAB_PANELS 65
|
||||
|
||||
// A tooltip
|
||||
#define NS_THEME_TOOLTIP 71
|
||||
|
||||
|
|
|
@ -89,11 +89,10 @@
|
|||
#define PP_CHUNKVERT 4
|
||||
|
||||
// Tab constants
|
||||
#define TABP_TAB_SELAFTER 2
|
||||
#define TABP_TAB_SELBEFORE 3
|
||||
#define TABP_TAB 4
|
||||
#define TABP_TAB_SELECTED 5
|
||||
#define TABP_TAB_PANE 9
|
||||
#define TABP_PANELS 9
|
||||
#define TABP_PANEL 10
|
||||
|
||||
// Tooltip constants
|
||||
#define TTP_STANDARD 1
|
||||
|
@ -220,7 +219,8 @@ nsNativeThemeWin::GetTheme(PRUint8 aWidgetType)
|
|||
case NS_THEME_TAB:
|
||||
case NS_THEME_TAB_LEFT_EDGE:
|
||||
case NS_THEME_TAB_RIGHT_EDGE:
|
||||
case NS_THEME_TAB_PANEL: {
|
||||
case NS_THEME_TAB_PANEL:
|
||||
case NS_THEME_TAB_PANELS: {
|
||||
if (!mTabTheme)
|
||||
mTabTheme = openTheme(NULL, L"Tab");
|
||||
return mTabTheme;
|
||||
|
@ -519,6 +519,16 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
|
|||
aState = TS_NORMAL;
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_TAB_PANELS: {
|
||||
aPart = TABP_PANELS;
|
||||
aState = TS_NORMAL;
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_TAB_PANEL: {
|
||||
aPart = TABP_PANEL;
|
||||
aState = TS_NORMAL;
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_TAB:
|
||||
case NS_THEME_TAB_LEFT_EDGE:
|
||||
case NS_THEME_TAB_RIGHT_EDGE: {
|
||||
|
@ -655,7 +665,7 @@ nsNativeThemeWin::GetWidgetBorder(nsIDeviceContext* aContext,
|
|||
|
||||
if (aWidgetType == NS_THEME_TOOLBOX || aWidgetType == NS_THEME_TOOLBAR ||
|
||||
aWidgetType == NS_THEME_STATUSBAR ||
|
||||
aWidgetType == NS_THEME_RESIZER)
|
||||
aWidgetType == NS_THEME_RESIZER || aWidgetType == NS_THEME_TAB_PANEL)
|
||||
return NS_OK; // Don't worry about it.
|
||||
|
||||
HANDLE theme = GetTheme(aWidgetType);
|
||||
|
@ -707,7 +717,8 @@ nsNativeThemeWin::GetMinimumWidgetSize(nsIRenderingContext* aContext, nsIFrame*
|
|||
|
||||
if (aWidgetType == NS_THEME_TOOLBOX || aWidgetType == NS_THEME_TOOLBAR ||
|
||||
aWidgetType == NS_THEME_STATUSBAR || aWidgetType == NS_THEME_PROGRESSBAR_CHUNK ||
|
||||
aWidgetType == NS_THEME_PROGRESSBAR_CHUNK_VERTICAL)
|
||||
aWidgetType == NS_THEME_PROGRESSBAR_CHUNK_VERTICAL ||
|
||||
aWidgetType == NS_THEME_TAB_PANELS || aWidgetType == NS_THEME_TAB_PANEL)
|
||||
return NS_OK; // Don't worry about it.
|
||||
|
||||
HANDLE theme = GetTheme(aWidgetType);
|
||||
|
@ -753,7 +764,9 @@ nsNativeThemeWin::WidgetStateChanged(nsIFrame* aFrame, PRUint8 aWidgetType,
|
|||
aWidgetType == NS_THEME_PROGRESSBAR_CHUNK_VERTICAL ||
|
||||
aWidgetType == NS_THEME_PROGRESSBAR ||
|
||||
aWidgetType == NS_THEME_PROGRESSBAR_VERTICAL ||
|
||||
aWidgetType == NS_THEME_TOOLTIP) {
|
||||
aWidgetType == NS_THEME_TOOLTIP ||
|
||||
aWidgetType == NS_THEME_TAB_PANELS ||
|
||||
aWidgetType == NS_THEME_TAB_PANEL) {
|
||||
*aShouldRepaint = PR_FALSE;
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -440,6 +440,7 @@ CSS_KEY(progresschunk-vertical, progresschunk_vertical)
|
|||
CSS_KEY(tab, tab)
|
||||
CSS_KEY(tab-left-edge, tab_left_edge)
|
||||
CSS_KEY(tab-right-edge, tab_right_edge)
|
||||
CSS_KEY(tabpanels, tabpanels)
|
||||
CSS_KEY(tabpanel, tabpanel)
|
||||
CSS_KEY(tooltip, tooltip)
|
||||
CSS_KEY(spinner, spinner)
|
||||
|
|
|
@ -156,6 +156,7 @@ const PRInt32 nsCSSProps::kAppearanceKTable[] = {
|
|||
eCSSKeyword_tab, NS_THEME_TAB,
|
||||
eCSSKeyword_tab_left_edge, NS_THEME_TAB_LEFT_EDGE,
|
||||
eCSSKeyword_tab_right_edge, NS_THEME_TAB_RIGHT_EDGE,
|
||||
eCSSKeyword_tabpanels, NS_THEME_TAB_PANELS,
|
||||
eCSSKeyword_tabpanel, NS_THEME_TAB_PANEL,
|
||||
eCSSKeyword_tooltip, NS_THEME_TOOLTIP,
|
||||
eCSSKeyword_spinner, NS_THEME_SPINNER,
|
||||
|
|
|
@ -7,6 +7,10 @@
|
|||
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
|
||||
}
|
||||
|
||||
tabpanels {
|
||||
-moz-appearance: none;
|
||||
}
|
||||
|
||||
.tabbrowser-tabs {
|
||||
padding-top: 1px;
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
/* ::::: tabpanels ::::: */
|
||||
|
||||
tabpanels {
|
||||
-moz-appearance: tabpanels;
|
||||
border-right: 2px solid;
|
||||
border-bottom: 2px solid;
|
||||
border-left: 2px solid;
|
||||
|
|
Загрузка…
Ссылка в новой задаче