Bug 546115 - Use empty editor area for guiding texts
Summary: Use empty editor area for guiding texts
Status: CLOSED MOVED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.12   Edit
Hardware: PC Mac OS X
: P3 normal with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Marcus Höpfner CLA
QA Contact:
URL:
Whiteboard: usability
Keywords:
Depends on:
Blocks: 577364
  Show dependency tree
 
Reported: 2019-04-04 10:12 EDT by Matthias Becker CLA
Modified: 2023-03-13 12:37 EDT (History)
11 users (show)

See Also:


Attachments
How VScode does it (548.51 KB, image/png)
2019-04-04 10:12 EDT, Matthias Becker CLA
no flags Details
Writing in the empty editor area (6.12 KB, application/x-zip-compressed)
2021-04-16 06:30 EDT, Wim Jongman CLA
no flags Details
First prototype (82.29 KB, image/png)
2021-04-21 11:19 EDT, Matthias Becker CLA
no flags Details
CTabFolder subclass (1.97 KB, text/plain)
2021-10-12 12:51 EDT, Wim Jongman CLA
no flags Details
Snippet using the new CTabFolder (2.66 KB, application/octet-stream)
2021-10-12 12:51 EDT, Wim Jongman CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Becker CLA 2019-04-04 10:12:55 EDT
Created attachment 278146 [details]
How VScode does it

When no editors are open the user currently sees a big empty space on his screen.
We could use this area to provide some guiding / onboarding text.
See how Visual Studio code does it.

We could also show the product's icon there. The question is what exactly would we show there? This list must somehow be extendable by the installed plugins.

And from a technical point of view: 
- How can we draw into that area? Do we need an SWT enhancement here?

I think this would nicely complement the work done in bug 543746.
Comment 1 Lars Vogel CLA 2019-04-04 10:55:14 EDT
+1
Comment 2 Gautier de SAINT MARTIN LACAZE CLA 2019-04-04 16:56:56 EDT
I think it's a good idea. +1
Comment 3 Matthias Becker CLA 2019-04-26 06:41:29 EDT
I don't have any clue how to even start looking around in today's code.
Questions are:
- Where is the rendering code of the empty editor area? Is this just an empty CTabFolder?
- Does the editor area have a corresponding element in the E4 application model?
- ...

