25 #ifndef JUCE_TEXTEDITOR_H_INCLUDED 26 #define JUCE_TEXTEDITOR_H_INCLUDED 71 void setMultiLine (
bool shouldBeMultiLine,
72 bool shouldWordWrap =
true);
75 bool isMultiLine()
const;
85 void setReturnKeyStartsNewLine (
bool shouldStartNewLine);
98 void setTabKeyUsedAsCharacter (
bool shouldTabKeyBeUsed);
111 void setEscapeAndReturnKeysConsumed (
bool shouldBeConsumed)
noexcept;
123 void setReadOnly (
bool shouldBeReadOnly);
126 bool isReadOnly()
const;
133 void setCaretVisible (
bool shouldBeVisible);
149 void setScrollbarsShown (
bool shouldBeEnabled);
166 void setPasswordCharacter (
juce_wchar passwordCharacter);
182 void setPopupMenuEnabled (
bool menuEnabled);
204 backgroundColourId = 0x1000200,
207 textColourId = 0x1000201,
212 highlightColourId = 0x1000202,
216 highlightedTextColourId = 0x1000203,
218 outlineColourId = 0x1000205,
221 focusedOutlineColourId = 0x1000206,
224 shadowColourId = 0x1000207,
237 void setFont (
const Font& newFont);
243 void applyFontToAllText (
const Font& newFont);
258 void setSelectAllWhenFocused (
bool shouldSelectAll);
266 void setTextToShowWhenEmpty (
const String& text,
Colour colourToUse);
272 void setScrollBarThickness (
int newThicknessPixels);
302 void addListener (
Listener* newListener);
307 void removeListener (
Listener* listenerToRemove);
319 bool isEmpty()
const;
333 void setText (
const String& newText,
334 bool sendTextChangeMessage =
true);
342 Value& getTextValue();
354 void insertTextAtCaret (
const String& textToInsert)
override;
379 int getCaretPosition()
const;
384 void setCaretPosition (
int newIndex);
397 void scrollEditorToPositionCaret (
int desiredCaretX,
int desiredCaretY);
407 void setHighlightedRegion (
const Range<int>& newSelection)
override;
416 String getHighlightedText()
const;
421 int getTextIndexAt (
int x,
int y);
428 int getTotalNumChars()
const;
435 int getTextWidth()
const;
442 int getTextHeight()
const;
447 void setIndents (
int newLeftIndent,
int newTopIndent);
464 void setScrollToShowCursor (
bool shouldScrollToShowCaret);
467 void moveCaretToEnd();
468 bool moveCaretLeft (
bool moveInWholeWordSteps,
bool selecting);
469 bool moveCaretRight (
bool moveInWholeWordSteps,
bool selecting);
470 bool moveCaretUp (
bool selecting);
471 bool moveCaretDown (
bool selecting);
472 bool pageUp (
bool selecting);
473 bool pageDown (
bool selecting);
476 bool moveCaretToTop (
bool selecting);
477 bool moveCaretToStartOfLine (
bool selecting);
478 bool moveCaretToEnd (
bool selecting);
479 bool moveCaretToEndOfLine (
bool selecting);
480 bool deleteBackwards (
bool moveInWholeWordSteps);
481 bool deleteForwards (
bool moveInWholeWordSteps);
482 bool copyToClipboard();
483 bool cutToClipboard();
484 bool pasteFromClipboard();
510 virtual void addPopupMenuItems (
PopupMenu& menuToAddTo,
524 virtual void performPopupMenuAction (
int menuItemID);
599 virtual void drawTextEditorOutline (
Graphics&,
int width,
int height,
TextEditor&) = 0;
608 void paintOverChildren (
Graphics&)
override;
616 void mouseDoubleClick (
const MouseEvent&)
override;
620 bool keyPressed (
const KeyPress&)
override;
622 bool keyStateChanged (
bool)
override;
628 void resized()
override;
630 void enablementChanged()
override;
632 void colourChanged()
override;
634 void lookAndFeelChanged()
override;
636 bool isTextInputActive()
const override;
645 void scrollToMakeSureCursorIsVisible();
651 void newTransaction();
654 virtual void returnPressed();
657 virtual void escapePressed();
676 bool returnKeyStartsNewLine : 1;
677 bool popupMenuEnabled : 1;
678 bool selectAllTextWhenFocused : 1;
679 bool scrollbarVisible : 1;
681 bool keepCaretOnScreen : 1;
684 bool valueTextNeedsUpdating : 1;
685 bool consumeEscAndReturnKeys : 1;
690 int leftIndent, topIndent;
691 unsigned int lastTransactionTime;
693 mutable int totalNumChars;
696 String textToShowWhenEmpty;
697 Colour colourForTextWhenEmpty;
706 draggingSelectionStart,
713 void moveCaret (
int newCaretPos);
714 void moveCaretTo (
int newPosition,
bool isSelecting);
715 void handleCommandMessage (
int)
override;
716 void coalesceSimilarSections();
717 void splitSection (
int sectionIndex,
int charToSplitAt);
722 void getCharPosition (
int index,
float& x,
float& y,
float& lineHeight)
const;
723 void updateCaretPosition();
724 void updateValueFromText();
725 void textWasChangedByValue();
726 int indexAtPosition (
float x,
float y);
727 int findWordBreakAfter (
int position)
const;
728 int findWordBreakBefore (
int position)
const;
729 bool moveCaretWithTransaction (
int newPos,
bool selecting);
733 void updateTextHolderSize();
734 float getWordWrapWidth()
const;
735 void timerCallbackInt();
737 void scrollByLines (
int deltaLines);
738 bool undoOrRedo (
bool shouldUndo);
739 UndoManager* getUndoManager() noexcept;
748 #endif // JUCE_TEXTEDITOR_H_INCLUDED Definition: juce_TextEditor.h:280
Definition: juce_KeyPress.h:37
Definition: juce_TextEditor.cpp:277
static const String empty
Definition: juce_String.h:152
virtual String filterNewText(TextEditor &, const String &newInput)=0
Definition: juce_TextEditor.cpp:754
Definition: juce_Font.h:39
InputFilter * getInputFilter() const noexcept
Definition: juce_TextEditor.h:574
Definition: juce_ApplicationCommandID.h:77
virtual ~InputFilter()
Definition: juce_TextEditor.h:534
#define noexcept
Definition: juce_CompilerSupport.h:141
void setInputRestrictions(int maxTextLength, const String &allowedCharacters=String::empty)
Definition: juce_TextEditor.cpp:1135
Definition: juce_TextEditor.cpp:706
Definition: juce_TextEditor.h:530
InputFilter()
Definition: juce_TextEditor.h:533
Definition: juce_Range.h:44
FocusChangeType
Definition: juce_Component.h:1702
Definition: juce_OptionalScopedPointer.h:44
ColourIds
Definition: juce_TextEditor.h:202
Definition: juce_CaretComponent.h:32
Definition: juce_ApplicationCommandID.h:86
Definition: juce_String.h:43
Definition: juce_ApplicationCommandID.h:71
Definition: juce_TextInputTarget.h:38
#define JUCE_API
Definition: juce_StandardHeader.h:139
#define JUCE_PUBLIC_IN_DLL_BUILD(declaration)
Definition: juce_StandardHeader.h:145
Definition: juce_ApplicationCommandID.h:83
Definition: juce_Rectangle.h:36
Definition: juce_TextEditor.h:594
Definition: juce_Colour.h:35
virtual void textEditorTextChanged(TextEditor &)
Definition: juce_TextEditor.h:287
void setKeyboardType(VirtualKeyboardType type) noexcept
Definition: juce_TextEditor.h:588
Definition: juce_ListenerList.h:69
virtual void textEditorFocusLost(TextEditor &)
Definition: juce_TextEditor.h:296
virtual ~LookAndFeelMethods()
Definition: juce_TextEditor.h:596
Definition: juce_Component.h:33
virtual ~Listener()
Definition: juce_TextEditor.h:284
bool isPopupMenuCurrentlyActive() const noexcept
Definition: juce_TextEditor.h:190
Definition: juce_MouseEvent.h:329
Definition: juce_TextEditor.h:38
bool isCaretVisible() const noexcept
Definition: juce_TextEditor.h:138
png_const_structrp png_const_inforp int png_fixed_point * width
Definition: juce_PNGLoader.cpp:2339
bool areScrollbarsShown() const noexcept
Definition: juce_TextEditor.h:154
VirtualKeyboardType
Definition: juce_TextInputTarget.h:78
Definition: juce_TextEditor.h:546
Definition: juce_TextEditor.cpp:848
Definition: juce_ApplicationCommandID.h:74
Definition: juce_Array.h:60
Definition: juce_BorderSize.h:39
const Font & getFont() const noexcept
Definition: juce_TextEditor.h:248
Definition: juce_OwnedArray.h:55
Definition: juce_Value.h:44
void setInputFilter(InputFilter *newFilter, bool takeOwnership)
Definition: juce_TextEditor.cpp:1130
Definition: juce_GraphicsContext.h:42
virtual void textEditorReturnKeyPressed(TextEditor &)
Definition: juce_TextEditor.h:290
bool getReturnKeyStartsNewLine() const
Definition: juce_TextEditor.h:90
Range< int > getHighlightedRegion() const override
Definition: juce_TextEditor.h:413
VirtualKeyboardType getKeyboardType() override
Definition: juce_TextEditor.h:640
virtual void textEditorEscapeKeyPressed(TextEditor &)
Definition: juce_TextEditor.h:293
Definition: juce_UndoManager.h:49
Definition: juce_TextEditor.cpp:802
juce_wchar getPasswordCharacter() const noexcept
Definition: juce_TextEditor.h:171
Definition: juce_TextEditor.cpp:62
Definition: juce_ApplicationCommandID.h:68
Definition: juce_MouseEvent.h:36
bool isPopupMenuEnabled() const noexcept
Definition: juce_TextEditor.h:187
wchar_t juce_wchar
Definition: juce_CharacterFunctions.h:49
bool isTabKeyUsedAsCharacter() const
Definition: juce_TextEditor.h:103