зеркало из https://github.com/mozilla/gecko-dev.git
Added support for vertical dividers.
This commit is contained in:
Родитель
6d6a1940ba
Коммит
0dab208fd2
|
@ -76,13 +76,18 @@ void nsHTTreeItem::GetItemStyle(nsIDeviceContext* dc, nsTreeItemStyleInfo& style
|
||||||
styleInfo.showIcon = PR_TRUE;
|
styleInfo.showIcon = PR_TRUE;
|
||||||
styleInfo.leftJustifyTrigger = PR_FALSE;
|
styleInfo.leftJustifyTrigger = PR_FALSE;
|
||||||
|
|
||||||
|
styleInfo.showHorizontalDivider = PR_TRUE;
|
||||||
|
styleInfo.showVerticalDivider = PR_TRUE;
|
||||||
|
styleInfo.horizontalDividerColor = NS_RGB(255,255,255);
|
||||||
|
styleInfo.verticalDividerColor = NS_RGB(255,255,255);
|
||||||
|
|
||||||
if (styleInfo.showTrigger)
|
if (styleInfo.showTrigger)
|
||||||
styleInfo.pTriggerImage = GetTriggerImage();
|
styleInfo.pTriggerImage = GetTriggerImage();
|
||||||
|
|
||||||
if (styleInfo.showIcon)
|
if (styleInfo.showIcon)
|
||||||
styleInfo.pIconImage = GetIconImage();
|
styleInfo.pIconImage = GetIconImage();
|
||||||
|
|
||||||
styleInfo.pBackgroundImage = GetBackgroundImage();
|
styleInfo.pBackgroundImage = nsnull; //GetBackgroundImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
nsIImage* nsHTTreeItem::GetTriggerImage() const
|
nsIImage* nsHTTreeItem::GetTriggerImage() const
|
||||||
|
|
|
@ -710,8 +710,11 @@ void nsTreeView::PaintTreeRow(nsIRenderingContext* drawCtx, nsTreeItem* pItem, i
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw the horizontal divider
|
// Draw the horizontal divider
|
||||||
drawCtx->SetColor(styleInfo.horizontalDividerColor);
|
if (styleInfo.showHorizontalDivider)
|
||||||
drawCtx->DrawLine(0, yPosition-1, mColumnBarRect.width, yPosition-1);
|
{
|
||||||
|
drawCtx->SetColor(styleInfo.horizontalDividerColor);
|
||||||
|
drawCtx->DrawLine(0, yPosition-1, mColumnBarRect.width, yPosition-1);
|
||||||
|
}
|
||||||
|
|
||||||
// Set to foreground color.
|
// Set to foreground color.
|
||||||
drawCtx->SetColor(styleInfo.foregroundColor);
|
drawCtx->SetColor(styleInfo.foregroundColor);
|
||||||
|
@ -725,6 +728,8 @@ void nsTreeView::PaintTreeRow(nsIRenderingContext* drawCtx, nsTreeItem* pItem, i
|
||||||
nsTreeColumn* pColumn = mDataModel->GetNthColumn(n);
|
nsTreeColumn* pColumn = mDataModel->GetNthColumn(n);
|
||||||
if (pColumn)
|
if (pColumn)
|
||||||
{
|
{
|
||||||
|
drawCtx->SetColor(styleInfo.foregroundColor); // Will be sorting highlighting eventually
|
||||||
|
|
||||||
// Retrieve the column's current pixel width.
|
// Retrieve the column's current pixel width.
|
||||||
int pixelWidth = pColumn->GetPixelWidth();
|
int pixelWidth = pColumn->GetPixelWidth();
|
||||||
|
|
||||||
|
@ -767,6 +772,14 @@ void nsTreeView::PaintTreeRow(nsIRenderingContext* drawCtx, nsTreeItem* pItem, i
|
||||||
DrawCroppedString(drawCtx, nodeText, textRect);
|
DrawCroppedString(drawCtx, nodeText, textRect);
|
||||||
|
|
||||||
currentPosition += pixelWidth;
|
currentPosition += pixelWidth;
|
||||||
|
|
||||||
|
// Draw the vertical divider
|
||||||
|
if (styleInfo.showVerticalDivider)
|
||||||
|
{
|
||||||
|
drawCtx->SetColor(styleInfo.verticalDividerColor);
|
||||||
|
drawCtx->DrawLine(textStart+textRect.width + 1, lineRect.y,
|
||||||
|
textStart+textRect.width + 1, lineRect.y + lineRect.height);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче