Commit Graph

339 Commits

Author SHA1 Message Date
Daniil Ovchinnikov
c3cebbf8dd move ExperimentalUI to intellij.platform.core.ui
GitOrigin-RevId: 9bf55dab6a2d5c0be392634dd31b18efaf401b45
2024-09-02 19:10:22 +00:00
Alexander Lobas
c29f98c531 IJPL-159937 Notifications background color differs from text block
GitOrigin-RevId: e66679579832d04c54d8cb98f5c779643466665c
2024-08-09 12:20:32 +00:00
Gregory.Shrago
73fa59a5ab introduce DataSink.lazyNull
`DataSink.lazy` cannot be used to provide EXPLICIT_NULL like `DataSink.set`.

GitOrigin-RevId: 89fc911302fce04c26cef835b41e9c4c0cb47d4b
2024-08-09 10:05:06 +00:00
Gregory.Shrago
1b1158f4d1 introduce UiDataProvider.wrapComponent
GitOrigin-RevId: c73b024b030a002743837e8ebfdfa296d40b25d4
2024-08-07 21:37:27 +00:00
Gregory.Shrago
c98b16d7a2 migrate non-typesafe getData: community
GitOrigin-RevId: 9925045d5302a768b5f57d9f965c96c631d14114
2024-08-07 02:37:34 +00:00
Gregory.Shrago
302776fd2f obsolete non-typesafe DataProvider
GitOrigin-RevId: fa4cece723d51d86896af11dfbe33102e05e40ef
2024-08-05 01:36:04 +00:00
Gregory.Shrago
720b05c901 deprecate non-typesafe DataContext.getData
GitOrigin-RevId: bffc15390409997038e4ad8d56cc1b403d4d5a1c
2024-08-05 01:36:04 +00:00
Daniil Ovchinnikov
7e3390a939 IJPL-150347 treat @NonExtendable classes as effectively final
GitOrigin-RevId: 273fb2a330cb67183be538890ae5c2c53aa9acf8
2024-07-08 23:18:28 +00:00
Gregory.Shrago
992c2bcaaf update api-dumps
GitOrigin-RevId: eec2e6dfd60daba323af1adda8c696fd3514da86
2024-06-22 20:48:12 +00:00
Gregory.Shrago
430aa70e4e improve documentation for UiDataProvider interfaces
GitOrigin-RevId: d2bf5131e2e98768e009b07755ad8f76a09fa358
2024-06-22 20:48:06 +00:00
Gregory.Shrago
51efd9e1b6 rename EdtDataProvider to UiDataProvider
`EdtDataRule` becomes `UiDataRule`. As previously, the name now reflects the data it operates on. It makes the fact rules are called in EDT and BGT less confusing

GitOrigin-RevId: 68f0f3451053ff387f90394872606434852aa32b
2024-06-22 20:48:01 +00:00
Ivan Semenov
d879f784b8 [ui/collab/space] hide non-public APIs from API
GitOrigin-RevId: 2c685e347d1d8d21c9c034a0dbd9f58448cab4ae
2024-06-19 16:21:22 +00:00
Gregory.Shrago
d0be6fa158 add extensibility annotations to DataContext and DataProvider
GitOrigin-RevId: c7f7e91578b3d0d8af5e50f36ea9787bd43a85c4
2024-06-17 20:26:14 +00:00
Vladimir Krivosheev
69fe677cde IJPL-796 refactor JavaFileIconPatcher
GitOrigin-RevId: c15082085eda3160d89a94424d4303c06d71ed8e
2024-06-15 19:18:53 +00:00
Vladimir Krivosheev
776960cf7e IJPL-796 add editor window when tab is already set
GitOrigin-RevId: 078c7408080fd2c1168d38a48aab24a6d594dd91
2024-06-15 19:18:51 +00:00
Daniil Ovchinnikov
dfc7f89fee IJPL-797 clean up
GitOrigin-RevId: 553a74559a3b73a706cbfc2386c7045bf7df77e8
2024-06-13 17:35:46 +00:00
Sergei Tachenov
cd35e7d9ec IJPL-797 intellij.platform.core.ui review internal API
Review is done. Most of the API was left alone because
it's a module intended for public API in the first place,
and it's often not obvious what should be public and
what shouldn't.

GitOrigin-RevId: 8ce40863e4531a20abbc510ca3725aae74fe2250
2024-06-11 14:47:09 +00:00
Sergei Tachenov
a9bcc2eb4b IJPL-797 intellij.platform.core.ui review internal API
Make TextHoledIcon internal.
A very specific implementation for just one place.
No external usages. And one internal API exposure.

GitOrigin-RevId: 0dbb9ffac7d00af59cd316a44bc3a9eda25cf56e
2024-06-11 14:47:09 +00:00
Sergei Tachenov
44fccd8302 IJPL-797 intellij.platform.core.ui review internal API
Make ScalingDeferredSquareImageIcon internal.
Only used internally in one place and looks like it's
a very specific use case.

GitOrigin-RevId: 0a88aa6ef2e600618ee501bda462498bb6a154ba
2024-06-11 14:47:09 +00:00
Sergei Tachenov
5768682288 IJPL-797 intellij.platform.core.ui review internal API
Make CropIcon internal. Looks like it was exposed only
for the sake of Rider models.

GitOrigin-RevId: f3b9b3bd8176e55d35383a5b160b22dd8171a7eb
2024-06-11 14:47:09 +00:00
Sergei Tachenov
f5304d3d8a IJPL-797 intellij.platform.core.ui review internal API
Make RightAlignedLabelUI internals private.
These are very old functions without external usages
with signatures that don't look like they're supposed
to be called from anywhere else.

GitOrigin-RevId: 5bba3dcf6bab439fba11e0ae0bfaa36dc86fcdbf
2024-06-11 14:47:09 +00:00
Sergei Tachenov
e7a876d6ea IJPL-797 intellij.platform.core.ui review internal API
Make com.intellij.ui.LayeredIcon.updateSize private.
It's definitely an implementation detail: a private flag
determines when it should be called, and its signature
has changed once already. No external usages either.

GitOrigin-RevId: 1a51aecdcb93b5d84245e3e103663f098cecab60
2024-06-11 14:47:09 +00:00
Sergei Tachenov
1bb4c5ea72 IJPL-797 intellij.platform.core.ui review internal API
Make com.intellij.ui.IconDescriptionBundleEP.EP_NAME internal.
As per the general rule for EP names. No external usages.

GitOrigin-RevId: e5673e9a6786d008353e9dfbde359dd16e64d407
2024-06-11 14:47:08 +00:00
Sergei Tachenov
ba2e1b63f0 IJPL-797 intellij.platform.core.ui review internal API
Make com.intellij.ide.UiActivity.isSameOrGeneralFor internal.
No external usages and it seems it's for internal use.

GitOrigin-RevId: 4b146ff612f9bff469e8d2ce8e3c9585073c5e83
2024-06-11 14:47:08 +00:00
Gregory.Shrago
fb0d89a8ef drop error on kotlin functions as data providers
Java chooses the most specific method for SAM.
But kotlin prefers its own functions.

Fixes
IJPL-156284 Stash: apply and pop buttons are always disabled

GitOrigin-RevId: ac2a0471a8fcd668f57db63550a80d0a476e29ca
2024-06-10 11:42:21 +00:00
Gregory.Shrago
27df1c720b drop "out T" in DataKey<T>
The idea was to name `DataSink.set` & `DataSink.setLazy` identically. It didn't work out due to present Kotlin limitations.

GitOrigin-RevId: afca5c67ebf017f72afc37fe6ac986aac6e72097
2024-06-10 00:20:09 +00:00
Gregory.Shrago
375b6deaf1 update api-dumps
GitOrigin-RevId: a2f9906ed751fbca612238d29e2c01eb22390bf6
2024-06-07 18:27:17 +00:00
Gregory.Shrago
3bae155910 convert DataKey to kotlin
GitOrigin-RevId: 4532ca2961456b6ce74264cc5544cd0b83d84500
2024-06-07 18:27:17 +00:00
Gregory.Shrago
bb0ea4195e Rename .java to .kt
GitOrigin-RevId: 8972932088d0c75b44f6c9f85e57f748a118aa32
2024-06-07 18:27:17 +00:00
Gregory.Shrago
05070ee65f update api-dumps
GitOrigin-RevId: c430d8faf7535b38de154de51def60231c8643c0
2024-06-04 23:28:22 +00:00
Gregory.Shrago
ae09fd02f2 IJPL-888 Introduce EdtDataProvider and EdtDataRule
GitOrigin-RevId: 6cbf30f9f1480833be5b2a141056b8d57905dd4f
2024-06-04 23:28:22 +00:00
Daniil Ovchinnikov
6226776bd0 IJPL-148997 exclude non-abstract toString() from the API dump
GitOrigin-RevId: 6352bbb374532bca296d08131ae50083f69e46c0
2024-05-29 00:05:31 +00:00
Nikolay Chashnikov
42b2cd3e14 mark members used from other modules as public and add @ApiStatus.Internal annotation to them instead (IJPL-149126)
This is needed to avoid 'IllegalAccessError' if different modules are loaded by different classloaders.

GitOrigin-RevId: 99113e2a8bee471332174bd2710eccf9b47ebb67
2024-05-02 08:45:51 +00:00
Daniil Ovchinnikov
b03b92e140 IJPL-148490 clean up empty file-classes from existing dumps
GitOrigin-RevId: ca701387e601a76ae25a3a31ca0a02432126e0fb
2024-04-30 20:39:42 +00:00
Alexey Kudravtsev
217a688b9b javadoc, cleanup
GitOrigin-RevId: a55ff14618f0ab0e4f9744cd1c74d1b764cd18de
2024-04-23 14:50:12 +00:00
Gregory.Shrago
32d7f4c854 WI-76943 Performance degradation after refactoring of icons
Stop leaking PSI via `DeferredIconImpl` by introducing `IconUtil.deepRetrieveIconNow` into the picture.

GitOrigin-RevId: 75971d2b17b71e7e90472ad3d68027bf6affbaab
2024-04-09 15:03:25 +00:00
Daniil Ovchinnikov
0ceb137057 IJPL-797 API dump: generate api-dump-unreviewed.txt and exposed API lists [1/4]
GitOrigin-RevId: 372e767101ed7821a6ef860d7be96f1c536833ef
2024-04-09 02:07:00 +00:00
Gregory.Shrago
d14c7271b0 make PSI and VFS icon calculation consistent
1. Keep fast PSI icon providers but run VFS patchers over their results
2. (Avoid recursion in `ElementBase` and `PsiBasedFileIconProvider`)
3. Add test to assert same psi/vfs file/dir icons

Fixes
IJPL-714 PsiDirectory ignores FileIconProvider EP
IJPL-939 PsiIconUtil.getProvidersIcon ignores FileIconPatcher EP

GitOrigin-RevId: 948129ab4b9a9195a32d4b2a4ec191bcbd647d80
2024-03-29 18:02:04 +00:00
Sergei Tachenov
8e6c2bc064 IDEA-295555 Add null checks for PredefinedIconOverlayService
GitOrigin-RevId: c70a8b62313c78c6fa756bdff961e9a891c2f8d9
2024-03-01 10:03:53 +00:00
Sergei Tachenov
f152539a3a IDEA-295555 Create PredefinedIconOverlayService
It's needed because we need ExperimentalUI.isNewUI
to create these icons, and we can't access it from IconUtil.kt
where we actually need to create a symlink icon.

GitOrigin-RevId: 03ca72e672cd1f0b3722d54a6039fc2c728fa7bb
2024-02-25 09:00:15 +00:00
Sergei Tachenov
765c628a67 IDEA-295555 Fix symlink icon overlay for selected icons
The issue was caused by the class not implementing
replaceBy/copy/deepCopy methods correctly, which caused
the icon to be replaced by a regular LayeredIcon without
the overlay at some point.

GitOrigin-RevId: 0a104dfd8a03be47b74a15b0c5734a60774c28d3
2024-02-25 09:00:11 +00:00
Dmitry Batkovich
38a0af1b36 make FileIconPatcher work in dumb mode by default IJPL-380
GitOrigin-RevId: bb191dd326677209397a967652ca7b360c74eb00
2024-01-22 23:19:52 +00:00
Vladimir Krivosheev
ce38e3e520 IDEA-336226 DeferredIconImpl - do not use scaledDelegateIcon to compute hash code, as scaledDelegateIcon maybe changed (and hash code must be not changed), LayeredIcon - use object identity as hash code
GitOrigin-RevId: 20168ffa8f2d0558e099b867088c4fae8d272e1b
2024-01-08 19:25:51 +00:00
Dmitry Batrak
89e0420ca9 RDCT-44 Editor tab icon is not shown until hovered
Merge-request: IJ-MR-117795
Merged-by: Dmitry Batrak <Dmitry.Batrak@jetbrains.com>

GitOrigin-RevId: 5341f212164a002eb8f04daa2393b748acf88ad7
2023-11-01 04:09:16 +00:00
Aleksey Pivovarov
9245395e32 ui: restore backward compatibility
GitOrigin-RevId: 87cc1729c3ff160dae6c9016f96521841c7ae808
2023-10-23 09:22:25 +00:00
Aleksey Pivovarov
cf1927b1d1 ui: move OverlaidOffsetIconsIcon to platform
GitOrigin-RevId: deb26974f38a149e614adc49cd2ad0bb5eaef441
2023-10-23 09:22:23 +00:00
Vladimir Krivosheev
f577422854 IJPL-303 Refactor IconUtil.kt for readability and efficiency
The commit simplifies and optimizes the computeFileIcon method in IconUtil.kt by extracting part of its contents into a private function computeFileIconImpl. This reduces redundancy and facilitates better comprehension of the code. The rearrangement also leads to a more efficient code structure. Other utility methods have also been moved for better organization.

GitOrigin-RevId: baf874fc563c6187f745f04b287c6e52bafd02cd
2023-10-22 18:50:03 +02:00
Vladimir Krivosheev
eb2b831e98 IDEA-335144 serializable CachedImageIcon resolver
GitOrigin-RevId: 056254d28b2634e1b537635ba026ca940ac082c5
2023-10-18 23:33:28 +02:00
Vladimir Krivosheev
03dbf997f0 IDEA-335157 use raw icon size to compute base for a new scale
GitOrigin-RevId: e6250e04e31ae47557e26ce4b14a322548b26735
2023-10-18 00:05:20 +00:00
Vladimir Krivosheev
b61b04f1d9 IDEA-334488 Wrong colors of the main toolbar icons in Light theme and Compact mode
GitOrigin-RevId: ee07a56431d3fcb1521e5d159b139bce8ca79a4b
2023-10-16 20:41:10 +02:00