From: Ezra B. <ezr...@us...> - 2009-04-10 16:40:28
|
Update of /cvsroot/win32forth/win32forth/apps/Win32ForthIDE In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv16308/apps/Win32ForthIDE Modified Files: EdVersion.f FormCodeEditor.f ScintillaHyperMDI.f TABORDER.F Log Message: IDE Enhancements. Bug Fixes. Doc Updates. Index: TABORDER.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/TABORDER.F,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TABORDER.F 27 Jul 2008 07:21:51 -0000 1.2 --- TABORDER.F 10 Apr 2009 16:40:24 -0000 1.3 *************** *** 142,146 **** changed? if UpdateList ! IsModified: ActiveForm then Close: super ;M --- 142,147 ---- changed? if UpdateList ! IsModified: tActiveForm ! RefreshCodeWindow then Close: super ;M *************** *** 178,182 **** : TabOrder ( -- ) ! TabForm.hwnd ?exit \ already open ActiveForm 0= ?exit #Controls: ActiveForm 0= ?exit --- 179,183 ---- : TabOrder ( -- ) ! GetHandle: TabForm ?exit \ already open ActiveForm 0= ?exit #Controls: ActiveForm 0= ?exit Index: EdVersion.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdVersion.f,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** EdVersion.f 2 Sep 2008 03:15:10 -0000 1.11 --- EdVersion.f 10 Apr 2009 16:40:24 -0000 1.12 *************** *** 1,5 **** \ $Id$ ! 10209 value sciedit_version# \ Version numbers: v.ww.rr --- 1,5 ---- \ $Id$ ! 10210 value sciedit_version# \ Version numbers: v.ww.rr *************** *** 316,317 **** --- 316,329 ---- Saturday, August 30 2008 - Added splitter windows to the editor. Available from the Windows menu. + + \ changes for version 1.02.10 + EAB Thursday, October 30 2008 + - Modified Forms Code Editor to use the IDE editor for editing form code. Full power of IDE + available to edit code. Also allows "on the fly" previewing of form code. + January 27, 2009 + - Properties++ window have been tied to the main window for editing forms. More screen estate + available for editing code. + Friday, March 20 2009 + - Enhanced the Project Navigator to track number of times entries are used in code. + Can be useful when navigating not only projects but the application source code + of others. Index: FormCodeEditor.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/FormCodeEditor.f,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FormCodeEditor.f 24 Aug 2008 05:07:28 -0000 1.1 --- FormCodeEditor.f 10 Apr 2009 16:40:24 -0000 1.2 *************** *** 4,65 **** ListBox lstCodeForms ListBox lstCodeControls - PushButton btnSave - s" Save the edited code for the form or control" BInfo: btnSave place - PushButton btnRefresh - s" Refresh the forms and controls listing" BInfo: btnRefresh place PushButton btnTestForm s" Test the selected form and it's code using the console" BInfo: btnTestForm place ! PushButton btnCancel ! s" Close this code window" BInfo: btnCancel place ! Label lblForms ! Label lblControls ! ! ScintillaControl scnCodeEditor ! 0 value BackupBuffer \ buffer for saving last edited code in case we forget to save! ! true value auto-savecode? ! : to-BackupBuffer ( -- ) \ save code in buffer ! BackupBuffer 0= ?exit ! BackupBuffer GetTextLength: scnCodeEditor max-codesize min 1+ \ include terminating 0 ! GetText: scnCodeEditor ; ! : from-BackupBuffer ( -- ) \ restore code from buffer ! BackupBuffer 0= ?exit ! BackupBuffer SetText: scnCodeEditor ; ! : SaveCode { \ thiscontrol -- } \ save edited code for form or control ! #Forms 0= ?exit ! GetSelection: lstCodeForms LB_ERR = ?exit \ no selection ! GetSelection: lstCodeForms 1+ GetForm to ThisForm ! Locked?: ThisForm ?exit ! #Controls: ThisForm 0= ?exit ! GetSelection: lstCodeControls LB_ERR = ?exit \ no selection ! GetSelection: lstCodeControls ! case ! 0 of GlobalCode: ThisForm endof ! 1 of LocalCode: ThisForm endof ! 2 of OnInitCode: ThisForm endof ! 2 - GetControl: ThisForm to thiscontrol ! ControlCode: Thiscontrol 0 ! endcase ( addr ) GetTextLength: scnCodeEditor max-codesize min 1+ \ include terminating 0 ! GetText: scnCodeEditor ! IsModified: ThisForm ; \ mark form as modified ! : ShowControlCode { ctrl -- } \ show code for control ctrl ! ctrl 0= ! if z" " ! else ControlCode: ctrl ! then SetText: scnCodeEditor ! ; ! : Fill-lstCodeControls { -- } \ fill control listbox Clear: lstCodeControls \ clear - z" " SetText: scnCodeEditor \ everything - #Forms 0= ?exit \ if nothing to do forget it \ form functions first ! z" Global Code" AddStringTo: lstCodeControls \ global to form ! z" Private Code" AddStringTo: lstCodeControls \ local to form ! z" On_InitFunction" AddStringTo: lstCodeControls \ for On_Init: method GetSelection: lstCodeForms 1+ GetForm to ThisForm #Controls: ThisForm 0= ?exit --- 4,37 ---- ListBox lstCodeForms ListBox lstCodeControls PushButton btnTestForm s" Test the selected form and it's code using the console" BInfo: btnTestForm place ! PushButton btnPreview ! s" Open a window to preview form code as it is edited" BInfo: btnPreview place ! needs scintillaedit.f ! :Object scnCodePreviewer <Super Scintillaedit + \ we need the original version for this, I don't think FindText: Super Super would work! + :M FindText: ( Flags nMin nMax addr -- nStart nEnd flag ) + to ttrAddr to ttfMax to ttfMin + TextToFind swap SCI_FINDTEXT SendMessage:Self -1 = + if 0 0 false + else ttfStart ttfEnd true + then ;M + ;Object ! true value no-preview? \ true if preview window not open ! : SaveCode { -- } \ save edited code for form or control ! ActiveCoder 0= ?exit ! SaveCode: ActiveCoder ; ! : RefreshControlsList { -- } \ fill control listbox Clear: lstCodeControls \ clear \ form functions first ! z" Global Code" AddStringTo: lstCodeControls \ global to form ! z" Local Code" AddStringTo: lstCodeControls \ local to form ! z" On_InitFunction" AddStringTo: lstCodeControls \ for On_Init: method GetSelection: lstCodeForms 1+ GetForm to ThisForm #Controls: ThisForm 0= ?exit *************** *** 68,91 **** ?do i GetControl: ThisForm GetName: [ ] asciiz AddstringTo: lstCodeControls ! loop ! ; : ShowSelectionCode { Theform -- } \ show code of selected item TheForm 0= ?exit TheForm ?FormNumber 1- SetSelection: lstCodeForms \ show selected form ! Fill-lstCodeControls \ fill control list ActiveControl: TheForm ?ControlNumber: TheForm ?dup \ if it has an active control if 2 + SetSelection: lstCodeControls \ select it ! ActiveControl: TheForm ShowControlCode \ and show its code then ; ! : Fill-lstCodeforms ( -- ) \ fill forms listcontrol ! Clear: lstCodeForms \ clear everything ! Clear: lstcodeControls ! z" " SetText: scnCodeEditor ! #Forms 1+ 1 \ should be at least one form ?do i GetForm to ThisForm FormName: ThisForm count asciiz AddStringTo: lstCodeForms ! loop ActiveForm ShowSelectionCode ; : Remote-Test { \ flag -- } \ open W32F and load form from console --- 40,95 ---- ?do i GetControl: ThisForm GetName: [ ] asciiz AddstringTo: lstCodeControls ! loop ; : ShowSelectionCode { Theform -- } \ show code of selected item TheForm 0= ?exit TheForm ?FormNumber 1- SetSelection: lstCodeForms \ show selected form ! RefreshControlsList \ fill control list ! show-code? 0= ?exit \ don't show code ActiveControl: TheForm ?ControlNumber: TheForm ?dup \ if it has an active control if 2 + SetSelection: lstCodeControls \ select it ! FLAG_CODE RefreshActiveCoder \ and show its code then ; ! : Update-CodePreviewer { TheForm flag -- } \ display code for active form, flag =true if saving position ! no-preview? ?exit ! flag ! if GetCurrentPos: scnCodePreviewer >r ! then false SetReadOnly: scnCodePreviewer ! GetBuffer: TheForm over + off SetText: scnCodePreviewer ! flag ! if r> GotoPos: scnCodePreviewer ! then true SetReadOnly: scnCodePreviewer ! join$( ! s" Form Code Previewer - [" ! FormName: TheForm count ! s" ]" ! )join$ count GetParent: scnCodePreviewer SetText: [ ] ! ; ! ! : Highlight-Code { code-addr -- } \ highlight code in previewer ! no-preview? ?exit ! code-addr zcount \ if we have code ! if >r 0 \ search flag ! 0 GetTextLength: scnCodePreviewer \ range ! r> FindText: scnCodePreviewer \ look for it ! if SetSel: scnCodePreviewer \ found it ! else 2drop RemoveSel: scnCodePreviewer \ nope, so clear ! then ! else drop RemoveSel: scnCodePreviewer \ don't have anything ! then ; ! ! : RefreshFormsList ( -- ) \ fill forms listcontrol ! don't-refresh? ! if false to don't-refresh? \ one time only ! exit ! then Clear: lstCodeForms \ clear everything ! #Forms 1+ 1 \ should be at least one form ?do i GetForm to ThisForm FormName: ThisForm count asciiz AddStringTo: lstCodeForms ! loop ActiveForm ShowSelectionCode ! no-preview? ?exit ! ActiveForm false Update-CodePreviewer \ update ! ; : Remote-Test { \ flag -- } \ open W32F and load form from console *************** *** 97,101 **** Create: TheFile ?exit initbuffer ! s" \ NOTE! THIS IS A TEST FILE ONLY, DO NOT EDIT!" append&crlf s" \ MAKE ANY CHANGES OR CORRECTIONS FROM THE FORM CODE EDITOR OR THE .FRM FILE ONLY" append&crlf +crlf --- 101,105 ---- Create: TheFile ?exit initbuffer ! s" \ NOTE! THIS IS A TEST FILE ONLY, NOT INTENDED TO BE EDITED!" append&crlf s" \ MAKE ANY CHANGES OR CORRECTIONS FROM THE FORM CODE EDITOR OR THE .FRM FILE ONLY" append&crlf +crlf *************** *** 118,122 **** GetSelection: lstCodeForms LB_ERR = ?exit GetSelection: lstCodeForms 1+ GetForm to ActiveForm ! ?control if IDM_FORM_TEST DoCommand else Remote-Test --- 122,126 ---- GetSelection: lstCodeForms LB_ERR = ?exit GetSelection: lstCodeForms 1+ GetForm to ActiveForm ! control-key? if IDM_FORM_TEST DoCommand else Remote-Test *************** *** 124,127 **** --- 128,135 ---- ; + : Clear-CodeLists ( -- ) + Clear: lstCodeForms + Clear: lstCodeControls ; + :Object FormPane <Super Child-Window *************** *** 149,154 **** if ncode LBN_SELCHANGE = if GetSelection: lstCodeForms 1+ GetForm ! dup to ActiveForm \ make it the active one for testing ! ShowSelectionCode then then ;M --- 157,164 ---- if ncode LBN_SELCHANGE = if GetSelection: lstCodeForms 1+ GetForm ! to ActiveForm \ make it the active one for testing ! SetFocus: ActiveForm ! ActiveForm ShowSelectionCode ! ActiveForm false Update-CodePreviewer then then ;M *************** *** 171,175 **** self Start: lstCodeControls Handle: ControlFont SetFont: lstCodeControls - ;M --- 181,184 ---- *************** *** 183,212 **** ;M ! : GetControlCode ( n -- ) ! GetControl: ThisForm ShowControlCode ; ! : GetGlobalCode ( -- ) ! GlobalCode: ThisForm SetText: scnCodeEditor ; ! : GetLocalCode ( -- ) ! LocalCode: ThisForm SetText: scnCodeEditor ; ! : GetOnInitCode ( -- ) ! OnInitCode: ThisForm SetText: scnCodeEditor ; :M On_Command: { ncode id -- } id GetId: lstCodeControls = ! if ncode LBN_SELCHANGE = ! if GetSelection: lstcodeForms 1+ GetForm to ThisForm GetSelection: lstCodeControls case ! 0 of GetGlobalCode endof ! 1 of GetLocalCode endof ! 2 of GetOnInitCode endof ! 2 - GetControlCode false endcase then --- 192,236 ---- ;M ! : UpdateForm ( n -- ) \ n = activecontrol ! SetActiveControl: ActiveForm ! Paint: ActiveForm ! UpdateStatus: ActiveForm ! UpdatePropertyWindow ; ! ! ! : ShowControlCode ( n -- ) ! GetControl: ActiveForm UpdateForm ! FLAG_CODE RefreshActiveCoder ; ! \ set activecontrol to nothing so that when for example, editing global, local or oninit code, ! \ the activecoder would not switch to activecontrol code for a simple window focus change ! : ShowGlobalCode ( -- ) ! 0 UpdateForm ! FLAG_Global RefreshActiveCoder ; ! : ShowLocalCode ( -- ) ! 0 UpdateForm ! FLAG_LOCAL RefreshActiveCoder ; ! : ShowOnInitCode ( -- ) ! 0 UpdateForm ! FLAG_ONINIT RefreshActiveCoder ; :M On_Command: { ncode id -- } id GetId: lstCodeControls = ! if true to show-code? \ open code editing window ! ncode LBN_SELCHANGE = ! if GetSelection: lstcodeForms 1+ GetForm to ActiveForm ! true to don't-refresh? \ not necessary here GetSelection: lstCodeControls case ! 0 of ShowGlobalCode endof ! 1 of ShowLocalCode endof ! 2 of ShowOnInitCode endof ! 2 - ShowControlCode false endcase then *************** *** 220,486 **** ;Object ! :Object CodePane <Super Child-Window ! ! :M ExWindowStyle: ( -- style ) ! ExWindowStyle: Super ! WS_EX_CLIENTEDGE or ;M :M On_Init: ( -- ) CS_DBLCLKS GCL_STYLE hWnd Call SetClassLong drop ! self Start: scnCodeEditor ! ShowLineNumbers: scnCodeEditor ! ;M ! ! :M On_Size: ( -- ) ! 0 0 Width Height Move: scnCodeEditor ! ;M ! :M Close: ( -- ) ! Close: scnCodeEditor ! Close: Super ;M ! :M On_Command: { ncode id -- res } ! id GetId: scnCodeEditor = ! if ncode ! case SCEN_KILLFOCUS of GetModify: scnCodeEditor ! if to-BackupBuffer \ save contents ! auto-savecode? ! if SaveCode ! then ! then ! endof ! SCEN_SETFOCUS of ?control ! if from-BackupBuffer \ restore ! then ! endof ! endcase ! then ;M ! ! :M WM_COMMAND ( hwnd msg wparam lparam -- res ) ! over HIWORD ( notification code ) rot LOWORD ( ID ) ! On_Command: Self ! false ;M ! ! ;Object ! ! \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! \ \\\\\ Splitter Window - the main window \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! ! :Object CodeWindow <Super Window ! ! WinSplitter SplitterH ! WinSplitter SplitterV ! 20 value ToolBarHeight \ set to height of toolbar if any ! 25 value StatusBarHeight \ set to height of status bar if any ! 200 value TopHeight ! 100 value LeftWidth ! 5 value ThicknessH ! 5 value ThicknessV ! 300 300 2value xypos \ saving the position of code window ! 300 390 2value win-size \ saving the size of the code window ! ! int dragging ! int mousedown ! ! : RightXpos ( -- n ) LeftWidth ThicknessV + ; ! : RightWidth ( -- n ) Width RightXpos - ; ! : SplitterYpos ( -- n ) ToolBarHeight TopHeight + ; ! : BottomYpos ( -- n ) SplitterYpos ThicknessH + ; ! : StatusBarYpos ( -- n ) height StatusbarHeight - ; ! : BottomHeight ( -- n ) StatusBarYpos BottomYpos - ; ! : TotalHeight ( -- n ) StatusBarYpos ToolBarHeight - ; ! : LeftWidthMin ( -- n ) LeftWidth width min ; ! : TopHeightMin ( -- n ) TopHeight TotalHeight min ; ! ! 70 value btnwidth ! ! : position-windows ( -- ) ! 0 ToolBarHeight LeftWidthMin TopHeightMin Move: FormPane ! RightXpos ToolBarHeight RightWidth TopHeightMin Move: ControlsPane ! 0 BottomYpos Width BottomHeight Move: CodePane ! LeftWidth ToolBarHeight ThicknessV TopHeight Move: SplitterV ! 0 SplitterYpos Width ThicknessH Move: SplitterH ! 1 StatusBarYPos 2dup btnwidth 25 Move: btnRefresh ! btnwidth 2+ under+ 2dup btnwidth 25 Move: btnSave ! btnwidth 2+ under+ 2dup btnwidth 25 Move: btntestForm ! btnwidth 2+ under+ btnwidth 25 Move: btnCancel ! 2 1 70 18 Move: lblForms ! RightXPos 1 70 18 Move: lblControls ! ; ! ! : Splitter ( -- n ) \ the splitter window the cursor is on ! hWnd get-mouse-xy ! dup ToolBarHeight StatusBarYpos within ! IF ! 2dup ToolBarHeight SplitterYpos within swap LeftWidth RightXpos within and ! IF 2drop 1 ! ELSE SplitterYpos BottomYpos within swap 0 width within and IF 2 ELSE 0 THEN ! THEN ! ELSE 2drop 0 ! THEN ; ! ! : On_Tracking ( -- ) \ set min and max values of LeftWidth and TopHeight here ! mousedown dragging or 0= ?EXIT ! dragging ! Case ! 1 of mousex 0max width min thicknessV 2/ - to LeftWidth endof ! 2 of mousey ToolBarHeight - 0max TotalHeight min thicknessH 2/ - to TopHeight endof ! EndCase ! position-windows ! WINPAUSE ; ! ! : On_Clicked ( -- ) ! mousedown not IF hWnd Call SetCapture drop THEN ! true to mousedown ! Splitter to dragging ! On_Tracking ; ! ! : On_Unclicked ( -- ) ! mousedown IF Call ReleaseCapture drop THEN ! false to mousedown ! false to dragging ; ! ! : On_DblClick ( -- ) ! false to mousedown ! Splitter 1 = ! IF ! LeftWidth 8 > ! IF 0 thicknessV 2/ - to LeftWidth ! ELSE Width thicknessV - 2/ to LeftWidth ! THEN ! position-windows ! THEN ; ! ! :M WM_SETCURSOR ( h m w l -- ) ! Splitter ! Case ! 0 of DefWindowProc: self endof ! 1 of SIZEWE-CURSOR 1 endof ! 2 of SIZENS-CURSOR 1 endof ! EndCase ! ;M ! ! :M Classinit: ( -- ) ! ClassInit: super \ init super class ! ['] On_Clicked SetClickFunc: self ! ['] On_Unclicked SetUnClickFunc: self ! ['] On_Tracking SetTrackFunc: self ! ['] On_DblClick SetDblClickFunc: self ! self link-formwindow ! ;M ! ! :M WindowStyle: ( -- style ) ! WindowStyle: Super WS_CLIPCHILDREN or ;M ! ! :M On_Size: ( -- ) ! position-windows ;M ! ! : init-backupbuffer ( -- ) ! BackupBuffer 0= ! if max-codesize malloc to BackupBuffer ! BackupBuffer max-codesize erase ! then ; ! ! :M On_Init: ( -- ) ! \ prevent flicker in window on sizing ! CS_DBLCLKS GCL_STYLE hWnd Call SetClassLong drop ! ! self Start: FormPane ! self Start: ControlsPane ! self Start: CodePane ! self Start: SplitterH ! self Start: SplitterV ! ! self Start: btnRefresh ! s" Refresh" SetText: btnRefresh ! Handle: ControlFont SetFont: btnRefresh ! ! self Start: btnSave ! s" Save Code" SetText: btnSave ! Handle: ControlFont SetFont: btnSave ! ! self Start: btnTestForm ! s" Test" SetText: btnTestForm ! Handle: ControlFont SetFont: btnTestForm ! ! self Start: btnCancel ! s" Close" SetText: btnCancel ! Handle: ControlFont SetFont: btnCancel ! ! self Start: lblForms ! s" Forms" SetText: lblForms ! \ Handle: ControlFont SetFont: lblForms ! ! self Start: lblControls ! s" Controls+" SetText: lblControls ! \ Handle: ControlFont SetFont: lblControls ! ! Fill-lstCodeForms ! ! init-backupbuffer ! ! ;M ! ! :M Refresh: ( -- ) ! hwnd ! if Fill-lstCodeForms ! then ;M ! ! :M On_Paint: ( -- ) ! 0 0 Width Height FormColor FillArea: dc ;M ! :M ParentWindow: ( -- ) ! GetHandle: MainWindow ! ;M ! ! :M WindowTitle: ( -- ztitle ) ! z" Forms Code Window" ;M ! ! :M StartSize: ( -- w h ) ! win-size ;M ! :M StartPos: ( -- x y ) ! xypos ;M ! ! :M On_Done: ( -- ) ! originx originy 2to xypos ! width height 2to win-size ! On_Done: Super ! ;M :M Close: ( -- ) ! Close: FormPane ! Close: ControlsPane ! Close: CodePane ! BackupBuffer ?dup ! if release ! 0 to BackupBuffer ! then Close: Super ;M - :M On_Command: { ncode id -- } - id - case GetId: btnRefresh of Fill-lstCodeForms endof - GetId: btnSave of SaveCode endof - GetId: btnTestForm of TestSelection endof - GetId: btnCancel of Close: self endof - endcase - ;M - - :M WM_COMMAND ( hwnd msg wparam lparam -- res ) - over HIWORD ( notification code ) rot LOWORD ( ID ) - On_Command: Self - false ;M - ;Object ! : FormCodeWindow ( -- ) ! GetHandle: Codewindow ! if \ SetFocus: CodeWindow ! Refresh: CodeWindow ! else Start: CodeWindow ! then ; IDM_FORM_ADDCODE SetCommand --- 244,280 ---- ;Object ! :Object CodePreviewWindow <Super Window :M On_Init: ( -- ) CS_DBLCLKS GCL_STYLE hWnd Call SetClassLong drop ! self Start: scnCodePreviewer ! ShowLineNumbers: scnCodePreviewer ! \ Color: BLACK Color: LTGRAY SetColors: scnCodePreviewer ! \ Color: LTYELLOW SetCaretBackColor: scnCodePreviewer ! false to no-preview? ! ActiveForm false Update-CodePreviewer ;M ! :M On_Size: ( -- ) ! 0 0 Width Height Move: scnCodePreviewer ;M ! :M WindowTitle: ( -- zstring ) ! z" Forms Code Previewer" ;M ! :M ParentWindow: ( -- ) ! GetHandle: MainWindow ! ;M :M Close: ( -- ) ! Close: scnCodePreviewer ! true to no-preview? ! Close: Super ;M ;Object ! : RefreshCodeWindow ( -- ) ! RefreshFormsList ; IDM_FORM_ADDCODE SetCommand Index: ScintillaHyperMDI.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/ScintillaHyperMDI.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ScintillaHyperMDI.f 30 Dec 2007 03:53:20 -0000 1.4 --- ScintillaHyperMDI.f 10 Apr 2009 16:40:24 -0000 1.5 *************** *** 171,178 **** false SetBrowseMode: self Update: self - \ set current line background color, personal preference - EAB - \ 0 Color: LTCYAN SCI_SETCARETLINEBACK GetHandle: ChildWindow send-window - \ 0 true SCI_SETCARETLINEVISIBLE GetHandle: ChildWindow send-window - \ 0 500 SCI_SETCARETPERIOD GetHandle: ChildWindow send-window ;M --- 171,174 ---- *************** *** 190,201 **** self ;M ! :M On_Close: ( -- ) On_Close: super ! self ActiveBrowser = if 0 to ActiveBrowser then ! self ActiveRemote = if 0 to ActiveRemote then ! self ActiveChild = if 0 to ActiveChild then ! UpdateStatusBar ! EnableToolbar ! ;M :M GoBack: ( -- ) --- 186,198 ---- self ;M ! :M On_Close: ( -- f ) On_Close: super ! dup \ EAB added flag test Wednesday, October 29 2008 ! if self ActiveBrowser = if 0 to ActiveBrowser then ! self ActiveRemote = if 0 to ActiveRemote then ! self ActiveChild = if 0 to ActiveChild then ! UpdateStatusBar ! EnableToolbar ! then ;M :M GoBack: ( -- ) |