home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 January / dppcpro0199a.iso / January / Fp98 / SDK / WebBot / votebot / client / VoteBotDialog.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-09-18  |  2.9 KB  |  116 lines

  1. //
  2. // Copyright (c) 1997 Vermeer Technologies, Inc., a wholly owned
  3. //               subsidiary of Microsoft Corp.  All Rights Reserved
  4. //
  5. // File: VoteBotDialog.cpp
  6. // Dialog Implementation File
  7. //
  8.  
  9. #include "stdafx.h"
  10. #include "votebot.h"
  11. #include "VoteBotDialog.h"
  12.  
  13. #ifdef _DEBUG
  14. #define new DEBUG_NEW
  15. #undef THIS_FILE
  16. static char THIS_FILE[] = __FILE__;
  17. #endif
  18.  
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CVoteBotDialog dialog
  21.  
  22.  
  23. CVoteBotDialog::CVoteBotDialog(CWnd* pParent /*=NULL*/)
  24.     : CDialog(CVoteBotDialog::IDD, pParent)
  25. {
  26.     //{{AFX_DATA_INIT(CVoteBotDialog)
  27.     m_votetype = 0;
  28.     m_voteopt = 0;
  29.     m_bModified = FALSE;
  30.     m_bFirstEdit = FALSE;   // assume this is NOT the first time bot has been edited
  31.     //}}AFX_DATA_INIT
  32. }
  33.  
  34.  
  35. void CVoteBotDialog::DoDataExchange(CDataExchange* pDX)
  36. {
  37.     CDialog::DoDataExchange(pDX);
  38.     //{{AFX_DATA_MAP(CVoteBotDialog)
  39.     DDX_Radio(pDX, IDC_OPINION, m_votetype);
  40.     DDX_Radio(pDX, IDC_YESNO, m_voteopt);
  41.     //}}AFX_DATA_MAP
  42. }
  43.  
  44.  
  45. BEGIN_MESSAGE_MAP(CVoteBotDialog, CDialog)
  46.     //{{AFX_MSG_MAP(CVoteBotDialog)
  47.     ON_BN_CLICKED(IDC_AGREE, CVoteBotDialog::setModFlag)
  48.     ON_BN_CLICKED(IDC_FORAGAINST, CVoteBotDialog::setModFlag)
  49.     ON_BN_CLICKED(IDC_OPINION, CVoteBotDialog::setModFlag)
  50.     ON_BN_CLICKED(IDC_PROPOSAL, CVoteBotDialog::setModFlag)
  51.     ON_BN_CLICKED(IDC_YESNO, CVoteBotDialog::setModFlag)
  52.     //}}AFX_MSG_MAP
  53.  
  54.  
  55. END_MESSAGE_MAP()
  56.  
  57. void CVoteBotDialog::DialogToDictionary(CWebBotDict &dict)
  58. {
  59.     // read values from editor ui into corresopnding botdict values
  60.  
  61.     // map votetype (proposal/opinion)
  62.         if (m_votetype==0)
  63.         {    dict.SetValue("S-VOTETYPE", "OPINION");    }
  64.         else if (m_votetype==1)
  65.         {    dict.SetValue("S-VOTETYPE", "PROPOSAL");};
  66.  
  67.     // map voteopt (yes/no, agree/disagree, for/against)
  68.         if (m_voteopt==0)
  69.         {    dict.SetValue("S-VOTEOPT", "YES/NO");    }
  70.         else if (m_voteopt==1)
  71.         {    dict.SetValue("S-VOTEOPT", "AGREE");    }
  72.         else if (m_voteopt==2)
  73.         {    dict.SetValue("S-VOTEOPT", "FOR/AGAINST");};
  74.  
  75. }
  76.  
  77. void CVoteBotDialog::DictionaryToDialog(CWebBotDict &dict)
  78. {   
  79.  
  80.     // read bot params from dictionary and map to component editor dialog
  81.  
  82.     // cast dict.GetValue so we can use it in a comparison
  83.     CString sztemp = dict.GetValue("S-VOTETYPE");
  84.  
  85.     // get votetype attribute from botdict
  86.     if (sztemp=="OPINION")
  87.     {    m_votetype = 0; }
  88.     else if (sztemp=="PROPOSAL") 
  89.     {    m_votetype = 1;    }
  90.     else 
  91.     {    m_bFirstEdit = TRUE;    };   // First time bot has been inserted
  92.  
  93.     // get voteopt attribute from botdict
  94.     sztemp = dict.GetValue("S-VOTEOPT");
  95.  
  96.     if (sztemp=="YES/NO")
  97.     {    m_voteopt = 0;    }
  98.     else if (sztemp=="AGREE")
  99.     {    m_voteopt = 1;    }
  100.     else if (sztemp=="FOR/AGAINST")
  101.     {    m_voteopt = 2;    };
  102.  
  103.  
  104. }
  105.  
  106.  
  107. /////////////////////////////////////////////////////////////////////////////
  108. // CVoteBotDialog message handlers
  109.  
  110. void CVoteBotDialog::setModFlag()
  111. {
  112.     // TODO: Add your control notification handler code here
  113.     m_bModified = TRUE;
  114.  
  115. }
  116.