void TBMessageWindow::AddButton(TBID id, bool focused) { TBLayout *layout = GetWidgetByIDAndType<TBLayout>(3); if (!layout) return; if (TBButton *btn = new TBButton) { btn->SetID(id); btn->SetText(g_tb_lng->GetString(btn->GetID())); layout->AddChild(btn); if (focused) btn->SetFocus(WIDGET_FOCUS_REASON_UNKNOWN); } }
JSResourceEditor ::JSResourceEditor(Context* context, const String &fullpath, UITabContainer *container) : ResourceEditor(context, fullpath, container) { TBLayout* layout = new TBLayout(); layout->SetLayoutSize(LAYOUT_SIZE_GRAVITY); layout->SetGravity(WIDGET_GRAVITY_ALL); layout->SetLayoutDistribution(LAYOUT_DISTRIBUTION_GRAVITY); rootContentWidget_->GetInternalWidget()->AddChild(layout); TBContainer* c = new TBContainer(); c->SetGravity(WIDGET_GRAVITY_ALL); layout->AddChild(c); ToolEnvironment* tenv = GetSubsystem<ToolEnvironment>(); String codeEditorDir = tenv->GetToolDataDir(); codeEditorDir += "CodeEditor/Editor.html"; #ifdef ATOMIC_PLATFORM_OSX String url = "file://" + codeEditorDir; #else String url = "file:///" + codeEditorDir; #endif webView_ = new UIWebView(context_, url); webClient_ = webView_->GetWebClient(); messageHandler_ = new WebMessageHandler(context_); webClient_->AddMessageHandler(messageHandler_); webView_->GetWebTexture2D()->SetClearColor(Color(.23f, .23f, .23f, 1)); SubscribeToEvent(webClient_, E_WEBVIEWLOADEND, HANDLER(JSResourceEditor, HandleWebViewLoadEnd)); SubscribeToEvent(messageHandler_, E_WEBMESSAGE, HANDLER(JSResourceEditor, HandleWebMessage)); SubscribeToEvent(E_RENAMERESOURCENOTIFICATION, HANDLER(JSResourceEditor, HandleRenameResourceNotification)); SubscribeToEvent(E_DELETERESOURCENOTIFICATION, HANDLER(JSResourceEditor, HandleDeleteResourceNotification)); SubscribeToEvent(E_PROJECTUNLOADEDNOTIFICATION, HANDLER(JSResourceEditor, HandleProjectUnloadedNotification)); c->AddChild(webView_->GetInternalWidget()); }