Git Product home page Git Product logo

visualfbeditor's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m @XusinboyBekchanov
  • ๐Ÿ‘€ Iโ€™m interested in ...
  • ๐ŸŒฑ Iโ€™m currently learning ...
  • ๐Ÿ’ž๏ธ Iโ€™m looking to collaborate on ...
  • ๐Ÿ“ซ How to reach me ...

visualfbeditor's People

Contributors

chunmingwang avatar davidicebird avatar elfsimulate avatar graysuit avatar hustbeef avatar retsyo avatar skyfish4tb avatar xusinboybekchanov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

visualfbeditor's Issues

Feature request Tool Wrapper for external Tools which are precompiled or a interpreted not written in freebasic.

Some tools you may have already ready to use. For example a "grep.exe" some kind of other command line utility as well. Such tools should be able to run without to write a add-in wrapper first. They should be able to run also by havin a "standard Wrapper or interpreter". Things like CMD.exe, POWERSHELL.exe , CScript.exe. This would also allow to use scripting inside the IDE on a descent level. To act like that they need some "parameter" Project directory, filename, marked lines ... The result of the action should be able to addess the terminal window, the editor code (replace marked lines) or whole file, /dev Null . They should have some run modes. Like acting hidden, showing output, acting like a filter and by redirectind stdin, stdout, stderr to either the approbiate window or to replace code. Such a feature is very powerful cause now peoples can enhace functionality without knowing about the internal functions of the ide, they can add some level of scripting, and they can use tools which are already written :)

GUI Designer "Toolbox missing"

For sure if someones wants to check aout a VISUAl Designer he will first create a new form. So do i. Then i was looking around where the henk all the Buttons and other gadgets are located. Found them finally hidden behind the Project explorer. I would suggest to make a setting in the Options which is activaed by defaul. The action of the setting is that if the GUI designer got activated also the gadget toolbox got the focus and get activated. If the code editor is activated the project exploerer got the focus. This is a quick fix i guess. The Gadget Tools should get a own window finally :)

ActiveControl issue

I have thought, that when I will use ActiveControl form property to set focus to some command button, that it will get focus and that will work. But I Am getting The following error.

error 196: PROPERTY has no indexed GET method/accessor 28
Here is Edited helo.bas with my epxeriment I have tried to add two buttons and I have wanted to make Play button active so it should get focus.
#ifdef FB_WIN32
'#Compile -exx -s gui "Example.rc"
#else
'#Compile -exx
#endif
#include "mff/Form.bi"
#include "mff/CommandButton.bi"

Using My.Sys.Forms

Dim Shared frm As Form, b1 As CommandButton
Dim b2 As CommandButton

Sub B1_Click(ByRef Sender As Control)

End Sub

B1.Text = "Play"
B1.OnClick = @B1_Click
frm.Add @b1
Sub B2_Click(ByRef Sender As Control)

End Sub
B2.Text = "Stop"
B2.OnClick = @B2_Click
frm.Add @b2
frm.ActiveControl(b1)
frm.Center
frm.Show

App.Run

If there is Windows APi trick or other safe procedure, which would allow Me to make yours GUI toolkit objects focusable, I Am ready to test even bleeding edge code. Really. Yours GUI toolkit is my last hope. Because I have analysed all available Free Basic GUI libraryes and every is too complex and requires adding object position values in Pixels.
I Am not so professional like you are. But I Am sure, that you would find The solution. Now, I can access buttons and other objects only by using NVDA screen reader object navigation functions. But arrow keys, TAB,SHIFT+TAB do not work. It would be really very simple to create useful apps thanks to yours toolkit. But if every button or listbox ETC would had to be accessed by using screen reader object navigation features, if every object would lost focus immediately when I leave main Window by switching to other app and by returning back again, it would not be very blind friendly.
Thank you very much for yours patience.

build error

