Re: [pygccxml-development] Py++ IDE - suggested improvements
Brought to you by:
mbaas,
roman_yakovenko
From: Roman Y. <rom...@gm...> - 2007-05-03 09:29:53
|
On 5/3/07, Alexander Eisenhuth <st...@st...> wrote: > > Roman Yakovenko schrieb: > > Good evening Alexander. First of all thank you for the huge work you do. > > > > While working on adding "generate xxx" functionality I decided to write > > here every problem I have. This is a list. > > > > 1. Header file - the dialog should be opened in current working > directory > I'll fix that. Thanks > 2. The dialog should not filter any C or C++ files. Right now it filters > > out everything, except "*.h" > On Windows you have a drop down to change the filter to "*". Isn't that > under > ubuntu the same? I can change the default to "*" if you like that better. > Waht > would be a useful filter? I can change this too. I was not clear, the default value should be extensions you listed. Suggestion: > (*.h,*.hpp, *.hxx, *.c,*.cpp, *.cxx) I agree > 3. The extension of saved project file should not be XML. XML is just a > > format. I suggest pypp, but you are free to propose something else. > Ok, will be changed Thanks > 4. Macros - may be we should change to "defines"? > I'm not shure weather this is the correct expression. Macro is,afaik , the > expression. DEFINE is the keyword of C language. But if you insist I'll > change that. No I don't > 5. It is not clear how to add\remove "Include Path" or Macros. I think > > two buttons "add" and "remove" will provide better interface. May be you > > have nice icons? Boa comes with good collection of icons. > I used a contex menue to save the extra space needed for buttons. I think > users > who use Py++ IDE have the knowledge of the right mouse button ;-) Yes, but this is not intuitive. Do you read JoelOnSoftware blog? If not ,stop coding and go to read it (http://www.joelonsoftware.com/) > 6. I think the title of the window should contain name of the project > > and the path to it. > That's the way how I implemented it. Did you try to save the project? I could be wrong, but it contains the full path to the project > 7. Output warning\info should use Python logging package, where handlers > > write to specific window. > Feel free to add that functionality. Maybe you can write the handler > interface > and I'll integrate it in the IDE code. OK? Okey. I already did it for some of my projects. > 8. gen_xml, gen_cpp, gen_pypp should use pygccxml defined classes in > > their interfaces: > Why is this a should? Why must it be created outside of code_generator.py Good question, I hope I will provide good answer: 1. We are not developing another Boa or Eclipse 2. The code will be much smaller: code reuse 3. The interfaces are clear. > 9. All previous functions do not get small but very important parameter > > - name of the file they work on :-) - patched > Ok > > > 10. You don't need "verbose" argument - use logging package instead and > > play with logger settings. > Related to logging, see above > > > 11. Code editor is luck of horizontal scroll bar. > Ok, I'll include one. Thanks > 12. I attached few screen-shots. I am sure you can make the dialogs to > > look better :-) > > > See below > > > Wish list: can you use Scite editor? Does it bring additional > dependencies? > I don't know Scite. At the moment we keep it on the wish list? Yes of course. > > > Now I have few question: > > 1. Why gen_xxx functions have such interface? What is wrong with simple > > def gen_xxx( [file_configuration_t], gccxml_configuration ): > > ... > > return string > > > > A) It runs in a own thread, because otherwise it will block the event > handler of > the GUI. (Reason of queues) I don't agree. You can use the queues out-side of the functions. B) I didn't use the file_configuration_t, gccxml_configuration because I > didn't > know them. I'm no experienced py++ user. Ok. > Error happens, when exception is raised, the caller will "except" it > > and report to the user. > > I'm not shure waht you mean. As I looked on the code, you implement it the > way > it was intended. I did not have time and your agreement to change the interface, so I did it this way. > > > 2. I don't understand why did you define such complex interface for > > ProjectSettings ? Can you simplify it? > - To have a generic interface for parameters > - To use existing code > > What do you need / miss ? Py++ code generator has pretty limited requirements from the ProjectSettings: 1. compiler (gccxml) configuration 2. source files 3. In future it will ask access for module_builder_t instance, that's all By the way I think we can define save\load functions on pygccxml classes I mentioned. what do you think? > > > I added "generate xml" and "generate code" functionality. Please update > > your sources. I also added "_dev_run_ide_.py" script. It allows to run > > IDE from the source tree. > > > > Nevertheless of my complains, the IDE looks promising. Please keep up > > working on this project. > I'm not shure weather you're lucky of my approach / SW-Design. Yes I am , the things I am complaining about are minors. Your design makes clear to user how to use the IDE and it also responsive. I mean all hard work is done in another thread. This is what important to user, hence to me. > > > Thanks > > On ubuntu there seems a other behaviour of the gui system. I'm a bit > surprised > of that fact. > > I'm having access to ubuntu 6.06. Is it possible to install python 2.5 + > wx > 2.8.1.1 and don't destroy the 6.06 installation? I think I need a dev > environment, otherwise I've no chance to reproduce your screenshots. > > Some words on Screenshot.png would be helpful. Don't bother yourself. I am in the middle of the release process of pygccxml and Py++. After I release them I will modify the IDE by myself. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |