/******************************************************************************
*
*
* Notepad2
*
* Edit.h
*   Text File Editing Helper Stuff
*
* See Readme.txt for more information about this source code.
* Please send me your comments to this work.
*
* Distributed under the terms of the GNU General Public License,
* see License.txt for details.
*
*                                              (c) Florian Balmer 1996-2004
*                                                       textview@bluewin.ch
*                                               http://www.flos-freeware.ch
*
*
******************************************************************************/



typedef struct _editfindreplace
{
  char szFind[256];
  char szReplace[256];
  char szFindUTF8[256];
  char szReplaceUTF8[256];
  UINT fuFlags;
  BOOL bFindUp;
  BOOL bFindClose;
  BOOL bReplaceClose;
  HWND hwnd;
  //HANDLE hMRUFind;
  //HANDLE hMRUReplace;

} EDITFINDREPLACE, *LPEDITFINDREPLACE, *LPCEDITFINDREPLACE;


HWND EditCreate(HWND);
void EditSetNewText(HWND,LPCSTR,DWORD);
int  EditDetectEOLMode(HWND,LPCSTR,DWORD);
BOOL EditLoadFile(HWND,LPCSTR,BOOL,int*,int*,BOOL*,BOOL*);
BOOL EditSaveFile(HWND,LPCSTR,int,BOOL);

void EditCopyAppend(HWND);

void EditMakeUppercase(HWND);
void EditMakeLowercase(HWND);

void EditTabsToSpaces(HWND,int);
void EditSpacesToTabs(HWND,int);

void EditStripFirstCharacter(HWND);
void EditStripTrailingBlanks(HWND);
void EditRemoveBlankLines(HWND);

void EditJumpTo(HWND,int,int);
void EditToggleBookmark(HWND);
void EditJumpToBookmark(HWND,BOOL);
void EditClearAllBookmarks(HWND);

BOOL EditFindReplaceDlg(HWND,LPCEDITFINDREPLACE,BOOL);
BOOL EditFindNext(HWND,LPCEDITFINDREPLACE);
BOOL EditFindPrev(HWND,LPCEDITFINDREPLACE);
BOOL EditReplace(HWND,LPCEDITFINDREPLACE);
BOOL EditReplaceAll(HWND,LPCEDITFINDREPLACE,BOOL);
BOOL EditReplaceAllInSelection(HWND,LPCEDITFINDREPLACE,BOOL);
BOOL EditLinenumDlg(HWND);
BOOL EditPrint(HWND,LPCSTR,LPCSTR);
void EditPrintSetup(HWND);
void EditPrintInit();

// New codepage detection functions from Textview 6.0
#define NCP_DEFAULT            0
#define NCP_UTF8               1
#define NCP_UTF8_SIGN          2
#define NCP_UNICODE            4
#define NCP_UNICODE_REVERSE    8
#define NCP_UNICODE_BOM       16

BOOL IsUnicode(const char*,int,LPBOOL,LPBOOL);
BOOL IsUTF8(const char*,int);
BOOL IsUTF7(const char*,int);



///   End of Edit.h   \\\
