// XTPSyntaxEditDoc.h : header file // // This file is a part of the XTREME TOOLKIT PRO MFC class library. // (c)1998-2012 Codejock Software, All Rights Reserved. // // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN // CONSENT OF CODEJOCK SOFTWARE. // // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED // IN THE XTREME SYNTAX EDIT LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A // SINGLE COMPUTER. // // CONTACT INFORMATION: // support@codejock.com // http://www.codejock.com // ///////////////////////////////////////////////////////////////////////////// //{{AFX_CODEJOCK_PRIVATE #if !defined(__XTPSYNTAXEDITSYNTAXEDITDOC_H__) #define __XTPSYNTAXEDITSYNTAXEDITDOC_H__ //}}AFX_CODEJOCK_PRIVATE #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CXTPSyntaxEditBufferManager; //=========================================================================== // Summary: This class represents a Document portion of the Edit control. It // extends functionality provided by CDocument class from MFC's // document-view model implementation. CXTPSyntaxEditDoc class works // together with CXTPSyntaxEditView and provides storage facilities for // it. // See Also: CXTPSyntaxEditView //=========================================================================== class _XTP_EXT_CLASS CXTPSyntaxEditDoc : public CDocument { protected: //----------------------------------------------------------------------- // Summary: // Protected object constructor. Used by dynamic creation //----------------------------------------------------------------------- CXTPSyntaxEditDoc(); //----------------------------------------------------------------------- // Summary: // Destroys a CXTPSyntaxEditDoc object, handles cleanup and // de-allocation. //----------------------------------------------------------------------- virtual ~CXTPSyntaxEditDoc(); //{{AFX_CODEJOCK_PRIVATE DECLARE_DYNCREATE(CXTPSyntaxEditDoc) //}}AFX_CODEJOCK_PRIVATE // Attributes public: // Operations public: // Overrides //{{AFX_CODEJOCK_PRIVATE //{{AFX_VIRTUAL(CXTPSyntaxEditDoc) public: virtual void Serialize(CArchive& ar); // overridden for document i/o virtual void OnChangedViewList(); virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); virtual BOOL OnSaveDocument(LPCTSTR lpszPathName); virtual void OnCloseDocument(); protected: virtual BOOL OnNewDocument(); //}}AFX_VIRTUAL //}}AFX_CODEJOCK_PRIVATE // Implementation public: //----------------------------------------------------------------------- // Summary: // ReOpens already opened file // Returns: // TRUE if reopened successfully, FALSE otherwise //----------------------------------------------------------------------- BOOL ReOpen(); //----------------------------------------------------------------------- // Summary: // Set the buffer manager pointer. // Parameters: // pBuffer : [in] The buffer manager pointer to set. // See also: // class CXTPSyntaxEditBufferManager //----------------------------------------------------------------------- void SetDataManager(CXTPSyntaxEditBufferManager* pBuffer); //----------------------------------------------------------------------- // Summary: // Returns the edit buffer manager pointer. // Returns: // Buffer manager pointer. // See also: // class CXTPSyntaxEditBufferManager //----------------------------------------------------------------------- CXTPSyntaxEditBufferManager* GetDataManager() const; //----------------------------------------------------------------------- // Summary: // Set the INI file path and load the configuration. // Parameters: // szPath : [in] A valid path for searching the .ini files. // Remarks: // Configuration will be reloaded. // Returns: // TRUE if path is found, FALSE otherwise // See also: // CXTPSyntaxEditCtrl::GetConfigFile(). //----------------------------------------------------------------------- void SetConfigFile(LPCTSTR szPath); //----------------------------------------------------------------------- // Summary: // Determines if auto reload of external files has been enabled. // Returns: // TRUE if auto reload is enabled, FALSE otherwise. //----------------------------------------------------------------------- BOOL GetAutoReload() const; //----------------------------------------------------------------------- // Summary: // Enables or disables automatic reloading of external files. // Parameters: // bAutoReload : [in] TRUE to enable automatic reload of external // files, FALSE otherwise. // bUpdateReg : [in] Set this parameter as TRUE to update this setting // in the registry. It is FALSE by default. // Returns: // TRUE if succeeded, FALSE otherwise. //----------------------------------------------------------------------- BOOL SetAutoReload(BOOL bAutoReload, BOOL bUpdateReg = FALSE); //----------------------------------------------------------------------- // Summary: // This method checks if current file externally modified and prompt // user to reload it. Works only when AutoReload option enabled. // Parameters: // lpszPathName - A full file name. // Returns: // TRUE if file modified and reloaded, FALSE otherwise. // See Also: // GetAutoReload, SetAutoReload //----------------------------------------------------------------------- BOOL CheckFileModified(LPCTSTR lpszPathName); //----------------------------------------------------------------------- // Summary: // Is current file read only. // Returns: // TRUE if current file read only, FALSE otherwise. //----------------------------------------------------------------------- BOOL IsReadonly(); //----------------------------------------------------------------------- // Summary: // Use this function to get a first view for thye document object. // Returns: // A pinter to CXTPSyntaxEditView object. // See Also: // CDocument::GetFirstViewPosition, CDocument::GetNextView //----------------------------------------------------------------------- CXTPSyntaxEditView* GetFirstView(); #ifdef _DEBUG //{{AFX_CODEJOCK_PRIVATE virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; //}}AFX_CODEJOCK_PRIVATE #endif // Generated message map functions protected: virtual BOOL SaveFileData(LPCTSTR lpszPathName); //{{AFX_CODEJOCK_PRIVATE //{{AFX_MSG(CXTPSyntaxEditDoc) // NOTE - the ClassWizard will add and remove member functions here. //}}AFX_MSG DECLARE_MESSAGE_MAP() //}}AFX_CODEJOCK_PRIVATE protected: CXTPSyntaxEditBufferManager* m_ptrDataMan; // The data manager pointer BOOL m_bAutoReload; // TRUE if auto-reload of externally modified files is to be enabled. BOOL m_bOpened; // TRUE if opened, FALSE otherwise BOOL m_bNewFile; // TRUE if a new file is created or a file is opened BOOL m_bDocCreated; // TRUE if document is created BOOL m_bReloading; // TRUE if we are in progress of reloading document int m_iTopRow; // Identifier of top row. int m_iHScrollPos; // Scrolling position. WIN32_FIND_DATA m_curFileData; }; AFX_INLINE CXTPSyntaxEditBufferManager * CXTPSyntaxEditDoc::GetDataManager() const { return m_ptrDataMan; } AFX_INLINE BOOL CXTPSyntaxEditDoc::GetAutoReload() const { return m_bAutoReload; } ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(__XTPSYNTAXEDITSYNTAXEDITDOC_H__)