aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HTML Templates/Thread Break.html
blob: 5c620fc8357adf3e7e8dd5e466d9ec6aebb213e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <style>
        html {
            overflow: hidden;
            padding: 0;
            margin: 0;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        body {
            padding: 0;
            margin: 0;
            /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#eeeeee+0,eeeeee+100;Grey+Flat */
            background: rgb(238,238,238); /* Old browsers */
            background: -moz-linear-gradient(top, rgba(238,238,238,1) 0%, rgba(238,238,238,1) 100%); /* FF3.6-15 */
            background: -webkit-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* Chrome10-25,Safari5.1-6 */
            background: linear-gradient(to bottom, rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
        }

        .header {
            font-size: 25pt;
            background: #414141;
            color: white;
            padding: 15px;
        }

        li {
            margin:30px 10px;
            padding:10px;
            background:#C3C3C3;
            max-width:500px;
            border-radius:5px;
        }
    </style>
</head>
<body>
    <div class="header">Thread Break</div>
    <ol>
        <li>Open the cover.</li>
        <li>Connect the broken thread.</li>
        <li>Close the cover.</li>
        <li>Press 'OK' when done.</li>
    </ol>
</body>
</html>
pan class="p">, parent; /// <summary> /// The color of the segment in the red/black tree. /// </summary> internal bool color; /// <summary> /// The "length" of the node (distance to previous node) /// </summary> internal int nodeLength; /// <summary> /// The total "length" of this subtree. /// </summary> internal int totalNodeLength; // totalNodeLength = nodeLength + left.totalNodeLength + right.totalNodeLength /// <summary> /// The length of the segment (do not confuse with nodeLength). /// </summary> internal int segmentLength; /// <summary> /// distanceToMaxEnd = Max(segmentLength, /// left.distanceToMaxEnd + left.Offset - Offset, /// left.distanceToMaxEnd + right.Offset - Offset) /// </summary> internal int distanceToMaxEnd; int ISegment.Offset { get { return StartOffset; } } /// <summary> /// Gets whether this segment is connected to a TextSegmentCollection and will automatically /// update its offsets. /// </summary> protected bool IsConnectedToCollection { get { return ownerTree != null; } } /// <summary> /// Gets/Sets the start offset of the segment. /// </summary> /// <remarks> /// When setting the start offset, the end offset will change, too: the Length of the segment will stay constant. /// </remarks> public int StartOffset { get { // If the segment is not connected to a tree, we store the offset in "nodeLength". // Otherwise, "nodeLength" contains the distance to the start offset of the previous node Debug.Assert(!(ownerTree == null && parent != null)); Debug.Assert(!(ownerTree == null && left != null)); TextSegment n = this; int offset = n.nodeLength; if (n.left != null) offset += n.left.totalNodeLength; while (n.parent != null) { if (n == n.parent.right) { if (n.parent.left != null) offset += n.parent.left.totalNodeLength; offset += n.parent.nodeLength; } n = n.parent; } return offset; } set { if (value < 0) throw new ArgumentOutOfRangeException("value", "Offset must not be negative"); if (this.StartOffset != value) { // need a copy of the variable because ownerTree.Remove() sets this.ownerTree to null ISegmentTree ownerTree = this.ownerTree; if (ownerTree != null) { ownerTree.Remove(this); nodeLength = value; ownerTree.Add(this); } else { nodeLength = value; } OnSegmentChanged(); } } } /// <summary> /// Gets/Sets the end offset of the segment. /// </summary> /// <remarks> /// Setting the end offset will change the length, the start offset will stay constant. /// </remarks> public int EndOffset { get { return StartOffset + Length; } set { int newLength = value - StartOffset; if (newLength < 0) throw new ArgumentOutOfRangeException("value", "EndOffset must be greater or equal to StartOffset"); Length = newLength; } } /// <summary> /// Gets/Sets the length of the segment. /// </summary> /// <remarks> /// Setting the length will change the end offset, the start offset will stay constant. /// </remarks> public int Length { get { return segmentLength; } set { if (value < 0) throw new ArgumentOutOfRangeException("value", "Length must not be negative"); if (segmentLength != value) { segmentLength = value; if (ownerTree != null) ownerTree.UpdateAugmentedData(this); OnSegmentChanged(); } } } /// <summary> /// This method gets called when the StartOffset/Length/EndOffset properties are set. /// It is not called when StartOffset/Length/EndOffset change due to document changes /// </summary> protected virtual void OnSegmentChanged() { } internal TextSegment LeftMost { get { TextSegment node = this; while (node.left != null) node = node.left; return node; } } internal TextSegment RightMost { get { TextSegment node = this; while (node.right != null) node = node.right; return node; } } /// <summary> /// Gets the inorder successor of the node. /// </summary> internal TextSegment Successor { get { if (right != null) { return right.LeftMost; } else { TextSegment node = this; TextSegment oldNode; do { oldNode = node; node = node.parent; // go up until we are coming out of a left subtree } while (node != null && node.right == oldNode); return node; } } } /// <summary> /// Gets the inorder predecessor of the node. /// </summary> internal TextSegment Predecessor { get { if (left != null) { return left.RightMost; } else { TextSegment node = this; TextSegment oldNode; do { oldNode = node; node = node.parent; // go up until we are coming out of a right subtree } while (node != null && node.left == oldNode); return node; } } } #if DEBUG internal string ToDebugString() { return "[nodeLength=" + nodeLength + " totalNodeLength=" + totalNodeLength + " distanceToMaxEnd=" + distanceToMaxEnd + " MaxEndOffset=" + (StartOffset + distanceToMaxEnd) + "]"; } #endif /// <inheritdoc/> public override string ToString() { return "[" + GetType().Name + " Offset=" + StartOffset + " Length=" + Length + " EndOffset=" + EndOffset + "]"; } } }