#include #include //========================================================================= // Different examples of using black boxes in C++ // Here we do not use wxWidgets however WxBlackBox es work in **Dialog** mode //========================================================================= //========================================================================= void SimpleSliderDialog() { std::cout << "============== Simple Slider dialog" << std::endl; try { bbwx::Slider::Pointer slider = bbwx::Slider::New("slider"); // slider->bbGetHelp(); slider->bbSetInputWinDialog(true); // mandatory slider->bbExecute(); std::cout << "Slider Output = "<< slider->bbGetOutputOut() << std::endl; } catch (bbtk::Exception e) { e.Print(); } } //========================================================================= //========================================================================= void SliderOutputTextWithoutFactory() { std::cout << "============== Slider->OutputText without Factory" << std::endl; try { bbwx::Slider::Pointer slider = bbwx::Slider::New("slider"); bbwx::OutputText::Pointer text = bbwx::OutputText::New("text"); bbtk::Connection::Pointer s2t = bbtk::Connection::New(slider,"Out", text,"In"); text->bbExecute(); } catch (bbtk::Exception e) { bbtk::MessageManager::SetMessageLevel("Error",1); e.Print(); } } //========================================================================= //========================================================================= #include #include void SliderOutputTextWithFactory() { std::cout << "============== Slider->OutputText **WITH** Factory" << std::endl; try { bbtk::Factory::Pointer factory = bbtk::Factory::New(); factory->LoadPackage("std"); bbwx::Slider::Pointer slider = bbwx::Slider::New("slider"); bbwx::OutputText::Pointer text = bbwx::OutputText::New("text"); bbtk::Connection::Pointer s2t = bbtk::Connection::New(slider,"Out", text,"In", factory); bbwx::LayoutLine::Pointer layout = bbwx::LayoutLine::New("layout"); bbtk::Connection::Pointer c1 = bbtk::Connection::New(slider,"Widget", layout,"Widget1"); bbtk::Connection::Pointer c2 = bbtk::Connection::New(text,"Widget", layout,"Widget2"); bbtk::Connection::Pointer c3 = bbtk::Connection::New(slider,"BoxChange", text,"BoxExecute"); // OR // text->bbSetInputBoxProcessMode("Reactive"); layout->bbSetInputWinDialog(true); layout->bbExecute(); } catch (bbtk::Exception e) { bbtk::MessageManager::SetMessageLevel("Error",1); e.Print(); } } //========================================================================= //========================================================================= int main(int argv, char* argc[]) { // To track all ... // bbtk::MessageManager::SetMessageLevel("all",9); SimpleSliderDialog(); SliderOutputTextWithoutFactory(); SliderOutputTextWithFactory(); // To get the list of bbtk object still allocated after main ends // bbtk::StaticInitTime::PrintObjectListInfo = true; // bbtk::MessageManager::SetMessageLevel("object",1); } //=========================================================================