Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which Projects are potentially painful to maintain (i.e concrete and stable) and which Projects are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

The list contains only code elements refactored or added since the baseline for comparison.

The setting Recent Violations Only is enabled

Why should I enable the setting Recent Violations Only ?

Quick Tips

Main
Main \ Rules
Main \ Rules \ Code Quality
Main \ Rules \ Dead Code
Main \ Rules \ Naming Conventions
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Diff Summary
Main \ Group of Queries \ Dead Code
Main \ Metrics \ Application Statistics
Main \ Metrics \ Projects Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Projects Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Trend Charts
vbdepend report summary application nameVBDependDemoreport build date11/17/2013 21:54:51analysis duration00:00:28vbdepend version 3.0.0.5600 (Evaluation: 14 days left)baseline for comparison Not Defined. To define a Baseline for Comparison, please read this online documentation.
Get started.Quick tips.Back to VBDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the VBDepend interactive UI capabilities
to make the most of VBDepend by mastering all aspects of your code.

Diagrams

C/C++ Projects Dependency Graph
Dependency Graph
View as ?fullscaled
C/C++ Projects Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability
View as ?fullscaled

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
17 527      
0 (NotMyCode)
# Types
208      
10   Projects      
17   Forms      
10   Modules      
3   User Controls      
1 619   Methods      
2 604   Fields      
56   Source Files      
Comment
15.34%      
3 177   Lines of Comment      
Method Complexity
81   Max      
3.82   Average      
Type Complexity
527   Max      
74.96   Average      
Third-Party Usage
21   Projects used      
62   Types used      
773   Methods used      
131   Fields used      

Rules summary

12160This section lists all Rules violated, and Rules or Queries with Error
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 16

Summary of Rules violated

graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp VBDepend rules report too many flaws
on existing code base? Use the option
Recent Violations Only!
warningCritical Some Critical Rules are violated. Critical Rules
can be used to break the build process if
violated. Online documentation.
Name # Matches Elements Group
warningCritical   Types too big - critical
6 typesCode Quality
warningCritical   Methods too complex - critical
24 methodsCode Quality
warning   Quick summary of methods to refactor
1266 methodsCode Quality
warning   Methods too big
135 methodsCode Quality
warning   Methods too complex
1266 methodsCode Quality
warning   Methods potentially poorly commented
169 methodsCode Quality
warning   Types with too many methods
19 typesCode Quality
warning   Types with too many fields
22 typesCode Quality
warning   Types with poor cohesion
20 typesCode Quality
warning   Potentially dead Types
176 typesDead Code
warning   Potentially dead Methods
630 methodsDead Code
warning   Potentially dead Fields
625 fieldsDead Code
warning   fields should begin with a Lower character
10 fieldsNaming Conventions
warning   Types name should begin with an Upper character
10 typesNaming Conventions
warning   Avoid types with name too long
3 typesNaming Conventions
warning   Avoid methods with name too long
1 methodsNaming Conventions

Application Statistics

Stat # Occurences Avg StdDev Max
Public properties on classes 24 Classes 7.469.3945 public properties on cCTreeViewNode
Public methods on classes 24 classes 16.3317.4484 public methods on cCTreeViewNode
Arguments on public methods on classes 392 methods 000 arguments on cVBALSysImageList.Get_SystemColourDepth()
Cyclomatic complexity on non abstract Methods 1,619 Methods 00 CC = 0 for frmMultiColumn.setUpColumns()

Projects Metrics

If you wish to define thresholds on Projects' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Projects # lines of code # Types # Abstract Types # lines of comment% CommentAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
vbalCTreeViewLib v1.0.0.05742670846121241.480.9600.03
pMultiColumnTree v1.0.0.029216046130150.56100
FroggerExtreme v1.0.0.029520159350101.5100
FroggerExtreme v1.0.0.031120159330101.5100
vbalExplorerBarLib v1.0.0.04867650787133301.20.9100.06
TestExplorerBar v1.0.0.0663405880201.75100
vbalAVI v1.0.0.05591103924111010.9100.06
TestTransAVI v1.0.0.0525290142210210.72100
SimpleObjectBrowser v1.0.0.099413827011110.250.18
DoctorNoteBook v1.0.0.0417481550110221.1210.120.09

Types Metrics : Code Quality

For a particular Code Metric defined for types, values in red represent the 15% highest values.
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Type Name Type Rank# Lines Of Code# Lines Of Comment% CommentCyclomatic ComplexityAfferent CouplingEfferent Coupling Type Namespace
NMHDR16.4800110000-90
TestTransAVI_NMHDR8.7500110000-40
vbalExplorerBarCtl6.97273137162719.035270-939
vbalCTreeViewLib_NMHDR5.94000-00-40
vbalColumnTreeView5.662863421136911.424830-755
vbalCTreeViewLib_POINTAPI5.1009910000-40
mUtility4.55180268199.55220-717
NMLOGFONT3.500810000-20
vbalAVI_RECT3.37000-00-20
NMCUSTOMDRAW3.2000-00-22
TVITEMEX3.2000-00-20
RECT3.1700110000-20
vbalCTreeViewLib_RECT3.14000-00-20
SAFEARRAYBOUND3.06001910000-10
vbalCTreeViewLib_POINTAPI3.05000-00-20
vbalCTreeViewLib_RECT2.98000-00-20
vbalExplorerBarLib_SAFEARRAYBOUND2.95000-00-10
TVITEM_textptr2.7100110000-30
mIMalloc2.6560971520140-66
TVITEM2.62000-00-30
pcExplorerBar2.33195281146.7370-410
cExplorerBar1.9726938162.18430-55
BITMAPINFOHEADER1.74000-00-20
RGBQUAD1.74000-00-20
TestTransAVI_RECT1.7000-00-20
HDITEMW1.65000-00-20
HDITEMA1.65000-00-20
clsTest21.65--0-0--10
POINTL1.600110000-10
cExplorerBarItem1.5624332410.41420-58
pcExplorerBarItem1.33263313.740-35
cCTreeViewNode1.0444768730.67970-310
cExplorerBarItems1.0248750060-16
vbalAVI_BITMAP0.9000-00-10
pcAlphaDibSection0.843395334411.49450-225
FroggerExtreme_Frm_Main0.7629548014633.11690-111
Frm_Main0.7627946014634.35690-111
mMain0.7511220010-33
EAcceleratorFlagConstants0.75--0-0--10
ACCEL0.75006310000-10
cCTreeViewColumn0.7647900130-26
Module10.710110050-32
vbalCTreeViewLib_RECT0.65000-00-10
vbalCTreeViewLib_POINTAPI0.65000-00-10
cCTreeViewNodeSubItem0.6441490080-25
cCTreeViewNodes0.649512911.04190-28
EAVIPAppearanceConstants0.6--0-0--10
cAVICtrl0.638188738950.52490-114
EAVIPBorderStyleConstants0.6--0-0--10
frmCashVoucher0.5910371341948.312860-116
frmForm3C0.591631222526914.164170-117
frmPatient0.594236629318.02950-117
frmIndoor0.5910621365948.132870-118
vbalAVIPlayer0.5512820032.29140-17
cCommonDialog0.5549183113821.94730-129
cVBALSysImageList0.51903304519.15260-114
frmMenu0.54120000-17
vbalExplorerBarLib_EFSStyleConstants0.48--0-0--10
vbalExplorerBarLib_SCROLLINFO0.4800110000-10
vbalExplorerBarLib_EFSScrollBarConstants0.48--0-0--10
FroggerExtreme_Frm_Title0.4516431344.8300-15
Frm_Title0.4516401344.8300-15
CNCMetricsFontTypes0.45--0-0--10
vbalExplorerBarLib_LOGFONT0.4500110000-10
NONCLIENTMETRICS0.45000-00-11
EFSScrollBarConstants0.44--0-0--10
EFSStyleConstants0.44--0-0--10
SCROLLINFO0.4400110000-10
pcImageListDrag0.39568623.4580-26
clsTest0.384110000-12
TAVISTREAMINFO0.38000-00-11
pcMemDC0.3850680060-14
vbalAVI_BITMAPINFOHEADER0.38000-00-10
vbalAVI_WINDOWPOS0.38000-00-10
Guid0.37000-00-10
LOGFONT0.37000-00-10
SHFILEINFO0.37000-00-10
PictDesc0.37000-00-10
BLENDFUNCTION0.37000-00-10
vbalExplorerBarLib_POINTAPI0.370010410000-10
vbalExplorerBarLib_SIZEAPI0.37000-00-10
vbalExplorerBarLib_BITMAP0.37000-00-10
pcNCMetrics0.3712217143.17260-110
IOleControl_vtable_Indexes0.37--0-0--10
pcMnemonics0.378514966.59140-15
mIOleControl0.37741393431.48150-14
pcScrollBars0.37262366176.09440-19
mIOleInPlaceActiveObject0.37621001923.4670-16
mColouriseGlyph0.372033116123.11270-15
EExplorerBarStyles0.37--0-0--10
GradientFillRectType0.37--0-0--10
cExplorerBars0.3728530060-13
frmMediaSearch0.311993163715.68410-113
frmTestSearchBar0.31214318208.55330-114
NMCHAR0.29000-00-11
DLLVERSIONINFO0.29000-00-10
NMTREEVIEW_textptr0.29000-00-13
ETreeViewStyleConstants0.29--0-0--10
ETreeViewBorderStyle0.29--0-0--10
ETreeViewLineStyleConstants0.29--0-0--10
TVKEYDOWN0.29000-00-11
TVSORTCB0.29000-00-10
cHeaderControl0.291682229421611.383290-128
mTreeViewIOLEIPAO0.29621011923.4670-16
ETreeViewDragInsertStyle0.29--0-0--10
ETreeViewChildrenSortMode0.29--0-0--10
ETreeViewSortResult0.29--0-0--10
TVDISPINFO_ptr0.29000-00-12
cScrollBars0.29288403206.49530-110
NMTVGETINFOTIP0.29000-00-11
tTreeViewInfoStore0.2900110000-10
cSubItems0.29455500140-11
cCTreeViewColumns0.2939580080-17
NMTVCUSTOMDRAW0.29000-00-11
TVINSERTSTRUCT0.29000-00-11
TVHITTESTINFO0.29000-00-11
vbalExplorerBarLib_BLENDFUNCTION0.29000-00-10
vbalExplorerBarLib_BITMAP0.29000-00-10
vbalExplorerBarLib_PictDesc0.29000-00-10
vbalExplorerBarLib_Guid0.29000-00-10
SAFEARRAY2D0.29000-00-11
BITMAPFILEHEADER0.29000-00-10
BITMAPINFO0.29000-00-12
TCHOOSEFONT0.26000-00-10
TPAGESETUPDLG0.26000-00-12
TCHOOSECOLOR0.26000-00-10
OFNOTIFYshort0.26000-00-11
TestTransAVI_LOGFONT0.26000-00-10
OPENFILENAME0.26000-00-10
EPaperSize0.26--0-0--10
EPageSetupUnits0.26--0-0--10
EPrintQuality0.26--0-0--10
DevMode0.26000-00-10
EOrientation0.26--0-0--10
TPRINTDLG0.26000-00-10
HDTEXTFILTER0.25000-00-10
vbalCTreeViewLib_LOGFONT0.25000-00-10
EHdrSortBitmapTypes0.25--0-0--10
tGroupCol0.2500110000-11
NMHEADER0.2500110000-11
EHdrTextAlign0.25--0-0--10
WINDOWPOS0.25000-00-10
HDLAYOUT0.25000-00-10
frmSplash0.157110000-08
frmTree0.15941863728.24220-012
frmMain0.15--0-0--00
modMain0.151515000-02
vbalAVI_BITMAP0.15000-00-00
OFNOTIFY0.1500110000-01
EChooseFont0.15--0-0--00
EFontType0.15--0-0--00
EPrintRange0.15--0-0--00
EPrintDialog0.15--0-0--00
EDialogError0.15--0-0--00
EPageSetup0.15--0-0--00
OFNOTIFYEX0.1500110000-01
EErrorCommonDialog0.15--0-0--00
EChooseColor0.15--0-0--00
EOpenFile0.15--0-0--00
DEVNAMES0.15000-00-00
ETreeViewHitTestConstants0.15--0-0--00
GUID0.15001710000-00
IPAOHookStruct0.15000-00-01
NMTREEVIEW0.15000-00-03
TVDISPINFO0.15000-00-02
ETreeViewRelationshipContants0.15--0-0--00
OSVERSIONINFO0.15007710000-00
EFSOrientationConstants0.15--0-0--00
frmTestExplorerBar0.1523933010.42310-017
HD_HITTESTINFO0.15000-00-01
HDNOITFYA0.15000-00-02
HDNOITFYW0.15000-00-02
DRAWTEXTPARAMS0.15000-00-00
IMAGEINFO0.15000-00-01
POINTAPI0.15000-00-00
frmMultiColumn0.15991370020-08
EItemIconTypes0.15--0-0--00
BITMAP0.15000-00-00
mMain0.15350000-02
DWORD0.1500210000-00
ICCEx0.15000-00-00
SIZEAPI0.15000-00-00
EShellGetFileInfoConstants0.15--0-0--00
esilColourDepth0.15--0-0--00
GRADIENT_TRIANGLE0.15000-00-00
vbalExplorerBarLib_BITMAP0.15000-00-00
SystemMetricsIndexConstants0.15--0-0--00
vbalExplorerBarLib_OSVERSIONINFO0.15000-00-00
TRIVERTEX0.15000-00-00
GRADIENT_RECT0.15000-00-00
vbalExplorerBarLib_IPAOHookStruct0.15000-00-01
vbalExplorerBarLib_SAFEARRAY2D0.15000-00-01
frmAVITest0.1534560040-07
CNCMetricsFontWeightConstants0.15--0-0--00
ControlPtrLookup0.15000-00-00
vbalExplorerBarLib_GUID0.15001710000-00
EExplorerBarParts0.15--0-0--00
EExplorerBarItemTypes0.15--0-0--00
EExplorerBarStates0.15--0-0--00
DrawTextFlags0.15--0-0--00
DrawEdgeBorderFlags0.15--0-0--00
DrawEdgeBorderPartFlags0.15--0-0--00
vbalExplorerBarLib_OSVERSIONINFO0.15007710000-00
vbalExplorerBarLib_EFSOrientationConstants0.15--0-0--00
vbalExplorerBarLib_RECT0.15000-00-00
EExplorerBarWatermarkModes0.15--0-0--00
EExplorerBarWatermarkHAlign0.15--0-0--00
EExplorerBarWatermarkVAlign0.15--0-0--00

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace
NMHDR1003--
TestTransAVI_NMHDR1003--
vbalExplorerBarCtl1000-96--
vbalCTreeViewLib_NMHDR1003--
vbalColumnTreeView2740-330--
vbalCTreeViewLib_POINTAPI1002--
mUtility160-9--
NMLOGFONT10014--
vbalAVI_RECT1004--
NMCUSTOMDRAW1006--
TVITEMEX10011--
RECT1004--
vbalCTreeViewLib_RECT1004--
SAFEARRAYBOUND1002--
vbalCTreeViewLib_POINTAPI1002--
vbalCTreeViewLib_RECT1004--
vbalExplorerBarLib_SAFEARRAYBOUND1002--
TVITEM_textptr10010--
mIMalloc50-5--
TVITEM10010--
pcExplorerBar17064000
cExplorerBar47040200
BITMAPINFOHEADER10011--
RGBQUAD1004--
TestTransAVI_RECT1004--
HDITEMW10011--
HDITEMA10011--
clsTest2100100
POINTL1002--
cExplorerBarItem36029300
pcExplorerBarItem3002300
cCTreeViewNode89074300
cExplorerBarItems803200
vbalAVI_BITMAP1007--
pcAlphaDibSection28083600
FroggerExtreme_Frm_Main330-79--
Frm_Main310-73--
mMain40-4--
EAcceleratorFlagConstants------
ACCEL1003--
cCTreeViewColumn1209300
Module110-1--
vbalCTreeViewLib_RECT1004--
vbalCTreeViewLib_POINTAPI1002--
cCTreeViewNodeSubItem704300
cCTreeViewNodes1003200
EAVIPAppearanceConstants------
cAVICtrl550236700
EAVIPBorderStyleConstants------
frmCashVoucher600-84--
frmForm3C920-139--
frmPatient360-57--
frmIndoor600-85--
vbalAVIPlayer390-27--
cCommonDialog24053200
cVBALSysImageList190913100
frmMenu50-5--
vbalExplorerBarLib_EFSStyleConstants------
vbalExplorerBarLib_SCROLLINFO1007--
vbalExplorerBarLib_EFSScrollBarConstants------
FroggerExtreme_Frm_Title90-5--
Frm_Title80-5--
CNCMetricsFontTypes------
vbalExplorerBarLib_LOGFONT10014--
NONCLIENTMETRICS10015--
EFSScrollBarConstants------
EFSStyleConstants------
SCROLLINFO1007--
pcImageListDrag1003600
clsTest300400
TAVISTREAMINFO10018--
pcMemDC1005500
vbalAVI_BITMAPINFOHEADER10011--
vbalAVI_WINDOWPOS1007--
Guid1004--
LOGFONT10014--
SHFILEINFO1005--
PictDesc1005--
BLENDFUNCTION1004--
vbalExplorerBarLib_POINTAPI1002--
vbalExplorerBarLib_SIZEAPI1002--
vbalExplorerBarLib_BITMAP1007--
pcNCMetrics190121000
IOleControl_vtable_Indexes------
pcMnemonics1607500
mIOleControl80-2--
pcScrollBars320217700
mIOleInPlaceActiveObject130-6--
mColouriseGlyph60-0--
EExplorerBarStyles------
GradientFillRectType------
cExplorerBars803100
frmMediaSearch150-16--
frmTestSearchBar140-28--
NMCHAR1004--
DLLVERSIONINFO1005--
NMTREEVIEW_textptr1005--
ETreeViewStyleConstants------
ETreeViewBorderStyle------
ETreeViewLineStyleConstants------
TVKEYDOWN1004--
TVSORTCB1003--
cHeaderControl10806831600
mTreeViewIOLEIPAO130-6--
ETreeViewDragInsertStyle------
ETreeViewChildrenSortMode------
ETreeViewSortResult------
TVDISPINFO_ptr1002--
cScrollBars330217700
NMTVGETINFOTIP1005--
tTreeViewInfoStore10029--
cSubItems705300
cCTreeViewColumns802100
NMTVCUSTOMDRAW1004--
TVINSERTSTRUCT1003--
TVHITTESTINFO1003--
vbalExplorerBarLib_BLENDFUNCTION1004--
vbalExplorerBarLib_BITMAP1007--
vbalExplorerBarLib_PictDesc1005--
vbalExplorerBarLib_Guid1004--
SAFEARRAY2D1006--
BITMAPFILEHEADER1005--
BITMAPINFO1002--
TCHOOSEFONT10015--
TPAGESETUPDLG10014--
TCHOOSECOLOR1009--
OFNOTIFYshort1002--
TestTransAVI_LOGFONT10014--
OPENFILENAME10020--
EPaperSize------
EPageSetupUnits------
EPrintQuality------
DevMode10026--
EOrientation------
TPRINTDLG10019--
HDTEXTFILTER1002--
vbalCTreeViewLib_LOGFONT10013--
EHdrSortBitmapTypes------
tGroupCol1008--
NMHEADER1004--
EHdrTextAlign------
WINDOWPOS1007--
HDLAYOUT1002--
frmSplash30-4--
frmTree80-5--
frmMain1000--
modMain10-0--
vbalAVI_BITMAP1007--
OFNOTIFY1003--
EChooseFont------
EFontType------
EPrintRange------
EPrintDialog------
EDialogError------
EPageSetup------
OFNOTIFYEX1004--
EErrorCommonDialog------
EChooseColor------
EOpenFile------
DEVNAMES1004--
ETreeViewHitTestConstants------
GUID1004--
IPAOHookStruct1004--
NMTREEVIEW1005--
TVDISPINFO1002--
ETreeViewRelationshipContants------
OSVERSIONINFO1006--
EFSOrientationConstants------
frmTestExplorerBar280-23--
HD_HITTESTINFO1003--
HDNOITFYA1004--
HDNOITFYW1004--
DRAWTEXTPARAMS1005--
IMAGEINFO1005--
POINTAPI1002--
frmMultiColumn110-3--
EItemIconTypes------
BITMAP1007--
mMain10-0--
DWORD1002--
ICCEx1002--
SIZEAPI1002--
EShellGetFileInfoConstants------
esilColourDepth------
GRADIENT_TRIANGLE1003--
vbalExplorerBarLib_BITMAP1007--
SystemMetricsIndexConstants------
vbalExplorerBarLib_OSVERSIONINFO1006--
TRIVERTEX1006--
GRADIENT_RECT1002--
vbalExplorerBarLib_IPAOHookStruct1004--
vbalExplorerBarLib_SAFEARRAY2D1006--
frmAVITest110-9--
CNCMetricsFontWeightConstants------
ControlPtrLookup1002--
vbalExplorerBarLib_GUID1004--
EExplorerBarParts------
EExplorerBarItemTypes------
EExplorerBarStates------
DrawTextFlags------
DrawEdgeBorderFlags------
DrawEdgeBorderPartFlags------
vbalExplorerBarLib_OSVERSIONINFO1006--
vbalExplorerBarLib_EFSOrientationConstants------
vbalExplorerBarLib_RECT1004--
EExplorerBarWatermarkModes------
EExplorerBarWatermarkHAlign------
EExplorerBarWatermarkVAlign------

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Type Name Lack Of Cohesion Of MethodsLack Of Cohesion Of Methods HSAssociation Between Classes Type Namespace
NMHDR100
TestTransAVI_NMHDR100
vbalExplorerBarCtl0.970.98174
vbalCTreeViewLib_NMHDR100
vbalColumnTreeView0.991199
vbalCTreeViewLib_POINTAPI100
mUtility0.930.9942
NMLOGFONT100
vbalAVI_RECT100
NMCUSTOMDRAW100
TVITEMEX100
RECT100
vbalCTreeViewLib_RECT100
SAFEARRAYBOUND100
vbalCTreeViewLib_POINTAPI100
vbalCTreeViewLib_RECT100
vbalExplorerBarLib_SAFEARRAYBOUND100
TVITEM_textptr100
mIMalloc0.881.18
TVITEM100
pcExplorerBar0.920.9826
cExplorerBar0.110.1129
BITMAPINFOHEADER100
RGBQUAD100
TestTransAVI_RECT100
HDITEMW100
HDITEMA100
clsTest2--0
POINTL100
cExplorerBarItem0.420.4324
pcExplorerBarItem0.91.357
cCTreeViewNode0.720.7324
cExplorerBarItems0.120.1410
vbalAVI_BITMAP100
pcAlphaDibSection0.950.9959
FroggerExtreme_Frm_Main0.950.9833
Frm_Main0.950.9832
mMain0.881.173
EAcceleratorFlagConstants--0
ACCEL100
cCTreeViewColumn0.610.676
Module1103
vbalCTreeViewLib_RECT100
vbalCTreeViewLib_POINTAPI100
cCTreeViewNodeSubItem0.380.445
cCTreeViewNodes0.550.6117
EAVIPAppearanceConstants--0
cAVICtrl0.970.9836
EAVIPBorderStyleConstants--0
frmCashVoucher0.920.9343
frmForm3C0.950.9659
frmPatient0.910.9443
frmIndoor0.920.9344
vbalAVIPlayer0.950.9816
cCommonDialog0.950.9991
cVBALSysImageList0.991.0432
frmMenu11.252
vbalExplorerBarLib_EFSStyleConstants--0
vbalExplorerBarLib_SCROLLINFO100
vbalExplorerBarLib_EFSScrollBarConstants--0
FroggerExtreme_Frm_Title0.730.825
Frm_Title0.70.85
CNCMetricsFontTypes--0
vbalExplorerBarLib_LOGFONT100
NONCLIENTMETRICS100
EFSScrollBarConstants--0
EFSStyleConstants--0
SCROLLINFO100
pcImageListDrag0.780.878
clsTest0.921.381
TAVISTREAMINFO100
pcMemDC0.70.7812
vbalAVI_BITMAPINFOHEADER100
vbalAVI_WINDOWPOS100
Guid100
LOGFONT100
SHFILEINFO100
PictDesc100
BLENDFUNCTION100
vbalExplorerBarLib_POINTAPI100
vbalExplorerBarLib_SIZEAPI100
vbalExplorerBarLib_BITMAP100
pcNCMetrics0.880.9325
IOleControl_vtable_Indexes--0
pcMnemonics0.710.7610
mIOleControl0.620.716
pcScrollBars0.97119
mIOleInPlaceActiveObject0.941.0110
mColouriseGlyph008
EExplorerBarStyles--0
GradientFillRectType--0
cExplorerBars0.120.146
frmMediaSearch0.870.9343
frmTestSearchBar0.870.9417
NMCHAR100
DLLVERSIONINFO100
NMTREEVIEW_textptr100
ETreeViewStyleConstants--0
ETreeViewBorderStyle--0
ETreeViewLineStyleConstants--0
TVKEYDOWN100
TVSORTCB100
cHeaderControl0.991131
mTreeViewIOLEIPAO0.941.0110
ETreeViewDragInsertStyle--0
ETreeViewChildrenSortMode--0
ETreeViewSortResult--0
TVDISPINFO_ptr100
cScrollBars0.97120
NMTVGETINFOTIP100
tTreeViewInfoStore100
cSubItems0.330.390
cCTreeViewColumns0.750.8610
NMTVCUSTOMDRAW100
TVINSERTSTRUCT100
TVHITTESTINFO100
vbalExplorerBarLib_BLENDFUNCTION100
vbalExplorerBarLib_BITMAP100
vbalExplorerBarLib_PictDesc100
vbalExplorerBarLib_Guid100
SAFEARRAY2D100
BITMAPFILEHEADER100
BITMAPINFO100
TCHOOSEFONT100
TPAGESETUPDLG100
TCHOOSECOLOR100
OFNOTIFYshort100
TestTransAVI_LOGFONT100
OPENFILENAME100
EPaperSize--0
EPageSetupUnits--0
EPrintQuality--0
DevMode100
EOrientation--0
TPRINTDLG100
HDTEXTFILTER100
vbalCTreeViewLib_LOGFONT100
EHdrSortBitmapTypes--0
tGroupCol100
NMHEADER100
EHdrTextAlign--0
WINDOWPOS100
HDLAYOUT100
frmSplash11.54
frmTree0.680.7721
frmMain--0
modMain001
vbalAVI_BITMAP100
OFNOTIFY100
EChooseFont--0
EFontType--0
EPrintRange--0
EPrintDialog--0
EDialogError--0
EPageSetup--0
OFNOTIFYEX100
EErrorCommonDialog--0
EChooseColor--0
EOpenFile--0
DEVNAMES100
ETreeViewHitTestConstants--0
GUID100
IPAOHookStruct100
NMTREEVIEW100
TVDISPINFO100
ETreeViewRelationshipContants--0
OSVERSIONINFO100
EFSOrientationConstants--0
frmTestExplorerBar0.97127
HD_HITTESTINFO100
HDNOITFYA100
HDNOITFYW100
DRAWTEXTPARAMS100
IMAGEINFO100
POINTAPI100
frmMultiColumn0.790.8711
EItemIconTypes--0
BITMAP100
mMain002
DWORD100
ICCEx100
SIZEAPI100
EShellGetFileInfoConstants--0
esilColourDepth--0
GRADIENT_TRIANGLE100
vbalExplorerBarLib_BITMAP100
SystemMetricsIndexConstants--0
vbalExplorerBarLib_OSVERSIONINFO100
TRIVERTEX100
GRADIENT_RECT100
vbalExplorerBarLib_IPAOHookStruct100
vbalExplorerBarLib_SAFEARRAY2D100
frmAVITest0.840.9212
CNCMetricsFontWeightConstants--0
ControlPtrLookup100
vbalExplorerBarLib_GUID100
EExplorerBarParts--0
EExplorerBarItemTypes--0
EExplorerBarStates--0
DrawTextFlags--0
DrawEdgeBorderFlags--0
DrawEdgeBorderPartFlags--0
vbalExplorerBarLib_OSVERSIONINFO100
vbalExplorerBarLib_EFSOrientationConstants--0
vbalExplorerBarLib_RECT100
EExplorerBarWatermarkModes--0
EExplorerBarWatermarkHAlign--0
EExplorerBarWatermarkVAlign--0

