neilcsmith-net opened a new pull request, #7239: URL: https://github.com/apache/netbeans/pull/7239
This PR provides a new, in-development, Dashboard API in the platform, and uses it to provide a replacement for the current Welcome page in the IDE. A widget is a way of contextually grouping actions, textual information, images and links on a dashboard. A widget is a logical description of these elements (similar perhaps to NotifyDescriptor) - a dashboard displayer handles actual rendering to a UI, providing ability to unify design, or output other than with Swing. Widgets are registered in the layer (`Dashboard/Widgets`) and referenced where used (currently just `Dashboard/Main`). The idea is to allow for future customization similar to how toolbars reference actions, and to allow alternative contextual dashboards, such as perhaps an editor dashboard providing a customizable quick overview of the file in question. Why an API? Well, initially I was writing this for two platform applications that need to collate and show information from different modules. It overlapped with improvements I think need to be made to the current Welcome page, which looks out of place now, and doesn't "grow" with the user to remain a useful tool. Ideally, widgets get provided by modules in the same way that actions are, rather than all residing within the IDE welcome page replacement. The addition of two friend API here provides evidence of why we might want to do that in future, and means that at the moment, those widgets could not be replicated in a platform application. We might also provide additional widgets that the user can add as they get more experienced. Post NB22 development should (and will from me) focus on adding customization, layer generating annotations, additional widgets and stabilization. Possibly also an overlay displayer in addition to top component. I realise this is a somewhat large change close to freeze. I was hoping to get it in a bit earlier, and realise it is likely to require some discussion, additional testing and tweaks. Would love to get it in to NB22 though - I'd still like to use it in those platform applications! Current dashboard display with light and dark themes -   -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
