IDE design issues, could they be addressed or fixed? lazarus / 6-IDE-CodeTools ---------------------------------------------------------------------- azagaros · 2010-01-25 20:04 I see Multi document structures mentioned.  I am not for that exactly but the current design modal is lacking flexibility and is frustrating.  I would like the interface to break out all source out to individual windows.  The other thing I would like to see is splitters on the windows to see two different parts of the code file.  I was looking into doing this for my own editor window with synEdit but still researching how it stores info and if was capable of a single document and multi-view form.  It has been a while since I did pascal programming, like around tp 6.0, and I am working through it. If it was c++ I would be through it a little faster.  The splitter idea comes from vc++ 6.0. The project engine needs work and better management tools.  On initial loads of the software, start with no unit code up and no project loaded.  I haven't defined anything so I don't want anything on my screen.  If I have used it after that let me define the projects a little better.  Getting lazarus to clean up the mess that could have been avoided is a pain.  I would like to specify directory positions for the project itself and not a global projects location. Another issue, When I want a new unit/form I would like dialogs to set things up, like the unit name and form name.  Another issue that would be easier to fix at file creation than at the next save to disk.  This is a feature of many of the advanced ide's on windows.  They ask these questions. Save all files at compilation in their current state.  I didn't like the fact that the if I changed things and the Lazarus didn't do the changes everywhere until I forced a save to the files. This engine would be great if I saw a c++builder libraries on one the compilers.  I do like the way programs come together in these style interfaces and vc++ later versions went to that format but with a vb runtime module. It would be great if things were multi monitor aware and give me the option to run on relative positions on another screen.  Instead of where the form was created. I have seen something like code explorer mentioned, I don't know what the exact implementation they talk about but a class explorer would be great.  The implementation I am familiar with is on the Vc++ 6.0, which is called a class browser, where I could see a class definitions and add methods, variables and other oop things, to it with a right click menu on that window.  It would be behind the Object browser which just deals with the forms, the class browser would deal with all the classes in the project, associated by file.  This kind of engine needs a better project management thing. Just food for thought.  This interface has a lot of potential and its design needs help to get down the road.  I wouldn't just look at it as pascal design tool but a multi language tool.  Personally, its the ide of all the ide's on the linux world that has the most potential, especially for more than one language and application type. ---------------------------------------------------------------------- marcov · 2010-01-25 21:26 (I think the limitation on a single language, and the ability to deeply integrate is the main reason why Lazarus is so strong) ---------------------------------------------------------------------- LazaruX · 2010-01-25 22:29 Lazarus can already do the impossible and its not even at version 1. What you are asking to integrate other languages covers the impossible at the moment. There are not enough developers for that, btw, Lazarus focuses itself on showing the power of FreePascal, showing Object Pascal can be strong as if not even stronger than C++. ---------------------------------------------------------------------- Marc · 2010-01-25 22:42 Quote from: azagaros on January 25, 2010, 09:04:32 pmSave all files at compilation in their current state.  I didn't like the fact that the if I changed things and the Lazarus didn't do the changes everywhere until I forced a save to the files. With an external compiler you must save your files before it can compile them. ---------------------------------------------------------------------- Troodon · 2010-01-26 00:34 azagaros man, for someone who is new to Lazarus/FPC you seem to have a lot of suggestions. Lazarus is much like the Delphi 7 IDE, which was very successful (and still is). Your statement showing your lack of understanding of how external compilers work is relevant. Develop a couple of projects in Lazarus/FPC, become familiar with FreePascal, then come up with ideas for enhancing them. Otherwise saying things such as "design issues", "is frustrating", or "would be great if I saw a c++ builder libraries on one the compilers" won't help you gain much credibility around here. Good luck! ---------------------------------------------------------------------- Leledumbo · 2010-01-27 03:30 QuoteOn initial loads of the software, start with no unit code up and no project loaded.  I haven't defined anything so I don't want anything on my screen.It can't, at least in its current state. Every project is also a "session", meaning that (taken from wiki): "Each project has a session. A session contains all meta information about open files in the source editor, the bookmarks, jump history and run file information." QuoteI would like to specify directory positions for the project itself and not a global projects location.Err.. I don't quite understand this. Could you explain it a little deeper? If that means structuring the directory for the project, it's already possible, just save it as you like. I've converted some Delphi project that uses this approach and so far so good. QuoteI have seen something like code explorer mentioned, I don't know what the exact implementation they talk about but a class explorer would be great.Open it up yourself: View->Code Explorer ---------------------------------------------------------------------- azagaros · 2010-02-02 18:09 Thank you for the inputs, is all I can say. I have been programming OOP languages for a long time, it is going on 30years.  My programming background started with basic on old vic20's and went to pascal on old hp machines.  From there I went to C/C++ and assembly on pc's. Learned Java, VB, Vc++, and php in the programming world as possibilities to broaden the horizons.  Object pascal of Delphi and Lazarus has been a struggle to get around some of the syntax but the algorithms to do things don't change. I have been reading the way things have been implemented in Lazarus' IDE and shaking my head at the mix of programming models.  The ideas about windowing interfaces don't change and thinking in structures.  Delphi/Lazarus(Object Pascal) and VB programmers don't think in OOP design models and that is a struggle to get around sometimes when dealing with language source codes. For example the idea of MDI..  Essentially a form with in a form, dynamically allocated, this all depends on which windows controls I can get to and handling the messages of the various platforms to do resizing,  position, and child window thinking. What makes the mdi so powerful is the doc/View(the work area in side a window) interface which was introduce on the Vc++ platforms is slated for this design.  It has useful OOP design elements that make it suitable any OOP development platform.  I would have to work through the syntax of Delphi/Object pascal to implement it.  hmm a session object, a doc object, a project object and their output forms.  I started laying out the OOP design of a IDE, with dbase thoughts in notes and deciding on which platform to attack the project. The idea that one OOP language is better than another is very interesting, since you are talking in terms of the libraries included and the design tools to create gui applications. ---------------------------------------------------------------------- Martin_fr · 2010-02-02 18:36 Quote from: azagaros on January 25, 2010, 09:04:32 pm The other thing I would like to see is splitters on the windows to see two different parts of the code file.  I was looking into doing this for my own editor window with synEdit but still researching how it stores info and if was capable of a single document and multi-view form. Download the SVN / Daily-Snapshot and compile with: -dSynDualView  It's only in it's very beginning, and many many features missing. See also http://www.lazarus.freepascal.org/index.php/topic,8304.msg39889.html#m sg39889