Line 987 FBEDITCONTROL.BAS
error 58 Type mismatch at parameter 2 in :
WLet FECLine->Text, IIf(TabAsSpaces AndAlso ChoosedTabStyle = 0, WSpace(CurIndents * TabWidth), WString(CurIndents, !"\t")) & LTrim(*FECLine->Text, Any !"\t ")

Language files not loaded...

I guess you hard compiles the language files inside the IDE. To be honest - not a great idea !
Might be done for speed reasons but that is NOT nessecary !
you has now a valid Key file
which can be turned easy to a enum :)
Then you just has to use the enum to get the desired language string.
On this path of coding or pattern you can show all languages which are availeable immediatly
i put in my langugage files at the first line the language name
So read all language files and take the first line into the dropdown list.
So if the first line is different use the name of the file without extension and path.
Make the first letter uppercase and this dropdown would be fine :)
If someone wants JUSt to provide a language file he might not be uilling to get the WHOLE toolchain working.
Its also not needed. :)
Just parse the ascci file.
To get speed you will might have found in the file i send X.zip for the format bug two interesting working things.
Freebasic Dictionarys or SQLITE both would help you on the speed issue :)
My free BSD fiend wich try to make swabian was not THAT amused that nothing wokrd out :) His comments was not the way i would like to cite them :D
Anyhow - such silly things can not be hard coded and should also not.
Maybee the klingon space force would try the same one day....You wont want to be at home THAT day grin ;)

Feature request: Filesystem functions

In the project tree it would be nice to rename items, delete items - eg filesystem operations.

It would be nice to be able to create "virtual" folders as well as real ones.

it would be nice to be able to have a multi select for the items.

And it would also be cool to drag any item ore a bunch of items inside the source code to becomes include statements. :)

Its just a idea.

Feature Request: Insert new file in Project

To just add a new empty file into a Project is painful.
First you create a "normal" file, then you save it with a new name. First you has to walk to the project... Then you remove and close it. And now finally you can walk with the Fille add button.
I suggest to have a button - add "empty" file to project, get asked for a filename and then the file will be created in the prject folder, added to the project and shown in the editor. Additional it would be nice to have something named add file from template to project :) Here the user is been asked to choose a file from the project template folder. Useful on includes or cause there has to be a gpl header or... :)

Examples does not compile

To make your life a bit more easy i comes on the idea to write a plugin byself. First it does not compiles by some strange message. A second obstacle was the lack of any kind of documentation.
A well documented filter Example would help a lot. (As well as e menu point for external tolls which could for sure also be some kind of text filter).

image

"F8" while debugging has no autorepeat.

If i want to step trough the debugee i have to press F8 each times to mopve to the next line. Key repeats seems to be disabled for special keys. Makes sense for some of them but not for this ones :)

Feature request: "F5" while debug

In VBA its very handy that if you just reach a breakpoint and has done your examination, you just can press F5 and the program execution continues. This is missing in The Menu. I just figured out by accident. If the programm is debugged or in debugging state just continue if F5 or other key is pressed. BTW Thanks for adding the shortcut Setup :)

Minimal font size too small

Ac.. german law and my eyes the minimal size should be 12 points on a 1920x1054 pixel disply at least.
This has to be recalculated for each display screen size - for sure.
On a 4K display you would sit in Front of your TV use a magnifier glass.
I am a nasty, ugly, old bag of 54 years old. as I was 20 i could read whatever little without glasses. And for sure i look much better laugh Anyhow :)
Now i need +3 Dioptree recipe :) (Glasses)
People get older - you will too.
Please support them :)

Forms which are really fomrs should get other icon.

Its very hard to open the form in the GUI editor cause you do not know if its named right . At the moment there is also no logic to detect source which can be edited with the dialog designer or not. I try to change the menu structure a bit and was looking inside the ide if there is some kind of menu editor. Did not found anything and get confused cause there was files which starts with "frm" but just has had code and nothing to edit in the dialog GUI editor...
Such files would be in VBA opened inside the GUI editor instead inside the code editor first.

Feature request or fixuo: Drwarf clutter / garbage

