Changeset 116


Ignore:
Timestamp:
06/10/09 17:19:05 (10 years ago)
Author:
maximinus_parpg
Message:

Amended context_menu.py.

Location:
trunk/PARPG/scripts
Files:
2 edited

Legend:

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

    r115 r116  
    1 import fife 
    2 import pychan 
     1#!/usr/bin/python 
     2 
     3#   This file is part of PARPG. 
     4 
     5#   PARPG is free software: you can redistribute it and/or modify 
     6#   it under the terms of the GNU General Public License as published by 
     7#   the Free Software Foundation, either version 3 of the License, or 
     8#   (at your option) any later version. 
     9 
     10#   PARPG is distributed in the hope that it will be useful, 
     11#   but WITHOUT ANY WARRANTY; without even the implied warranty of 
     12#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     13#   GNU General Public License for more details. 
     14 
     15#   You should have received a copy of the GNU General Public License 
     16#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>. 
     17 
     18import fife, pychan 
    319 
    420class ContextMenu(): 
    5     """ 
    6     Arguments: 
    7         menu_items : A list of items containing the name and  
    8                      text for the menu item and callback 
    9                      i.e. [["menuitem1", "Menu Item 1",  menuCallback1], 
    10                            ["menuitem2", "Menu Item 2", menuCallback2]] 
    11     """ 
     21    """Arguments: 
     22       menu_items : A list of items containing the name and  
     23                    text for the menu item and callback 
     24                    i.e. [["menuitem1", "Menu Item 1",  menuCallback1], 
     25                          ["menuitem2", "Menu Item 2", menuCallback2]]""" 
    1226    def __init__(self, engine, menu_items, pos): 
    1327        pychan.init(engine, debug = True) 
    14          
    1528        self.vbox = pychan.widgets.VBox(position=pos) 
    1629        events_to_map = {} 
    17          
    1830        for item in menu_items: 
    1931            p = pychan.widgets.Button(name=item[0], text=unicode(item[1])) 
    2032            self.vbox.addChild(p) 
    2133            events_to_map[item[0]] = item[2] 
    22              
    2334        self.vbox.mapEvents(events_to_map) 
    2435        self.vbox.show() 
    25              
     36 
  • trunk/PARPG/scripts/world.py

    r115 r116  
    240240                         cbwa(self.contextDisplayObjectText, click)]] 
    241241                pos = (evt.getX(), evt.getY()) 
     242                print evt.getX() 
    242243                self.context_menu = ContextMenu(self.engine, data, pos) 
    243244 
     
    250251    def contextDisplayObjectText(self, click): 
    251252        # although the engine code knows, fife can be more accurate 
    252             i=self.cameras['main'].getMatchingInstances(click, self.agent_layer) 
    253             if(i != ()): 
    254                 for obj in i: 
    255                     # check to see if this in our list at all 
    256                     test = self.data.objectActive(obj.getId()) 
    257                     if(test != False): 
    258                         # finally, display the text     
    259                         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") 
     253        i=self.cameras['main'].getMatchingInstances(click, self.agent_layer) 
     254        if(i != ()): 
     255            for obj in i: 
     256                # check to see if this in our list at all 
     257                test = self.data.objectActive(obj.getId()) 
     258                if(test != False): 
     259                    # finally, display the text     
     260                    self.displayObjectText(obj.getId(), test.text) 
     261                    self.context_menu.vbox.hide() 
     262                    delattr(self, "context_menu") 
     263                else: 
     264                    self.context_menu.vbox.hide() 
     265                    delattr(self, "context_menu") 
    266266            else: 
    267267                self.context_menu.vbox.hide() 
Note: See TracChangeset for help on using the changeset viewer.