avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Wednesday August 4, 2021, 5:24 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - SkyIDE [ switch to compact view ]

Pages: prev1 ... 5 6 7 8 9 [10]
Developer's Corner / Re: SkyIDE - Latest Release Information
« on: September 09, 2006, 09:48 PM »
Thanks :)

I just uploaded Alpha 8

Latest changes:

As stated earlier, there won't much changes/additions in this release. Instead I focused on improving the code that I believed had to be improved.

Project Explorer has been almost completely re-written (still works the same way as in Alpha 7) but the code now is much easier to manage, less complex, more flexible and reliable. Definitely better then the old way.

Bug fix: Rename Project didn't quite work the way it was meant to, now it does (I think)

Added: Now when you right click the project tree, the menu item "Rename Project" also has the project name next to the Rename Project text

Modified: The Create C++ and Java project dialogs have been modified to make it look more prefessional

Redesigned: the project right click popup menu and the Tab-bar right click popup menu. This makes it more user friendly (in my own opinion)

FIXED: there was a problem with the "Set as Main File" section. When you seleced the option, SkyIDE would have used an absolute path as a main file to the project *even* if the file was inside the project dir. Silly mistake caused because I forgot to modify this section when I was fixing another section that had the same problem. This is fixed now and a relative path is used.

plus many other bug fixes which I came across....which I can't clearly remember now :)

Developer's Corner / Re: SkyIDE - Latest Release Information
« on: September 08, 2006, 06:55 AM »
SkyIDE Alpha 7 is available.

Changes in this version:

-> Completely re-designed the Java New Project Dialog. Now looks like
    the C++ dialog with check boxes for compiler options (needs testing)

-> Added support for Tabs-to-Spaces. When you press the tab key,
    instead of adding tabs, SkyIDE will insert spaces equal to the tab width
    size instead of actual tabs. Works flawlessly :) Thanks for the suggestion
    Gothi(c). Much appreciated.

*UPDATED POST* Sorry I forgot to mention, that silly bug in Open Main File and Open Header file has been fixed.

Next, in Alpha 8, this is gonna be a huge fix up operation. I will *completely* re-write the project explorer. I have to do this. So in Alpha 8 there may not be new features added, it's gonna be more like internal code work....I hope to have it released by this weekend and may be add new features.

Download from:


Developer's Corner / Re: SkyIDE - Latest Release Information
« on: September 07, 2006, 08:54 AM »
>> for example by showing separate folders in the project-tree,
>> representing the user-created subdirectories.

I will see what I can do, as usual I cannot promise but I will definately look into it.

By the way, there seems to be a bug with Pre-Alpha 7 with the "Open Header File" and "Open Source File" menu options. I have forgotten to change some code when I re-sructured the project directory. It's an easy fix. For the time being, I will stick with current projet structure until I make my code a bit more flexible. But yes, "src" and "include" and "bin" are hard coded so these dirs now must be present in order everything to work properly. Before was worse :) I had no dirs at all. Everything was saved in one project dir.

Developer's Corner / Re: SkyIDE Pre-Alpha 7 available
« on: September 06, 2006, 05:10 PM »
I'd combine them

Developer's Corner / SkyIDE Pre-Alpha 7 available
« on: September 06, 2006, 04:33 PM »
SkyIDE - Pre-Alpha 7 is available. Alpha 7 should be available by week end.

New Changes for Pre-Alpha 7:

Changed project directory structure:

For C++:  myproject/src for .cpp and .c files
              myproject/include for .hpp and .h files
              myproject/bin for .exe files files
For Java: myproject/src for .java files
             myproject/bin for .class files

Completely re-dedesigned the C++ new project dialog. Now you have check boxes to select/de-select compiler parameters for the selected C++ compiler.

Comming up in Alpha 7 is re-designing the Java New Project dialog to make it work like the C++ one and adding convert tabs into spaces support. Should be released by the end of the week.

I can confidently confirm now that convert tabs into spaces will be supported in Alpha 7 :)

I do admit, I kind of dragged this feature with every release. I do apologize about it.

Thanks for that mouser! :) I am glad you like the changes :)

I will start new thread for each update now. I hesitated whether to do that. I wasn't sure which way would people prefer but thanks for clarifying it :) I will re-post the update as a new thread now :)

