Mercurial > traipse_dev
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') |