xref: /haiku/src/apps/icon-o-matic/generic/property/view/specific_properties/SwatchValueView.cpp (revision 64d80db62142884fb9317a68986efab09a52c055)
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