void
CBStylerBase::Receive
	(
	JBroadcaster*	sender,
	const Message&	message
	)
{
	if (sender == CBMGetPrefsManager() &&
		message.Is(CBMPrefsManager::kTextColorChanged))
		{
		SetDefaultFontColor((CBMGetPrefsManager())->GetColor(CBMPrefsManager::kTextColorIndex));
		}

	else if (sender == itsEditDialog && message.Is(JXDialogDirector::kDeactivated))
		{
		const JXDialogDirector::Deactivated* info =
			dynamic_cast<const JXDialogDirector::Deactivated*>(&message);
		assert( info != NULL );
		if (info->Successful())
			{
			ExtractStyles();
			}
		(itsEditDialog->GetWindow())->WriteGeometry(&itsDialogGeom);
		itsEditDialog = NULL;
		}

	else
		{
		JBroadcaster::Receive(sender, message);
		}
}
CBFnMenuUpdater::CBFnMenuUpdater()
	:
	JPrefObject(CBMGetPrefsManager(), kCBFnMenuUpdaterID),
	CBCtagsUser(kCtagsArgs)
{
	itsSortFlag      = kJTrue;
	itsIncludeNSFlag = kJFalse;
	itsPackFlag      = kJFalse;
	JPrefObject::ReadPrefs();
}
CBStylerBase::CBStylerBase
	(
	const JSize				typeVersion,
	const JSize				typeCount,
	const JCharacter**		typeNames,
	const JCharacter*		editDialogTitle,
	const JPrefID&			prefID,
	const CBTextFileType	fileType
	)
	:
	JTEStyler(),
	JPrefObject(CBMGetPrefsManager(), prefID),
	itsColormap(((JXGetApplication())->GetCurrentDisplay())->GetColormap()),
	itsTypeNameVersion(typeVersion),
	itsTypeNameCount(typeCount),
	itsTypeNames(typeNames),
	itsFileType(fileType),
	itsDialogTitle(editDialogTitle),
	itsEditDialog(NULL)
{
	itsTypeStyles = new JArray<JFontStyle>;
	assert( itsTypeStyles != NULL );

	itsDefColor = (CBMGetPrefsManager())->GetColor(CBMPrefsManager::kTextColorIndex);

	JFontStyle style(itsDefColor);
	for (JIndex i=1; i<=typeCount; i++)
		{
		itsTypeStyles->AppendElement(style);
		}

	itsWordStyles = new JStringMap<JFontStyle>;
	assert( itsWordStyles != NULL );

	ListenTo(CBMGetPrefsManager());
}
CBStylerTableInput::CBStylerTableInput
	(
	const CBTextFileType	fileType,
	CBStylerTable*			enclosure,
	const HSizingOption		hSizing,
	const VSizingOption		vSizing,
	const JCoordinate		x,
	const JCoordinate		y,
	const JCoordinate		w,
	const JCoordinate		h
	)
	:
	JXInputField(enclosure, hSizing, vSizing, x,y, w,h)
{
	itsStylerTable = enclosure;
	itsFileType    = fileType;

	CBMPrefsManager* prefsMgr = CBMGetPrefsManager();
	SetCaretColor(prefsMgr->GetColor(CBMPrefsManager::kCaretColorIndex));
	SetSelectionColor(prefsMgr->GetColor(CBMPrefsManager::kSelColorIndex));
	SetSelectionOutlineColor(prefsMgr->GetColor(CBMPrefsManager::kSelLineColorIndex));

	SetCharacterInWordFunction(CBMIsCharacterInWord);
}