Changeset 115


Ignore:
Timestamp:
06/10/09 17:00:25 (10 years ago)
Author:
bretzel_parpg
Message:

Added a context menu when you right click. At the moment it will only give an option to display object text

Location:
trunk/PARPG/scripts
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/PARPG/scripts/world.py

    r110 r115  
    2626from scripts import inventory 
    2727from scripts import hud 
     28from scripts.context_menu import ContextMenu 
    2829from pychan.tools import callbackWithArguments as cbwa 
    2930 
     
    228229        if(evt.getButton() == fife.MouseEvent.LEFT): 
    229230            self.data.handleMouseClick(self.getCoords(click)) 
     231            if (hasattr(self, "context_menu")): 
     232                self.context_menu.vbox.hide() 
     233                delattr(self, "context_menu") 
     234                 
    230235        elif(evt.getButton() == fife.MouseEvent.RIGHT): 
    231             # although the engine code knows, fife can be more accurate 
     236            if (hasattr(self, "context_menu")): 
     237                self.context_menu.vbox.hide() 
     238                delattr(self, "context_menu") 
     239                data = [["DisplayObjectID", "Display Object ID", 
     240                         cbwa(self.contextDisplayObjectText, click)]] 
     241                pos = (evt.getX(), evt.getY()) 
     242                self.context_menu = ContextMenu(self.engine, data, pos) 
     243 
     244            else: 
     245                data = [["DisplayObjectID", "Display Object ID", 
     246                         cbwa(self.contextDisplayObjectText, click)]] 
     247                pos = (evt.getX(), evt.getY()) 
     248                self.context_menu = ContextMenu(self.engine, data, pos) 
     249 
     250    def contextDisplayObjectText(self, click): 
     251        # although the engine code knows, fife can be more accurate 
    232252            i=self.cameras['main'].getMatchingInstances(click, self.agent_layer) 
    233253            if(i != ()): 
     
    238258                        # finally, display the text     
    239259                        self.displayObjectText(obj.getId(), test.text) 
     260                        self.context_menu.vbox.hide() 
     261                        delattr(self, "context_menu") 
     262 
     263                    else: 
     264                        self.context_menu.vbox.hide() 
     265                        delattr(self, "context_menu") 
     266            else: 
     267                self.context_menu.vbox.hide() 
     268                delattr(self, "context_menu") 
    240269 
    241270    def mouseMoved(self, evt): 
Note: See TracChangeset for help on using the changeset viewer.