## page was renamed from RFCTemplate ## This template may be useful for creating new RFC's (Request for comments) ## This is a wiki comment - leave these in so that people can see them when editing the page || '''RFC Name''' : ... || '''Editor(s)''': ... || <> == About this document == This is an official Request for Comment (RFC) for '''Layers/Annotation/UI for custom nodes'''. For details on RFCs in general, check out the [[http://www.answers.com/main/ntquery?method=4&dsid=2222&dekey=Request+for+Comments&gwp=8&curtab=2222_1&linktext=Request%20for%20Comments|Wikipedia Entry: Request for Comments (RFCs)]] == Status == May 15, 2007 (not yet completely written) A proof-of-concept implementation has been created and formed the basis of the B''''''ubbleRouter Plugin. == How to Comment == To view/add comments, click on any of 'Comment' links below. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Here is an example to get things started: [[/Comment]]. '''Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.''' == Proposal == It has been deemed useful to provide the ability to draw graphical annotations on a network. In this context, annotations are anything one might find or a GenMAPP diagram, ie brackets, brackets, legends, etc. ##The sections below may be useful when creating an RFC, delete the ones that are not == Requirements == * annotations drawn using Cytoscape editor * annotations appear above or below network layer (node/edge attributes remain as is) * selected node(s) should appear above unselected node(s) * annotations supported: labels, brackets, braces == Implementation (Prototype) == * N''''''etworkViewManager creates a JI''''''nternalFrame that wraps the newly created C''''''yNetworkView * A new class, I''''''nternalFrameComponent is constructed with a reference to both the JI''''''nternalFrame and DG''''''raphView (C''''''yNetworkView). This class contains references to D''''''ingCanvas(es). The I''''''nternalFrameComponent is responsible for setting up the properly z-ordering of the D''''''ingCanvas(es) in the JI''''''nternalFrame. * D''''''ingCanvas is an abstract class that is extended by both the I''''''nnerCanvas and a new class, A''''''rbitraryGraphicsCanvas. The former is part of the Ding library and renders network models. The latter is a new class which is responsible for rendering annotations. == Notes == * remove inner canvas listener/event - use contentChanged event * to support selected node(s) above unselected node(s), changes can be limited to G''''''raphRendering class, using 2 pass alpha compositing * need to open up T''''''extRenderingUtils to allow rendering of labels on A''''''rbitraryGraphicsCanvas(es) == Comments == * do we need to consider when and when not to draw annotations? Should we be checking against level of detail in the renderer before drawing annotations? How would this relate to drawing fixed-size annotations such as legends?