diff --git a/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.cpp b/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.cpp index 96f10c9a97..5a2825b9b1 100644 --- a/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.cpp +++ b/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.cpp @@ -147,8 +147,8 @@ class RenameTreeItemCallback : public ModalComponentManager::Callback, public TextEditorListener { public: - RenameTreeItemCallback (JucerTreeViewBase& item_, Component& parent, const Rectangle& bounds) - : item (item_) + RenameTreeItemCallback (JucerTreeViewBase& ti, Component& parent, const Rectangle& bounds) + : item (ti) { ed.setMultiLine (false, false); ed.setPopupMenuEnabled (false); @@ -162,19 +162,24 @@ public: ed.enterModalState (true, this); } - void modalStateFinished (int resultCode) + void modalStateFinished (int resultCode) override { if (resultCode != 0) item.setName (ed.getText()); } - void textEditorTextChanged (TextEditor&) {} - void textEditorReturnKeyPressed (TextEditor& editor) { editor.exitModalState (1); } - void textEditorEscapeKeyPressed (TextEditor& editor) { editor.exitModalState (0); } - void textEditorFocusLost (TextEditor& editor) { editor.exitModalState (0); } + void textEditorTextChanged (TextEditor&) override {} + void textEditorReturnKeyPressed (TextEditor& editor) override { editor.exitModalState (1); } + void textEditorEscapeKeyPressed (TextEditor& editor) override { editor.exitModalState (0); } + void textEditorFocusLost (TextEditor& editor) override { editor.exitModalState (0); } private: - TextEditor ed; + struct RenameEditor : public TextEditor + { + void inputAttemptWhenModal() override { exitModalState (0); } + }; + + RenameEditor ed; JucerTreeViewBase& item; JUCE_DECLARE_NON_COPYABLE (RenameTreeItemCallback) @@ -237,7 +242,7 @@ class JucerTreeViewBase::ItemSelectionTimer : public Timer public: ItemSelectionTimer (JucerTreeViewBase& owner_) : owner (owner_) {} - void timerCallback() { owner.invokeShowDocument(); } + void timerCallback() override { owner.invokeShowDocument(); } private: JucerTreeViewBase& owner; diff --git a/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.h b/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.h index 20edeec73f..3804bc20af 100644 --- a/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.h +++ b/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.h @@ -36,15 +36,15 @@ public: JucerTreeViewBase(); ~JucerTreeViewBase(); - int getItemWidth() const { return -1; } - int getItemHeight() const { return 20; } + int getItemWidth() const override { return -1; } + int getItemHeight() const override { return 20; } - void paintItem (Graphics& g, int width, int height); - void paintOpenCloseButton (Graphics& g, int width, int height, bool isMouseOver); - Component* createItemComponent(); - void itemClicked (const MouseEvent& e); - void itemSelectionChanged (bool isNowSelected); - void itemDoubleClicked (const MouseEvent&); + void paintItem (Graphics& g, int width, int height) override; + void paintOpenCloseButton (Graphics& g, int width, int height, bool isMouseOver) override; + Component* createItemComponent() override; + void itemClicked (const MouseEvent& e) override; + void itemSelectionChanged (bool isNowSelected) override; + void itemDoubleClicked (const MouseEvent&) override; void cancelDelayedSelectionTimer(); @@ -159,13 +159,13 @@ public: g.drawFittedText (message, area.reduced (4, 2), Justification::centred, area.getHeight() / fontHeight); } - void paint (Graphics& g) + void paint (Graphics& g) override { if (emptyTreeMessage.isNotEmpty() && (rootItem == nullptr || rootItem->getNumSubItems() == 0)) drawEmptyPanelMessage (*this, g, emptyTreeMessage); } - void resized() + void resized() override { tree.setBounds (getAvailableBounds()); } @@ -192,7 +192,7 @@ public: setInterceptsMouseClicks (false, true); } - void paint (Graphics& g) + void paint (Graphics& g) override { g.setColour (Colours::black); paintIcon (g); @@ -205,7 +205,7 @@ public: item.isIconCrossedOut()); } - void resized() + void resized() override { item.textX = (int) item.getIconSize() + 8; }