/*
 *  Notepad (notepad.h)
 *
 *  Copyright 1997,98 Marcel Baur <mbaur@g26.ethz.ch>
 *  To be distributed under the Wine License
 */

#define MAX_STRING_LEN      255
#define MAX_PATHNAME_LEN    1024
#define MAX_LANGUAGE_NUMBER (NP_LAST_LANGUAGE - NP_FIRST_LANGUAGE)

#define HELPFILE  "notepad.hlp"
#define LOGPREFIX ".LOG"

/* hide the following from winerc */
#ifndef RC_INVOKED

#define WINE_RELEASE_INFO "Wine (www.winehq.com)"

#include "commdlg.h"

/***** Compatibility *****/

#ifndef OIC_WINLOGO
#define OIC_WINLOGO 32517
#endif
#define DEFAULTICON OIC_WINLOGO

typedef struct
{
  HANDLE  hInstance;
  HWND    hMainWnd;
  HWND    hFindReplaceDlg;
  HICON   hMainIcon;
  HICON   hDefaultIcon;
  HMENU   hMainMenu;
  HMENU   hFileMenu;
  HMENU   hEditMenu;
  HMENU   hSearchMenu;
  HMENU   hLanguageMenu;
  HMENU   hHelpMenu;
  LPCSTR  lpszIniFile;
  LPCSTR  lpszIcoFile;
  UINT    wStringTableOffset;
  BOOL    bWrapLongLines;
  CHAR    szFindText[MAX_PATHNAME_LEN];
  CHAR    szReplaceText[MAX_PATHNAME_LEN];
  CHAR    szFileName[MAX_PATHNAME_LEN];
  CHAR    szMarginTop[MAX_PATHNAME_LEN];
  CHAR    szMarginBottom[MAX_PATHNAME_LEN];
  CHAR    szMarginLeft[MAX_PATHNAME_LEN];
  CHAR    szMarginRight[MAX_PATHNAME_LEN];
  CHAR    szHeader[MAX_PATHNAME_LEN];
  CHAR    szFooter[MAX_PATHNAME_LEN];

  FINDREPLACE find;
  WORD    nCommdlgFindReplaceMsg;
  CHAR    Buffer[12000];
} NOTEPAD_GLOBALS;

extern NOTEPAD_GLOBALS Globals;

/* function prototypes */

void TrashBuffer(void);
void LoadBufferFromFile(LPCSTR lpFileName);

/* class names */

/* Resource names */
extern CHAR STRING_MENU_Xx[];
extern CHAR STRING_PAGESETUP_Xx[];

#define STRINGID(id) (0x##id + Globals.wStringTableOffset)

#else  /* RC_INVOKED */

#define STRINGID(id) id

#endif

/* string table index */
#define IDS_LANGUAGE_ID                 STRINGID(00)
#define IDS_LANGUAGE_MENU_ITEM          STRINGID(01)
#define IDS_NOTEPAD                     STRINGID(02)
#define IDS_TEXT_FILES_TXT              STRINGID(03)
#define IDS_ALL_FILES                   STRINGID(04)
#define IDS_ERROR                       STRINGID(05)
#define IDS_WARNING                     STRINGID(06)
#define IDS_INFO                        STRINGID(07)
#define IDS_TOOLARGE                    STRINGID(08)
#define IDS_NOTEXT                      STRINGID(09)
#define IDS_DOESNOTEXIST                STRINGID(0A)
#define IDS_NOTSAVED                    STRINGID(0B)
#define IDS_NOTFOUND                    STRINGID(0C)
#define IDS_OUT_OF_MEMORY               STRINGID(0D)
#define IDS_UNTITLED                    STRINGID(0E)

#define IDS_PAGESETUP_HEADERVALUE       STRINGID(0F)
#define IDS_PAGESETUP_FOOTERVALUE       STRINGID(10)
#define IDS_PAGESETUP_LEFTVALUE         STRINGID(11)
#define IDS_PAGESETUP_RIGHTVALUE        STRINGID(12)
#define IDS_PAGESETUP_TOPVALUE          STRINGID(13)
#define IDS_PAGESETUP_BOTTOMVALUE       STRINGID(14)

/* main menu */

#define NP_FILE_NEW              100
#define NP_FILE_OPEN             101
#define NP_FILE_SAVE             102
#define NP_FILE_SAVEAS           103
#define NP_FILE_PRINT            104
#define NP_FILE_PAGESETUP        105
#define NP_FILE_PRINTSETUP       106
#define NP_FILE_EXIT             107

#define NP_EDIT_UNDO             200
#define NP_EDIT_CUT              201
#define NP_EDIT_COPY             202
#define NP_EDIT_PASTE            203
#define NP_EDIT_DELETE           204
#define NP_EDIT_SELECTALL        205
#define NP_EDIT_TIMEDATE         206
#define NP_EDIT_WRAP             207

#define NP_SEARCH_SEARCH         300
#define NP_SEARCH_NEXT           301

#define NP_FIRST_LANGUAGE        400
#define NP_LAST_LANGUAGE         499

#define NP_HELP_CONTENTS         500
#define NP_HELP_SEARCH           501
#define NP_HELP_ON_HELP          502
#define NP_HELP_LICENSE          503
#define NP_HELP_NO_WARRANTY      504
#define NP_HELP_ABOUT_WINE       505


/* Dialog `Page Setup' */

#define NP_PAGESETUP_HEAD       1000
#define NP_PAGESETUP_HEAD_TXT   1001
#define NP_PAGESETUP_TAIL       1002
#define NP_PAGESETUP_TAIL_TXT   1003
#define NP_PAGESETUP_LEFT       1004
#define NP_PAGESETUP_LEFT_TXT   1005
#define NP_PAGESETUP_RIGHT      1006
#define NP_PAGESETUP_RIGHT_TXT  1007
#define NP_PAGESETUP_TOP        1008
#define NP_PAGESETUP_TOP_TXT    1009
#define NP_PAGESETUP_BOTTOM     1010
#define NP_PAGESETUP_BOTTOM_TXT 1011
#define NP_HELP                 1012
#define NP_PAGESETUP_MARGIN     1013

/* Local Variables:    */
/* c-file-style: "GNU" */
/* End:                */
