Changeset 199 for trunk


Ignore:
Timestamp:
05/03/2009 05:12:43 PM (3 years ago)
Author:
guyru
Message:

Simple statistics dialog, make statistics class store last reset date

Location:
trunk/src
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/MainFrame.cpp

    r195 r199  
    3434#include "configuration.h" 
    3535#include "settings_dialog.h" 
     36#include "statistics_dialog.h" 
    3637#include "../config.h" 
    3738#include <iostream> 
     
    150151        gameMenu->Append(wxID_UNDO,wxT("&Undo\tCtrl+Z")); 
    151152        gameMenu->Append(ID_SHOWHIGHSCORE,wxT("Show Highscores\tCtrl+H")); 
     153        gameMenu->Append(ID_STATISTICS,wxT("Statistics...")); 
    152154        gameMenu->Append(ID_SETTINGS,wxT("Settings")); 
    153155        gameMenu->Append(wxID_EXIT); 
     
    347349        Connect(wxID_UNDO, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::OnUndo)); 
    348350        Connect(ID_SHOWHIGHSCORE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::OnShowHighscore)); 
     351        Connect(ID_STATISTICS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::OnStatistics)); 
    349352        Connect(ID_SETTINGS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrame::OnSettings)); 
    350353        //END connecting the menu items' events 
     
    522525        dialog->ShowModal(); 
    523526 
     527        delete dialog; 
     528} 
     529 
     530void MainFrame::OnStatistics(wxCommandEvent &event) 
     531{ 
     532        statistics_dialog::StatisticsDialog *dialog = new statistics_dialog::StatisticsDialog(this, m_stats); 
     533        dialog->ShowModal(); 
    524534        delete dialog; 
    525535} 
  • trunk/src/MainFrame.h

    r195 r199  
    5353        void OnUndo (wxCommandEvent& event); 
    5454        void OnShowHighscore (wxCommandEvent& event); 
     55        void OnStatistics (wxCommandEvent& event); 
    5556        void OnSettings (wxCommandEvent& event); 
    5657        void OnSendComment (wxCommandEvent& event); 
     
    142143        ID_PANEL, 
    143144        ID_SHOWHIGHSCORE, 
     145        ID_STATISTICS, 
    144146        ID_SETTINGS, 
    145147        ID_THEMES, 
  • trunk/src/Makefile.am

    r193 r199  
    1616        ScoreDice.cpp \ 
    1717        statistics.cpp \ 
     18        statistics_dialog.cpp \ 
    1819        wxDynamicBitmap.cpp \ 
    1920        one.xpm \ 
     
    3435        ScoreDice.h \ 
    3536        statistics.h \ 
     37        statistics_dialog.h \ 
    3638        wxDynamicBitmap.h \ 
    3739        ../openyahtzee.vcproj \ 
  • trunk/src/statistics.cpp

    r198 r199  
    2020 
    2121#include <string> 
     22#include <sstream> 
    2223#include <cstdlib> 
    2324#include <boost/foreach.hpp> 
     
    3839         
    3940        tmp = backend->get("statistics_games_started"); 
    40         games_started = atoi(tmp.c_str()); 
     41        _games_started = atoi(tmp.c_str()); 
    4142 
    4243        tmp = backend->get("statistics_games_finished"); 
    43         games_finished = atoi(tmp.c_str()); 
     44        _games_finished = atoi(tmp.c_str()); 
    4445 
    4546        tmp = backend->get("statistics_score_distribution"); 
     
    5354                score_distribution.push_back(atoi(i.c_str())); 
    5455        } 
     56 
     57        istringstream i(tmp); 
     58        i >> _last_reset; 
    5559} 
    5660 
    5761void Statistics::game_started() 
    5862{        
    59         games_started++; 
     63        _games_started++; 
    6064        save(); 
    6165} 
     
    6468{        
    6569        int score_slot; 
    66         games_finished++; 
     70        _games_finished++; 
    6771 
    6872        score_slot = score/score_distribution_granuality; 
     
    7478void Statistics::save() { 
    7579        string tmp; 
    76         backend->set("statistics_games_started", stringify(games_started)); 
    77         backend->set("statistics_games_finished", stringify(games_finished)); 
     80        backend->set("statistics_games_started", stringify(_games_started)); 
     81        backend->set("statistics_games_finished", stringify(_games_finished)); 
     82        backend->set("statistics_last_reset", stringify(_last_reset)); 
    7883 
    7984        tmp = ""; 
     
    8994 
    9095void Statistics::reset() { 
    91         games_started = 0; 
    92         games_finished = 0; 
     96        _games_started = 0; 
     97        _games_finished = 0; 
     98        _last_reset = time(NULL); 
    9399 
    94100        score_distribution = vector<int>(score_distributions_slots, 0); 
  • trunk/src/statistics.h

    r197 r199  
    4545        void reset(); 
    4646 
     47        int games_started() { return _games_started; } 
     48        int games_finished() { return _games_finished; } 
     49        time_t last_reset() { return _last_reset; } 
     50 
    4751private: 
    4852        /** 
     
    5155        void save(); 
    5256 
    53         int games_started; 
    54         int games_finished; 
     57        int _games_started; 
     58        int _games_finished; 
     59        time_t _last_reset; 
     60 
    5561        std::vector<int> score_distribution; 
    5662        configuration::Configuration *backend; 
Note: See TracChangeset for help on using the changeset viewer.