home *** CD-ROM | disk | FTP | other *** search
/ Mastering Microsoft Visual C++ 4 (2nd Edition) / VisualC4.ISO / servdemo / servddoc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-30  |  1.9 KB  |  83 lines

  1. // ServDDoc.h : interface of the CServDemoDoc class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4.  
  5. class CLine : public CObject
  6. {
  7. protected:
  8.    DWORD m_X1, m_Y1, m_X2, m_Y2;
  9.  
  10.    CLine () 
  11.       {}
  12.    DECLARE_SERIAL (CLine)
  13.    
  14. public:
  15.    CLine (int X1, int Y1, int X2, int Y2)
  16.       {
  17.       m_X1 = X1;
  18.       m_Y1 = Y1;
  19.       m_X2 = X2;
  20.       m_Y2 = Y2;
  21.       }     
  22.    void Draw (CDC *PDC);
  23.    virtual void Serialize (CArchive& ar);
  24. };
  25.  
  26. class CServDemoSrvrItem;
  27.  
  28. class CServDemoDoc : public COleServerDoc
  29. {
  30. protected:
  31.    CTypedPtrArray<CObArray, CLine*> m_LineArray;  
  32.    
  33. public:
  34.    void AddLine (int X1, int Y1, int X2, int Y2);
  35.    CLine *GetLine (int Index);
  36.    int GetNumLines ();
  37.  
  38. protected: // create from serialization only
  39.    CServDemoDoc();
  40.    DECLARE_DYNCREATE(CServDemoDoc)
  41.  
  42. // Attributes
  43. public:
  44.    CServDemoSrvrItem* GetEmbeddedItem()
  45.       { return (CServDemoSrvrItem*)COleServerDoc::GetEmbeddedItem(); }
  46.  
  47. // Operations
  48. public:
  49.  
  50. // Overrides
  51.    // ClassWizard generated virtual function overrides
  52.    //{{AFX_VIRTUAL(CServDemoDoc)
  53.    public:
  54.    virtual BOOL OnNewDocument();
  55.    virtual void Serialize(CArchive& ar);
  56.    virtual void DeleteContents();
  57.    protected:
  58.    virtual COleServerItem* OnGetEmbeddedItem();
  59.    //}}AFX_VIRTUAL
  60.  
  61. // Implementation
  62. public:
  63.    virtual ~CServDemoDoc();
  64. #ifdef _DEBUG
  65.    virtual void AssertValid() const;
  66.    virtual void Dump(CDumpContext& dc) const;
  67. #endif
  68.  
  69. protected:
  70.  
  71. // Generated message map functions
  72. protected:
  73.    //{{AFX_MSG(CServDemoDoc)
  74.    afx_msg void OnEditClearAll();
  75.    afx_msg void OnUpdateEditClearAll(CCmdUI* pCmdUI);
  76.    afx_msg void OnEditUndo();
  77.    afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
  78.    //}}AFX_MSG
  79.    DECLARE_MESSAGE_MAP()
  80. };
  81.  
  82. /////////////////////////////////////////////////////////////////////////////
  83.