Before the program starts with Dwarf Debug symbols i got a lot of messages which delays the start.
image . I do not know far whats good for, Debugging starts. But it takes time and confuses. I would request a setup switch to hide this messages :)

Feature request:sort lines

Sometimes it becomes handy to sort marked lines inside the editor. Most Editors has this feature. I use it often to sort a bunch of "Dim" statements.

Feature request : Dark theme for The whole IDE /MyFbFramework

Hi, i tryed a bit to hack. So the idea was to just change the default settings in the hope they woulc take any kind of effekt. But it seems its not that easy :) Are the colors hard coded in the RC ? or is there any central point to change them ?
Would make the IDE looks way more modern. I hate the white Interface since FBedit 10 years ago. And this guy uses also a very strange yellow backgrund :)

'###############################################################################
'# Graphics.bi #
'# This file is part of MyFBFramework #
'# Authors: Nastase Eodor, Xusinboy Bekchanov #
'# Based on: #
'# TGraphics.bi #
'# FreeBasic Windows GUI ToolKit #
'# Copyright (c) 2007-2008 Nastase Eodor #
'# Version 1.0.0 #
'# Updated and added cross-platform #
'# by Xusinboy Bekchanov (2018-2019) #
'###############################################################################

#include once "Object.bi"

'Namespace My.Sys.Drawing
#ifdef USE_GTK
#define clScrollBar &H000000
#define clBackground &H000000
#define clActiveCaption &H000000
#define clInactiveCaption &H000000
#define clMenu &H000000
#define clWindow &H000000
#define clWindowFrame &H000000
#define clMenuText &H000000
#define clWindowText &H000000
#define clCaptionText &H000000
#define clActiveBorder &H000000
#define clInactiveBorder &H000000
#define clAppWorkSpace &H000000
#define clHighlight clOrange
#define clHighlightText clWhite
#define clBtnFace clGray
#define clBtnShadow clLtGray
#define clGrayText &H000000
#define clBtnText &H000000
#define clInactiveCaptionText &H000000
#define clBtnHighlight &H000000
#define cl3DDkShadow &H000000
#define cl3DLight &H000000
#define clInfoText &H000000
#define clInfoBk &H000000
#else

Dim UseUserColors As Integer
UseUserColors =1

Enum syscolor
ecl3DDkShadow
ecl3DLight
eclActiveBorder
eclActiveCaption
eclAppWorkSpace
eclBackground
eclBtnFace
eclBtnHighlight
eclBtnShadow
eclBtnText
eclCaptionText
eclGrayText
eclHighlight
eclHighlightText
eclInactiveBorder
eclInactiveCaption
eclInactiveCaptionText
eclInfoBk
eclInfoText
eclMenu
eclMenuText
eclScrollBar
eclWindow
eclWindowFrame
eclWindowText
End Enum

