(cm, line, lineView, dims, allowAbove)
| 1041 | } |
| 1042 | |
| 1043 | function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { |
| 1044 | if (!line.widgets) return; |
| 1045 | var wrap = ensureLineWrapped(lineView); |
| 1046 | for (var i = 0, ws = line.widgets; i < ws.length; ++i) { |
| 1047 | var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget"); |
| 1048 | if (!widget.handleMouseEvents) node.setAttribute("cm-ignore-events", "true"); |
| 1049 | positionLineWidget(widget, node, lineView, dims); |
| 1050 | cm.display.input.setUneditable(node); |
| 1051 | if (allowAbove && widget.above) |
| 1052 | wrap.insertBefore(node, lineView.gutter || lineView.text); |
| 1053 | else |
| 1054 | wrap.appendChild(node); |
| 1055 | signalLater(widget, "redraw"); |
| 1056 | } |
| 1057 | } |
| 1058 | |
| 1059 | function positionLineWidget(widget, node, lineView, dims) { |
| 1060 | if (widget.noHScroll) { |
no test coverage detected