Annotation of mstools/mfc/samples/oclient/mainwnd.h, revision 1.1.1.1

1.1       root        1: // This is a part of the Microsoft Foundation Classes C++ library.
                      2: // Copyright (C) 1992 Microsoft Corporation
                      3: // All rights reserved.
                      4: //
                      5: // This source code is only intended as a supplement to the
                      6: // Microsoft Foundation Classes Reference and Microsoft
                      7: // QuickHelp documentation provided with the library.
                      8: // See these sources for detailed information regarding the
                      9: // Microsoft Foundation Classes product.
                     10: 
                     11: // class CMainWnd - the main frame window for this app
                     12: 
                     13: class CItemWnd;
                     14: class CMainWnd;
                     15: 
                     16: class CMainDocument : public COleClientDoc
                     17: {
                     18:        CMainWnd*   m_pView;
                     19: public:
                     20:        CMainDocument(CMainWnd* pView)
                     21:                { m_pView = pView; }
                     22: 
                     23:        // iterator for contained items
                     24:        virtual COleClientItem* GetNextItem(POSITION& rPosition,
                     25:                BOOL* pIsSelected);
                     26: };
                     27: 
                     28: 
                     29: class CMainWnd : public CFrameWnd
                     30: {
                     31: public:
                     32:        CString         m_title;            // title of window
                     33:        CString         m_fileName;         // file name (may be empty)
                     34: 
                     35: public:
                     36:        CMainWnd();
                     37: 
                     38: // Attributes
                     39:        CItemWnd* GetSelection() const;
                     40:        void    SetSelection(CItemWnd* pNewSel);
                     41: 
                     42:        const CMainDocument* GetDocument() const;
                     43:        CMainDocument* GetDocument();
                     44: 
                     45: // Operations
                     46:        void    Hourglass(BOOL bOn);
                     47:        void    ErrorMessage(UINT id);
                     48: 
                     49:        void    Dirty();
                     50: 
                     51:        // File helpers
                     52:        BOOL    SaveAsNeeded();
                     53:        void    InitFile(BOOL fOpen);
                     54:        BOOL    DoSave(const char* szFileName);
                     55:        BOOL    DoFileDlg(CString& fileName, UINT nIDTitle, DWORD lFlags);
                     56: 
                     57:        // naming/registering
                     58:        void    SetTitle();
                     59:        void    DeregisterDoc();
                     60: 
                     61:        // reading-writing content
                     62:        virtual void Serialize(CArchive& ar);       // from CObject
                     63: #ifdef _DEBUG
                     64:        virtual void AssertValid() const;
                     65: #endif
                     66: 
                     67: // Callbacks
                     68:        // windows messages
                     69:        afx_msg void OnInitMenuPopup(CMenu*, UINT, BOOL);
                     70:        afx_msg void OnDestroy();
                     71:        afx_msg void OnClose();
                     72:        afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
                     73:        afx_msg BOOL OnQueryEndSession();
                     74: 
                     75:        // callback helpers
                     76:        BOOL    DoCopySelection();
                     77:        BOOL    DoPaste(BOOL fLink);
                     78:        void    ClearAll();
                     79: 
                     80:        // commands
                     81:        afx_msg void OnFileNew();
                     82:        afx_msg void OnFileOpen();
                     83:        afx_msg void OnFileSave();
                     84:        afx_msg void OnFileSaveAs();
                     85:        afx_msg void OnExit();
                     86:        afx_msg void OnAbout();
                     87: 
                     88:        afx_msg void OnCut();
                     89:        afx_msg void OnCopy();
                     90:        afx_msg void OnPaste();
                     91:        afx_msg void OnPasteLink();
                     92:        afx_msg void OnClear();
                     93:        afx_msg void OnClearAll();
                     94:        afx_msg void OnInsertObject();
                     95:        afx_msg void OnEditLinks();
                     96: 
                     97: // Implementation
                     98: protected:
                     99:        virtual BOOL OnCommand(UINT wParam, LONG lParam);
                    100:        CItemWnd* m_pSelection;
                    101:        BOOL    m_fDirty;
                    102: 
                    103:        CMainDocument   m_document;
                    104: 
                    105:        DECLARE_MESSAGE_MAP()
                    106: };
                    107: 
                    108: // inlines
                    109: inline void CMainWnd::Dirty()
                    110:        { m_fDirty = TRUE; }
                    111: inline const CMainDocument* CMainWnd::GetDocument() const
                    112:        { return &m_document; }
                    113: inline CMainDocument* CMainWnd::GetDocument()
                    114:        { return &m_document; }
                    115: inline CItemWnd* CMainWnd::GetSelection() const
                    116:        { return m_pSelection; } // Just the top-most window

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.