;////////////////////// ; KIXTART 4.20 // ; KIXFORMS 2.30 BETA // ;////////////////////// $TITLE = "kixpad" $Untitled = "Untitled" $RegKey = "HKCU\Software\Kixpad" ;////////////// ; Main form ... ;////////////// $Form = CreateObject("Kixtart.Form") $Form.Icon = 0 $Form.Text = $CurrentFileName + " - " + $TITLE $Form.BorderStyle = 2 ; Sizable $Form.ClientWidth = ReadValueEx($RegKey,"ClientWidth",600) $Form.ClientHeight = ReadValueEx($RegKey,"ClientHeight",400) $Form.Left = ReadValueEx($RegKey,"Left",100) $Form.Top = ReadValueEx($RegKey,"Top",100) $Form.OnActivate = "OnFormActivate()" $Form.ClipChildren = 1 ;////////////// ; Main menu ... ;////////////// $File = $Form.Menu.MenuItems.Add("File") $New = $File.MenuItems.Add("New","OnNewClick") $Open = $File.MenuItems.Add("Open...","OnOpenClick") $Save = $File.MenuItems.Add("Save","OnSaveClick") $File.MenuItems.Add("-") $Run = $File.MenuItems.Add("Run","OnRun") $File.MenuItems.Add("-") $Exit = $File.MenuItems.Add("Exit","OnExitClick") $Edit = $Form.Menu.MenuItems.Add("Edit") $Undo = $Edit.MenuItems.Add("Undo") $Format = $Form.Menu.MenuItems.Add("Format") $WordWrap = $Format.MenuItems.Add("WordWrap","OnWordWrapClick") $Font = $Format.MenuItems.Add("Font...","OnFontClick") $mnuBackColor = $Format.MenuItems.Add("Background Color...","OnBackColorClick") $lblSep = $Form.Label $lblSep.Location = 2,2 $lblSep.BorderStyle = 5 $lblSep.Size = $Form.ClientWidth-5,2 $lblSep.Anchor = 1+2+4 $btnNew = $Form.Controls.ToolButton() $btnNew.Location = 5,$lblSep.Bottom+2 $btnNew.Size = 23,23 $btnNew.Icon = 58 $btnNew.FlatStyle = 1 $btnNew.OnClick = "OnNewClick()" $btnNew.ToolTip = "New" $btnOpen = $Form.Controls.ToolButton() $btnOpen.Location = $btnNew.Right,$btnNew.Top $btnOpen.Size = $btnNew.Size $btnOpen.Icon = 1 $btnOpen.FlatStyle = $btnNew.FlatStyle $btnOpen.OnClick = "OnOpenClick()" $btnOpen.ToolTip = "Open" $btnSave = $Form.Controls.ToolButton() $btnSave.Location = $btnOpen.Right,$btnNew.Top $btnSave.Size = $btnNew.Size $btnSave.Icon = 2 $btnSave.FlatStyle = $btnNew.FlatStyle $btnSave.OnClick = "OnSaveClick()" $btnSave.ToolTip = "Save" ;////////////////// ; Common dialogs... ;////////////////// $WarningBox = $Form.Dialogs.MessageBox $WarningBox.Title = $TITLE $WarningBox.Icon = 48 $WarningBox.Buttons = 3 $OpenFileDialog = $Form.Dialogs.OpenFileDialog() $OpenFileDialog.InitialDirectory = @CURDIR $OpenFileDialog.Filter = "Kixtart files (*.kix)|*.kix|All files (*.*)|*.*" $OpenFileDialog.Title = "Open" $OpenFileDialog.DefaultExt = "txt" $OpenFileDialog.ShowReadOnly = "True" $OpenFileDialog.CheckFileExists = "True" $SaveFileDialog = $Form.Dialogs.SaveFileDialog() $SaveFileDialog.Title = "Save As" $SaveFileDialog.InitialDirectory = @CURDIR $SaveFileDialog.Filter = "Kixtart files (*.kix)|*.kix|All files (*.*)|*.*" $SaveFileDialog.Title = "Save" $SaveFileDialog.DefaultExt = "txt" $TextBox = $Form.TextBox $TextBox.Location = 0,$btnNew.Bottom+2 $TextBox.Right = $Form.ClientWidth $TextBox.Bottom = $Form.ClientHeight $TextBox.Anchor = 15 $TextBox.MultiLine = "True" $TextBox.ScrollBars = 3 $TextBox.Modified = 0 $TextBox.WordWrap = ReadValueEx($RegKey,"WordWrap",0) $TextBox.FontName = ReadValueEx($RegKey,"FontName","Courier New") $TextBox.FontSize = ReadValueEx($RegKey,"FontSize",10) $TextBox.FontBold = ReadValueEx($RegKey,"FontBold",0) $TextBox.ForeColor = Val(ReadValueEx($RegKey,"ForeColor",0)) $TextBox.BackColor = Val(ReadValueEx($RegKey,"BackColor",16777215)) ;/////////////// ; Initialize ... ;/////////////// $WordWrap.Checked = $TextBox.WordWrap $CurrentFileName = ReadValueEx($RegKey,"FileName","") If $CurrentFileName If Not LoadFile($CurrentFileName) $CurrentFileName = $Untitled Endif Else $CurrentFileName = $Untitled EndIf $Form.Text = GetFileName($CurrentFileName) + " - " + $TITLE ;//////////////////////// ; Run the application ... ;//////////////////////// $Form.Show $TextBox.SetFocus While $form.Visible $=Execute($form.DoEvents) Loop SaveSettings() Exit 1 Function OnNewClick() If CheckUnSavedData() $TextBox.Clear() $CurrentFileName = $Untitled $Form.Text = $CurrentFileName + " - " + $TITLE EndIf EndFunction Function OnOpenClick() Dim $Line Dim $FileName If CheckUnSavedData() If $OpenFileDialog.ShowDialog() = 1 $FileName = $OpenFileDialog.FileName $= LoadFile($FileName) $CurrentFileName = $FileName $Form.Text = GetFileName($CurrentFileName) + " - $TITLE" EndIf EndIf EndFunction Function OnSaveClick() $= SaveFile() EndFunction Function OnWordWrapClick() $TextBox.WordWrap = Not $TextBox.WordWrap $WordWrap.Checked = $TextBox.WordWrap EndFunction Function OnFontClick() Dim $FontDialog; $FontDialog = $Form.Dialogs.FontDialog() $FontDialog.Font = $TextBox.Font $FontDialog.Color = $TextBox.ForeColor; If $FontDialog.ShowDialog() = 1 $TextBox.Font = $FontDialog.Font $TextBox.ForeColor = $FontDialog.Color EndIf EndFunction Function OnBackColorClick() Dim $ColorDialog; $ColorDialog = $Form.Dialogs.ColorDialog; $ColorDialog.Color = $TextBox.BackColor If $ColorDialog.ShowDialog() = 1 $TextBox.BackColor = $ColorDialog.Color EndIf EndFunction Function OnFormActivate() $TextBox.SetFocus() EndFunction Function OnRun() If CheckUnSavedData() run 'wkix32 "$CurrentFileName"' EndIf EndFunction ;///////////////////////// ;// Support functions ... ;///////////////////////// Function CheckUnSavedData() $CheckUnSavedData = 1 If $TextBox.Modified $Message = "The text in the $CurrentFileName file has changed.@CRLF"+ "Do you want to save the changes ?" $Result = $WarningBox.Show($Message) Select Case $Result = 6 $CheckUnSavedData = SaveFile() Case $Result = 2 $CheckUnSavedData = 0 Case $Result = 7 $CheckUnSavedData = 1 Case 1 $CheckUnSavedData = 0 EndSelect EndIf EndFunction Function LoadFile($FileName) $LoadFile = 0 If Open(1,$FileName) = 0 $Form.MousePointer = 11 $TextBox.BeginUpdate $Line = ReadLine(1) While @ERROR = 0 $Line = $Line + @CRLF + ReadLine(1) Loop $= Close(1) $TextBox.Text = $Line $TextBox.SelStart = 0 $TextBox.SelLength = 0 $TextBox.EndUpdate $Form.MousePointer = 0 $LoadFile = 1 EndIf EndFunction Function SaveFile() $SaveFile = 1 If $CurrentFileName = $Untitled $SaveFileDialog.FileName = "" If $SaveFileDialog.ShowDialog() = 1 $CurrentFileName = $SaveFileDialog.FileName Else $SaveFile = 0 Return EndIf EndIf If Exist($CurrentFilename) Del $CurrentFilename EndIf If Open(1,$CurrentFileName,5) = 0 $=WriteLine(1,$TextBox.Text) $=Close(1) $Form.Text = GetFileName($CurrentFileName) + " - $TITLE" $TextBox.Modified = 0 Endif EndFunction Function OnExitClick() If CheckUnSavedData() $Form.Hide EndIf EndFunction Function GetFileName($FileName) $GetFileName = SubStr($FileName,InStrRev($FileName,"\")+1) EndFunction Function SaveSettings() $= WriteValue($RegKey,"FontName",$TextBox.FontName,"REG_SZ") $= WriteValue($RegKey,"FontSize",$TextBox.FontSize,"REG_DWORD") $= WriteValue($RegKey,"FontBold",$TextBox.FontBold,"REG_DWORD") $= WriteValue($RegKey,"ForeColor",$TextBox.ForeColor,"REG_DWORD") $= WriteValue($RegKey,"BackColor",$TextBox.BackColor,"REG_DWORD") $= WriteValue($RegKey,"WordWrap",$TextBox.WordWrap,"REG_DWORD") $= WriteValue($RegKey,"ClientWidth",$Form.ClientWidth,"REG_DWORD") $= WriteValue($RegKey,"ClientHeight",$Form.ClientHeight,"REG_DWORD") $= WriteValue($RegKey,"Left",$Form.Left,"REG_DWORD") $= WriteValue($RegKey,"Top",$Form.Top,"REG_DWORD") $= WriteValue($RegKey,"FileName",$CurrentFileName,"REG_SZ") EndFunction Function ReadValueEx($Key, $Value, $Default) Dim $Data $ReadValueEx = $Default $Data = ReadValue($Key,$Value) If @ERROR = 0 $ReadValueEx = $Data EndIf EndFunction