JBoolean
CBStylerBase::WordStylesChanged
	(
	const JStringMap<JFontStyle>& newWordStyles
	)
	const
{
	const JSize count = itsWordStyles->GetElementCount();
	if (newWordStyles.GetElementCount() != count)
		{
		return kJTrue;
		}
	else if (count == 0)
		{
		return kJFalse;
		}

	JArray<WordStyle> oldWordList(count);
	GetWordList(*itsWordStyles, &oldWordList, kJTrue);

	JArray<WordStyle> newWordList(count);
	GetWordList(newWordStyles, &newWordList, kJTrue);

	for (JIndex i=1; i<=count; i++)
		{
		const WordStyle w1 = oldWordList.GetElement(i);
		const WordStyle w2 = newWordList.GetElement(i);
		if (strcmp(w1.key, w2.key) != 0 || w1.value != w2.value)
			{
			return kJTrue;
			}
		}

	return kJFalse;
}
void
CBStylerBase::WritePrefs
	(
	ostream& output
	)
	const
{
JIndex i;

	output << kCurrentSetupVersion;
	output << ' ' << IsActive();

	// type styles

	const JSize typeCount = itsTypeStyles->GetElementCount();
	output << ' ' << typeCount;

	for (i=1; i<=typeCount; i++)
		{
		WriteStyle(output, itsTypeStyles->GetElement(i));
		}

	output << ' ' << itsTypeNameVersion;

	// word styles

	JArray<WordStyle> wordList;
	GetWordList(*itsWordStyles, &wordList, kJFalse);

	const JSize wordCount = wordList.GetElementCount();
	output << ' ' << wordCount;

	JString s;
	for (i=1; i<=wordCount; i++)
		{
		const WordStyle style = wordList.GetElement(i);

		s = style.key;
		output << ' ' << s;

		WriteStyle(output, style.value);
		}

	// dialog geometry

	output << ' ' << itsDialogGeom;
}
Пример #3
0
NS_IMETHODIMP 
mozSpellChecker::GetPersonalDictionary(nsTArray<nsString> *aWordList)
{
  if(!aWordList || !mPersonalDictionary)
    return NS_ERROR_NULL_POINTER;

  nsCOMPtr<nsIStringEnumerator> words;
  mPersonalDictionary->GetWordList(getter_AddRefs(words));
  
  bool hasMore;
  nsAutoString word;
  while (NS_SUCCEEDED(words->HasMore(&hasMore)) && hasMore) {
    words->GetNext(word);
    aWordList->AppendElement(word);
  }
  return NS_OK;
}
void
CBStylerBase::EditStyles()
{
	assert( itsEditDialog == NULL );

	JArray<WordStyle> wordList;
	GetWordList(*itsWordStyles, &wordList, kJTrue);

	itsEditDialog = new CBEditStylerDialog(itsDialogTitle, IsActive(),
										   itsTypeNames, *itsTypeStyles,
										   wordList, itsFileType);
	assert( itsEditDialog != NULL );

	JXWindow* window = itsEditDialog->GetWindow();
	window->ReadGeometry(itsDialogGeom);
	window->Deiconify();

	itsEditDialog->BeginDialog();
	ListenTo(itsEditDialog);
}
void
CBStylerBase::SetDefaultFontColor
	(
	const JColorIndex color
	)
{
JIndex i;

	if (color != itsDefColor)
		{
		for (i=1; i<=itsTypeNameCount; i++)
			{
			JFontStyle style = itsTypeStyles->GetElement(i);
			if (style.color == itsDefColor)
				{
				style.color = color;
				itsTypeStyles->SetElement(i, style);
				}
			}

		JArray<WordStyle> wordList;
		GetWordList(*itsWordStyles, &wordList, kJFalse);
		const JSize wordCount = wordList.GetElementCount();
		for (i=1; i<=wordCount; i++)
			{
			WordStyle data = wordList.GetElement(i);
			if (data.value.color == itsDefColor)
				{
				data.value.color = color;
				itsWordStyles->SetElement(data.key, data.value);
				}
			}

		itsDefColor = color;
		}
}