Changeset 1652
- Timestamp:
- 12/05/06 18:17:05 (2 years ago)
- Files:
-
- revtreeplugin/0.10/revtree/enhancer.py (modified) (1 diff)
- revtreeplugin/0.10/revtree/logenhancer.py (modified) (2 diffs)
- revtreeplugin/0.10/revtree/svgview.py (modified) (8 diffs)
- revtreeplugin/0.10/revtree/templates/revtree.cs (modified) (2 diffs)
- revtreeplugin/0.10/revtree/web_ui.py (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
revtreeplugin/0.10/revtree/enhancer.py
r1633 r1652 61 61 for (srcchg, dstchg) in self._creations: 62 62 svgsrcbr = self._svgrevtree.svgbranch(branchname=srcchg.branchname) 63 if svgsrcbr is None: 64 continue 63 65 svgsrcchg = svgsrcbr.svgchangeset(srcchg) 64 66 svgdstbr = self._svgrevtree.svgbranch(branchname=dstchg.branchname) 67 if svgdstbr is None: 68 continue 65 69 svgdstchg = svgdstbr.svgchangeset(dstchg) 66 70 op = SvgOperation(self._svgrevtree, svgsrcchg, svgdstchg, '#5faf5f') revtreeplugin/0.10/revtree/logenhancer.py
r1633 r1652 54 54 for branch in self._repos.branches().values(): 55 55 svgbranch = self._svgrevtree.svgbranch(branch=branch) 56 if not svgbranch: 57 continue 56 58 for chgset in branch.changesets(): 57 59 msg = chgset.changeset.message.lower() … … 94 96 for (srcchg, dstchg) in self._creations: 95 97 svgsrcbr = self._svgrevtree.svgbranch(branchname=srcchg.branchname) 98 svgdstbr = self._svgrevtree.svgbranch(branchname=dstchg.branchname) 99 if not svgsrcbr or not svgdstbr: 100 continue 96 101 svgsrcchg = svgsrcbr.svgchangeset(srcchg) 97 svgdstbr = self._svgrevtree.svgbranch(branchname=dstchg.branchname)98 102 svgdstchg = svgdstbr.svgchangeset(dstchg) 99 103 op = SvgOperation(self._svgrevtree, svgsrcchg, svgdstchg, '#5faf5f') revtreeplugin/0.10/revtree/svgview.py
r1633 r1652 39 39 length = text and len(text) or 0 40 40 return (1+length)*(UNIT/2.5) 41 42 def plink(url): 43 """Create a javascript link to replace the parent window content""" 44 return "javascript:window.parent.location.href='%s'" % url 41 45 42 46 … … 247 251 str(self._revision), FONT_SIZE, FONT_NAME) 248 252 self._text.attributes['style'] = 'fill:%s' % self._textcolor.rgb() 249 self._link = SVG.link( '%s/changeset/%d' % \250 (self._parent.urlbase(), self._revision) ,253 self._link = SVG.link(plink('%s/changeset/%d' % \ 254 (self._parent.urlbase(), self._revision)), 251 255 elements=[self._widget, self._text]) 252 256 if self._revision: … … 298 302 self._position[1]+self._h/2+UNIT/6, 299 303 self._title, FONT_SIZE, FONT_NAME) 300 self._link = SVG.link( '%s/browser/%s' % \301 (self._parent.urlbase(), self._title) ,304 self._link = SVG.link(plink('%s/browser/%s' % \ 305 (self._parent.urlbase(), self._title)), 302 306 elements=[self._widget, self._text]) 303 307 … … 308 312 class SvgBranch(object): 309 313 310 def __init__(self, parent, branch, mode):314 def __init__(self, parent, branch, style): 311 315 self._parent = parent 312 316 self._branch = branch … … 319 323 self._source = branch.source() 320 324 try: 321 self.get_slot = self.__getattribute__('get_%s_slot' % mode)325 self.get_slot = self.__getattribute__('get_%s_slot' % style) 322 326 except AttributeError: 323 raise AssertionError, "Unsupported branch mode: %s" % mode327 raise AssertionError, "Unsupported branch style: %s" % style 324 328 pw = None 325 329 transitions = [] … … 737 741 self._enhancers = [] 738 742 # Trunk branches 739 self.trunks = self.env.config.get('revtree', 'trunks', 'trunk').split(' ') 743 self.trunks = self.env.config.get('revtree', 'trunks', 744 'trunk').split(' ') 740 745 # Dictionnary of branch widgets (branches as keys) 741 746 self._svgbranches = {} … … 800 805 801 806 def create(self, revisions=None, branches=None, authors=None, 802 hidetermbranch=False, mode='compact'):807 hidetermbranch=False, style='compact'): 803 808 if revisions is not None: 804 809 self.revrange = revisions … … 818 823 if not [a for a in authors for x in b.authors() if a == x]: 819 824 continue 820 svgbranch = SvgBranch(self, b, mode)825 svgbranch = SvgBranch(self, b, style) 821 826 self._svgbranches[b] = svgbranch 822 827 revisions.extend([c.rev for c in b.changesets()]) revtreeplugin/0.10/revtree/templates/revtree.cs
r1633 r1652 9 9 10 10 <script type="text/javascript"> 11 var limrev = document.getElementById( "limrev");12 var limperiod = document.getElementById( "limperiod");11 var limrev = document.getElementById('limrev'); 12 var limperiod = document.getElementById('limperiod'); 13 13 var updateActionFields = function() { 14 14 enableControl('period', limperiod.checked); … … 77 77 78 78 <li> 79 <fieldset id="treestyle"> 80 <legend>Style</legend> 81 <div class="field"> 82 <input type="radio" id="compact" name="treestyle" value="compact" <?cs 83 if:revtree.treestyle == "compact" ?> checked="checked"<?cs /if ?>/> 84 <label for="compact">Compact</label> 85 <input type="radio" id="timeline" name="treestyle" value="timeline" <?cs 86 if:revtree.treestyle == "timeline" ?> checked="checked"<?cs /if ?>/> 87 <label for="compact">Timeline</label> 88 </div> 89 </li> 90 91 <li> 79 92 <fieldset id="options"> 80 93 <legend>Options</legend> revtreeplugin/0.10/revtree/web_ui.py
r1633 r1652 31 31 """User revtree properties""" 32 32 33 def __init__(self, env, authname, revspan, timebase ):33 def __init__(self, env, authname, revspan, timebase, style): 34 34 """Initialize the instance with default values""" 35 35 self.env = env … … 47 47 self['period'] = 14 48 48 self['limits'] = 'limperiod' 49 self['treestyle'] = style 49 50 self['branch'] = self.anybranch 50 51 self['author'] = authname or self.anyauthor … … 54 55 """Returns the sequence of supported fields""" 55 56 return [ 'revmin', 'revmax', 'period', 'branch', 'author', 56 'limits', 'hideterm' ]57 'limits', 'hideterm', 'treestyle' ] 57 58 58 59 def load(self, session): … … 127 128 return int(self['hideterm']) == 1 128 129 130 def get_style(self): 131 return self['treestyle'] 132 129 133 def __getitem__(self, name): 130 134 """getter (dictionary)""" … … 172 176 revstore = RevtreeStore(self.env, req.authname, \ 173 177 (self.oldest, self.youngest), 174 self.timebase or int(time.time())) 178 self.timebase or int(time.time()), 179 self.style) 175 180 revstore.load(req.session) 176 181 revstore.populate(req.args) … … 197 202 enhancer = Enhancer(repos, svgrevtree) 198 203 svgrevtree.add_enhancer(enhancer) 199 # FIXME200 mode = 'compact'201 204 #self.env.log.debug("REVISIONS %s" % [revstore.revrange]) 202 205 #self.env.log.debug("BRANCH %s" % revstore.get_branches()) … … 205 208 svgrevtree.create(revstore.revrange, revstore.get_branches(), 206 209 revstore.get_authors(), 207 revstore.get_hidetermbranch(), mode) 210 revstore.get_hidetermbranch(), 211 revstore.get_style()) 208 212 svgrevtree.build() 209 213 svgrevtree.render() … … 310 314 else: 311 315 self.timebase = None 316 self.style = self.config.get('revtree', 'style', 'compact') 317 if self.style not in [ 'compact', 'timeline']: 318 raise TracError, "Unsupported style: %s" % self.style 312 319 313 320 def _get_periods(self):
