FbEdit, new IDE for FreeBASIC written in FreeBASIC
I got some problems with FbEdit:
I cannot use "." in names of resource files. Web pages could be added as resources with type 23, and the file extension needs a dot. I think its better if FbEdit will check the type to know if a certain character should be allowed, like the case with web pages in type 23.
In buttons, the options in "(Name)" IDOK and IDCANCEL are not automatically changed into their equivalents in winuser.bi and also not ignored in Resource Name Export Files which causes collision with winuser.bi due to defining them twice. I think FbEdit should automatically change the "(ID)" field to its value in winuser.bi when IDOK, IDCANCEL, IDABORT, IDRETRY, IDIGNORE, IDYES, IDNO, IDCLOSE or IDHELP is selected in the dropdown menu of the "(Name)" field, but should be skipped in Resource Name Export Files to prevent collision when including windows.bi in the sources.
When searching in All Project Files, I need to search again in those files I searched before if I will do something in the current file. I think Find should have a "list" of files that are already checked for a word so I don't need to search again in a file that I already have search, and the list will be set to 0 items if I will change the keyword.
It would be nice to be able to search with courage returns, line feeds and tabs using "\r", "\n", "\t", just like the Extended mode in Notepad++ and other editors.
Its better if Project Build Commands have their own Module Build Command so if I want to compile a project with Module Handling set as Recompile or Manual Build into Normal or Debug, I only need to select the "Windows GUI" or "Windows GUI (debug)" build option without the need to add or remove "-g" to the Module Build Command in Project Options.
I cannot use "." in names of resource files. Web pages could be added as resources with type 23, and the file extension needs a dot. I think its better if FbEdit will check the type to know if a certain character should be allowed, like the case with web pages in type 23.
In buttons, the options in "(Name)" IDOK and IDCANCEL are not automatically changed into their equivalents in winuser.bi and also not ignored in Resource Name Export Files which causes collision with winuser.bi due to defining them twice. I think FbEdit should automatically change the "(ID)" field to its value in winuser.bi when IDOK, IDCANCEL, IDABORT, IDRETRY, IDIGNORE, IDYES, IDNO, IDCLOSE or IDHELP is selected in the dropdown menu of the "(Name)" field, but should be skipped in Resource Name Export Files to prevent collision when including windows.bi in the sources.
When searching in All Project Files, I need to search again in those files I searched before if I will do something in the current file. I think Find should have a "list" of files that are already checked for a word so I don't need to search again in a file that I already have search, and the list will be set to 0 items if I will change the keyword.
It would be nice to be able to search with courage returns, line feeds and tabs using "\r", "\n", "\t", just like the Extended mode in Notepad++ and other editors.
Its better if Project Build Commands have their own Module Build Command so if I want to compile a project with Module Handling set as Recompile or Manual Build into Normal or Debug, I only need to select the "Windows GUI" or "Windows GUI (debug)" build option without the need to add or remove "-g" to the Module Build Command in Project Options.
-
- Posts: 507
- Joined: Jan 13, 2009 19:23
Hi all
FbEdit 1.0.7.6c is uploaded to Sourceforge.
Several bugs has been fixed.
It looks like compiling with FreeBASIC 0.20 also fixed the Win95, 98 and me crash. Let me know if it works for you.
Get it here:
https://fbedit.svn.sourceforge.net/svnr ... FbEdit.zip
KetilO
FbEdit 1.0.7.6c is uploaded to Sourceforge.
Several bugs has been fixed.
It looks like compiling with FreeBASIC 0.20 also fixed the Win95, 98 and me crash. Let me know if it works for you.
Get it here:
https://fbedit.svn.sourceforge.net/svnr ... FbEdit.zip
KetilO
I think you should include the license with the program (About Dialog and license.txt/copying.txt file) just like other programs.
I am currently developing a program that uses RAEdit control but the code blocks (that collapse and expand thing) doesn't work. How I could implement that? Can you give a very short example because SimEdit have lots of functions and I don't have much knowledge with ASM.
I am currently developing a program that uses RAEdit control but the code blocks (that collapse and expand thing) doesn't work. How I could implement that? Can you give a very short example because SimEdit have lots of functions and I don't have much knowledge with ASM.
-
- Posts: 238
- Joined: Apr 10, 2010 11:41
- Location: Japan
- Contact:
Thanks for your "FbEdit 1.0.7.6c".KetilOO wrote:Hi all
FbEdit 1.0.7.6c is uploaded to Sourceforge.
It looks like compiling with FreeBASIC 0.20 also fixed the Win95, 98 and me crash.
KetilO
It works smoothly with my Win95.
You gave the way out to win95 which Microsoft depreciates.
I can not find any word to thank your effort.
Subroutine list problem
Hi,
and big thanks for new features in v.1076, KetilO. Beautiful coding now in that one.
Another problem appeared after some strong days of working.
All prog works OK, but subroutine pozic() / after brutal triple tuning - added variables into header and body / is hidden in list of functions == right down window.Bubble helper also doesn't work on its line.There is visible only empty line, but double-click is functional.
Also problem persists in case of subroutine's body is blockly commented.
link to screenshot here:
http://jetotam.webs.com/clip1.jpg
I dont know, what is wrong where, but compiled prog seems to be working correctly.
Pete
and big thanks for new features in v.1076, KetilO. Beautiful coding now in that one.
Another problem appeared after some strong days of working.
All prog works OK, but subroutine pozic() / after brutal triple tuning - added variables into header and body / is hidden in list of functions == right down window.Bubble helper also doesn't work on its line.There is visible only empty line, but double-click is functional.
Also problem persists in case of subroutine's body is blockly commented.
link to screenshot here:
http://jetotam.webs.com/clip1.jpg
I dont know, what is wrong where, but compiled prog seems to be working correctly.
Pete
More things that I think should be change (you may ignore them):
Note: There's a bug fix below
When dialog resource is opened and removed it, the dialog stays in the resource editor. It should open other dialog that exists or show nothing in the editing area.
When undo is clicked until disabled, the files become unsaved even though no changes can be undone since saved. I think you could fix this by incrementing or decrementing an undo variable with zero indicating no changes since saved, undo+ change+ redo-.
It would be nice if pressing F2 could change the file name in the Project Files pane.
Missing arguments in KillTimer in Code tooltip. WaitForSingleObject have ",," in the API's instead of ",".
Property Sheet constants is not hilighted (i.e. PSN_WIZNEXT).
Delete cannot be used as menu accelerator in menu editor (commonly used in Edit->Delete). Maybe replace Delete with Backspace to remove accelerator?
Can't use Ctrl+Alt+(0 to 9) as menu accelerator in menu editor.
When a new dialog is created (Resource->Add Dialog), the new dialog should be selected in the tree view that lists the resources.
The name of the resources could be change using the tree view.
New menu items to show and set the focus to the output window, immediate window, file browser, project browser and properties window, just like in Visual Studio.
I think the addition of *.bas to list of include files should be disabled by default with options to show it, since they are not really meant to be #include'd in FreeBASIC.
The code complete of #Include's should list include files in the correct case because when an application is compiled in Linux (i.e. a game), it wil not compile because Linux is case sensitive.
I think "End If" should be used as autocomplete end for "If" because "EndIf" will confuse new users because the FreeBASIC Manual uses "End If".
FbEdit's sources:
Do...Loop is faster than While TRUE...Wend because no condition is checked every iteration.
Bug Fix: Help Menu Options Bug
When you open the Help Menu Option, the Help Path is set to a null string (""). This is because the MenuOptionSave function doesn't save the Help Path after removing the Help section of FbEdit.ini. Replace:
menuoption.bas (MenuOptionSave):
with
menuoption.bas (MenuOptionSave):
I used FbEdit's 1.0.7.6b's sources.
I think its better if you will move these lines from MyTimerProc:
EnableMenu
CheckMenu
CallAddins(hWin,AIM_MENUENABLE,0,0,HOOK_MENUENABLE)
to a WM_INITMENUPOPUP message in DlgProc. This will remove unnecessarily disabling the menus every 2 seconds, the message is called when an accelerator is activated or the menu is opened.
FbEdit stops responding while compilling. Do you run the compiler inside a thread or not? In RadASM, the IDE is still responding while compilling.
It would be nice if your IDE's (FbEdit, RadASM2, RadASM3, MasmEdit) will load addins using different functions to make some addins available to ALL of them. For example, FbEditAddinLoad, RadASMAddinLoad, MasmEditAddinLoad for functions that load the addin and FbEditAddinProc, RadASMAddinProc, MasmEditProc for the callback functions. I tried this with Project Publisher addin that I created, but the IDE's have clashing exported functions. Implementing this will make addins have a single binary for 4 IDE's.
It seems that RATools is good to use with FbEdit (uhm...).
It would be nice if you would implement a RegisterWindowMessage-like functionality for addins (RegisterAddinMessage?), so they could talk through CallAddins without crashing with FbEdit Addin Messages.
Double-clicking listbox options in dialogs will auto-save-and-close the dialog would be good to make editing options faster.
How to use that style masks in Options->Dialog Editor->Custom Controls?
Not FbEdit related:
It seems that when clicking on a caption of a tool window, RATools doesn't draw the captions with the same color that a caption of an activated window have, which is different from what the RATools included in the sources of RadASM does.
It would be nice if you will create some type of reference manuals for the RadASM and FbEdit custom controls. I think the info in the headers is not enough. I'm planning to create one, but I don't have much info about them.
That's all there is to it...
Note: There's a bug fix below
When dialog resource is opened and removed it, the dialog stays in the resource editor. It should open other dialog that exists or show nothing in the editing area.
When undo is clicked until disabled, the files become unsaved even though no changes can be undone since saved. I think you could fix this by incrementing or decrementing an undo variable with zero indicating no changes since saved, undo+ change+ redo-.
It would be nice if pressing F2 could change the file name in the Project Files pane.
Missing arguments in KillTimer in Code tooltip. WaitForSingleObject have ",," in the API's instead of ",".
Property Sheet constants is not hilighted (i.e. PSN_WIZNEXT).
Delete cannot be used as menu accelerator in menu editor (commonly used in Edit->Delete). Maybe replace Delete with Backspace to remove accelerator?
Can't use Ctrl+Alt+(0 to 9) as menu accelerator in menu editor.
When a new dialog is created (Resource->Add Dialog), the new dialog should be selected in the tree view that lists the resources.
The name of the resources could be change using the tree view.
New menu items to show and set the focus to the output window, immediate window, file browser, project browser and properties window, just like in Visual Studio.
I think the addition of *.bas to list of include files should be disabled by default with options to show it, since they are not really meant to be #include'd in FreeBASIC.
The code complete of #Include's should list include files in the correct case because when an application is compiled in Linux (i.e. a game), it wil not compile because Linux is case sensitive.
I think "End If" should be used as autocomplete end for "If" because "EndIf" will confuse new users because the FreeBASIC Manual uses "End If".
FbEdit's sources:
Do...Loop is faster than While TRUE...Wend because no condition is checked every iteration.
Bug Fix: Help Menu Options Bug
When you open the Help Menu Option, the Help Path is set to a null string (""). This is because the MenuOptionSave function doesn't save the Help Path after removing the Help section of FbEdit.ini. Replace:
menuoption.bas (MenuOptionSave):
Code: Select all
134 ElseIf nType=2 Then
135 WritePrivateProfileSection(StrPtr("Help"),@buff,@ad.IniFile)
menuoption.bas (MenuOptionSave):
Code: Select all
134 ElseIf nType=2 Then
135 WritePrivateProfileSection(StrPtr("Help"),@buff,@ad.IniFile)
136 WritePrivateProfileString(StrPtr("Help"),StrPtr("Path"),@ad.HelpPath,@ad.IniFile)
I think its better if you will move these lines from MyTimerProc:
EnableMenu
CheckMenu
CallAddins(hWin,AIM_MENUENABLE,0,0,HOOK_MENUENABLE)
to a WM_INITMENUPOPUP message in DlgProc. This will remove unnecessarily disabling the menus every 2 seconds, the message is called when an accelerator is activated or the menu is opened.
FbEdit stops responding while compilling. Do you run the compiler inside a thread or not? In RadASM, the IDE is still responding while compilling.
It would be nice if your IDE's (FbEdit, RadASM2, RadASM3, MasmEdit) will load addins using different functions to make some addins available to ALL of them. For example, FbEditAddinLoad, RadASMAddinLoad, MasmEditAddinLoad for functions that load the addin and FbEditAddinProc, RadASMAddinProc, MasmEditProc for the callback functions. I tried this with Project Publisher addin that I created, but the IDE's have clashing exported functions. Implementing this will make addins have a single binary for 4 IDE's.
It seems that RATools is good to use with FbEdit (uhm...).
It would be nice if you would implement a RegisterWindowMessage-like functionality for addins (RegisterAddinMessage?), so they could talk through CallAddins without crashing with FbEdit Addin Messages.
Double-clicking listbox options in dialogs will auto-save-and-close the dialog would be good to make editing options faster.
How to use that style masks in Options->Dialog Editor->Custom Controls?
Not FbEdit related:
It seems that when clicking on a caption of a tool window, RATools doesn't draw the captions with the same color that a caption of an activated window have, which is different from what the RATools included in the sources of RadASM does.
It would be nice if you will create some type of reference manuals for the RadASM and FbEdit custom controls. I think the info in the headers is not enough. I'm planning to create one, but I don't have much info about them.
That's all there is to it...