And I just figured out something really good. I can confidently confirm now that Convert Tabs into Spaces when the tab key is pressed will be available in Alpha 7. It would be extremely easy to implement.

SkyIDE - Pre-Alpha  7 is available. Alpha 7 should be available by week end.

New Changes for Pre-Alpha 7:

Changed project directory structure:

For C++:  myproject/src for .cpp and .c files
              myproject/include for .hpp and .h files
              myproject/bin for .exe files files
For Java: myproject/src for .java files
             myproject/bin for .class files

Completely re-dedesigned the C++ new project dialog. Now you have check boxes to select/de-select compiler parameters for the selected C++ compiler.

Comming up in Alpha 7 is re-designing the Java New Project dialog to make it work like the C++ one and adding convert spaces to tabs support. Should be released by the end of the week.

Developer's Corner / Re: SkyIDE Alpha 5 - Public Download is available
« on: September 04, 2006, 05:47 AM »
Is it possible to still keep a project directory structure with this?
(eg, keep sourcefiles in myProject/src, headers in myProject/include, and binaries in myProject/bin)

I am happy to inform you that I just implemented it :) For C++ and Java projects that is.

For C++: myproject/src for .cpp and .c
             myproject/include for .hpp and .h
             myproject/bin for .exe files

For Java: myproject/src for .java files
             myproject/bin for .class files

So that is done :) Now focusing on Create New Project dialog about the suggestion you mentioned earlier and then I will look into the tab-space issue again :)

Developer's Corner / Re: SkyIDE Alpha 5 - Public Download is available
« on: September 04, 2006, 03:08 AM »
Yes, the idea is that the tab keypress is detected and spaces are inserted instead.
On top of that there could be a source-code formatting button that you can click to convert the whole document when you want to. (as opposed to real-time)

Alpha 7 will have big changes, even bigger then Alpha 6. I intend to re-design the Create New Project dialog and add those options to the compiler where you can put a tick in a check box for a parameter to be used, also add dir structures in the project folder as you suggested and try to modify the tab key. I cannot promise I will be successful about the tab key but I will try. The other two features should be no problem. I will start with the easiest ones. Feel free to check out Alpha 6 :)

Developer's Corner / SkyIDE Alpha 6 - Uploaded. Many changes/additions
« on: September 03, 2006, 04:59 AM »
Download from:

Well, I have just uploaded Alpha 6.

Thanks to everyone for all the ideas . I actually do listen to your ideas and I do as much as I can to implement them.

I would greatly appreciate feedback on Alpha 6.
The source code in Alpha 5 is now very old. Please download Alpha 6 (whenever you can/feel like)

Here are the changes:

ADDED: Full Java Support

ADDED: When you create a new project now, SkyIDE auto generates a separate dir for the project and all project files including the project's .exe file will be placed in that dir when compiling.

Added: New GUI Layout

Added: Java menu to compile Java files.

Modified: Moved "Compile Project" from the C++/Compile menu  to the Project menu where it belongs

Added: Compile Project in the right click menu of the project explorer. Now, to compile a project all you need to do is right click a project file and select "Compile Project" and the project starts to be compiled.

Added: Add Java Source File in the right click menu from the project explorer

Modifed: Add C+ Source File / Add C++ Header  File, now when you select this option, a new c++ source/header file automatically gets added to the project directory of where the project file resides thanks to the new way SkyIDE handles the projects. All you need to do is type in a filename for the new C++ file.

Fixed a few minor bugs with the compiler outputs (the GNU C++ one)

Added: Set as Main File to the right click popup menu in the project explorer has been added.

Modified: A few icons have been removed because they were too similar so it was hard to distinguish between options. Yep, I found some more annoyncences like that :)

To compile a C++ file only (not a project) just go to C++->Compile File

The default compiler will be used...or just selected Compile With GNU or Compile with Borland...

To compile a Java file only (not a project) just go to Java->Compile File

To change a project compiler, right click on a project file and select "Set Project Options" I personally love this. One minute your project is a GNU C++ project and the next minute it is a Borland C++ project. Very easy to change! Very convinient in my opinion. It is almost magical and when your press F9 to compile the file only, the right compiler is called or when you press F12 to compile the selected project, again the right compiler gets called.