290
Code Quality  

warningCritical    Critical Rule warning: Types too big - critical
// <Name>Types too big - critical</Name>
warnif count > 0 from t in JustMyCode.Types where 
   
t.NbLinesOfCode > 500 && !t.IsGlobal
   
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode,
                
t.NbMethods, t.NbFields }

// Types where NbLinesOfCode > 500 are extremely complex 
// and should be split in a smaller group of types. 
// See the definition of the NbLinesOfCode metric here 
// http://www.vbdepend.com/Metrics.aspx#NbLinesOfCode

6 types matched

types# lines of code (LOC)# Methods# FieldsFull Name
vbalColumnTreeView2 863274330vbalColumnTreeView
vbalExplorerBarCtl2 73110096vbalExplorerBarCtl
cHeaderControl1 682108316cHeaderControl
frmForm3C1 63192139frmForm3C
frmIndoor1 0626085frmIndoor
frmCashVoucher1 0376084frmCashVoucher

Statistics

Stat   # lines of code (LOC)   # Methods   # Fields
Sum:11 0066941 050
Average:1 834115.67175
Minimum:1 0376084
Maximum:2 863274330
Standard deviation:725.673.18106.32
Variance:526 4925 35511 304
warningCritical    Critical Rule warning: Methods too complex - critical
// <Name>Methods too complex - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 
  
orderby m.CyclomaticComplexity descending
select new { m, m.CyclomaticComplexity }

// Methods with CyclomaticComplexity > 20 
// are really too complex and should be split 
// in smaller methods, or even types.
// See the definition of the CyclomaticComplexity metric here 
// http://www.vbdepend.com/Metrics.aspx#CC

24 methods matched

methodsCyclomatic Complexity (CC)Full Name
pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)81vbalExplorerBarCtl.pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)
ISubclass_WindowProc(Long,Long,Long,Long)66vbalColumnTreeView.ISubclass_WindowProc(Long,Long,Long,Long)
pFindNextItem(Long,Long,Long,Boolean)58vbalExplorerBarCtl.pFindNextItem(Long,Long,Long,Boolean)
FILL_FORM2()41frmForm3C.FILL_FORM2()
Fill_Form()41frmForm3C.Fill_Form()
Fill_Form()40frmIndoor.Fill_Form()
Fill_Form()40frmCashVoucher.Fill_Form()
Check_Form()35frmIndoor.Check_Form()
Check_Form()35frmCashVoucher.Check_Form()
Fetch_Parent_Fields()32frmForm3C.Fetch_Parent_Fields()
Fetch_Parent_Fields()32frmIndoor.Fetch_Parent_Fields()
Fetch_Parent_Fields()32frmCashVoucher.Fetch_Parent_Fields()
Fill_Labels()29frmForm3C.Fill_Labels()
Clear_Form()27frmForm3C.Clear_Form()
pKeyDown(Integer,Integer)26vbalExplorerBarCtl.pKeyDown(Integer,Integer)
Fill_Labels()26frmIndoor.Fill_Labels()
Fill_Labels()26frmCashVoucher.Fill_Labels()
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)25vbalColumnTreeView.UserControl_OLEDragOver(DataObject,Long,Integer ,Integer,Single,Single,Integer)
ISubclass_WindowProc(Long,Long,Long,Long)25cHeaderControl.ISubclass_WindowProc(Long,Long,Long,Long)
Clear_Form()25frmIndoor.Clear_Form()
Clear_Form()25frmCashVoucher.Clear_Form()
ISubclass_WindowProc(Long,Long,Long,Long)22cScrollBars.ISubclass_WindowProc(Long,Long,Long,Long)
ISubclass_WindowProc(Long,Long,Long,Long)22pcScrollBars.ISubclass_WindowProc(Long,Long,Long,Long)
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)21cHeaderControl.UserControl_OLEDragOver(DataObject,Long,Integer,Integer ,Single,Single,Integer)

Statistics

Stat   Cyclomatic Complexity (CC)
Sum:832
Average:34.67
Minimum:21
Maximum:81
Standard deviation:14.48
Variance:209.56
warningCritical    Rule warning: Quick summary of methods to refactor
// <Name>Quick summary of methods to refactor</Name>
warnif count > 0 from m in JustMyCode.Methods where 
                                    
// Code Metrics' definitions
  m.NbLinesOfCode > 30 ||           // http://www.vbdepend.com/Metrics.aspx#NbLinesOfCode
  m.MaxNestedLoop > 3 ||       // http://www.vbdepend.com/Metrics.aspx#NbILInstructions
  m.CyclomaticComplexity > 20 ||    // http://www.vbdepend.com/Metrics.aspx#CC
  m.NbParameters > 5              // http://www.vbdepend.com/Metrics.aspx#NbParameters

select new { m, m.NbLinesOfCode, m.MaxNestedLoop, m.CyclomaticComplexity, 
              
             
m.NbParameters } 

1,266 methods matched

