/* * Copyright 2005-2011, Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT license. * * Authors: * Robert Polic * * Copyright 1999, Be Incorporated. All Rights Reserved. * This file may be used under the terms of the Be Sample Code License. */ #ifndef ATTRIBUTE_TEXT_CONTROL_H #define ATTRIBUTE_TEXT_CONTROL_H #include #include class AttributeTextControl : public BTextControl { public: AttributeTextControl(const char* label, const char* attribute); virtual ~AttributeTextControl(); virtual void MouseDown(BPoint); virtual void MouseMoved(BPoint, uint32, const BMessage*); bool HasChanged(); void Revert(); void Update(); const BString& Attribute() const { return fAttribute; } private: const BString& _MakeUniformUrl(BString &url) const; const BString& _BuildMimeString(BString &mimeType, const BString &url) const; bool _ContainsUrl() const; BRect _VisibleLabelBounds() const; void _HandleLabelClicked(const char*); private: BString fAttribute; BString fOriginalValue; }; #endif // ATTRIBUTE_TEXT_CONTROL_H