void taddon_connect::pre_show(CVideo& /*video*/, twindow& window) { ttext_box* host_widget = dynamic_cast<ttext_box*>(window.find_widget("host_name", false)); VALIDATE(host_widget, missing_widget("host_name")); host_widget->set_value(host_name_); window.keyboard_capture(host_widget); }
void tmessage::pre_show(CVideo& /*video*/, twindow& window) { if(!title_.empty()) { tlabel* title = dynamic_cast<tlabel*>(window.find_widget("title", false)); VALIDATE(title, missing_widget("title")); title->set_label(title_); } if(!image_.empty()) { timage* image = dynamic_cast<timage*>(window.find_widget("image", false)); VALIDATE(image, missing_widget("image")); image->set_label(image_); } tcontrol* label = dynamic_cast<tcontrol*>(window.find_widget("label", false)); VALIDATE(label, missing_widget("label")); label->set_label(message_); // The label might not always be a scroll_label but the capturing // shouldn't hurt. window.keyboard_capture(label); if(auto_close_) { /* * Hide the buttton and do the layout, if window.does_easy_close() is * false the scroll_label has a scrollbar so we need to show the * button. When the button is hidden the text for the label is bigger * and thus not need a scrollbar. Also when the button is visible * easy_close will always return false. */ tbutton* button = dynamic_cast<tbutton*>(window.find_widget("ok", false)); VALIDATE(button, missing_widget("ok")); button->set_visible(twidget::INVISIBLE); window.layout(); if(! window.does_easy_close()) { button->set_visible(twidget::VISIBLE); } } }
void taddon_connect::post_show(twindow& window) { if(get_retval() == twindow::OK) { ttext_box* host_widget = dynamic_cast<ttext_box*>(window.find_widget("host_name", false)); assert(host_widget); host_widget->save_to_history(); host_name_= host_widget->get_value(); } }