methods# lines of code (LOC)MaxNestedLoopCyclomatic Complexity (CC)# ParametersFull Name
hItemFromDragData(DataObject,Long)334360vbalColumnTreeView.hItemFromDragData(DataObject,Long)
recurseDuplicateAndMoveNode(Long,Long,ETreeViewRelationshipContants ,String)213910vbalColumnTreeView.recurseDuplicateAndMoveNode(Long,Long ,ETreeViewRelationshipContants,String)
getSubItems(Long,Long)192920vbalColumnTreeView.getSubItems(Long,Long)
pSetFont(Long,IFont)172130vbalColumnTreeView.pSetFont(Long,IFont)
plAddFont(IFont)233180vbalColumnTreeView.plAddFont(IFont)
OnDoubleClick(Long)171940vbalColumnTreeView.OnDoubleClick(Long)
OnCheckStateChanged(Long)111530vbalColumnTreeView.OnCheckStateChanged(Long)
OnClick()3710vbalColumnTreeView.OnClick()
OnBeginDrag(Long)111630vbalColumnTreeView.OnBeginDrag(Long)
OnNodeClick(Long)111530vbalColumnTreeView.OnNodeClick(Long)
OnRightClick(POINTAPI,Long)131430vbalColumnTreeView.OnRightClick(POINTAPI,Long)
OnBeforeLabelEdit(Long,Boolean)121630vbalColumnTreeView.OnBeforeLabelEdit(Long,Boolean)
OnAfterLabelEdit(Long,String,Boolean)121630vbalColumnTreeView.OnAfterLabelEdit(Long,String,Boolean)
OnItemExpand(Long,Long)162040vbalColumnTreeView.OnItemExpand(Long,Long)
OnItemExpanding(Long,Long,Boolean)162140vbalColumnTreeView.OnItemExpanding(Long,Long,Boolean)
OnKeyDown(Integer)5910vbalColumnTreeView.OnKeyDown(Integer)
OnKeyPress(Long)5910vbalColumnTreeView.OnKeyPress(Long)
OnSelChanged()3710vbalColumnTreeView.OnSelChanged()
OnSelChanging()0500vbalColumnTreeView.OnSelChanging()
OnSingleExpand(Long,Long)0500vbalColumnTreeView.OnSingleExpand(Long,Long)
OnMouseDown(Long)131710vbalColumnTreeView.OnMouseDown(Long)
OnMouseMove()131710vbalColumnTreeView.OnMouseMove()
OnMouseUp(Long)131710vbalColumnTreeView.OnMouseUp(Long)
pButton(Long)171970vbalColumnTreeView.pButton(Long)
pShiftState()111330vbalColumnTreeView.pShiftState()
pDeleteItem(Long)243020vbalColumnTreeView.pDeleteItem(Long)
pbGetItemInfo(Long,tTreeViewInfoStore,Long)7810vbalColumnTreeView.pbGetItemInfo(Long,tTreeViewInfoStore,Long)
pbPutItemInfo(tTreeViewInfoStore,Long)7820vbalColumnTreeView.pbPutItemInfo(tTreeViewInfoStore,Long)
pbIsState(Long,Boolean)51110vbalColumnTreeView.pbIsState(Long,Boolean)
pSetState(Long,Long,Boolean,Boolean)121420vbalColumnTreeView.pSetState(Long,Long,Boolean,Boolean)
pGetStyle(Long,Long)101400vbalColumnTreeView.pGetStyle(Long,Long)
pSetIStyle(Long,Long,String)6800vbalColumnTreeView.pSetIStyle(Long,Long,String)
plSelectedTreeViewStyles()3951150vbalColumnTreeView.plSelectedTreeViewStyles()
TranslateColor(OLE_COLOR,Long)3710vbalColumnTreeView.TranslateColor(OLE_COLOR,Long)
pSetStyles()131810vbalColumnTreeView.pSetStyles()
pInitialize()10014760vbalColumnTreeView.pInitialize()
pTerminate()477070vbalColumnTreeView.pTerminate()
ComCtlVersion(Long,Long,Long)233830vbalColumnTreeView.ComCtlVersion(Long,Long,Long)
CustomDraw(Long)447560vbalColumnTreeView.CustomDraw(Long)
CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW,tTreeViewInfoStore)75104100vbalColumnTreeView.CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW ,tTreeViewInfoStore)
CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW,tTreeViewInfoStore)81106180vbalColumnTreeView.CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW ,tTreeViewInfoStore)
Let_ISubclass_MsgResponse(SSubTimer::EMsgResponse)0400vbalColumnTreeView.Let_ISubclass_MsgResponse(SSubTimer::EMsgResponse)
Get_ISubclass_MsgResponse()61010vbalColumnTreeView.Get_ISubclass_MsgResponse()
ISubclass_WindowProc(Long,Long,Long,Long)235348660vbalColumnTreeView.ISubclass_WindowProc(Long,Long,Long,Long)
m_cHeader_ColumnWidthChanged(Long,Long)2400vbalColumnTreeView.m_cHeader_ColumnWidthChanged(Long,Long)
tmrDragAutoExpand_ThatTime()4047130vbalColumnTreeView.tmrDragAutoExpand_ThatTime()
tmrDragNoMore_ThatTime()233250vbalColumnTreeView.tmrDragNoMore_ThatTime()
tmrDragScroll_ThatTime()5469150vbalColumnTreeView.tmrDragScroll_ThatTime()
UserControl_Initialize()365000vbalColumnTreeView.UserControl_Initialize()
UserControl_InitProperties()5900vbalColumnTreeView.UserControl_InitProperties()
UserControl_OLECompleteDrag(Long)111530vbalColumnTreeView.UserControl_OLECompleteDrag(Long)
UserControl_OLEDragDrop(DataObject,Long,Integer,Integer,Single,Single)477560vbalColumnTreeView.UserControl_OLEDragDrop(DataObject,Long,Integer ,Integer,Single,Single)
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)100146250vbalColumnTreeView.UserControl_OLEDragOver(DataObject,Long,Integer ,Integer,Single,Single,Integer)
UserControl_OLEGiveFeedback(Long,Boolean)61120vbalColumnTreeView.UserControl_OLEGiveFeedback(Long,Boolean)
UserControl_OLEStartDrag(DataObject,Long)336240vbalColumnTreeView.UserControl_OLEStartDrag(DataObject,Long)
UserControl_ReadProperties(PropertyBag)435010vbalColumnTreeView.UserControl_ReadProperties(PropertyBag)
UserControl_Resize()425190vbalColumnTreeView.UserControl_Resize()
UserControl_Show()0400vbalColumnTreeView.UserControl_Show()
UserControl_Terminate()81810vbalColumnTreeView.UserControl_Terminate()
UserControl_WriteProperties(PropertyBag)394300vbalColumnTreeView.UserControl_WriteProperties(PropertyBag)
Let_GridLines(Boolean)5710vbalColumnTreeView.Let_GridLines(Boolean)
Get_DragStyle()2400vbalColumnTreeView.Get_DragStyle()
Let_DragStyle(ETreeViewDragInsertStyle)4610vbalColumnTreeView.Let_DragStyle(ETreeViewDragInsertStyle)
Get_BackColor()1400vbalColumnTreeView.Get_BackColor()
Let_BackColor(OLE_COLOR)81020vbalColumnTreeView.Let_BackColor(OLE_COLOR)
Get_SelectedBackColor()1400vbalColumnTreeView.Get_SelectedBackColor()
Let_SelectedBackColor(OLE_COLOR)4610vbalColumnTreeView.Let_SelectedBackColor(OLE_COLOR)
Get_SelectedForeColor()1400vbalColumnTreeView.Get_SelectedForeColor()
Let_SelectedForeColor(OLE_COLOR)4610vbalColumnTreeView.Let_SelectedForeColor(OLE_COLOR)
Get_SelectedNoFocusBackColor()1400vbalColumnTreeView.Get_SelectedNoFocusBackColor()
Let_SelectedNoFocusBackColor(OLE_COLOR)4610vbalColumnTreeView.Let_SelectedNoFocusBackColor(OLE_COLOR)
Get_SelectedNoFocusForeColor()1400vbalColumnTreeView.Get_SelectedNoFocusForeColor()
Let_SelectedNoFocusForeColor(OLE_COLOR)4610vbalColumnTreeView.Let_SelectedNoFocusForeColor(OLE_COLOR)
Get_SelectedMouseOverBackColor()1400vbalColumnTreeView.Get_SelectedMouseOverBackColor()
Let_SelectedMouseOverBackColor(OLE_COLOR)4610vbalColumnTreeView.Let_SelectedMouseOverBackColor(OLE_COLOR)
Get_SelectedMouseOverForeColor()1400vbalColumnTreeView.Get_SelectedMouseOverForeColor()
Let_SelectedMouseOverForeColor(OLE_COLOR)4610vbalColumnTreeView.Let_SelectedMouseOverForeColor(OLE_COLOR)
Get_MouseOverBackColor()1400vbalColumnTreeView.Get_MouseOverBackColor()
Let_MouseOverBackColor(OLE_COLOR)4610vbalColumnTreeView.Let_MouseOverBackColor(OLE_COLOR)
Get_MouseOverForeColor()1400vbalColumnTreeView.Get_MouseOverForeColor()
Let_MouseOverForeColor(OLE_COLOR)4610vbalColumnTreeView.Let_MouseOverForeColor(OLE_COLOR)
Get_BorderStyle()2400vbalColumnTreeView.Get_BorderStyle()
Let_BorderStyle(ETreeViewBorderStyle)5710vbalColumnTreeView.Let_BorderStyle(ETreeViewBorderStyle)
Get_CheckBoxes()1400vbalColumnTreeView.Get_CheckBoxes()
Let_CheckBoxes(Boolean)5710vbalColumnTreeView.Let_CheckBoxes(Boolean)
Get_DragAutoExpand()1400vbalColumnTreeView.Get_DragAutoExpand()
Let_DragAutoExpand(Boolean)4610vbalColumnTreeView.Let_DragAutoExpand(Boolean)
Get_Enabled()1400vbalColumnTreeView.Get_Enabled()
Let_Enabled(Boolean)5710vbalColumnTreeView.Let_Enabled(Boolean)
Get_Font()2500vbalColumnTreeView.Get_Font()
Let_Font(IFont)91320vbalColumnTreeView.Let_Font(IFont)
Set_Font(IFont)91320vbalColumnTreeView.Set_Font(IFont)
Get_ForeColor()1400vbalColumnTreeView.Get_ForeColor()
Let_ForeColor(OLE_COLOR)5710vbalColumnTreeView.Let_ForeColor(OLE_COLOR)
Get_FullRowSelect()1400vbalColumnTreeView.Get_FullRowSelect()
Let_FullRowSelect(Boolean)5710vbalColumnTreeView.Let_FullRowSelect(Boolean)
GetVisibleCount()1600vbalColumnTreeView.GetVisibleCount()
Get_HideSelection()1400vbalColumnTreeView.Get_HideSelection()
Let_HideSelection(Boolean)5710vbalColumnTreeView.Let_HideSelection(Boolean)
hitTest(Single,Single)111610vbalColumnTreeView.hitTest(Single,Single)

Statistics

Stat   # lines of code (LOC)   MaxNestedLoop   Cyclomatic Complexity (CC)   # Parameters
Sum:17 29224 8593 4480
Average:13.6619.642.720
Minimum:0400
Maximum:393483810
Standard deviation:22.3429.955.690
Variance:499.27897.0532.390
warningCritical    Rule warning: Methods too big
// <Name>Methods too big</Name>
warnif count > 0 from m in JustMyCode.Methods where 
   
m.NbLinesOfCode > 30 
   
orderby m.NbLinesOfCode descending
           
select new { m, m.NbLinesOfCode}

// Methods where NbLinesOfCode > 30 
// are extremely complex and should be split in smaller methods.
// See the definition of the NbLinesOfCode metric here 
// http://www.vbdepend.com/Metrics.aspx#NbLinesOfCode

135 methods matched

methods# lines of code (LOC)Full Name
pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)393vbalExplorerBarCtl.pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)
ISubclass_WindowProc(Long,Long,Long,Long)235vbalColumnTreeView.ISubclass_WindowProc(Long,Long,Long,Long)
pFindNextItem(Long,Long,Long,Boolean)186vbalExplorerBarCtl.pFindNextItem(Long,Long,Long,Boolean)
Fill_Form()130frmForm3C.Fill_Form()
Fill_Form()125frmIndoor.Fill_Form()
Fill_Form()125frmCashVoucher.Fill_Form()
ISubclass_WindowProc(Long,Long,Long,Long)109cHeaderControl.ISubclass_WindowProc(Long,Long,Long,Long)
FILL_FORM2()104frmForm3C.FILL_FORM2()
pDrawShellStyleBitmap(Long,RECT,Long,pcExplorerBar)103vbalExplorerBarCtl.pDrawShellStyleBitmap(Long,RECT,Long,pcExplorerBar)
pMeasure()101vbalExplorerBarCtl.pMeasure()
pInitialize()100vbalColumnTreeView.pInitialize()
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)100vbalColumnTreeView.UserControl_OLEDragOver(DataObject,Long,Integer ,Integer,Single,Single,Integer)
fMeasureTitle(Long)96vbalExplorerBarCtl.fMeasureTitle(Long)
Check_Form()96frmIndoor.Check_Form()
Check_Form()96frmCashVoucher.Check_Form()
cmdAddNew_Click()94frmForm3C.cmdAddNew_Click()
fAdd(Long,ETreeViewRelationshipContants,String,String,Long,Long,Long ,Boolean,ETreeViewChildrenSortMode)92vbalColumnTreeView.fAdd(Long,ETreeViewRelationshipContants,String ,String,Long,Long,Long,Boolean,ETreeViewChildrenSortMode)
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)92cHeaderControl.UserControl_OLEDragOver(DataObject,Long,Integer,Integer ,Single,Single,Integer)
pKeyDown(Integer,Integer)89vbalExplorerBarCtl.pKeyDown(Integer,Integer)
Let_ColumnGroupOrder(Long,Long)88cHeaderControl.Let_ColumnGroupOrder(Long,Long)
fExpandBar(pcExplorerBar,Long)88vbalExplorerBarCtl.fExpandBar(pcExplorerBar,Long)
PaintGroups(Long,OLE_COLOR)84cHeaderControl.PaintGroups(Long,OLE_COLOR)
ISubclass_WindowProc(Long,Long,Long,Long)84cScrollBars.ISubclass_WindowProc(Long,Long,Long,Long)
ISubclass_WindowProc(Long,Long,Long,Long)84pcScrollBars.ISubclass_WindowProc(Long,Long,Long,Long)
Set_Fields()82frmForm3C.Set_Fields()
Fetch_Parent_Fields()82frmForm3C.Fetch_Parent_Fields()
Fetch_Parent_Fields()82frmIndoor.Fetch_Parent_Fields()
Fetch_Parent_Fields()82frmCashVoucher.Fetch_Parent_Fields()
CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW,tTreeViewInfoStore)81vbalColumnTreeView.CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW ,tTreeViewInfoStore)
fAddItem(Long,Variant,Variant,Variant,Variant,Variant)76vbalExplorerBarCtl.fAddItem(Long,Variant,Variant,Variant,Variant ,Variant)
VBPrintDlg(Long,EPrintRange,Boolean,Long,Long,Boolean,Integer,Boolean ,Boolean,Boolean,Boolean,Boolean,Long,Object,Long,Boolean,Object)76cCommonDialog.VBPrintDlg(Long,EPrintRange,Boolean,Long,Long,Boolean ,Integer,Boolean,Boolean,Boolean,Boolean,Boolean,Long,Object,Long ,Boolean,Object)
CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW,tTreeViewInfoStore)75vbalColumnTreeView.CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW ,tTreeViewInfoStore)
UserControl_MouseMove(Integer,Integer,Single,Single)75vbalExplorerBarCtl.UserControl_MouseMove(Integer,Integer,Single,Single )
DrawGroupedHeaderItem(Long,Long,RECT)74cHeaderControl.DrawGroupedHeaderItem(Long,Long,RECT)
pbLoadShellStyleBitmaps()73vbalExplorerBarCtl.pbLoadShellStyleBitmaps()
fAddBar(Variant,Variant,Variant)73vbalExplorerBarCtl.fAddBar(Variant,Variant,Variant)
Fill_Labels()73frmForm3C.Fill_Labels()
fMeasureItem(Long,Long)70vbalExplorerBarCtl.fMeasureItem(Long,Long)
Clear_Form()70frmForm3C.Clear_Form()
pPaintItem(pcExplorerBarItem,Long,Long,RECT)68vbalExplorerBarCtl.pPaintItem(pcExplorerBarItem,Long,Long,RECT)
ResampleDib(pcAlphaDibSection)67pcAlphaDibSection.ResampleDib(pcAlphaDibSection)
VBPageSetupDlg2(Long,Boolean,Boolean,Boolean,Boolean,Single,Single ,Single,Single,Single,Single,Single,Single,EPaperSize,EOrientation ,EPrintQuality,EPageSetupUnits,Object,Long,Boolean,Object)66cCommonDialog.VBPageSetupDlg2(Long,Boolean,Boolean,Boolean,Boolean ,Single,Single,Single,Single,Single,Single,Single,Single,EPaperSize ,EOrientation,EPrintQuality,EPageSetupUnits,Object,Long,Boolean,Object )
pbGetHeaderItemInfo(Long,HDITEMA,String)65cHeaderControl.pbGetHeaderItemInfo(Long,HDITEMA,String)
Fill_Labels()65frmIndoor.Fill_Labels()
Fill_Labels()65frmCashVoucher.Fill_Labels()
initSpecificSearch(String)64frmMediaSearch.initSpecificSearch(String)
Clear_Form()64frmCashVoucher.Clear_Form()
Clear_Form()63frmIndoor.Clear_Form()
Set_Fields()63frmIndoor.Set_Fields()
UserControl_OLEDragDrop(DataObject,Long,Integer,Integer,Single,Single)62cHeaderControl.UserControl_OLEDragDrop(DataObject,Long,Integer,Integer ,Single,Single)
ColouriseGlyph(pcAlphaDibSection,OLE_COLOR)62mColouriseGlyph.ColouriseGlyph(pcAlphaDibSection,OLE_COLOR)
VBGetOpenFileName(String,String,Boolean,Boolean,Boolean,Boolean,String ,Long,String,String,String,Long,Long,Boolean,Object)62cCommonDialog.VBGetOpenFileName(String,String,Boolean,Boolean,Boolean ,Boolean,String,Long,String,String,String,Long,Long,Boolean,Object)
Move_Text1()62frmForm3C.Move_Text1()
UserControl_MouseDown(Integer,Integer,Single,Single)60vbalExplorerBarCtl.UserControl_MouseDown(Integer,Integer,Single,Single )
Make_Connection()60frmForm3C.Make_Connection()
setUpData()59frmMultiColumn.setUpData()
VBGetSaveFileName(String,String,Boolean,String,Long,String,String ,String,Long,Long,Boolean,Object)58cCommonDialog.VBGetSaveFileName(String,String,Boolean,String,Long ,String,String,String,Long,Long,Boolean,Object)
Let_fBarIndex(Long,Long)56vbalExplorerBarCtl.Let_fBarIndex(Long,Long)
pbSetHeaderItemInfo(Long,HDITEMA,String)55cHeaderControl.pbSetHeaderItemInfo(Long,HDITEMA,String)
Form_Load()55frmTestExplorerBar.Form_Load()
VBChooseFont(Font,Long,Long,Long,Long,Long,Long,Boolean,Object)55cCommonDialog.VBChooseFont(Font,Long,Long,Long,Long,Long,Long,Boolean ,Object)
tmrDragScroll_ThatTime()54vbalColumnTreeView.tmrDragScroll_ThatTime()
Fill_Combos()54frmForm3C.Fill_Combos()
Fetch_Set_Fields()54frmForm3C.Fetch_Set_Fields()
pLoadColourisedFakeShellStyleBitmaps()52vbalExplorerBarCtl.pLoadColourisedFakeShellStyleBitmaps()
pInitialise()52vbalExplorerBarCtl.pInitialise()
pbHitTest(pcExplorerBar,pcExplorerBar,pcExplorerBarItem)51vbalExplorerBarCtl.pbHitTest(pcExplorerBar,pcExplorerBar ,pcExplorerBarItem)
Let_ItemIndex(Variant,Long)51pcExplorerBar.Let_ItemIndex(Variant,Long)
AddColumn(String,Long,EHdrTextAlign,Long,Long,Long)50cHeaderControl.AddColumn(String,Long,EHdrTextAlign,Long,Long,Long)
fEnsureItemVisible(Long,Long)49vbalExplorerBarCtl.fEnsureItemVisible(Long,Long)
pPaintBorders(Long,Long,RECT)48vbalExplorerBarCtl.pPaintBorders(Long,Long,RECT)
ColouriseWatermark(pcAlphaDibSection,OLE_COLOR)48mColouriseGlyph.ColouriseWatermark(pcAlphaDibSection,OLE_COLOR)
initAdvancedSearch()48frmTestSearchBar.initAdvancedSearch()
Fetch_Set_Fields()48frmIndoor.Fetch_Set_Fields()
Fetch_Set_Fields()48frmCashVoucher.Fetch_Set_Fields()
pTerminate()47vbalColumnTreeView.pTerminate()
UserControl_OLEDragDrop(DataObject,Long,Integer,Integer,Single,Single)47vbalColumnTreeView.UserControl_OLEDragDrop(DataObject,Long,Integer ,Integer,Single,Single)
ColumnIsGroupedSub(Long,Boolean,Long)47cHeaderControl.ColumnIsGroupedSub(Long,Boolean,Long)
pCreateHeader()47cHeaderControl.pCreateHeader()
SaveToBitmap(Long,String)47pcAlphaDibSection.SaveToBitmap(Long,String)
AddClassNodes(Members,Long)47frmTree.AddClassNodes(Members,Long)
Set_Fields()47frmPatient.Set_Fields()
ImagePictureStrip(Variant,OLE_COLOR,Boolean)46cVBALSysImageList.ImagePictureStrip(Variant,OLE_COLOR,Boolean)
CustomDraw(Long)44vbalColumnTreeView.CustomDraw(Long)
Load()44cAVICtrl.Load()
UserControl_ReadProperties(PropertyBag)43vbalColumnTreeView.UserControl_ReadProperties(PropertyBag)
Get_DragImageList(Long)43cHeaderControl.Get_DragImageList(Long)
chkCustomColours_Click()43frmTestExplorerBar.chkCustomColours_Click()
DrawCurrentFrame(Long)43cAVICtrl.DrawCurrentFrame(Long)
UserControl_Resize()42vbalColumnTreeView.UserControl_Resize()
initPreferences()42frmTestSearchBar.initPreferences()
TileArea(Long,Long,Long,Long,Long,Long,Long,Long,Long,Long)42cAVICtrl.TileArea(Long,Long,Long,Long,Long,Long,Long,Long,Long,Long)
DrawImage(Variant,Long,Integer,Integer,OLE_COLOR,Long)41cVBALSysImageList.DrawImage(Variant,Long,Integer,Integer,OLE_COLOR ,Long)
fBarChanged(Long,Boolean,Boolean)41vbalExplorerBarCtl.fBarChanged(Long,Boolean,Boolean)
HLSToRGB(Single,Single,Single,Long,Long,Long)41mColouriseGlyph.HLSToRGB(Single,Single,Single,Long,Long,Long)
Make_Connection()41frmIndoor.Make_Connection()
Make_Connection()41frmCashVoucher.Make_Connection()
tmrDragAutoExpand_ThatTime()40vbalColumnTreeView.tmrDragAutoExpand_ThatTime()
barSearch_ItemClick(vbalExplorerBarLib::cExplorerBarItem)40frmTestSearchBar.barSearch_ItemClick (vbalExplorerBarLib::cExplorerBarItem)
cmdAddNew_Click()40frmPatient.cmdAddNew_Click()