'From MS page adapted
Const COLOR_SCROLLBAR = 0 'Scroll bar gray area.
Const COLOR_BACKGROUND = 1 'Desktop.
Const COLOR_DESKTOP = 1 'Desktop.
Const COLOR_ACTIVECAPTION = 2 'Active window title bar. The associated foreground color is?COLOR_CAPTIONTEXT. Specifies the left side color in the color gradient of an active window's title bar if the gradient effect is enabled.
Const COLOR_INACTIVECAPTION = 3 'Inactive window caption. The associated foreground color is COLOR_INACTIVECAPTIONTEXT. Specifies the left side color in the color gradient of an inactive window's title bar if the gradient effect is enabled.
Const COLOR_MENU = 4 'Menu background. The associated foreground color is COLOR_MENUTEXT.
Const COLOR_WINDOW = 5 'Window background. The associated foreground colors are COLOR_WINDOWTEXT and COLOR_HOTLITE.
Const COLOR_WINDOWFRAME = 6 'Window frame.
Const COLOR_MENUTEXT = 7 'Text in menus. The associated background color is COLOR_MENU.
Const COLOR_WINDOWTEXT = 8 'Text in windows. The associated background color is COLOR_WINDOW.
Const COLOR_CAPTIONTEXT = 9 'Text in caption, size box, and scroll bar arrow box. The associated background color is COLOR_ACTIVECAPTION.
Const COLOR_ACTIVEBORDER = 10 'Active window border.
Const COLOR_INACTIVEBORDER = 11 'Inactive window border.
Const COLOR_APPWORKSPACE = 12 'Background color of multiple document interface (MDI) applications.
Const COLOR_HIGHLIGHT = 13 'Item(s) selected in a control. The associated foreground color is COLOR_HIGHLIGHTTEXT.
Const COLOR_HIGHLIGHTTEXT = 14 'Text of item(s) selected in a control. The associated background color is COLOR_HIGHLIGHT.
Const COLOR_3DFACE = 15 'Face color for three-dimensional display elements and for dialog box backgrounds.
Const COLOR_BTNFACE = 15 'Face color for three-dimensional display elements and for dialog box backgrounds. The associated foreground color is?COLOR_BTNTEXT.
Const COLOR_3DSHADOW = 16 'Shadow color for three-dimensional display elements (for edges facing away from the light source).
Const COLOR_BTNSHADOW = 16 'Shadow color for three-dimensional display elements (for edges facing away from the light source).
Const COLOR_GRAYTEXT = 17 'Grayed (disabled) text. This color is set to 0 if the current display driver does not support a solid gray color.
Const COLOR_BTNTEXT = 18 'Text on push buttons. The associated background color is COLOR_BTNFACE.
Const COLOR_INACTIVECAPTIONTEXT = 19 'Color of text in an inactive caption. The associated background color is COLOR_INACTIVECAPTION.
Const COLOR_3DHIGHLIGHT = 20 'Highlight color for three-dimensional display elements (for edges facing the light source.)
Const COLOR_3DHILIGHT = 20 'Highlight color for three-dimensional display elements (for edges facing the light source.)
Const COLOR_BTNHIGHLIGHT = 20 'Highlight color for three-dimensional display elements (for edges facing the light source.)
Const COLOR_BTNHILIGHT = 20 'Highlight color for three-dimensional display elements (for edges facing the light source.)
Const COLOR_3DDKSHADOW = 21 'Dark shadow for three-dimensional display elements.
Const COLOR_3DLIGHT = 22 'Light color for three-dimensional display elements (for edges facing the light source.)
Const COLOR_INFOTEXT = 23 'Text color for tooltip controls. The associated background color is COLOR_INFOBK.
Const COLOR_INFOBK = 24 'Background color for tooltip controls. The associated foreground color is COLOR_INFOTEXT.
Const COLOR_HOTLIGHT = 26 'Color for a hyperlink or hot-tracked item. The associated background color is COLOR_WINDOW.
Const COLOR_GRADIENTACTIVECAPTION = 27 'Right side color in the color gradient of an active window's title bar. COLOR_ACTIVECAPTION specifies the left side color. Use SPI_GETGRADIENTCAPTIONS with the?SystemParametersInfo?function to determine whether the gradient effect is enabled.
Const COLOR_GRADIENTINACTIVECAPTION = 28 'Right side color in the color gradient of an inactive window's title bar. COLOR_INACTIVECAPTION specifies the left side color.
Const COLOR_MENUHILIGHT = 29 'The color used to highlight menu items when the menu appears as a flat menu (see?SystemParametersInfo). The highlighted menu item is outlined with COLOR_HIGHLIGHT.Windows?2000:??This value is not supported.
Const COLOR_MENUBAR = 30 'The background color for the menu bar when menus appear as flat menus (see?SystemParametersInfo). However, COLOR_MENU continues to specify the background color of the menu popup.Windows?2000:??This value is not supported.

Dim Shared FRAMEWORKCOLORS(eclWindowText) As Integer

