displayInformation method

void displayInformation(
  1. int pageNumber
)

Displays information on the graph for the given page number. pageNumber is the index of the page to display information on.

Implementation

void displayInformation(int pageNumber) {
  int rows = 3;

  String date = DateFormat('dd MMM yyyy').format(mData!.getCreatedOn()!);
  String time = DateFormat('hh:mm a').format(mData!.getCreatedOn()!);

  //String.format("%s  %s %s", now.substring(11, 16), now.substring(8, 10),now.substring(4, 10), now.substring(now.lastIndexOf(" ")+3));

  double rowLength = (screenWidth + (pixelsPerOneCM! * 2)) / rows;
  double rowHeight = pixelsPerOneCM! * 0.7;
  double rowPos = rowHeight * 0.5;

  //mData.setOrganizationName("hospital i Morey MD FICOG and so on");
  if (mData!.getOrganizationName() != null &&
      mData!.organizationName!.length >= 30) {
    String s1 = mData!.getOrganizationName()!.substring(0, 30);
    s1 = mData!.getOrganizationName()!.substring(0, s1.lastIndexOf(" ") + 1);
    String s2 = mData!.organizationName!.replaceAll(s1, ""); //.replace(s1,"");
    canvas[pageNumber]
        .drawParagraph(getParagraphInfo(s1 ?? ""), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(
        getParagraphInfo(s2 ?? ""),
        Offset(
          0,
          rowPos - pixelsPerOneMM!,
        ));
    rowPos += rowHeight;
  } else {
    canvas[pageNumber]
        .drawParagraph(getParagraphInfo("Hospital :"), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(
        getParagraphInfo(mData!.organizationName ?? ""),
        Offset(0, rowPos - pixelsPerOneMM!));
    rowPos += rowHeight;
  }
  //mData.setDoctorName("Dr Bharati Morey MD FICOG and so on");
  if (mData!.doctorName != null && mData!.doctorName!.length >= 30) {
    String s1 = mData!.doctorName!.substring(0, 30);
    s1 = mData!.doctorName!.substring(0, s1.lastIndexOf(" ") + 1);
    String s2 = mData!.doctorName ?? "";

    canvas[pageNumber]
        .drawParagraph(getParagraphInfo(s1 ?? ""), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(
        getParagraphInfo(s2 ?? ""), Offset(0, rowPos - pixelsPerOneMM!));
    rowPos += rowHeight;
  } else {
    canvas[pageNumber]
        .drawParagraph(getParagraphInfo("Doctor :"), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(getParagraphInfo(mData!.doctorName ?? ""),
        Offset(0, rowPos - pixelsPerOneMM!));
    rowPos += rowHeight;
  }

  //mData.setpatientId("sds");
  if (mData!.patientId != null && mData!.patientId!.length >= 30) {
    String s1 = mData!.patientId!.substring(0, 30);
    s1 = mData!.patientId!.substring(0, s1.lastIndexOf(" ") + 1);
    String s2 = mData!.patientId!.replaceAll(s1, "");

    canvas[pageNumber]
        .drawParagraph(getParagraphInfo(s1 ?? ""), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(
        getParagraphInfo(s2 ?? ""), Offset(0, rowPos - pixelsPerOneMM!));
    rowPos += rowHeight;
  } else {
    canvas[pageNumber].drawParagraph(
        getParagraphInfo("Patient Id :"), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(getParagraphInfo(mData!.patientId ?? ""),
        Offset(0, rowPos - pixelsPerOneMM!));
    rowPos += rowHeight;
  }

  //mData.setMotherName("Dr Bharati Morey MD FICOG and so on asdsa");
  if (mData!.motherName != null && mData!.motherName!.length >= 30) {
    String s1 = mData!.motherName!.substring(0, 30);
    s1 = mData!.motherName!.substring(0, s1.lastIndexOf(" ") + 1);
    String s2 = mData!.motherName!.replaceAll(s1, "");

    canvas[pageNumber]
        .drawParagraph(getParagraphInfo(s1 ?? ""), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(
        getParagraphInfo(s2 ?? ""), Offset(0, rowPos - pixelsPerOneMM!));
    rowPos += rowHeight;
  } else {
    canvas[pageNumber]
        .drawParagraph(getParagraphInfo("Mother :"), Offset(0, rowPos));
    rowPos += rowHeight * 0.8;
    canvas[pageNumber].drawParagraph(getParagraphInfo(mData!.motherName ?? ""),
        Offset(0, rowPos - pixelsPerOneMM!));
    rowPos += rowHeight;
  }

  canvas[pageNumber].drawParagraph(
      getParagraphInfo(
          ("Duration :  ${(mData!.lengthOfTest! / 60).truncate()} min")),
      Offset(0, rowPos));
  rowPos += rowHeight;

  canvas[pageNumber]
      .drawParagraph(getParagraphInfo("Time : $time"), Offset(0, rowPos));
  rowPos += rowHeight;
  canvas[pageNumber]
      .drawParagraph(getParagraphInfo("Date : $date"), Offset(0, rowPos));
  rowPos += rowHeight;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo("Gest. Week : ${mData!.gAge}"), Offset(0, rowPos));
  rowPos += rowHeight;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo(
          "Basal HR : ${auto ? interpretation!.getBasalHeartRateStr() : ' _______'}"),
      Offset(0, rowPos));
  rowPos += rowHeight;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo(
          "FM : ${mData!.movementEntries!.length.toString() ?? "--"} man/ ${mData!.autoFetalMovement!.length.toString() ?? "--"} auto "),
      Offset(0, rowPos));

  rowPos += rowHeight;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo(
          "Accelerations : ${auto ? interpretation!.getnAccelerationsStr() : ' _______'}"), //+mData.getWeight(),
      Offset(0, rowPos));
  rowPos += rowHeight;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo(
          "Decelerations : ${auto ? interpretation!.getnDecelerationsStr() : ' _______'}"),
      Offset(0, rowPos));
  rowPos += rowHeight;
  canvas[pageNumber].drawParagraph(
      getParagraphInfo(
          "STV : ${auto ? '${interpretation!.getShortTermVariationBpmStr() ?? "--"} bpm / ${interpretation!.getShortTermVariationMilliStr() ?? "--"} milli' : ' _______'}"),
      Offset(0, rowPos));
  rowPos += rowHeight;
  canvas[pageNumber].drawParagraph(
      getParagraphInfo(
          "LTV : ${auto ? '${interpretation!.getLongTermVariationStr() ?? "--"} bpm' : ' _______'}"),
      Offset(0, rowPos));
  rowPos += rowHeight;

  canvas[pageNumber]
      .drawParagraph(getParagraphInfo("Conclusion :"), Offset(0, rowPos));
  rowPos += pixelsPerOneMM! * 3;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo("(Reactive, Non-Reactive, Inconclusive)",
          fontsize: 20),
      Offset(0, rowPos));

  rowPos = yTocoOrigin + rowHeight;
  rowPos -= rowHeight * 0.5;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo('X-Axis : ${timeScaleFactor * 10} SEC/DIV'),
      Offset(0, rowPos));
  rowPos += rowHeight * 0.6;

  canvas[pageNumber].drawParagraph(
      getParagraphInfo("Y-Axis : 20 BPM/DIV"), Offset(0, rowPos));
  rowPos += rowHeight * 1.5;

  if (mData!.interpretationType != null && comments) {
    canvas[pageNumber].drawParagraph(
        getParagraphLong(
            "Doctor's comments : ${mData!.interpretationType} - ${mData!.interpretationExtraComments ?? ''}",
            2500),
        Offset(0, rowPos));
  }

  //if(auto) {
  String disclaimer =
      "Disclaimer : NST auto interpretation does not provide medical advice it is intended for informational purposes only. It is not a substitute for professional medical advice, diagnosis or treatment.";
  canvas[pageNumber].drawParagraph(
      getParagraphLong(disclaimer, 2500, fontsize: 18),
      Offset(0, screenHeight - (pixelsPerOneMM! * 2)));
}