Statistics

Stat   # lines of code (LOC)
Sum:8 424
Average:62.4
Minimum:32
Maximum:393
Standard deviation:40.98
Variance:1 679
warningCritical    Rule warning: Methods too complex
// <Name>Methods too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 ||
  
m.MaxNestedLoop > 3 
  
orderby m.CyclomaticComplexity descending,
          
m.MaxNestedLoop descending
select new { m, m.CyclomaticComplexity, 
                
m.MaxNestedLoop }

// Methods where CyclomaticComplexity > 20 
// or MaxNestedLoop > 40
// are hard to understand and maintain
// and should be split in smaller methods.
// See the definition of the complexity metrics here:
// http://www.vbdepend.com/Metrics.aspx#CC
// http://www.vbdepend.com/Metrics.aspx#ILCC

1,266 methods matched

methodsCyclomatic Complexity (CC)MaxNestedLoopFull Name
pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)81483vbalExplorerBarCtl.pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)
ISubclass_WindowProc(Long,Long,Long,Long)66348vbalColumnTreeView.ISubclass_WindowProc(Long,Long,Long,Long)
pFindNextItem(Long,Long,Long,Boolean)58236vbalExplorerBarCtl.pFindNextItem(Long,Long,Long,Boolean)
Fill_Form()41182frmForm3C.Fill_Form()
FILL_FORM2()41113frmForm3C.FILL_FORM2()
Fill_Form()40175frmIndoor.Fill_Form()
Fill_Form()40175frmCashVoucher.Fill_Form()
Check_Form()35110frmIndoor.Check_Form()
Check_Form()35110frmCashVoucher.Check_Form()
Fetch_Parent_Fields()3288frmIndoor.Fetch_Parent_Fields()
Fetch_Parent_Fields()3288frmCashVoucher.Fetch_Parent_Fields()
Fetch_Parent_Fields()3286frmForm3C.Fetch_Parent_Fields()
Fill_Labels()2979frmForm3C.Fill_Labels()
Clear_Form()2782frmForm3C.Clear_Form()
pKeyDown(Integer,Integer)26109vbalExplorerBarCtl.pKeyDown(Integer,Integer)
Fill_Labels()2677frmIndoor.Fill_Labels()
Fill_Labels()2677frmCashVoucher.Fill_Labels()
ISubclass_WindowProc(Long,Long,Long,Long)25156cHeaderControl.ISubclass_WindowProc(Long,Long,Long,Long)
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)25146vbalColumnTreeView.UserControl_OLEDragOver(DataObject,Long,Integer ,Integer,Single,Single,Integer)
Clear_Form()2573frmCashVoucher.Clear_Form()
Clear_Form()2571frmIndoor.Clear_Form()
ISubclass_WindowProc(Long,Long,Long,Long)22109cScrollBars.ISubclass_WindowProc(Long,Long,Long,Long)
ISubclass_WindowProc(Long,Long,Long,Long)22109pcScrollBars.ISubclass_WindowProc(Long,Long,Long,Long)
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)21119cHeaderControl.UserControl_OLEDragOver(DataObject,Long,Integer,Integer ,Single,Single,Integer)
pMeasure()18120vbalExplorerBarCtl.pMeasure()
CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW,tTreeViewInfoStore)18106vbalColumnTreeView.CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW ,tTreeViewInfoStore)
Fill_Combos()1864frmForm3C.Fill_Combos()
fAdd(Long,ETreeViewRelationshipContants,String,String,Long,Long,Long ,Boolean,ETreeViewChildrenSortMode)15141vbalColumnTreeView.fAdd(Long,ETreeViewRelationshipContants,String ,String,Long,Long,Long,Boolean,ETreeViewChildrenSortMode)
Let_ColumnGroupOrder(Long,Long)15136cHeaderControl.Let_ColumnGroupOrder(Long,Long)
fExpandBar(pcExplorerBar,Long)15110vbalExplorerBarCtl.fExpandBar(pcExplorerBar,Long)
fAddBar(Variant,Variant,Variant)15100vbalExplorerBarCtl.fAddBar(Variant,Variant,Variant)
UserControl_MouseDown(Integer,Integer,Single,Single)1579vbalExplorerBarCtl.UserControl_MouseDown(Integer,Integer,Single,Single )
barSearch_ItemClick(vbalExplorerBarLib::cExplorerBarItem)1573frmTestSearchBar.barSearch_ItemClick (vbalExplorerBarLib::cExplorerBarItem)
tmrDragScroll_ThatTime()1569vbalColumnTreeView.tmrDragScroll_ThatTime()
plSelectedTreeViewStyles()1551vbalColumnTreeView.plSelectedTreeViewStyles()
cmdAddNew_Click()14157frmForm3C.cmdAddNew_Click()
fAddItem(Long,Variant,Variant,Variant,Variant,Variant)14110vbalExplorerBarCtl.fAddItem(Long,Variant,Variant,Variant,Variant ,Variant)
UserControl_MouseMove(Integer,Integer,Single,Single)1489vbalExplorerBarCtl.UserControl_MouseMove(Integer,Integer,Single,Single )
pbGetHeaderItemInfo(Long,HDITEMA,String)1483cHeaderControl.pbGetHeaderItemInfo(Long,HDITEMA,String)
UserControl_OLEDragDrop(DataObject,Long,Integer,Integer,Single,Single)1479cHeaderControl.UserControl_OLEDragDrop(DataObject,Long,Integer,Integer ,Single,Single)
Fill_Labels()1441frmPatient.Fill_Labels()
Fill_Form()1440frmPatient.Fill_Form()
fMeasureTitle(Long)13128vbalExplorerBarCtl.fMeasureTitle(Long)
AddClassNodes(Members,Long)1385frmTree.AddClassNodes(Members,Long)
pPaintItem(pcExplorerBarItem,Long,Long,RECT)1384vbalExplorerBarCtl.pPaintItem(pcExplorerBarItem,Long,Long,RECT)
tmrDragAutoExpand_ThatTime()1347vbalColumnTreeView.tmrDragAutoExpand_ThatTime()
Clear_Form()1337frmPatient.Clear_Form()
initSpecificSearch(String)12101frmMediaSearch.initSpecificSearch(String)
pbLoadShellStyleBitmaps()1298vbalExplorerBarCtl.pbLoadShellStyleBitmaps()
VBChooseFont(Font,Long,Long,Long,Long,Long,Long,Boolean,Object)1295cCommonDialog.VBChooseFont(Font,Long,Long,Long,Long,Long,Long,Boolean ,Object)
Let_fBarIndex(Long,Long)1266vbalExplorerBarCtl.Let_fBarIndex(Long,Long)
Form_KeyPress(Integer)1220Frm_Main.Form_KeyPress(Integer)
Form_KeyPress(Integer)1220FroggerExtreme_Frm_Main.Form_KeyPress(Integer)
pDrawShellStyleBitmap(Long,RECT,Long,pcExplorerBar)11148vbalExplorerBarCtl.pDrawShellStyleBitmap(Long,RECT,Long,pcExplorerBar)
DrawGroupedHeaderItem(Long,Long,RECT)1195cHeaderControl.DrawGroupedHeaderItem(Long,Long,RECT)
pbSetHeaderItemInfo(Long,HDITEMA,String)1168cHeaderControl.pbSetHeaderItemInfo(Long,HDITEMA,String)
Let_ItemIndex(Variant,Long)1162pcExplorerBar.Let_ItemIndex(Variant,Long)
Timer1_Timer()1151Frm_Main.Timer1_Timer()
Timer1_Timer()1151FroggerExtreme_Frm_Main.Timer1_Timer()
DialogHook(Long,Long,Long,Long)1143cCommonDialog.DialogHook(Long,Long,Long,Long)
Fill_Combos()1140frmIndoor.Fill_Combos()
Fill_Combos()1140frmCashVoucher.Fill_Combos()
VBPrintDlg(Long,EPrintRange,Boolean,Long,Long,Boolean,Integer,Boolean ,Boolean,Boolean,Boolean,Boolean,Long,Object,Long,Boolean,Object)10127cCommonDialog.VBPrintDlg(Long,EPrintRange,Boolean,Long,Long,Boolean ,Integer,Boolean,Boolean,Boolean,Boolean,Boolean,Long,Object,Long ,Boolean,Object)
PaintGroups(Long,OLE_COLOR)10118cHeaderControl.PaintGroups(Long,OLE_COLOR)
CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW,tTreeViewInfoStore)10104vbalColumnTreeView.CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW ,tTreeViewInfoStore)
fEnsureItemVisible(Long,Long)1067vbalExplorerBarCtl.fEnsureItemVisible(Long,Long)
pCreateHeader()1065cHeaderControl.pCreateHeader()
pbHitTest(pcExplorerBar,pcExplorerBar,pcExplorerBarItem)1064vbalExplorerBarCtl.pbHitTest(pcExplorerBar,pcExplorerBar ,pcExplorerBarItem)
Timer3_Timer()1047Frm_Main.Timer3_Timer()
Timer3_Timer()1047FroggerExtreme_Frm_Main.Timer3_Timer()
UserControl_MouseMove(Integer,Integer,Single,Single)1046cHeaderControl.UserControl_MouseMove(Integer,Integer,Single,Single)
Timer4_Timer()1045Frm_Main.Timer4_Timer()
Timer4_Timer()1045FroggerExtreme_Frm_Main.Timer4_Timer()
Timer2_Timer()1042Frm_Main.Timer2_Timer()
Timer2_Timer()1042FroggerExtreme_Frm_Main.Timer2_Timer()
txtParentMain_KeyPress(Integer,Integer)1037frmPatient.txtParentMain_KeyPress(Integer,Integer)
Fetch_Child_Fields()1030frmForm3C.Fetch_Child_Fields()
Make_Connection()976frmForm3C.Make_Connection()
ColumnIsGroupedSub(Long,Boolean,Long)964cHeaderControl.ColumnIsGroupedSub(Long,Boolean,Long)
ISubclass_WindowProc(Long,Long,Long,Long)955vbalExplorerBarCtl.ISubclass_WindowProc(Long,Long,Long,Long)
RenderWatermark(Long,Long,Long,Long,Long,Long,Long,Long)953pcExplorerBar.RenderWatermark(Long,Long,Long,Long,Long,Long,Long,Long)
UserControl_Resize()951vbalColumnTreeView.UserControl_Resize()
OnHighlight(pcExplorerBar,pcExplorerBarItem)950vbalExplorerBarCtl.OnHighlight(pcExplorerBar,pcExplorerBarItem)
UserControl_MouseUp(Integer,Integer,Single,Single)946vbalExplorerBarCtl.UserControl_MouseUp(Integer,Integer,Single,Single)
chkOption_Click(Integer)940frmMediaSearch.chkOption_Click(Integer)
txtParentMaster3Main_Change(Integer)933frmIndoor.txtParentMaster3Main_Change(Integer)
txtParentMaster4Main_Change(Integer)933frmIndoor.txtParentMaster4Main_Change(Integer)
txtParentMaster5Main_Change(Integer)933frmIndoor.txtParentMaster5Main_Change(Integer)
txtParentMaster3Main_Change(Integer)933frmCashVoucher.txtParentMaster3Main_Change(Integer)
txtParentMaster4Main_Change(Integer)933frmCashVoucher.txtParentMaster4Main_Change(Integer)
txtParentMaster5Main_Change(Integer)933frmCashVoucher.txtParentMaster5Main_Change(Integer)
txtParentMaster1Main_Change(Integer)932frmIndoor.txtParentMaster1Main_Change(Integer)
txtParentMaster1Main_Change(Integer)931frmCashVoucher.txtParentMaster1Main_Change(Integer)
txtParentMaster3Main_Change(Integer)930frmForm3C.txtParentMaster3Main_Change(Integer)
txtParentMaster4Main_Change(Integer)930frmForm3C.txtParentMaster4Main_Change(Integer)
txtParentMaster5Main_Change(Integer)930frmForm3C.txtParentMaster5Main_Change(Integer)
MFG_LeaveCell()929frmForm3C.MFG_LeaveCell()
txtParentMaster1Main_Change(Integer)928frmForm3C.txtParentMaster1Main_Change(Integer)
txtParentMaster2Main_Change(Integer)928frmForm3C.txtParentMaster2Main_Change(Integer)
VBGetOpenFileName(String,String,Boolean,Boolean,Boolean,Boolean,String ,Long,String,String,String,Long,Long,Boolean,Object)8110cCommonDialog.VBGetOpenFileName(String,String,Boolean,Boolean,Boolean ,Boolean,String,Long,String,String,String,Long,Long,Boolean,Object)

Statistics

Stat   Cyclomatic Complexity (CC)   MaxNestedLoop
Sum:3 44824 859
Average:2.7219.64
Minimum:04
Maximum:81483
Standard deviation:5.6929.95
Variance:32.39897.05
warningCritical    Rule warning: Methods potentially poorly commented
// <Name>Methods potentially poorly commented</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.PercentageComment < 20 && 
  
m.NbLinesOfCode > 20  
  
orderby m.PercentageComment ascending
select new { m, m.PercentageComment, m.NbLinesOfCode, m.NbLinesOfComment }

// Methods where %Comment < 20 and that have 
// at least 20 lines of code might need to be more commented.
// See the definition of the Comments metric here 
// http://www.vbdepend.com/Metrics.aspx#PercentageComment
// http://www.vbdepend.com/Metrics.aspx#NbLinesOfComment 

169 methods matched

methodsPercentage Comment# lines of code (LOC)# lines of commentFull Name
plSelectedTreeViewStyles()0390vbalColumnTreeView.plSelectedTreeViewStyles()
CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW,tTreeViewInfoStore)0810vbalColumnTreeView.CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW ,tTreeViewInfoStore)
tmrDragNoMore_ThatTime()0230vbalColumnTreeView.tmrDragNoMore_ThatTime()
Get_NodeFromDragData(DataObject)0290vbalColumnTreeView.Get_NodeFromDragData(DataObject)
fNumericIndexInSubTree(Long)0250vbalColumnTreeView.fNumericIndexInSubTree(Long)
pbGetHeaderItemInfo(Long,HDITEMA,String)0650cHeaderControl.pbGetHeaderItemInfo(Long,HDITEMA,String)
pCreateHeader()0470cHeaderControl.pCreateHeader()
DrawDragCandidate(Long,Long,RECT,Boolean)0340cHeaderControl.DrawDragCandidate(Long,Long,RECT,Boolean)
ColumnHitTest(Long,Long)0330cHeaderControl.ColumnHitTest(Long,Long)
AddColumn(String,Long,EHdrTextAlign,Long,Long,Long)0500cHeaderControl.AddColumn(String,Long,EHdrTextAlign,Long,Long,Long)
Get_ColumnHeaderFromPoint(Long,Long)0260cHeaderControl.Get_ColumnHeaderFromPoint(Long,Long)
setUpData()0590frmMultiColumn.setUpData()
Get_ItemIndex(Variant,Boolean)0260cVBALSysImageList.Get_ItemIndex(Variant,Boolean)
ImagePictureStrip(Variant,OLE_COLOR,Boolean)0460cVBALSysImageList.ImagePictureStrip(Variant,OLE_COLOR,Boolean)
Timer1_Timer()0270Frm_Main.Timer1_Timer()
Timer2_Timer()0260Frm_Main.Timer2_Timer()
Timer3_Timer()0260Frm_Main.Timer3_Timer()
Timer4_Timer()0260Frm_Main.Timer4_Timer()
Timer1_Timer()0270FroggerExtreme_Frm_Main.Timer1_Timer()
Timer2_Timer()0260FroggerExtreme_Frm_Main.Timer2_Timer()
Timer3_Timer()0260FroggerExtreme_Frm_Main.Timer3_Timer()
Timer4_Timer()0260FroggerExtreme_Frm_Main.Timer4_Timer()
ImageListDrawIcon(Long,Long,Long,Long,Long,Long,Boolean,Boolean)0290vbalExplorerBarCtl.ImageListDrawIcon(Long,Long,Long,Long,Long,Long ,Boolean,Boolean)
pPaintBackground(Long,Long,RECT)0240vbalExplorerBarCtl.pPaintBackground(Long,Long,RECT)
pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)03930vbalExplorerBarCtl.pPaintBar(pcExplorerBar,Long,Long,RECT,Boolean)
pInitialise()0520vbalExplorerBarCtl.pInitialise()
pKeyDown(Integer,Integer)0890vbalExplorerBarCtl.pKeyDown(Integer,Integer)
fClearBars()0220vbalExplorerBarCtl.fClearBars()
fTextChanged(String,String)0220vbalExplorerBarCtl.fTextChanged(String,String)
Let_fBarIndex(Long,Long)0560vbalExplorerBarCtl.Let_fBarIndex(Long,Long)
fRemoveBar(Variant)0230vbalExplorerBarCtl.fRemoveBar(Variant)
fAddBar(Variant,Variant,Variant)0730vbalExplorerBarCtl.fAddBar(Variant,Variant,Variant)
fExpandBar(pcExplorerBar,Long)0880vbalExplorerBarCtl.fExpandBar(pcExplorerBar,Long)
fEnsureBarVisible(Long)0390vbalExplorerBarCtl.fEnsureBarVisible(Long)
Let_ImageList(Variant)0290vbalExplorerBarCtl.Let_ImageList(Variant)
Let_BarTitleImageList(Variant)0290vbalExplorerBarCtl.Let_BarTitleImageList(Variant)
pSetControl(Object)0260cExplorerBarItem.pSetControl(Object)
SaveToBitmap(Long,String)0470pcAlphaDibSection.SaveToBitmap(Long,String)
CreateFromHBitmap(Long)0210pcAlphaDibSection.CreateFromHBitmap(Long)
Get_BlendColor(OLE_COLOR,OLE_COLOR,Long)0210mUtility.Get_BlendColor(OLE_COLOR,OLE_COLOR,Long)
RenderWatermark(Long,Long,Long,Long,Long,Long,Long,Long)0360pcExplorerBar.RenderWatermark(Long,Long,Long,Long,Long,Long,Long,Long)
Let_ItemIndex(Variant,Long)0510pcExplorerBar.Let_ItemIndex(Variant,Long)
Get_BoldenedFontHandle(CNCMetricsFontTypes)0220pcNCMetrics.Get_BoldenedFontHandle(CNCMetricsFontTypes)
HLSToRGB(Single,Single,Single,Long,Long,Long)0410mColouriseGlyph.HLSToRGB(Single,Single,Single,Long,Long,Long)
chkCustomColours_Click()0430frmTestExplorerBar.chkCustomColours_Click()
initOtherSearchOptions()0300frmTestSearchBar.initOtherSearchOptions()
initPreferences()0420frmTestSearchBar.initPreferences()
initAdvancedSearch()0480frmTestSearchBar.initAdvancedSearch()
Load()0440cAVICtrl.Load()
VBGetOpenFileName(String,String,Boolean,Boolean,Boolean,Boolean,String ,Long,String,String,String,Long,Long,Boolean,Object)0620cCommonDialog.VBGetOpenFileName(String,String,Boolean,Boolean,Boolean ,Boolean,String,Long,String,String,String,Long,Long,Boolean,Object)
FILL_FORM2()01040frmForm3C.FILL_FORM2()
Fill_Form()01300frmForm3C.Fill_Form()
Clear_Form()0700frmForm3C.Clear_Form()
Fetch_Parent_Fields()0820frmForm3C.Fetch_Parent_Fields()
Add_Record_in_Parent()0320frmForm3C.Add_Record_in_Parent()
Edit_Record_in_Parent()0280frmForm3C.Edit_Record_in_Parent()
Add_Record_in_Child()0320frmForm3C.Add_Record_in_Child()
Fetch_Child_Fields()0270frmForm3C.Fetch_Child_Fields()
Fill_Combos()0540frmForm3C.Fill_Combos()
Fill_MFG()0290frmForm3C.Fill_MFG()
Move_Text1()0620frmForm3C.Move_Text1()
Remove_Blank_Rows_From_MFG()0220frmForm3C.Remove_Blank_Rows_From_MFG()
Fill_Labels()0730frmForm3C.Fill_Labels()
Fetch_Set_Fields()0540frmForm3C.Fetch_Set_Fields()
txtParentMaster1Main_Change(Integer)0250frmForm3C.txtParentMaster1Main_Change(Integer)
txtParentMaster2Main_Change(Integer)0250frmForm3C.txtParentMaster2Main_Change(Integer)
txtParentMaster3Main_Change(Integer)0250frmForm3C.txtParentMaster3Main_Change(Integer)
txtParentMaster4Main_Change(Integer)0250frmForm3C.txtParentMaster4Main_Change(Integer)
txtParentMaster5Main_Change(Integer)0250frmForm3C.txtParentMaster5Main_Change(Integer)
Fill_Form()0350frmPatient.Fill_Form()
Clear_Form()0330frmPatient.Clear_Form()
Set_Fields()0470frmPatient.Set_Fields()
txtParentMaster2Main_Change(Integer)0230frmPatient.txtParentMaster2Main_Change(Integer)
txtParentNormal_KeyPress(Integer,Integer)0210frmPatient.txtParentNormal_KeyPress(Integer,Integer)
txtParentMaster1Main_Change(Integer)0270frmIndoor.txtParentMaster1Main_Change(Integer)
txtParentMaster2Main_Change(Integer)0240frmIndoor.txtParentMaster2Main_Change(Integer)
txtParentMaster3Main_Change(Integer)0260frmIndoor.txtParentMaster3Main_Change(Integer)
txtParentMaster4Main_Change(Integer)0260frmIndoor.txtParentMaster4Main_Change(Integer)
txtParentMaster5Main_Change(Integer)0260frmIndoor.txtParentMaster5Main_Change(Integer)
Fill_Form()01250frmIndoor.Fill_Form()
Clear_Form()0630frmIndoor.Clear_Form()
Check_Form()0960frmIndoor.Check_Form()
Set_Fields()0630frmIndoor.Set_Fields()
Fetch_Parent_Fields()0820frmIndoor.Fetch_Parent_Fields()
Add_Record_in_Parent()0340frmIndoor.Add_Record_in_Parent()
Edit_Record_in_Parent()0320frmIndoor.Edit_Record_in_Parent()
Fill_Combos()0340frmIndoor.Fill_Combos()
Fill_Labels()0650frmIndoor.Fill_Labels()
Fetch_Set_Fields()0480frmIndoor.Fetch_Set_Fields()
txtParentMaster1Main_Change(Integer)0260frmCashVoucher.txtParentMaster1Main_Change(Integer)
txtParentMaster2Main_Change(Integer)0240frmCashVoucher.txtParentMaster2Main_Change(Integer)
txtParentMaster3Main_Change(Integer)0260frmCashVoucher.txtParentMaster3Main_Change(Integer)
txtParentMaster4Main_Change(Integer)0260frmCashVoucher.txtParentMaster4Main_Change(Integer)
txtParentMaster5Main_Change(Integer)0260frmCashVoucher.txtParentMaster5Main_Change(Integer)
Fill_Form()01250frmCashVoucher.Fill_Form()
Clear_Form()0640frmCashVoucher.Clear_Form()
Check_Form()0960frmCashVoucher.Check_Form()
Set_Fields()0400frmCashVoucher.Set_Fields()
Fetch_Parent_Fields()0820frmCashVoucher.Fetch_Parent_Fields()
Add_Record_in_Parent()0340frmCashVoucher.Add_Record_in_Parent()

