Disable hover effect on field borders for now (it causes redraw issues on some templates)

This commit is contained in:
Twan van Laarhoven
2020-04-29 21:29:01 +02:00
parent d64dee7834
commit f92c09e87a
+6 -4
View File
@@ -18,6 +18,8 @@
#include <wx/caret.h> #include <wx/caret.h>
#include <boost/iterator/filter_iterator.hpp> #include <boost/iterator/filter_iterator.hpp>
const bool draw_hover_borders = false;
// ----------------------------------------------------------------------------- : DataEditor // ----------------------------------------------------------------------------- : DataEditor
DataEditor::DataEditor(Window* parent, int id, long style) DataEditor::DataEditor(Window* parent, int id, long style)
@@ -40,7 +42,7 @@ ValueViewerP DataEditor::makeViewer(const StyleP& style) {
DrawWhat DataEditor::drawWhat(const ValueViewer* viewer) const { DrawWhat DataEditor::drawWhat(const ValueViewer* viewer) const {
int what = DRAW_NORMAL int what = DRAW_NORMAL
| DRAW_ACTIVE * viewerIsCurrent(viewer) | DRAW_ACTIVE * viewerIsCurrent(viewer)
| DRAW_HOVER * (viewer == hovered_viewer); | DRAW_HOVER * (draw_hover_borders && viewer == hovered_viewer);
if (nativeLook()) { if (nativeLook()) {
what |= DRAW_BOXES | DRAW_EDITING | DRAW_NATIVELOOK | DRAW_ERRORS; what |= DRAW_BOXES | DRAW_EDITING | DRAW_NATIVELOOK | DRAW_ERRORS;
} else { } else {
@@ -312,10 +314,10 @@ void DataEditor::onMotion(wxMouseEvent& ev) {
ValueEditor* e = old_hovered_viewer->getEditor(); ValueEditor* e = old_hovered_viewer->getEditor();
RealPoint pos = mousePoint(ev, *hovered_viewer); RealPoint pos = mousePoint(ev, *hovered_viewer);
if (e) e->onMouseLeave(pos, ev); if (e) e->onMouseLeave(pos, ev);
redraw(*old_hovered_viewer); if (draw_hover_borders) redraw(*old_hovered_viewer);
} }
if (hovered_viewer && hovered_viewer != old_hovered_viewer) { if (hovered_viewer && hovered_viewer != old_hovered_viewer) {
redraw(*hovered_viewer); if (draw_hover_borders) redraw(*hovered_viewer);
} }
// change cursor and set status text // change cursor and set status text
wxFrame* frame = dynamic_cast<wxFrame*>( wxGetTopLevelParent(this) ); wxFrame* frame = dynamic_cast<wxFrame*>( wxGetTopLevelParent(this) );
@@ -340,7 +342,7 @@ void DataEditor::onMouseLeave(wxMouseEvent& ev) {
if (hovered_viewer) { if (hovered_viewer) {
ValueEditor* e = hovered_viewer->getEditor(); ValueEditor* e = hovered_viewer->getEditor();
if (e) e->onMouseLeave(mousePoint(ev,*hovered_viewer), ev); if (e) e->onMouseLeave(mousePoint(ev,*hovered_viewer), ev);
if (hovered_viewer) redraw(*hovered_viewer); if (draw_hover_borders && hovered_viewer) redraw(*hovered_viewer);
hovered_viewer = nullptr; hovered_viewer = nullptr;
} }
// clear status text // clear status text