You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
642 lines
27 KiB
C++
642 lines
27 KiB
C++
// XTPSyntaxEditView.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(__XTPSYNTAXEDITSYNTAXEDITVIEW_H__)
|
|
#define __XTPSYNTAXEDITSYNTAXEDITVIEW_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class CXTPSyntaxEditFindReplaceDlg;
|
|
|
|
namespace XTPSyntaxEditLexAnalyser
|
|
{
|
|
class CXTPSyntaxEditLexParser;
|
|
}
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// Describes printing options for the Calendar Control.
|
|
// Remarks:
|
|
// Use this class when you want to programmatically customize printing
|
|
// options for the Calendar control.
|
|
//
|
|
// See each property description to examine which customization options
|
|
// are available.
|
|
// See Also:
|
|
// CXTPPrintOptions
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPSyntaxEditViewPrintOptions : public CXTPPrintOptions
|
|
{
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_DYNAMIC(CXTPSyntaxEditViewPrintOptions)
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default constructor.
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditViewPrintOptions();
|
|
|
|
protected:
|
|
|
|
};
|
|
|
|
//===========================================================================
|
|
// Summary: This class represents a View portion of the Edit Control. It
|
|
// extends functionality provided by CView class from MFC's document-view
|
|
// model implementation. CXTPSyntaxEditView class works together with
|
|
// CXTPSyntaxEditDoc and provides facilities for it to be displayed on
|
|
// a screen or printed on a printer.
|
|
// See Also: CXTPSyntaxEditDoc
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPSyntaxEditView : public CView
|
|
{
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
friend class CXTPSyntaxEditDoc;
|
|
DECLARE_DYNCREATE(CXTPSyntaxEditView)
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
protected:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Protected object constructor. Used by dynamic creation.
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditView();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPSyntaxEditView() object, handles cleanup and
|
|
// de-allocation.
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPSyntaxEditView();
|
|
|
|
public:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Set the font of the edit control pointer.
|
|
// Parameters:
|
|
// pLogFont - [in] The LOGFONT pointer to be set.
|
|
// bUpdateReg - [in] Set TRUE to save font in registry.
|
|
//-----------------------------------------------------------------------
|
|
void SetFontIndirect(LOGFONT *pLogFont, BOOL bUpdateReg=FALSE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Enable/Disable the line numbering.
|
|
// Parameters:
|
|
// bEnable : [in] The LOGFONT pointer to be set.
|
|
//-----------------------------------------------------------------------
|
|
void SetLineNumbers(BOOL bEnable);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the if horizontal scrollbar is enabled.
|
|
// Returns:
|
|
// TRUE if horizontal scrollbar is enabled, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
BOOL GetHorzScrollBar() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the if vertical scrollbar is enabled.
|
|
// Returns:
|
|
// TRUE if vertical scrollbar is enabled, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
BOOL GetVertScrollBar() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Enable/disable scroll bar.
|
|
// Parameters:
|
|
// bHorz - [in] TRUE if horizontal scroll bar need to be enabled/disabled.
|
|
// bVert - [in] TRUE if vertical scroll bar need to be enabled/disabled.
|
|
// bUpdateReg - [in] Set TRUE to save these options in registry.
|
|
// bRecalcLayout - [in] Set TRUE to recalculate layout.
|
|
// Returns:
|
|
// TRUE if scrollbars were updated, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
BOOL SetScrollBars(BOOL bHorz, BOOL bVert, BOOL bUpdateReg=FALSE, BOOL bRecalcLayout=TRUE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Enable/disables gutter.
|
|
// Parameters:
|
|
// bEnable : [in] Pass TRUE/FALSE if gutter is to be enabled/disbaled.
|
|
//-----------------------------------------------------------------------
|
|
void SetSelMargin(BOOL bEnable);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Enable/disables auto indent.
|
|
// Parameters:
|
|
// bEnable : [in] Pass TRUE/FALSE if auto indent is to be enabled/disbaled.
|
|
//-----------------------------------------------------------------------
|
|
void SetAutoIndent(BOOL bEnable);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Enable/disables syntax colorization.
|
|
// Parameters:
|
|
// bEnable : [in] Pass TRUE/FALSE if syntax color is to be enabled/disbaled.
|
|
//-----------------------------------------------------------------------
|
|
void SetSyntaxColor(BOOL bEnable);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Updates all active sibling views.
|
|
//-----------------------------------------------------------------------
|
|
void UpdateAllViews();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Set the view ready for redraw.
|
|
//-----------------------------------------------------------------------
|
|
void SetDirty();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the smart edit control pointer for this editor.
|
|
// Returns:
|
|
// Edit control pointer.
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditCtrl& GetEditCtrl();
|
|
|
|
const CXTPSyntaxEditCtrl& GetEditCtrl() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Set external smart edit control for the view.
|
|
// Parameters:
|
|
// pControl - A pointer to smart edit control object.
|
|
// Remarks:
|
|
// Default edit control window is destroyed.
|
|
// InternalRelease will be called for external control object in the
|
|
// view object destructor.
|
|
// See Also:
|
|
// GetEditCtrl
|
|
//-----------------------------------------------------------------------
|
|
virtual void SetEditCtrl(CXTPSyntaxEditCtrl* pControl);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns a buffer manager which maintains a buffer of a smart edit
|
|
// control.
|
|
// Returns:
|
|
// Pointer to the CXTPSyntaxEditBufferManager object.
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditBufferManager* GetEditBuffer() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Use this function to get associated configuration manager.
|
|
// Returns:
|
|
// Pointer to the associated configuration manager.
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditConfigurationManager* GetLexConfigurationManager() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Refreshes the whole document, recalculates the scrollbar.
|
|
//-----------------------------------------------------------------------
|
|
void Refresh();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Set the current top row.
|
|
// Parameters:
|
|
// iRow : [in] Row to set as top row.
|
|
// Returns:
|
|
// TRUE if successful, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
BOOL SetTopRow(int iRow);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Return the topmost row.
|
|
// Returns:
|
|
// The top row integer identifier.
|
|
//-----------------------------------------------------------------------
|
|
int GetTopRow() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Updates the sibling views while in split mode.
|
|
// Parameters:
|
|
// dwUpdate : [in] Specifies the view update flags.
|
|
// pSender : [in] Pointer to a sender object (or NULL).
|
|
//-----------------------------------------------------------------------
|
|
void UpdateScrollPos(CView* pSender, DWORD dwUpdate = XTP_EDIT_UPDATE_ALL);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns Document.
|
|
// Returns:
|
|
// Pointer to CXTPSyntaxEditDoc.
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditDoc* GetDocument() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the edit buffer manager pointer.
|
|
// Returns:
|
|
// Buffer manager pointer.
|
|
// See also:
|
|
// class CXTPSyntaxEditBufferManager
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditBufferManager * GetDataManager() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns pointer to the associated lexical parser.
|
|
// Returns:
|
|
// Pointer to a XTPSyntaxEditLexAnalyser::CXTPSyntaxEditLexParser object.
|
|
//-----------------------------------------------------------------------
|
|
XTPSyntaxEditLexAnalyser::CXTPSyntaxEditLexParser* GetLexParser() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns pointer to the attached Find/Replace dialog object.
|
|
// Returns:
|
|
// Pointer to a CXTPSyntaxEditFindReplaceDlg object.
|
|
//-----------------------------------------------------------------------
|
|
virtual CXTPSyntaxEditFindReplaceDlg* GetFindReplaceDlg();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Used to get document title when printing.
|
|
// Returns:
|
|
// Returns document title string.
|
|
//-----------------------------------------------------------------------
|
|
virtual CString GetPageTitle();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to access print options for this view.
|
|
// Returns:
|
|
// Pointer to an object describing print options of this view.
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditViewPrintOptions* GetPrintOptions() const;
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
public:
|
|
virtual void OnInitialUpdate();
|
|
virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = NULL);
|
|
virtual DROPEFFECT OnDragEnter(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
|
|
virtual void OnDragLeave();
|
|
virtual DROPEFFECT OnDragOver(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
|
|
virtual BOOL OnDrop(COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point);
|
|
|
|
protected:
|
|
afx_msg void OnPaint();
|
|
virtual void OnDraw(CDC* pDC); // overridden to draw this view
|
|
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
|
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
|
|
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
|
|
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
|
|
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
|
|
virtual BOOL PaginateTo(CDC* pDC, CPrintInfo* pInfo);
|
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);
|
|
virtual void OnDropFiles(HDROP hDropInfo);
|
|
virtual void OnUpdate(CView* pSender, LPARAM lHint=0L, CObject* pHint=NULL);
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
protected:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_EDITCHANGING
|
|
// message which sent before editing applied.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to NMHDR structure.
|
|
// pResult - [out] Pointer to a LRESULT value. Set as TRUE to cancel editing
|
|
// or FALSE to allow editing.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: OnEditChanged, XTP_EDIT_NM_EDITCHANGING, XTP_EDIT_NM_EDITCHANGED
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnEditChanging(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_EDITCHANGED
|
|
// message which sent when editing applied.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_NMHDR_EDITCHANGED structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_EDITCHANGING, XTP_EDIT_NM_EDITCHANGED,
|
|
// XTP_EDIT_NMHDR_EDITCHANGED
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnEditChanged(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_SETDOCMODIFIED
|
|
// message which sent when document (edit control) modified state changed.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_NMHDR_DOCMODIFIED structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_SETDOCMODIFIED, XTP_EDIT_NMHDR_DOCMODIFIED
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnSetDocModified(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_DRAWBOOKMARK
|
|
// message which sent before draw bookmark.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_SENMBOOKMARK structure.
|
|
// pResult - [out] Pointer to a LRESULT value. Set as TRUE to cancel
|
|
// default processing (bookmark drawing),
|
|
// or FALSE to allow default processing.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_DRAWBOOKMARK, XTP_EDIT_SENMBOOKMARK
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnDrawBookmark(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_ROWCOLCHANGED
|
|
// message which sent current row or col changed.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_NMHDR_ROWCOLCHANGED structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_ROWCOLCHANGED, XTP_EDIT_NMHDR_ROWCOLCHANGED
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnRowColChanged(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_UPDATESCROLLPOS
|
|
// message which sent scroll bar position changed.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_NM_UPDATESCROLLPOS structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_UPDATESCROLLPOS
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnUpdateScrollPos(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_ENABLESCROLLBAR
|
|
// message which sent scroll bar state changed.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_NMHDR_ENABLESCROLLBAR structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_ENABLESCROLLBAR
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnEnableScrollBar(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_INSERTKEY
|
|
// message which sent when 'Ins' (VK_INSERT) key down (insert mode changed).
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to NMHDR structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_INSERTKEY
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnInsertKey(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_SELINIT
|
|
// message which sent when selection reseted.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to NMHDR structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_SELINIT
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnSelInit(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_STARTOLEDRAG
|
|
// message which sent when OLE dragging started.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to NMHDR structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_STARTOLEDRAG
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnStartOleDrag(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_MARGINCLICKED
|
|
// message which sent when left mouse button clicked on bookmarks area.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_NMHDR_MARGINCLICKED structure.
|
|
// pResult - [out] Pointer to a LRESULT value. Set as TRUE to cancel
|
|
// default processing (breakpoint set/reset),
|
|
// or FALSE to allow default processing.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_MARGINCLICKED, XTP_EDIT_NMHDR_MARGINCLICKED
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnMarginClicked(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This function is a default handler for XTP_EDIT_NM_PARSEEVENT
|
|
// message which reflect parser event.
|
|
// Parameters:
|
|
// pNMHDR - [in] Pointer to XTP_EDIT_NMHDR_PARSEEVENT structure.
|
|
// pResult - unused for this handler.
|
|
// Returns:
|
|
// TRUE is message handled, FALSE otherwise.
|
|
// See Also: XTP_EDIT_NM_PARSEEVENT, XTP_EDIT_NMHDR_PARSEEVENT
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL OnParseEvent(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
protected:
|
|
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary: Overwrite this method to customize the read-only file handling
|
|
// Returns: TRUE if read-only file can be changed, FALSE otherwise
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL CanChangeReadonlyFile();
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg void OnSetFocus(CWnd* pOldWnd);
|
|
afx_msg void OnEditUndo();
|
|
afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditRedo();
|
|
afx_msg void OnUpdateEditRedo(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditCut();
|
|
afx_msg void OnUpdateEditCut(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditCopy();
|
|
afx_msg void OnUpdateEditCopy(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditPaste();
|
|
afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditDelete();
|
|
afx_msg void OnUpdateEditDelete(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditSelectAll();
|
|
afx_msg void OnUpdateEditSelectAll(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditFind();
|
|
afx_msg void OnUpdateEditFind(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditReplace();
|
|
afx_msg void OnUpdateEditReplace(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditRepeat();
|
|
afx_msg void OnUpdateEditRepeat(CCmdUI* pCmdUI);
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
afx_msg void OnFilePageSetup();
|
|
afx_msg void OnUpdateKeyIndicator(CCmdUI* pCmdUI);
|
|
|
|
virtual void _EditFindReplace(BOOL bReplaceDlg);
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
protected:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Performs specific update for all sibling views.
|
|
// Parameters:
|
|
// pNMHDR_EC : [in] Pointer to the parameters header.
|
|
// bTextChanged: [in] This parameters is TRUE if document text was changed,
|
|
// FALSE otherwise.
|
|
// Remarks:
|
|
// This method process events from parser, updates the editing results
|
|
// or selection for all sibling views. It is called when an user edits
|
|
// text or switches between views or parser is running.
|
|
//-----------------------------------------------------------------------
|
|
void UpdateSiblings(XTP_EDIT_NMHDR_EDITCHANGED* pNMHDR_EC = NULL, BOOL bTextChanged = TRUE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Called when a sibling view is needed to be updated.
|
|
// Parameters:
|
|
// pSender : [in] The source to be updated from
|
|
// dwUpdate : [in] Type of update. Allowed values are:
|
|
// XTP_EDIT_UPDATE_HORZ, XTP_EDIT_UPDATE_VERT, XTP_EDIT_UPDATE_DIAG.
|
|
// See also
|
|
// class CXTPSyntaxEditView
|
|
//-----------------------------------------------------------------------
|
|
void UpdateSiblingScrollPos(CXTPSyntaxEditView* pSender, DWORD dwUpdate);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the view pointer of a certain pane of the splitter
|
|
// Parameters:
|
|
// nRow : [in] Row of the splitter frame.
|
|
// nCol : [in] Column of the splitter frame.
|
|
// Returns:
|
|
// Pointer to CXTPSyntaxEditView.
|
|
// See also:
|
|
// class CXTPSyntaxEditView
|
|
//-----------------------------------------------------------------------
|
|
CXTPSyntaxEditView* GetSplitterView(int nRow, int nCol);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Starts OLE drag
|
|
//-----------------------------------------------------------------------
|
|
void StartOleDrag();
|
|
|
|
LOGFONT m_lfPrevFont; // Temporarily stores editor font
|
|
int m_nPrevTopRow; // Temporarily stores previous top row
|
|
|
|
protected:
|
|
int m_nParserThreadPriority_WhenActive; // Parser priority (active state).
|
|
int m_nParserThreadPriority_WhenInactive; // Parser priority (inactive state).
|
|
|
|
BOOL m_bDraggingOver; // TRUE if dragover is going on, FALSE otherwise
|
|
BOOL m_bDraggingStartedHere; // TRUE if dragging is started in this view, FALSE otherwise
|
|
|
|
BOOL m_bScrollBars; // Whether to create control with own scrollbars, or
|
|
// let to manage scrolling for parent window
|
|
|
|
//-----------------------------------------------------------------------
|
|
|
|
static CXTPSyntaxEditView *ms_pTargetView; // Target view pointer to be filled in by drag-drop routine
|
|
static BOOL ms_bDroppedHere; // TRUE if text is dropped in this view, FALSE otherwise
|
|
static POINT ms_ptDropPos; // Stores drop mouse position.
|
|
static DWORD_PTR ms_dwSignature; // A signature used during drag-drop operation
|
|
|
|
BOOL m_bOleDragging; // TRUE if OLE dragging is enabled, FALSE otherwise
|
|
BOOL m_bFilesDragging; // TRUE when dragging files, FALSE otherwise.
|
|
COleDropTarget m_dropTarget; // OLE drop target
|
|
|
|
CSize m_szPage; // Page size for printing or preview
|
|
int m_iTopRow; // Top row for display
|
|
|
|
CWnd* m_pParentWnd;
|
|
CXTPSyntaxEditCtrl* m_pEditCtrl; // Edit control instance
|
|
|
|
static CXTPSyntaxEditFindReplaceDlg* m_pFindReplaceDlg; // Pointer to find or replace dialog.
|
|
|
|
BOOL m_bOnSizeRunning; // Indicate that OnSize message handler is in progress.
|
|
|
|
CXTPSyntaxEditViewPrintOptions* m_pPrintOptions; // Printing options.
|
|
CUIntArray m_aPageStart; // Stores Printed page start row indexes.
|
|
|
|
public:
|
|
BOOL m_bPrintDirect; // if TRUE - the Print Dialog is bypassed. FALSE by default.
|
|
BOOL m_bResizeControlWithView; // if FALSE - attached Calendar control will not be resized with view. TRUE by default.
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
AFX_INLINE CXTPSyntaxEditBufferManager* CXTPSyntaxEditView::GetEditBuffer() const {
|
|
return GetEditCtrl().GetEditBuffer();
|
|
}
|
|
AFX_INLINE CXTPSyntaxEditConfigurationManager* CXTPSyntaxEditView::GetLexConfigurationManager() const {
|
|
return GetEditCtrl().GetLexConfigurationManager();
|
|
}
|
|
AFX_INLINE CXTPSyntaxEditViewPrintOptions* CXTPSyntaxEditView::GetPrintOptions() const {
|
|
return m_pPrintOptions;
|
|
}
|
|
|
|
#endif // !defined(__XTPSYNTAXEDITSYNTAXEDITVIEW_H__)
|