Krotos Modules 3
Loading...
Searching...
No Matches
KrotosLabel.cpp
Go to the documentation of this file.
1#include "KrotosLabel.h"
2
3namespace krotos
4{
5 void KrotosLabel::setEditable(bool editOnSingleClick, bool editOnDoubleClick, bool editOnRightClick,
6 bool lossOfFocusDiscards)
7 {
8 m_editSingleClick = editOnSingleClick;
9 m_editDoubleClick = editOnDoubleClick;
10 m_editRightClick = editOnRightClick;
11 m_lossOfFocusDiscardsChanges = lossOfFocusDiscards;
12
13 const auto isKeybordFocusable = (editOnSingleClick || editOnDoubleClick || editOnRightClick);
14
15 setWantsKeyboardFocus(isKeybordFocusable);
16 setFocusContainerType(isKeybordFocusable ? FocusContainerType::keyboardFocusContainer
17 : FocusContainerType::none);
18
19 invalidateAccessibilityHandler();
20 }
21
22 void KrotosLabel::mouseDown(const MouseEvent& e)
23 {
24 auto modifiers = e.source.getCurrentModifiers();
25 if (modifiers.isRightButtonDown())
26 {
27 if (m_editRightClick && isEnabled())
28 {
29 showEditor();
30 }
31 }
32 else
33 {
34 Label::mouseDown(e);
35 }
36 }
37
38 void KrotosLabel::mouseUp(const MouseEvent& e)
39 {
40 if (m_editSingleClick && isEnabled() && contains(e.getPosition()) &&
41 !(e.mouseWasDraggedSinceMouseDown() || e.mods.isPopupMenu()))
42 {
43 showEditor();
44 }
45 }
46
47 void KrotosLabel::mouseDoubleClick(const MouseEvent& e)
48 {
49 if (m_editDoubleClick && isEnabled() && !e.mods.isPopupMenu())
50 {
51 showEditor();
52 }
53 }
54} // namespace krotos
bool m_editRightClick
Definition KrotosLabel.h:30
void mouseUp(const MouseEvent &e) override
Definition KrotosLabel.cpp:38
bool m_lossOfFocusDiscardsChanges
Definition KrotosLabel.h:31
bool m_editDoubleClick
Definition KrotosLabel.h:29
void mouseDown(const MouseEvent &e) override
Definition KrotosLabel.cpp:22
void setEditable(bool editOnSingleClick, bool editOnDoubleClick=false, bool editOnRightClick=false, bool lossOfFocusDiscards=false)
Definition KrotosLabel.cpp:5
void mouseDoubleClick(const MouseEvent &e) override
Definition KrotosLabel.cpp:47
bool m_editSingleClick
Definition KrotosLabel.h:28
Definition AirAbsorptionFilter.cpp:2