// UpdateSpc.h: interface for the CUpdateSpc class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_UPDATESPC_H__9D5ABEC0_48AA_4AE0_A0CD_B54C7B8BB209__INCLUDED_)
#define AFX_UPDATESPC_H__9D5ABEC0_48AA_4AE0_A0CD_B54C7B8BB209__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SemiE10.h"
#include "UpdateEditCtrl.h"
#include "UpdateTextCtrl.h"

#ifdef  BUILD_GUIDLL
#define     DLLCLASS    __declspec(dllexport)
#else
#define     DLLCLASS    __declspec(dllimport)
#endif

struct StSpcArray
{
    int iTextId;   // text control id
    int iEditId;   // edit control id
    int iDataType; // data type
    int iDataEnum; // data enum
};

class DLLCLASS CUpdateSpc
{
public:
//  default constructor
    CUpdateSpc(int iNoOfSpc, HWND hDlg = NULL);

//  default destructor
    ~CUpdateSpc();

//  set dialog box window handler
    void SetHWND(HWND hDlg);

//  refresh spc data on text control
    void RefreshSpc(StSemiE10 stSemiE10);

//  update the text text control
    void UpdateTextCtrl(StSemiE10 stSemiE10);

//  insert spc data to spc array
    void InsertSpcArray(int iDataType, int iDataEnum, int iTextId, int iEditId);

private:
    CUpdateSpc(const CUpdateSpc &rhs);
    int m_iNoOfSpc;                   // number of spc data
    int m_iArrayIndex;                // array index of spc data

    StSpcArray *m_stSpcArray;         // spc array pointer

    CUpdateEditCtrl m_UpdateEditCtrl; // object to control update the text of edit control
    CUpdateTextCtrl m_UpdateTextCtrl; // object to control update the text of text control
};

#endif // !defined(AFX_UPDATESPC_H__9D5ABEC0_48AA_4AE0_A0CD_B54C7B8BB209__INCLUDED_)
