'===========================================================================
' Subject: IBASIC NotePad                     Date: 06-13-03 (  :  )       
'  Author: Wayne Anthony                      Code: IBASIC                 
'  Origin: sm0oth@juno.com                  Packet: TEXT.ABC
'===========================================================================
AutoDefine "OFF"
DEF MainWin:WINDOW
DEF c:INT
WINDOW MainWin, 500, 430, 300, 300, @MINBOX|@MAXBOX|@SIZE, 0, "SimplePad - Untitled", MainWinHan
MENU MainWin, "T,&File, 0, 0", "I,&New, 0, 1", "I,--, 0, 1000", "I,&Open, 0, 2", "I,&Save, 0,3", "I,--, 0, 1000", "I,&Quit, 0, 4"
INSERTMENU MainWin, 1, "T,&Help, 0, 0", "I,&About, 0, 5"
CONTROL MainWin,"E, txtEdit, 0, 0, 294, 250, 0x50B010C4, 1"
DECLARE "user32",GetSysColor(nindex:int),int 
c=GetSysColor(5)
SETCONTROLCOLOR MainWin, 1, 0, RGB(255,255,255)
SETWINDOWCOLOR MainWin, c
WAITUNTIL MainWin = 0
END

SUB MainWinHan
	DEF Wth, Hth, Lft, Tp:INT
	SELECT @CLASS 
		CASE @IDCLOSEWINDOW
			CLOSEWINDOW MainWin
		CASE @IDSIZE
			IF CONTROLEXISTS(MainWin, 1)
				GETSIZE MainWin, Lft, Tp, Wth, Hth
				Wth = Wth - 6 : Hth = Hth - 50
				SETSIZE MainWin, 0, 0, Wth, Hth, 1 
			ENDIF
		CASE @IDMENUPICK
			SELECT @MENUNUM
				CASE 1
					SETCONTROLTEXT MainWin, 1, ""
					SETCAPTION MainWin, "SimplePad - Untitled"
				CASE 2
					OpenAFile
				CASE 3
					SaveToFile
				CASE 4
					CLOSEWINDOW MainWin
				CASE 5
					MessageBox MainWin, "Made by Sm0oth", "About..."
				ENDSELECT
	ENDSELECT
RETURN

SUB SaveToFile
	DEF FileName:String
	DEF SaveFile:FILE
	DEF Buf[32766]:IString
	FileName = FileRequest("Save current text to file.", MainWin, 0)
	IF(OPENFILE(SaveFile, FileName, "W") <> 0) 
		MessageBox MainWin, "Could not save to the file.", "Error"
	ELSE
		Buf = GETCONTROLTEXT(MainWin, 1)
		WRITE (SaveFile, Buf)
		SETCAPTION MainWin, "SimplePad - " + FileName
	ENDIF
RETURN


SUB OpenAFile
	DEF FileName:String
	DEF Buf[3200],Buff[6400]:IString 
	DEF File:FILE
	FileName = FileRequest("Open a file for editing.", MainWin, 1)
	IF(OPENFILE(File, FileName, "R") <> 0)
		MessageBox MainWin, "Cannot Open File.", "Error"
	ELSE
		DO
		READ(File, Buf)
		Buff = GETCONTROLTEXT(MainWin, 1)
		SETCONTROLTEXT MainWin, 1, APPEND$(Buff, CHR$(13), CHR$(10), Buf) 
		UNTIL EOF(File)
		SETCAPTION MainWin, "SimplePad - " + FileName
	EndIf
RETURN
