void
CMSourceDirector::ReceiveGoingAway
	(
	JBroadcaster* sender
	)
{
	if (sender == itsLink && !CMIsShuttingDown() && IsMainSourceWindow())
		{
		itsLink = CMGetLink();
		ListenTo(itsLink);

		if (itsType == kMainSourceType)
			{
			jdelete itsSrcMainCmd;
			itsSrcMainCmd = itsLink->CreateDisplaySourceForMain(this);
			}
		else if (itsType == kMainAsmType)
			{
			jdelete itsGetAssemblyCmd;
			itsGetAssemblyCmd = NULL;
			}

		CMClearSourceDisplayTask* task = jnew CMClearSourceDisplayTask(this);
		assert( task != NULL );
		task->Go();
		}
	else if (sender == itsLink && !CMIsShuttingDown())
		{
		JXCloseDirectorTask::Close(this);
		}
	else
		{
		JXWindowDirector::ReceiveGoingAway(sender);
		}
}
void
CMLocalVarsDir::ReceiveGoingAway
	(
	JBroadcaster* sender
	)
{
	if (sender == itsLink && !CMIsShuttingDown())
		{
		itsLink = CMGetLink();
		ListenTo(itsLink);

		(itsTree->GetRoot())->DeleteAllChildren();

		CMVarNode* root = itsLink->CreateVarNode(kJFalse);
		assert( root != NULL );
		itsTree->SetRoot(root);

		jdelete itsGetLocalsCmd;
		itsGetLocalsCmd = itsLink->CreateGetLocalVars(root);

		itsNeedsUpdateFlag = kJFalse;
		}
	else
		{
		JXWindowDirector::ReceiveGoingAway(sender);
		}
}
Ejemplo n.º 3
0
void
CMVarNode::ReceiveGoingAway
	(
	JBroadcaster* sender
	)
{
	if (itsShouldListenToLinkFlag && !CMIsShuttingDown())
		{
		ListenTo(CMGetLink());
		}

	JNamedTreeNode::ReceiveGoingAway(sender);
}
Ejemplo n.º 4
0
void
CMArray1DDir::ReceiveGoingAway
	(
	JBroadcaster* sender
	)
{
	if (sender == itsLink && !CMIsShuttingDown())
		{
		JXCloseDirectorTask::Close(this);
		}
	else
		{
		JXWindowDirector::ReceiveGoingAway(sender);
		}
}
Ejemplo n.º 5
0
void
CMRegistersDir::ReceiveGoingAway
	(
	JBroadcaster* sender
	)
{
	if (!CMIsShuttingDown())
		{
		ListenTo(CMGetLink());

		Update("");

		delete itsCmd;
		itsCmd = (CMGetLink())->CreateGetRegisters(this);
		}

	JXWindowDirector::ReceiveGoingAway(sender);
}
void
CMLineIndexTable::ReceiveGoingAway
	(
	JBroadcaster* sender
	)
{
	if (sender == itsLink && !CMIsShuttingDown())
		{
		itsLink = CMGetLink();
		ListenTo(itsLink);
		ListenTo(itsLink->GetBreakpointManager());

		itsBPList->RemoveAll();
		}
	else
		{
		JXTable::ReceiveGoingAway(sender);
		}
}