gideon refactoring
Victor Roeder
victor_roeder at gmx.de
Tue Mar 26 21:11:02 UTC 2002
Hi, Matthias!
> as I have not been active on this list for a long time, I think I should
> start telling this story from the beginning:
>
> I recently learned to know IntelliJ's IDEA, a very cool Java IDE (I have a
> new job, so I have to do stuff like Java more and more often...). Well, I
> fell in love with that tool.
Hey! Very cool! We (at our university) are using this tool, too! And it is
really great. AND: I thought that this IDE(A) could be very cool model for
Gideon. I had a little talk about IDEA with Sandy, so that this situation is
REALLY cool :-)!
> Three weeks ago, I told Cornelius about IDEA's incredibly user interface,
> and he said something like "How long can it take to put something like that
> into gideon?" Well, the answer is: about three weeks.
Three weeks? Hacking 24/7 :-)?
> So I took the rest of spare time I have left, and started to hack on gideon
> again. Stupid as I am, I did several things at once:
>
> 1) I completely refactored the core.cpp code. It is now contained in about
> 5 small classes, each serving a single purpose.
>
> 2) I implemented a first version of a zoom-tab-widget like the ones used in
> IDEA and put them in place. (You have to have a look at IDEA, you will
> never be able to live without them).
:-)
> 3) I dropped the old editor interfaces, and made use of the new ones.
Very COOL!
> Well, I didn't completely follow through with 3, as I didn't want to start
> changing all the parts right now.
>
> The result of this work can be obtained from:
>
> http://verein.lst.de/~mhk/gideon/newframe.tgz
I will have a look ASAP!
> It is just a tarball that you can put beside the 'src' directory in gideon.
> Do the usual Makefile.cvs, configure, make stuff, and you get a new binary
> to play with. (You might have to disable some of the plugins in gideonrc,
> as some of the parts don't like the new structure yet.)
>
> Now from the three steps I did, I think that 1) is smart if one intends to
> continue the gideon development, as it makes live a lot easier. (It isn't
> nearly finished, as there is a kludge in place to account for the KDevApi
> class, which should be refactored next. Rather see it as a first step).
>
> Step 3 I guess has been agreed on by everyone here, so this will have to be
> applied to the parts sooner or later anyway.
>
> This leaves 2), and this one will be controversial, I guess. But if you
> look at toplevel.cpp, you will see that changing the UI model is a matter
> of replacing 50 lines in a single class, so it is nothing really important.
>
> So I would ask you to have a look at the tarball and tell me if you like
> it. I would love to replace the code in src with the new one, and go on
> doing a lot of necessary refactorings, like putting the new editor
> interfaces completely into use, refactoring the lib interfaces etc. etc.
> But I won't do something like that without consent from this list, not
> again ;)
I think I don't have to tell more about my agreement :-).
Really cool!
Bye,
Victor
More information about the KDevelop-devel
mailing list