comparison orpg/gametree/nodehandlers/StarWarsd20.py @ 67:c5bc2abaf7f8 ornery-dev

Traipse Dev 'OpenRPG' {090818-01} 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: *Stable* This is the first wave of Code Refinement updates. Includes new material from Core Beta; new debugger material (partially implemented), beginnings of switch to etree, TerminalWriter, and a little more. open_rpg has been renamed to component; functioning now as component.get(), component.add(), component.delete(). Fixes nodehandlers to bring the dev back to a stable push. Known issue with a nodehandler and it's sub dialogs.
author sirebral
date Tue, 18 Aug 2009 07:34:35 -0500
parents c54768cffbd4
children 8827271fbe1b
comparison
equal deleted inserted replaced
66:c54768cffbd4 67:c5bc2abaf7f8
125 125
126 126
127 def on_version(self,old_version): 127 def on_version(self,old_version):
128 node_handler.on_version(self,old_version) 128 node_handler.on_version(self,old_version)
129 if old_version == "": 129 if old_version == "":
130 tmp = open(orpg.dirpath.dir_struct["nodes"]+"StarWars_d20character.xml","r") 130 tmp = open(dir_struct["nodes"]+"StarWars_d20character.xml","r")
131 xml_dom = parseXml_with_dlg(self.tree,tmp.read()) 131 xml_dom = parseXml_with_dlg(self.tree,tmp.read())
132 xml_dom = xml_dom._get_firstChild() 132 xml_dom = xml_dom._get_firstChild()
133 tmp.close() 133 tmp.close()
134 ## add new nodes 134 ## add new nodes
135 for tag in ("howtouse","inventory","powers","divine","pp"): 135 for tag in ("howtouse","inventory","powers","divine","pp"):
210 html_str += "<P>" + self.child_handlers['skills'].tohtml() +"</td>" 210 html_str += "<P>" + self.child_handlers['skills'].tohtml() +"</td>"
211 html_str += "</tr></table>" 211 html_str += "</tr></table>"
212 return html_str 212 return html_str
213 213
214 def about(self): 214 def about(self):
215 html_str = "<img src='" + orpg.dirpath.dir_struct["icon"]+'d20_logo.gif' "><br /><b>d20 Character Tool v0.7 beta</b>" 215 html_str = "<img src='" + dir_struct["icon"]+'d20_logo.gif' "><br /><b>d20 Character Tool v0.7 beta</b>"
216 html_str += "<br />by Chris Davis<br />chris@rpgarchive.com" 216 html_str += "<br />by Chris Davis<br />chris@rpgarchive.com"
217 return html_str 217 return html_str
218 218
219 def get_char_name( self ): 219 def get_char_name( self ):
220 return self.child_handlers['general'].get_char_name() 220 return self.child_handlers['general'].get_char_name()
265 child = tree.GetNextSibling(child) 265 child = tree.GetNextSibling(child)
266 obj = tree.GetPyData(child) 266 obj = tree.GetPyData(child)
267 267
268 268
269 def about(self): 269 def about(self):
270 html_str = "<img src='" + orpg.dirpath.dir_struct["icon"]+'d20_logo.gif' "><br /><b>d20 Character Tool v0.7 beta</b>" 270 html_str = "<img src='" + dir_struct["icon"]+'d20_logo.gif' "><br /><b>d20 Character Tool v0.7 beta</b>"
271 html_str += "<br />by Chris Davis<br />chris@rpgarchive.com" 271 html_str += "<br />by Chris Davis<br />chris@rpgarchive.com"
272 return html_str 272 return html_str
273 273
274 def get_char_name( self ): 274 def get_char_name( self ):
275 return self.child_handlers['general'].get_char_name() 275 return self.child_handlers['general'].get_char_name()
303 303
304 def on_ldclick(self,evt): #Function needs help. Needs an OnClose I think. 304 def on_ldclick(self,evt): #Function needs help. Needs an OnClose I think.
305 if self.myeditor == None or self.myeditor.destroyed: 305 if self.myeditor == None or self.myeditor.destroyed:
306 title = self.master_dom.getAttribute('name') + " Editor" 306 title = self.master_dom.getAttribute('name') + " Editor"
307 # Frame created in correctly. 307 # Frame created in correctly.
308 self.myeditor = wx.Frame(self.frame,title,orpg.dirpath.dir_struct["icon"]+'grid.ico') 308 self.myeditor = wx.Frame(self.frame,title,dir_struct["icon"]+'grid.ico')
309 wnd = self.get_design_panel(self.myeditor) 309 wnd = self.get_design_panel(self.myeditor)
310 self.myeditor.panel = wnd 310 self.myeditor.panel = wnd
311 self.wnd = wnd 311 self.wnd = wnd
312 self.myeditor.Show(1) 312 self.myeditor.Show(1)
313 else: 313 else:
556 556
557 def tohtml(self): 557 def tohtml(self):
558 n_list = self.master_dom._get_childNodes() 558 n_list = self.master_dom._get_childNodes()
559 html_str = "<table width=100% border=1 ><tr BGCOLOR=#E9E9E9 ><th>General Information</th></tr><tr><td>" 559 html_str = "<table width=100% border=1 ><tr BGCOLOR=#E9E9E9 ><th>General Information</th></tr><tr><td>"
560 for n in n_list: 560 for n in n_list:
561 t_node = safe_get_text_node(n) 561 t_node = component.get('xml').safe_get_text_node(n)
562 html_str += "<B>"+n._get_tagName().capitalize() +":</B> " 562 html_str += "<B>"+n._get_tagName().capitalize() +":</B> "
563 html_str += t_node._get_nodeValue() + ", " 563 html_str += t_node._get_nodeValue() + ", "
564 html_str = html_str[:len(html_str)-2] + "</td></tr></table>" 564 html_str = html_str[:len(html_str)-2] + "</td></tr></table>"
565 return html_str 565 return html_str
566 566
567 def on_name_change(self,name): 567 def on_name_change(self,name):
568 self.char_hander.rename(name) 568 self.char_hander.rename(name)
569 569
570 def get_char_name( self ): 570 def get_char_name( self ):
571 node = self.master_dom.getElementsByTagName( 'name' )[0] 571 node = self.master_dom.getElementsByTagName( 'name' )[0]
572 t_node = safe_get_text_node( node ) 572 t_node = component.get('xml').safe_get_text_node( node )
573 return t_node._get_nodeValue() 573 return t_node._get_nodeValue()
574 574
575 575
576 class SWd20classes(SWd20_char_child): 576 class SWd20classes(SWd20_char_child):
577 """ Node Handler for classes. This handler will be 577 """ Node Handler for classes. This handler will be
650 650
651 def tohtml(self): 651 def tohtml(self):
652 n_list = self.master_dom._get_childNodes() 652 n_list = self.master_dom._get_childNodes()
653 html_str = "<table width=100% border=1 ><tr BGCOLOR=#E9E9E9 ><th>General Information</th></tr><tr><td>" 653 html_str = "<table width=100% border=1 ><tr BGCOLOR=#E9E9E9 ><th>General Information</th></tr><tr><td>"
654 for n in n_list: 654 for n in n_list:
655 t_node = safe_get_text_node(n) 655 t_node = component.get('xml').safe_get_text_node(n)
656 html_str += "<B>"+n._get_tagName().capitalize() +":</B> " 656 html_str += "<B>"+n._get_tagName().capitalize() +":</B> "
657 html_str += t_node._get_nodeValue() + "<br />" 657 html_str += t_node._get_nodeValue() + "<br />"
658 html_str = html_str[:len(html_str)-2] + "</td></tr></table>" 658 html_str = html_str[:len(html_str)-2] + "</td></tr></table>"
659 return html_str 659 return html_str
660 660
661 def on_name_change(self,name): 661 def on_name_change(self,name):
662 self.char_hander.rename(name) 662 self.char_hander.rename(name)
663 663
664 def get_char_name( self ): 664 def get_char_name( self ):
665 node = self.master_dom.getElementsByTagName( 'name' )[0] 665 node = self.master_dom.getElementsByTagName( 'name' )[0]
666 t_node = safe_get_text_node( node ) 666 t_node = component.get('xml').safe_get_text_node( node )
667 return t_node._get_nodeValue() 667 return t_node._get_nodeValue()
668 668
669 class SWd20hp(SWd20_char_child): 669 class SWd20hp(SWd20_char_child):
670 """ Node Handler for hit points. This handler will be 670 """ Node Handler for hit points. This handler will be
671 created by d20char_handler. 671 created by d20char_handler.
1002 pname = handler.master_dom.setAttribute("name", 'How To') 1002 pname = handler.master_dom.setAttribute("name", 'How To')
1003 self.sizer = wx.FlexGridSizer(2, 4, 2, 2) # rows, cols, hgap, vgap 1003 self.sizer = wx.FlexGridSizer(2, 4, 2, 2) # rows, cols, hgap, vgap
1004 self.master_dom = handler.master_dom 1004 self.master_dom = handler.master_dom
1005 n_list = self.master_dom._get_childNodes() 1005 n_list = self.master_dom._get_childNodes()
1006 for n in n_list: 1006 for n in n_list:
1007 t_node = safe_get_text_node(n) 1007 t_node = component.get('xml').safe_get_text_node(n)
1008 self.sizer.AddMany([ (wx.StaticText(self, -1, t_node._get_nodeValue()), 0, wx.ALIGN_CENTER_VERTICAL), 1008 self.sizer.AddMany([ (wx.StaticText(self, -1, t_node._get_nodeValue()), 0, wx.ALIGN_CENTER_VERTICAL),
1009 ]) 1009 ])
1010 self.sizer.AddGrowableCol(1) 1010 self.sizer.AddGrowableCol(1)
1011 self.SetSizer(self.sizer) 1011 self.SetSizer(self.sizer)
1012 1012
1141 t_node = self.n_list[row]._get_firstChild() 1141 t_node = self.n_list[row]._get_firstChild()
1142 t_node._set_nodeValue(value) 1142 t_node._set_nodeValue(value)
1143 if row==0: self.handler.on_name_change(value) 1143 if row==0: self.handler.on_name_change(value)
1144 1144
1145 def refresh_row(self,rowi): 1145 def refresh_row(self,rowi):
1146 t_node = safe_get_text_node(self.n_list[rowi]) 1146 t_node = component.get('xml').safe_get_text_node(self.n_list[rowi])
1147 self.SetCellValue(rowi,0,self.n_list[rowi]._get_tagName()) 1147 self.SetCellValue(rowi,0,self.n_list[rowi]._get_tagName())
1148 self.SetReadOnly(rowi,0) 1148 self.SetReadOnly(rowi,0)
1149 self.SetCellValue(rowi,1,t_node._get_nodeValue()) 1149 self.SetCellValue(rowi,1,t_node._get_nodeValue())
1150 1150
1151 def on_size(self,evt): 1151 def on_size(self,evt):
1181 t_node = self.n_list[row]._get_firstChild() 1181 t_node = self.n_list[row]._get_firstChild()
1182 t_node._set_nodeValue(value) 1182 t_node._set_nodeValue(value)
1183 if row==0: self.handler.on_name_change(value) 1183 if row==0: self.handler.on_name_change(value)
1184 1184
1185 def refresh_row(self,rowi): 1185 def refresh_row(self,rowi):
1186 t_node = safe_get_text_node(self.n_list[rowi]) 1186 t_node = component.get('xml').safe_get_text_node(self.n_list[rowi])
1187 self.SetCellValue(rowi,0,self.n_list[rowi]._get_tagName()) 1187 self.SetCellValue(rowi,0,self.n_list[rowi]._get_tagName())
1188 self.SetReadOnly(rowi,0) 1188 self.SetReadOnly(rowi,0)
1189 self.SetCellValue(rowi,1,t_node._get_nodeValue()) 1189 self.SetCellValue(rowi,1,t_node._get_nodeValue())
1190 1190
1191 def on_size(self,evt): 1191 def on_size(self,evt):
1437 self.grid.DeleteRows(i) 1437 self.grid.DeleteRows(i)
1438 self.master_dom.removeChild(self.n_list[i]) 1438 self.master_dom.removeChild(self.n_list[i])
1439 1439
1440 def on_add(self,evt): 1440 def on_add(self,evt):
1441 if not self.temp_dom: 1441 if not self.temp_dom:
1442 tmp = open(orpg.dirpath.dir_struct["SWd20"]+"d20feats.xml","r") 1442 tmp = open(dir_struct["SWd20"]+"d20feats.xml","r")
1443 xml_dom = parseXml_with_dlg(self,tmp.read()) 1443 xml_dom = parseXml_with_dlg(self,tmp.read())
1444 xml_dom = xml_dom._get_firstChild() 1444 xml_dom = xml_dom._get_firstChild()
1445 tmp.close() 1445 tmp.close()
1446 self.temp_dom = xml_dom 1446 self.temp_dom = xml_dom
1447 f_list = self.temp_dom.getElementsByTagName('feat') 1447 f_list = self.temp_dom.getElementsByTagName('feat')
1607 self.n_list = self.master_dom.getElementsByTagName('weapon') 1607 self.n_list = self.master_dom.getElementsByTagName('weapon')
1608 self.handler.refresh_weapons() 1608 self.handler.refresh_weapons()
1609 1609
1610 def on_add(self,evt): 1610 def on_add(self,evt):
1611 if not self.temp_dom: 1611 if not self.temp_dom:
1612 tmp = open(orpg.dirpath.dir_struct["SWd20"]+"d20weapons.xml","r") 1612 tmp = open(dir_struct["SWd20"]+"d20weapons.xml","r")
1613 xml_dom = parseXml_with_dlg(self,tmp.read()) 1613 xml_dom = parseXml_with_dlg(self,tmp.read())
1614 xml_dom = xml_dom._get_firstChild() 1614 xml_dom = xml_dom._get_firstChild()
1615 tmp.close() 1615 tmp.close()
1616 self.temp_dom = xml_dom 1616 self.temp_dom = xml_dom
1617 f_list = self.temp_dom.getElementsByTagName('weapon') 1617 f_list = self.temp_dom.getElementsByTagName('weapon')
1722 self.grid.DeleteRows(i) 1722 self.grid.DeleteRows(i)
1723 self.master_dom.removeChild(self.n_list[i]) 1723 self.master_dom.removeChild(self.n_list[i])
1724 1724
1725 def on_add(self,evt): 1725 def on_add(self,evt):
1726 if not self.temp_dom: 1726 if not self.temp_dom:
1727 tmp = open(orpg.dirpath.dir_struct["SWd20"]+"d20armor.xml","r") 1727 tmp = open(dir_struct["SWd20"]+"d20armor.xml","r")
1728 xml_dom = parseXml_with_dlg(self,tmp.read()) 1728 xml_dom = parseXml_with_dlg(self,tmp.read())
1729 xml_dom = xml_dom._get_firstChild() 1729 xml_dom = xml_dom._get_firstChild()
1730 tmp.close() 1730 tmp.close()
1731 self.temp_dom = xml_dom 1731 self.temp_dom = xml_dom
1732 f_list = self.temp_dom.getElementsByTagName('armor') 1732 f_list = self.temp_dom.getElementsByTagName('armor')
1809 self.grid.DeleteRows(i) 1809 self.grid.DeleteRows(i)
1810 self.master_dom.removeChild(self.n_list[i]) 1810 self.master_dom.removeChild(self.n_list[i])
1811 1811
1812 def on_add(self,evt): 1812 def on_add(self,evt):
1813 if not self.temp_dom: 1813 if not self.temp_dom:
1814 tmp = open(orpg.dirpath.dir_struct["SWd20"]+"SWd20classes.xml","r") 1814 tmp = open(dir_struct["SWd20"]+"SWd20classes.xml","r")
1815 xml_dom = parseXml_with_dlg(self,tmp.read()) 1815 xml_dom = parseXml_with_dlg(self,tmp.read())
1816 xml_dom = xml_dom._get_firstChild() 1816 xml_dom = xml_dom._get_firstChild()
1817 tmp.close() 1817 tmp.close()
1818 self.temp_dom = xml_dom 1818 self.temp_dom = xml_dom
1819 f_list = self.temp_dom.getElementsByTagName('class') 1819 f_list = self.temp_dom.getElementsByTagName('class')