annotate orpg/gametree/gametree.py @ 132:fe4dc5817d5e alpha

Traipse Alpha 'OpenRPG' {091005-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 Gamtree Recusion method, mapping, and context sensitivity. !!Alpha - Watch out for infinite loops!! Dead Node Children, now that's a O O -v-v- Happy Halloween!
author sirebral
date Thu, 05 Nov 2009 12:15:19 -0600
parents d54e1328dbb1
children 37d26a98883f
rev   line source
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
1 # Copyright (C) 2000-2001 The OpenRPG Project
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
2 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
3 # openrpg-dev@lists.sourceforge.net
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
4 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
5 # This program is free software; you can redistribute it and/or modify
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
6 # it under the terms of the GNU General Public License as published by
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
7 # the Free Software Foundation; either version 2 of the License, or
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
8 # (at your option) any later version.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
9 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
10 # This program is distributed in the hope that it will be useful,
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
13 # GNU General Public License for more details.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
14 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
16 # along with this program; if not, write to the Free Software
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
17 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
18 # --
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
19 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
20 # File: gametree.py
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
21 # Author: Chris Davis
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
22 # Maintainer:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
23 # Version:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
24 # $Id: gametree.py,v 1.68 2007/12/07 20:39:48 digitalxero Exp $
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
25 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
26 # Description: The file contains code fore the game tree shell
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
27 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
28
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
29 from __future__ import with_statement
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
30
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
31 __version__ = "$Id: gametree.py,v 1.68 2007/12/07 20:39:48 digitalxero Exp $"
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
32
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
33 from orpg.orpg_wx import *
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
34 from orpg.orpg_windows import *
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
35 from orpg.orpgCore import component
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
36 from orpg.dirpath import dir_struct
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
37 from nodehandlers import core
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
38 import string
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
39 import urllib
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
40 import time
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
41 import os
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
42
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
43 from orpg.orpg_xml import xml
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
44 from orpg.tools.validate import validate
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
45 from orpg.tools.orpg_log import logger, debug
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
46 from orpg.tools.orpg_settings import settings
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
47 from orpg.gametree.nodehandlers import containers, forms, dnd3e, dnd35, chatmacro
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
48 from orpg.gametree.nodehandlers import map_miniature_nodehandler
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
49 from orpg.gametree.nodehandlers import minilib, rpg_grid, d20, StarWarsd20, voxchat
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
50
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
51 from gametree_version import GAMETREE_VERSION
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
52
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
53 from xml.etree.ElementTree import ElementTree, Element, parse
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
54 from xml.etree.ElementTree import fromstring, tostring, XML, iselement
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
55 from xml.parsers.expat import ExpatError
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
56
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
57 STD_MENU_DELETE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
58 STD_MENU_DESIGN = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
59 STD_MENU_USE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
60 STD_MENU_PP = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
61 STD_MENU_RENAME = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
62 STD_MENU_SEND = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
63 STD_MENU_SAVE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
64 STD_MENU_ICON = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
65 STD_MENU_CLONE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
66 STD_MENU_ABOUT = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
67 STD_MENU_HTML = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
68 STD_MENU_EMAIL = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
69 STD_MENU_CHAT = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
70 STD_MENU_WHISPER = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
71 STD_MENU_WIZARD = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
72 STD_MENU_NODE_SUBMENU = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
73 STD_MENU_NODE_USEFUL = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
74 STD_MENU_NODE_USELESS = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
75 STD_MENU_NODE_INDIFFERENT = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
76 STD_MENU_MAP = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
77 TOP_IFILE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
78 TOP_INSERT_URL = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
79 TOP_NEW_TREE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
80 TOP_SAVE_TREE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
81 TOP_SAVE_TREE_AS = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
82 TOP_TREE_PROP = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
83 TOP_FEATURES = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
84
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
85 class game_tree(wx.TreeCtrl):
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
86
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
87 def __init__(self, parent, id):
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
88 wx.TreeCtrl.__init__(self,parent,id, wx.DefaultPosition,
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
89 wx.DefaultSize,style=wx.TR_EDIT_LABELS | wx.TR_HAS_BUTTONS)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
90 #self.xml = component.get('xml') #
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
91 self.settings = component.get('settings')
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
92 self.session = component.get('session')
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
93 self.chat = component.get('chat')
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
94 self.mainframe = component.get('frame')
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
95 self.build_img_list()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
96 self.build_std_menu()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
97 self.nodehandlers = {}
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
98 self.nodes = {}
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
99 self.init_nodehandlers()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
100 self.Bind(wx.EVT_LEFT_DCLICK, self.on_ldclick)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
101 self.Bind(wx.EVT_RIGHT_DOWN, self.on_rclick)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
102 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.on_drag, id=id)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
103 self.Bind(wx.EVT_LEFT_UP, self.on_left_up)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
104 self.Bind(wx.EVT_LEFT_DOWN, self.on_left_down)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
105 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.on_label_change, id=self.GetId())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
106 self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.on_label_begin, id=self.GetId())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
107 self.Bind(wx.EVT_CHAR, self.on_char)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
108 self.Bind(wx.EVT_KEY_UP, self.on_key_up)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
109 self.id = 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
110 self.dragging = False
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
111 self.last_save_dir = dir_struct["user"]
132
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
112 self.tree_map = []
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
113
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
114 #Create tree from default if it does not exist
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
115 validate.config_file("tree.xml","default_tree.xml")
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
116 component.add("tree", self)
130
d54e1328dbb1 Traipse Alpha 'OpenRPG' {091003-02}
sirebral
parents: 129
diff changeset
117
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
118 #build tree
130
d54e1328dbb1 Traipse Alpha 'OpenRPG' {091003-02}
sirebral
parents: 129
diff changeset
119 self.root = self.AddRoot("Game Tree", self.icons['gear'])
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
120 self.was_labeling = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
121 self.rename_flag = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
122 self.image_cache = {}
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
123 logger.debug("Exit game_tree")
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
124
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
125 def add_nodehandler(self, nodehandler, nodeclass):
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
126 if not self.nodehandlers.has_key(nodehandler): self.nodehandlers[nodehandler] = nodeclass
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
127 else: logger.debug("Nodehandler for " + nodehandler + " already exists!")
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
128
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
129 def remove_nodehandler(self, nodehandler):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
130 if self.nodehandlers.has_key(nodehandler):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
131 del self.nodehandlers[nodehandler]
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
132 else: logger.debug("No nodehandler for " + nodehandler + " exists!")
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
133
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
134 def init_nodehandlers(self):
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
135 self.add_nodehandler('group_handler', containers.group_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
136 self.add_nodehandler('tabber_handler', containers.tabber_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
137 self.add_nodehandler('splitter_handler', containers.splitter_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
138 self.add_nodehandler('form_handler', forms.form_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
139 self.add_nodehandler('textctrl_handler', forms.textctrl_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
140 self.add_nodehandler('listbox_handler', forms.listbox_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
141 self.add_nodehandler('link_handler', forms.link_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
142 self.add_nodehandler('webimg_handler', forms.webimg_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
143 self.add_nodehandler('dnd3echar_handler', dnd3e.dnd3echar_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
144 self.add_nodehandler('dnd35char_handler', dnd35.dnd35char_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
145 self.add_nodehandler('macro_handler', chatmacro.macro_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
146 self.add_nodehandler('map_miniature_handler', map_miniature_nodehandler.map_miniature_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
147 self.add_nodehandler('minilib_handler', minilib.minilib_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
148 self.add_nodehandler('mini_handler', minilib.mini_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
149 self.add_nodehandler('rpg_grid_handler', rpg_grid.rpg_grid_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
150 self.add_nodehandler('d20char_handler', d20.d20char_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
151 self.add_nodehandler('SWd20char_handler', StarWarsd20.SWd20char_handler)
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
152 self.add_nodehandler('voxchat_handler', voxchat.voxchat_handler)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
153 self.add_nodehandler('file_loader', core.file_loader)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
154 self.add_nodehandler('node_loader', core.node_loader)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
155 self.add_nodehandler('url_loader', core.url_loader)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
156 self.add_nodehandler('min_map', core.min_map)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
157
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
158 # event = wxKeyEvent
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
159 # set to be called by wxWindows by EVT_CHAR macro in __init__
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
160
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
161 def on_key_up(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
162 key_code = evt.GetKeyCode()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
163 if self.dragging and (key_code == wx.WXK_SHIFT):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
164 curSelection = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
165 cur = wx.StockCursor(wx.CURSOR_ARROW)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
166 self.SetCursor(cur)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
167 self.dragging = False
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
168 obj = self.GetPyData(curSelection)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
169 self.SelectItem(curSelection)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
170 if(isinstance(obj,core.node_handler)):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
171 obj.on_drop(evt)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
172 self.drag_obj = None
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
173 evt.Skip()
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
174
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
175 def on_char(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
176 key_code = evt.GetKeyCode()
119
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 118
diff changeset
177 curSelection = self.GetSelection() # Get the current selection
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
178 if evt.ShiftDown() and ((key_code == wx.WXK_UP) or (key_code == wx.WXK_DOWN)) and not self.dragging:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
179 curSelection = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
180 obj = self.GetPyData(curSelection)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
181 self.SelectItem(curSelection)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
182 if(isinstance(obj,core.node_handler)):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
183 self.dragging = True
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
184 cur = wx.StockCursor(wx.CURSOR_HAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
185 self.SetCursor(cur)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
186 self.drag_obj = obj
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
187 elif key_code == wx.WXK_LEFT: self.Collapse(curSelection)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
188 elif key_code == wx.WXK_DELETE: # Handle the delete key
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
189 if curSelection:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
190 nextSelect = self.GetItemParent(curSelection)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
191 self.on_del(evt)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
192 try:
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
193 if self.GetItemText(nextSelect) != "": self.SelectItem(nextSelect)
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
194 except: pass
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
195 elif key_code == wx.WXK_F2:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
196 self.rename_flag = 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
197 self.EditLabel(curSelection)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
198 evt.Skip()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
199
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
200 def locate_valid_tree(self, error, msg): ## --Snowdog 3/05
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
201 """prompts the user to locate a new tree file or create a new one"""
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
202 response = wx.MessageDialog(self, msg, error, wx.YES|wx.NO|wx.ICON_ERROR)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
203 if response == wx.YES:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
204 file = None
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
205 dlg = wx.FileDialog(self, "Locate Gametree file", dir_struct["user"],
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
206 filename[ ((filename.rfind(os.sep))+len(os.sep)):],
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
207 "Gametree (*.xml)|*.xml|All files (*.*)|*.*",
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
208 wx.OPEN | wx.CHANGE_DIR)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
209 if dlg.ShowModal() == wx.ID_OK: file = dlg.GetPath()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
210 dlg.Destroy()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
211 if not file: self.load_tree(error=1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
212 else: self.load_tree(file)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
213 return
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
214 else:
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
215 validate.config_file("tree.xml","default_tree.xml")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
216 self.load_tree(error=1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
217 return
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
218
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
219
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
220 def load_tree(self, filename=dir_struct["user"]+'tree.xml', error=0):
125
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
221 self.settings.change("gametree", filename)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
222 #check file exists
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
223 if not os.path.exists(filename):
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
224 emsg = "Gametree Missing!\n"+filename+" cannot be found.\n\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
225 "Would you like to locate it?\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
226 "(Selecting 'No' will cause a new default gametree to be generated)"
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
227 self.locate_valid_tree("Gametree Error", emsg)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
228 return
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
229 try:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
230 f = open(filename, "rb")
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
231 tree = parse(f)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
232 self.xml_root = tree.getroot()
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
233 except:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
234 f.close()
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
235 self.xml_root = None
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
236 ### Alpha ### Doing some work on Gametree to add Element Tree, slowly at first.
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
237
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
238 if not self.xml_root:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
239 os.rename(filename,filename+".corrupt")
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
240 emsg = "Your gametree is being regenerated.\n\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
241 "To salvage a recent version of your gametree\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
242 "exit OpenRPG and copy the lastgood.xml file in\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
243 "your myfiles directory to "+filename+ "\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
244 "in your myfiles directory.\n\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
245 "lastgood.xml WILL BE OVERWRITTEN NEXT TIME YOU RUN OPENRPG.\n\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
246 "Would you like to select a different gametree file to use?\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
247 "(Selecting 'No' will cause a new default gametree to be generated)"
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
248 self.locate_valid_tree("Corrupt Gametree!", emsg)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
249 return
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
250
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
251 if self.xml_root.tag != "gametree":
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
252 emsg = filename+" does not appear to be a valid gametree file.\n\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
253 "Would you like to select a different gametree file to use?\n"\
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
254 "(Selecting 'No' will cause a new default gametree to be generated)"
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
255 self.locate_valid_tree("Invalid Gametree!", emsg)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
256 return
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
257 try:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
258 # version = self.xml_root.get("version")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
259 # see if we should load the gametree
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
260 loadfeatures = int(settings.get_setting("LoadGameTreeFeatures"))
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
261 if loadfeatures:
125
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
262 features_tree = parse(orpg.dirpath.dir_struct["template"]+"feature.xml")
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
263 self.xml_root.append(features_tree.getroot())
125
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
264 settings.change("LoadGameTreeFeatures","0")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
265
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
266 ## load tree
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
267 logger.debug("Features loaded (if required)")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
268 self.CollapseAndReset(self.root)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
269 logger.note("Parsing Gametree Nodes ", True)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
270 for xml_child in self.xml_root:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
271 logger.note('.', True)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
272 self.load_xml(xml_child,self.root)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
273 logger.note("done", True)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
274
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
275 self.Expand(self.root)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
276 self.SetPyData(self.root,self.xml_root)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
277 if error != 1:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
278 with open(filename, "rb") as infile:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
279 with open(dir_struct["user"]+"lastgood.xml", "wb") as outfile:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
280 outfile.write(infile.read())
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
281 else: logger.info("Not overwriting lastgood.xml file.", True)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
282
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
283 except Exception, e:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
284 logger.exception(traceback.format_exc())
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
285 wx.MessageBox("Corrupt Tree!\nYour game tree is being regenerated. To\nsalvage a recent version of your gametree\nexit OpenRPG and copy the lastgood.xml\nfile in your myfiles directory\nto "+filename+ "\nin your myfiles directory.\nlastgood.xml WILL BE OVERWRITTEN NEXT TIME YOU RUN OPENRPG.")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
286 os.rename(filename,filename+".corrupt")
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
287 validate.config_file("tree.xml","default_tree.xml")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
288 self.load_tree(error=1)
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
289
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
290 def build_std_menu(self, obj=None):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
291 # build useful menu
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
292 useful_menu = wx.Menu()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
293 useful_menu.Append(STD_MENU_NODE_USEFUL,"Use&ful")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
294 useful_menu.Append(STD_MENU_NODE_USELESS,"Use&less")
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
295 useful_menu.Append(STD_MENU_NODE_INDIFFERENT,"&Indifferent")
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
296
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
297 # build standard menu
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
298 self.std_menu = wx.Menu()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
299 self.std_menu.SetTitle("game tree")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
300 self.std_menu.Append(STD_MENU_USE,"&Use")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
301 self.std_menu.Append(STD_MENU_DESIGN,"&Design")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
302 self.std_menu.Append(STD_MENU_PP,"&Pretty Print")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
303 self.std_menu.AppendSeparator()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
304 self.std_menu.Append(STD_MENU_SEND,"Send To Player")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
305 self.std_menu.Append(STD_MENU_MAP,"Send To Map")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
306 self.std_menu.Append(STD_MENU_CHAT,"Send To Chat")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
307 self.std_menu.Append(STD_MENU_WHISPER,"Whisper To Player")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
308 self.std_menu.AppendSeparator()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
309 self.std_menu.Append(STD_MENU_ICON,"Change &Icon")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
310 self.std_menu.Append(STD_MENU_DELETE,"D&elete")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
311 self.std_menu.Append(STD_MENU_CLONE,"&Clone")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
312 self.std_menu.AppendMenu(STD_MENU_NODE_SUBMENU,"Node &Usefulness",useful_menu)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
313 self.std_menu.AppendSeparator()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
314 self.std_menu.Append(STD_MENU_SAVE,"&Save Node")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
315 self.std_menu.Append(STD_MENU_HTML,"E&xport as HTML")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
316 self.std_menu.AppendSeparator()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
317 self.std_menu.Append(STD_MENU_ABOUT,"&About")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
318 self.Bind(wx.EVT_MENU, self.on_send_to, id=STD_MENU_SEND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
319 self.Bind(wx.EVT_MENU, self.indifferent, id=STD_MENU_NODE_INDIFFERENT)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
320 self.Bind(wx.EVT_MENU, self.useful, id=STD_MENU_NODE_USEFUL)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
321 self.Bind(wx.EVT_MENU, self.useless, id=STD_MENU_NODE_USELESS)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
322 self.Bind(wx.EVT_MENU, self.on_del, id=STD_MENU_DELETE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
323 self.Bind(wx.EVT_MENU, self.on_send_to_map, id=STD_MENU_MAP)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
324 self.Bind(wx.EVT_MENU, self.on_node_design, id=STD_MENU_DESIGN)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
325 self.Bind(wx.EVT_MENU, self.on_node_use, id=STD_MENU_USE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
326 self.Bind(wx.EVT_MENU, self.on_node_pp, id=STD_MENU_PP)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
327 self.Bind(wx.EVT_MENU, self.on_save, id=STD_MENU_SAVE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
328 self.Bind(wx.EVT_MENU, self.on_icon, id=STD_MENU_ICON)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
329 self.Bind(wx.EVT_MENU, self.on_clone, id=STD_MENU_CLONE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
330 self.Bind(wx.EVT_MENU, self.on_about, id=STD_MENU_ABOUT)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
331 self.Bind(wx.EVT_MENU, self.on_send_to_chat, id=STD_MENU_CHAT)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
332 self.Bind(wx.EVT_MENU, self.on_whisper_to, id=STD_MENU_WHISPER)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
333 self.Bind(wx.EVT_MENU, self.on_export_html, id=STD_MENU_HTML)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
334 self.top_menu = wx.Menu()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
335 self.top_menu.SetTitle("game tree")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
336 self.top_menu.Append(TOP_IFILE,"&Insert File")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
337 self.top_menu.Append(TOP_INSERT_URL,"Insert &URL")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
338 self.top_menu.Append(TOP_FEATURES, "Insert &Features Node")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
339 self.top_menu.Append(TOP_NEW_TREE, "&Load New Tree")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
340 self.top_menu.Append(TOP_SAVE_TREE,"&Save Tree")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
341 self.top_menu.Append(TOP_SAVE_TREE_AS,"Save Tree &As...")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
342 self.top_menu.Append(TOP_TREE_PROP,"&Tree Properties")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
343 self.Bind(wx.EVT_MENU, self.on_insert_file, id=TOP_IFILE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
344 self.Bind(wx.EVT_MENU, self.on_insert_url, id=TOP_INSERT_URL)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
345 self.Bind(wx.EVT_MENU, self.on_save_tree_as, id=TOP_SAVE_TREE_AS)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
346 self.Bind(wx.EVT_MENU, self.on_save_tree, id=TOP_SAVE_TREE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
347 self.Bind(wx.EVT_MENU, self.on_load_new_tree, id=TOP_NEW_TREE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
348 self.Bind(wx.EVT_MENU, self.on_tree_prop, id=TOP_TREE_PROP)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
349 self.Bind(wx.EVT_MENU, self.on_insert_features, id=TOP_FEATURES)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
350
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
351
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
352 def do_std_menu(self, evt, obj):
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
353 try: self.std_menu.Enable(STD_MENU_MAP, obj.checkToMapMenu())
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
354 except: self.std_menu.Enable(STD_MENU_MAP, obj.map_aware())
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
355 self.std_menu.Enable(STD_MENU_CLONE, obj.can_clone())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
356 self.PopupMenu(self.std_menu)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
357
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
358
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
359 def strip_html(self, player):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
360 ret_string = ""
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
361 x = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
362 in_tag = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
363 for x in xrange(len(player[0])) :
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
364 if player[0][x] == "<" or player[0][x] == ">" or in_tag == 1 :
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
365 if player[0][x] == "<" : in_tag = 1
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
366 elif player[0][x] == ">" : in_tag = 0
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
367 else: pass
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
368 else: ret_string = ret_string + player[0][x]
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
369 logger.debug(ret_string)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
370 return ret_string
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
371
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
372
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
373 def on_receive_data(self, data, player):
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
374 if iselement(data):
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
375 tostring(data)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
376 beg = string.find(data,"<tree>")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
377 end = string.rfind(data,"</tree>")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
378 data = data[6:end]
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
379 self.insert_xml(data)
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
380
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
381 def on_send_to_chat(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
382 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
383 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
384 obj.on_send_to_chat(evt)
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
385
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
386 def on_whisper_to(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
387 players = self.session.get_players()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
388 opts = []
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
389 myid = self.session.get_id()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
390 me = None
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
391 for p in players:
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
392 if p[2] != myid: opts.append("("+p[2]+") " + self.strip_html(p))
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
393 else: me = p
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
394 if len(opts): players.remove(me)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
395 if len(opts):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
396 dlg = orpgMultiCheckBoxDlg( self.GetParent(),opts,"Select Players:","Whisper To",[] )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
397 if dlg.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
398 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
399 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
400 selections = dlg.get_selections()
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
401 if len(selections) == len(opts): self.chat.ParsePost(obj.tohtml(),True,True)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
402 else:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
403 player_ids = []
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
404 for s in selections:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
405 player_ids.append(players[s][2])
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
406 self.chat.whisper_to_players(obj.tohtml(),player_ids)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
407
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
408
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
409 def on_export_html(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
410 f = wx.FileDialog(self,"Select a file", self.last_save_dir,"","HTML (*.html)|*.html",wx.SAVE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
411 if f.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
412 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
413 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
414 type = f.GetFilterIndex()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
415 with open(f.GetPath(),"w") as f:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
416 data = "<html><head><title>"+obj.xml.get("name")+"</title></head>"
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
417 data += "<body bgcolor=\"#FFFFFF\" >"+obj.tohtml()+"</body></html>"
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
418 for tag in ("</tr>","</td>","</th>","</table>","</html>","</body>"):
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
419 data = data.replace(tag,tag+"\n")
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
420 f.write(data)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
421 self.last_save_dir, throwaway = os.path.split( f.GetPath() )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
422 f.Destroy()
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
423 os.chdir(dir_struct["home"])
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
424
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
425
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
426 def indifferent(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
427 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
428 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
429 obj.usefulness("indifferent")
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
430
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
431
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
432 def useful(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
433 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
434 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
435 obj.usefulness("useful")
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
436
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
437
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
438 def useless(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
439 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
440 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
441 obj.usefulness("useless")
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
442
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
443
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
444 def on_email(self,evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
445 pass
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
446
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
447
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
448 def on_send_to(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
449 players = self.session.get_players()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
450 opts = []
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
451 myid = self.session.get_id()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
452 me = None
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
453 for p in players:
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
454 if p[2] != myid: opts.append("("+p[2]+") " + self.strip_html(p))
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
455 else: me = p
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
456 if len(opts):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
457 players.remove(me)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
458 dlg = orpgMultiCheckBoxDlg( None, opts, "Select Players:", "Send To", [] )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
459 if dlg.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
460 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
461 obj = self.GetPyData(item)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
462 xmldata = "<tree>" + tostring(obj.xml) + "</tree>"
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
463 selections = dlg.get_selections()
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
464 if len(selections) == len(opts): self.session.send(xmldata)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
465 else:
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
466 for s in selections: self.session.send(xmldata,players[s][2])
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
467 dlg.Destroy()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
468
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
469
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
470 def on_icon(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
471 icons = self.icons.keys()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
472 icons.sort()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
473 dlg = wx.SingleChoiceDialog(self,"Choose Icon?","Change Icon",icons)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
474 if dlg.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
475 key = dlg.GetStringSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
476 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
477 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
478 obj.change_icon(key)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
479 dlg.Destroy()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
480
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
481
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
482 def on_wizard(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
483 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
484 obj = self.GetPyData(item)
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
485 name = "New " + obj.xml_root.get("name")
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
486 icon = obj.xml_root.get("icon")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
487 xml_data = "<nodehandler name=\""+name+"\" icon=\"" + icon + "\" module=\"core\" class=\"node_loader\" >"
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
488 xml_data += xml.toxml(obj)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
489 xml_data += "</nodehandler>"
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
490 self.insert_xml(xml_data)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
491 logger.debug(xml_data)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
492
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
493
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
494 def on_clone(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
495 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
496 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
497 if obj.can_clone():
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
498 parent_node = self.GetItemParent(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
499 prev_sib = self.GetPrevSibling(item)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
500 if not prev_sib.IsOk(): prev_sib = parent_node
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
501 clone_xml = XML(tostring(obj.xml))
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
502 if parent_node == self.root: parent_xml = self.GetPyData(parent_node)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
503 else: parent_xml = self.GetPyData(parent_node).xml
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
504 for i in range(len(parent_xml)):
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
505 if parent_xml[i] is obj.xml:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
506 parent_xml.insert(i, clone_xml)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
507 break
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
508 self.load_xml(clone_xml, parent_node, prev_sib)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
509
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
510
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
511 def on_save(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
512 """save node to a xml file"""
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
513 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
514 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
515 obj.on_save(evt)
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
516 os.chdir(dir_struct["home"])
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
517
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
518
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
519 def on_save_tree_as(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
520 f = wx.FileDialog(self,"Select a file", self.last_save_dir,"","*.xml",wx.SAVE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
521 if f.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
522 self.save_tree(f.GetPath())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
523 self.last_save_dir, throwaway = os.path.split( f.GetPath() )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
524 f.Destroy()
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
525 os.chdir(dir_struct["home"])
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
526
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
527
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
528 def on_save_tree(self, evt=None):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
529 filename = self.settings.get_setting("gametree")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
530 self.save_tree(filename)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
531
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
532
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
533 def save_tree(self, filename=dir_struct["user"]+'tree.xml'):
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
534 self.xml_root.set("version",GAMETREE_VERSION)
125
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
535 settings.change("gametree",filename)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
536 ElementTree(self.xml_root).write(filename)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
537
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
538
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
539 def on_load_new_tree(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
540 f = wx.FileDialog(self,"Select a file", self.last_save_dir,"","*.xml",wx.OPEN)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
541 if f.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
542 self.load_tree(f.GetPath())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
543 self.last_save_dir, throwaway = os.path.split( f.GetPath() )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
544 f.Destroy()
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
545 os.chdir(dir_struct["home"])
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
546
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
547
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
548 def on_insert_file(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
549 """loads xml file into the tree"""
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
550 if self.last_save_dir == ".":
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
551 self.last_save_dir = dir_struct["user"]
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
552 f = wx.FileDialog(self,"Select a file", self.last_save_dir,"","*.xml",wx.OPEN)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
553 if f.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
554 self.insert_xml(open(f.GetPath(),"r").read())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
555 self.last_save_dir, throwaway = os.path.split( f.GetPath() )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
556 f.Destroy()
71
449a8900f9ac Code refining almost completed, for this round. Some included files are still in need of some clean up, but this is test worthy.
sirebral
parents: 66
diff changeset
557 os.chdir(dir_struct["home"])
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
558
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
559
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
560 def on_insert_url(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
561 """loads xml url into the tree"""
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
562 dlg = wx.TextEntryDialog(self,"URL?","Insert URL", "http://")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
563 if dlg.ShowModal() == wx.ID_OK:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
564 path = dlg.GetValue()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
565 file = urllib.urlopen(path)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
566 self.insert_xml(file.read())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
567 dlg.Destroy()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
568
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
569
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
570 def on_insert_features(self, evt):
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 0
diff changeset
571 self.insert_xml(open(dir_struct["template"]+"feature.xml","r").read())
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
572
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
573
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
574 def on_tree_prop(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
575 dlg = gametree_prop_dlg(self, self.settings)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
576 if dlg.ShowModal() == wx.ID_OK: pass
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
577 dlg.Destroy()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
578
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
579
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
580 def on_node_design(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
581 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
582 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
583 obj.on_design(evt)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
584
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
585
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
586 def on_node_use(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
587 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
588 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
589 obj.on_use(evt)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
590
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
591
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
592 def on_node_pp(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
593 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
594 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
595 obj.on_html_view(evt)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
596
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
597
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
598 def on_del(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
599 status_value = "none"
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
600 try:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
601 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
602 if item:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
603 handler = self.GetPyData(item)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
604 status_value = handler.xml.get('status')
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
605 name = handler.xml.get('name')
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
606 parent_item = self.GetItemParent(item)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
607 while parent_item.IsOk() and status_value!="useful" and status_value!="useless":
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
608 try:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
609 parent_handler = self.GetPyData(parent_item)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
610 status_value = parent_handler.get('status')
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
611 name = parent_handler.get('name')
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
612 if status_value == "useless":
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
613 break
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
614 elif status_value == "useful":
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
615 break
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
616 except:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
617 status_value = "none"
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
618 parent_item = self.GetItemParent(parent_item)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
619 if status_value == "useful":
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
620 dlg = wx.MessageDialog(self, `name` + " And everything beneath it are considered useful. \n\nAre you sure you want to delete this item?",'Important Item',wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
621 if dlg.ShowModal() == wx.ID_YES: handler.delete()
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
622 else: handler.delete()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
623 except:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
624 if self.GetSelection() == self.GetRootItem():
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
625 msg = wx.MessageDialog(None,"You can't delete the root item.","Delete Error",wx.OK)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
626 else: msg = wx.MessageDialog(None,"Unknown error deleting node.","Delete Error",wx.OK)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
627 msg.ShowModal()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
628 msg.Destroy()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
629
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
630
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
631 def on_about(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
632 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
633 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
634 about = MyAboutBox(self,obj.about())
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
635 about.ShowModal()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
636 about.Destroy()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
637
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
638
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
639 def on_send_to_map(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
640 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
641 obj = self.GetPyData(item)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
642 if hasattr(obj,"on_send_to_map"): obj.on_send_to_map(evt)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
643
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
644
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
645 def insert_xml(self, txt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
646 #Updated to allow safe merging of gametree files
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
647 #without leaving an unusable and undeletable node.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
648 # -- Snowdog 8/03
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
649 if not txt:
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
650 wx.MessageBox("Import Failed: Invalid or missing node data")
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
651 logger.general("Import Failed: Invalid or missing node data")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
652 return
132
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
653 try: new_xml = XML(txt)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
654 except ExpatError:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
655 wx.MessageBox("Error Importing Node or Tree")
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
656 logger.general("Error Importing Node or Tree")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
657 return
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
658
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
659 if new_xml.tag == "gametree":
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
660 for xml_child in new_xml:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
661 self.load_xml(xml_child, self.root)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
662 return
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
663
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
664 self.xml_root.append(new_xml)
132
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
665 self.load_xml(new_xml, self.root, self.root)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
666
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
667
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
668 def build_img_list(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
669 """make image list"""
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
670 helper = img_helper()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
671 self.icons = { }
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
672 self._imageList= wx.ImageList(16,16,False)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
673 icons_xml = parse(orpg.dirpath.dir_struct["icon"]+"icons.xml")
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
674 for icon in icons_xml.getroot():
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
675 key = icon.get("name")
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
676 path = orpg.dirpath.dir_struct["icon"] + icon.get("file")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
677 img = helper.load_file(path)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
678 self.icons[key] = self._imageList.Add(img)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
679 self.SetImageList(self._imageList)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
680
132
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
681 def get_tree_map(self, parent):
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
682 ## Could be a little cleaner ##
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
683 family_tree = []
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
684 test = parent
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
685 while test != self.root:
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
686 parent = self.GetItemText(test)
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
687 test = self.GetItemParent(test)
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
688 family_tree.append(parent)
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
689 return family_tree
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
690
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
691 def load_xml(self, xml_element, parent_node, prev_node=None):
132
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
692 if parent_node != self.root:
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
693 ## Loading XML seems to lag on Grids ##
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
694 family_tree = self.get_tree_map(parent_node)
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
695 family_tree.reverse()
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
696 map_str = '' #'!@'
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
697 for member in family_tree:
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
698 map_str += member +'::'
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
699 map_str = map_str[:len(map_str)-2] #+'@!'
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
700 xml_element.set('map', map_str)
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
701
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
702 #add the first tree node
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
703 i = 0
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
704 name = xml_element.get("name")
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
705 icon = xml_element.get("icon")
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
706 if self.icons.has_key(icon): i = self.icons[icon]
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
707
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
708 if prev_node:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
709 if prev_node == parent_node: new_tree_node = self.PrependItem(parent_node, name, i, i)
132
fe4dc5817d5e Traipse Alpha 'OpenRPG' {091005-00}
sirebral
parents: 130
diff changeset
710 else: new_tree_node = self.InsertItem(parent_node, prev_node, name, i, i)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
711 else: new_tree_node = self.AppendItem(parent_node, name, i, i)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
712
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
713 logger.debug("Node Added to tree")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
714 #create a nodehandler or continue loading xml into tree
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
715 if xml_element.tag == "nodehandler":
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
716 try:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
717 py_class = xml_element.get("class")
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
718 logger.debug("nodehandler class: " + py_class)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
719 if not self.nodehandlers.has_key(py_class):
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
720 raise Exception("Unknown Nodehandler for " + py_class)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
721 self.nodes[self.id] = self.nodehandlers[py_class](xml_element, new_tree_node)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
722 self.SetPyData(new_tree_node, self.nodes[self.id])
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
723 logger.debug("Node Data set")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
724 bmp = self.nodes[self.id].get_scaled_bitmap(16,16)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
725 if bmp: self.cached_load_of_image(bmp,new_tree_node,)
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
726 logger.debug("Node Icon loaded")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
727 self.id = self.id + 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
728 except Exception, er:
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
729 logger.exception(traceback.format_exc())
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
730
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
731 # was deleted -- should we delete non-nodehandler nodes then?
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
732 #self.Delete(new_tree_node)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
733 #parent = xml_dom._get_parentNode()
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
734 #parent.removeChild(xml_dom)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
735
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
736 return new_tree_node
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
737
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
738 def cached_load_of_image(self, bmp_in, new_tree_node):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
739 image_list = self.GetImageList()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
740 img = wx.ImageFromBitmap(bmp_in)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
741 img_data = img.GetData()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
742 image_index = None
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
743 for key in self.image_cache.keys():
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
744 if self.image_cache[key] == str(img_data):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
745 image_index = key
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
746 break
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
747 if image_index is None:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
748 image_index = image_list.Add(bmp_in)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
749 self.image_cache[image_index] = img_data
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
750 self.SetItemImage(new_tree_node,image_index)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
751 self.SetItemImage(new_tree_node,image_index, wx.TreeItemIcon_Selected)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
752 return image_index
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
753
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
754 def on_rclick(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
755 pt = evt.GetPosition()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
756 (item, flag) = self.HitTest(pt)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
757 if item.IsOk():
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
758 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
759 self.SelectItem(item)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
760 if(isinstance(obj,core.node_handler)): obj.on_rclick(evt)
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
761 else: self.PopupMenu(self.top_menu)
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
762 else: self.PopupMenu(self.top_menu,pt)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
763
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
764
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
765 def on_ldclick(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
766 self.rename_flag = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
767 pt = evt.GetPosition()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
768 (item, flag) = self.HitTest(pt)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
769 if item.IsOk():
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
770 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
771 self.SelectItem(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
772 if(isinstance(obj,core.node_handler)):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
773 if not obj.on_ldclick(evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
774 action = self.settings.get_setting("treedclick")
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
775 if action == "use": obj.on_use(evt)
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
776 elif action == "design": obj.on_design(evt)
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
777 elif action == "print": obj.on_html_view(evt)
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
778 elif action == "chat": self.on_send_to_chat(evt)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
779
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
780
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
781 def on_left_down(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
782 pt = evt.GetPosition()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
783 (item, flag) = self.HitTest(pt)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
784 if item.IsOk() and self.was_labeling:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
785 self.SelectItem(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
786 self.rename_flag = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
787 self.was_labeling = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
788 elif (flag & wx.TREE_HITTEST_ONITEMLABEL) == wx.TREE_HITTEST_ONITEMLABEL and self.IsSelected(item):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
789 # this next if tests to ensure that the mouse up occurred over a label, and not the icon
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
790 self.rename_flag = 1
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
791 else: self.SelectItem(item)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
792 evt.Skip()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
793
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
794
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
795 def on_left_up(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
796 if self.dragging:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
797 cur = wx.StockCursor(wx.CURSOR_ARROW)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
798 self.SetCursor(cur)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
799 self.dragging = False
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
800 pt = evt.GetPosition()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
801 (item, flag) = self.HitTest(pt)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
802 if item.IsOk():
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
803 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
804 self.SelectItem(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
805 if(isinstance(obj,core.node_handler)):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
806 obj.on_drop(evt)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
807 self.drag_obj = None
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
808
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
809 def traverse(self, root, function, data=None, recurse=True):
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
810 child, cookie = self.GetFirstChild(root)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
811 while child.IsOk():
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
812 function(child, data)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
813 if recurse:
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
814 self.traverse(child, function, data)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
815 child, cookie = self.GetNextChild(root, cookie)
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
816
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
817
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
818 def on_label_change(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
819 item = evt.GetItem()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
820 txt = evt.GetLabel()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
821 self.was_labeling = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
822 self.rename_flag = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
823 if txt != "":
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
824 obj = self.GetPyData(item)
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
825 obj.xml_root.setAttribute('name',txt)
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
826 else: evt.Veto()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
827
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
828
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
829 def on_label_begin(self, evt):
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
830 if not self.rename_flag: evt.Veto()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
831 else:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
832 self.was_labeling = 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
833 item = evt.GetItem()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
834 if item == self.GetRootItem():
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
835 evt.Veto()
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
836
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
837
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
838 def on_drag(self, evt):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
839 self.rename_flag = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
840 item = self.GetSelection()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
841 obj = self.GetPyData(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
842 self.SelectItem(item)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
843 if(isinstance(obj,core.node_handler) and obj.drag):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
844 self.dragging = True
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
845 cur = wx.StockCursor(wx.CURSOR_HAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
846 self.SetCursor(cur)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
847 self.drag_obj = obj
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
848
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
849
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
850 def is_parent_node(self, node, compare_node):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
851 parent_node = self.GetItemParent(node)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
852 if compare_node == parent_node:
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
853 logger.debug("parent node")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
854 return 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
855 elif parent_node == self.root:
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
856 logger.debug("not parent")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
857 return 0
76
37a11fea3304 More clean up. Images now posts a Chat Info post if image doesn't load.
sirebral
parents: 71
diff changeset
858 else: return self.is_parent_node(parent_node, compare_node)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
859
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
860 CTRL_TREE_FILE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
861 CTRL_YES = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
862 CTRL_NO = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
863 CTRL_USE = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
864 CTRL_DESIGN = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
865 CTRL_CHAT = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
866 CTRL_PRINT = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
867
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
868 class gametree_prop_dlg(wx.Dialog):
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
869
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
870 def __init__(self, parent, settings):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
871 wx.Dialog.__init__(self, parent, wx.ID_ANY, "Game Tree Properties")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
872 self.settings = settings
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
873
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
874 #sizers
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
875 sizers = {}
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
876 sizers['but'] = wx.BoxSizer(wx.HORIZONTAL)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
877 sizers['main'] = wx.BoxSizer(wx.VERTICAL)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
878
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
879 #box sizers
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
880 box_sizers = {}
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
881 box_sizers["save"] = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, "Save On Exit"), wx.HORIZONTAL)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
882 box_sizers["file"] = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, "Tree File"), wx.HORIZONTAL)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
883 box_sizers["dclick"] = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, "Double Click Action"), wx.HORIZONTAL)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
884 self.ctrls = { CTRL_TREE_FILE : FileBrowseButtonWithHistory(self, wx.ID_ANY, labelText="" ) ,
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
885 CTRL_YES : wx.RadioButton(self, CTRL_YES, "Yes", style=wx.RB_GROUP),
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
886 CTRL_NO : wx.RadioButton(self, CTRL_NO, "No"),
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
887 CTRL_USE : wx.RadioButton(self, CTRL_USE, "Use", style=wx.RB_GROUP),
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
888 CTRL_DESIGN : wx.RadioButton(self, CTRL_DESIGN, "Desgin"),
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
889 CTRL_CHAT : wx.RadioButton(self, CTRL_CHAT, "Chat"),
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
890 CTRL_PRINT : wx.RadioButton(self, CTRL_PRINT, "Pretty Print")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
891 }
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
892 self.ctrls[CTRL_TREE_FILE].SetValue(settings.get_setting("gametree"))
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
893 opt = settings.get_setting("SaveGameTreeOnExit")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
894 self.ctrls[CTRL_YES].SetValue(opt=="1")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
895 self.ctrls[CTRL_NO].SetValue(opt=="0")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
896 opt = settings.get_setting("treedclick")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
897 self.ctrls[CTRL_DESIGN].SetValue(opt=="design")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
898 self.ctrls[CTRL_USE].SetValue(opt=="use")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
899 self.ctrls[CTRL_CHAT].SetValue(opt=="chat")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
900 self.ctrls[CTRL_PRINT].SetValue(opt=="print")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
901 box_sizers['save'].Add(self.ctrls[CTRL_YES],0, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
902 box_sizers['save'].Add(wx.Size(10,10))
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
903 box_sizers['save'].Add(self.ctrls[CTRL_NO],0, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
904 box_sizers['file'].Add(self.ctrls[CTRL_TREE_FILE], 0, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
905 box_sizers['dclick'].Add(self.ctrls[CTRL_USE],0, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
906 box_sizers['dclick'].Add(wx.Size(10,10))
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
907 box_sizers['dclick'].Add(self.ctrls[CTRL_DESIGN],0, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
908 box_sizers['dclick'].Add(wx.Size(10,10))
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
909 box_sizers['dclick'].Add(self.ctrls[CTRL_CHAT],0, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
910 box_sizers['dclick'].Add(wx.Size(10,10))
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
911 box_sizers['dclick'].Add(self.ctrls[CTRL_PRINT],0, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
912
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
913 # buttons
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
914 sizers['but'].Add(wx.Button(self, wx.ID_OK, "Apply"), 1, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
915 sizers['but'].Add(wx.Size(10,10))
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
916 sizers['but'].Add(wx.Button(self, wx.ID_CANCEL, "Cancel"), 1, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
917 sizers['main'].Add(box_sizers['save'], 1, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
918 sizers['main'].Add(box_sizers['file'], 1, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
919 sizers['main'].Add(box_sizers['dclick'], 1, wx.EXPAND)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
920 sizers['main'].Add(sizers['but'], 0, wx.EXPAND|wx.ALIGN_BOTTOM )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
921
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
922 #sizers['main'].SetDimension(10,10,csize[0]-20,csize[1]-20)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
923 self.SetSizer(sizers['main'])
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
924 self.SetAutoLayout(True)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
925 self.Fit()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
926 self.Bind(wx.EVT_BUTTON, self.on_ok, id=wx.ID_OK)
118
217fb049bd00 Traipse Alpha 'OpenRPG' {091028-00}
sirebral
parents: 76
diff changeset
927
129
43ad912b7c17 Traipse Alpha 'OpenRPG' {091003-01}
sirebral
parents: 125
diff changeset
928
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
929 def on_ok(self,evt):
125
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
930 self.settings.change("gametree",self.ctrls[CTRL_TREE_FILE].GetValue())
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
931 self.settings.change("SaveGameTreeOnExit",str(self.ctrls[CTRL_YES].GetValue()))
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
932 if self.ctrls[CTRL_USE].GetValue(): self.settings.change("treedclick","use")
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
933 elif self.ctrls[CTRL_DESIGN].GetValue(): self.settings.change("treedclick","design")
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
934 elif self.ctrls[CTRL_PRINT].GetValue(): self.settings.change("treedclick","print")
ed4c3606ad1f Traipse Alpha 'OpenRPG' {091001-02}
sirebral
parents: 119
diff changeset
935 elif self.ctrls[CTRL_CHAT].GetValue(): self.settings.change("treedclick","chat")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
936 self.EndModal(wx.ID_OK)