Statistics

Stat   Percentage Comment   # lines of code (LOC)   # lines of comment
Sum:5968 426392
Average:3.5349.862.32
Minimum:0210
Maximum:1939326
Standard deviation:5.4637.954.35
Variance:29.821 44018.93
warningCritical    Rule warning: Types with too many methods
// <Name>Types with too many methods</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Methods.Count() > 20 && !t.IsGlobal
  
orderby t.Methods.Count() descending
select new {t,NbMethods=t.Methods.Count()}

// Types where Methods.Count() > 20 might be hard to 
// understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of methods. 

19 types matched

types# MethodsFull Name
vbalColumnTreeView273vbalColumnTreeView
cHeaderControl107cHeaderControl
vbalExplorerBarCtl99vbalExplorerBarCtl
frmForm3C91frmForm3C
cCTreeViewNode88cCTreeViewNode
frmIndoor59frmIndoor
frmCashVoucher59frmCashVoucher
cAVICtrl54cAVICtrl
cExplorerBar46cExplorerBar
vbalAVIPlayer38vbalAVIPlayer
cExplorerBarItem35cExplorerBarItem
frmPatient35frmPatient
cScrollBars32cScrollBars
FroggerExtreme_Frm_Main32FroggerExtreme_Frm_Main
pcScrollBars31pcScrollBars
Frm_Main30Frm_Main
pcAlphaDibSection27pcAlphaDibSection
frmTestExplorerBar27frmTestExplorerBar
cCommonDialog23cCommonDialog

Statistics

Stat   # Methods
Sum:1 186
Average:62.42
Minimum:23
Maximum:273
Standard deviation:55.99
Variance:3 134
warningCritical    Rule warning: Types with too many fields
// <Name>Types with too many fields</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Fields.Count() > 20 && 
  
!t.IsEnumeration && !t.IsGlobal
  
orderby t.Fields.Count() descending
select new { t,NbFields= t.Fields.Count()}

// Types where Fields.Count() > 20 and not IsEnumeration 
// might be hard to understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of fields. 

22 types matched

types# FieldsFull Name
vbalColumnTreeView330vbalColumnTreeView
cHeaderControl316cHeaderControl
frmForm3C139frmForm3C
cVBALSysImageList131cVBALSysImageList
vbalExplorerBarCtl96vbalExplorerBarCtl
frmIndoor85frmIndoor
frmCashVoucher84frmCashVoucher
FroggerExtreme_Frm_Main79FroggerExtreme_Frm_Main
cScrollBars77cScrollBars
pcScrollBars77pcScrollBars
Frm_Main73Frm_Main
cAVICtrl67cAVICtrl
frmPatient57frmPatient
pcExplorerBar40pcExplorerBar
pcAlphaDibSection36pcAlphaDibSection
cCommonDialog32cCommonDialog
tTreeViewInfoStore29tTreeViewInfoStore
frmTestSearchBar28frmTestSearchBar
vbalAVIPlayer27vbalAVIPlayer
DevMode26DevMode
pcExplorerBarItem23pcExplorerBarItem
frmTestExplorerBar23frmTestExplorerBar

Statistics

Stat   # Fields
Sum:1 875
Average:85.23
Minimum:23
Maximum:330
Standard deviation:82.05
Variance:6 732
warningCritical    Rule warning: Types with poor cohesion
// <Name>Types with poor cohesion</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
(t.LCOM > 0.8 || t.LCOMHS > 0.95) && 
  
t.NbFields > 10 && 
  
t.NbMethods >10 && !t.IsGlobal
  
orderby t.LCOM descending, t.LCOMHS descending
select new { t, t.LCOM, t.LCOMHS, 
                
t.NbMethods, t.NbFields }

// Types where LCOM > 0.8 and NbFields > 10 
// and NbMethods >10 might be problematic. 
// However, it is very hard to avoid such 
// non-cohesive types. The LCOMHS metric
// is often considered as more efficient to 
// detect non-cohesive types.
// See the definition of the LCOM metric here 
// http://www.vbdepend.com/Metrics.aspx#LCOM

20 types matched

typesLack of Cohesion Of Methods (LCOM)LCOM Henderson-Sellers (LCOMHS)# Methods# FieldsFull Name
vbalColumnTreeView0.991274330vbalColumnTreeView
cHeaderControl0.991108316cHeaderControl
cVBALSysImageList0.991.0419131cVBALSysImageList
vbalExplorerBarCtl0.970.9810096vbalExplorerBarCtl
frmTestExplorerBar0.9712823frmTestExplorerBar
cScrollBars0.9713377cScrollBars
cAVICtrl0.970.985567cAVICtrl
pcScrollBars0.9713277pcScrollBars
vbalAVIPlayer0.950.983927vbalAVIPlayer
cCommonDialog0.950.992432cCommonDialog
pcAlphaDibSection0.950.992836pcAlphaDibSection
FroggerExtreme_Frm_Main0.950.983379FroggerExtreme_Frm_Main
frmForm3C0.950.9692139frmForm3C
Frm_Main0.950.983173Frm_Main
pcExplorerBar0.920.981740pcExplorerBar
frmIndoor0.920.936085frmIndoor
frmCashVoucher0.920.936084frmCashVoucher
frmPatient0.910.943657frmPatient
frmTestSearchBar0.870.941428frmTestSearchBar
frmMediaSearch0.870.931516frmMediaSearch

Statistics

Stat   Lack of Cohesion Of Methods (LCOM)   LCOM Henderson-Sellers (LCOMHS)   # Methods   # Fields
Sum:18.9119.521 0981 813
Average:0.950.9854.990.65
Minimum:0.870.931416
Maximum:0.991.04274330
Standard deviation:0.0340.02957.1684.19
Variance:0.00120.000843 2677 088

030
Dead Code  

warningCritical    Rule warning: Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods)
// Select types unused

from t in tt  
select new { t }
        
        

176 types matched

typesFull Name
UserControlUserControl
ImageImage
CheckBoxCheckBox
AppApp
FormForm
ShapeShape
LineLine
LabelLabel
TimerTimer
ScreenScreen
PictureBoxPictureBox
TextBoxTextBox
FrameFrame
CommandButtonCommandButton
OptionButtonOptionButton
ComboBoxComboBox
ListBoxListBox
PrinterPrinter
CollectionCollection
ErrObjectErrObject
_HiddenModule_HiddenModule
StringsStrings
InformationInformation
ConstantsConstants
ConversionConversion
MathMath
InteractionInteraction
DateTimeDateTime
FileSystemFileSystem
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
FontFont
StdFontStdFont
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
INodeINode
NodeNode
INodesINodes
TreeViewTreeView
StatusBarStatusBar
FieldsFields
FieldField
ConnectionConnection
CommandCommand
RecordsetRecordset
vbalColumnTreeViewvbalColumnTreeView
DLLVERSIONINFODLLVERSIONINFO
NMCHARNMCHAR
NMCUSTOMDRAWNMCUSTOMDRAW
NMHDRNMHDR
NMTREEVIEW_textptrNMTREEVIEW_textptr
NMTVCUSTOMDRAWNMTVCUSTOMDRAW
vbalCTreeViewLib_POINTAPIvbalCTreeViewLib_POINTAPI
vbalCTreeViewLib_RECTvbalCTreeViewLib_RECT
tTreeViewInfoStoretTreeViewInfoStore
TVDISPINFO_ptrTVDISPINFO_ptr
TVHITTESTINFOTVHITTESTINFO
TVINSERTSTRUCTTVINSERTSTRUCT
TVITEM_textptrTVITEM_textptr
TVITEMEXTVITEMEX
TVKEYDOWNTVKEYDOWN
TVSORTCBTVSORTCB
cCTreeViewNodecCTreeViewNode
cCTreeViewNodescCTreeViewNodes
mIMallocmIMalloc
GUIDGUID
IPAOHookStructIPAOHookStruct
mTreeViewIOLEIPAOmTreeViewIOLEIPAO
pcImageListDragpcImageListDrag
cHeaderControlcHeaderControl
HDITEMAHDITEMA
HDITEMWHDITEMW
HDLAYOUTHDLAYOUT
HDTEXTFILTERHDTEXTFILTER
vbalCTreeViewLib_LOGFONTvbalCTreeViewLib_LOGFONT
vbalCTreeViewLib_NMHDRvbalCTreeViewLib_NMHDR
NMHEADERNMHEADER
vbalCTreeViewLib_POINTAPIvbalCTreeViewLib_POINTAPI
vbalCTreeViewLib_RECTvbalCTreeViewLib_RECT
tGroupColtGroupCol
WINDOWPOSWINDOWPOS
cCTreeViewColumnscCTreeViewColumns
cCTreeViewColumncCTreeViewColumn
cCTreeViewNodeSubItemcCTreeViewNodeSubItem
cScrollBarscScrollBars
SCROLLINFOSCROLLINFO
cSubItemscSubItems
frmMultiColumnfrmMultiColumn

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&
         
!m.IsConstructor 
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

630 methods matched

