/* * Copyright 2006, Haiku. * Distributed under the terms of the MIT License. * * Authors: * Stephan Aßmus */ #include "IntValueView.h" #include #include "NummericalTextView.h" // constructor IntValueView::IntValueView(IntProperty* property) : TextInputValueView(), fProperty(property) { BRect b = Bounds(); fTextView = new NummericalTextView(b, "nummerical input", b, B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); AddChild(fTextView); fTextView->SetFloatMode(false); if (fProperty) fTextView->SetValue(fProperty->Value()); } // destructor IntValueView::~IntValueView() { } // TextView InputTextView* IntValueView::TextView() const { return fTextView; } // ValueChanged void IntValueView::ValueChanged() { if (fProperty) { fProperty->SetValue(fTextView->IntValue()); fTextView->SetValue(fProperty->Value()); TextInputValueView::ValueChanged(); } } // AdoptProperty bool IntValueView::AdoptProperty(Property* property) { IntProperty* p = dynamic_cast(property); if (p) { if (fTextView->IntValue() != p->Value()) fTextView->SetValue(p->Value()); fProperty = p; return true; } return false; } // GetProperty Property* IntValueView::GetProperty() const { return fProperty; }