Sub SystemcolorInit0()
FRAMEWORKCOLORS(eclScrollBar) = GetSysColor(COLOR_SCROLLBAR)
FRAMEWORKCOLORS(eclBackground) = GetSysColor(COLOR_BACKGROUND)
FRAMEWORKCOLORS(eclActiveCaption) = GetSysColor(COLOR_ACTIVECAPTION)
FRAMEWORKCOLORS(eclInactiveCaption) = GetSysColor(COLOR_INACTIVECAPTION)
FRAMEWORKCOLORS(eclMenu) = GetSysColor(COLOR_MENU)
FRAMEWORKCOLORS(eclWindow) = GetSysColor(COLOR_WINDOW)
FRAMEWORKCOLORS(eclWindowFrame) = GetSysColor(COLOR_WINDOWFRAME)
FRAMEWORKCOLORS(eclMenuText) = GetSysColor(COLOR_MENUTEXT)
FRAMEWORKCOLORS(eclWindowText) = GetSysColor(COLOR_WINDOWTEXT)
FRAMEWORKCOLORS(eclCaptionText) = GetSysColor(COLOR_CAPTIONTEXT)
FRAMEWORKCOLORS(eclActiveBorder) = GetSysColor(COLOR_ACTIVEBORDER)
FRAMEWORKCOLORS(eclInactiveBorder) = GetSysColor(COLOR_INACTIVEBORDER)
FRAMEWORKCOLORS(eclAppWorkSpace) = GetSysColor(COLOR_APPWORKSPACE)
FRAMEWORKCOLORS(eclHighlight) = GetSysColor(COLOR_HIGHLIGHT)
FRAMEWORKCOLORS(eclHighlightText) = GetSysColor(COLOR_HIGHLIGHTTEXT)
FRAMEWORKCOLORS(eclBtnFace) = GetSysColor(COLOR_BTNFACE)
FRAMEWORKCOLORS(eclBtnShadow) = GetSysColor(COLOR_BTNSHADOW)
FRAMEWORKCOLORS(eclGrayText) = GetSysColor(COLOR_GRAYTEXT)
FRAMEWORKCOLORS(eclBtnText) = GetSysColor(COLOR_BTNTEXT)
FRAMEWORKCOLORS(eclInactiveCaptionText) = GetSysColor(COLOR_INACTIVECAPTIONTEXT)
FRAMEWORKCOLORS(eclBtnHighlight) = GetSysColor(COLOR_BTNHIGHLIGHT)
FRAMEWORKCOLORS(ecl3DDkShadow) = GetSysColor(COLOR_3DDKSHADOW)
FRAMEWORKCOLORS(ecl3DLight) = GetSysColor(COLOR_3DLIGHT)
FRAMEWORKCOLORS(eclInfoText) = GetSysColor(COLOR_INFOTEXT)
FRAMEWORKCOLORS(eclInfoBk) = GetSysColor(COLOR_INFOBK)
End Sub
Sub SystemcolorInit()
FRAMEWORKCOLORS(eclScrollBar) = 000000
FRAMEWORKCOLORS(eclBackground) = 000000
FRAMEWORKCOLORS(eclActiveCaption) = 000000
FRAMEWORKCOLORS(eclInactiveCaption) = 000000
FRAMEWORKCOLORS(eclMenu) = 000000
FRAMEWORKCOLORS(eclWindow) = 000000
FRAMEWORKCOLORS(eclWindowFrame) = 000000
FRAMEWORKCOLORS(eclMenuText) = 000000
FRAMEWORKCOLORS(eclWindowText) = 000000
FRAMEWORKCOLORS(eclCaptionText) = 000000
FRAMEWORKCOLORS(eclActiveBorder) = 000000
FRAMEWORKCOLORS(eclInactiveBorder) = 000000
FRAMEWORKCOLORS(eclAppWorkSpace) = 000000
FRAMEWORKCOLORS(eclHighlight) = 000000
FRAMEWORKCOLORS(eclHighlightText) =000000
FRAMEWORKCOLORS(eclBtnFace) = 000000
FRAMEWORKCOLORS(eclBtnShadow) = 000000
FRAMEWORKCOLORS(eclGrayText) = 000000
FRAMEWORKCOLORS(eclBtnText) = 000000
FRAMEWORKCOLORS(eclInactiveCaptionText) = 000000
FRAMEWORKCOLORS(eclBtnHighlight) = 000000
FRAMEWORKCOLORS(ecl3DDkShadow) = 000000
FRAMEWORKCOLORS(ecl3DLight) = 000000
FRAMEWORKCOLORS(eclInfoText) = 000000
FRAMEWORKCOLORS(eclInfoBk) = 000000
End Sub
SystemcolorInit

