Ignore:
Timestamp:
08/17/09 23:45:22 (10 years ago)
Author:
bretzel_parpg
Message:

Added some functionality to the dialog map

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/writing_editor/scripts/dialogMap.py

    r234 r250  
    1818from PyQt4 import QtGui, QtCore 
    1919from scripts.parser import Parser 
     20 
    2021 
    2122class DialogMap(QtGui.QTreeWidget): 
     
    3940        self.parent = parent 
    4041        self.resize(int(self.settings.res_width), int(self.settings.res_height)) 
    41         self.parser = Parser(main_edit.document()) 
     42        self.parser = Parser(main_edit, self.handleResult) 
     43        self.itemCount = 0 
    4244 
    4345        self.setColumnCount(1) 
    4446        self.setEditTriggers(self.NoEditTriggers) 
    45         self.model = QtGui.QTreeWidgetItem() 
    46         self.items = [] 
    47         for i in xrange(10): 
    48             item = QtGui.QTreeWidgetItem() 
    49             item.setText(0, str(i)) 
    50             item2 = QtGui.QTreeWidgetItem() 
    51             item2.setText(0, str(i + 1)) 
    52             item.addChild(item2) 
    53             self.items.append(item) 
    54         self.insertTopLevelItems(0, self.items) 
    55         self.setHeaderLabel("Dialog Map") 
     47        self.setHeaderLabel("") 
     48         
     49    def handleResult(self, result, type_): 
     50        """ 
     51        Take the result, determine where to put it in the dialog map, then put it there 
     52        @type result: string 
     53        @param result: the result to be handled 
     54        @type type_: string 
     55        @param type_: the type of result 
     56        @return: None 
     57        """ 
     58        text = result.split(' ') 
     59        if (type_ == "SCRIPTNAME"): 
     60            self.setHeaderLabel(text[1]) 
     61 
     62        elif (type_ == "SAY"): 
     63            sayText = text[0] + " says " + text[2] 
     64            print "text: " + sayText 
     65            self.sayItem = QtGui.QTreeWidgetItem() 
     66            self.sayItem.setText(0, sayText) 
     67            self.insertItem(self.sayItem) 
     68 
     69        elif (type_ == "ATTACK"): 
     70            attackText = text[0] + " attacks " + text[2] 
     71            self.attackItem = QtGui.QTreeWidgetItem() 
     72            self.attackItem.setText(0, attackText) 
     73            self.insertItem(self.attackItem) 
     74 
     75    def insertItem(self, item): 
     76        """ 
     77        Insert an item at the correct place in the dialog tree 
     78        @type item: QtGui.QTreeWidgetItem 
     79        @param item: the item to insert 
     80        @return: None 
     81        """ 
     82        self.insertTopLevelItem(0, item) 
     83 
     84    def clear(self): 
     85        """ 
     86        Clear the dialog map 
     87        """ 
     88        self.setHeaderLabel("") 
     89        for i in xrange(self.topLevelItemCount()): 
     90            item = self.itemAt(0, i) 
     91            self.removeItemWidget(item, 0) 
Note: See TracChangeset for help on using the changeset viewer.