b93ce4197e7f5026a1c8deeb79cbd00aa3f86d91JazzyNico#!/usr/bin/env python
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches'''
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. SanchesCopyright (C) 2011 Felipe Correa da Silva Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. SanchesThis program is free software; you can redistribute it and/or modify
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanchesit under the terms of the GNU General Public License as published by
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanchesthe Free Software Foundation; either version 2 of the License, or
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches(at your option) any later version.
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. SanchesThis program is distributed in the hope that it will be useful,
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanchesbut WITHOUT ANY WARRANTY; without even the implied warranty of
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. SanchesMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. SanchesGNU General Public License for more details.
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. SanchesYou should have received a copy of the GNU General Public License
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanchesalong with this program; if not, write to the Free Software
107e00c8104649437b9520d0ba298dba659e7cd7JazzyNicoFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches'''
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanchesimport inkex
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanchesclass PreviousLayer(inkex.Effect):
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches def __init__(self):
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches inkex.Effect.__init__(self)
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches def effect(self):
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches # Get access to main SVG document element
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches self.svg = self.document.getroot()
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches groups = self.svg.findall(inkex.addNS('g', 'svg'))
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches count=0
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches glyphs=[]
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches for g in groups:
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches if "GlyphLayer-" in g.get(inkex.addNS('label', 'inkscape')):
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches glyphs.append(g)
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches if g.get("style")=="display:inline":
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches count+=1
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches current = len(glyphs)-1
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches if count!=1 or len(glyphs)<2:
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches return
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches #TODO: inform the user?
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches glyphs[current].set("style", "display:none")
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches glyphs[current-1].set("style", "display:inline")
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches return
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches#TODO: loop
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanchesif __name__ == '__main__':
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches e = PreviousLayer()
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches e.affect()
24db7b4ad7915f5f79ed265e2c2bddf0d8cf9611Felipe C. da S. Sanches