A programmer's editor for the PB/WIN and PB/CC compilers written by members of the PowerBASIC community. His names and contributions are specified in the SED History page of the help file. It uses
Scintilla as the editing component.
Key Features
- Tabbed MDI interface
- Multiple instances
- Drag and drop files to the editor
- Syntax highlighting
- Block indent/unindent
- Block comment/uncomment
- Unlimited undo and redo
- Bookmarks
- Codefinder
- Keyboard macros
- Folding
- Zoom
- Indentation guides
- Project management
- Code analyzer
- Codetips and autocompletion
- Context help
- Customizable colors and fonts
- Conversion to Html for easy web publishing
- Ability to compile untitled files
- Execute without compiling
- Split windows
- Color printing and print preview
- Ability to create resource files on the fly
- Post-processor
- Support for PB templates
- Find in files
- MRU (Most recent used files)
- Optional reloading of previous file set at start
- Tools menu
- Plug-ins
- Lynx support
What is new in this version?The main change has been to adapt the code to allow to compile it with PB 10 and my headers for that compiler. Other minor changes include that in this vrersion the PB reserved words are stored in the file SED_PB_KEYWORDS.TXT instead of listed in the source code.
InstallationTo install the editor, just unzip the attached file(s) in the folder of your choice.
Attached filesSED203_Release: Contains the editor, the help file and the tools and DLLs.
SED203_Source: Contains the source code.
José,
Shouldn't the source zip be for v2.03? I keep getting v2.02 files.
No rush. Just curious.
Thanks.
Sorry, I did attach the wrong file. New file uploaded.
Hi José,
I just downloaded this new version, and noticed that, when creating a new file and trying to save it I get the "Open..." dialog, making it impossible to save a new file.
I haven't yet taken a look into the source, but I think it must be some simple oversight...
A silly mistake in AfxDialog.inc.
#IF %DEF(%UNICODE)
MACRO AfxOpenFileDialog = AfxOpenFileDialogW
MACRO OpenFileDialog = AfxSaveFileDialogW
#ELSE
MACRO AfxOpenFileDialog = AfxOpenFileDialogA
MACRO OpenFileDialog = AfxSaveFileDialogA
#ENDIF
should be
#IF %DEF(%UNICODE)
MACRO AfxOpenFileDialog = AfxOpenFileDialogW
MACRO OpenFileDialog = AfxOpenFileDialogW
#ELSE
MACRO AfxOpenFileDialog = AfxOpenFileDialogA
MACRO OpenFileDialog = AfxOpenFileDialogA
#ENDIF
New file uploaded.
Thanks for your feedback.
I didn't notice it because I use CSED now. Also, instead of the wrapper OpenFileDialog I use now the CAfxFileDialog class.
José
It seems that source code is missing now. There are two exetutables with same name but different in size. Whitch is right ?
Did you posted corected AfxDialog.inc in your WINAPI suite ?
Sorry, I did delete the wrong file. New files uploaded.
I will post a new version of the headers in a few days, when PBWin 10.02 will be released. There will be important new includes, such an OpenGL control and classes for ODBC ad GDI+.
I will also begin to post examples, now that both the compiler and the includes have all know bugs fixed.
Cool! Looking forward to that. Maybe it's finally time to do the switch to v10! (You sure all reported bugs were fixed, right? I don't know if previous versions' releases were like this, but this one sure was a bumpy ride...)
Thanks for all your fine work; gracias!!
Hey all,
I know that I can tell SED which compiler to use by default. Can I have a PBCC program in one tab and a PBWin program in another and have each compile with the correct compiler without changing the default? I thought maybe using the #compiler directive, but that doesn't seem to work.
Thanks
(SED is still the best IDE!)
Add
'SED_PBCC
or
'SED_PBWIN
in capital letters somewhere at the beginning or your program.
Hello Jose
yes I like SED and i use it with FreeBasic too, i found others IDE-s editors to complex
for my taste ...
I have one question if is not problem
I don't understand even i am looking and looking into SED source to
figure ..how you save line position when switching between tabs ?
thanks
I mean i understand this part :
' // Retrieve the position and number of lines
LOCAL curPos AS LONG
LOCAL nLine AS LONG
LOCAL nLines AS LONG
curPos = SCI_GetCurrentPos(pSed.hEdit)
nLine = SCI_LineFromPosition(pSed.hEdit, curPos) + 1
but don't get it where is stored ?
It is not stored anywhere in the editor. The Scintilla control keeps track of it.
Quote
The Scintilla control keeps track of it.
ok...but how ?
i don't know for any container by Scintilla which do that?
I know that win api SetFocus enable visible caret
How? You will have to loook in the code of the Scintilla control.
hmm
this must be some kind of craft
i found here typical tab selection only
' // Tab control selection changed
CASE %TCN_SELCHANGE
IF @pnmhdr.idFrom = %IDC_TABMDI THEN
' // Identify the selected tab
nTab = TabCtrl_GetCurSel(pSed.hTabMdi)
' // Activate the associated edit control
IF pSed.TabFilePaths.Count => nTab + 1 THEN
' vPath = pSed.TabFilePaths.Item(nTab + 1)
pTabFilePaths = pSed.TabFilePaths
vPath = pTabFilePaths.Item(nTab + 1)
CSED_TabMdiActivateWindow(VARIANT$$(vPath))
END IF
END IF
I have saved each file path very similar like you made it in CSED
in my case each tab have array index same as tab
and that part work well but when i try to
store each line position in array i get always position 1
so focus is returned to line 1
sorry Jose i don't want to bothering you with all this
probably i am doing something wrong all the time .
I re - check again each step and found that i miss to setFocus on scintilla control
seems to me that now my way with array which hold line position work
I don't understand why you like to complicate your life so much. The only thing that you need to do is to use SetFocus <handle of the Scintilla control>.
I don't complicate at all...my code editor is really simple
setFous hsci was in my case on wrong place so that is why not work properly