void
CBCTreeDirector::Receive
	(
	JBroadcaster*	sender,
	const Message&	message
	)
{
	if (sender == itsEditCPPDialog && message.Is(JXDialogDirector::kDeactivated))
		{
		const JXDialogDirector::Deactivated* info =
			dynamic_cast<const JXDialogDirector::Deactivated*>(&message);
		assert( info != NULL );
		if (info->Successful() &&
			itsEditCPPDialog->UpdateMacros(itsCTree->GetCPreprocessor()))
			{
			itsCTree->NextUpdateMustReparseAll();
			GetProjectDoc()->UpdateSymbolDatabase();
			}
		itsEditCPPDialog = NULL;
		}

	else
		{
		CBTreeDirector::Receive(sender, message);
		}
}
Beispiel #2
0
JBoolean
CBFileNode::ParseFiles
	(
	CBFileListTable*			parser,
	const JPtrArray<JString>&	allSuffixList,
	CBSymbolList*				symbolList,
	CBCTree*					cTree,
	CBJavaTree*					javaTree,
	CBPHPTree*					phpTree,
	JProgressDisplay&			pg
	)
	const
{
	JString fullName, trueName;
	if (GetFullName(&fullName) && JGetTrueName(fullName, &trueName))
		{
		if (!ParseFile(trueName, parser, allSuffixList, symbolList, cTree, javaTree, phpTree, pg))
			{
			return kJFalse;
			}

		const CBTextFileType type = (CBGetPrefsManager())->GetFileType(trueName);
		if ((CBGetDocumentManager())->GetComplementFile(trueName, type, &fullName,
														GetProjectDoc(), kJFalse) &&
			JGetTrueName(fullName, &trueName) &&
			!ParseFile(trueName, parser, allSuffixList, symbolList, cTree, javaTree, phpTree, pg))
			{
			return kJFalse;
			}
		}
	return CBFileNodeBase::ParseFiles(parser, allSuffixList, symbolList, cTree, javaTree, phpTree, pg);
}
void
CBJavaTreeDirector::HandleTreeMenu
	(
	const JIndex index
	)
{
	(CBGetDocumentManager())->SetActiveProjectDocument(GetProjectDoc());

	if (index == kEditSearchPathsCmd)
		{
		(GetProjectDoc())->EditSearchPaths(this);
		}
	else if (index == kUpdateCurrentCmd)
		{
		(GetProjectDoc())->UpdateSymbolDatabase();
		}
	else if (index == kForceMinMILinksCmd)
		{
		itsJavaTree->ForceMinimizeMILinks();
		}

	else if (index == kTreeOpenSourceCmd)
		{
		itsJavaTree->ViewSelectedSources();
		}
	else if (index == kTreeOpenFnListCmd)
		{
		itsJavaTree->ViewSelectedFunctionLists();
		}

	else if (index == kTreeCollapseCmd)
		{
		itsJavaTree->CollapseExpandSelectedClasses(kJTrue);
		}
	else if (index == kTreeExpandCmd)
		{
		itsJavaTree->CollapseExpandSelectedClasses(kJFalse);
		}
	else if (index == kTreeExpandAllCmd)
		{
		itsJavaTree->ExpandAllClasses();
		}

	else if (index == kTreeSelParentsCmd)
		{
		itsJavaTree->SelectParents();
		}
	else if (index == kTreeSelDescendantsCmd)
		{
		itsJavaTree->SelectDescendants();
		}
	else if (index == kCopySelNamesCmd)
		{
		itsJavaTree->CopySelectedClassNames();
		}

	else if (index == kFindFnCmd)
		{
		AskForFunctionToFind();
		}
	else if (index == kCloseFnWindCmd)
		{
		CloseFunctionBrowsers();
		}
}
void
CBCTreeDirector::HandleTreeMenu
	(
	const JIndex index
	)
{
	(CBGetDocumentManager())->SetActiveProjectDocument(GetProjectDoc());

	if (index == kEditCPPMacrosCmd)
		{
		assert( itsEditCPPDialog == NULL );
		itsEditCPPDialog =
			jnew CBEditCPPMacroDialog(this, *(itsCTree->GetCPreprocessor()));
		assert( itsEditCPPDialog != NULL );
		itsEditCPPDialog->BeginDialog();
		ListenTo(itsEditCPPDialog);
		}
	else if (index == kEditSearchPathsCmd)
		{
		GetProjectDoc()->EditSearchPaths(this);
		}
	else if (index == kUpdateCurrentCmd)
		{
		GetProjectDoc()->UpdateSymbolDatabase();
		}
	else if (index == kForceMinMILinksCmd)
		{
		itsCTree->ForceMinimizeMILinks();
		}

	else if (index == kTreeOpenSourceCmd)
		{
		itsCTree->ViewSelectedSources();
		}
	else if (index == kTreeOpenHeaderCmd)
		{
		itsCTree->ViewSelectedHeaders();
		}
	else if (index == kTreeOpenFnListCmd)
		{
		itsCTree->ViewSelectedFunctionLists();
		}

	else if (index == kCreateDerivedClassCmd)
		{
		itsCTree->DeriveFromSelected();
		}

	else if (index == kTreeCollapseCmd)
		{
		itsCTree->CollapseExpandSelectedClasses(kJTrue);
		}
	else if (index == kTreeExpandCmd)
		{
		itsCTree->CollapseExpandSelectedClasses(kJFalse);
		}
	else if (index == kTreeExpandAllCmd)
		{
		itsCTree->ExpandAllClasses();
		}

	else if (index == kTreeSelParentsCmd)
		{
		itsCTree->SelectParents();
		}
	else if (index == kTreeSelDescendantsCmd)
		{
		itsCTree->SelectDescendants();
		}
	else if (index == kCopySelNamesCmd)
		{
		itsCTree->CopySelectedClassNames();
		}

	else if (index == kFindFnCmd)
		{
		AskForFunctionToFind();
		}
	else if (index == kCloseFnWindCmd)
		{
		CloseFunctionBrowsers();
		}
}