- // frame->SetAutoLayout(true);
- frame->SetSizer(sizer);
- //frame->Fit();
- frame->Layout();
- }
- //=========================================================================
-
- //=========================================================================
- WxBlackBoxFrame::~WxBlackBoxFrame()
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxFrame::~WxBlackBoxFrame()"
- <<std::endl);
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxFrame::bbShow()
- {
- if (bbIsShown()) return;
- bbtkDebugMessage("wx",5,"WxBlackBoxFrame::bbShow("
- <<bbGetBlackBox()->bbGetFullName()<<")"<<std::endl);
- Parent::bbShow();
- wxFrame::Show();
- // This Update is ** MANDATORY **
- // to synchronize wxvtkRenderWindowInteractor objects
- // (force wx objects creation **NOW**)
-
-
-#if defined(_WIN32)
- wxFrame::Refresh();
-#endif
-
- wxFrame::Update();
- wxFrame::SetFocus();
- // if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnShow();
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxFrame::bbHide()
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbHide()"<<std::endl);
- Parent::bbHide();
- wxFrame::Hide();
- if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnHide();
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxFrame::bbDestroy()
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbDestroy()"<<std::endl);
- wxFrame::Destroy();
- }
- //=========================================================================
-
-
-
- //=========================================================================
- // 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()
- {
- bbtkDebugMessage("wx",9,
- "WxBlackBoxWidgetEventHandler::~WxBlackBoxWidgetEventHandler() ["
- <<std::endl);
-
-
- Disconnect ( mWindow->GetId() );
-
- if (mBox.expired()) return;
- bbtkDebugMessage("wx",9,
- "WxBlackBoxWidgetEventHandler::~WxBlackBoxWidgetEventHandler() ["
- <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
-
- mBox.lock()->bbSetWidgetEventHandler(0);
- }
- //=========================================================================
-
- //=========================================================================
- void WxBlackBoxWidgetEventHandler::OnWindowDestroy(wxWindowDestroyEvent&)
- {
- bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() []"<<std::endl);
- if (mBox.expired()) return;
- bbtkDebugMessage("wx",9,"WxBlackBoxWidgetEventHandler::OnWindowDestroy() alive ["
- <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
- mBox.lock()->bbSetOutputWidget(0);