methodsMethodsCallingMedepthFull Name
hItemFromDragData(DataObject,Long)0 method0vbalColumnTreeView.hItemFromDragData(DataObject,Long)
getSubItems(Long,Long)2 methods1vbalColumnTreeView.getSubItems(Long,Long)
pSetFont(Long,IFont)2 methods1vbalColumnTreeView.pSetFont(Long,IFont)
plAddFont(IFont)1 method2vbalColumnTreeView.plAddFont(IFont)
OnDoubleClick(Long)1 method1vbalColumnTreeView.OnDoubleClick(Long)
OnCheckStateChanged(Long)1 method1vbalColumnTreeView.OnCheckStateChanged(Long)
OnClick()1 method1vbalColumnTreeView.OnClick()
OnBeginDrag(Long)1 method1vbalColumnTreeView.OnBeginDrag(Long)
OnNodeClick(Long)1 method1vbalColumnTreeView.OnNodeClick(Long)
OnRightClick(POINTAPI,Long)1 method1vbalColumnTreeView.OnRightClick(POINTAPI,Long)
OnBeforeLabelEdit(Long,Boolean)1 method1vbalColumnTreeView.OnBeforeLabelEdit(Long,Boolean)
OnAfterLabelEdit(Long,String,Boolean)1 method1vbalColumnTreeView.OnAfterLabelEdit(Long,String,Boolean)
OnItemExpand(Long,Long)1 method1vbalColumnTreeView.OnItemExpand(Long,Long)
OnItemExpanding(Long,Long,Boolean)1 method1vbalColumnTreeView.OnItemExpanding(Long,Long,Boolean)
OnKeyDown(Integer)1 method1vbalColumnTreeView.OnKeyDown(Integer)
OnKeyPress(Long)1 method1vbalColumnTreeView.OnKeyPress(Long)
OnSelChanged()1 method1vbalColumnTreeView.OnSelChanged()
OnSelChanging()1 method1vbalColumnTreeView.OnSelChanging()
OnSingleExpand(Long,Long)0 method0vbalColumnTreeView.OnSingleExpand(Long,Long)
OnMouseDown(Long)1 method1vbalColumnTreeView.OnMouseDown(Long)
OnMouseMove()1 method1vbalColumnTreeView.OnMouseMove()
OnMouseUp(Long)1 method1vbalColumnTreeView.OnMouseUp(Long)
pButton(Long)3 methods2vbalColumnTreeView.pButton(Long)
pShiftState()4 methods2vbalColumnTreeView.pShiftState()
pDeleteItem(Long)1 method1vbalColumnTreeView.pDeleteItem(Long)
pbIsState(Long,Boolean)8 methods1vbalColumnTreeView.pbIsState(Long,Boolean)
pSetState(Long,Long,Boolean,Boolean)4 methods1vbalColumnTreeView.pSetState(Long,Long,Boolean,Boolean)
TranslateColor(OLE_COLOR,Long)1 method3vbalColumnTreeView.TranslateColor(OLE_COLOR,Long)
pInitialize()2 methods1vbalColumnTreeView.pInitialize()
ComCtlVersion(Long,Long,Long)1 method2vbalColumnTreeView.ComCtlVersion(Long,Long,Long)
CustomDraw(Long)1 method1vbalColumnTreeView.CustomDraw(Long)
CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW,tTreeViewInfoStore)1 method2vbalColumnTreeView.CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW ,tTreeViewInfoStore)
CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW,tTreeViewInfoStore)1 method2vbalColumnTreeView.CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW ,tTreeViewInfoStore)
ISubclass_WindowProc(Long,Long,Long,Long)0 method0vbalColumnTreeView.ISubclass_WindowProc(Long,Long,Long,Long)
m_cHeader_ColumnWidthChanged(Long,Long)0 method0vbalColumnTreeView.m_cHeader_ColumnWidthChanged(Long,Long)
m_cScroll_Change(EFSScrollBarConstants)1 method1vbalColumnTreeView.m_cScroll_Change(EFSScrollBarConstants)
m_cScroll_Scroll(EFSScrollBarConstants)0 method0vbalColumnTreeView.m_cScroll_Scroll(EFSScrollBarConstants)
tmrDragAutoExpand_ThatTime()0 method0vbalColumnTreeView.tmrDragAutoExpand_ThatTime()
tmrDragNoMore_ThatTime()0 method0vbalColumnTreeView.tmrDragNoMore_ThatTime()
tmrDragScroll_ThatTime()0 method0vbalColumnTreeView.tmrDragScroll_ThatTime()
UserControl_Initialize()0 method0vbalColumnTreeView.UserControl_Initialize()
UserControl_InitProperties()0 method0vbalColumnTreeView.UserControl_InitProperties()
UserControl_OLECompleteDrag(Long)0 method0vbalColumnTreeView.UserControl_OLECompleteDrag(Long)
UserControl_OLEDragDrop(DataObject,Long,Integer,Integer,Single,Single)0 method0vbalColumnTreeView.UserControl_OLEDragDrop(DataObject,Long,Integer ,Integer,Single,Single)
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)0 method0vbalColumnTreeView.UserControl_OLEDragOver(DataObject,Long,Integer ,Integer,Single,Single,Integer)
UserControl_OLEGiveFeedback(Long,Boolean)0 method0vbalColumnTreeView.UserControl_OLEGiveFeedback(Long,Boolean)
UserControl_OLEStartDrag(DataObject,Long)0 method0vbalColumnTreeView.UserControl_OLEStartDrag(DataObject,Long)
UserControl_ReadProperties(PropertyBag)0 method0vbalColumnTreeView.UserControl_ReadProperties(PropertyBag)
UserControl_Show()0 method0vbalColumnTreeView.UserControl_Show()
UserControl_Terminate()0 method0vbalColumnTreeView.UserControl_Terminate()
UserControl_WriteProperties(PropertyBag)0 method0vbalColumnTreeView.UserControl_WriteProperties(PropertyBag)
TranslateAccelerator(VBOleGuids::MSG)1 method1vbalColumnTreeView.TranslateAccelerator(VBOleGuids::MSG)
fColumnForID(Long)0 method0vbalColumnTreeView.fColumnForID(Long)
Get_fColumn(Variant)0 method0vbalColumnTreeView.Get_fColumn(Variant)
Get_fColumnKey(Long)0 method0vbalColumnTreeView.Get_fColumnKey(Long)
Get_fColumnTag(Long)0 method0vbalColumnTreeView.Get_fColumnTag(Long)
Let_fColumnTag(Long,String)0 method0vbalColumnTreeView.Let_fColumnTag(Long,String)
Get_fColumnText(Long)0 method0vbalColumnTreeView.Get_fColumnText(Long)
Let_fColumnText(Long,String)0 method0vbalColumnTreeView.Let_fColumnText(Long,String)
Get_fColumnImage(Long)0 method0vbalColumnTreeView.Get_fColumnImage(Long)
Let_fColumnImage(Long,Long)0 method0vbalColumnTreeView.Let_fColumnImage(Long,Long)
Get_fColumnWidth(Long)0 method0vbalColumnTreeView.Get_fColumnWidth(Long)
Let_fColumnWidth(Long,Long)0 method0vbalColumnTreeView.Let_fColumnWidth(Long,Long)
Get_fCount(Long)0 method0vbalColumnTreeView.Get_fCount(Long)
fParentContainsItem(Long,Long)0 method0vbalColumnTreeView.fParentContainsItem(Long,Long)
Get_fDropTarget()0 method0vbalColumnTreeView.Get_fDropTarget()
Let_fDropTarget(Long)0 method0vbalColumnTreeView.Let_fDropTarget(Long)
Get_fItemSubItem(Long,Long)0 method0vbalColumnTreeView.Get_fItemSubItem(Long,Long)
Get_fSubItemText(Long,Long)0 method0vbalColumnTreeView.Get_fSubItemText(Long,Long)
Let_fSubItemText(Long,Long,String)0 method0vbalColumnTreeView.Let_fSubItemText(Long,Long,String)
Get_fSubItemImage(Long,Long)0 method0vbalColumnTreeView.Get_fSubItemImage(Long,Long)
Let_fSubItemImage(Long,Long,Long)0 method0vbalColumnTreeView.Let_fSubItemImage(Long,Long,Long)
Get_fItemBackColor(Long)0 method0vbalColumnTreeView.Get_fItemBackColor(Long)
Let_fItemBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemBackColor(Long,OLE_COLOR)
Get_fItemSelectedBackColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedBackColor(Long)
Let_fItemSelectedBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedBackColor(Long,OLE_COLOR)
Get_fItemMouseOverBackColor(Long)0 method0vbalColumnTreeView.Get_fItemMouseOverBackColor(Long)
Let_fItemMouseOverBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemMouseOverBackColor(Long,OLE_COLOR)
Get_fItemSelectedMouseOverBackColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedMouseOverBackColor(Long)
Let_fItemSelectedMouseOverBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedMouseOverBackColor(Long,OLE_COLOR)
Get_fItemSelectedNoFocusBackColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedNoFocusBackColor(Long)
Let_fItemSelectedNoFocusBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedNoFocusBackColor(Long,OLE_COLOR)
Get_fItemBold(Long)0 method0vbalColumnTreeView.Get_fItemBold(Long)
Let_fItemBold(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemBold(Long,Boolean)
Get_fItemChecked(Long)0 method0vbalColumnTreeView.Get_fItemChecked(Long)
Let_fItemChecked(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemChecked(Long,Boolean)
Get_fItemNoCheckBox(Long)0 method0vbalColumnTreeView.Get_fItemNoCheckBox(Long)
Let_fItemNoCheckBox(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemNoCheckBox(Long,Boolean)
Get_fItemForeColor(Long)0 method0vbalColumnTreeView.Get_fItemForeColor(Long)
Let_fItemForeColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemForeColor(Long,OLE_COLOR)
Get_fItemMouseOverColor(Long)0 method0vbalColumnTreeView.Get_fItemMouseOverColor(Long)
Let_fItemMouseOverColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemMouseOverColor(Long,OLE_COLOR)
Get_fItemSelectedColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedColor(Long)
Let_fItemSelectedColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedColor(Long,OLE_COLOR)
Get_fItemSelectedMouseOverColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedMouseOverColor(Long)
Let_fItemSelectedMouseOverColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedMouseOverColor(Long,OLE_COLOR)
Get_fItemSelectedNoFocusColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedNoFocusColor(Long)
Let_fItemSelectedNoFocusColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedNoFocusColor(Long,OLE_COLOR)
Get_fItemCut(Long)0 method0vbalColumnTreeView.Get_fItemCut(Long)
Let_fItemCut(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemCut(Long,Boolean)

Statistics

Stat   MethodsCallingMe   depth
Sum:0109
Average:00.17
Minimum:00
Maximum:04
Standard deviation:00.48
Variance:00.23
warningCritical    Rule warning: Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

625 fields matched

fieldsFull Name
OPAQUEvbalColumnTreeView.OPAQUE
DT_BOTTOMvbalColumnTreeView.DT_BOTTOM
DT_CENTERvbalColumnTreeView.DT_CENTER
DT_LEFTvbalColumnTreeView.DT_LEFT
DT_WORDBREAKvbalColumnTreeView.DT_WORDBREAK
DT_VCENTERvbalColumnTreeView.DT_VCENTER
DT_TOPvbalColumnTreeView.DT_TOP
DT_TABSTOPvbalColumnTreeView.DT_TABSTOP
DT_SINGLELINEvbalColumnTreeView.DT_SINGLELINE
DT_RIGHTvbalColumnTreeView.DT_RIGHT
DT_NOCLIPvbalColumnTreeView.DT_NOCLIP
DT_INTERNALvbalColumnTreeView.DT_INTERNAL
DT_EXTERNALLEADINGvbalColumnTreeView.DT_EXTERNALLEADING
DT_EXPANDTABSvbalColumnTreeView.DT_EXPANDTABS
DT_CHARSTREAMvbalColumnTreeView.DT_CHARSTREAM
DT_WORD_ELLIPSISvbalColumnTreeView.DT_WORD_ELLIPSIS
SWP_SHOWWINDOWvbalColumnTreeView.SWP_SHOWWINDOW
m_bDraggingvbalColumnTreeView.m_bDragging
ISubclass_MsgResponsevbalColumnTreeView.ISubclass_MsgResponse
WS_BORDERvbalColumnTreeView.WS_BORDER
WS_DISABLEDvbalColumnTreeView.WS_DISABLED
WM_SETREDRAWvbalColumnTreeView.WM_SETREDRAW
WM_USERvbalColumnTreeView.WM_USER
MA_ACTIVATEvbalColumnTreeView.MA_ACTIVATE
MA_ACTIVATEANDEATvbalColumnTreeView.MA_ACTIVATEANDEAT
MA_NOACTIVATEANDEATvbalColumnTreeView.MA_NOACTIVATEANDEAT
ICC_TREEVIEW_CLASSESvbalColumnTreeView.ICC_TREEVIEW_CLASSES
CCM_FIRSTvbalColumnTreeView.CCM_FIRST
CCM_GETVERSIONvbalColumnTreeView.CCM_GETVERSION
CCM_SETNOTIFYWINDOWvbalColumnTreeView.CCM_SETNOTIFYWINDOW
NM_FIRSTvbalColumnTreeView.NM_FIRST
NM_CLICKvbalColumnTreeView.NM_CLICK
NM_CUSTOMDRAWvbalColumnTreeView.NM_CUSTOMDRAW
NM_DBLCLKvbalColumnTreeView.NM_DBLCLK
NM_KILLFOCUSvbalColumnTreeView.NM_KILLFOCUS
NM_RCLICKvbalColumnTreeView.NM_RCLICK
NM_RETURNvbalColumnTreeView.NM_RETURN
NM_CHARvbalColumnTreeView.NM_CHAR
TVE_COLLAPSERESETvbalColumnTreeView.TVE_COLLAPSERESET
TVC_BYKEYBOARDvbalColumnTreeView.TVC_BYKEYBOARD
TVC_BYMOUSEvbalColumnTreeView.TVC_BYMOUSE
TVC_UNKNOWNvbalColumnTreeView.TVC_UNKNOWN
TVGN_LASTVISIBLEvbalColumnTreeView.TVGN_LASTVISIBLE
TVI_SORTvbalColumnTreeView.TVI_SORT
TVIF_DI_SETITEMvbalColumnTreeView.TVIF_DI_SETITEM
TVIS_OVERLAYMASKvbalColumnTreeView.TVIS_OVERLAYMASK
TVIS_SELECTEDvbalColumnTreeView.TVIS_SELECTED
TVIS_USERMASKvbalColumnTreeView.TVIS_USERMASK
TV_FIRSTvbalColumnTreeView.TV_FIRST
TVM_GETBKCOLORvbalColumnTreeView.TVM_GETBKCOLOR
TVM_GETBORDERvbalColumnTreeView.TVM_GETBORDER
TVM_GETIMAGELISTvbalColumnTreeView.TVM_GETIMAGELIST
TVM_GETINDENTvbalColumnTreeView.TVM_GETINDENT
TVM_GETISEARCHSTRINGAvbalColumnTreeView.TVM_GETISEARCHSTRINGA
TVM_GETITEMHEIGHTvbalColumnTreeView.TVM_GETITEMHEIGHT
TVM_GETSCROLLTIMEvbalColumnTreeView.TVM_GETSCROLLTIME
TVM_GETTEXTCOLORvbalColumnTreeView.TVM_GETTEXTCOLOR
TVM_SETBORDERvbalColumnTreeView.TVM_SETBORDER
TVM_SETTOOLTIPSvbalColumnTreeView.TVM_SETTOOLTIPS
TVM_GETLINECOLORvbalColumnTreeView.TVM_GETLINECOLOR
TVN_FIRSTvbalColumnTreeView.TVN_FIRST
TVN_BEGINLABELEDITvbalColumnTreeView.TVN_BEGINLABELEDIT
TVN_BEGINDRAGvbalColumnTreeView.TVN_BEGINDRAG
TVN_BEGINRDRAGvbalColumnTreeView.TVN_BEGINRDRAG
TVN_DELETEITEMvbalColumnTreeView.TVN_DELETEITEM
TVN_GETDISPINFOvbalColumnTreeView.TVN_GETDISPINFO
TVN_GETINFOTIPvbalColumnTreeView.TVN_GETINFOTIP
TVN_KEYDOWNvbalColumnTreeView.TVN_KEYDOWN
TVN_ENDLABELEDITvbalColumnTreeView.TVN_ENDLABELEDIT
TVN_ITEMEXPANDEDvbalColumnTreeView.TVN_ITEMEXPANDED
TVN_ITEMEXPANDINGvbalColumnTreeView.TVN_ITEMEXPANDING
TVN_SELCHANGEDvbalColumnTreeView.TVN_SELCHANGED
TVN_SELCHANGINGvbalColumnTreeView.TVN_SELCHANGING
TVN_SINGLEEXPANDvbalColumnTreeView.TVN_SINGLEEXPAND
TVS_DISABLEDRAGDROPvbalColumnTreeView.TVS_DISABLEDRAGDROP
TVS_NONEVENHEIGHTvbalColumnTreeView.TVS_NONEVENHEIGHT
TVHT_NOWHEREvbalColumnTreeView.TVHT_NOWHERE
TVHT_ONITEMICONvbalColumnTreeView.TVHT_ONITEMICON
TVHT_ONITEMLABELvbalColumnTreeView.TVHT_ONITEMLABEL
TVHT_ONITEMINDENTvbalColumnTreeView.TVHT_ONITEMINDENT
TVHT_ONITEMBUTTONvbalColumnTreeView.TVHT_ONITEMBUTTON
TVHT_ONITEMvbalColumnTreeView.TVHT_ONITEM
TVHT_ABOVEvbalColumnTreeView.TVHT_ABOVE
TVHT_BELOWvbalColumnTreeView.TVHT_BELOW
TVHT_TORIGHTvbalColumnTreeView.TVHT_TORIGHT
TVHT_TOLEFTvbalColumnTreeView.TVHT_TOLEFT
TVSBF_XBORDERvbalColumnTreeView.TVSBF_XBORDER
TVSBF_YBORDERvbalColumnTreeView.TVSBF_YBORDER
CDDS_ITEMvbalColumnTreeView.CDDS_ITEM
CDDS_POSTERASEvbalColumnTreeView.CDDS_POSTERASE
CDDS_POSTPAINTvbalColumnTreeView.CDDS_POSTPAINT
CDDS_PREERASEvbalColumnTreeView.CDDS_PREERASE
CDDS_PREPAINTvbalColumnTreeView.CDDS_PREPAINT
CDDS_ITEMPREPAINTvbalColumnTreeView.CDDS_ITEMPREPAINT
CDDS_ITEMPOSTPAINTvbalColumnTreeView.CDDS_ITEMPOSTPAINT
CDDS_SUBITEMvbalColumnTreeView.CDDS_SUBITEM
CDIS_GRAYEDvbalColumnTreeView.CDIS_GRAYED
CDIS_DISABLEDvbalColumnTreeView.CDIS_DISABLED
CDIS_CHECKEDvbalColumnTreeView.CDIS_CHECKED
CDIS_DEFAULTvbalColumnTreeView.CDIS_DEFAULT

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

140
Naming Conventions  

warningCritical    Rule warning: fields should begin with a Lower character
// <Name>fields should begin with a Lower character</Name>
warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^[a-z]")  
  
// Don't hesitate to customize the regex of NameLike to your preference. 
  && !f.IsEnumValue && !f.IsThirdParty 
select new { f }).Take(10)

10 fields matched

fieldsFull Name
OPAQUEvbalColumnTreeView.OPAQUE
TRANSPARENTvbalColumnTreeView.TRANSPARENT
BDR_SUNKENINNERvbalColumnTreeView.BDR_SUNKENINNER
BF_RIGHTvbalColumnTreeView.BF_RIGHT
BF_BOTTOMvbalColumnTreeView.BF_BOTTOM
DT_BOTTOMvbalColumnTreeView.DT_BOTTOM
DT_CENTERvbalColumnTreeView.DT_CENTER
DT_LEFTvbalColumnTreeView.DT_LEFT
DT_CALCRECTvbalColumnTreeView.DT_CALCRECT
DT_WORDBREAKvbalColumnTreeView.DT_WORDBREAK

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Types name should begin with an Upper character
// <Name>Types name should begin with an Upper character</Name>
warnif count > 0 (from t in Types where 
 
!t.NameLike (@"^[A-Z]")      // The name of a type should begin with an Upper letter.
  && // Except if it is generated by compiler or ...
 !t.IsThirdParty && !t.IsGlobal
select new { t, t.NbLinesOfCode }).Take(10)

10 types matched

types# lines of code (LOC)Full Name
vbalColumnTreeView2 863vbalColumnTreeView
vbalCTreeViewLib_POINTAPI0vbalCTreeViewLib_POINTAPI
vbalCTreeViewLib_RECT0vbalCTreeViewLib_RECT
tTreeViewInfoStore0tTreeViewInfoStore
cCTreeViewNode447cCTreeViewNode
cCTreeViewNodes95cCTreeViewNodes
pcImageListDrag56pcImageListDrag
vbalCTreeViewLib_POINTAPI0vbalCTreeViewLib_POINTAPI
vbalCTreeViewLib_RECT0vbalCTreeViewLib_RECT
cHeaderControl1 682cHeaderControl

Statistics

Stat   # lines of code (LOC)
Sum:5 143
Average:514.3
Minimum:0
Maximum:2 863
Standard deviation:926.97
Variance:859 281
warningCritical    Rule warning: Avoid types with name too long
// <Name>Avoid types with name too long</Name>
warnif count > 0 from t in Application.Types 
where  !t.IsThirdParty

where t.SimpleName.Length > 35 
select new { t, t.SimpleName }

      

3 types matched

typesSimpleNameFull Name
vbalExplorerBarLib_EFSOrientationConstantsvbalExplorerBarLib_EFSOrientationConstantsvbalExplorerBarLib_EFSOrientationConstants
vbalExplorerBarLib_EFSStyleConstantsvbalExplorerBarLib_EFSStyleConstantsvbalExplorerBarLib_EFSStyleConstants
vbalExplorerBarLib_EFSScrollBarConstantsvbalExplorerBarLib_EFSScrollBarConstantsvbalExplorerBarLib_EFSScrollBarConstants

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid methods with name too long
// <Name>Avoid methods with name too long</Name>
warnif count > 0 from m in Application.Methods where 
   
m.SimpleName.Length > 35 && !m.IsThirdParty

select new { m, m.SimpleName }

// The regex matches methods with name longer 
// than 35 characters.
// Method Name doesn't contain the type and namespace 
// prefix, FullName does.
// The regex computes the method name length from 
// the beginning until the first open parenthesis 
// or first lower than (for generic methods).
      

1 methods matched

methodSimpleNameFull Name
pLoadColourisedFakeShellStyleBitmaps()pLoadColourisedFakeShellStyleBitmapsvbalExplorerBarCtl.pLoadColourisedFakeShellStyleBitmaps()

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

API Breaking Changes

API Breaking Changes: Types
// <Name>API Breaking Changes: Types</Name>
// This rule warns if a publicly visible type is 
// not publicly visible anymore or if it has been removed.
// Such type can break the code of your clients.

warnif count > 0 from t in codeBase.OlderVersion().Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasRemoved() && !t.ParentProject.WasRemoved()) ||

     
// ... or the type is not publicly visible anymore
       !t.WasRemoved() && !t.NewerVersion().IsPublic)

select new { t,
             
NewVisibility = (t.WasRemoved() ? " " : t.NewerVersion().Visibility.ToString()) }

No types matched

API Breaking Changes: Methods
// <Name>API Breaking Changes: Methods</Name>
// This rule warns if a publicly visible method is 
// not publicly visible anymore or if it has been removed.
// Such method can break the code of your clients.

warnif count > 0 from m in codeBase.OlderVersion().Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent type hasn't been removed ...
     ( (m.WasRemoved() && !m.ParentType.WasRemoved()) ||

     
// ... or the method is not publicly visible anymore
       !m.WasRemoved() && !m.NewerVersion().IsPublic)

select new { m,
             
NewVisibility = (m.WasRemoved() ? " " : m.NewerVersion().Visibility.ToString()) }

No methods matched

API Breaking Changes: Fields
// <Name>API Breaking Changes: Fields</Name>
// This rule warns if a publicly visible field is 
// not publicly visible anymore or if it has been removed.
// Such field can break the code of your clients.

warnif count > 0 from f in codeBase.OlderVersion().Application.Fields
where f.IsPublic &&

     
// The field has been removed and its parent type hasn't been removed ...
     ( (f.WasRemoved() && !f.ParentType.WasRemoved()) ||

     
// ... or the field is not publicly visible anymore
       !f.WasRemoved() && !f.NewerVersion().IsPublic)

select new { f,
             
NewVisibility = (f.WasRemoved() ? " " : f.NewerVersion().Visibility.ToString()) }

No fields matched

API: New publicly visible types
// <Name>API: New publicly visible types</Name>
// List types that are new in the public surface of your Projects

from t in Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasAdded() && !t.ParentProject.WasAdded()) ||

     
// ... or the type existed but was not publicly visible
       !t.WasAdded() && !t.OlderVersion().IsPublic)

