Changes between Initial Version and Version 1 of Helpful_Hints_for_Extending_MindSeer

09/26/06 10:31:37 (12 years ago)



  • Helpful_Hints_for_Extending_MindSeer

    v1 v1  
     1This page is largely unformatted now, but should offer a good starting point. 
     4There are 6 main plugin classes/types: 
     5 * FileType - set it up to accept files of the correct type 
     6 * Decoder - read in new Data 
     7 * Data - encapsulate the data itself (these instances are shared between users and so should not contain view information) 
     8 * DataView - encapsulate the view information for a Data object and also wrap a Data object so that it is in the right format for a ViewPort 
     9 * ViewPort display the basic interface for a set of DataView's 
     10 * Controller - provide controls for a view.  A DataView has a DataController for changing the appearance and a ViewPort can also accept ViewControllerS. 
     12For the UI, you need to use special widgets that act as wrappers for Swing.  These are located in edu.washington.biostr.sig.shwing.  They can go over the wire in RMI (Swing isn't designed to do that) and they handle all of the synchronization of the Client and Server instance of MindSeer.  The base class for these widgets is SwingHTMLObject. 
     15the edu.washington.biostr.sig.brainj3d.image package shows how to make a simple Data plugin.  (FileType, Decoder and Data) 
     16the edu.washington.biostr.sig.brainj3d.view package has some more Image related classes that show how to make a simple view. (ViewPort and an incredibly simple DataView). 
     19You can also explore the Controller interfaces.  SurfaceAppearanceController is the simplest nontrivial data controller.