KDE/kdevelop
Roberto Raggi
roberto at kdevelop.org
Mon Feb 6 10:10:16 UTC 2006
WOW Adam!!
very COOL stuff :-)
ciao robe
On Sunday 05 February 2006 05:38, Adam Treat wrote:
> SVN commit 505852 by treat:
>
> This commit has many moving parts. I'll try to summarize:
>
> * Add infrastructure for enabling and integrating roberto's new
> parser/codemodel with Qt4's model/view framework.
> -- KDevCodeAggregate: This is a private class that aggregates
> individual codemodel's produced by the parser using Qt4.1's new
> QAbstractProxyModel -- KDevCodeProxy: This is the public interface to the
> codemodel that other parts should use. The class can be used as a near
> drop in by other language parts. It inherits QSortFilterProxyModel and
> gives us the ability to have a granular view of the model's divided by file
> OR an aggregated view of all the translation unit's in memory. It can also
> filter on the currently active file.
> -- KDevCodeDelegate: A class that language parts can subclass and use
> to provide other parts custom drawing instructions for language's
> codemodel. * Hook up Roberto's preprocessor and modify the binder and
> parser to subclass KDevCodeModel which in turn subclasses KDevItemModel.
> The binder has also been changed so that the globalnamespace is the root
> instead of the FileModelItem.
> -- The Binder adds filename and position information to the codemodel
> now, but the information isn't accurate because the preprocessor pass is
> not accounted for in the location info, and the filenames are not recorded
> by the lexer.
> -- Function declarations no longer are added by default to
> translationunits that don't have them.
> -- CodeDisplay: This is a class that manages the model's ItemDataRole
> for the parser's codemodel. It is very inefficient at the moment since it
> generates things like signatures every time a request comes in. This kind
> of information and more should be generated at codemodel creation time.
> Especially since we don't modify any existing model's when something
> changes... we just create a new one and let the proxy figure it out.
> * Replace the classview part with codeview. This part is generic for all
> language parts and is ignorant of the underlying language. It requests a
> proxy code model and delegate from the language part and displays the
> view. Various kinds of modes the proxy supports are available for the user
> as well as a published list of filters by the language part.
>
> I've also changed the API's in lib/interfaces to account for these changes.
> The biggest changes are in kdevlanguagesupport and parents. Hope I haven't
> missed any files...
>
> Cheers.
>
> CCMAIL: kdevelop-devel at kdevelop.org
>
> M +4 -4 buildtools/importers/generic/kdevgenericimporter.cpp
> M +2 -2 languages/cpp/Makefile.am
> M +35 -107 languages/cpp/backgroundparser.cpp
> M +14 -10 languages/cpp/backgroundparser.h
> A languages/cpp/codedelegate.cpp [License: LGPL (v2+)]
> A languages/cpp/codedelegate.h [License: LGPL (v2+)]
> A languages/cpp/codeproxy.cpp [License: LGPL (v2+)]
> A languages/cpp/codeproxy.h [License: LGPL (v2+)]
> M +37 -20 languages/cpp/cpplanguagesupport.cpp
> M +11 -10 languages/cpp/cpplanguagesupport.h
> M +39 -23 languages/cpp/parsejob.cpp
> M +10 -8 languages/cpp/parsejob.h
> M +12 -14 languages/cpp/parser/Makefile.am
> M +65 -33 languages/cpp/parser/binder.cpp
> M +12 -2 languages/cpp/parser/binder.h
> A languages/cpp/parser/codedisplay.cpp [License: LGPL (v2+)]
> A languages/cpp/parser/codedisplay.h [License: LGPL (v2+)]
> M +114 -66 languages/cpp/parser/codemodel.cpp
> M +55 -29 languages/cpp/parser/codemodel.h
> M +1 -0 languages/cpp/parser/codemodel_fwd.h
> D languages/cpp/parser/kdevsharedptr.h
> M +2 -1 languages/cpp/parser/parser.h
> D languages/cpp/parser/rpp/Makefile
> M +1 -1 languages/cpp/parser/rpp/pp.h
> M +38 -30 languages/fake/fakesupport_part.cpp
> M +32 -33 languages/fake/fakesupport_part.h
> M +17 -29 lib/interfaces/Makefile.am
> M +2 -13 lib/interfaces/kdevapi.cpp
> M +0 -8 lib/interfaces/kdevapi.h
> A lib/interfaces/kdevcodeaggregate.cpp [License: LGPL (v2+)]
> A lib/interfaces/kdevcodeaggregate.h [License: LGPL (v2+)]
> A lib/interfaces/kdevcodedelegate.cpp [License: LGPL (v2+)]
> A lib/interfaces/kdevcodedelegate.h [License: LGPL (v2+)]
> M +82 -148 lib/interfaces/kdevcodemodel.cpp
> M +99 -73 lib/interfaces/kdevcodemodel.h
> A lib/interfaces/kdevcodeproxy.cpp [License: LGPL (v2+)]
> A lib/interfaces/kdevcodeproxy.h [License: LGPL (v2+)]
> M +17 -53 lib/interfaces/kdevitemmodel.cpp
> M +14 -38 lib/interfaces/kdevitemmodel.h
> M +11 -3 lib/interfaces/kdevlanguagesupport.cpp
> M +38 -75 lib/interfaces/kdevlanguagesupport.h
> M +0 -10 lib/interfaces/kdevplugin.cpp
> M +0 -8 lib/interfaces/kdevplugin.h
> A lib/interfaces/kdevsharedptr.h [License: LGPL (v2)]
> M +2 -13 parts/Makefile.am
> D parts/classview (directory)
> A parts/codeview (directory)
> A parts/codeview/Makefile.am
> A parts/codeview/README
> A parts/codeview/kdevcodeview.cpp [License: LGPL (v2+)]
> A parts/codeview/kdevcodeview.desktop
> A parts/codeview/kdevcodeview.h [License: LGPL (v2+)]
> A parts/codeview/kdevcodeview.rc
> A parts/codeview/kdevcodeview_part.cpp [License: LGPL (v2+)]
> A parts/codeview/kdevcodeview_part.h [License: LGPL (v2+)]
> M +22 -21 parts/documentview/kdevdocumentview_part.cpp
> M +11 -5 pics/mini/Makefile.am
> AM pics/mini/class.png
> AM pics/mini/enum.png
> AM pics/mini/field.png
> AM pics/mini/function.png
> AM pics/mini/namespace.png
> AM pics/mini/private_class.png
> AM pics/mini/private_enum.png
> AM pics/mini/private_field.png
> AM pics/mini/private_function.png
> AM pics/mini/private_struct.png
> AM pics/mini/private_union.png
> AM pics/mini/protected_class.png
> AM pics/mini/protected_enum.png
> AM pics/mini/protected_field.png
> AM pics/mini/protected_function.png
> AM pics/mini/protected_struct.png
> AM pics/mini/protected_union.png
> AM pics/mini/signal.png
> AM pics/mini/slot.png
> AM pics/mini/struct.png
> AM pics/mini/typedef.png
> AM pics/mini/union.png
> M +2 -1 src/Makefile.am
> M +0 -9 src/api.cpp
> M +0 -4 src/api.h
> M +1 -1 src/documentcontroller.cpp
> M +4 -4 src/profileengine/lib/profileengine.cpp
>
>
>
> _______________________________________________
> KDevelop-devel mailing list
> KDevelop-devel at barney.cs.uni-potsdam.de
> http://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
More information about the KDevelop-devel
mailing list