Ticket #3662 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Fix template usage

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: major Milestone: Iteration 30
Component: VATES Keywords:
Cc: Blocked By:
Blocking: Tester: Michael Reuter

Description

Entire Presenters in VatesAPI are templated with the ViewType because cannot force Paraview Filters to multi-inherit. This is due to code magic on the Paraview side which is doing source-code editing under the hood.

The problem is that these header files are getting big now and am concerned about template bloat owing to the member templates.

Don't actually need to template the entire presenter. can template concrete separate ViewAdaptee types for MDLoadingView and MDRebinningView. That way all templated code can be taken out of the presenters. See attached UML 2 diagram.

These types will no longer need to be templated:

  • EventLoadingPresenter
  • MDEWLoadingPresenter
  • MDLoadingPresenter
  • MDEWEventNexusLoadingPresenter
  • MDEWRebinningPresenter
  • MDHistogramRebinningPresenter

These small templated types will be created:

  • MDLoadingViewAdapter
  • MDRebinningViewAdapter

These abstract types will not change at all:

  • MDLoadingView
  • MDRebinningView

Attachments

ViewAdapter.png (70.2 KB) - added by Owen Arnold 9 years ago.

Change History

Changed 9 years ago by Owen Arnold

comment:1 Changed 9 years ago by Owen Arnold

Show also unit test adaptee wiring-ups. Ensure that the adpaters are using the adaptees properly!

comment:2 Changed 9 years ago by Owen Arnold

In [14463]:

refs #3677 #3662. 3677 will probably involve adapting/extending the MVP presenters to handle loading from the ADS rather than files. Needed to fix template usage anyway.

comment:2 Changed 9 years ago by Owen Arnold

In [14464]:

refs #3677 #3662. Strip includes out of header files now that not templated.

comment:3 Changed 9 years ago by Owen Arnold

In [14465]:

refs #3677 #3662. Fix warning.

comment:4 Changed 9 years ago by Owen Arnold

  • Status changed from new to accepted

comment:5 Changed 9 years ago by Owen Arnold

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:6 Changed 9 years ago by Michael Reuter

  • Status changed from verify to verifying
  • Tester set to Michael Reuter

comment:7 Changed 9 years ago by Michael Reuter

  • Status changed from verifying to closed

I believe this is working just fine as I have been leaning on the plugins quite hard during the Vates simple interface plugin project and nothing out of the ordinary happened.

comment:8 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 4509

Note: See TracTickets for help on using tickets.