Mercurial > vba-clojure
view src/win32/RewindInterval.cpp @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
line wrap: on
line source
1 // RewindInterval.cpp : implementation file2 //4 #include "stdafx.h"5 #include <cmath>6 #include "resource.h"7 #include "RewindInterval.h"8 #include "VBA.h"10 /////////////////////////////////////////////////////////////////////////////11 // RewindInterval dialog13 RewindInterval::RewindInterval(float interval, int slots, CWnd*pParent /*=NULL*/)14 : CDialog(RewindInterval::IDD, pParent)15 {16 //{{AFX_DATA_INIT(RewindInterval)17 // NOTE: the ClassWizard will add member initialization here18 //}}AFX_DATA_INIT19 this->interval = interval;20 this->slots = slots;21 }23 void RewindInterval::DoDataExchange(CDataExchange*pDX)24 {25 CDialog::DoDataExchange(pDX);26 //{{AFX_DATA_MAP(RewindInterval)27 DDX_Control(pDX, IDC_INTERVAL, m_interval);28 DDX_Control(pDX, IDC_REWINDSLOTS, m_slots);29 //}}AFX_DATA_MAP30 }32 BEGIN_MESSAGE_MAP(RewindInterval, CDialog)33 //{{AFX_MSG_MAP(RewindInterval)34 ON_BN_CLICKED(ID_CANCEL, OnCancel)35 ON_BN_CLICKED(ID_OK, OnOk)36 //}}AFX_MSG_MAP37 END_MESSAGE_MAP()39 /////////////////////////////////////////////////////////////////////////////40 // RewindInterval message handlers42 void RewindInterval::OnCancel()43 {44 EndDialog(-1);45 }47 void RewindInterval::OnOk()48 {49 CString buffer, buffer2;51 m_interval.GetWindowText(buffer);52 m_slots.GetWindowText(buffer2);54 float interval = (float)atof(buffer);55 int slots = atoi(buffer2);57 if (interval >= 0 && (int)interval <= 600)58 {59 if (slots >= 0 && slots <= MAX_REWIND_SLOTS)60 {61 int iInterval = (int)(interval*6.0f + 0.5f);62 if (interval > 0 && iInterval == 0)63 iInterval = 1;64 EndDialog(iInterval | (slots << 16));65 theApp.winAccelMgr.UpdateMenu(theApp.menu);66 }67 else68 systemMessage(IDS_INVALID_INTERVAL_VALUE,69 "Invalid rewind slot amount. Please enter a number "70 "between 0 and 128 slots");71 }72 else73 systemMessage(IDS_INVALID_INTERVAL_VALUE,74 "Invalid rewind interval value. Please enter a number "75 "between 0 and 600 seconds");76 }78 BOOL RewindInterval::OnInitDialog()79 {80 CDialog::OnInitDialog();82 m_interval.LimitText(5);83 m_slots.LimitText(3);85 CString buffer, buffer2;86 buffer.Format("%.1f", interval);87 m_interval.SetWindowText(buffer);88 buffer2.Format("%d", slots);89 m_slots.SetWindowText(buffer2);91 CenterWindow();93 return TRUE; // return TRUE unless you set the focus to a control94 // EXCEPTION: OCX Property Pages should return FALSE95 }