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