A Free Java Library for TreeMap Visualization Christophe Bouthier Ph.D. Student ECOO team LORIA, France Plan of the presentation • Use case : states treemap • The Java TreeMap Library • Planned evolution [email protected] 2 A Treemap usage • Use case • The library • Futur • Motu project - Research prototype (http://motu.sf.net/) - Accepted paper to CRIWG 2001 • Classic CSCW scenario : - version management in a design project • Treemaps : - files states visualization - « workspace awareness » (Gutwin & Greenberg) [email protected] 3 • Use case • The library • Futur Copy-Modify-Merge Repository V1 V2 V3 Workspace User A [email protected] V2 V3 V4 V2 V3 V4 Workspace User B 4 • Use case • The library • Futur Files states • • • • : Nothing to do Up-to-date Locally modified : You have modified this file Remotely modified : Somebody else is modifying this fil Potentially conflict : You and somebody else have modifi this file • Need update • Will conflict [email protected] : A new version is on the server : … and you have modified this file 5 • Use case • The library • Futur States Treemap : example Repository F1 F2 V2 V3 V1 V1 V2 Commit Edit Commit Update Edit F2 F1 F2 F1 Workspace User A [email protected] F1 F1 F1 V1 V2 V3 F2 F2 V1 V2 • • • • • • Up-to-date Locally modified Remotely modified Potentially conflict Need update Will conflict F1 F2 V2 V3 V1 V2 V1 Update Commit Update EditF2F1F1 Workspace User B 6 • Use case • The library • Futur Why a treemap library ? • Existing treemaps are : - standalone applications - specialized for specific task Unreusable • If you want treemaps in your project : - existing treemaps could not be reused - you should reimplement treemaps from scratch Need of a «TreeMap Visualization» toolkit ! [email protected] 7 Treemap widget • Use case • The library • Futur • Ready to be used • Can be combined with other widgets • Dynamic multi-threaded update : - if data changed - if data added or removed • Really fast, even for several thousands of nodes • Free (MIT license) [email protected] 8 Data representation • Use case • The library • Futur • Programmer can specify algorithms : - in charge of nodes’ filling - in charge of nodes’ size • Algorithms can be changed dynamically • Filling could be : - a color - a pattern [email protected] 9 Treemap representation • Use case • The library • Futur • 2 orthogonal presentation properties : - treemap classic or nested - treemap classic or squarified - a treemap can be nested AND squarified • Provided configuration view : - dynamic - property on/off - size of nested border [email protected] 10 • Use case • The library • Futur Code sample TMNode root; // root of the data tree // build internal structures TreeMap treemap = new TreeMap(root); TMComputeSize cs; TMComputeDraw cd; // algorithm computing nodes’ size // algorithm computing nodes’ filling // Get a treemap view widget TMView view = treemap.getView(cs, cd); [email protected] 11 In the near futur... • Use case • The library • Futur • To be added : - nodes attributes • • every data will be acceded the same way display of node name in the treemap - dynamic queries • on nodes attributes - user interaction • • zoom file selection [email protected] 12 In the near futur... • Use case • The library • Futur • Compatibility - Swing TreeModel - TreeMap 2000 file format • The Java TreeMap Library - http://sf.net/projects/treemap/ - http://treemap.sf.net/ [email protected] 13
© Copyright 2026 Paperzz