Compare commits

...

2 Commits

  1. 80
      Aide.bas
  2. 50
      raedit.inc

@ -113,98 +113,54 @@ SUB SetupMenu(parent as HWND)
END SUB
FUNCTION GetTabLabelText$(index AS INTEGER)
DIM AS TCITEM tabItem
DIM tabLabel$
tabItem.mask = TCIF_TEXT
tabItem.pszText = tabLabel
tabItem.cchTextMax = sizeof(tabLabel)
TabCtrl_GetItem(ghMainTab, index, &tabItem)
FUNCTION = TRIM$(tabLabel)
END FUNCTION
SUB SetTabLabelText(fname$, index AS INTEGER)
DIM AS TCITEM tabItem
tabItem.mask=TCIF_TEXT
tabItem.pszText = BCXSPLITPATH$(fname$,FNAME OR FEXT)
tabItem.cchTextMax = BCXSTRSIZE
TabCtrl_SetItem(ghMainTab, index, &tabItem)
END SUB
SUB RaSaveFile(hEDT as HWND)
DIM eSIZE, fNAME$, tabName$
eSIZE = GetWindowTextLength(hEDT)
DIM eTEXT$*eSIZE+1
tabName$ = GetTabLabelText(TabCtrl_GetCurSel(ghMainTab))
IF tabName$ = "New.bas" THEN
fNAME$ = GETFILENAME$("Save","BCX Files|*.BAS;*.INC;*.bi;*.bci",1,ghMainFrm,0,0,tabName$,0)
ELSE
fNAME$ = tabName$
END IF
IF LEN(fNAME$) THEN
eTEXT$ = BCX_GET_TEXT$(hEDT)
OPEN fNAME$ FOR BINARY NEW AS FP1
PUT$ FP1, eTEXT$, LEN(eTEXT$)
CLOSE FP1
SetTabLabelText(fNAME$, TabCtrl_GetCurSel(ghMainTab))
END IF
END SUB
'================================================================
BEGIN EVENTS
SELECT CASE CBMSG
CASE WM_SHOWWINDOW
SetTabLabelText("New.bas",0)
RaSetTabLabelText("New.bas",0)
CASE WM_COMMAND
SELECT CASE CBCTL
CASE mnuOpen
dim fname$
IF TRIM$(GetTabLabelText(TabCtrl_GetCurSel(ghMainTab))) <> "New.bas" THEN
IF TRIM$(RaGetTabLabelText(RaGetTab())) <> "New.bas" THEN
RaNewEdit()
END IF
fname$ = RaLoadFile(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
fname$ = RaLoadFile(ghEdit[RaGetTab()])
IF LEN(fname$) THEN
SetTabLabelText(fname$, TabCtrl_GetCurSel(ghMainTab))
RaSetTabLabelText(fname$, RaGetTab())
END IF
CASE mnuSave
RaSaveFile(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
RaSaveFile(ghEdit[RaGetTab()])
CASE mnuNew
RaNewEdit()
CASE mnuCut
RaCut(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
RaCut(ghEdit[RaGetTab()])
CASE mnuCopy
RaCopy(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
RaCopy(ghEdit[RaGetTab()])
CASE mnuPaste
RaPaste(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
RaPaste(ghEdit[RaGetTab()])
CASE mnuSELECTALL
RaSelectAll(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
RaSelectAll(ghEdit[RaGetTab()])
CASE mnuUNDO
RaUndo(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
RaUndo(ghEdit[RaGetTab()])
CASE mnuREDO
RaRedo(ghEdit[TabCtrl_GetCurSel(ghMainTab)])
RaRedo(ghEdit[RaGetTab()])
CASE mnuEXIT
PostMessage(hWnd, WM_CLOSE, 0, 0)
@ -244,12 +200,12 @@ BEGIN EVENTS
IF LPNMHDR->code >= TCN_LAST && LPNMHDR->code <= TCN_FIRST THEN
SELECT CASE LPNMHDR->code
CASE TCN_SELCHANGE
PageNo = TabCtrl_GetCurSel(ghMainTab)
PageNo = RaGetTab()
SetFocus(ghEdit[PageNo])
END SELECT
END IF
IF LPNMHDR->hwndFrom = ghEdit[TabCtrl_GetCurSel(ghMainTab)] THEN
IF LPNMHDR->hwndFrom = ghEdit[RaGetTab()] THEN
IF LPNMHDR->code = EN_SELCHANGE THEN
' Update statusbar
@ -259,20 +215,20 @@ BEGIN EVENTS
IF lpRASELCHANGE->seltyp = SEL_OBJECT THEN
' Bookmark clicked
bm=SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_GETBOOKMARK, lpRASELCHANGE->line,0)
bm=SendMessage(ghEdit[RaGetTab()],REM_GETBOOKMARK, lpRASELCHANGE->line,0)
SELECT CASE bm
CASE 1
' Collapse
SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_COLLAPSE, lpRASELCHANGE->line,0)
SendMessage(ghEdit[RaGetTab()],REM_COLLAPSE, lpRASELCHANGE->line,0)
CASE 2
' Expand
SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_EXPAND, lpRASELCHANGE->line,0)
SendMessage(ghEdit[RaGetTab()],REM_EXPAND, lpRASELCHANGE->line,0)
END SELECT
ELSE
' Selection changed
IF lpRASELCHANGE->fchanged THEN
' Update block bookmarks
SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_SETBLOCKS,0,0)
SendMessage(ghEdit[RaGetTab()],REM_SETBLOCKS,0,0)
END IF
END IF
END IF
@ -289,7 +245,7 @@ BEGIN EVENTS
Case WM_CONTEXTMENU
DIM AS POINT pt
If wParam=(WPARAM)ghTab[TabCtrl_GetCurSel(ghMainTab)] Then
If wParam=(WPARAM)ghTab[RaGetTab()] Then
pt.x = LOWORD(lParam)
pt.y = HIWORD(lParam)
TrackPopupMenu( GetSubMenu( GetMenu(hWnd), 1 ), TPM_LEFTALIGN or TPM_RIGHTBUTTON, pt.x, pt.y, 0, hWnd, 0 )

@ -152,6 +152,56 @@ FUNCTION RaLoadFile(edt AS HWND) AS STRING
FUNCTION = RetStr$
END FUNCTION
SUB RaSaveFile(hEDT as HWND)
DIM eSIZE, fNAME$, tabName$
eSIZE = GetWindowTextLength(hEDT)
DIM eTEXT$*eSIZE+1
tabName$ = RaGetTabLabelText(TabCtrl_GetCurSel(ghMainTab))
IF tabName$ = "New.bas" THEN
fNAME$ = GETFILENAME$("Save","BCX Files|*.BAS;*.INC;*.bi;*.bci",1,ghMainFrm,0,0,tabName$,0)
ELSE
fNAME$ = tabName$
END IF
IF LEN(fNAME$) THEN
eTEXT$ = BCX_GET_TEXT$(hEDT)
OPEN fNAME$ FOR BINARY NEW AS FP1
PUT$ FP1, eTEXT$, LEN(eTEXT$)
CLOSE FP1
RaSetTabLabelText(fNAME$, RaGetTab())
END IF
END SUB
FUNCTION RaGetTab() AS INTEGER
FUNCTION = TabCtrl_GetCurSel(ghMainTab)
END FUNCTION
FUNCTION RaGetTabLabelText$(index AS INTEGER)
DIM AS TCITEM tabItem
DIM tabLabel$
tabItem.mask = TCIF_TEXT
tabItem.pszText = tabLabel
tabItem.cchTextMax = sizeof(tabLabel)
TabCtrl_GetItem(ghMainTab, index, &tabItem)
FUNCTION = TRIM$(tabLabel)
END FUNCTION
SUB RaSetTabLabelText(fname$, index AS INTEGER)
DIM AS TCITEM tabItem
tabItem.mask=TCIF_TEXT
tabItem.pszText = BCXSPLITPATH$(fname$,FNAME OR FEXT)
tabItem.cchTextMax = BCXSTRSIZE
TabCtrl_SetItem(ghMainTab, index, &tabItem)
END SUB
SUB RaGotoLine(hEDT as HWND, Line AS INTEGER)
Dim chrg As CHARRANGE
DIM GotoLine

Loading…
Cancel
Save