All in total: support for 3 compilers, Borland, GNU and Java. More on the way :) Also, existing features will be improved and more added.

Also, fixed up a bug in the right click menu of the project explorer. Sometimes when you right clicked, an inappropriate/appropriate options would be enabled/disabled for the selected project. A silly error.....fixed.

Many features have been added and large sections of source code have been changed. Please test with caution, Thanks!

Screenshot of the new right click menu:
Screenshot of line tracker for people that don't know what it is:

The line tracker also shows the text of the line where the caret is

Download from:

Gothi(c), regarding the directory structure you suggested, that should be no problem and I can confidently say and confirm this.

Developer's Corner / Re: SkyIDE Alpha 5 - Public Download is available
« on: September 03, 2006, 04:39 AM »
Yes it is, I like your idea, I don't think that should be a problem. I will do it in Alpha 7 as I just uploaded Alpha 6.

I had a few problems with Convert Tabs Into spaces. I am very sorry about it. The feature is not implemented at the moment but it is greyed out in the tools menu. The problem is, if your document is big with a lot of tabs, it would take a large amount of time to do the conversion. I used the most efficient code possible I know but still takes time. Looks like I will have to change the way the editor handles tabs in order to do it automatically.

I can easily detect when the user presses the tab key and when he does, I can just delete the char and start inserting spaces until the TabWidth property is read for *that* document type. That would be a better day of doing it.

Many many changes in Alpha 6. I have been working on it for most of the day today and yesterday.

Developer's Corner / Re: SkyIDE Alpha 5 - Public Download is available
« on: September 02, 2006, 10:34 AM »

ADDED: Full Java Support (this turned out to be trickier then what I expected but it finally works flawlessly). I spent a lot of time....mainly with fixing up the "CLASSPATH" programatically for a local session only....

Most IDEs for Java out there are written in Java, now you have an alternative :)
A Fast loading Java IDE written in C++.

ADDED: When you create a new project now, SkyIDE auto generates a separate dir for the project and all project files including the project's .exe file will be placed in that dir when compiling.

For example, if you set C:\MyDocs\CPPProj.sprj as a project filename,  when you press "Create", SkyIDE will auto-generate the C:\MyDocs\CPPProj folder and will save CPPProj.sprj in there along with all the associated files. Then when you compile the project, the executable will be saved in that folder.

This makes it easy to quickly copy the project with all the files in that folder and move it somewhere else....

ADDED: New GUI, also had to spend a lot of time with adopting the code to utilize the new style toolbars....

and a few bug fixes, minor ones found in Alpha 5.

Currently working on: Implementing "Convert Tabs Into Spaces" feature

Alpha 7: I intend to re-design the Create New Project Dialog and add checkboxes with all compiler flags available for that compiler. I will have to look at this deeply....May be I will do it in a later Alpha/beta.....

Wow So many replies :) Thanks guys!

Now *that's* what I am talking about. Really thank you :)

Everyone's is favoring the new one including me. It provides the same functionality just less clutter. I will proceed with the new one. I intend to make Alpha 6 available by the weekend end with full Java support.

Please help me make a decision about which GUI layout I should go for, continue development.

Current GUI:

New One:

I think, the new one is better because I intend to add more toolbars like, HTML toolbar utilities, JavaScript Toolbar, PHP etc etc and if I keep the current one, more and more toolbars will just keep on being added one on top of the other and eventually space may run out. If I proceed with the new one, I can just keep on adding tabs and place each toolbar there. Screen space will be preserved.

Thanks :) Java support should be finished in 24hrs. Really, it should only take me 1 hour to add this but I am just taking a small break. Also, Convert Tabs Into Spaces will be added. At the moment, it will be as a Tool under the tools menu. It will scan you document and do the conversion. I expect Alpha 6 with the new features by the end of the week, possibly earlier. That will make the program support a total of 3 compilers, Java, Borland C++, and GNU C++. Once this is done I will look into supporting Digital Mars and others....Although, SkyIDE is a multi-language IDE, I mostly focus on supporting hard core languages such as C++, Java. Once I have achieved this, I will try to continue further development on HTML features etc to macth other IDEs. The good thing for Java is, if you want to use something powerful but simple to use to compile Java programs, SkyIDE should be fine. Just select compile and it would work as expected, the output will be captured and manipulated.

