MCPcopy Create free account
hub / github.com/KDE/kdiff3 / ManualDiffHelpEntry

Class ManualDiffHelpEntry

src/diff.h:537–613  ·  view source on GitHub ↗

Three corresponding ranges. (Minimum size of a valid range is one line.)

Source from the content-addressed store, hash-verified

535
536// Three corresponding ranges. (Minimum size of a valid range is one line.)
537class ManualDiffHelpEntry
538{
539 private:
540 LineRef lineA1;
541 LineRef lineA2;
542 LineRef lineB1;
543 LineRef lineB2;
544 LineRef lineC1;
545 LineRef lineC2;
546
547 public:
548 ManualDiffHelpEntry() = default;
549 ManualDiffHelpEntry(e_SrcSelector winIdx, LineRef firstLine, LineRef lastLine)
550 {
551 if(winIdx == e_SrcSelector::A)
552 {
553 lineA1 = firstLine;
554 lineA2 = lastLine;
555 }
556 else if(winIdx == e_SrcSelector::B)
557 {
558 lineB1 = firstLine;
559 lineB2 = lastLine;
560 }
561 else
562 {
563 lineC1 = firstLine;
564 lineC2 = lastLine;
565 }
566 }
567
568 LineRef& firstLine(e_SrcSelector winIdx)
569 {
570 return winIdx == e_SrcSelector::A ? lineA1 : (winIdx == e_SrcSelector::B ? lineB1 : lineC1);
571 }
572
573 LineRef& lastLine(e_SrcSelector winIdx)
574 {
575 return winIdx == e_SrcSelector::A ? lineA2 : (winIdx == e_SrcSelector::B ? lineB2 : lineC2);
576 }
577
578 bool isLineInRange(LineRef line, e_SrcSelector winIdx)
579 {
580 return line.isValid() && line >= firstLine(winIdx) && line <= lastLine(winIdx);
581 }
582
583 bool operator==(const ManualDiffHelpEntry& r) const
584 {
585 return lineA1 == r.lineA1 && lineB1 == r.lineB1 && lineC1 == r.lineC1 &&
586 lineA2 == r.lineA2 && lineB2 == r.lineB2 && lineC2 == r.lineC2;
587 }
588
589 qint32 calcManualDiffFirstDiff3LineIdx(const Diff3LineVector& d3lv);
590
591 void getRangeForUI(const e_SrcSelector winIdx, LineRef* rangeLine1, LineRef* rangeLine2) const
592 {
593 if(winIdx == e_SrcSelector::A)
594 {

Callers 4

insertEntryMethod · 0.85
testListKeeptSortedMethod · 0.85
testDeleteAndSortMethod · 0.85

Calls

no outgoing calls

Tested by 2

testListKeeptSortedMethod · 0.68
testDeleteAndSortMethod · 0.68