- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxDialog::bbShow()
- {
- bbtkDebugMessage("wx",5,"WxBlackBoxDialog::bbShow() ["
- <<bbGetBlackBox()->bbGetFullName()<<"]"<<std::endl);
- WxBlackBoxWindow::bbShow();
- SetReturnCode( wxDialog::ShowModal() );
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxDialog::bbHide()
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxDialog::bbHide()"<<std::endl);
- WxBlackBoxWindow::bbHide();
- Hide();
- }
- //=========================================================================
-
- //=========================================================================
- WxBlackBoxDialog::~WxBlackBoxDialog()
- {
- }
- //=========================================================================
-
-
-
-
-
- //=========================================================================
- // WxBlackBoxFrame
- //=========================================================================
-
- //=========================================================================
- WxBlackBoxFrame::WxBlackBoxFrame(WxBlackBox::Pointer box,
- wxWindow *parent,
- wxString title,
- wxSize size)
- : WxBlackBoxWindow(box),
- wxFrame( parent,
- -1,
- title,
- wxDefaultPosition,
- size,
- wxRESIZE_BORDER |
- wxSYSTEM_MENU |
- wxCLOSE_BOX |
- wxMAXIMIZE_BOX |
- wxMINIMIZE_BOX |
- wxCAPTION
- )
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxFrame::WxBlackBoxFrame("<<
- bbGetBlackBox()->bbGetFullName()<<","<<parent<<","
- <<title<<",size)"<<std::endl);
- // Insert the widget into the window
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- wxWindow* widget = bbGetBlackBox()->bbGetOutputWidget();
- wxFrame* frame = (wxFrame*)this;
- widget->Reparent(frame);
- sizer->Add( widget, 1, wxALL|wxGROW, 2);
- // frame->SetAutoLayout(true);
- frame->SetSizer(sizer);
- //frame->Fit();
- frame->Layout();
- }
- //=========================================================================
-
- //=========================================================================
- WxBlackBoxFrame::~WxBlackBoxFrame()
- {
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxFrame::bbShow()
- {
- bbtkDebugMessage("wx",5,"WxBlackBoxFrame::bbShow("
- <<bbGetBlackBox()->bbGetFullName()<<")"<<std::endl);
- WxBlackBoxWindow::bbShow();
- wxFrame::Show();
- // This Update is ** MANDATORY **
- // to synchronize wxvtkRenderWindowInteractor objects
- // (force wx objects creation **NOW**)
- wxFrame::Update();
- if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnShow();
- // wxFrame::SetFocus();
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxFrame::bbHide()
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbHide()"<<std::endl);
- WxBlackBoxWindow::bbHide();
- wxFrame::Hide();
- if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnHide();
- }
- //=========================================================================
-
-
-
-
- //=========================================================================
- // WxBlackBoxWidgetEventHandler
- //=========================================================================
-
- //=========================================================================
- WxBlackBoxWidgetEventHandler::
- WxBlackBoxWidgetEventHandler( WxBlackBox::Pointer box,
- wxWindow *widget )
- :
- mBox(box),
- mWindow(widget)
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::WxBlackBoxWidgetEventHandler("<<mBox.lock()->bbGetFullName()<<")"<<std::endl);
-
- mBox.lock()->bbSetWidgetEventHandler(this);
-
- Connect ( mWindow->GetId(),
- wxEVT_DESTROY,
- (wxObjectEventFunction)
- (void (wxEvtHandler::*)(wxWindowDestroyEvent& c))
- &WxBlackBoxWidgetEventHandler::OnWindowDestroy );
-
- mWindow->PushEventHandler(this);
-
- }
- //=========================================================================
-
- //=========================================================================
- WxBlackBoxWidgetEventHandler::~WxBlackBoxWidgetEventHandler()
- {
- if (mBox.expired()) return;
- bbtkDebugMessage("wx",9,
- "WxBlackBoxWidgetEventHandler::~WxBlackBoxWidgetEventHandler() ["
- <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
- mBox.lock()->bbSetWidgetEventHandler(0);
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxWidgetEventHandler::OnWindowDestroy(wxWindowDestroyEvent&)
- {
- if (mBox.expired()) return;
- bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() ["
- <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
- mBox.lock()->bbSetOutputWidget(0);
- mBox.lock()->bbSetModifiedStatus();
- }
- //=========================================================================
-
-
-
-
-