Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / Theta IDE

Author
Message
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 9th Aug 2008 10:20 Edited at: 9th Aug 2008 22:17
Hi,

I would just like to introduce a new IDE I've been working on for a while with a friend of mine. Theta IDE aims to give DBPro coders something close to a Visual Studio/Office 2007 progamming experience. That is, the power of Visual Studio, with the nice interface and easy-to-get-atness (technical speak, sorry) of Office 2007.

At current, we have most of the features (see below) for the intial release in code, and we're just wrapping them all up into the interface. Obviously, as time progresses and new ideas pop-up we will implement more and more features.

Features Key:
- Going to implement
- Implemented in Code
- Implemented in Interface + Code

List of features for the intial release:

Code Editing
Highlighting: Syntax Highighting for all DBPro commands as well as user keywords and variables. Can choose highlighting in options box.
IntelliSense: Same as above
Code Refactoring: You know what it is (for Rename, Safe Delete, Introduce variable/parameter, Extract to Function, Extract variables to UDT)
Snippets: You can create snippets, which can then be inserted through Visual Studio-type snippets manager
Foldable Code Areas: Users can fold many different kinds of code area, from multi-line comments to functions to UDTs. You can select exactly how much you want to be foldable from the options box.
Live Analysis: Provides important, before compile analysis of the code, such as Variable Misuse, Variable not used, Function not used etc
Item Creation: Allows you to create stuff... An example expains it best: If you specify a function in code, but it has not yet being created, then Live Analysis will pick that up, and give you the option to create that function
Code Tags: You can label code in comments as TODO or BUG or NOTE and this can be read in the to-do explorer. You can also specify your own tags.
Command Documentation: You can specify details of commands through VS 2008 style XML documentation (start with ```). This can then be exported from the editor into a variety of formats.
Ultimate Customisability (spelling? proper word?): Basically, you can change everything about the way the editor looks, from text font to gradient/image backgrounds... If you're gonna code a lot, you might as well "accessorize".
All the basic stuff: Find, Replace, Go-To Line etc

Tools

Media Management: Easy media management for the project, including insertion into the code with a click of a button or dragging of an item from the media menu.
Colour Insertion: Insertion of colour into the code, with a professional colour picker, alike to the one found in Visual Studio
Speech Coding: Speech recognition of commands, allows a DarkBASIC program to be written completely by voice (Note: Up to you, its easy enough to implement, but not sure if wanted)
Open File Manager: View what files are opened in the editor, scroll through them in full 3D and finally open them.
Project Home: Place where you can explore everything that is in his project. It has a Source Manager, a Media Manager and a place to change Project Settings.
Solution Home: Alike to project home, apart from you view solutions in it.
Help/Web Viewer: Take a guess... An internal help and web viewer... Well, more a web viewer that views help, therefore it qualifies for the "Help" bit as well

Compilation

Compiles code... Obviously
Compile whole solution
Export all compiled exes (and media) in solution to a certain directory
Compiles to "bin" folder with all the media and stuff

Filetypes

The editor provides a way for you to manually choose what program opens what files in the project. This enables custom editors for custom filetypes. It allows for things like custom world editors for worlds.
Files of these new "custom" filetypes can be added through the "Add Item" dialog (like the one in VS)

Project Templates
Allows for quick set-up of projects of any kind (Can use default (Starter Kit) ones or custom-created ones)
Select through the "Add/New Project" dialogs

Addons

Think of VS Class Libraries. They allow for you to write DBPro code and export it as an "Addon".
Store in an encrypted file, which only Theta IDE can access
Allow for users to make DBPro code into addon.
Have full Intellisense for them
Export command documentation, for easy documentation of commands in addon
Set requirements for what plugins are needed etc
Note: On compile, the code in these is treated exactly like normal DBPro code for it to be able to compile

Projects and Solutions

All implemented in code.

Solutions:Each project is contained in a solution. These solutions work like Visual Studio 2008 solutions. They are useful if the user wants to separate off World Editors, Server/Client and more.
Project Notes: Due to the wealth of new features the IDE introduces, unfortunately a new Project type will most likely have to be made. This means that a converter will be made as well as compatability options for other editors. Hopefully, this can be avoided, but the way things are looking, we're going to have to keep it this way.

Edited 10/08/08 00:44


In-Built Designers

I've just had a new idea. I basically want to implement some in-built designers for some of the GUIs around the forums. Obviously, I'd need the creator's permission for each one, but it might be a nice feature to consider. Also, this could be just done externally, using a custom edtior and adding it as a filetype. What are your thoughts on this?


Well, I hope I haven't missed anything out. Screenshots below are from early tests of the editor. As I'm in India, I can't get newer images off the other coder (who's making the interface) and I apologise for this.

These screenshots show the editor editing a C# file (notice Leadwerks Engine 2.1 is being edited) and the Open File Viewer.

[img=http://img520.imageshack.us/img520/1905/fta5418tmpwa1.th.jpg]
[img=http://img154.imageshack.us/img154/3906/xuv753dtmpbb2.th.jpg]


This post will be updated as the project progresses.

Thanks,
Rich Bosworth

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 9th Aug 2008 10:45
nice to see another ide in progress.
but only one thing an better screenie please.
cheers
The Heavy
16
Years of Service
User Offline
Joined: 6th Aug 2008
Location:
Posted: 9th Aug 2008 10:45
I can't seem to enlarge the image, any chance of you posting a bigger one? As for the features will it have the ribbon bar or will it just use the standard toolbar? As for the features, the refactoring would be nice and the live analysis sounds quite cool

Who touched my gun?
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 9th Aug 2008 10:52
Sorry about that, but the screenies will flow after like 2 weeks (When I get back to England)

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Sergey K
20
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 9th Aug 2008 14:37
i cant see a thing at that screenshot.. please make one bigger

Get DBP stuff here! - (plugins/models/scripts and more!)
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 9th Aug 2008 14:47 Edited at: 9th Aug 2008 14:51
Sorry... Ah, I know what I've done... I've taken out the link to imagehut or fileshack or whatever its called... I'll reupload them

@TheHeavy:

Sorry, I didn't see your post for some reason... Basically, the interface is an option for you... The ribbon is in there (wouldn't be without it nowadays) but you can also choose to have the normal menus.

I might make some options templates (basic for the ribbon, advanced for the menus etc)

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
bandM
18
Years of Service
User Offline
Joined: 27th Sep 2006
Location: Home
Posted: 9th Aug 2008 15:00
Seems good. I hope you guys make it.
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 9th Aug 2008 22:18
Added ideas on "In-built Designers" to post. Please can you help me out with this.

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 10th Aug 2008 12:53
I'm interested in what you are using for the code editor. Have you made it yourself, or have you modified a rich text box, or is it one you downloaded?

This is looking very good, although I would like to see some screenshots of it highlighting DBPro code, not C# code

About the GUI editor. I have an existing free GUI, ViewGUI, and another I am working on called ExtraGUI to replace it, which will be paid-for. I would be glad to help you add an editor for ExtraGUI when it is complete!

[b]Yuor signutare was aresed by a deslyxic mud...
BOX2D V2 HAS HELP FILES! AND A WIKI!
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 10th Aug 2008 15:01
I'll make a note of that ExtraGUI...

Also, we're using Syncfusion Edit control for Windows Forms for the editing. I expect to get DBPro highlighting screenshots soon... He's gonna mail me some over, or upload them (I dunno which)

Thanks,
Bozzy

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 10th Aug 2008 17:59 Edited at: 10th Aug 2008 19:00
Hi,

A little update (which I can take out within 5 seconds).

I have implemented a Trial functionality for addons. This is basically a way that you can sell your addons and give trials of the features. Obivously, there is a setting to change whether this is on or off.

What I have in now:
Trial Time Setting (through either a date or days in the trial)
Purchase Link (a link to purchase an addon whose trial period has been used up)
Trial Enabled: Obviously the trial can be enabled or disabled on Addon Compile

As you may have guessed by now, I was REALLY bored today. If people like the idea (please respond) then I will probably expand the functionality. Please tell me if you like it, or whether there is anything else you wanted me to put in the Trial stuff.


Another idea: Theta Store
I liked the idea for the TGC store in FPSC X10 (or what I thought was the idea as I've never tried it) and so it might be nice to make this sort of set-up in the IDE for things like User-Made Addons (that want us to sell it through the store) and Templates as well. The prices on these could of course be $0/£0.

Designer:
I've been toying with ideas for the Designer I mentioned. I was thinking:

On Left - Visual Studio Look-Alike (with Office 2007 look) Toolbox
In middle - DBPro application with the interface
On Right - Selected Item Properties

Obviously, I would need the DBPro application to be made to work with the editor, using those File thingys {Edit: File Maps maybe?}

Can you give feedback on this as well!


{Edit: Addons}

Unfortunately, due to limits of DBPro which cannot be overcome safely, the addons are most likely going to have to be for organisational uses only. The reason for this is that the way the DBPro compiler works is to read source code as plain text off the hard drive. If a user wants to hide their code or indeed sell it, the code is not going to be safe as the addon will have to be compiled to that plain text along with their source and a person can easily get that text if they substitute in a custom "fake" compiler that nicks the source.

For organisational uses (such as splitting off code into different sections for easy management), the addon functionality will stay in, but unless you have a good idea to get past this block and are more cleverer and wiserer then John Y, then this will most likely be the case.

Ah, TGC you have foiled my plans once more.

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 11th Aug 2008 01:18
Ouch, £246

That's what I call giving to the community!

It would be great if you could add pre-compiler support too
Thanks for making this, it will be awesome when it's done!

[b]Yuor signutare was aresed by a deslyxic mud...
BOX2D V2 HAS HELP FILES! AND A WIKI!
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 11th Aug 2008 06:53
Hi all, I am Bozzy's friend, and one of the to-be founders of Theta Technologies (we are working on this to raise money to incorporate).

I just want to let everyone know that the reason for no screen shots of
DBPro code syntax highlighting is because I have to write a custom lexer in XML (file that defines all the keywords, method structures, class structures, etc) in order for highlighting to appear correctly. I finished the entire basic interface, file save/load, 3D carousel file viewer, start page, full edit menu (find,replace,goto,book marks,infinite undo/redo,etc), and some general theme tidying (getting Telerik Rad Tools working with Syncfusion Editor wasn't easy and involves a LOT of custom user controls).

I am working on the lexer right now, and should have enough of it finished by tomorrow to show one of the source files included in DBPro demos fully highlighted. Then comes the hard part (full intellisense compatibility, context choices, and customizable code snippets)

Thanks --
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 11th Aug 2008 07:04
Excuse my multiple posts, but here are some screens of the new interface (in Office 2007 / Ribbon mode):


This is what you get when you startup the program (to be improved)

Attachments

Login to view attachments
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 11th Aug 2008 07:05
This is a shot of the carousel viewer with one of the files selected as the active item (the front-most one)

Attachments

Login to view attachments
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 11th Aug 2008 07:05
This is the carousel in motion (3 files open)

Attachments

Login to view attachments
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 11th Aug 2008 07:06
Quick shot of the code editor. Shows book marks (the blue quads on the left column), collapsible code regions, and the sleek/modern selection identifier.

Attachments

Login to view attachments
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 11th Aug 2008 07:07
This shows the Find, Replace, and GoTo dialogs of the code editor.

Attachments

Login to view attachments
Blobby 101
18
Years of Service
User Offline
Joined: 17th Jun 2006
Location: England, UK
Posted: 11th Aug 2008 12:40
looking awesome - when this is finsihed, you've got yourself at least one definate user!
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 11th Aug 2008 17:15 Edited at: 11th Aug 2008 17:44
News about Addons:

I've just talked to my mate on MSN (well half-talked - offline messages) and basically he has found a way of making addons safe. So, it appears that they are back in!

Wayhey for that.

We will make some examples for useage, and when we're done we'll be looking for some DBPro coders who can help test out the addons system.

{EDIT}
By the way, the code for the addons will have to be licensed so that it cannot be sold etc... just in case some evil soul finds a way past our highly advanced system.

Thanks,
Bozzy

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 11th Aug 2008 18:32
Double-Post for New Idea:

Plugins

The IDE will now feature a plugins system. This basically lets you .NET coders write plugins for the editor using Visual Studio. It also means you can sell these plugins to users, so if you come up with any mint features that we havent thought of and think you can make them yourself for a healthy profit, go ahead using our plugins framework. It is most likely that we will release a special license for this, that gives you access to the framework!

Thanks,
Bozzy

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 11th Aug 2008 19:04
Awesome!

I wonder how long it will take to get around the addons system j/k

I can't wait for it to be done!

[b]Yuor signutare was aresed by a deslyxic mud...
BOX2D V2 HAS HELP FILES! AND A WIKI!
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 11th Aug 2008 20:50
Oh btw, we're going to implement pre-compiler support over the next couple of days

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 11th Aug 2008 21:24
It was upsetting when I tried my encryption algorithm and got a System.NotSupport exception because mscorlib has no support for file encryption. Windows SUCKS!.


Have to do this the hard way...
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 12th Aug 2008 00:57
Lil update:

DBPro Project Compatability - Complete!
DBPro Project Compiling (with addons) - Complete!

DBPro Langugage Highlighting - 70% Complete

Thanks,
Bozzy

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 12th Aug 2008 05:42
You guys ask, I deliver.

Full Dark Basic / Dark Basic Pro highlighting functionality has been implemented.

The editor will load all DB/DBPro commands from the keywords file, so all add-ons you have installed will automatically be loaded for syntax highlighting.

The attached picture shows syntax highlighting of one of the included demo files (colors can of course be changed).

Also, Bozzy went to bed so I couldn't let him know, but here is how Addon Encryption will work.

1. You create your add-on, Encrypt it using the add-on encrypter. It will generate a private key. You send that to me and Bozzy to add to the editor.

2. You distribute your encrypted add-on to consumers.

3. Consumers will load the add-on via a dialog box by selecting your add-on via name from a dropdown box. The security key is hardcoded into the editor, pinned in GC, and deleted via ZeroMemory for 100% protection.

4. The add-on is dynamically compiled, and the decrypted code is never exposed to the end user.

Attachments

Login to view attachments
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 12th Aug 2008 07:43
If you've ever used C#, VB.NET etc before, then the addons will work very much like Refrences in-IDE. This means they will have a section above the project files called Addons and you can view, add, remove etc all the addons that are in the project

Thanks,
Bozzy

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 13th Aug 2008 10:14 Edited at: 13th Aug 2008 10:39
Update

Over the past day and night, I have worked hard on the project loading and templates systems. Now, compatability mode is fully working, but the thing I am most happy about is the fact that templates are working.

Basically, what the template is, is a file containing all the details about the project that it is a template of. That includes storing all the project files in the template file, so you don't need to use any ZIP files with all those in at all for the templates or however you would do it, if you wanted to send it to.

As mentioned before, this gives me the opportunity to make some starter kits for the editor, but it also lets you start up projects really quickly, with all media and code etc already created and ready to go! As well as this, the community can easily make new templates and let other people use them as user starter kits.

Here are some screenshots from the templates system and the initial interface:

The Save as Template Dialog:


The Add Project Dialog:


The Main User Interface (at current, but will be expanded):


The Templates Manager:


"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 13th Aug 2008 12:54
Looks very nice

[b]Yuor signutare was aresed by a deslyxic mud...
BOX2D V2 HAS HELP FILES! AND A WIKI!
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 13th Aug 2008 19:24
Update time again:

I've been working hard today on fixing bugs and generally making the interface work better. At current, I'm adding in a Project Properties window, much like Visual Studio's one.

Also, John Y is working on the plugins system, which is coming along nicely. He's working closely with Diggsey, who is making the first official plugin for the IDE, a pre-compiler manager.

Tyler is continuing work on the editor control, bringing all the aforementioned features to life!

Thanks,
Bozzy

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 14th Aug 2008 12:59
The first plugin is done, I just need to get John Y to add some more methods to the plugins system for it to work with the IDE.

[b]Yuor signutare was aresed by a deslyxic mud...
BOX2D V2 HAS HELP FILES! AND A WIKI!
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 15th Aug 2008 12:57
I am converting the interface to a normal menus interface. This is because I feel that the ribbon is too basic for a code editor.

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 17th Aug 2008 19:27 Edited at: 17th Aug 2008 19:31
Update:

Hi, sorry I havent posted any updates recently. I've decided to stick with the ribbon, as it works nicely for what I want.

I've just finished the new Export as Template wizard.

Here are some screenshots:





"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 19th Aug 2008 22:35
Beta is close (for all those who have been contacted anyway)

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
If Only I had one
17
Years of Service
User Offline
Joined: 24th Dec 2006
Location: Leadwerks HQ <- I wish
Posted: 29th Aug 2008 03:32
No! We are not dead!

Progress is increasing steadily. I have just been busy with a few utility applications some people asked for (not related to the IDE).


Bozzy was in India over the summer, and now is in the process of moving back to Birmingham, so give us a bit while he moves back.


Cheers,
Tyler
Bozzy
18
Years of Service
User Offline
Joined: 10th Sep 2006
Location: Birmingham, UK
Posted: 29th Aug 2008 05:33
Hi,

I'm moving back to Birmingham tomorrow. I've just got some more time on the internet. As Tyler said, I am making good progress with the IDE, adding in things to the project classes etc

I am expecting a mid-September to late beta and then I guess the release in early October.

"I'm a firm believer that if a team scores one goal, then the other has to score two to win."
The Heavy
16
Years of Service
User Offline
Joined: 6th Aug 2008
Location:
Posted: 29th Aug 2008 13:16
Looking good, this might just knock codesurge off the IDE top spot.

Who touched my gun?

Login to post a reply

Server time is: 2024-09-30 02:31:59
Your offset time is: 2024-09-30 02:31:59