home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 July / CMCD0704.ISO / Software / Freeware / Utilitare / VisualBoyAdvance-1.7.2 / src / win32 / RewindInterval.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2004-05-13  |  2.6 KB  |  101 lines

  1. // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
  2. // Copyright (C) 1999-2003 Forgotten
  3. // Copyright (C) 2004 Forgotten and the VBA development team
  4.  
  5. // This program 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 2, or(at your option)
  8. // any later version.
  9. //
  10. // This program 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 this program; if not, write to the Free Software Foundation,
  17. // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  18.  
  19. // RewindInterval.cpp : implementation file
  20. //
  21.  
  22. #include "stdafx.h"
  23. #include "vba.h"
  24. #include "RewindInterval.h"
  25.  
  26. #ifdef _DEBUG
  27. #define new DEBUG_NEW
  28. #undef THIS_FILE
  29. static char THIS_FILE[] = __FILE__;
  30. #endif
  31.  
  32. /////////////////////////////////////////////////////////////////////////////
  33. // RewindInterval dialog
  34.  
  35.  
  36. RewindInterval::RewindInterval(int interval, CWnd* pParent /*=NULL*/)
  37.   : CDialog(RewindInterval::IDD, pParent)
  38. {
  39.   //{{AFX_DATA_INIT(RewindInterval)
  40.   // NOTE: the ClassWizard will add member initialization here
  41.   //}}AFX_DATA_INIT
  42.   this->interval = interval;
  43. }
  44.  
  45.  
  46. void RewindInterval::DoDataExchange(CDataExchange* pDX)
  47. {
  48.   CDialog::DoDataExchange(pDX);
  49.   //{{AFX_DATA_MAP(RewindInterval)
  50.   DDX_Control(pDX, IDC_INTERVAL, m_interval);
  51.   //}}AFX_DATA_MAP
  52. }
  53.  
  54.  
  55. BEGIN_MESSAGE_MAP(RewindInterval, CDialog)
  56.   //{{AFX_MSG_MAP(RewindInterval)
  57.   ON_BN_CLICKED(ID_CANCEL, OnCancel)
  58.   ON_BN_CLICKED(ID_OK, OnOk)
  59.   //}}AFX_MSG_MAP
  60.   END_MESSAGE_MAP()
  61.  
  62.   /////////////////////////////////////////////////////////////////////////////
  63. // RewindInterval message handlers
  64.  
  65. void RewindInterval::OnCancel() 
  66. {
  67.   EndDialog(-1);
  68. }
  69.  
  70. void RewindInterval::OnOk() 
  71. {
  72.   CString buffer;
  73.  
  74.   m_interval.GetWindowText(buffer);
  75.  
  76.   int v = atoi(buffer);
  77.  
  78.   if(v >= 0 && v <= 600) {
  79.     EndDialog(v);
  80.   } else
  81.     systemMessage(IDS_INVALID_INTERVAL_VALUE, 
  82.                   "Invalid rewind interval value. Please enter a number "
  83.                   "between 0 and 600 seconds");
  84. }
  85.  
  86. BOOL RewindInterval::OnInitDialog() 
  87. {
  88.   CDialog::OnInitDialog();
  89.   
  90.   m_interval.LimitText(3);
  91.  
  92.   CString buffer;
  93.   buffer.Format("%d", interval);
  94.   m_interval.SetWindowText(buffer);
  95.  
  96.   CenterWindow();
  97.   
  98.   return TRUE;  // return TRUE unless you set the focus to a control
  99.                 // EXCEPTION: OCX Property Pages should return FALSE
  100. }
  101.