From e0624e9192dad8ffc86d323577bb90065a433a5a Mon Sep 17 00:00:00 2001 From: Ivan Semenov Date: Wed, 2 Jul 2025 13:16:41 +0200 Subject: [PATCH] [ui] ability to remove a tab mouse listener GitOrigin-RevId: 3a8c9b9b32c354cf6ccf10ed3b1ca7c0273d54e3 --- platform/platform-api/api-dump.txt | 1 + platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java | 3 +++ .../src/com/intellij/ui/tabs/impl/JBTabsImpl.kt | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/platform/platform-api/api-dump.txt b/platform/platform-api/api-dump.txt index e35bcdf7a4de..2ca7ac27ff7f 100644 --- a/platform/platform-api/api-dump.txt +++ b/platform/platform-api/api-dump.txt @@ -962,6 +962,7 @@ com.intellij.ui.tabs.JBTabs - a:processDropOver(com.intellij.ui.tabs.TabInfo,com.intellij.ui.awt.RelativePoint):V - a:removeAllTabs():V - a:removeTab(com.intellij.ui.tabs.TabInfo):com.intellij.openapi.util.ActionCallback +- a:removeTabMouseListener(java.awt.event.MouseListener):com.intellij.ui.tabs.JBTabs - a:requestFocus():V - a:resetDropOver(com.intellij.ui.tabs.TabInfo):V - a:select(com.intellij.ui.tabs.TabInfo,Z):com.intellij.openapi.util.ActionCallback diff --git a/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java b/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java index 4589bcc38e9b..9ff991fdef30 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java @@ -54,6 +54,9 @@ public interface JBTabs extends DropAreaAware { @NotNull JBTabs addTabMouseListener(@NotNull MouseListener listener); + @NotNull + JBTabs removeTabMouseListener(@NotNull MouseListener listener); + JBTabs addListener(@NotNull TabsListener listener); JBTabs addListener(@NotNull TabsListener listener, @Nullable Disposable disposable); diff --git a/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.kt b/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.kt index fea77f59f084..76a3436eaacc 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.kt +++ b/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.kt @@ -2746,6 +2746,13 @@ open class JBTabsImpl internal constructor( return this } + override fun removeTabMouseListener(listener: MouseListener): JBTabs { + removeListeners() + tabMouseListeners.remove(listener) + addListeners() + return this + } + override fun getComponent(): JComponent = this private fun addListeners() {