Developer's Corner / SkyIDE - Latest Release Information
« on: August 28, 2006, 06:55 AM »
Hello everyone,

A public version of SkyIDE is finally available for download. Thanks to everyone that accepted to test SkyIDE privately. I do appreciate it. This public version probably still contains undiscovered errors. Just let me know if you find some and I will try to fix it ASAP.

Some of the screenshots on the web site are a bit out of date.

Download from:

Please let me know what you think of SkyIDE. Please also understand I am the only one working on it. It's a one man band :)

Please provide feedback.


Developer's Corner / Please help me test my software - SkyIDE
« on: August 20, 2006, 09:35 AM »
Hi Everyone

I have completed about 95% of the work in SkyIDE

SkyIDE is an integrated development environment.


The screenshots you will see on the web site are now obsolete. A lot of things have changed.

I desparately need somebody who codes to test my software before I release a buggy public beta version.

However, I believe there aren't any more major bugs. I have spent most of this weekend fixing/adding stuff.

If anyone is interested in beta testing SkyIDE, please pm me or reply to this thread. Your help is appreciated.

Thanks in Advance

SkyIDE is a free integrated development environment for C++, Java and other projects. SkyIDE stands for Sky Integrated Development Environment

Main Screenshot:
All Other screenshots:

Project URL:

Here is a brief overview of what SkyIDE can do.

* Update: Full Java Support added
* Multiple project support
* Multiple C++ compiler support
* Each project of type C++ can be set to use a different C++ compiler
* Tabbed document Interface implemented using MDI with drag-tab support
* You can have different projects open at the same time. You can have HTML,
*  C++, Java, PHP
* and JavaScript projects all open at the same time.
* Powerful text manipulation functions:
* You can extract JavaScript scripts from a file quickly and efficiently. You can
* also extract CSS styles too the same way you would extract JavaScript scripts.
* Easily chop a particular number of characters on the start or end of each line.
* Very useful if for example you have saved an IRC conversation and you want
* to get rid of the time stamps.
* SQL-like bar lets you get/delete text by using SQL-like commands.
* Easily numerate lines, convert text case, join lines, line selection, completition
* etc.
* Choose between Search as you type Search or the ordinary search. The Quick
* Find and the Search Bar highlights text as you type it in the search box (like
* Firefox)
* C++ Function bar lists all your functions / methods in the file.
* C++ File structure lists all your standard C++ object types: int, floats, double
* etc and also lists all of your loops such as for loops and while loops. It lists
* your class names, structs and static members.
* A JavaScript Tree that can be customized (atm via manual edit only) lets you
* insert pre-defined JavaScript propertites in your file.
* The line tracker: A handy toolbar that shows the current line of text where the
* caret is with a copy to Clipboard feature. The line tracker also lets you add
* extra lines by selecting some text from the edit control, right click and
* selecting Add Lines To Tracker.
* Favorites Pane: Easily add your favorite files hat you work the most with to
* the Favorites bar.
* History bar, unlimitted history viewer. Shows all your files that you have
* opened up in the past.
* Undo Last Close will re-open the last closed document.
* Revert to original will revert the file to its original position from the current
* session even after you saved the file.
* Powerful syntax coloring for supported languages thanks to the TScintilla
* component.
* Smart tab stops mark the tab sets of each line (Thanks to TScintilla
* component)
* Auto Complete feature that can be customized for each file type that you edit.
* So, if you edit a c++ file you can have one set of words that appear in the
* Auto Complete box and if you edit an HTML you can have a different set of
* words that appear in auto complete list.
* Abbrevations let you insert text as you type, example:
* You type "for" and press the space bar key, it will auto insert "for (int i = 0; i <
* 10; i++)"
* All these abbrevations can be customized for each file type by editing a text
* file. So just like the Auto Complete feature, the abbrevations can also be
* customized. This is not a default
* behaviour in TScintilla so I implemented this my self to my project for both
* Auto Complete and Abbrevations.
* Easily preview web documents using an external browser and pre-defined
* locations of a few popular extrenal functions....
* Dynamic Filter for open/save dialog boxes. You be the judge what you want
* and what you don't want to appear in the filter when you open/save files.
* Filter index can also be saved.
* Start the program with the same documents that were open from the previous
* session. Start the program with the same projects that were open from the
* previous session.
* Extract ints, floats, void functions from file.
* Bookmark only ints, floats, chars etc...
* Compile using the default compiler, compiler set for the project or a different
* compiler altogether (finished)