select new { t,
             
OldVisibility = (t.WasAdded() ? " " : t.OlderVersion().Visibility.ToString()) }

No types matched

API: New publicly visible methods
// <Name>API: New publicly visible methods</Name>
// List methods that are new in the public surface of your Projects

from m in Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent project hasn'm been removed ...
     ( (m.WasAdded() && !m.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !m.WasAdded() && !m.OlderVersion().IsPublic)

select new { m,
             
OldVisibility = (m.WasAdded() ? " " : m.OlderVersion().Visibility.ToString()) }

No methods matched

API: New publicly visible fields
// <Name>API: New publicly visible fields</Name>
// List fields that are new in the public surface of your Projects

from f in Application.Fields
where f.IsPublic && 

     
// The method has been removed and its parent project hasn'f been removed ...
     ( (f.WasAdded() && !f.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !f.WasAdded() && !f.OlderVersion().IsPublic)

select new { f,
             
OldVisibility = (f.WasAdded() ? " " : f.OlderVersion().Visibility.ToString()) }

No fields matched

Code Diff Summary

New Projects
// <Name>New Projects</Name>
from a in Application.Projects where a.WasAdded()
select new { a, a.NbLinesOfCode }

No projects matched

Projects removed
// <Name>Projects removed</Name>
from a in codeBase.OlderVersion().Application.Projects where a.WasRemoved()
select new { a, a.NbLinesOfCode }

No projects matched

Projects where code was changed
// <Name>Projects where code was changed</Name>
from a in Application.Projects where a.CodeWasChanged()
select new { a, a.NbLinesOfCode, 
             
oldNbLinesOfCode = a.OlderVersion().NbLinesOfCode ,
             
delta = (int) a.NbLinesOfCode - a.OlderVersion().NbLinesOfCode }

No projects matched

New types
// <Name>New types</Name>
from t in Application.Types where 
 
  
t.WasAdded()
select new { t, t.NbLinesOfCode }

No types matched

Types removed
// <Name>Types removed</Name>
from t in codeBase.OlderVersion().Application.Types where 
 
  
t.WasRemoved()
select new { t, t.NbLinesOfCode }

No types matched

Types where code was changed
// <Name>Types where code was changed</Name>
// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from t in Application.Types where t.CodeWasChanged() 
//select new { t, t.NbLinesOfCode }
select new { t, t.NbLinesOfCode, 
             
oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             
delta = (int?) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode } 
/*from t in Application.Types where t.CodeWasChanged() && t.IsPresentInBothBuild
select new { t, t.NbLinesOfCode, 
             oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             delta = (int) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode }*/

No types matched

Types directly using one or several types changed
// <Name>Types directly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

from t in JustMyCode.Types.UsingAny(typesChanged) where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()
let typesChangedUsed = t.TypesUsed.Intersect(typesChanged) 
select new { t, typesChangedUsed }

No types matched

Types indirectly using one or several types changed
// <Name>Types indirectly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on types using
// directly or indirectly any type where code was changed.
let depth = JustMyCode.Types.DepthOfIsUsingAny(typesChanged) 

from t in depth.DefinitionDomain where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()

let typesChangedDirectlyUsed = t.TypesUsed.Intersect(typesChanged) 
let depthOfUsingTypesChanged = depth[t]
orderby depthOfUsingTypesChanged 

select new { t, depthOfUsingTypesChanged, typesChangedDirectlyUsed }

No types matched

New methods
// <Name>New methods</Name>
from m in Application.Methods where 
 
!m.ParentType.WasAdded() &&
  
m.WasAdded()
select new { m, m.NbLinesOfCode }

No methods matched

Methods removed
// <Name>Methods removed</Name>
from m in codeBase.OlderVersion().Application.Methods where 
 
!m.ParentType.WasRemoved() &&
  
m.WasRemoved()
select new { m, m.NbLinesOfCode }

No methods matched

Methods where code was changed
// <Name>Methods where code was changed</Name>
// To visualize changes in code, right-click a matched method and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from m in Application.Methods where m.CodeWasChanged()
select new { m, m.NbLinesOfCode, 
             
oldNbLinesOfCode = m.OlderVersion().NbLinesOfCode ,
             
delta = (int?) m.NbLinesOfCode - m.OlderVersion().NbLinesOfCode }

No methods matched

Methods directly calling one or several methods changed
// <Name>Methods directly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

from m in JustMyCode.Methods.UsingAny(methodsChanged ) where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()
let methodsChangedCalled = m.MethodsCalled.Intersect(methodsChanged) 
select new { m, methodsChangedCalled }

No methods matched

Methods indirectly calling one or several methods changed
// <Name>Methods indirectly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on methods using
// directly or indirectly any method where code was changed.
let depth = JustMyCode.Methods.DepthOfIsUsingAny(methodsChanged) 

from m in depth.DefinitionDomain where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()

let methodsChangedDirectlyUsed = m.MethodsCalled.Intersect(methodsChanged) 
let depthOfUsingMethodsChanged = depth[m]
orderby depthOfUsingMethodsChanged 

select new { m, depthOfUsingMethodsChanged, methodsChangedDirectlyUsed }

No methods matched

New fields
// <Name>New fields</Name>
from f in Application.Fields where 
 
!f.ParentType.WasAdded() &&
  
f.WasAdded()
select new { f }

No fields matched

Fields removed
// <Name>Fields removed</Name>
from f in codeBase.OlderVersion().Application.Fields where 
 
!f.ParentType.WasRemoved() &&
  
f.WasRemoved()
select new { f }

No fields matched

Third party types that were not used and that are now used
// <Name>Third party types that were not used and that are now used</Name>
from t in ThirdParty.Types where t.IsUsedRecently()
select new { t, t.Methods, t.Fields } 

No types matched

Third party types that were used and that are not used anymore
// <Name>Third party types that were used and that are not used anymore</Name>
from t in codeBase.OlderVersion().Types where t.IsNotUsedAnymore()
select new { t, t.Methods, t.Fields }  

No types matched

Third party methods that were not used and that are now used
// <Name>Third party methods that were not used and that are now used</Name>
from m in ThirdParty.Methods where 
  
m.IsUsedRecently() &&
 
!m.ParentType.IsUsedRecently()
select m

No methods matched

Third party methods that were used and that are not used anymore
// <Name>Third party methods that were used and that are not used anymore</Name>
from m in codeBase.OlderVersion().Methods where 
  
m.IsNotUsedAnymore() &&
 
!m.ParentType.IsNotUsedAnymore()
select m

No methods matched

Third party fields that were not used and that are now used
// <Name>Third party fields that were not used and that are now used</Name>
from f in ThirdParty.Fields where 
  
f.IsUsedRecently() &&
 
!f.ParentType.IsUsedRecently()
select f

No fields matched

Third party fields that were used and that are not used anymore
// <Name>Third party fields that were used and that are not used anymore</Name>
from f in codeBase.OlderVersion().Fields where 
  
f.IsNotUsedAnymore() &&
 
!f.ParentType.IsNotUsedAnymore()
select f

No fields matched

Dead Code

Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods)
// Select types unused

from t in tt  
select new { t }
        
        

176 types matched

typesFull Name
UserControlUserControl
ImageImage
CheckBoxCheckBox
AppApp
FormForm
ShapeShape
LineLine
LabelLabel
TimerTimer
ScreenScreen
PictureBoxPictureBox
TextBoxTextBox
FrameFrame
CommandButtonCommandButton
OptionButtonOptionButton
ComboBoxComboBox
ListBoxListBox
PrinterPrinter
CollectionCollection
ErrObjectErrObject
_HiddenModule_HiddenModule
StringsStrings
InformationInformation
ConstantsConstants
ConversionConversion
MathMath
InteractionInteraction
DateTimeDateTime
FileSystemFileSystem
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
FontFont
StdFontStdFont
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
GlobalsGlobals
INodeINode
NodeNode
INodesINodes
TreeViewTreeView
StatusBarStatusBar
FieldsFields
FieldField
ConnectionConnection
CommandCommand
RecordsetRecordset
vbalColumnTreeViewvbalColumnTreeView
DLLVERSIONINFODLLVERSIONINFO
NMCHARNMCHAR
NMCUSTOMDRAWNMCUSTOMDRAW
NMHDRNMHDR
NMTREEVIEW_textptrNMTREEVIEW_textptr
NMTVCUSTOMDRAWNMTVCUSTOMDRAW
vbalCTreeViewLib_POINTAPIvbalCTreeViewLib_POINTAPI
vbalCTreeViewLib_RECTvbalCTreeViewLib_RECT
tTreeViewInfoStoretTreeViewInfoStore
TVDISPINFO_ptrTVDISPINFO_ptr
TVHITTESTINFOTVHITTESTINFO
TVINSERTSTRUCTTVINSERTSTRUCT
TVITEM_textptrTVITEM_textptr
TVITEMEXTVITEMEX
TVKEYDOWNTVKEYDOWN
TVSORTCBTVSORTCB
cCTreeViewNodecCTreeViewNode
cCTreeViewNodescCTreeViewNodes
mIMallocmIMalloc
GUIDGUID
IPAOHookStructIPAOHookStruct
mTreeViewIOLEIPAOmTreeViewIOLEIPAO
pcImageListDragpcImageListDrag
cHeaderControlcHeaderControl
HDITEMAHDITEMA
HDITEMWHDITEMW
HDLAYOUTHDLAYOUT
HDTEXTFILTERHDTEXTFILTER
vbalCTreeViewLib_LOGFONTvbalCTreeViewLib_LOGFONT
vbalCTreeViewLib_NMHDRvbalCTreeViewLib_NMHDR
NMHEADERNMHEADER
vbalCTreeViewLib_POINTAPIvbalCTreeViewLib_POINTAPI
vbalCTreeViewLib_RECTvbalCTreeViewLib_RECT
tGroupColtGroupCol
WINDOWPOSWINDOWPOS
cCTreeViewColumnscCTreeViewColumns
cCTreeViewColumncCTreeViewColumn
cCTreeViewNodeSubItemcCTreeViewNodeSubItem
cScrollBarscScrollBars
SCROLLINFOSCROLLINFO
cSubItemscSubItems
frmMultiColumnfrmMultiColumn

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&
         
!m.IsConstructor 
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

630 methods matched

methodsMethodsCallingMedepthFull Name
hItemFromDragData(DataObject,Long)0 method0vbalColumnTreeView.hItemFromDragData(DataObject,Long)
getSubItems(Long,Long)2 methods1vbalColumnTreeView.getSubItems(Long,Long)
pSetFont(Long,IFont)2 methods1vbalColumnTreeView.pSetFont(Long,IFont)
plAddFont(IFont)1 method2vbalColumnTreeView.plAddFont(IFont)
OnDoubleClick(Long)1 method1vbalColumnTreeView.OnDoubleClick(Long)
OnCheckStateChanged(Long)1 method1vbalColumnTreeView.OnCheckStateChanged(Long)
OnClick()1 method1vbalColumnTreeView.OnClick()
OnBeginDrag(Long)1 method1vbalColumnTreeView.OnBeginDrag(Long)
OnNodeClick(Long)1 method1vbalColumnTreeView.OnNodeClick(Long)
OnRightClick(POINTAPI,Long)1 method1vbalColumnTreeView.OnRightClick(POINTAPI,Long)
OnBeforeLabelEdit(Long,Boolean)1 method1vbalColumnTreeView.OnBeforeLabelEdit(Long,Boolean)
OnAfterLabelEdit(Long,String,Boolean)1 method1vbalColumnTreeView.OnAfterLabelEdit(Long,String,Boolean)
OnItemExpand(Long,Long)1 method1vbalColumnTreeView.OnItemExpand(Long,Long)
OnItemExpanding(Long,Long,Boolean)1 method1vbalColumnTreeView.OnItemExpanding(Long,Long,Boolean)
OnKeyDown(Integer)1 method1vbalColumnTreeView.OnKeyDown(Integer)
OnKeyPress(Long)1 method1vbalColumnTreeView.OnKeyPress(Long)
OnSelChanged()1 method1vbalColumnTreeView.OnSelChanged()
OnSelChanging()1 method1vbalColumnTreeView.OnSelChanging()
OnSingleExpand(Long,Long)0 method0vbalColumnTreeView.OnSingleExpand(Long,Long)
OnMouseDown(Long)1 method1vbalColumnTreeView.OnMouseDown(Long)
OnMouseMove()1 method1vbalColumnTreeView.OnMouseMove()
OnMouseUp(Long)1 method1vbalColumnTreeView.OnMouseUp(Long)
pButton(Long)3 methods2vbalColumnTreeView.pButton(Long)
pShiftState()4 methods2vbalColumnTreeView.pShiftState()
pDeleteItem(Long)1 method1vbalColumnTreeView.pDeleteItem(Long)
pbIsState(Long,Boolean)8 methods1vbalColumnTreeView.pbIsState(Long,Boolean)
pSetState(Long,Long,Boolean,Boolean)4 methods1vbalColumnTreeView.pSetState(Long,Long,Boolean,Boolean)
TranslateColor(OLE_COLOR,Long)1 method3vbalColumnTreeView.TranslateColor(OLE_COLOR,Long)
pInitialize()2 methods1vbalColumnTreeView.pInitialize()
ComCtlVersion(Long,Long,Long)1 method2vbalColumnTreeView.ComCtlVersion(Long,Long,Long)
CustomDraw(Long)1 method1vbalColumnTreeView.CustomDraw(Long)
CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW,tTreeViewInfoStore)1 method2vbalColumnTreeView.CustomDrawColumnRenderer(Long,NMTVCUSTOMDRAW ,tTreeViewInfoStore)
CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW,tTreeViewInfoStore)1 method2vbalColumnTreeView.CustomDrawGetColoursAndFonts(NMTVCUSTOMDRAW ,tTreeViewInfoStore)
ISubclass_WindowProc(Long,Long,Long,Long)0 method0vbalColumnTreeView.ISubclass_WindowProc(Long,Long,Long,Long)
m_cHeader_ColumnWidthChanged(Long,Long)0 method0vbalColumnTreeView.m_cHeader_ColumnWidthChanged(Long,Long)
m_cScroll_Change(EFSScrollBarConstants)1 method1vbalColumnTreeView.m_cScroll_Change(EFSScrollBarConstants)
m_cScroll_Scroll(EFSScrollBarConstants)0 method0vbalColumnTreeView.m_cScroll_Scroll(EFSScrollBarConstants)
tmrDragAutoExpand_ThatTime()0 method0vbalColumnTreeView.tmrDragAutoExpand_ThatTime()
tmrDragNoMore_ThatTime()0 method0vbalColumnTreeView.tmrDragNoMore_ThatTime()
tmrDragScroll_ThatTime()0 method0vbalColumnTreeView.tmrDragScroll_ThatTime()
UserControl_Initialize()0 method0vbalColumnTreeView.UserControl_Initialize()
UserControl_InitProperties()0 method0vbalColumnTreeView.UserControl_InitProperties()
UserControl_OLECompleteDrag(Long)0 method0vbalColumnTreeView.UserControl_OLECompleteDrag(Long)
UserControl_OLEDragDrop(DataObject,Long,Integer,Integer,Single,Single)0 method0vbalColumnTreeView.UserControl_OLEDragDrop(DataObject,Long,Integer ,Integer,Single,Single)
UserControl_OLEDragOver(DataObject,Long,Integer,Integer,Single,Single ,Integer)0 method0vbalColumnTreeView.UserControl_OLEDragOver(DataObject,Long,Integer ,Integer,Single,Single,Integer)
UserControl_OLEGiveFeedback(Long,Boolean)0 method0vbalColumnTreeView.UserControl_OLEGiveFeedback(Long,Boolean)
UserControl_OLEStartDrag(DataObject,Long)0 method0vbalColumnTreeView.UserControl_OLEStartDrag(DataObject,Long)
UserControl_ReadProperties(PropertyBag)0 method0vbalColumnTreeView.UserControl_ReadProperties(PropertyBag)
UserControl_Show()0 method0vbalColumnTreeView.UserControl_Show()
UserControl_Terminate()0 method0vbalColumnTreeView.UserControl_Terminate()
UserControl_WriteProperties(PropertyBag)0 method0vbalColumnTreeView.UserControl_WriteProperties(PropertyBag)
TranslateAccelerator(VBOleGuids::MSG)1 method1vbalColumnTreeView.TranslateAccelerator(VBOleGuids::MSG)
fColumnForID(Long)0 method0vbalColumnTreeView.fColumnForID(Long)
Get_fColumn(Variant)0 method0vbalColumnTreeView.Get_fColumn(Variant)
Get_fColumnKey(Long)0 method0vbalColumnTreeView.Get_fColumnKey(Long)
Get_fColumnTag(Long)0 method0vbalColumnTreeView.Get_fColumnTag(Long)
Let_fColumnTag(Long,String)0 method0vbalColumnTreeView.Let_fColumnTag(Long,String)
Get_fColumnText(Long)0 method0vbalColumnTreeView.Get_fColumnText(Long)
Let_fColumnText(Long,String)0 method0vbalColumnTreeView.Let_fColumnText(Long,String)
Get_fColumnImage(Long)0 method0vbalColumnTreeView.Get_fColumnImage(Long)
Let_fColumnImage(Long,Long)0 method0vbalColumnTreeView.Let_fColumnImage(Long,Long)
Get_fColumnWidth(Long)0 method0vbalColumnTreeView.Get_fColumnWidth(Long)
Let_fColumnWidth(Long,Long)0 method0vbalColumnTreeView.Let_fColumnWidth(Long,Long)
Get_fCount(Long)0 method0vbalColumnTreeView.Get_fCount(Long)
fParentContainsItem(Long,Long)0 method0vbalColumnTreeView.fParentContainsItem(Long,Long)
Get_fDropTarget()0 method0vbalColumnTreeView.Get_fDropTarget()
Let_fDropTarget(Long)0 method0vbalColumnTreeView.Let_fDropTarget(Long)
Get_fItemSubItem(Long,Long)0 method0vbalColumnTreeView.Get_fItemSubItem(Long,Long)
Get_fSubItemText(Long,Long)0 method0vbalColumnTreeView.Get_fSubItemText(Long,Long)
Let_fSubItemText(Long,Long,String)0 method0vbalColumnTreeView.Let_fSubItemText(Long,Long,String)
Get_fSubItemImage(Long,Long)0 method0vbalColumnTreeView.Get_fSubItemImage(Long,Long)
Let_fSubItemImage(Long,Long,Long)0 method0vbalColumnTreeView.Let_fSubItemImage(Long,Long,Long)
Get_fItemBackColor(Long)0 method0vbalColumnTreeView.Get_fItemBackColor(Long)
Let_fItemBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemBackColor(Long,OLE_COLOR)
Get_fItemSelectedBackColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedBackColor(Long)
Let_fItemSelectedBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedBackColor(Long,OLE_COLOR)
Get_fItemMouseOverBackColor(Long)0 method0vbalColumnTreeView.Get_fItemMouseOverBackColor(Long)
Let_fItemMouseOverBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemMouseOverBackColor(Long,OLE_COLOR)
Get_fItemSelectedMouseOverBackColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedMouseOverBackColor(Long)
Let_fItemSelectedMouseOverBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedMouseOverBackColor(Long,OLE_COLOR)
Get_fItemSelectedNoFocusBackColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedNoFocusBackColor(Long)
Let_fItemSelectedNoFocusBackColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedNoFocusBackColor(Long,OLE_COLOR)
Get_fItemBold(Long)0 method0vbalColumnTreeView.Get_fItemBold(Long)
Let_fItemBold(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemBold(Long,Boolean)
Get_fItemChecked(Long)0 method0vbalColumnTreeView.Get_fItemChecked(Long)
Let_fItemChecked(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemChecked(Long,Boolean)
Get_fItemNoCheckBox(Long)0 method0vbalColumnTreeView.Get_fItemNoCheckBox(Long)
Let_fItemNoCheckBox(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemNoCheckBox(Long,Boolean)
Get_fItemForeColor(Long)0 method0vbalColumnTreeView.Get_fItemForeColor(Long)
Let_fItemForeColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemForeColor(Long,OLE_COLOR)
Get_fItemMouseOverColor(Long)0 method0vbalColumnTreeView.Get_fItemMouseOverColor(Long)
Let_fItemMouseOverColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemMouseOverColor(Long,OLE_COLOR)
Get_fItemSelectedColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedColor(Long)
Let_fItemSelectedColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedColor(Long,OLE_COLOR)
Get_fItemSelectedMouseOverColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedMouseOverColor(Long)
Let_fItemSelectedMouseOverColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedMouseOverColor(Long,OLE_COLOR)
Get_fItemSelectedNoFocusColor(Long)0 method0vbalColumnTreeView.Get_fItemSelectedNoFocusColor(Long)
Let_fItemSelectedNoFocusColor(Long,OLE_COLOR)0 method0vbalColumnTreeView.Let_fItemSelectedNoFocusColor(Long,OLE_COLOR)
Get_fItemCut(Long)0 method0vbalColumnTreeView.Get_fItemCut(Long)
Let_fItemCut(Long,Boolean)0 method0vbalColumnTreeView.Let_fItemCut(Long,Boolean)

Statistics

Stat   MethodsCallingMe   depth
Sum:0109
Average:00.17
Minimum:00
Maximum:04
Standard deviation:00.48
Variance:00.23
Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

625 fields matched

fieldsFull Name
OPAQUEvbalColumnTreeView.OPAQUE
DT_BOTTOMvbalColumnTreeView.DT_BOTTOM
DT_CENTERvbalColumnTreeView.DT_CENTER
DT_LEFTvbalColumnTreeView.DT_LEFT
DT_WORDBREAKvbalColumnTreeView.DT_WORDBREAK
DT_VCENTERvbalColumnTreeView.DT_VCENTER
DT_TOPvbalColumnTreeView.DT_TOP
DT_TABSTOPvbalColumnTreeView.DT_TABSTOP
DT_SINGLELINEvbalColumnTreeView.DT_SINGLELINE
DT_RIGHTvbalColumnTreeView.DT_RIGHT
DT_NOCLIPvbalColumnTreeView.DT_NOCLIP
DT_INTERNALvbalColumnTreeView.DT_INTERNAL
DT_EXTERNALLEADINGvbalColumnTreeView.DT_EXTERNALLEADING
DT_EXPANDTABSvbalColumnTreeView.DT_EXPANDTABS
DT_CHARSTREAMvbalColumnTreeView.DT_CHARSTREAM
DT_WORD_ELLIPSISvbalColumnTreeView.DT_WORD_ELLIPSIS
SWP_SHOWWINDOWvbalColumnTreeView.SWP_SHOWWINDOW
m_bDraggingvbalColumnTreeView.m_bDragging
ISubclass_MsgResponsevbalColumnTreeView.ISubclass_MsgResponse
WS_BORDERvbalColumnTreeView.WS_BORDER
WS_DISABLEDvbalColumnTreeView.WS_DISABLED
WM_SETREDRAWvbalColumnTreeView.WM_SETREDRAW
WM_USERvbalColumnTreeView.WM_USER
MA_ACTIVATEvbalColumnTreeView.MA_ACTIVATE
MA_ACTIVATEANDEATvbalColumnTreeView.MA_ACTIVATEANDEAT
MA_NOACTIVATEANDEATvbalColumnTreeView.MA_NOACTIVATEANDEAT
ICC_TREEVIEW_CLASSESvbalColumnTreeView.ICC_TREEVIEW_CLASSES
CCM_FIRSTvbalColumnTreeView.CCM_FIRST
CCM_GETVERSIONvbalColumnTreeView.CCM_GETVERSION
CCM_SETNOTIFYWINDOWvbalColumnTreeView.CCM_SETNOTIFYWINDOW
NM_FIRSTvbalColumnTreeView.NM_FIRST
NM_CLICKvbalColumnTreeView.NM_CLICK
NM_CUSTOMDRAWvbalColumnTreeView.NM_CUSTOMDRAW
NM_DBLCLKvbalColumnTreeView.NM_DBLCLK
NM_KILLFOCUSvbalColumnTreeView.NM_KILLFOCUS
NM_RCLICKvbalColumnTreeView.NM_RCLICK
NM_RETURNvbalColumnTreeView.NM_RETURN
NM_CHARvbalColumnTreeView.NM_CHAR
TVE_COLLAPSERESETvbalColumnTreeView.TVE_COLLAPSERESET
TVC_BYKEYBOARDvbalColumnTreeView.TVC_BYKEYBOARD
TVC_BYMOUSEvbalColumnTreeView.TVC_BYMOUSE
TVC_UNKNOWNvbalColumnTreeView.TVC_UNKNOWN
TVGN_LASTVISIBLEvbalColumnTreeView.TVGN_LASTVISIBLE
TVI_SORTvbalColumnTreeView.TVI_SORT
TVIF_DI_SETITEMvbalColumnTreeView.TVIF_DI_SETITEM
TVIS_OVERLAYMASKvbalColumnTreeView.TVIS_OVERLAYMASK
TVIS_SELECTEDvbalColumnTreeView.TVIS_SELECTED
TVIS_USERMASKvbalColumnTreeView.TVIS_USERMASK
TV_FIRSTvbalColumnTreeView.TV_FIRST
TVM_GETBKCOLORvbalColumnTreeView.TVM_GETBKCOLOR
TVM_GETBORDERvbalColumnTreeView.TVM_GETBORDER
TVM_GETIMAGELISTvbalColumnTreeView.TVM_GETIMAGELIST
TVM_GETINDENTvbalColumnTreeView.TVM_GETINDENT
TVM_GETISEARCHSTRINGAvbalColumnTreeView.TVM_GETISEARCHSTRINGA
TVM_GETITEMHEIGHTvbalColumnTreeView.TVM_GETITEMHEIGHT
TVM_GETSCROLLTIMEvbalColumnTreeView.TVM_GETSCROLLTIME
TVM_GETTEXTCOLORvbalColumnTreeView.TVM_GETTEXTCOLOR
TVM_SETBORDERvbalColumnTreeView.TVM_SETBORDER
TVM_SETTOOLTIPSvbalColumnTreeView.TVM_SETTOOLTIPS
TVM_GETLINECOLORvbalColumnTreeView.TVM_GETLINECOLOR
TVN_FIRSTvbalColumnTreeView.TVN_FIRST
TVN_BEGINLABELEDITvbalColumnTreeView.TVN_BEGINLABELEDIT
TVN_BEGINDRAGvbalColumnTreeView.TVN_BEGINDRAG
TVN_BEGINRDRAGvbalColumnTreeView.TVN_BEGINRDRAG
TVN_DELETEITEMvbalColumnTreeView.TVN_DELETEITEM
TVN_GETDISPINFOvbalColumnTreeView.TVN_GETDISPINFO
TVN_GETINFOTIPvbalColumnTreeView.TVN_GETINFOTIP
TVN_KEYDOWNvbalColumnTreeView.TVN_KEYDOWN
TVN_ENDLABELEDITvbalColumnTreeView.TVN_ENDLABELEDIT
TVN_ITEMEXPANDEDvbalColumnTreeView.TVN_ITEMEXPANDED
TVN_ITEMEXPANDINGvbalColumnTreeView.TVN_ITEMEXPANDING
TVN_SELCHANGEDvbalColumnTreeView.TVN_SELCHANGED
TVN_SELCHANGINGvbalColumnTreeView.TVN_SELCHANGING
TVN_SINGLEEXPANDvbalColumnTreeView.TVN_SINGLEEXPAND
TVS_DISABLEDRAGDROPvbalColumnTreeView.TVS_DISABLEDRAGDROP
TVS_NONEVENHEIGHTvbalColumnTreeView.TVS_NONEVENHEIGHT
TVHT_NOWHEREvbalColumnTreeView.TVHT_NOWHERE
TVHT_ONITEMICONvbalColumnTreeView.TVHT_ONITEMICON
TVHT_ONITEMLABELvbalColumnTreeView.TVHT_ONITEMLABEL
TVHT_ONITEMINDENTvbalColumnTreeView.TVHT_ONITEMINDENT
TVHT_ONITEMBUTTONvbalColumnTreeView.TVHT_ONITEMBUTTON
TVHT_ONITEMvbalColumnTreeView.TVHT_ONITEM
TVHT_ABOVEvbalColumnTreeView.TVHT_ABOVE
TVHT_BELOWvbalColumnTreeView.TVHT_BELOW
TVHT_TORIGHTvbalColumnTreeView.TVHT_TORIGHT
TVHT_TOLEFTvbalColumnTreeView.TVHT_TOLEFT
TVSBF_XBORDERvbalColumnTreeView.TVSBF_XBORDER
TVSBF_YBORDERvbalColumnTreeView.TVSBF_YBORDER
CDDS_ITEMvbalColumnTreeView.CDDS_ITEM
CDDS_POSTERASEvbalColumnTreeView.CDDS_POSTERASE
CDDS_POSTPAINTvbalColumnTreeView.CDDS_POSTPAINT
CDDS_PREERASEvbalColumnTreeView.CDDS_PREERASE
CDDS_PREPAINTvbalColumnTreeView.CDDS_PREPAINT
CDDS_ITEMPREPAINTvbalColumnTreeView.CDDS_ITEMPREPAINT
CDDS_ITEMPOSTPAINTvbalColumnTreeView.CDDS_ITEMPOSTPAINT
CDDS_SUBITEMvbalColumnTreeView.CDDS_SUBITEM
CDIS_GRAYEDvbalColumnTreeView.CDIS_GRAYED
CDIS_DISABLEDvbalColumnTreeView.CDIS_DISABLED
CDIS_CHECKEDvbalColumnTreeView.CDIS_CHECKED
CDIS_DEFAULTvbalColumnTreeView.CDIS_DEFAULT

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

Trend Charts

Unfortunately, Google Terms of Service prohibit saving the Chart API on your machine for offline use as stated at https://developers.google.com/chart/interactive/faq#localdownload

We could not connect to https://www.google.com/jsapi to retrieve the script. We will display chart data in a table instead.

Please connect to the internet and reload the page to display the chart.

Projects Dependencies

Assembly Depends on Is referenced by
vbalCTreeViewLib v1.0.0.0vba6 v1.0.0.0 ; vb6 v1.0.0.0 ; user32 v1.0.0.0 ; OLEPRO32 v1.0.0.0 ; comctl32 v1.0.0.0 ; kernel32 v1.0.0.0 ; COMCTL32 v1.0.0.0 ; gdi32 v1.0.0.0 ; winmm v1.0.0.0 ; stdole2 v1.0.0.0 ; shell32 v1.0.0.0 ; ole32 v1.0.0.0 ; pMultiColumnTree v1.0.0.0 ;
pMultiColumnTree v1.0.0.0vb6 v1.0.0.0 ; vba6 v1.0.0.0 ; vbalCTreeViewLib v1.0.0.0 ; gdi32 v1.0.0.0 ; shell32 v1.0.0.0 ; user32 v1.0.0.0 ; COMCTL32 v1.0.0.0 ; olepro32 v1.0.0.0 ; -
FroggerExtreme v1.0.0.0vb6 v1.0.0.0 ; vba6 v1.0.0.0 ; -
FroggerExtreme v1.0.0.0vb6 v1.0.0.0 ; vba6 v1.0.0.0 ; -
vbalExplorerBarLib v1.0.0.0vba6 v1.0.0.0 ; comctl32 v1.0.0.0 ; user32 v1.0.0.0 ; gdi32 v1.0.0.0 ; uxtheme v1.0.0.0 ; msimg32 v1.0.0.0 ; vb6 v1.0.0.0 ; kernel32 v1.0.0.0 ; msvbvm50 v1.0.0.0 ; msvfw32 v1.0.0.0 ; olepro32 v1.0.0.0 ; OLEPRO32 v1.0.0.0 ; stdole2 v1.0.0.0 ; ole32 v1.0.0.0 ; TestExplorerBar v1.0.0.0 ;
TestExplorerBar v1.0.0.0vb6 v1.0.0.0 ; vbalExplorerBarLib v1.0.0.0 ; vba6 v1.0.0.0 ; stdole2 v1.0.0.0 ; kernel32 v1.0.0.0 ; -
vbalAVI v1.0.0.0user32 v1.0.0.0 ; vb6 v1.0.0.0 ; stdole2 v1.0.0.0 ; avifil32 v1.0.0.0 ; msvfw32 v1.0.0.0 ; gdi32 v1.0.0.0 ; vba6 v1.0.0.0 ; OLEPRO32 v1.0.0.0 ; TestTransAVI v1.0.0.0 ;
TestTransAVI v1.0.0.0vb6 v1.0.0.0 ; vbalAVI v1.0.0.0 ; vba6 v1.0.0.0 ; user32 v1.0.0.0 ; COMDLG32 v1.0.0.0 ; kernel32 v1.0.0.0 ; -
SimpleObjectBrowser v1.0.0.0vba6 v1.0.0.0 ; vb6 v1.0.0.0 ; mscomctl v1.0.0.0 ; -
DoctorNoteBook v1.0.0.0vb6 v1.0.0.0 ; msado20 v1.0.0.0 ; vba6 v1.0.0.0 ; -

Projects Build Order

  1. vbalCTreeViewLib
  2. pMultiColumnTree
  3. FroggerExtreme
  4. FroggerExtreme
  5. vbalExplorerBarLib
  6. TestExplorerBar
  7. vbalAVI
  8. TestTransAVI
  9. SimpleObjectBrowser
  10. DoctorNoteBook

Projects Build Order

  1. vbalCTreeViewLib
  2. pMultiColumnTree
  3. FroggerExtreme
  4. FroggerExtreme
  5. vbalExplorerBarLib
  6. TestExplorerBar
  7. vbalAVI
  8. TestTransAVI
  9. SimpleObjectBrowser
  10. DoctorNoteBook

Analysis Log : Information and Warnings

Here are Logs emitted during VBDepend analysis.
The Warnings can reveal potential flaws concerning the health of the build process.
A particular warn can be disabled through the VBDepend interactive UI, panel Error List, tick the checkbox Disabled corresponding to the warn to disable.


Kind Message
Info11/17/2013 21:54:23 Begin full analysis with VBDepend v3.0.0.5600
InfoNo Baseline for Comparison loaded.
WarningEnable to parse {C:\Users\issam\Downloads\WinSamples\WinSamples\data\chartdata.mdb}: Please check that Microsoft Access is installed
WarningEnable to parse {C:\Users\issam\Downloads\WinSamples\WinSamples\data\ExcelData.xls}: Please check that Microsoft Excel is installed
WarningThe library {C:\Users\Tlb\OLEGUIDS.TLB}: used by the project vbalCTreeViewLib is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\SSubtmr\Release\SSubTmr.dll}: used by the project vbalCTreeViewLib is not found ,it will impact the dependency between projects
WarningThe library {Program Files\Monkey's Audio\ISHF_Ex.tlb}: used by the project vbalCTreeViewLib is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\Downloads\VB5_ExplorerBar_Control_Full_Source\vbalIml.ocx}: used by the project TestExplorerBar is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\Downloads\SSubtmr\Release\SSubTmr.dll}: used by the project vbalExplorerBarLib is not found ,it will impact the dependency between projects
WarningThe library {..\..\..\vb6\develop\vbACOM\Binaries\vbACOMTLc:\st}: used by the project vbalExplorerBarLib is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\Tlb\OLEGUIDS.TLB}: used by the project vbalExplorerBarLib is not found ,it will impact the dependency between projects
WarningThe library {..\SSubtmr\Release\SSubTmrC:\S}: used by the project TestTransAVI is not found ,it will impact the dependency between projects
WarningThe library {..\SSubtmr\Release\SSubTmrC:\S}: used by the project vbalAVI is not found ,it will impact the dependency between projects
WarningThe library {WINDOWS\System32\TLBINF32.DLL}: used by the project SimpleObjectBrowser is not found ,it will impact the dependency between projects
WarningThe library {C:\Program Files\Common Files\designer\MSDERUN.DLL}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
WarningThe library {C:\Program Files\Microsoft Office\Office10\MSACC.OLB}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
WarningThe library {C:\Program Files\Common Files\designer\DEEXT.TLB}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
WarningThe library {C:\Program Files\Common Files\Microsoft Shared\DAO\dao2535.tlb}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\Downloads\Doctor's NoteBook\Doctor's NoteBook\MSDATLST.OCX}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\Downloads\Doctor's NoteBook\Doctor's NoteBook\MSCOMCT2.OCX}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\Downloads\Doctor's NoteBook\Doctor's NoteBook\MSFLXGRD.OCX}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
WarningThe library {C:\Users\issam\Downloads\Doctor's NoteBook\Doctor's NoteBook\MSADODC.OCX}: used by the project DoctorNoteBook is not found ,it will impact the dependency between projects
InfoNo dependency cycle detected in projects referencement graph.
Info11/17/2013 21:54:46 Analyse dependencies of your application.
Info11/17/2013 21:54:46 Building the report (standard).
Warning2 critical rules are violated. - Types too big - critical - Methods too complex - critical