69 void loadContent (
const String& newContent);
122 void setLineNumbersShown (
bool shouldBeShown);
125 bool moveCaretLeft (
bool moveInWholeWordSteps,
bool selecting);
126 bool moveCaretRight (
bool moveInWholeWordSteps,
bool selecting);
127 bool moveCaretUp (
bool selecting);
128 bool moveCaretDown (
bool selecting);
131 bool pageUp (
bool selecting);
132 bool pageDown (
bool selecting);
133 bool moveCaretToTop (
bool selecting);
134 bool moveCaretToStartOfLine (
bool selecting);
135 bool moveCaretToEnd (
bool selecting);
136 bool moveCaretToEndOfLine (
bool selecting);
137 bool deleteBackwards (
bool moveInWholeWordSteps);
138 bool deleteForwards (
bool moveInWholeWordSteps);
139 bool deleteWhitespaceBackwardsToTabStop();
140 virtual bool copyToClipboard();
141 virtual bool cutToClipboard();
142 virtual bool pasteFromClipboard();
150 void scrollToLine (
int newFirstLineOnScreen);
151 void scrollBy (
int deltaLines);
152 void scrollToColumn (
int newFirstColumnOnScreen);
153 void scrollToKeepCaretOnScreen();
154 void scrollToKeepLinesOnScreen (
Range<int> linesToShow);
156 void insertTextAtCaret (
const String& textToInsert)
override;
157 void insertTabAtCaret();
159 void indentSelection();
160 void unindentSelection();
163 Range<int> getHighlightedRegion()
const override;
193 void setTabSize (
int numSpacesPerTab,
bool insertSpacesInsteadOfTabCharacters);
206 String getTabString (
int numSpaces)
const;
211 void setFont (
const Font& newFont);
217 void setReadOnly (
bool shouldBeReadOnly)
noexcept;
252 Colour getColourForTokenType (
int tokenType)
const;
265 void retokenise (
int startIndex,
int endIndex);
286 void setScrollbarThickness (
int thickness);
293 virtual void handleReturnKey();
295 virtual void handleTabKey();
297 virtual void handleEscapeKey();
300 virtual void editorViewportPositionChanged();
303 virtual void caretPositionMoved();
323 virtual void addPopupMenuItems (
PopupMenu& menuToAddTo,
337 virtual void performPopupMenuAction (
int menuItemID);
352 void resized()
override;
354 bool keyPressed (
const KeyPress&)
override;
362 void mouseDoubleClick (
const MouseEvent&)
override;
366 void focusGained (FocusChangeType)
override;
368 void focusLost (FocusChangeType)
override;
370 bool isTextInputActive()
const override;
380 bool perform (
const InvocationInfo&)
override;
382 void lookAndFeelChanged()
override;
397 std::unique_ptr<CaretComponent>
caret;
#define noexcept
Definition DistrhoDefines.h:72
#define override
Definition DistrhoDefines.h:73
Definition juce_AccessibilityHandler.h:41
Definition juce_ApplicationCommandManager.h:88
Definition juce_ApplicationCommandTarget.h:47
ApplicationCommandTarget()
Definition juce_ApplicationCommandTarget.cpp:51
Definition juce_Array.h:56
Definition juce_CodeDocument.h:360
Definition juce_CodeDocument.h:63
Definition juce_CodeDocument.h:46
Definition juce_CodeEditorComponent.cpp:31
Definition juce_CodeEditorComponent.cpp:161
Definition juce_CodeEditorComponent.cpp:415
Definition juce_CodeEditorComponent.cpp:382
CodeTokeniser * codeTokeniser
Definition juce_CodeEditorComponent.h:419
int getFirstLineOnScreen() const noexcept
Definition juce_CodeEditorComponent.h:85
int lineHeight
Definition juce_CodeEditorComponent.h:391
void rebuildLineTokensAsync()
Definition juce_CodeEditorComponent.cpp:638
Array< CodeDocument::Iterator > cachedIterators
Definition juce_CodeEditorComponent.h:428
double xOffset
Definition juce_CodeEditorComponent.h:394
CodeEditorComponent(CodeDocument &document, CodeTokeniser *codeTokeniser)
Definition juce_CodeEditorComponent.cpp:465
void scrollToLineInternal(int line)
Definition juce_CodeEditorComponent.cpp:808
DragType dragType
Definition juce_CodeEditorComponent.h:416
std::unique_ptr< GutterComponent > gutter
Definition juce_CodeEditorComponent.h:405
void codeDocumentChanged(int start, int end)
Definition juce_CodeEditorComponent.cpp:685
void updateCachedIterators(int maxLineNum)
Definition juce_CodeEditorComponent.cpp:1731
int getLineHeight() const noexcept
Definition juce_CodeEditorComponent.h:76
ApplicationCommandManager * appCommandManager
Definition juce_CodeEditorComponent.h:399
void clearCachedIterators(int firstLineToBeInvalid)
Definition juce_CodeEditorComponent.cpp:1721
ScrollBar verticalScrollBar
Definition juce_CodeEditorComponent.h:398
void scrollToColumnInternal(double column)
Definition juce_CodeEditorComponent.cpp:826
void setSelection(CodeDocument::Position, CodeDocument::Position)
Definition juce_CodeEditorComponent.cpp:1491
void updateScrollBars()
Definition juce_CodeEditorComponent.cpp:799
void newTransaction()
Definition juce_CodeEditorComponent.cpp:1314
int linesOnScreen
Definition juce_CodeEditorComponent.h:391
bool readOnly
Definition juce_CodeEditorComponent.h:393
int getNumLinesOnScreen() const noexcept
Definition juce_CodeEditorComponent.h:82
CodeDocument::Position selectionEnd
Definition juce_CodeEditorComponent.h:395
int getGutterSize() const noexcept
Definition juce_CodeEditorComponent.cpp:509
void moveLineDelta(int delta, bool selecting)
Definition juce_CodeEditorComponent.cpp:1105
bool areSpacesInsertedForTabs() const
Definition juce_CodeEditorComponent.h:203
void indentSelectedLines(int spacesToAdd)
Definition juce_CodeEditorComponent.cpp:971
int columnToTryToMaintain
Definition juce_CodeEditorComponent.h:392
int indexToColumn(int line, int index) const noexcept
Definition juce_CodeEditorComponent.cpp:1637
CodeDocument::Position getCaretPos() const
Definition juce_CodeEditorComponent.h:93
void getIteratorForPosition(int position, CodeDocument::Iterator &)
Definition juce_CodeEditorComponent.cpp:1766
int scrollbarThickness
Definition juce_CodeEditorComponent.h:392
float charWidth
Definition juce_CodeEditorComponent.h:390
void setTabSize(int numSpacesPerTab, bool insertSpacesInsteadOfTabCharacters)
Definition juce_CodeEditorComponent.cpp:1619
DragType
Definition juce_CodeEditorComponent.h:410
@ notDragging
Definition juce_CodeEditorComponent.h:411
@ draggingSelectionStart
Definition juce_CodeEditorComponent.h:412
@ draggingSelectionEnd
Definition juce_CodeEditorComponent.h:413
float getCharWidth() const noexcept
Definition juce_CodeEditorComponent.h:73
bool useSpacesForTabs
Definition juce_CodeEditorComponent.h:393
bool performCommand(CommandID)
Definition juce_CodeEditorComponent.cpp:1474
void insertText(const String &)
Definition juce_CodeEditorComponent.cpp:902
int getScrollbarThickness() const noexcept
Definition juce_CodeEditorComponent.h:289
CodeDocument::Position caretPos
Definition juce_CodeEditorComponent.h:395
const ColourScheme & getColourScheme() const noexcept
Definition juce_CodeEditorComponent.h:246
CodeDocument & getDocument() const noexcept
Definition juce_CodeEditorComponent.h:63
int getNumColumnsOnScreen() const noexcept
Definition juce_CodeEditorComponent.h:90
bool skipBackwardsToPreviousTab()
Definition juce_CodeEditorComponent.cpp:1234
int spacesPerTab
Definition juce_CodeEditorComponent.h:389
int columnToIndex(int line, int column) const noexcept
Definition juce_CodeEditorComponent.cpp:1660
int getTabSize() const noexcept
Definition juce_CodeEditorComponent.h:198
void setColourScheme(const ColourScheme &scheme)
Definition juce_CodeEditorComponent.cpp:1708
int firstLineOnScreen
Definition juce_CodeEditorComponent.h:389
std::unique_ptr< Pimpl > pimpl
Definition juce_CodeEditorComponent.h:402
CodeDocument & document
Definition juce_CodeEditorComponent.h:386
void rebuildLineTokens()
Definition juce_CodeEditorComponent.cpp:643
CodeDocument::Position getSelectionStart() const
Definition juce_CodeEditorComponent.h:116
bool showLineNumbers
Definition juce_CodeEditorComponent.h:393
virtual void updateCaretPosition()
Definition juce_CodeEditorComponent.cpp:718
OwnedArray< CodeEditorLine > lines
Definition juce_CodeEditorComponent.h:423
CodeDocument::Position getSelectionEnd() const
Definition juce_CodeEditorComponent.h:119
Font font
Definition juce_CodeEditorComponent.h:388
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_CodeEditorComponent.cpp:1839
void cut()
Definition juce_CodeEditorComponent.cpp:1021
bool isReadOnly() const noexcept
Definition juce_CodeEditorComponent.h:220
const Font & getFont() const noexcept
Definition juce_CodeEditorComponent.h:214
bool shouldFollowDocumentChanges
Definition juce_CodeEditorComponent.h:393
ColourIds
Definition juce_CodeEditorComponent.h:276
@ lineNumberTextId
Definition juce_CodeEditorComponent.h:281
@ backgroundColourId
Definition juce_CodeEditorComponent.h:277
@ highlightColourId
Definition juce_CodeEditorComponent.h:278
@ lineNumberBackgroundId
Definition juce_CodeEditorComponent.h:280
@ defaultTextColourId
Definition juce_CodeEditorComponent.h:279
std::unique_ptr< CaretComponent > caret
Definition juce_CodeEditorComponent.h:397
int columnsOnScreen
Definition juce_CodeEditorComponent.h:391
ColourScheme colourScheme
Definition juce_CodeEditorComponent.h:420
CodeDocument::Position selectionStart
Definition juce_CodeEditorComponent.h:395
Definition juce_CodeTokeniser.h:39
Definition juce_Colour.h:38
Component() noexcept
Definition juce_Component.cpp:517
Definition juce_Font.h:42
Definition juce_GraphicsContext.h:45
Definition juce_KeyPress.h:40
Definition juce_MouseEvent.h:39
Definition juce_OwnedArray.h:51
Definition juce_Range.h:40
Definition juce_Rectangle.h:67
Definition juce_String.h:53
TextInputTarget()=default
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
static const char * name
Definition pugl.h:1582
virtual ASIOError start()=0
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
int CommandID
Definition juce_ApplicationCommandID.h:37
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
Definition juce_Uuid.h:141
Definition juce_ApplicationCommandInfo.h:45
Definition juce_CodeEditorComponent.h:228
Colour colour
Definition juce_CodeEditorComponent.h:230
String name
Definition juce_CodeEditorComponent.h:229
Definition juce_CodeEditorComponent.h:225
Array< TokenType > types
Definition juce_CodeEditorComponent.h:233
void set(const String &name, Colour colour)
Definition juce_CodeEditorComponent.cpp:1691
State(const CodeEditorComponent &)
Definition juce_CodeEditorComponent.cpp:1795
int lastCaretPos
Definition juce_CodeEditorComponent.h:185
int lastSelectionEnd
Definition juce_CodeEditorComponent.h:185
void restoreState(CodeEditorComponent &) const
Definition juce_CodeEditorComponent.cpp:1815
String toString() const
Definition juce_CodeEditorComponent.cpp:1833
int lastTopLine
Definition juce_CodeEditorComponent.h:185
Definition juce_MouseEvent.h:392
#define const
Definition zconf.h:137