Thank you so much for that link. I can't believe my luck. That Scintilla component is trully awesome. I already forgrot about SynEdit... :)

I found a wrapper for Delphi/C++

I have been coding like crazy all day today to transform ALL my TRichEdit calls into the Scinitlla ones. A lot of errors now lol but I am doing good I think. I have plenty of ideas for work arounds!

Thanks again for the drag/drop component link too. It appeared on my pallete but I havent tested yet. I will do that a bit later. For now, I have to eliminate all compile time AND run time errors.

Hey mouser thanks for the warm welcome, I appreciate it

Well, to be honest, I'd rather not re-invent the wheel but I really did search for solutions and I failed to find any. I remember once I downloaded a project file for BCB, called but when I extracted it and when I launched it, didn't open up properly, missing that. missing this, failed to load this, failed to load that blah blah blah, syntax error....statement missing....I say this literally so I gave up looking at the source code.

You mentioned, there are some nice and free bcb/delphi editor components. Do you know of any names I can search for? It is really hard. I found one, called SynEdit. But the component simply does not show up on the pallete on BCB 6. I posted a message on the forums, no one replied to help me. The forum over there seem to be non active. After seeking for help without success, I you said, to re-invent the wheel. I don't have a choice. I will also have to implement syntax highlighting too but it is not a priority for now.

Another question I have that you might know is this. What I want is, when the user clicks the RichEdit with the right mouse button, I want to move the carot at that position, as if the user clicked the left mouse button. Because when the user clicks the left button, the carot moves. Well I want to move it with the right mouse button. I have been unable to implement this and I have tried a few approaches such as tracking and capturing the right mouse click and sending a left mouse click message to the RichEdit, none of them worked and I don't even know if I am playing with the right APIs. The program that I write is really good. I have implemented some very cool features but these are some of the obsticles I am facing. I don't know how to move the carot at the position where the user clicks with the right mouse button. I will have to keep experimenting and read hundreds of pages of MS documentation just to implement simple stuff like this. I am sure it's not hard to do, the problem is I don't know what to look for. It's like searching for a needle.

I will see if I can get the DragDrop component going. My knowledge in Pascal is 0% but yes, the properties and methods and behaviours are the same as BCB when comparing Delphi and BCB. I have already used some Delphi examples in BCB, I just need to convert the syntax into C++ otherwise all the same.


I am new here, how is everyone doing? :)

I am here because I need help to implement something. First question.

I am trying to implement a multiple Undo/Redo feature for a text editor I am working on. I thought, one way of doing it would be to capture the EM_UPDATE message and copy the text to a buffer before the text changes. So, I need something like a BeforeChange event. In the MS docs, here is what it says:

The EN_UPDATE notification message is sent when an edit control is about to redraw itself. This notification message is sent after the control has formatted the text, but before it displays the text. This makes it possible to resize the edit control window, if necessary. The parent window of the edit control receives this notification message through a WM_COMMAND message.

This part:

The EN_UPDATE notification message is sent when an edit control is about to redraw itself. This notification message is sent after the control has formatted the text, but before it displays the text.

I thought this would have been a BeforeChange event or something but it is not.
When I capture the message, the text is already modified. I want to capture something like BeforeChange event so I can copy the text to an array of buffers and save it. I have it working now BUT the implementation is pretty poor. I have to keep track on every key stroke typed and also I have to make sure before I paste something into the RichEdit or modify the text, I have to remember to copy the existing text before I modify the text. So is there something like BeforeChange event/message? So I can put the code that copies RichEdit->Text into the buffer in the BeforeChange event instead of doing it manually all the time.

Second question: This one, I am clue less.

I KNOW how to make my program accept file from explorer BUT how can I make ito be able to drag from my program to explorer AND also want to be able to drag elements from one position on the form, to another? I am particularly interested in dragging Tabs using the Tab Control, just like in Maxthon or other tabbed browsers, the tabs are draggable.

Pages: prev1 ... 5 6 7 8 9 [10]