Function clScrollBar() As Integer
clScrollBar = FRAMEWORKCOLORS(eclScrollBar)
End Function

Function clBackground() As Integer
clBackground = FRAMEWORKCOLORS(eclBackground)
End Function

Function clActiveCaption() As Integer
clActiveCaption = FRAMEWORKCOLORS(eclActiveCaption)
End Function

Function clInactiveCaption() As Integer
clInactiveCaption = FRAMEWORKCOLORS(eclInactiveCaption)
End Function

Function clMenu() As Integer
clMenu = FRAMEWORKCOLORS(eclMenu)
End Function

Function clWindow() As Integer
clWindow = FRAMEWORKCOLORS(eclWindow)
End Function

Function clWindowFrame() As Integer
clWindowFrame = FRAMEWORKCOLORS(eclWindowFrame)
End Function

Function clMenuText() As Integer
clMenuText = FRAMEWORKCOLORS(eclMenuText)
End Function

Function clWindowText() As Integer
clWindowText = FRAMEWORKCOLORS(eclWindowText)
End Function

Function clCaptionText() As Integer
clCaptionText = FRAMEWORKCOLORS(eclCaptionText)
End Function

Function clActiveBorder() As Integer
clActiveBorder = FRAMEWORKCOLORS(eclActiveBorder)
End Function

Function clInactiveBorder() As Integer
clInactiveBorder = FRAMEWORKCOLORS(eclInactiveBorder)
End Function

Function clAppWorkSpace() As Integer
clAppWorkSpace = FRAMEWORKCOLORS(eclAppWorkSpace)
End Function

Function clHighlight() As Integer
clHighlight = FRAMEWORKCOLORS(eclHighlight)
End Function

Function clHighlightText() As Integer
clHighlightText = FRAMEWORKCOLORS(eclHighlightText)
End Function

Function clBtnFace() As Integer
clBtnFace = FRAMEWORKCOLORS(eclBtnFace)
End Function

Function clBtnShadow() As Integer
clBtnShadow = FRAMEWORKCOLORS(eclBtnShadow)
End Function
Function clGrayText() As Integer
clGrayText = FRAMEWORKCOLORS(eclGrayText)
End Function

Function clBtnText() As Integer
clBtnText = FRAMEWORKCOLORS(eclBtnText)
End Function

Function clInactiveCaptionText() As Integer
clInactiveCaptionText = FRAMEWORKCOLORS(eclInactiveCaptionText)
End Function

Function clBtnHighlight() As Integer
clBtnHighlight = FRAMEWORKCOLORS(eclBtnHighlight)
End Function

Function cl3DDkShadow() As Integer
cl3DDkShadow = FRAMEWORKCOLORS(ecl3DDkShadow)
End Function

Function cl3DLight() As Integer
cl3DLight = FRAMEWORKCOLORS(ecl3DLight)
End Function

Function clInfoText() As Integer
clInfoText = FRAMEWORKCOLORS(eclInfoText)
End Function

Function clInfoBk() As Integer
clInfoBk = FRAMEWORKCOLORS(eclInfoBk)
End Function

