Mercurial > traipse_dev
diff orpg/gametree/nodehandlers/StarWarsd20.py @ 151:06f10429eedc alpha
Traipse Alpha 'OpenRPG' {091125-00}
Traipse is a distribution of OpenRPG that is designed to be easy to setup and go.
Traipse also makes it easy for developers to work on code without fear of
sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the
code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the
productivity of the user.
Update Summary (Cleaning up for Beta)
Added Bookmarks
Fix to Remote Admin Commands
Minor fix to text based Server
Fix to Pretty Print, from Core
Fix to Splitter Nodes not being created
Fix to massive amounts of images loading, from Core
Added 'boot' command to remote admin
Added confirmation window for sent nodes
Minor changes to allow for portability to an OpenSUSE linux OS
Miniatures Layer pop up box allows users to turn off Mini labels, from FlexiRPG
Zoom Mouse plugin added
Images added to Plugin UI
Switching to Element Tree
Map efficiency, from FlexiRPG
Added Status Bar to Update Manager
default_manifest.xml renamed to default_upmana.xml
Cleaner clode for saved repositories
New TrueDebug Class in orpg_log (See documentation for usage)
Mercurial's hgweb folder is ported to upmana
Pretty important update that can help remove thousands of dead children from your
gametree.
Children, <forms />, <group_atts />, <horizontal />, <cols />, <rows />, <height
/>, etc... are all tags now. Check your gametree and look for dead children!!
New Gametree Recursion method, mapping, and context sensitivity. !Infinite Loops
return error instead of freezing the software!
New Syntax added for custom PC sheets
Tip of the Day added, from Core and community
Fixed Whiteboard ID to prevent random line or text deleting. Modified ID's to
prevent non updated clients from ruining the fix.
author | sirebral |
---|---|
date | Wed, 25 Nov 2009 06:15:49 -0600 |
parents | 8827271fbe1b |
children | dcae32e219f1 |
line wrap: on
line diff
--- a/orpg/gametree/nodehandlers/StarWarsd20.py Tue Nov 24 17:17:42 2009 -0600 +++ b/orpg/gametree/nodehandlers/StarWarsd20.py Wed Nov 25 06:15:49 2009 -0600 @@ -29,6 +29,7 @@ __version__ = "$Id: StarWarsd20.py,v 1.18 2006/11/15 12:11:23 digitalxero Exp $" from core import * +from containers import * from orpg.tools.orpg_log import debug from xml.etree.ElementTree import parse @@ -50,7 +51,6 @@ for c in children: self.tree.load_xml(c,self.mytree_node) - def on_drop(self,evt): drag_obj = self.tree.drag_obj #if self.is_my_child(self.mytree_node,drag_obj.mytree_node): @@ -73,10 +73,8 @@ html_str += "</td></tr>\n" html_str += "<tr><td>" max = tree.GetChildrenCount(handler.mytree_node) - try: - (child,cookie)=self.tree.GetFirstChild(self.mytree_node,cookie) - except: # If this happens we probably have a newer version of wxPython - (child,cookie)=self.tree.GetFirstChild(self.mytree_node) + try: (child,cookie)=self.tree.GetFirstChild(self.mytree_node,cookie) + except: (child,cookie)=self.tree.GetFirstChild(self.mytree_node) obj = self.tree.GetPyData(child) for m in xrange(max): html_str += "<p>" + obj.tohtml() @@ -92,17 +90,10 @@ def get_char_name( self ): return self.child_handlers['general'].get_char_name() -## def set_char_pp(self,attr,evl): -## return self.child_handlers['pp'].set_char_pp(attr,evl) -## -## def get_char_pp( self, attr ): -## return self.child_handlers['pp'].get_char_pp(attr) -## def get_char_lvl( self, attr ): return self.child_handlers['classes'].get_char_lvl(attr) - class SWd20char_handler(node_handler): """ Node handler for a SWd20 charactor <nodehandler name='?' module='StarWarsd20' class='SWd20char_handler' /> @@ -149,28 +140,17 @@ range_attack.set("forth","0") range_attack.set("fifth","0") range_attack.set("sixth","0") - gen_list = self.xml.findall('general')[0] for tag in ("currentxp","xptolevel"): node_list = xml_dom.findall(tag) gen_list.append(node_list[0]) - ## temp fix - #parent = self.xml._get_parentNode() - #old_dom = parent.replaceChild(xml_dom,self.xml) - #self.xml = xml_dom print old_version def get_char_name( self ): return self.child_handlers['general'].get_char_name() -## def set_char_pp(self,attr,evl): -## return self.child_handlers['pp'].set_char_pp(attr,evl) -## -## def get_char_pp( self, attr ): -## return self.child_handlers['pp'].get_char_pp(attr) - def get_char_lvl( self, attr ): return self.child_handlers['classes'].get_char_lvl(attr) @@ -191,7 +171,6 @@ def get_use_panel(self,parent): return tabbed_panel(parent,self,2) - def tohtml(self): html_str = "<table><tr><td colspan=2 >"+self.child_handlers['general'].tohtml()+"</td></tr>" html_str += "<tr><td width='50%' valign=top >"+self.child_handlers['abilities'].tohtml() @@ -199,22 +178,21 @@ html_str += "<P>" + self.child_handlers['attacks'].tohtml() html_str += "<P>" + self.child_handlers['ac'].tohtml() html_str += "<P>" + self.child_handlers['feats'].tohtml() - #html_str += "<P>" + self.child_handlers['spells'].tohtml() - #html_str += "<P>" + self.child_handlers['divine'].tohtml() - #html_str += "<P>" + self.child_handlers['powers'].tohtml() html_str += "<P>" + self.child_handlers['inventory'].tohtml() +"</td>" html_str += "<td width='50%' valign=top >"+self.child_handlers['classes'].tohtml() html_str += "<P>" + self.child_handlers['wp'].tohtml() html_str += "<P>" + self.child_handlers['vp'].tohtml() - #html_str += "<P>" + self.child_handlers['pp'].tohtml() html_str += "<P>" + self.child_handlers['skills'].tohtml() +"</td>" html_str += "</tr></table>" return html_str def about(self): - html_str = "<img src='" + dir_struct["icon"]+'d20_logo.gif' "><br /><b>d20 Character Tool v0.7 beta</b>" + """html_str = "<img src='" + dir_struct["icon"]+'d20_logo.gif' "><br /><b>d20 Character Tool v0.7 beta</b>" html_str += "<br />by Chris Davis<br />chris@rpgarchive.com" - return html_str + return html_str""" + text = 'd20 Character Tool 0.7 beta\n' + text += 'by Chris Davis chris@rpgarchive.com' + return text def get_char_name( self ): return self.child_handlers['general'].get_char_name() @@ -228,16 +206,10 @@ return self.child_handlers['vp'].get_max_vp() def get_current_vp( self ): return self.child_handlers['vp'].get_current_vp() - -## def set_char_pp(self,attr,evl): -## return self.child_handlers['pp'].set_char_pp(attr,evl) -## -## def get_char_pp( self, attr ): -## return self.child_handlers['pp'].get_char_pp(attr) - def get_char_lvl( self, attr ): return self.child_handlers['classes'].get_char_lvl(attr) +""" Removed to use the supplied Tabbed Panel class tabbed_panel(wx.Notebook): def __init__(self, parent, handler, mode): wx.Notebook.__init__(self, parent, -1, size=(1200,800)) @@ -253,19 +225,14 @@ obj = tree.GetPyData(child) for m in xrange(max): - if mode == 1: - panel = obj.get_design_panel(self) - else: - panel = obj.get_use_panel(self) + if mode == 1: panel = obj.get_design_panel(self) + else: panel = obj.get_use_panel(self) name = obj.xml.get("name") - - if panel: - self.AddPage(panel,name) + if panel: self.AddPage(panel,name) if m < max-1: child = tree.GetNextSibling(child) obj = tree.GetPyData(child) - def about(self): html_str = "<img src='" + dir_struct["icon"]+'d20_logo.gif' "><br /><b>d20 Character Tool v0.7 beta</b>" html_str += "<br />by Chris Davis<br />chris@rpgarchive.com" @@ -274,14 +241,9 @@ def get_char_name( self ): return self.child_handlers['general'].get_char_name() -## def set_char_pp(self,attr,evl): -## return self.child_handlers['pp'].set_char_pp(attr,evl) -## -## def get_char_pp( self, attr ): -## return self.child_handlers['pp'].get_char_pp(attr) - def get_char_lvl( self, attr ): return self.child_handlers['classes'].get_char_lvl(attr) +""" class SWd20_char_child(node_handler): """ Node Handler for skill. This handler will be @@ -294,7 +256,6 @@ self.frame = component.get('frame') self.myeditor = None - def on_drop(self, evt): pass @@ -360,14 +321,11 @@ if item == self.mytree_node: SWd20_char_child.on_ldclick(self,evt) else: - if rank == 0 and untrained == 0: - chat.Post('Can\'t use untrained!',True,True) + if rank == 0 and untrained == 0: chat.Post("Can't use untrained!",True,True) else: mod = self.get_mod(name) - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" txt = '%s Skill Check: [1d20%s%s]' % (name, mod1, mod) chat.ParsePost(txt,True,True) @@ -388,10 +346,8 @@ stat_mod = str(self.char_hander.child_handlers['abilities'].get_mod(stat)) misc = n.get('misc') mod = str(self.get_mod(name)) - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" html_str = html_str + "<td>"+stat_mod+"</td><td>"+misc+'</td><td>%s%s</td></tr>' % (mod1, mod) html_str = html_str + "</table>" return html_str @@ -420,10 +376,8 @@ SWd20_char_child.on_ldclick( self, evt ) else: mod = self.get_mod( name ) - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" chat = self.chat txt = '%s check: [1d20%s%s]' % ( name, mod1, mod ) chat.ParsePost( txt, True, True ) @@ -451,10 +405,8 @@ abbr = n.get('abbr') base = n.get('base') mod = str(self.get_mod(abbr)) - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" html_str = html_str + "<tr ALIGN='center'><td>"+name+"</td><td>"+base+'</td><td>%s%s</td></tr>' % (mod1, mod) html_str = html_str + "</table>" return html_str @@ -481,8 +433,6 @@ stat_mod = self.char_hander.child_handlers['abilities'].get_mod(stat) base = int(save.get('base')) miscmod = int(save.get('miscmod')) -# magmod = int(save.get('magmod')) -# total = stat_mod + base + miscmod + magmod total = stat_mod + base + miscmod return total @@ -496,10 +446,8 @@ #self.frame.add_panel(wnd) else: mod = self.get_mod(name) - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" chat = self.chat txt = '%s save: [1d20%s%s]' % (name, mod1, mod) chat.ParsePost( txt, True, True ) @@ -523,10 +471,8 @@ mag = n.get('magmod') misc = n.get('miscmod') mod = str(self.get_mod(name)) - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" html_str = html_str + "<td>"+stat_mod+"</td><td>"+mag+"</td>" html_str = html_str + '<td>'+misc+'</td><td>%s%s</td></tr>' % (mod1, mod) html_str = html_str + "</table>" @@ -577,8 +523,7 @@ def tohtml(self): html_str = "<table width=100% border=1 ><tr BGCOLOR=#E9E9E9 ><th>Classes</th></tr><tr><td>" n_list = self.xml.getchildren() - for n in n_list: - html_str += n.get('name') + " ("+n.get('level')+"), " + for n in n_list: html_str += n.get('name') + " ("+n.get('level')+"), " html_str = html_str[:len(html_str)-2] + "</td></tr></table>" return html_str @@ -587,10 +532,8 @@ for n in node_list: lvl = n.get('level') type = n.get('name') - if attr == "level": - return lvl - elif attr == "class": - return type + if attr == "level": return lvl + elif attr == "class": return type class SWd20feats(SWd20_char_child): @@ -608,8 +551,7 @@ def tohtml(self): html_str = "<table width=100% border=1 ><tr BGCOLOR=#E9E9E9 ><th>Feats</th></tr><tr><td>" n_list = self.xml.getchildren() - for n in n_list: - html_str += n.get('name')+ ", " + for n in n_list: html_str += n.get('name')+ ", " html_str = html_str[:len(html_str)-2] + "</td></tr></table>" return html_str @@ -673,15 +615,11 @@ return html_str def get_max_hp( self ): - try: - return eval( self.xml.get( 'max' ) ) - except: - return 0 + try: return eval( self.xml.get( 'max' ) ) + except: return 0 def get_current_hp( self ): - try: - return eval( self.xml.get( 'current' ) ) - except: - return 0 + try: return eval( self.xml.get( 'current' ) ) + except: return 0 class SWd20vp(SWd20_char_child): """ Node Handler for hit points. This handler will be @@ -703,15 +641,11 @@ return html_str def get_max_vp( self ): - try: - return eval( self.xml.get( 'max' ) ) - except: - return 0 + try: return eval( self.xml.get( 'max' ) ) + except: return 0 def get_current_vp( self ): - try: - return eval( self.xml.get( 'current' ) ) - except: - return 0 + try: return eval( self.xml.get( 'current' ) ) + except: return 0 class SWd20attacks(SWd20_char_child): """ Node Handler for attacks. This handler will be @@ -768,16 +702,12 @@ mod = int(self.weapons[name].get('mod')) if self.weapons[name].get('range') == '0': mod = mod + self.get_mod('m') - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" else: mod = mod + self.get_mod('r') - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" chat = self.chat dmg = self.weapons[name].get('damage') lvl = self.get_char_lvl('level') @@ -815,10 +745,8 @@ n_list = self.xml.findall('weapon') for n in n_list: mod = n.get('mod') - if mod >= 0: - mod1 = "+" - else: - mod1 = "" + if mod >= 0: mod1 = "+" + else: mod1 = "" ran = n.get('range') total = str(int(mod) + self.get_mod(ran)) html_str += """<P><table width=100% border=1 ><tr BGCOLOR=#E9E9E9 ><th colspan=2>Weapon</th> @@ -850,10 +778,8 @@ ac_total += self.get_total('bonus') dex_mod = self.char_hander.child_handlers['abilities'].get_mod('Dex') max_dex = self.get_max_dex() - if dex_mod < max_dex: - ac_total += dex_mod - else: - ac_total += max_dex + if dex_mod < max_dex: ac_total += dex_mod + else: ac_total += max_dex return ac_total def get_max_dex(self): @@ -861,15 +787,13 @@ dex = 10 for a in armor_list: temp = int(a.get("maxdex")) - if temp < dex: - dex = temp + if temp < dex: dex = temp return dex def get_total(self,attr): armor_list = self.xml.findall('armor') total = 0 - for a in armor_list: - total += int(a.get(attr)) + for a in armor_list: total += int(a.get(attr)) return total def get_design_panel(self,parent): @@ -909,12 +833,10 @@ def __init__(self, parent): wx.Panel.__init__(self, parent, -1) - #self.build_ctrls() self.Bind(wx.EVT_SIZE, self.on_size) def on_size(self,event): s = self.GetClientSizeTuple() - #self.splitter.SetDimensions(0,0,s[0],s[1]) class outline_panel(wx.Panel): def __init__(self, parent, handler, wnd, txt,): @@ -937,8 +859,7 @@ self.main_sizer = wx.BoxSizer(wx.HORIZONTAL) self.panels = {} keys = handler.child_handlers.keys() - for k in keys: - self.panels[k] = handler.child_handlers[k].get_design_panel(self, [k]) + for k in keys: self.panels[k] = handler.child_handlers[k].get_design_panel(self, [k]) self.sub_sizer = wx.BoxSizer(wx.VERTICAL) self.sub_sizer2 = wx.BoxSizer(wx.VERTICAL) self.sub_sizer.Add(self.panels['general'], 1, wx.EXPAND) @@ -946,16 +867,13 @@ self.sub_sizer.Add(self.panels['attacks'], 2, wx.EXPAND) self.sub_sizer.Add(self.panels['ac'], 1, wx.EXPAND) - #self.sub_sizer.Add(self.panels['spells'], 1, wx.EXPAND) self.sub_sizer2.Add(self.panels['classes'], 2, wx.EXPAND) self.sub_sizer2.Add(self.panels['wp'], 1, wx.EXPAND) self.sub_sizer2.Add(self.panels['vp'], 1, wx.EXPAND) - #self.sub_sizer2.Add(self.panels['pp'], 1, wx.EXPAND) self.sub_sizer2.Add(self.panels['saves'], 2, wx.EXPAND) self.sub_sizer2.Add(self.panels['feats'], 2, wx.EXPAND) - #self.sub_sizer2.Add(self.panels['powers'], 2, wx.EXPAND) self.sub_sizer2.Add(self.panels['skills'], 3, wx.EXPAND) self.main_sizer.Add(self.sub_sizer, 1, wx.EXPAND) @@ -978,8 +896,6 @@ self.panels['saves'].panel.refresh_data() self.panels['skills'].panel.refresh_data() self.panels['attacks'].panel.refresh_data() -# self.panels['powers'].panel.refresh_data() -# self.panels['spells'].panel.refresh_data() HOWTO_MAX = wx.NewId() @@ -1050,58 +966,13 @@ def on_text(self,evt): id = evt.GetId() - if id == VP_CUR: - self.xml.set('current',evt.GetString()) - elif id == VP_MAX: - self.xml.set('max',evt.GetString()) + if id == VP_CUR: self.xml.set('current',evt.GetString()) + elif id == VP_MAX: self.xml.set('max',evt.GetString()) def on_size(self,evt): s = self.GetClientSizeTuple() self.sizer.SetDimension(0,0,s[0],s[1]) -#PP_CUR = wx.NewId() -#PP_MAX = wx.NewId() -#PP_FRE = wx.NewId() -#PP_MFRE = wx.NewId() - -#class pp_panel(wx.Panel): -# def __init__(self, parent, handler): -# wx.Panel.__init__(self, parent, -1) -# pname = handler.xml.set("name", 'PowerPoints') -# self.sizer = wx.FlexGridSizer(2, 4, 2, 2) # rows, cols, hgap, vgap -# self.xml = handler.xml -# -# self.sizer.AddMany([ (wx.StaticText(self, -1, "PP Current:"), 0, wx.ALIGN_CENTER_VERTICAL), -# (wx.TextCtrl(self, PP_CUR, self.xml.get('current1')), 0, wx.EXPAND), -# (wx.StaticText(self, -1, "PP Max:"), 0, wx.ALIGN_CENTER_VERTICAL), -# (wx.TextCtrl(self, PP_MAX, self.xml.get('max1')), 0, wx.EXPAND), -# (wx.StaticText(self, -1, "Current Free Talants per day:"), 0, wx.ALIGN_CENTER_VERTICAL), -# (wx.TextCtrl(self, PP_FRE, self.xml.get('free')), 0, wx.EXPAND), -# (wx.StaticText(self, -1, "Max Free Talants per day:"), 0, wx.ALIGN_CENTER_VERTICAL), -# (wx.TextCtrl(self, PP_MFRE, self.xml.get('maxfree')), 0, wx.EXPAND), -# ]) -# self.sizer.AddGrowableCol(1) -# self.Bind(wx.EVT_SIZE, self.on_size) -# self.Bind(wx.EVT_TEXT, self.on_text, id=PP_MAX) -# self.Bind(wx.EVT_TEXT, self.on_text, id=PP_CUR) -# self.Bind(wx.EVT_TEXT, self.on_text, id=PP_FRE) -# self.Bind(wx.EVT_TEXT, self.on_text, id=PP_MFRE) -# -# def on_text(self,evt): -# id = evt.GetId() -# if id == PP_CUR: -# self.xml.set('current1',evt.GetString()) -# elif id == PP_MAX: -# self.xml.set('max1',evt.GetString()) -# elif id == PP_FRE: -# self.xml.set('free',evt.GetString()) -# elif id == PP_MFRE: -# self.xml.set('maxfree',evt.GetString()) -# -# def on_size(self,evt): -# s = self.GetClientSizeTuple() -# self.sizer.SetDimension(0,0,s[0],s[1]) - class gen_grid(wx.grid.Grid): """grid for gen info""" @@ -1117,8 +988,7 @@ self.SetColLabelSize(0) self.n_list = n_list i = 0 - for i in range(len(n_list)): - self.refresh_row(i) + for i in range(len(n_list)): self.refresh_row(i) def on_cell_change(self,evt): row = evt.GetRow() @@ -1136,8 +1006,7 @@ (w,h) = self.GetClientSizeTuple() cols = self.GetNumberCols() col_w = w/(cols) - for i in range(0,cols): - self.SetColSize(i,col_w) + for i in range(0,cols): self.SetColSize(i,col_w) evt.Skip() self.Refresh() @@ -1155,8 +1024,7 @@ self.SetColLabelSize(0) self.n_list = n_list i = 0 - for i in range(len(n_list)): - self.refresh_row(i) + for i in range(len(n_list)): self.refresh_row(i) def on_cell_change(self,evt): row = evt.GetRow() @@ -1174,8 +1042,7 @@ (w,h) = self.GetClientSizeTuple() cols = self.GetNumberCols() col_w = w/(cols) - for i in range(0,cols): - self.SetColSize(i,col_w) + for i in range(0,cols): self.SetColSize(i,col_w) evt.Skip() self.Refresh() @@ -1191,12 +1058,10 @@ self.CreateGrid(len(stats),3) self.SetRowLabelSize(0) col_names = ['Ability','Score','Modifier'] - for i in range(len(col_names)): - self.SetColLabelValue(i,col_names[i]) + for i in range(len(col_names)): self.SetColLabelValue(i,col_names[i]) self.stats = stats i = 0 - for i in range(len(stats)): - self.refresh_row(i) + for i in range(len(stats)): self.refresh_row(i) self.char_wnd = None def on_cell_change(self,evt): @@ -1207,10 +1072,8 @@ int(value) self.stats[row].set('base',value) self.refresh_row(row) - except: - self.SetCellValue(row,col,"0") - if self.char_wnd: - self.char_wnd.refresh_data() + except: self.SetCellValue(row,col,"0") + if self.char_wnd: self.char_wnd.refresh_data() def refresh_row(self,rowi): s = self.stats[rowi] @@ -1227,14 +1090,12 @@ cols = self.GetNumberCols() col_w = w/(cols+2) self.SetColSize(0,col_w*3) - for i in range(1,cols): - self.SetColSize(i,col_w) + for i in range(1,cols): self.SetColSize(i,col_w) evt.Skip() self.Refresh() def refresh_data(self): - for r in range(self.GetNumberRows()-1): - self.refresh_row(r) + for r in range(self.GetNumberRows()-1): self.refresh_row(r) class save_grid(wx.grid.Grid): @@ -1250,12 +1111,10 @@ self.CreateGrid(len(saves),7) self.SetRowLabelSize(0) col_names = ['Save','Key','base','Abil','Magic','Misc','Total'] - for i in range(len(col_names)): - self.SetColLabelValue(i,col_names[i]) + for i in range(len(col_names)): self.SetColLabelValue(i,col_names[i]) self.saves = saves i = 0 - for i in range(len(saves)): - self.refresh_row(i) + for i in range(len(saves)):self.refresh_row(i) def on_cell_change(self,evt): row = evt.GetRow() @@ -1263,15 +1122,11 @@ value = self.GetCellValue(row,col) try: int(value) - if col == 2: - self.saves[row].set('base',value) - elif col ==4: - self.saves[row].set('magmod',value) - elif col ==4: - self.saves[row].set('miscmod',value) + if col == 2: self.saves[row].set('base',value) + elif col == 4:self.saves[row].set('magmod',value) + elif col == 4: self.saves[row].set('miscmod',value) self.refresh_row(row) - except: - self.SetCellValue(row,col,"0") + except: self.SetCellValue(row,col,"0") def refresh_row(self,rowi): s = self.saves[rowi] @@ -1295,14 +1150,12 @@ cols = self.GetNumberCols() col_w = w/(cols+2) self.SetColSize(0,col_w*3) - for i in range(1,cols): - self.SetColSize(i,col_w) + for i in range(1,cols): self.SetColSize(i,col_w) evt.Skip() self.Refresh() def refresh_data(self): - for r in range(self.GetNumberRows()): - self.refresh_row(r) + for r in range(self.GetNumberRows()): self.refresh_row(r) class skill_grid(wx.grid.Grid): @@ -1318,8 +1171,7 @@ self.CreateGrid(len(skills),7) self.SetRowLabelSize(0) col_names = ['Skill','Key','Rank','Abil','Misc','Total'] - for i in range(len(col_names)): - self.SetColLabelValue(i,col_names[i]) + for i in range(len(col_names)): self.SetColLabelValue(i,col_names[i]) rowi = 0 self.skills = skills for i in range(len(skills)): @@ -1332,15 +1184,11 @@ #print value try: int(value) - if col == 3: - self.skills[row].set('rank',value) - elif col ==5: - self.skills[row].set('misc',value) - elif col == 1: - self.skills[row].set('untrained',value) + if col == 3: self.skills[row].set('rank',value) + elif col == 5: self.skills[row].set('misc',value) + elif col == 1: self.skills[row].set('untrained',value) self.refresh_row(row) - except: - self.SetCellValue(row,col,"0") + except: self.SetCellValue(row,col,"0") def refresh_row(self,rowi): s = self.skills[rowi] @@ -1364,15 +1212,12 @@ cols = self.GetNumberCols() col_w = w/(cols+2) self.SetColSize(0,col_w*3) - for i in range(1,cols): - self.SetColSize(i,col_w) + for i in range(1,cols): self.SetColSize(i,col_w) evt.Skip() self.Refresh() def refresh_data(self): - for r in range(self.GetNumberRows()): - self.refresh_row(r) - + for r in range(self.GetNumberRows()): self.refresh_row(r) class feat_panel(wx.Panel): @@ -1399,8 +1244,7 @@ self.grid.SetRowLabelSize(0) self.grid.SetColLabelValue(0,"Feat") self.grid.SetColLabelValue(1,"Type") - for i in range(len(n_list)): - self.refresh_row(i) + for i in range(len(n_list)): self.refresh_row(i) self.temp_dom = None def refresh_row(self,i): @@ -1425,8 +1269,7 @@ self.temp_dom = tree.getroot() f_list = self.temp_dom.findall('feat') opts = [] - for f in f_list: - opts.append(f.get('name')) + for f in f_list: opts.append(f.get('name')) dlg = wx.SingleChoiceDialog(self,'Choose Feat','Feats',opts) if dlg.ShowModal() == wx.ID_OK: i = dlg.GetSelection() @@ -1443,8 +1286,7 @@ (w,h) = self.grid.GetClientSizeTuple() cols = self.grid.GetNumberCols() col_w = w/(cols) - for i in range(0,cols): - self.grid.SetColSize(i,col_w) + for i in range(0,cols): self.grid.SetColSize(i,col_w) class attack_grid(wx.grid.Grid): """grid for attacks""" @@ -1457,8 +1299,7 @@ self.CreateGrid(2,10) self.SetRowLabelSize(0) col_names = ['Type','base','base 2','base 3','base 4','base 5','base 6','abil','misc','Total'] - for i in range(len(col_names)): - self.SetColLabelValue(i,col_names[i]) + for i in range(len(col_names)): self.SetColLabelValue(i,col_names[i]) self.SetCellValue(0,0,"Melee") self.SetCellValue(1,0,"Ranged") self.refresh_data() @@ -1471,23 +1312,15 @@ value = self.GetCellValue(row,col) try: int(value) - if col==1: - self.rows[row].set('base',value) - elif col==2: - self.rows[row].set('second',value) - elif col==3: - self.rows[row].set('third',value) - elif col==4: - self.rows[row].set('forth',value) - elif col==5: - self.rows[row].set('fifth',value) - elif col==6: - self.rows[row].set('sixth',value) - elif col==8: - self.rows[row].set('misc',value) + if col== 1: self.rows[row].set('base',value) + elif col== 2: self.rows[row].set('second',value) + elif col== 3: self.rows[row].set('third',value) + elif col== 4: self.rows[row].set('forth',value) + elif col== 5: self.rows[row].set('fifth',value) + elif col== 6: self.rows[row].set('sixth',value) + elif col== 8: self.rows[row].set('misc',value) self.parent.refresh_data() - except: - self.SetCellValue(row,col,"0") + except: self.SetCellValue(row,col,"0") def refresh_data(self): melee = self.handler.get_attack_data('m') @@ -1504,14 +1337,12 @@ self.SetReadOnly(0,9) self.SetReadOnly(1,9) - def on_size(self,evt): (w,h) = self.GetClientSizeTuple() cols = self.GetNumberCols() col_w = w/(cols+1) self.SetColSize(0,col_w*2) - for i in range(1,cols): - self.SetColSize(i,col_w) + for i in range(1,cols): self.SetColSize(i,col_w) evt.Skip() self.Refresh() @@ -1539,8 +1370,7 @@ self.grid.CreateGrid(len(n_list),9,1) self.grid.SetRowLabelSize(0) col_names = ['Name','damage','mod','critical','type','weight','range','size','Total'] - for i in range(len(col_names)): - self.grid.SetColLabelValue(i,col_names[i]) + for i in range(len(col_names)): self.grid.SetColLabelValue(i,col_names[i]) self.refresh_data() self.temp_dom = None @@ -1548,17 +1378,14 @@ row = evt.GetRow() col = evt.GetCol() value = self.grid.GetCellValue(row,col) - if col == 0: - self.n_list[row].set('name',value) + if col == 0: self.n_list[row].set('name',value) elif col == 2: try: int(value) self.n_list[row].set('mod',value) self.refresh_row(row) - except: - self.grid.SetCellValue(row,col,"1") - else: - self.n_list[row].set(self.grid.GetColLabelValue(col),value) + except: self.grid.SetCellValue(row,col,"1") + else: self.n_list[row].set(self.grid.GetColLabelValue(col),value) def refresh_row(self,i): n = self.n_list[i] @@ -1612,19 +1439,16 @@ cols = self.grid.GetNumberCols() col_w = w/(cols+1) self.grid.SetColSize(0,col_w*2) - for i in range(1,cols): - self.grid.SetColSize(i,col_w) + for i in range(1,cols): self.grid.SetColSize(i,col_w) def refresh_data(self): - for i in range(len(self.n_list)): - self.refresh_row(i) + for i in range(len(self.n_list)): self.refresh_row(i) class attack_panel(wx.Panel): def __init__(self, parent, handler): pname = handler.xml.set("name", 'Melee') wx.Panel.__init__(self, parent, -1) - self.a_grid = attack_grid(self, handler) self.w_panel = weapon_panel(self, handler) self.sizer = wx.BoxSizer(wx.VERTICAL) @@ -1665,11 +1489,9 @@ col_names = ['Armor','DR','Max Dex','Check Penalty','Weight','Speed (10)','Speed (6)','type'] self.grid.CreateGrid(len(n_list),len(col_names),1) self.grid.SetRowLabelSize(0) - for i in range(len(col_names)): - self.grid.SetColLabelValue(i,col_names[i]) + for i in range(len(col_names)): self.grid.SetColLabelValue(i,col_names[i]) self.atts =['name','bonus','maxdex','checkpenalty','weight','speed','speed6','type'] - for i in range(len(n_list)): - self.refresh_row(i) + for i in range(len(n_list)): self.refresh_row(i) self.temp_dom = None @@ -1681,15 +1503,12 @@ try: int(value) self.n_list[row].set(self.atts[col],value) - except: - self.grid.SetCellValue(row,col,"0") - else: - self.n_list[row].set(self.atts[col],value) + except: self.grid.SetCellValue(row,col,"0") + else: self.n_list[row].set(self.atts[col],value) def refresh_row(self,i): n = self.n_list[i] - for y in range(len(self.atts)): - self.grid.SetCellValue(i,y,n.get(self.atts[y])) + for y in range(len(self.atts)): self.grid.SetCellValue(i,y,n.get(self.atts[y])) def on_remove(self,evt): rows = self.grid.GetNumberRows() @@ -1704,8 +1523,7 @@ self.temp_dom = tree.getroot() f_list = self.temp_dom.findall('armor') opts = [] - for f in f_list: - opts.append(f.get('name')) + for f in f_list: opts.append(f.get('name')) dlg = wx.SingleChoiceDialog(self,'Choose Armor:','Armor List',opts) if dlg.ShowModal() == wx.ID_OK: i = dlg.GetSelection() @@ -1722,8 +1540,7 @@ cols = self.grid.GetNumberCols() col_w = w/(cols+2) self.grid.SetColSize(0,col_w*3) - for i in range(1,cols): - self.grid.SetColSize(i,col_w) + for i in range(1,cols): self.grid.SetColSize(i,col_w) class class_panel(wx.Panel): @@ -1751,8 +1568,7 @@ self.grid.SetRowLabelSize(0) self.grid.SetColLabelValue(0,"Class") self.grid.SetColLabelValue(1,"Level") - for i in range(len(n_list)): - self.refresh_row(i) + for i in range(len(n_list)): self.refresh_row(i) self.temp_dom = None def on_cell_change(self,evt): @@ -1762,8 +1578,7 @@ try: int(value) self.n_list[row].set('level',value) - except: - self.grid.SetCellValue(row,col,"1") + except: self.grid.SetCellValue(row,col,"1") def refresh_row(self,i): @@ -1773,7 +1588,6 @@ self.grid.SetCellValue(i,0,name) self.grid.SetReadOnly(i,0) self.grid.SetCellValue(i,1,level) - #self.grid.SetReadOnly(i,1) def on_remove(self,evt): rows = self.grid.GetNumberRows() @@ -1788,8 +1602,7 @@ self.temp_dom = tree.getroot() f_list = self.temp_dom.findall('class') opts = [] - for f in f_list: - opts.append(f.get('name')) + for f in f_list: opts.append(f.get('name')) dlg = wx.SingleChoiceDialog(self,'Choose Class','Classes',opts) if dlg.ShowModal() == wx.ID_OK: i = dlg.GetSelection() @@ -1806,5 +1619,5 @@ (w,h) = self.grid.GetClientSizeTuple() cols = self.grid.GetNumberCols() col_w = w/(cols) - for i in range(0,cols): - self.grid.SetColSize(i,col_w) + for i in range(0,cols): self.grid.SetColSize(i,col_w) +