linecountBar method

dynamic linecountBar()

Implementation

linecountBar() {
  return Column(
    children: [
      Flexible(
        child: ListView.builder(
          padding: const EdgeInsets.only(top: 10),
          shrinkWrap: true,
          controller: linebarController,
          physics: const NeverScrollableScrollPhysics(),
          itemCount: _currNumLines == 0 ? 1 : _currNumLines,
          itemBuilder: (_, i) {
            TextEditingController lineController = TextEditingController();
            lineController.text = (i + 1).toString();
            return Linebar(
              calculateBarWidth: () {
                if (i + 1 > 9) {
                  SchedulerBinding.instance.addPostFrameCallback(
                    (timeStamp) {
                      setState(() {
                        _initialWidth = getTextHeight(context) +
                            (8 * (i + 1).toString().length);
                      });
                    },
                  );
                }
              },
              child: TextField(
                readOnly: true,
                enableInteractiveSelection: false,
                controller: lineController,
                textAlign: TextAlign.center,
                style: TextStyle(
                  fontSize: getFontSize(context, fontSize: 18),
                  fontWeight: FontWeight.w500,
                  fontFamily: widget.options.fontFamily,
                  color: widget.options.linebarTextColor,
                ),
                maxLines: null,
                decoration: InputDecoration(
                  border: InputBorder.none,
                  contentPadding: EdgeInsets.zero,
                  isDense: true,
                ),
              ),
            );
          },
        ),
      )
    ],
  );
}