#include #include #include #include #include "UIEvents.h" #include "UI.h" #include "UIButton.h" using namespace tb; namespace Atomic { UIButton::UIButton(Context* context, bool createWidget) : UIWidget(context, false) { if (createWidget) { widget_ = new TBButton(); widget_->SetDelegate(this); GetSubsystem()->WrapWidget(this, widget_); } } UIButton::~UIButton() { } void UIButton::SetSqueezable(bool value) { if (!widget_) return; ((TBButton*)widget_)->SetSqueezable(value); } bool UIButton::OnEvent(const tb::TBWidgetEvent &ev) { if (ev.type == EVENT_TYPE_CLICK) { String text = GetText(); if (text.StartsWith("http://") || text.StartsWith("https://")) { FileSystem* fileSystem = GetSubsystem(); fileSystem->SystemOpen(text); } } return UIWidget::OnEvent(ev); } }