MCPcopy Create free account
hub / github.com/baldurk/renderdoc / CompareModelIndex

Function CompareModelIndex

qrenderdoc/Widgets/Extended/RDTreeView.cpp:51–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49}
50
51static bool CompareModelIndex(const QModelIndex &a, const QModelIndex &b)
52{
53 if(a == b)
54 return false;
55
56 if(a == QModelIndex())
57 return true;
58 else if(b == QModelIndex())
59 return false;
60
61 if(a.model() != b.model())
62 return false;
63
64 QModelIndex ap = a.model()->parent(a);
65 QModelIndex bp = b.model()->parent(b);
66 if(ap == bp)
67 {
68 if(a.row() == b.row())
69 return a.column() < b.column();
70 return a.row() < b.row();
71 }
72
73 if(a == bp)
74 return true;
75 if(b == ap)
76 return false;
77
78 int ad = GetDepth(a.model(), a);
79 int bd = GetDepth(b.model(), b);
80
81 if(ad > bd)
82 return CompareModelIndex(ap, b);
83 else if(ad < bd)
84 return CompareModelIndex(a, bp);
85 return CompareModelIndex(ap, bp);
86}
87
88RDTreeViewDelegate::RDTreeViewDelegate(RDTreeView *view) : RichTextViewDelegate(view), m_View(view)
89{

Callers

nothing calls this directly

Calls 6

GetDepthFunction · 0.85
QModelIndexClass · 0.50
modelMethod · 0.45
parentMethod · 0.45
rowMethod · 0.45
columnMethod · 0.45

Tested by

no test coverage detected