hrev52718 adds 1 changeset to branch 'master'
old head: 54333f517292a8128c6c0b6c2912fdda5570e327
new head: ae09eb30c504a822368fc8a57c3020aefa674034
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=ae09eb30c504+%5E54333f517292
----------------------------------------------------------------------------
ae09eb30c504: FlattenPictureTest: aestethic changes.
Add a header with the columns description. Style fixes
Change-Id: I14b66dd1c9cfff13ad8ba3ff1907dcb0696593f8
[ JackBurton79 <stefano.ceccherini@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev52718
Commit: ae09eb30c504a822368fc8a57c3020aefa674034
URL: https://git.haiku-os.org/haiku/commit/?id=ae09eb30c504
Author: JackBurton79 <stefano.ceccherini@xxxxxxxxx>
Date: Sun Jan 6 21:26:04 2019 UTC
----------------------------------------------------------------------------
3 files changed, 114 insertions(+), 20 deletions(-)
.../flatten_picture/PictureTestWindow.cpp | 15 ++-
.../interface/flatten_picture/TestResultItem.cpp | 104 ++++++++++++++++---
.../interface/flatten_picture/TestResultItem.h | 15 +++
----------------------------------------------------------------------------
diff --git a/src/tests/kits/interface/flatten_picture/PictureTestWindow.cpp
b/src/tests/kits/interface/flatten_picture/PictureTestWindow.cpp
index 772bbc3bcd..350026952d 100644
--- a/src/tests/kits/interface/flatten_picture/PictureTestWindow.cpp
+++ b/src/tests/kits/interface/flatten_picture/PictureTestWindow.cpp
@@ -21,6 +21,7 @@
#include "PictureTestWindow.h"
#include "TestResultItem.h"
+
PictureTestWindow::PictureTestWindow()
: Inherited(BRect(10, 30, 630, 470), "Bitmap Drawing Tests",
B_DOCUMENT_WINDOW, 0)
, fFailedTests(0)
@@ -61,7 +62,7 @@ void PictureTestWindow::BuildGUI()
BRect b = Bounds();
b.top = mb->Bounds().bottom + 1;
-
+
fHeader = new BStringView(b, "header",
"X", B_FOLLOW_LEFT | B_FOLLOW_RIGHT | B_FOLLOW_TOP);
float width, height;
@@ -69,7 +70,7 @@ void PictureTestWindow::BuildGUI()
fHeader->ResizeTo(b.Width(), height);
backdrop->AddChild(fHeader);
b.top = fHeader->Frame().bottom + 1;
-
+
b.right -= B_V_SCROLL_BAR_WIDTH;
b.bottom -= B_H_SCROLL_BAR_HEIGHT;
fListView = new BListView(b, "Results", B_SINGLE_SELECTION_LIST,
@@ -83,8 +84,8 @@ void PictureTestWindow::BuildGUI()
void
PictureTestWindow::UpdateHeader()
{
- BString text("Direct Drawing, Picture Drawing, Restored Picture
Drawing, Test Name, Error Message");
- text << " (failures = " << fFailedTests << ", tests =" <<
fNumberOfTests << ")";
+ BString text;
+ text << "failures = " << fFailedTests << ", tests =" << fNumberOfTests;
fHeader->SetText(text.String());
}
@@ -144,7 +145,7 @@ PictureTestWindow::RunTests(color_space *colorSpaces, int32
n)
fListView->AddItem(new BStringItem(text.String()));
RunTests(testIndex, colorSpaces, n);
}
-
+
UpdateHeader();
}
@@ -179,6 +180,10 @@ PictureTestWindow::RunTests(int32 testIndex, color_space
*colorSpaces, int32 n)
text += csText;
fListView->AddItem(new BStringItem(text.String()));
+ BRect frame(0, 0, 100, 30);
+ fListView->AddItem(new HeaderListItem("Direct Drawing",
"Picture Drawing",
+ "Restored Picture", "", "Test
Name", "Error Message", frame));
+
RunTests(testIndex, colorSpace);
}
}
diff --git a/src/tests/kits/interface/flatten_picture/TestResultItem.cpp
b/src/tests/kits/interface/flatten_picture/TestResultItem.cpp
index de12cb65f1..539bacb91f 100644
--- a/src/tests/kits/interface/flatten_picture/TestResultItem.cpp
+++ b/src/tests/kits/interface/flatten_picture/TestResultItem.cpp
@@ -8,7 +8,7 @@
#include "TestResultItem.h"
-const float distance = 5;
+const float kDistance = 5;
TestResultItem::TestResultItem(const char* name, BRect bitmapSize)
: fName(name)
@@ -39,12 +39,10 @@ TestResultItem::DrawItem(BView *owner, BRect itemRect, bool
drawEverthing)
if (IsSelected()) {
rgb_color lowColor = owner->LowColor();
owner->SetHighColor(tint_color(lowColor, B_DARKEN_2_TINT));
- }
- else if (fOk) {
+ } else if (fOk) {
// green background color on success
owner->SetHighColor(200, 255, 200);
- }
- else {
+ } else {
// red background color on failure
owner->SetHighColor(255, 200, 200);
}
@@ -57,23 +55,23 @@ TestResultItem::DrawItem(BView *owner, BRect itemRect, bool
drawEverthing)
if (fDirectBitmap != NULL) {
owner->DrawBitmap(fDirectBitmap);
}
- owner->MovePenBy(fBitmapSize.Width() + distance, 0);
+ owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
if (fOriginalBitmap != NULL) {
owner->DrawBitmap(fOriginalBitmap);
}
- owner->MovePenBy(fBitmapSize.Width() + distance, 0);
+ owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
if (fArchivedBitmap != NULL) {
owner->DrawBitmap(fArchivedBitmap);
}
- owner->MovePenBy(fBitmapSize.Width() + distance, 0);
+ owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
owner->DrawBitmap(fDirectBitmap);
owner->SetDrawingMode(B_OP_SUBTRACT);
owner->DrawBitmap(fOriginalBitmap);
- owner->MovePenBy(fBitmapSize.Width() + distance, 0);
+ owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
owner->SetDrawingMode(B_OP_OVER);
BFont font;
@@ -90,11 +88,12 @@ TestResultItem::DrawItem(BView *owner, BRect itemRect, bool
drawEverthing)
font.SetFace(B_ITALIC_FACE);
owner->SetFont(&font);
owner->SetHighColor(255, 0, 0);
- owner->MovePenBy(distance, 0);
+ owner->MovePenBy(kDistance, 0);
owner->DrawString(fErrorMessage.String());
owner->PopState();
}
+
void
TestResultItem::Update(BView *owner, const BFont *font)
{
@@ -103,18 +102,18 @@ TestResultItem::Update(BView *owner, const BFont *font)
float height = 0.0;
width += font->StringWidth(fName.String());
- width += distance;
+ width += kDistance;
width += font->StringWidth(fErrorMessage.String());
-
- width += 3 * distance;
+
+ width += 3 * kDistance;
width += 3 * fBitmapSize.Width();
height = fBitmapSize.Height();
-
+
// border of two pixels
width += 4;
height += 4;
-
+
if (width > Width())
SetWidth(width);
@@ -122,3 +121,78 @@ TestResultItem::Update(BView *owner, const BFont *font)
SetHeight(height);
}
+
+// HeaderListItem
+HeaderListItem::HeaderListItem(const char* label1, const char* label2,
+ const char* label3, const char* label4,
const char* label5,
+ const char* label6, BRect rect)
+ :
+ fRect(rect)
+{
+ fLabels[0] = label1;
+ fLabels[1] = label2;
+ fLabels[2] = label3;
+ fLabels[3] = label4;
+ fLabels[4] = label5;
+ fLabels[5] = label6;
+}
+
+
+/* virtual */
+void
+HeaderListItem::DrawItem(BView *owner, BRect itemRect, bool drawEverthing)
+{
+ owner->SetDrawingMode(B_OP_COPY);
+
+ owner->PushState();
+ if (IsSelected()) {
+ rgb_color lowColor = owner->LowColor();
+ owner->SetHighColor(tint_color(lowColor, B_DARKEN_2_TINT));
+ owner->FillRect(itemRect);
+ }
+
+ owner->PopState();
+
+ itemRect.InsetBy(0, 1);
+ owner->StrokeRect(itemRect);
+
+ itemRect.InsetBy(1, 0);
+
+ owner->SetDrawingMode(B_OP_OVER);
+
+ BFont font;
+ owner->GetFont(&font);
+ float baseLine = itemRect.top + (itemRect.IntegerHeight() / 2 +
font.Size() / 2);
+
+ for (int32 c = 0; c < sizeof(fLabels) / sizeof(fLabels[0]); c++) {
+ owner->MovePenTo(itemRect.left + 1 + (fRect.Width() +
kDistance) * c, baseLine);
+ owner->DrawString(fLabels[c]);
+ }
+}
+
+
+/* virtual */
+void
+HeaderListItem::Update(BView *owner, const BFont *font)
+{
+ BListItem::Update(owner, font);
+ float width = 0.0;
+ float height = 0.0;
+
+ for (int32 c = 0; c < sizeof(fLabels) / sizeof(fLabels[0]); c++) {
+ width += font->StringWidth(fLabels[c].String());
+ }
+
+ width += kDistance * (sizeof(fLabels) / sizeof(fLabels[0]) - 1);
+
+ height = fRect.Height();
+
+ // border of two pixels
+ width += 4;
+ height += 4;
+
+ if (width > Width())
+ SetWidth(width);
+ if (height > Height())
+ SetHeight(height);
+}
diff --git a/src/tests/kits/interface/flatten_picture/TestResultItem.h
b/src/tests/kits/interface/flatten_picture/TestResultItem.h
index 1da029323d..6561febcaf 100644
--- a/src/tests/kits/interface/flatten_picture/TestResultItem.h
+++ b/src/tests/kits/interface/flatten_picture/TestResultItem.h
@@ -39,4 +39,19 @@ private:
BBitmap *fArchivedBitmap;
};
+
+class HeaderListItem : public BListItem {
+public:
+ HeaderListItem(const char* label1, const char* label2,
+ const char* label3, const char* label4,
const char* label5,
+ const char* label6, BRect rect);
+ virtual void DrawItem(BView *owner, BRect itemRect, bool drawEverthing);
+ virtual void Update(BView *owner, const BFont *font);
+
+private:
+ BString fLabels[6];
+ BRect fRect;
+};
+
+
#endif