From 7f7a5bd3ac4307c0dbf3c56355d2c1c8429216e9 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 30 Aug 2025 18:55:16 +0200 Subject: [PATCH] Bugfix: properly integrating newborn plugins --- src/laybasic/laybasic/layLayoutViewBase.cc | 23 ---------------------- src/laybasic/laybasic/layMouseTracker.h | 5 +++++ src/laybasic/laybasic/layMove.h | 5 +++++ src/laybasic/laybasic/laySelector.h | 5 +++++ src/laybasic/laybasic/layZoomBox.h | 5 +++++ 5 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/laybasic/laybasic/layLayoutViewBase.cc b/src/laybasic/laybasic/layLayoutViewBase.cc index 7320fae7e..571329636 100644 --- a/src/laybasic/laybasic/layLayoutViewBase.cc +++ b/src/laybasic/laybasic/layLayoutViewBase.cc @@ -769,14 +769,6 @@ LayoutViewBase::configure (const std::string &name, const std::string &value) { lay::Dispatcher::configure (name, value); - if (mp_move_service && mp_move_service->configure (name, value)) { - return true; - } - - if (mp_tracker && mp_tracker->configure (name, value)) { - return true; - } - if (name == cfg_default_lyp_file) { m_def_lyp_file = value; @@ -1425,14 +1417,6 @@ LayoutViewBase::config_finalize () void LayoutViewBase::enable_edits (bool enable) { - // enable or disable these services: - if (mp_selection_service) { - mp_selection_service->enable (enable); - } - if (mp_move_service) { - mp_move_service->enable (enable); - } - // enable or disable the services that implement "lay::ViewService" for (std::vector::iterator p = mp_plugins.begin (); p != mp_plugins.end (); ++p) { lay::ViewService *svc = (*p)->view_service_interface (); @@ -4843,13 +4827,6 @@ LayoutViewBase::background_color (tl::Color c) do_set_background_color (c, contrast); - if (mp_selection_service) { - mp_selection_service->set_colors (c, contrast); - } - if (mp_zoom_service) { - mp_zoom_service->set_colors (c, contrast); - } - // Set the color for all ViewService interfaces for (std::vector::iterator p = mp_plugins.begin (); p != mp_plugins.end (); ++p) { lay::ViewService *svc = (*p)->view_service_interface (); diff --git a/src/laybasic/laybasic/layMouseTracker.h b/src/laybasic/laybasic/layMouseTracker.h index 7be70a9aa..d7a8a5934 100644 --- a/src/laybasic/laybasic/layMouseTracker.h +++ b/src/laybasic/laybasic/layMouseTracker.h @@ -46,6 +46,11 @@ public: bool leave_event (bool prio); bool configure (const std::string &name, const std::string &value); + lay::ViewService *view_service_interface () + { + return this; + } + private: lay::LayoutViewBase *mp_view; tl::shared_collection mp_markers; diff --git a/src/laybasic/laybasic/layMove.h b/src/laybasic/laybasic/layMove.h index 485bbc199..0fe112aef 100644 --- a/src/laybasic/laybasic/layMove.h +++ b/src/laybasic/laybasic/layMove.h @@ -47,6 +47,11 @@ public: void finish (); void cancel (); + lay::ViewService *view_service_interface () + { + return this; + } + private: virtual bool mouse_press_event (const db::DPoint &p, unsigned int buttons, bool prio); virtual bool mouse_click_event (const db::DPoint &p, unsigned int buttons, bool prio); diff --git a/src/laybasic/laybasic/laySelector.h b/src/laybasic/laybasic/laySelector.h index 7fd2036f4..d4f29dbd3 100644 --- a/src/laybasic/laybasic/laySelector.h +++ b/src/laybasic/laybasic/laySelector.h @@ -57,6 +57,11 @@ public: SelectionService (lay::LayoutViewBase *view); ~SelectionService (); + lay::ViewService *view_service_interface () + { + return this; + } + void set_colors (tl::Color background, tl::Color color); void begin (const db::DPoint &pos); diff --git a/src/laybasic/laybasic/layZoomBox.h b/src/laybasic/laybasic/layZoomBox.h index ff2c5e866..93fe9bbec 100644 --- a/src/laybasic/laybasic/layZoomBox.h +++ b/src/laybasic/laybasic/layZoomBox.h @@ -46,6 +46,11 @@ public: void begin (const db::DPoint &pos); void begin_pan (const db::DPoint &pos); + lay::ViewService *view_service_interface () + { + return this; + } + private: virtual bool mouse_move_event (const db::DPoint &p, unsigned int buttons, bool prio); virtual bool mouse_release_event (const db::DPoint &p, unsigned int buttons, bool prio);