quick version that forces alternating tabs unless sameside is specified

This commit is contained in:
Sumpfork 2014-01-08 13:23:17 -08:00
parent f0a2da3ad2
commit 7b73797f9f

View File

@ -124,6 +124,7 @@ class DominionTabs:
def __init__(self): def __init__(self):
self.filedir = os.path.dirname(__file__) self.filedir = os.path.dirname(__file__)
self.odd = True
def add_inline_images(self, text, fontsize): def add_inline_images(self, text, fontsize):
path = os.path.join(self.filedir,'images') path = os.path.join(self.filedir,'images')
@ -364,7 +365,7 @@ class DominionTabs:
if useExtra and card.extra: if useExtra and card.extra:
descriptions = (card.extra,) descriptions = (card.extra,)
else: else:
descriptions = re.split("\n",card.description) descriptions = re.split("\n",card.description)
s = getSampleStyleSheet()['BodyText'] s = getSampleStyleSheet()['BodyText']
s.fontName = "Times-Roman" s.fontName = "Times-Roman"
@ -403,7 +404,10 @@ class DominionTabs:
def drawDivider(self,card,x,y,useExtra=False): def drawDivider(self,card,x,y,useExtra=False):
#figure out whether the tab should go on the right side or not #figure out whether the tab should go on the right side or not
if not self.options.sameside: if not self.options.sameside:
rightSide = x%2 == 1 if not useExtra:
rightSide = not self.odd
else:
rightSide = self.odd
else: else:
rightSide = useExtra rightSide = useExtra
#apply the transforms to get us to the corner of the current card #apply the transforms to get us to the corner of the current card
@ -571,7 +575,10 @@ class DominionTabs:
def drawDividers(self,cards): def drawDividers(self,cards):
cards = split(cards,self.numTabsVertical*self.numTabsHorizontal) cards = split(cards,self.numTabsVertical*self.numTabsHorizontal)
self.odd = True
for pageCards in cards: for pageCards in cards:
#remember whether we start with odd or even divider for tab location
pageStartOdd = self.odd
if self.options.order != "global": if self.options.order != "global":
self.drawSetNames(pageCards) self.drawSetNames(pageCards)
for i,card in enumerate(pageCards): for i,card in enumerate(pageCards):
@ -581,9 +588,12 @@ class DominionTabs:
self.canvas.saveState() self.canvas.saveState()
self.drawDivider(card,x,self.numTabsVertical-1-y) self.drawDivider(card,x,self.numTabsVertical-1-y)
self.canvas.restoreState() self.canvas.restoreState()
self.odd = not self.odd
self.canvas.showPage() self.canvas.showPage()
if self.options.order != "global": if self.options.order != "global":
self.drawSetNames(pageCards) self.drawSetNames(pageCards)
#start at same oddness
self.odd = pageStartOdd
for i,card in enumerate(pageCards): for i,card in enumerate(pageCards):
#print card #print card
x = (self.numTabsHorizontal-1-i) % self.numTabsHorizontal x = (self.numTabsHorizontal-1-i) % self.numTabsHorizontal
@ -591,6 +601,7 @@ class DominionTabs:
self.canvas.saveState() self.canvas.saveState()
self.drawDivider(card,x,self.numTabsVertical-1-y,useExtra=True) self.drawDivider(card,x,self.numTabsVertical-1-y,useExtra=True)
self.canvas.restoreState() self.canvas.restoreState()
self.odd = not self.odd
self.canvas.showPage() self.canvas.showPage()
@ -758,10 +769,6 @@ class DominionTabs:
self.minHorizontalMargin = minmarginwidth self.minHorizontalMargin = minmarginwidth
self.minVerticalMargin = minmarginheight self.minVerticalMargin = minmarginheight
if self.numTabsHorizontal % 2 != 0:
# force on sameside if an uneven # of tabs horizontally
self.options.sameside = True
if not fixedMargins: if not fixedMargins:
#dynamically max margins #dynamically max margins
self.horizontalMargin = (self.paperwidth-self.numTabsHorizontal*self.totalTabWidth)/2 self.horizontalMargin = (self.paperwidth-self.numTabsHorizontal*self.totalTabWidth)/2