Ignore:
Timestamp:
03/01/11 21:31:09 (9 years ago)
Author:
aspidites
Message:

Patch by Aspidites

+ now possible to close options window

Location:
branches/active/character_customization/game/parpg
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/active/character_customization/game/parpg/gui/hud.py

    r763 r765  
    7676        self.initializeEvents() 
    7777        self.initializeQuitDialog() 
     78        self.initializeSettingsMenu() 
    7879     
    7980    def _getEnabled(self): 
     
    197198           @return: None""" 
    198199        self.main_menu = pychan.loadXML("gui/hud_pause_menu.xml") 
    199         self.settings_menu = pychan.loadXML("gui/settings_menu.xml") 
    200200        #TODO: find more suitalbe place for onOptilonsPress implementation 
    201201        self.menu_events = {"resumeButton": self.hideMenu,  
     
    226226        self.enabled = True 
    227227 
     228    def initializeSettingsMenu(self, refresh=False): 
     229        if not refresh: 
     230            self.settings_menu = pychan.loadXML("gui/settings_menu.xml") 
     231            events = {'okButton': self.saveSettings, 
     232                      'cancelButton': self.hideSettings, 
     233                      'defaultButton': self.resetSettings} 
     234            self.settings_menu.mapEvents(events) 
     235 
     236    def hideSettings(self): 
     237        self.settings_menu.hide() 
     238 
     239    def saveSettings(self): 
     240        self.settings.write() 
     241        self.settings_menu.hide() 
     242 
     243    def resetSettings(self): 
     244        settings.load(path=settings.paths[0]) 
     245        self.initializeSettingsMenu() 
     246 
    228247    def displaySettings(self): 
    229         """Displays the optons menu. 
    230            @return: None""" 
    231248        self.settings_menu.show() 
    232         self.settings_menu.mapEvents({"okButton": self.settings_menu.close()}) 
    233249 
    234250    def initializeHelpMenu(self): 
  • branches/active/character_customization/game/parpg/mainmenuview.py

    r763 r765  
    7171         
    7272        self.initializeQuitDialog() 
     73        self.initializeSettingsMenu() 
    7374     
    7475    def newGame(self): 
     
    9091        """Creates the quit confirmation dialog 
    9192           @return: None""" 
    92         self.settings_menu = pychan.loadXML("gui/settings_menu.xml") 
     93         
    9394        self.quit_window = pychan.widgets.Window(title=unicode("Quit?"), \ 
    9495                                                 min_size=(200,0)) 
     
    122123        self.quit_window.show() 
    123124 
     125    def initializeSettingsMenu(self, refresh=False): 
     126        if not refresh: 
     127            self.settings_menu = pychan.loadXML("gui/settings_menu.xml") 
     128            events = {'okButton': self.saveSettings, 
     129                      'cancelButton': self.hideSettings, 
     130                      'defaultButton': self.resetSettings} 
     131            self.settings_menu.mapEvents(events) 
     132 
     133    def hideSettings(self): 
     134        self.settings_menu.hide() 
     135 
     136    def saveSettings(self): 
     137        self.model.settings.write() 
     138        self.settings_menu.hide() 
     139 
     140    def resetSettings(self): 
     141        self.model.settings.load(path=self.model.settings.paths[0]) 
     142        self.initializeSettingsMenu() 
     143 
    124144    def displaySettings(self): 
    125         self.settings_menu.show()  
    126         self.settings_menu.mapEvents({"okButton": self.settings_menu.close}) 
     145        self.settings_menu.show() 
  • branches/active/character_customization/game/parpg/settings.py

    r764 r765  
    146146        return getattr(self, name) 
    147147 
    148     def read(self, paths, filename=None): 
     148    def read(self, paths=None, filename=None): 
    149149        """ Reads a settings file and populates the settings object  
    150             with its sections and options. 
    151  
    152             @param path: name of file to be parsed. 
     150            with its sections and options. Calling this method without 
     151            any arguments simply re-reads the previously defined filename 
     152            and paths 
     153 
     154            @param path: name of file to be parsed.  
    153155            @type path: string 
    154156        """ 
    155157        if filename is not None: 
    156158            self.filename = filename 
     159 
     160        if paths is None: 
     161            paths = self.paths 
    157162 
    158163        if hasattr(paths, 'split'): 
Note: See TracChangeset for help on using the changeset viewer.