'#define clScrollBar           GetSysColor(COLOR_SCROLLBAR)
'#define clBackground          GetSysColor(COLOR_BACKGROUND)
'#define clActiveCaption       GetSysColor(COLOR_ACTIVECAPTION)
'#define clInactiveCaption     GetSysColor(COLOR_INACTIVECAPTION)
'#define clMenu                GetSysColor(COLOR_MENU)
'#define clWindow              GetSysColor(COLOR_WINDOW)
'#define clWindowFrame         GetSysColor(COLOR_WINDOWFRAME)
'#define clMenuText            GetSysColor(COLOR_MENUTEXT)
'#define clWindowText          GetSysColor(COLOR_WINDOWTEXT)
'#define clCaptionText         GetSysColor(COLOR_CAPTIONTEXT)
'#define clActiveBorder        GetSysColor(COLOR_ACTIVEBORDER)
'#define clInactiveBorder      GetSysColor(COLOR_INACTIVEBORDER)
'#define clAppWorkSpace        GetSysColor(COLOR_APPWORKSPACE)
'#define clHighlight           GetSysColor(COLOR_HIGHLIGHT)
'#define clHighlightText       GetSysColor(COLOR_HIGHLIGHTTEXT)
'#define clBtnFace             GetSysColor(COLOR_BTNFACE)
'#define clBtnShadow           GetSysColor(COLOR_BTNSHADOW)
'#define clGrayText            GetSysColor(COLOR_GRAYTEXT)
'#define clBtnText             GetSysColor(COLOR_BTNTEXT)
'#define clInactiveCaptionText GetSysColor(COLOR_INACTIVECAPTIONTEXT)
'#define clBtnHighlight        GetSysColor(COLOR_BTNHIGHLIGHT)
'#define cl3DDkShadow          GetSysColor(COLOR_3DDKSHADOW)
'#define cl3DLight             GetSysColor(COLOR_3DLIGHT)
'#define clInfoText            GetSysColor(COLOR_INFOTEXT)
'#define clInfoBk              GetSysColor(COLOR_INFOBK)

#endif

external tools window needs own menu entry

Having tools or add-ins is fine but it is unhandy if you put them in a sub menu to call them. They should be able to call directly if defined. Best would be to run them also by a keyboard shortcut.

Build with 1.0.7.1 as requested

Ok ...
image
and
image
It might just be an idea to document excatly how to build it. Even it should be obvious. But based on the fact that "some" fbc compilers are in the wild this might avoid questions. Might also be a idea to branch a "frozen" release which is known to compile "out of the box" :)

Originally posted by @rexxitall in #15 (comment)

cannot save Compiler path,reopen will restore

Menu Service -> Options > Compiler >add path
cannot save path,reopen will restore default
e.g.

D:\FreeBASIC\FreeBASIC-1.07.1-win32-gcc-5.2.0\fbc.exe
D:\FreeBASIC\FreeBASIC-1.07.1-win64-gcc-5.2.0\fbc.exe

Debugging -with integrated IDE debugger fails

Hi, I tried to make the IDE Debugger work. I got always
image Which is strange. I tryed all 3 possibilitys -g also -g -gstabs+ and dwarf is not recogniced at all. So how to use the debugger :) ??? Or is he just "still work in progess ? "

Feature Reques format and syntax higlighting

Operators, mathematical functions, numbers bracets needs own colors. things like + - * / ( ) should have additional space chars. On the Picture you just see a red mud of math:
image

Even in VBA which is not that perfect it looks better:

image

On large math routines it simply makes some sense to have different colors for those different elements. Its als a big help if you can recognize if something is a real number or integer number.
On your 4 Keyword files i would add Number 5 for things like SIN COS SQR TAN :)

Find Dialog doesnt jump to the code window

If i end the find dialog by ESC for example . The editor windows should be activated and the cursor should stay on start to the last found word- or on the last known position ( before find was called). If you find something you usually has a reason to search for it. Usually you want to change it. So the cursor has to be set automatically to that position :) Sorry for creating a lot of issues at the moment. But i really try to work with it :) I like it. I would love it if those tiny edges would get rounded :)

Locating the fbc.exe file

