* when selecting objects in the list view, the controls will adapt to the
object properties git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22364 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
21b4398f6a
commit
b1836934f8
@ -11,6 +11,7 @@ Application Playground :
|
|||||||
ObjectView.cpp
|
ObjectView.cpp
|
||||||
ObjectWindow.cpp
|
ObjectWindow.cpp
|
||||||
States.cpp
|
States.cpp
|
||||||
|
# StatusView.cpp
|
||||||
: be
|
: be
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -99,9 +99,21 @@ ObjectView::Draw(BRect updateRect)
|
|||||||
{
|
{
|
||||||
FillRect(updateRect, B_SOLID_LOW);
|
FillRect(updateRect, B_SOLID_LOW);
|
||||||
|
|
||||||
rgb_color noTint = ui_color(B_PANEL_BACKGROUND_COLOR);
|
// SetHighColor(0, 0, 0);
|
||||||
rgb_color shadow = tint_color(noTint, B_DARKEN_2_TINT);
|
// for (float i = 10; i < 200; i += 4.25) {
|
||||||
rgb_color light = tint_color(noTint, B_LIGHTEN_MAX_TINT);
|
// StrokeLine(BPoint(i, 10), BPoint(i, 200));
|
||||||
|
// StrokeLine(BPoint(10, i), BPoint(200, i));
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// SetHighColor(0, 0, 50);
|
||||||
|
// for (float i = 10; i < 200; i += 8.25) {
|
||||||
|
// FillRect(BRect(i, 10 + 230, i + 2, 200 + 230));
|
||||||
|
// FillRect(BRect(10, i + 230, 200, i + 2 + 230));
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// rgb_color noTint = ui_color(B_PANEL_BACKGROUND_COLOR);
|
||||||
|
// rgb_color shadow = tint_color(noTint, B_DARKEN_2_TINT);
|
||||||
|
// rgb_color light = tint_color(noTint, B_LIGHTEN_MAX_TINT);
|
||||||
|
|
||||||
BRect r(Bounds());
|
BRect r(Bounds());
|
||||||
|
|
||||||
@ -142,7 +154,7 @@ ObjectView::Draw(BRect updateRect)
|
|||||||
//printf("rendering %ld small rects (region: %ld): %lld\n", counter,
|
//printf("rendering %ld small rects (region: %ld): %lld\n", counter,
|
||||||
//region.CountRects(), system_time() - now);
|
//region.CountRects(), system_time() - now);
|
||||||
|
|
||||||
SetDrawingMode(B_OP_COPY);
|
SetDrawingMode(B_OP_OVER);
|
||||||
SetHighColor(255, 0, 0, 128);
|
SetHighColor(255, 0, 0, 128);
|
||||||
|
|
||||||
const char* message = "Click and drag to draw an object";
|
const char* message = "Click and drag to draw an object";
|
||||||
@ -154,6 +166,20 @@ ObjectView::Draw(BRect updateRect)
|
|||||||
//snooze(1000);
|
//snooze(1000);
|
||||||
//
|
//
|
||||||
//bigtime_t now = system_time();
|
//bigtime_t now = system_time();
|
||||||
|
//
|
||||||
|
//#ifdef __HAIKU__
|
||||||
|
// BFont font;
|
||||||
|
// GetFont(&font);
|
||||||
|
// font.SetFalseBoldWidth(1.0);
|
||||||
|
// SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
|
||||||
|
// SetHighColor(0, 0, 0);
|
||||||
|
// DrawString(message, p);
|
||||||
|
//
|
||||||
|
// font.SetFalseBoldWidth(0.0);
|
||||||
|
// SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
|
||||||
|
// SetHighColor(255, 0, 0);
|
||||||
|
//#endif // __HAIKU__
|
||||||
|
|
||||||
DrawString(message, p);
|
DrawString(message, p);
|
||||||
|
|
||||||
//Sync();
|
//Sync();
|
||||||
@ -275,6 +301,10 @@ void
|
|||||||
ObjectView::MouseMoved(BPoint where, uint32 transit,
|
ObjectView::MouseMoved(BPoint where, uint32 transit,
|
||||||
const BMessage* dragMessage)
|
const BMessage* dragMessage)
|
||||||
{
|
{
|
||||||
|
// BRect dirty(where, where);
|
||||||
|
// dirty.InsetBy(-10, -10);
|
||||||
|
// Invalidate(dirty);
|
||||||
|
|
||||||
if (dragMessage) {
|
if (dragMessage) {
|
||||||
//printf("ObjectView::MouseMoved(BPoint(%.1f, %.1f)) - DRAG MESSAGE\n", where.x, where.y);
|
//printf("ObjectView::MouseMoved(BPoint(%.1f, %.1f)) - DRAG MESSAGE\n", where.x, where.y);
|
||||||
//Window()->CurrentMessage()->PrintToStream();
|
//Window()->CurrentMessage()->PrintToStream();
|
||||||
@ -442,7 +472,7 @@ ObjectView::SetStateColor(rgb_color color)
|
|||||||
color.alpha != fColor.alpha) {
|
color.alpha != fColor.alpha) {
|
||||||
|
|
||||||
fColor = color;
|
fColor = color;
|
||||||
|
|
||||||
if (fState) {
|
if (fState) {
|
||||||
fState->SetColor(fColor);
|
fState->SetColor(fColor);
|
||||||
Invalidate(fState->Bounds());
|
Invalidate(fState->Bounds());
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
#include "ObjectView.h"
|
#include "ObjectView.h"
|
||||||
#include "States.h"
|
#include "States.h"
|
||||||
|
//#include "StatusView.h"
|
||||||
|
|
||||||
#include "ObjectWindow.h"
|
#include "ObjectWindow.h"
|
||||||
|
|
||||||
@ -94,7 +95,7 @@ class ObjectListView : public BListView {
|
|||||||
|
|
||||||
virtual void SelectionChanged()
|
virtual void SelectionChanged()
|
||||||
{
|
{
|
||||||
printf("SelectionChanged() - first selected: %ld\n", CurrentSelection(0));
|
// printf("SelectionChanged() - first selected: %ld\n", CurrentSelection(0));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -171,6 +172,12 @@ ObjectWindow::ObjectWindow(BRect frame, const char* name)
|
|||||||
scrollBar->SetRange(0.0, fObjectView->Bounds().Width());
|
scrollBar->SetRange(0.0, fObjectView->Bounds().Width());
|
||||||
scrollBar->SetProportion(0.5);
|
scrollBar->SetProportion(0.5);
|
||||||
// scrollBar->SetRange(0.0, 0.0);
|
// scrollBar->SetRange(0.0, 0.0);
|
||||||
|
// b = scrollBar->Frame();
|
||||||
|
// b.right = b.left + 50;
|
||||||
|
// scrollBar->ResizeBy(-51, 0);
|
||||||
|
// scrollBar->MoveBy(51, 0);
|
||||||
|
// StatusView* statusView = new StatusView(b, scrollBar);
|
||||||
|
// scrollView->AddChild(statusView);
|
||||||
}
|
}
|
||||||
AddChild(scrollView);
|
AddChild(scrollView);
|
||||||
|
|
||||||
@ -444,6 +451,8 @@ ObjectWindow::MessageReceived(BMessage* message)
|
|||||||
case MSG_OBJECT_SELECTED:
|
case MSG_OBJECT_SELECTED:
|
||||||
if (ObjectItem* item = (ObjectItem*)fObjectLV->ItemAt(fObjectLV->CurrentSelection(0))) {
|
if (ObjectItem* item = (ObjectItem*)fObjectLV->ItemAt(fObjectLV->CurrentSelection(0))) {
|
||||||
fObjectView->SetState(item->Object());
|
fObjectView->SetState(item->Object());
|
||||||
|
fObjectView->SetStateColor(item->Object()->Color());
|
||||||
|
_UpdateControls();
|
||||||
} else
|
} else
|
||||||
fObjectView->SetState(NULL);
|
fObjectView->SetState(NULL);
|
||||||
break;
|
break;
|
||||||
|
@ -32,6 +32,8 @@ class State {
|
|||||||
{ return fTracking; }
|
{ return fTracking; }
|
||||||
|
|
||||||
void SetColor(rgb_color color);
|
void SetColor(rgb_color color);
|
||||||
|
rgb_color Color() const
|
||||||
|
{ return fColor; }
|
||||||
void SetDrawingMode(drawing_mode mode);
|
void SetDrawingMode(drawing_mode mode);
|
||||||
void SetFill(bool fill);
|
void SetFill(bool fill);
|
||||||
void SetPenSize(float penSize);
|
void SetPenSize(float penSize);
|
||||||
|
Loading…
Reference in New Issue
Block a user