mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
CodeEditorComponent improvements and TextEditor menu refactoring.
This commit is contained in:
parent
d3bb7fb9cc
commit
6758ce0bc9
10 changed files with 440 additions and 190 deletions
|
|
@ -29,23 +29,21 @@
|
|||
|
||||
//==============================================================================
|
||||
SourceCodeEditor::SourceCodeEditor (OpenDocumentManager::Document* document_,
|
||||
CodeDocument& codeDocument,
|
||||
CodeTokeniser* const codeTokeniser)
|
||||
: DocumentEditorComponent (document_),
|
||||
editor (codeDocument, codeTokeniser)
|
||||
CodeDocument& codeDocument)
|
||||
: DocumentEditorComponent (document_)
|
||||
{
|
||||
addAndMakeVisible (&editor);
|
||||
addAndMakeVisible (editor = createEditor (codeDocument));
|
||||
|
||||
#if JUCE_MAC
|
||||
Font font (13.0f);
|
||||
font.setTypefaceName ("Menlo");
|
||||
#else
|
||||
Font font (10.0f);
|
||||
Font font (12.0f);
|
||||
font.setTypefaceName (Font::getDefaultMonospacedFontName());
|
||||
#endif
|
||||
editor.setFont (font);
|
||||
editor->setFont (font);
|
||||
|
||||
editor.setTabSize (4, true);
|
||||
editor->setTabSize (4, true);
|
||||
|
||||
updateColourScheme();
|
||||
getAppSettings().appearance.settings.addListener (this);
|
||||
|
|
@ -56,27 +54,21 @@ SourceCodeEditor::~SourceCodeEditor()
|
|||
getAppSettings().appearance.settings.removeListener (this);
|
||||
}
|
||||
|
||||
CodeEditorComponent* SourceCodeEditor::createEditor (CodeDocument& codeDocument)
|
||||
{
|
||||
if (document->getFile().hasFileExtension (sourceOrHeaderFileExtensions))
|
||||
return new CppCodeEditorComponent (codeDocument);
|
||||
|
||||
return new CodeEditorComponent (codeDocument, nullptr);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void SourceCodeEditor::resized()
|
||||
{
|
||||
editor.setBounds (getLocalBounds());
|
||||
editor->setBounds (getLocalBounds());
|
||||
}
|
||||
|
||||
CodeTokeniser* SourceCodeEditor::getTokeniserFor (const File& file)
|
||||
{
|
||||
if (file.hasFileExtension (sourceOrHeaderFileExtensions))
|
||||
{
|
||||
static CPlusPlusCodeTokeniser cppTokeniser;
|
||||
return &cppTokeniser;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
SourceCodeEditor* SourceCodeEditor::createFor (OpenDocumentManager::Document* document,
|
||||
CodeDocument& codeDocument)
|
||||
{
|
||||
return new SourceCodeEditor (document, codeDocument, getTokeniserFor (document->getFile()));
|
||||
}
|
||||
void SourceCodeEditor::updateColourScheme() { getAppSettings().appearance.applyToCodeEditor (*editor); }
|
||||
|
||||
void SourceCodeEditor::valueTreePropertyChanged (ValueTree&, const Identifier&) { updateColourScheme(); }
|
||||
void SourceCodeEditor::valueTreeChildAdded (ValueTree&, ValueTree&) { updateColourScheme(); }
|
||||
|
|
@ -84,8 +76,3 @@ void SourceCodeEditor::valueTreeChildRemoved (ValueTree&, ValueTree&)
|
|||
void SourceCodeEditor::valueTreeChildOrderChanged (ValueTree&) { updateColourScheme(); }
|
||||
void SourceCodeEditor::valueTreeParentChanged (ValueTree&) { updateColourScheme(); }
|
||||
void SourceCodeEditor::valueTreeRedirected (ValueTree&) { updateColourScheme(); }
|
||||
|
||||
void SourceCodeEditor::updateColourScheme()
|
||||
{
|
||||
getAppSettings().appearance.applyToCodeEditor (editor);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue