|
|
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: ! 12: #include "bibref.h" ! 13: #include "bibsvr.h" ! 14: #include "bibdoc.h" ! 15: ! 16: #include "mainwnd.h" ! 17: ! 18: ///////////////////////////////////////////////////////////////////////////// ! 19: ! 20: // For an MDI server, a CBibDoc (or CServerDoc) would be created by ! 21: // the server in response to OnOpenDoc, OnCreateDoc or OnEditDoc. ! 22: // Since we are an SDI server (just one document at a time), we create ! 23: // one document on program startup, and return it when a new server ! 24: // document is requested. ! 25: ! 26: static CBibDoc* GetOnlyDoc() ! 27: { ! 28: // ok we'll fake it ! 29: CMainWnd* pView = (CMainWnd*)AfxGetApp()->m_pMainWnd; ! 30: if (pView == NULL) ! 31: return NULL; ! 32: CBibDoc* pDoc = pView->GetDocument(); ! 33: if (pDoc == NULL) ! 34: return NULL; ! 35: ! 36: ASSERT(!pDoc->IsOpen()); ! 37: return pDoc; ! 38: } ! 39: ! 40: COleServerDoc* ! 41: CBibServer::OnOpenDoc(LPCSTR lpszDoc) ! 42: { ! 43: TRACE("BibServer: Open document (%Fs)\n", lpszDoc); ! 44: (void)lpszDoc; // file name ignored ! 45: ! 46: return GetOnlyDoc(); ! 47: } ! 48: ! 49: COleServerDoc* ! 50: CBibServer::OnCreateDoc(LPCSTR lpszClass, LPCSTR lpszDoc) ! 51: { ! 52: TRACE("BibServer: Create (%Fs, %Fs)\n", lpszClass, lpszDoc); ! 53: ! 54: return GetOnlyDoc(); ! 55: } ! 56: ! 57: COleServerDoc* ! 58: CBibServer::OnEditDoc(LPCSTR lpszClass, LPCSTR lpszDoc) ! 59: { ! 60: TRACE("BibServer: Edit (%Fs, %Fs)\n", lpszClass, lpszDoc); ! 61: ! 62: return GetOnlyDoc(); ! 63: } ! 64: ! 65: ! 66: /////////////////////////////////////////////////////////////////////////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.