- //=========================================================================
-
- //=========================================================================
- KWBlackBoxWidgetEventHandler::~KWBlackBoxWidgetEventHandler()
- {
- if (mBox.expired()) return;
- bbtkDebugMessage("kw",9,
- "KWBlackBoxWidgetEventHandler::~KWBlackBoxWidgetEventHandler() ["
- <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
- mBox.lock()->bbSetWidgetEventHandler(0);
- }
- //=========================================================================
-
- //=========================================================================
- void KWBlackBoxWidgetEventHandler::OnWindowDestroy(kwWindowDestroyEvent&)
- {
- if (mBox.expired()) return;
- bbtkDebugMessage("kw",9,"KWBlackBoxWidgetEventHandler::OnWindowDestroy() ["
- <<mBox.lock()->bbGetFullName()<<"]"<<std::endl);
- mBox.lock()->bbSetOutputWidget(0);
- mBox.lock()->bbSetModifiedStatus();
- }
- //=========================================================================
-
-
- */
-
-
-
-
- //=========================================================================
- // KWBlackBox
- //=========================================================================
-
- //=========================================================================
- //=========================================================================
- //=========================================================================
- //=========================================================================
- BBTK_BLACK_BOX_IMPLEMENTATION(KWBlackBox,AtomicBlackBox);
- //=========================================================================
-
- //=========================================================================
- void KWBlackBox::bbUserConstructor()
- {
- bbtkDebugMessage("Kernel",9,"KWBlackBox::bbUserConstructor()"<<std::endl);
- bbInitAttributes();
- }
- //=========================================================================
-
- //=========================================================================
- void KWBlackBox::bbUserCopyConstructor(bbtk::BlackBox::Pointer)
- {
- bbtkDebugMessage("Kernel",9,"KWBlackBox::bbUserCopyConstructor()"
- <<std::endl);
- bbInitAttributes();
- }
- //=========================================================================
-
-
- //=========================================================================
- void KWBlackBox::bbUserDestructor()
- {
- bbtkDebugMessage("kw",9,"==> KWBlackBox::bbUserDestructor() ["<<bbGetFullName()<<"]"<<std::endl);
- if (bbGetWindow()) {
- bbGetWindow()->bbClose();
- bbSetWindow(0);
- }
- bbtkDebugMessage("kw",9,"<== KWBlackBox::bbUserDestructor() ["<<bbGetFullName()<<"]"<<std::endl);
- }
- //=========================================================================
-
-
-
- //=========================================================================
- /**
- * \brief Initialize the attributes of the class
- *
- */
- void KWBlackBox::bbInitAttributes()
- {
- bbmWindow = 0;
- // bbmWidget = 0;
- // bbSetInputWinParent(0);
- bbSetInputWinTitle(bbGetName());
- bbSetInputWinWidth(800);
- bbSetInputWinHeight(800);
- bbSetInputWinDialog(false);
- bbSetOutputWidget(0);
-
- // bbSetWidgetEventHandler(0);
- bbSetUpdateTransferedToParent(false);
- }
- //=========================================================================
-
- //=========================================================================
- /// Main processing method of the box.
- void KWBlackBox::bbExecute(bool force)
- {
- bbtkDebugMessageInc("process",2,
- "=> KWBlackBox::bbExecute("<<(int)force<<") ["
- <<bbGetFullName()<<"]"<<std::endl);
-
- // If the output 'Widget' is connected then
- // we must execute the parent box
- BlackBox::OutputConnectorMapType::const_iterator i
- = bbGetOutputConnectorMap().find("Widget");
-
- if ( i->second->GetConnectionVector().size() != 0 )
- {
- bbtkDebugMessage("process",3,
- "-> Output 'Widget' connected : transfering execution to parent"
- <<std::endl);
-
- i->second->GetConnectionVector().front() //.lock()
- ->GetBlackBoxTo()->bbExecute(force);
-
- }
- // else call 'standard' BlackBox execution method
- else
- {
- BlackBox::bbExecute(force);
- }
- //
-
- bbtkDebugMessageDec("process",2,
- "<= KWBlackBox::bbExecute() ["
- <<bbGetFullName()<<"]"<<std::endl);
- }
- //=========================================================================