Can anybody give some pointers where I should look into and where I can start to debug / play around?
Comment 4 Lars Vogel CLA 2019-04-26 06:59:56 EDT
IIRC AreaRenderer is responsible for rendering the MArea.
Comment 5 Eclipse Genie CLA 2021-04-16 03:49:53 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 6 Lars Vogel CLA 2021-04-16 04:00:35 EDT
I love how Visual Studio Code does this. Please reopen if you have plans to work on this.
Comment 7 Matthias Becker CLA 2021-04-16 04:45:44 EDT
(In reply to Lars Vogel from comment #6)
> I love how Visual Studio Code does this. Please reopen if you have plans to
> work on this.

I would need some hints how to "draw" into the empty editor area to start working on this.
Comment 8 Wim Jongman CLA 2021-04-16 06:30:21 EDT
Created attachment 286110 [details]
Writing in the empty editor area

I made a little plugin to get you started.

1. Register a model addon
2. Find the editor area (CTabFolder)
3. Add a paint listener to the CTabFolder
4. Draw something when it has no items
Comment 9 Matthias Becker CLA 2021-04-21 11:19:38 EDT
Created attachment 286187 [details]
First prototype

(In reply to Wim Jongman from comment #8)
> I made a little plugin to get you started.

Thank you for that. Attached you see my first prototype.

Btw. can somebody tell me how I can format the keySequence out of the MKeyBinding in the same way as it's formatted e.g. in the menu items?
Comment 10 Wim Jongman CLA 2021-04-21 14:04:25 EDT
(In reply to Matthias Becker from comment #9)

> Attached you see my first prototype.

Very nice.
Comment 11 Lars Vogel CLA 2021-05-21 04:10:58 EDT
Matthias, can you convert your prototype to a Gerrit?
Comment 12 Lars Vogel CLA 2021-06-08 10:44:33 EDT
(In reply to Lars Vogel from comment #11)
> Matthias, can you convert your prototype to a Gerrit?

Ping. Would be really nice to have this in for 4.21.
Comment 13 Matthias Becker CLA 2021-06-09 01:28:21 EDT
(In reply to Lars Vogel from comment #12)
> (In reply to Lars Vogel from comment #11)
> > Matthias, can you convert your prototype to a Gerrit?
> 
> Ping. Would be really nice to have this in for 4.21.

I will try my best.
Comment 14 Lars Vogel CLA 2021-06-09 02:59:22 EDT
(In reply to Matthias Becker from comment #13)

> I will try my best.

Happy to help / test if you push the initial state to Gerrit.
Comment 15 Alexander Kurtakov CLA 2021-08-13 16:01:22 EDT
Let's aim for 4.22 M1. There is not enough time to do it proper for 4.21.
Comment 16 Lars Vogel CLA 2021-09-16 10:59:28 EDT
Matthias, is this something you could work on in 4.22?
Comment 17 Marcus Höpfner CLA 2021-10-12 06:59:09 EDT
I tried a little bit and checked what could be done.
The editor area is a CTabFolder. In Matthias' prototype he draws an icon and some shortcuts (commands) using the GraphicalContext.

I wonder whether we could have kind of onboarding capabilities in the CTabFolder itself, maybe even without using the GC then.

I can imagine a composite you pass to the CTabFolder with all the content and layout(data) you like. The CTabFolder (if not CTabItems are created yet), shows this "onboarding composite" then.

Would that be possible? A question to the SWT experts!
What has to be done then?
Comment 18 Wim Jongman CLA 2021-10-12 12:51:12 EDT
Created attachment 287305 [details]
CTabFolder subclass
Comment 19 Wim Jongman CLA 2021-10-12 12:51:50 EDT
Created attachment 287306 [details]
Snippet using the new CTabFolder
Comment 20 Wim Jongman CLA 2021-10-12 12:53:00 EDT
(In reply to Marcus Höpfner from comment #17)

> 
> I can imagine a composite you pass to the CTabFolder with all the content
> and layout(data) you like. The CTabFolder (if not CTabItems are created
> yet), shows this "onboarding composite" then.

That is a great idea. I took a stab at it and it turns out to be very simple.

Please try the attached MyCTabFolder and SnippetCTabFolderWithOnboarding.
Comment 21 Lars Vogel CLA 2021-10-26 04:32:37 EDT
Marcus, can you help with this bug?
Comment 22 Marcus Höpfner CLA 2021-10-26 04:34:32 EDT
Yes I'll do. I'll start mid of November with this.
Comment 23 Mickael Istria CLA 2021-11-10 09:31:46 EST
Too late for 4.22.
Comment 24 Marcus Höpfner CLA 2021-11-11 08:05:37 EST
I wanted to incorporate Wim's CTabFolder implementation.
Unfortunately I didn't find the e4 model of the workbench.
In which plugin is it located?
Comment 25 Lars Vogel CLA 2022-02-03 09:08:14 EST
(In reply to Marcus Höpfner from comment #24)
> I wanted to incorporate Wim's CTabFolder implementation.
> Unfortunately I didn't find the e4 model of the workbench.
> In which plugin is it located?

Marcus, do you still need help with that? I tried to answer that on the mailing list.
Comment 26 Marcus Höpfner CLA 2022-02-04 01:55:05 EST
(In reply to Lars Vogel from comment #25)
> (In reply to Marcus Höpfner from comment #24)
> > I wanted to incorporate Wim's CTabFolder implementation.
> > Unfortunately I didn't find the e4 model of the workbench.
> > In which plugin is it located?
> 
> Marcus, do you still need help with that? I tried to answer that on the
> mailing list.

No thanks (at least not yet).
Business kept me busy. 
I'll try it out next week.
Thanks for the answer.
Comment 27 Marcus Höpfner CLA 2023-03-13 12:37:25 EDT
Moved to https://github.com/eclipse-platform/eclipse.platform.ui/issues/633