albeva / fbide Goto Github PK
View Code? Open in Web Editor NEWIDE for FreeBASIC
Home Page: https://fbide.freebasic.net/
License: GNU General Public License v3.0
IDE for FreeBASIC
Home Page: https://fbide.freebasic.net/
License: GNU General Public License v3.0
Implement side panel that lists the open workspaces and projects in a tree structure.
This is related to the base configuration #3 and deals with implementing the user interface for it
Types of configuration:
UI for the project settings. Modify everything. Any changes are done via project system API.
Dialog should:
1st version should use very simple scintilla provided editor for freebasic. Maybe apply simple customisations if any required based on previous existing work. Later version will be driven by custom lexer, parser and semantic analyser. Quite possibly the enhanced editor will only be supported for "modern" dialect of freebasic and ignore qbasic and fb-lite compatible modes.
How to reproduce:
the dialog showing both will appear, but it will unresponsive
that because the call that launch the help, is done synchronous
so it does not allow messages to be processed.
Lift implementation from previous version. Do some clean up.
Implement a consistent way to manage application configuration.
This is a big one. Design and implement a project system for the IDE.
Project system will be composed of several parts, but mostly be hierarchical data structure. This should go hand-in-hand with compiler subsystem and hopefully be detachable from the IDE so that it would be possible to implement a build tool independent of the IDE (this is low prio, but a consideration)
IDE can have one or more independent workspaces open. For now workspace is simply container for projects. In future they will support project dependence and global build options, etc.
Project contains source files, type (library, executable, ...), build options, libraries to link against, etc.
Implement the UI parts that execute the compilation and allow executing the app.
Base class of the editor should load configuration on top of wxStyledTextCtrl.
This goes hand-in-hand with project system #6. This subsystem should take in the workspace and compile.
Lift implementation from previous version. Having a central manager provides a good gateway to IDE APIs and will make it easy should I later decide to implement native plugins.
Implement DocumentManager
Job of the document manager is to load wxControl into main tabbed area, highlight save/unsave status. It doesn't care what the document content is aside from managing its view.
Mostly implemented already in old version
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.