1*64d80db6SStephan Aßmus /*
2*64d80db6SStephan Aßmus * Copyright 2006, Haiku.
3*64d80db6SStephan Aßmus * Distributed under the terms of the MIT License.
4*64d80db6SStephan Aßmus *
5*64d80db6SStephan Aßmus * Authors:
6*64d80db6SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de>
7*64d80db6SStephan Aßmus */
8*64d80db6SStephan Aßmus
9*64d80db6SStephan Aßmus #include "SwatchValueView.h"
10*64d80db6SStephan Aßmus
11*64d80db6SStephan Aßmus #include <stdio.h>
12*64d80db6SStephan Aßmus
13*64d80db6SStephan Aßmus // constructor
SwatchValueView(const char * name,BMessage * message,BHandler * target,rgb_color color,float width,float height)14*64d80db6SStephan Aßmus SwatchValueView::SwatchValueView(const char* name,
15*64d80db6SStephan Aßmus BMessage* message,
16*64d80db6SStephan Aßmus BHandler* target,
17*64d80db6SStephan Aßmus rgb_color color,
18*64d80db6SStephan Aßmus float width,
19*64d80db6SStephan Aßmus float height)
20*64d80db6SStephan Aßmus : SwatchView(name, message, target, color, width, height)
21*64d80db6SStephan Aßmus {
22*64d80db6SStephan Aßmus uint32 flags = Flags();
23*64d80db6SStephan Aßmus flags |= B_NAVIGABLE;
24*64d80db6SStephan Aßmus SetFlags(flags);
25*64d80db6SStephan Aßmus }
26*64d80db6SStephan Aßmus
27*64d80db6SStephan Aßmus // destructor
~SwatchValueView()28*64d80db6SStephan Aßmus SwatchValueView::~SwatchValueView()
29*64d80db6SStephan Aßmus {
30*64d80db6SStephan Aßmus }
31*64d80db6SStephan Aßmus
32*64d80db6SStephan Aßmus // MakeFocus
33*64d80db6SStephan Aßmus void
MakeFocus(bool focused)34*64d80db6SStephan Aßmus SwatchValueView::MakeFocus(bool focused)
35*64d80db6SStephan Aßmus {
36*64d80db6SStephan Aßmus BView::MakeFocus(focused);
37*64d80db6SStephan Aßmus if (BView* parent = Parent())
38*64d80db6SStephan Aßmus parent->Invalidate();
39*64d80db6SStephan Aßmus }
40*64d80db6SStephan Aßmus
41*64d80db6SStephan Aßmus // Draw
42*64d80db6SStephan Aßmus void
Draw(BRect updateRect)43*64d80db6SStephan Aßmus SwatchValueView::Draw(BRect updateRect)
44*64d80db6SStephan Aßmus {
45*64d80db6SStephan Aßmus BRect b(Bounds());
46*64d80db6SStephan Aßmus if (BView* parent = Parent()) {
47*64d80db6SStephan Aßmus SetLowColor(tint_color(parent->LowColor(), B_DARKEN_1_TINT));
48*64d80db6SStephan Aßmus StrokeRect(b, B_SOLID_LOW);
49*64d80db6SStephan Aßmus b.InsetBy(1.0, 1.0);
50*64d80db6SStephan Aßmus }
51*64d80db6SStephan Aßmus FillRect(b);
52*64d80db6SStephan Aßmus }
53*64d80db6SStephan Aßmus
54*64d80db6SStephan Aßmus // MouseDown
55*64d80db6SStephan Aßmus void
MouseDown(BPoint where)56*64d80db6SStephan Aßmus SwatchValueView::MouseDown(BPoint where)
57*64d80db6SStephan Aßmus {
58*64d80db6SStephan Aßmus // forward click
59*64d80db6SStephan Aßmus if (BView* parent = Parent())
60*64d80db6SStephan Aßmus parent->MouseDown(ConvertToParent(where));
61*64d80db6SStephan Aßmus
62*64d80db6SStephan Aßmus SwatchView::MouseDown(where);
63*64d80db6SStephan Aßmus }
64