How would I get VFBE to know where the FBC file is?
In others like FBIde, there's an option for it. How would I do it in VFBE?

Removal of Project files failed if the file does not exists

I renamed main.bas to x.bas.
I want to change the project to keep it in order.
Even main.bas does not exists anymore on the drive it could not be removed.
On project load the files should be checked if they exists.
non existing ones should be marked as not found.
And of course it should be possible to get rid of them without edit the project file with a text editor :)

Feature request. Using GDB or other debugger seamless inside IDE

Uing GDB seamless inside the IDE. Note that gdb has a so called IM Interface. Which is designed to act as "man in the middle" for IDE Programs. Might be worth to consider. Such a wrapper is more easy to maintain as a whole full featured debugger :) And would solve my 64 Bit Problem. Same for the Profiler. Both are Part of Freebasic. Would also make the IDE more interesting. Actually there are NO really usable GUI Wrappers for Windows availeable. I tried to use STDIN STDERR STDOUT redirect to utilite GDB. But this guy has also a TCPIP Sock interface which make the Thing more interesting - and is usually more stable than the weired slow redirection.

Text Search Bug and Feature request

The bug is that the word or text to search has to be in the clipboars. Usually the word is taken without to do anything.
Either the word or line will be taken below the cursoer
Or if marked the marked area will be used.
if you choose a empty area nothing is choosen. Thats very handy and standard in most progrmming environments and text processors i know :) ...a lot ;)

Microsoft designs the Find Dialog like this, which is very handy and easy to understand :)
image

You can tewak it a bit by adding buttons like you has jump prev, jump next and so on. If you press the replace button he changed his view to becomes the replace Dialog which is also very handy. Very often you wants to replace things you find.

You can select old searches , can tell search direction, where to search. Your Search is very powerful and i like the grep style idea in the bottom window.

The Replace thing from VBA is not that perfect. Here i suggest to use or robb/adopt parts from Notepad++. There you can also replace Tabs, linebreaks and so on :)

Feature request: Load and save setup

Based on the fact that i always have to change all path settings when i compile a new version i would kindly ask if the Ini file can be saved and loaded :) By this you would have also the possibility to set a "Default" Version.

Kbd input broken

HI :)
Great work but...
You can not enter special chars in the code window.
Not so useful by things like "@" which are somehow sometimes useful ;)
Have a great day :)
Thomas

Feature Request: Start behaviour

Somehow VFBE loads some kind of "random" file on Program start.
There should be a dropdown in the setup how to start. (Like any browser has)

Nothing
Empty file
Empty Project
Last File
Last Project
Last Session

:)

Feature request Project *Debugger* command line arguments

Hi, How about to pass also command lines to the standalone gdb and
not only arguments to the program ?
This command line argument would force gdb to run a few commands first
"-x c:\freebasic\projects\x\GDBC.txt" // Take the commands from a textfile for example or do not show version info first...

the file just looks something like this :

file c:/freebasic/projects/x/main.exe
b 1
r

e.g.
load the/or a main program
set a breakpoint at first line (coud we export them from the IDE ?)
run it

Format Project crashes Editor

I was curious how to work Format the whole project. The result was that the IDE crashes.
X.zip. Might be possible that something is also useful in it.

Feature request: Maybe on Xmas ;) I would like to have a possibility to write Macros.

In this case i would suggest to utilize a external Interpreter to do so. Interpreter do not crash , do not need to get compiled and do not need declaration. In simple words they are great for such things cause they can not kill the main IDE :) My favorite candidates would be VBScript, OOrexx, Scriptbasic Javascript, PHP SQL. Other would love to have Perl Ruby Python and whatever Youngsters need to survive nowadays :) For this Interpreter parts of the GUI has to be reached by API. COM would be great, or any kind of DLL cause most of them can embed or utilize DLLs. Its a bigger Task due the (anoying) API thing. A fast soloution would be to give access just to the editor buffers, the text selection and save, load, compile and run / debug.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.