Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ice-dev] Starting fine-grained UI refactor

Everyone,

We are starting the fine-grained UI refactor, which is happening in the jay/UIRefactor branch.

We have some very brave students at Purdue that are starting to work on this with me. I just made a commit that included some brief documentation updates to ICEFormEditor to outline where we need interfaces and a couple of examples of what we need. Work will progress like this:
1.) We identify, design and generate all necessary interfaces.
2.) We create an extension point for IPageProvider.
3.) We provide default implementations of the interfaces that use code already available in and moved from the ICEFormEditor.
4.) We create SWTBot tests for each default implementation.
5.) We register DefaultPageProvider as an Extension that provides IPageProvider.

ICEFormEditor will be completely refactored once we complete 5 AND we will have nearly 100% test coverage on our current UI. This would be an awesome outcome on its own, but there is more work waiting.

6.) We add a "contextId" or similar UI element to the Identifiable interface.
7.) We refactor each default implementation to use the context id to locate the appropriate sub-interfaces that it should use. So, DefaultPageProvider would switch between default providers for individual pages, each individual page would switch between the types of sections it uses, etc.
8.) We drink to victory! ;-)

Please let me know if you have questions about this or would like to help us out. This should be a really fun refactor that greatly extends the power of the platform.

Jay

--
Jay Jay Billings
Oak Ridge National Laboratory
Twitter Handle: @jayjaybillings

Back to the top