summaryrefslogtreecommitdiff
path: root/app/doc
diff options
context:
space:
mode:
Diffstat (limited to 'app/doc')
-rw-r--r--app/doc/CMakeLists.txt2
-rw-r--r--app/doc/ChangeLog24
-rw-r--r--app/doc/addm.but31
-rw-r--r--app/doc/changem.but293
-rw-r--r--app/doc/doc.vcproj154
-rw-r--r--app/doc/drawm.but36
-rw-r--r--app/doc/filem.but6
-rw-r--r--app/doc/intro.but.in8
-rw-r--r--app/doc/managem.but4
-rw-r--r--app/doc/navigation.but6
-rw-r--r--app/doc/optionm.but24
-rw-r--r--app/doc/osxconf.but4
-rw-r--r--app/doc/png.d/bezier.pngbin0 -> 3866 bytes
-rw-r--r--app/doc/png.d/bmap.pngbin0 -> 353 bytes
-rw-r--r--app/doc/png.d/cmdopt.pngbin8213 -> 19624 bytes
-rw-r--r--app/doc/png.d/dbezier.pngbin0 -> 3776 bytes
-rw-r--r--app/doc/png.d/displayopt.pngbin37583 -> 68298 bytes
-rw-r--r--app/doc/png.d/dproperties.pngbin9213 -> 43970 bytes
-rw-r--r--app/doc/png.d/easew.pngbin5361 -> 12509 bytes
-rw-r--r--app/doc/png.d/joincornu1.pngbin0 -> 4784 bytes
-rw-r--r--app/doc/png.d/joincornu2.pngbin0 -> 5997 bytes
-rw-r--r--app/doc/png.d/joincornu3.pngbin0 -> 7406 bytes
-rw-r--r--app/doc/png.d/joincornu4.pngbin0 -> 11409 bytes
-rw-r--r--app/doc/png.d/joincornu5.pngbin0 -> 7154 bytes
-rw-r--r--app/doc/png.d/layout.pngbin7843 -> 13213 bytes
-rw-r--r--app/doc/png.d/mchange.pngbin6461 -> 23214 bytes
-rw-r--r--app/doc/png.d/mdraw.pngbin2585 -> 10174 bytes
-rw-r--r--app/doc/png.d/mrotatealign.pngbin2552 -> 12893 bytes
-rw-r--r--app/doc/png.d/mrotatefixed.pngbin2727 -> 12910 bytes
-rw-r--r--app/doc/png.d/mrotatemove.pngbin2590 -> 12872 bytes
-rw-r--r--app/doc/png.d/mview.pngbin6712 -> 15591 bytes
-rw-r--r--app/doc/png.d/pan.pngbin0 -> 3929 bytes
-rw-r--r--app/doc/png.d/toolbar.pngbin12627 -> 13676 bytes
-rw-r--r--app/doc/view_winm.but2
34 files changed, 340 insertions, 254 deletions
diff --git a/app/doc/CMakeLists.txt b/app/doc/CMakeLists.txt
index 03ac14b..a01d7af 100644
--- a/app/doc/CMakeLists.txt
+++ b/app/doc/CMakeLists.txt
@@ -89,7 +89,7 @@ IF(XTRKCAD_USE_GTK)
)
INSTALL(
FILES xtrkcad_osx.css
- DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR}/XTrackCAD.help/Contents/Resources/en.lproj
+ DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR}/XTrackCAD.help/Contents/Resources/en.lproj/sty
)
ENDIF(APPLE)
diff --git a/app/doc/ChangeLog b/app/doc/ChangeLog
deleted file mode 100644
index f04fcd6..0000000
--- a/app/doc/ChangeLog
+++ /dev/null
@@ -1,24 +0,0 @@
-Jul 25, 2009
- ENH: Martin Fischer <m_fischer@users.sourceforge.net>
- intro.but.in: add description of command line arguments,
- update for new directory layout.
-
-Jun 09, 2009:
- ENH: Martin Fischer <m_fischer@users.sourceforge.net>
- update.but: update release description
-
-Jun 06, 2009
- ENH: Martin Fischer <m_fischer@users.sourceforge.net>
- intro.but.in: updated Linux installation information
-
-Mar 21, 2008
- IMPROVEMENT: Bob Blackwell
- updated doc for option dialogs
-
-Dec 02, 2007
- IMPROVEMENT: Bob Blackwell
- Spelling and formatting Corrections
- Move messages to appendix
- Split appendix in to individual files to allow
- messages.but to be included during build
-
diff --git a/app/doc/addm.but b/app/doc/addm.but
index cee8896..724e5fd 100644
--- a/app/doc/addm.but
+++ b/app/doc/addm.but
@@ -52,19 +52,19 @@ The \f{Add Menu} has all the actions related to adding track pieces to the layou
\u000
-\dd \f{Block} - Create, edit or delete a block.
+\dd \f{Block} - Create a block.
\u000
-\dd \f{Switchmotor} - Create, edit or delete a switchmotor.
+\dd \f{Switchmotor} - Create a switchmotor.
\u000
-\dd \f{Signal} - Create, edit or delete a signal.
+\dd \f{Signal} - Create a signal.
\u000
-\dd \f{Control} - Create a signal.
+\dd \f{Control} - Create a control.
\u000
@@ -100,26 +100,36 @@ You can join to and from circles, after which they become curved tracks.
\rule
-
\S{cmdCurve} Curved Track
\G{png.d/bcurve.png}
Creating a curve is a two step operation. The four methods (with their Shortcut keys) used to create a Curved Track are:
-\dd \G{png.d/bcurve1.png} (\c{Control-4}) Drag from one endpoint in the direction of the Curve at that point and release. Click and Drag to position the second endpoint.
+\dd \G{png.d/bcurve1.png} (\c{Control-4}) Drag from one endpoint in the direction of the Curve at that point and release. Click and Drag the red arrows to position the second endpoint.
+If Shift is held down when the first endpoint is being placed and the cursor is on a track, the new curve end will "Snap" to the nearest open track endpoint and you can drag out the second end aligned to that track. After a track is competed, the new track will be connected to this first track.
\u000
\dd \G{png.d/bcurve2.png} (\c{Control-5}) Drag from one of the endpoints to the Center of the Curved track and release. Click and Drag to position the second endpoint.
+If Shift is held down when the first endpoint is being placed and the cursor is on a track, the new curve end will "Snap" to the nearest open track endpoint and you can drag out the center at right angles aligned to that end. After a track is competed, the new track will be connected to this first track.
\u000
\dd \G{png.d/bcurve3.png} (\c{Control-6}) Drag from the Center of the Curved track to one of the endpoints and release. Click and Drag to position the second endpoint.
+Shift has no effect.
\u000
\dd \G{png.d/bcurve4.png} (\c{Control-7}) Drag from one endpoint to the other endpoint to form the Chord of the Curve and release. Click on the center of the track and Drag to form the Curve.
+Shift has no effect.
+
+\u000
+
+\dd \G{png.d/bezier.png} Place one endpoint and drag out the first control point and release, Place the second Endpoint and drag out the second control point and release. Once all 4 points are placed, you can pick one at a time and drag it to move it. Complete the Curve by pressing Enter, or Reject it with Esc.
+If Shift is held down when either endpoint is being placed it will "Snap" to an open track endpoint of the track underneath the cursor and you can only drag out the control point aligned to the end of the track. After the new track is competed, it will be connected to this existing track.
+
+\u000
A drop down menu, which allows selection of the Curved Track creation method, is invoked from the down arrow button (\G{png.d/bmenu.png}) located on the right side the Curved track button. Dependent upon previous selection, the Curved Track button will look like \G{png.d/bcurve1.png}, \G{png.d/bcurve2.png}, \G{png.d/bcurve3.png} or \G{png.d/bcurve4.png}.
@@ -127,7 +137,7 @@ A drop down menu, which allows selection of the Curved Track creation method, is
\dd \e{Curved Track Button Menu}
-In all cases, two Red arrow heads will be drawn after the first step to indicate where you can Drag to complete the second step.
+In all but the bezier case, two Red arrow heads will be drawn after the first step to indicate where you can Drag to complete the second step.
A straight track will be created if the second endpoint is lined up with the first endpoint.
@@ -135,6 +145,10 @@ If the Snap Grid (\K{cmdGrid}) is enabled then the endpoints will be constrained
Optionally, the curve center point and radius can be displayed for the Curve. This is enabled by the Move Label (\K{cmdMoveLabel}) command.
+For Beziers, the active control point will be drawn in red and the available endpoints are shown with circles.
+
+\f{Note:} You can also create Straight and Curved tracks using \k{cmdModify} by dragging out extra track from an open end-point.
+
\rule
@@ -165,8 +179,6 @@ Note: the drawing is an approximation to show the location of the \e{Points} and
\S{cmdHelix} Helix Track
-\G{png.d/bhelix.png}
-
A helix track is used to change the elevation of track in a restricted space. A helix is drawn as a circle of track, but in 3 dimensions it would resemble a cork screw or the pattern of threads on a bolt.
\G{png.d/ahelix.png}
@@ -216,6 +228,7 @@ It is possible to create tracks that abut (the endpoints are very close and alig
\G{png.d/bstraigh.png}
Straight track is a created by selecting the first endpoint then dragging the cursor to the point where you want the second endpoint to be.
+If Shift is held down when the first endpoint is being placed and the cursor is on a track, the new straight end will "Snap" to the nearest open track endpoint and you can drag out the second end aligned to that track. After a track is competed, the new track will be connected to the existing track.
If the Snap Grid (\K{cmdGrid}) is enabled then the endpoints will be constrained to the grid.
diff --git a/app/doc/changem.but b/app/doc/changem.but
index 2bcd90b..c8cb189 100644
--- a/app/doc/changem.but
+++ b/app/doc/changem.but
@@ -20,7 +20,7 @@ The \f{Change Menu} has all functions related to modifying objects that exist on
\u000
-\dd \f{Connect Sectional Tracks} - creates a connection between sectional track pieces by slightly moving the select piece(s) and the pieces they connect to.
+\dd \f{Connect Two Tracks} - creates a connection between track pieces with an option to slightly move the select piece(s) and the pieces they connect to. (\K{cmdConnect}).
\u000
@@ -28,39 +28,43 @@ The \f{Change Menu} has all functions related to modifying objects that exist on
\u000
-\dd \f{Flip} - turn selected object(s) over or around.
+\dd \f{Flip} - turn selected object(s) over or around. (\K{cmdFlip}).
\u000
-\dd \f{Join} - connect two separate pieces of track. This command can be used to move one of the pieces of track to the endpoint of the other or to create a connection by laying a stretch of flex-track.
+\dd \f{Join} - connect two separate pieces of track. This command can be used to move one of the pieces of track to the endpoint of the other or to create a connection by laying a stretch of flex-track. (\K{cmdJoin}).
\u000
-\dd \f{Modify} - modify an existing track.
+\dd \f{Modify} - modify an existing track, or lines. (\K{cmdModify}).
\u000
-\dd \f{Move} - move selected object(s).
+\dd \f{Move} - move selected object(s). (\K{cmdMove}).
\u000
-\dd \f{Move Description} - move the endpoint description of a track piece to another location.
+\dd \f{Move Description} - move the endpoint description of a track piece to another location. (\K{cmdMoveLabel}).
\u000
+\dd \f{Pan/Zoom} - move or resize the viewport using the mouse.
+
+\u000
+
\dd \f{Profile} - display the elevation profile of a definable stretch of track (\K{cmdProfile}).
\u000
-\dd \f{Properties} - sets \e{XTrackCAD} into \e{Describe} mode. Whenever an object is clicked on while in this mode, the \f{Properties} dialog is opened. This dialog allows direct manipulation of settings such as the objects length, position or orientation.
+\dd \f{Properties} - sets \e{XTrackCAD} into \e{Describe} mode. Whenever an object is clicked on while in this mode, the \f{Properties} dialog is opened. This dialog allows direct manipulation of settings such as the objects length, position or orientation. (\K{cmdDescribe}).
\u000
-\dd \f{Raise/Lower Elevations} - raise or lower elevation of selected tracks.
+\dd \f{Raise/Lower Elevations} - raise or lower elevation of selected tracks. (\K{cmdRaiseElev}).
\u000
-\dd \f{Rotate} - rotate selected object(s).
+\dd \f{Rotate} - rotate selected object(s). (\K{cmdRotate}).
\u000
@@ -68,11 +72,11 @@ The \f{Change Menu} has all functions related to modifying objects that exist on
\u000
-\dd \f{Select} - sets \e{XTrackCAD} into \e{Select} mode. Whenever an object is clicked on while in this mode, this selection state of this object is reversed. If an object was unselected it becomes selected, and vice versa. To unselect all objects press the ESC key, use \f{Deselect All} from the \f{Edit} (\K{editM}) menu or \f{Deselect All} from the \f{Pop-up} menu (\K{mouseBcmd}).
+\dd \f{Select} - sets \e{XTrackCAD} into \e{Select} mode. Whenever an object is clicked on while in this mode, this selection state of this object is reversed. If an object was unselected it becomes selected, and vice versa. To unselect all objects press the ESC key, use \f{Deselect All} from the \f{Edit} (\K{editM}) menu or \f{Deselect All} from the \f{Pop-up} menu (\K{mouseBcmd}). (\K{cmdSelect}).
\u000
-\dd \f{Split Track} - the \f{Split Track} command can be used in one of two ways;
+\dd \f{Split Track} - the \f{Split Track} (\K{cmdSplitTrack}) command can be used in one of two ways;
\lcont{
@@ -115,17 +119,27 @@ Using the \f{Select} command, select the track that is to have its elevation set
\rule
-\S{cmdConnect} Connect Sectional Tracks
+\S{cmdConnect} Connect Tracks
\G{png.d/bconnect.png}
-This command is used exclusively with \e{Sectional Track}.
+This command is frequently used with \e{Sectional Track}. But it can be useful to reattach ordinary track which has become disconected or split.
+
+There are three modes,
+
+\u000
+
+\b a \f{Left} click on a track near a disconnected end-point followed by a second on a close-by disconnected end-point on another track will try to join two tracks
-Occasionally pieces of sectional track do not line up exactly, especially when creating figure-8's or passing sidings. When laying out the actual track you can compensate for this by adjusting the individual tracks to provide a bit of slack. This command simulates that process.
+\b a \f{Shift-Left} click on a connected track will "Tighten Tracks" moving other tracks connected to this track to reduce any small distance or angle differences
-Click on the endpoint of each track you're trying to connect. Tracks will move slightly in an attempt to overcome the gap. If the gap is too large, the connection will fail. If this occurs, try using other track pieces in your layout.
+\b selecting a set of tracks followed by a \f{Right} click will prompt for confirmation that all selected tracks with unconnected endpoints should be joined to nearby selected track at an unconnected end point. This mode allows for an entire layout to be reconnected after a Select-All.
-\e{XTrackCAD} adjusts the positions of tracks connected to the tracks up to a track with more than two connections. See the Demo for details.
+\f{Notes for two track mode:} Occasionally pieces of sectional track do not line up exactly, especially when creating figure-8's or passing sidings. When laying out the actual track you can compensate for this by adjusting the individual tracks to provide a bit of slack. This command simulates that process.
+
+Click on the endpoint of each track you're trying to connect. XtrkCAD will move the tracks slightly in an attempt to overcome the gap. If the gap is too large, the connection will fail. If this occurs, try using other track pieces in your layout.
+
+\e{XTrackCAD} adjusts the positions of tracks connected to the tracks up to a track with more than two connections. See the Demo for details.
If one (or both) the selected tracks is an adjustable section (such as Kato's Adjustable Track #20-050) then the length of the track is changed to fill the gap.
@@ -160,7 +174,7 @@ An endpoint can have one of several elevation types:
\b \f{Station} - assigns a name to the endpoint.
-\f{Note:} Only one of these attributes can be assigned to an endpoint. For example, an endpoint can not be defined as a Grade and a Station at the same time.
+\f{Note:} Only one of these attributes can be assigned to an endpoint. For example, an endpoint can not be defined as a Grade and a Station at the same time.
When an endpoint is selected on the layout by \e{Left-Click}, it is highlighted by a large red dot and its elevation type and values are displayed in the dialog.
@@ -266,7 +280,9 @@ For detail about;
\S2{joinTrackCurve} Using Curved Flex-Track
-This method of joining track may be used where tracks are joined with a 'simple curve', e.g. one which uses a curve in a single direction as opposed to using reverse curves (\K{generalTerms}).
+This method of joining track may be used using Normal Easments where tracks are either joined with a 'simple curve'\k{joinNormalEasment}, e.g. one which uses a curve in a single direction as opposed to using reverse curves (\K{generalTerms}) or using complex curves if Easement is set to Cornu \K{joinCornu}.
+
+\S2{joinNormalEasment} Join with Normal Easement
\u000
@@ -344,6 +360,63 @@ For detail about;
\dd Moving one segment of track to join with another refer to \K{joinTrackMove}.
+\S2{joinCornu} \i{Creating a Cornu} \i{Cornu Easements} Join with Cornu Easement
+
+\u000
+
+\n First, ensure that the Easement type option is set to Cornu - see \k{cmdEasement}
+
+\n Start the join process by clicking on the Join button (\G{png.d/bjoin.png}).
+
+\lcont{
+
+\u000
+
+\G{png.d/joincornu1.png}
+
+\u000
+
+}
+
+\dd \e{Left-Click} the open endpoint of one of the two tracks being joined. A red dot within a red circle will appear at the end of the join.
+
+\u000
+
+\dd \e{Left-Drag} the endpoint to where you want it and release the button. The point will only move along the piece of track with the open endpoint (if this track type can be split) as far as the opposite end, or as an extension of that track at the selected end with the same curvature (if this track can be extended). Note that you will be able to fine-tune the end positions later.
+
+\lcont{
+
+\u000
+
+\G{png.d/joincornu2.png}
+
+\u000
+
+}
+
+\dd \e{Left-Click} the endpoint of the other track being joined. Another red dot within a circle will appear at that end of the join.
+
+\u000
+
+\dd \e{Left-Drag} the endpoint to where you want it and release the button. The second endpoint can only be moved along the second track as far as the other end (if it can be split) or as an extension beyond the end of this track (if it can be extended). The initial curve will be drawn - it will be red if the minimum radius is smaller than the minimum radius option.
+
+\lcont{
+
+\u000
+
+\G{png.d/joincornu3.png}
+
+\u000
+
+}
+
+\dd You are now in "Select Points" mode. You can select one end point at a time with \e{Left-Click} and move it with \e{Left-Drag}.
+
+\u000
+
+\dd Once you are happy, hit \e{Enter} or the \e{SpaceBar} to finish editing the easement. Or hit \e{Esc} to cancel.
+
+\dd If you want to modify the Cornu later (even if it is joined at both ends) see \k{chgCornu}
\rule
@@ -396,7 +469,7 @@ Any tracks created during the \f{Join} command will have the following propertie
Turnouts and Sectional (\K{cmdHotBar}) tracks can be joined to other tracks. \e{XTrackCAD} extends the selected endpoint with a straight track when making the connection.
-A Turntable (\K{cmdTurntable}) can be joined however it must be used as the second endpoint.
+A Turntable (\K{cmdTurntable}) can be joined however it must be used as the second endpoint for normal easements but can be connected to either end with Cornu.
For detail about;
@@ -473,17 +546,19 @@ For detail about;
\G{png.d/bmodify.png}
-The \f{Modify} command is used to change characteristics of or extend existing track by adding new track. This command works with any unconnected track endpoint.
+The \f{Modify} command is used to change characteristics of or extend existing track by adding new track. This command works with any unconnected track endpoint, or with a \e{Cornu} or \e{Bezier} track even if connected
The \f{Modify} command can be invoked using the \f{Change>Modify} menu item, the \f{Modify} button or the menu raised by a \e{Right-Click} over the \f{Main Canvas}.
Either the left mouse button (for changing length or creating a tangent track) or the right mouse button (for extending with a new track) is used to modify the unconnected endpoint.
-The endpoints of a \e{Line}, \e{Dimension Line}, \e{Table Edge} or \e{Bench-work} can be dragged to new positions. A \e{Box} is treated as 4 Lines.
+The endpoints of a \e{Line}, \e{Dimension Line}, \e{Table Edge} or \e{Bench-work} can be dragged to new positions. A \e{Box} or a \e{FilledBox} can be modified by selecting a corner and dragging in two dimensions, or a side and dragging it orthogonally. These modifications preserve a 4-sided rectangle.
+
+The controlpoints of a \e{Cornu Track}, \e{Bezier Track} or \e{Bezier Line} can be changed.
\e{Curved Lines} are modified in same manner as curved track.
-Selecting a corner of a \e{Poly Line}, \e{Filled Box} or \e{Polygon} moves that corner to a new position, and if moved close to a neighboring corner will merge the two corners and delete the edge between them. Selecting an edge will create a corner that can be dragged to a new position.
+Selecting a corner of a \e{Poly Line} or \e{Polygon} moves that corner to a new position, and if moved close to a neighboring corner will merge the two corners and delete the edge between them. Selecting an edge will create a corner that can be dragged to a new position.
Any tracks created during the \f{Modify} command will have the following properties inherited from the first track: selected state, hidden state, scale, track gauge and Layer.
@@ -503,6 +578,14 @@ For detail about;
\dd Extending track length refer to \K{extendTrack}
+\u000
+
+\dd Modifying a Cornu refer to \K{chgCornu}
+
+\u000
+
+\dd Modifying a Bezier refer to \K{chgBezier}
+
\rule
@@ -633,6 +716,57 @@ For detail about;
\rule
+\S2{chgCornu} \i{Cornu Easements} Modifying a Cornu
+
+Because a Cornu is defined by its end points position, angle and radius - it can only be directly modified by dragging an end point along a track.
+
+\n Click the \f{Modify} button (\G{png.d/bmodify.png}) to activate the \f{Modify} function.
+
+\lcont{\u000}
+
+\n Click on the Cornu track. The track ends will turn into roundels
+
+\lcont{\u000}
+
+\n \e{Left-Click} the endpoint and \e{Left-Drag} it to move the endpoint along the connected track, or beyond it if you want that track extended ( but this only works in the direction of the Cornu).
+
+\lcont{\u000}
+
+\n Repeat with the other end-pint if desired
+
+\lcont{\u000}
+
+\n Once you are happy, hit the \e{spacebar} or \e{Enter}, or to cancel hit \e{Escape}.
+
+\f{Note:} A Cornu can also be modified by moving or rotating a connected track.
+
+\rule
+
+\S2{chgBezier} Modifying a Bezier
+
+Because a Bezier is defined by its control points position - its shape can only be modified by dragging an control point.
+
+\n Click the \f{Modify} button (\G{png.d/bmodify.png}) to activate the \f{Modify} function.
+
+\lcont{\u000}
+
+\n Click on the track. The control points will appear
+
+\lcont{\u000}
+
+\n \e{Left-Click} a control point and \e{Left-Drag} it to move it.
+
+\lcont{\u000}
+
+\n Repeat for another end point if desired
+
+\lcont{\u000}
+
+\n Once you are happy, hit the \e{spacebar} or \e{Enter}, or to cancel hit \e{Escape}.
+
+\f{Note: } A Bezier's end point will only be modifyable if it is not connected. Both internal control points can be modified even if the track is connected.
+
+\rule
\S{cmdMove} Move
@@ -645,13 +779,21 @@ The \f{Move} command can be invoked using the \f{Change>Move} menu item or the \
Successful use of this command requires selection of the object(s) to be moved before attempting to move it. An object is selected by using the \e{Left-Click} command. A group of connected objects can be selected using the \e{Shift+Left-Click} command.
-A pop-up menu with commands controlling how objects are drawn during moves can be activated by entering a \e{Shift+Right-Click} command while hovering over the \f{Main Canvas}
+A move can be achieved using one of the following methods;
-\G{png.d/mmovedraw.png}
+\u000
-\e{Left+Drag} is used to move the selected object(s) around the layout.
+\dd \e{Left+Drag} using the mouse. See \K{moveByMouse} for detail.
-\f{Note:} The \f{Draw Moving Tracks} Radio box on the \f{Command Options} (\K{cmdCmdopt}) dialog can also be used to select how objects are drawn during drags to move or rotate objects. The options for this feature are:
+\u000
+
+\dd Selecting fixed or specified amounts of translation in the X and Y directions using a \e{Right-Click} menu. See \K{moveByMenu} for detail.
+
+\u000
+
+\rule
+
+A pop-up menu with commands controlling how objects are drawn during moves can be activated by entering a \e{Shift+Right-Click} command while hovering over the \f{Main Canvas}
\b \f{Normal} - objects are drawn normally. This can be time-consuming when using a slow machine and moving a large number of objects.
@@ -663,6 +805,54 @@ A pop-up menu with commands controlling how objects are drawn during moves can b
\b \f{Endpoints} - only the endpoints are drawn (as stars).
+\G{png.d/mmovedraw.png}
+
+\rule
+
+\f{Note:} If the moved track is connected but the track it is connect to is not moved, it will be disconnected, unless that track or the last selected track is a Cornu, in which case the Cornu concenred will be modified (if possible) to remain connected.
+
+\f{Note:} Cornu tracks connected to a turntable will be modified if it is moved or rotated. They remain connected at the point on the radius where they started, so it may be desireable to delete and redraw them if the rotation is large.
+
+\f{Note:} The \f{Draw Moving Tracks} Radio box on the \f{Command Options} (\K{cmdCmdopt}) dialog can also be used to select how objects are drawn during drags to move or rotate objects. The options for this feature are:
+
+\rule
+
+\S2{moveByMouse} Using Mouse
+
+Once object(s) are selected, \e{Left+Drag} is used to move them around the layout using the mouse.
+
+Alternatively, \e{Shift+Ctrl+Arrow} can be used to micro-move the selected object(s). The amount micro-moved is dependent on the zoom in use. To move by smaller increments, zoom in further. My moving to macro-zoom modes extremely fine adjustments can be made.
+
+Remember that unattached objects can also be moved to exact positions using the \K{cmdDescribe} Command or by the \K{moveByMenu}.
+
+\S2{moveByMenu} Using Values of X and Y Translation
+
+Move An Object Using Fixed or Specified amounts of X and Y Translation.
+
+A pop-up menu with additional menu items allows you to \f{Move} the selected object(s) through through any amount you specify.
+
+\G{png.d/mmovevariable.png}
+
+The \f{Move} command is executed as follows;
+
+\n \f{Select} the object(s) to be moved.
+
+\lcont{\u000}
+
+\n \e{Shift+Right-Click} to raise the Move/Rotate menu.
+
+\lcont{\u000
+
+Any amount of precise transalation may be entered by \e{Left-Click}ing the \f{Enter Move...} menu item then entering a desired amount of translation in X and Y in the dialog window that appears.
+
+\u000
+
+\G{png.d/dmovetranslate.png}
+
+\u000
+
+}
+
\rule
@@ -678,10 +868,15 @@ Click the \f{Move Description} button to activate the \f{Move Description} comma
This operation can also be invoked by \e{Ctrl+Left+Drag} when in Select mode (\K{cmdSelect}).
-\e{Shift+Right-Click} (\K{cmdAcclKeys}) can be used to toggle display of individual Curved Track, Helix or Turnout Labels.
+\e{Shift+Right-Click} (\K{cmdAcclKeys}) can be used to toggle display of individual Curved Track, Bezier Track, Cornu, Helix or Turnout Labels.
\rule
+\S{cmdPan} Pan/Zoom
+
+\G{png.d/pan.png}
+
+This command is used to move or resize the viewport using the mouse or keyboard. \e{Left+Drag} Pans the viewport up and down, left and right keping it within the boundaries of the layout. \e{Right+Drag} selects an area of the screen to zoom into. The \f{"0"}- key resets the display to the origin but leaves the zoom as is. Keys between \f{1} and \f{9} set the zoom to that zoom level. The \f{"e"} - key resets the origin to zero and the zooms to show the whole layout.
\S{cmdProfile} Profile
@@ -799,7 +994,7 @@ Rotate An Object Using the Mouse
\lcont{\u000}
-\n Visualize an axis point on the object that's to be rotated then place the mouse pointer over that point.
+\n Visualize an axis point on the object that's to be rotated then place the mouse pointer over that point. If the track is a turntable, the point will be snapped to the turntable center if the mouse is within a quarter of the radius length of it.
\lcont{\u000}
@@ -828,7 +1023,11 @@ Rotation can also be achieved through use of one of these alternate methods;
Rotate An Object Using Fixed or Specified Degree's of Rotation
-A pop-up menu with additional menu items allows you to \f{Rotate} the selected object(s) through various predefined angles or through any angle you specify. The \f{Rotate} command is executed as follows;
+A pop-up menu with additional menu items allows you to \f{Rotate} the selected object(s) through various predefined angles or through any angle you specify.
+
+\G{png.d/mrotatemove.png}
+
+The \f{Rotate} command is executed as follows;
\n \f{Select} the object(s) to be rotated.
@@ -838,24 +1037,34 @@ A pop-up menu with additional menu items allows you to \f{Rotate} the selected o
\lcont{\u000}
-\n With the mouse pointer hovering over the object to be rotated, \e{Shift+Right-Click} to raise the Rotate menu then select the desired degree and direction of rotation from the list of predefined angles (180\u00B0, 90\u00B0 CW, 45\u00B0 CW, 30\u00B0 CW, 15\u00B0 CW, 15\u00B0 CCW, 30\u00B0 CCW, 45\u00B0 CCW, 90\u00B0 CCW).
-
-\lcont{
+\n With the mouse pointer hovering over the point about which the object(s) are to be rotated, \e{Shift+Right-Click} to raise the Rotate menu then select the desired degree and direction of rotation from the list of predefined angles (180\u00B0, 90\u00B0 CW, 45\u00B0 CW, 30\u00B0 CW, 15\u00B0 CW, 15\u00B0 CCW, 30\u00B0 CCW, 45\u00B0 CCW, 90\u00B0 CCW).
-\u000
+\lcont{\u000}
\G{png.d/mrotatefixed.png}
-\u000
+\u000
+
+\rule
+
+Alternately, any angle may be entered by \e{Left-Click}ing the \f{Enter Angle...} menu item
+
+\n \f{Select} the object(s) to be rotated.
+
+\lcont{\u000}
+
+\n With the mouse pointer hovering over the point about which the object(s) are to be rotated, \e{Shift+Right-Click} to raise the Rotate menu and then select the \e{Enter Angle...} option.
+
+\lcont{\u000}
+
+\G{png.d/mrotatevariable.png}
-Alternately, any angle may be entered by \e{Left-Click}ing the \f{Enter Angle...} menu item then entering a desired angle in the Rotate dialog window that appears.
+And then entering a desired angle in the Rotate dialog window that appears.
\G{png.d/drotateangle.png}
\u000
-}
-
Rotation can also be achieved through use of one of these alternate methods;
\u000
@@ -883,7 +1092,7 @@ A pop-up menu with additional menu items allows you to \f{Align} the selected ob
\lcont{\u000}
-\n With the mouse pointer hovering over the object to be rotated, \e{Shift+Right-Click} to raise the Rotate menu then select \f{Align}.
+\n With the mouse pointer hovering over the point about which the object(s) are to be rotated, \e{Shift+Right-Click} to raise the Rotate menu then select \f{Align}.
\lcont{
@@ -1039,7 +1248,7 @@ For detail about;
\u000
-\dd Dividing a section of track into two connected pieces see \K{splitDivide}.
+\dd Dividing a section of flex track into two connected pieces or trimming a turnout see \K{splitDivide}.
\u000
@@ -1056,7 +1265,7 @@ Disconnecting a joint between two pieces of connected track;
\lcont{\u000}
-\n Place the mouse pointer over the joint between the two track endpoints then \e{Left-Click}.
+\n Place the mouse pointer right over the joint between the two track endpoints then \e{Left-Click}.
\lcont{\u000}
@@ -1091,7 +1300,7 @@ For detail about;
\S2{splitDivide} Divide Track
-Dividing a section of track into two connected pieces;
+Dividing a section of flex track into two connected pieces;
\n Click the \f{Split} button (\G{png.d/bsplit.png}) to activate the \f{Split} command.
@@ -1164,7 +1373,7 @@ The \f{Split} command can be used to add block gaps (\K{generalTerms}) at the po
\u000
-After executing the \f{Split} command use the \e{Shift+Right-Click} command to display one of two pop-up menus which can be used to add, change or remove \e{block gaps} for the selected endpoint.
+After starting the \f{Split} command use the \e{Shift+Right-Click} over a joint to display one of two pop-up menus which can be used to add, change or remove \e{block gaps} for the selected endpoint.
\dd \G{png.d/msplitblock.png}
diff --git a/app/doc/doc.vcproj b/app/doc/doc.vcproj
deleted file mode 100644
index 095fd28..0000000
--- a/app/doc/doc.vcproj
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="doc"
- ProjectGUID="{2DD6F94A-3A3C-41BF-858E-C85F7941FF15}"
- Keyword="MakeFileProj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="0"
- >
- <Tool
- Name="VCNMakeTool"
- BuildCommandLine="nmake -f makefile.win"
- ReBuildCommandLine=""
- CleanCommandLine="nmake -f makefile.win clean"
- Output="xtrkcad.chm"
- PreprocessorDefinitions="WIN32;_DEBUG"
- IncludeSearchPath=""
- ForcedIncludes=""
- AssemblySearchPath=""
- ForcedUsingAssemblies=""
- CompileAsManaged=""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="0"
- >
- <Tool
- Name="VCNMakeTool"
- BuildCommandLine="nmake -f makefile.win"
- ReBuildCommandLine=""
- CleanCommandLine=""
- Output="xtrkcad.chm"
- PreprocessorDefinitions="WIN32;NDEBUG"
- IncludeSearchPath=""
- ForcedIncludes=""
- AssemblySearchPath=""
- ForcedUsingAssemblies=""
- CompileAsManaged=""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\addm.but"
- >
- </File>
- <File
- RelativePath=".\appendix.but"
- >
- </File>
- <File
- RelativePath=".\changem.but"
- >
- </File>
- <File
- RelativePath=".\chmconf.but"
- >
- </File>
- <File
- RelativePath=".\drawm.but"
- >
- </File>
- <File
- RelativePath=".\editm.but"
- >
- </File>
- <File
- RelativePath=".\filem.but"
- >
- </File>
- <File
- RelativePath=".\helpm.but"
- >
- </File>
- <File
- RelativePath=".\hotbar.but"
- >
- </File>
- <File
- RelativePath=".\intro.but"
- >
- </File>
- <File
- RelativePath=".\macrom.but"
- >
- </File>
- <File
- RelativePath=".\makefile.win"
- >
- </File>
- <File
- RelativePath=".\managem.but"
- >
- </File>
- <File
- RelativePath=".\navigation.but"
- >
- </File>
- <File
- RelativePath=".\optionm.but"
- >
- </File>
- <File
- RelativePath=".\statusbar.but"
- >
- </File>
- <File
- RelativePath=".\view_winm.but"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- <File
- RelativePath=".\readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/app/doc/drawm.but b/app/doc/drawm.but
index 21785ce..b8469b1 100644
--- a/app/doc/drawm.but
+++ b/app/doc/drawm.but
@@ -16,15 +16,15 @@ There are 4 command buttons on the tool-bar used to draw Straight Objects, Curve
Functions for drawing basic shapes and objects like lines and curves can be accessed from this menu.
-\dd \f{Circle Lines} - draw empty or filled circles.
+\dd \f{Circle Lines} - draw empty or filled circles. (\K{cmdCircleL})
\u000
-\dd \f{Curved Lines} - are created in the same manner as curved tracks.
+\dd \f{Curved Lines} - are created in the same manner as curved tracks. (\K{cmdCurvedL})
\u000
-\dd \f{Note} - attach a note icon to a specific location on the layout.
+\dd \f{Note} - attach a note icon to a specific location on the layout. (\K{cmdNote})
\u000
@@ -32,15 +32,15 @@ Functions for drawing basic shapes and objects like lines and curves can be acce
\u000
-\dd \f{Shapes} - draw boxes and poly-lines.
+\dd \f{Shapes} - draw boxes and poly-lines. (\K{cmdShapes})
\u000
-\dd \f{Straight Objects} - draw straight objects.
+\dd \f{Straight Objects} - draw straight objects. (\K{cmdStraightL})
\u000
-\dd \f{Text} - allows entry of text directly onto the layout.
+\dd \f{Text} - allows entry of text directly onto the layout. (\K{cmdText})
Some commands display controls on the Status Line (\K{mainW}) to change line width, color or other attributes of the object.
@@ -70,20 +70,35 @@ Some commands display controls on the Status Line (\K{mainW}) to change line wid
\dd \G{png.d/dcurve1.png} Select the start of the curve and drag in the direction of the curve.
+If \e{Shift} is held down as the left mouse button is clicked for the first end point of the curve and the cursor is over a line object the position will snap to the nearest end of that line.
+If \e{Shift} is held down when the button is released for the second end, it will snap to the nearest end of a line object if it is over one.
+
\u000
\dd \G{png.d/dcurve2.png} Select one end of the curve and drag to the center.
+To complete the command, drag on the red arrows to adjust the curve.
+
\u000
\dd \G{png.d/dcurve3.png} Select the center of the curve and drag to one end.
+To complete the command, drag on the red arrows to adjust the curve.
+
\u000
\dd \G{png.d/dcurve4.png} Drag from one end of the curve to the other to form the chord of the curve.
To complete the command, drag on the red arrows to adjust the curve.
+\u000
+
+\dd \G{png.d/dbezier.png} \e{Left-Drag} out control point from one end of the curve and then \e{Left-Drag} out the second control point from the other end.
+
+If \e{Shift} is held while the end points are selected, the curve will lock to the ends of nearby line objects.
+
+To adjust the curve, \e{Left-Click} and \e{Left-Drag} an end or a control point. Hit \e{Enter} to accept, \e{Esc} to reject.
+
\rule
@@ -121,7 +136,7 @@ Subsequent clicks on the \f{Ruler} button will hide or display the ruler.
Shapes are drawn by:
-\dd \G{png.d/dbox.png} \G{png.d/dfilbox.png} \f{Boxes} and \f{Filled Boxes} are created by selecting one corner and dragging the opposite corner. A \f{Box} is composed of four lines which may be individually deleted.
+\dd \G{png.d/dbox.png} \G{png.d/dfilbox.png} \f{Boxes} and \f{Filled Boxes} are created by selecting one corner and dragging the opposite corner.
\u000
@@ -134,9 +149,12 @@ Shapes are drawn by:
\G{png.d/mdrawstraight.png}
-Straight Objects are created by a \e{Left+Drag} (\K{windowTerms}) on the layout. If \e{Draw Straight Objects} is Sticky (\K{cmdSticky}), \e{Shift+Left+Drag} will use the endpoint of the previous line as the starting point.
+Straight Objects are created by a \e{Left+Drag} (\K{windowTerms}) on the layout. If \e{Draw Straight Objects} is Sticky (\K{cmdSticky}), \e{Cntl+Left+Drag} will use the endpoint of the previous line as the starting point.
\dd \G{png.d/dline.png} Creates a \f{Straight Line} of specified color and width.
+If \e{Shift} is held down for the first end point and the cursor is over a line object the new line start position will snap to the nearest end of the line.
+If \e{Shift} is held down when the button is released at the end of the \e{Left+Drag} the line end position will snap to the nearest end of any line object it is over.
+
\u000
@@ -169,7 +187,7 @@ Straight Objects are created by a \e{Left+Drag} (\K{windowTerms}) on the layout.
\G{png.d/btext.png}
-The \f{Text} command lets you enter text on the layout at the selected position.
+The \f{Text} command lets you enter text on the layout at the selected position. You can use the Tab key to format the text to fixed tab positions and CTRL+Enter to enter a newLine character.
\G{png.d/statustext.png}
diff --git a/app/doc/filem.but b/app/doc/filem.but
index 8b74434..c1c694e 100644
--- a/app/doc/filem.but
+++ b/app/doc/filem.but
@@ -35,7 +35,7 @@ The \f{File Menu} shows file oriented commands for loading and saving layout fil
\u000
-\dd \G{png.d/bnew.png} \f{New} - Clears the current layout. In case there are any unsaved changes on the current plan, a warning pop-up will be displayed and you'll have the option to cancel the operation.
+\dd \G{png.d/bnew.png} \f{New} - Clears the current layout. In case there are any unsaved changes on the current plan, a warning pop-up will be displayed and you'll have the option to cancel the operation. After that the Layout Options (\K{cmdLayout}) dialog will be opened.
\u000
@@ -220,6 +220,10 @@ Whether tracks are printed with one or two lines (representing the center line a
\u000
+\dd \f{Print centerline below Scale 1:1} - dotted line down the center of the Track/Roadbed. This line will always be printed at Scale 1:1, but selecting this option will print it at smaller scales. This option is disabled if tracks would be drawn with only one line (instead of two).
+
+\u000
+
\dd \f{Print Roadbed Outline} - lines representing the edge of the Roadbed. The Roadbed will be printed if the \e{Width} is greater than the track gauge. Note: this option is most useful at 1:1. This option is disabled if tracks would be drawn with only one line (instead of two).
\u000
diff --git a/app/doc/intro.but.in b/app/doc/intro.but.in
index cb0d0d2..51203f8 100644
--- a/app/doc/intro.but.in
+++ b/app/doc/intro.but.in
@@ -780,7 +780,7 @@ This section of the manual describes how and where to report a bug or seek an en
\S{bugs} Reporting \i{Bugs}
-If you encounter an unreported bug please submit detail regarding such to the \f{Bug Tracker} located at the \W{http://sourceforge.net/tracker/?group_id=151737&amp;atid=781978}{\e{XTrackCAD} Fork Project Site}.
+If you encounter an unreported bug please submit detail regarding such to the \f{Bug Tracker} located at the \W{https://sourceforge.net/p/xtrkcad-fork/bugs/}{\e{XTrackCAD} Fork Project Site}.
\f{Be sure to provide the three basic elements of a bug report:} What you were doing at the time the bug occurred, what you expected to happen and what actually happened. This detail will help developers replicate the error, find and correct the offending code.
@@ -788,7 +788,7 @@ If you encounter an unreported bug please submit detail regarding such to the \f
\u000
-\dd After completing installation of \e{XTrackCAD} on a Dell Dimension PC with 128 MB of memory running Windows ME, the following error occurred when attempting to edit a Text Label;
+\dd After completing installation of \e{XTrackCAD} on a Dell PC with 1024 MB of memory running Windows 7, the following error occurred when attempting to edit a Text Label;
\u000
@@ -808,7 +808,7 @@ If you encounter an unreported bug please submit detail regarding such to the \f
\f{Always search the bug database first.} Advice so good, we'll repeat it twice. Always search the bug database first. The odds are good that if you've found a problem, someone else found it too. If you spend a few minutes of your time making sure that you're not filing a duplicate bug, that's a few more minutes someone can spend helping to fix that bug rather than sorting out duplicate bug reports.
-\f{If you don't understand an error message, ask for help.} Don't report an error message you don't understand as a bug. There are a lot of places you can ask for help in understanding what is going on before you can claim that an error message you do not understand is a bug. (Once you've understood the error message and have a good suggestion for a way to make the error message clearer, you might consider reporting it as a \W{http://sourceforge.net/tracker/?group_id=151737&amp;atid=781981}{\e{XTrackCAD} Feature Request}).
+\f{If you don't understand an error message, ask for help.} Don't report an error message you don't understand as a bug. There are a lot of places you can ask for help in understanding what is going on before you can claim that an error message you do not understand is a bug. (Once you've understood the error message and have a good suggestion for a way to make the error message clearer, you might consider reporting it as a \W{https://sourceforge.net/p/xtrkcad-fork/feature-requests/}{\e{XTrackCAD} Feature Request}).
\f{Be brief, but don't leave any important details out.} This is a fine line to walk. But there are some general guidelines:
@@ -825,6 +825,6 @@ If you can recreate the problem the \f{Macro>Record} command can be used to reco
\S{enhancements} \i{Enhancement Requests}
-Suggestions for improvements are encouraged and welcome. Submit your suggestion to the \e{XTrackCAD} \f{Feature Tracker} located at the \W{http://sourceforge.net/tracker/?group_id=151737&amp;.atid=781981}{\e{XTrackCAD} Fork Project Site} or the \e{XTrackCAD} \f{Wikka Wish List} located at the \W{http://www.xtrkcad.org/Wikka/WishList}{\e{XTrackCAD} Wiki: WishList}.
+Suggestions for improvements are encouraged and welcome. Submit your suggestion to the \e{XTrackCAD} \f{Feature Tracker} located at the \W{https://sourceforge.net/p/xtrkcad-fork/feature-requests/}{\e{XTrackCAD} Fork Project Site}.
\rule
diff --git a/app/doc/managem.but b/app/doc/managem.but
index 4a769db..9153b52 100644
--- a/app/doc/managem.but
+++ b/app/doc/managem.but
@@ -67,7 +67,9 @@ Cars are placed on the layout by using the \f{Train Simulation} (\K{cmdTrain}) c
The \f{Find} button will center the \f{Main Window} (\K{mainW}) on the selected car. This button is only enabled for cars which are on the Layout (indicated by \f{Layout} in the Location column). If the car on a track that is hidden and \f{Trains on Hidden Track} (\K{cmdDisplay}) is set to \f{Hide}, then the car (and any attached cars) will be made visible.
-The \f{Edit} button invokes the \f{Car} dialog (\K{cmdCarpart}) to modify the selected car. This button is disabled if more than one (or no) car is selected or if the selected car is on the Layout. This dialog is also used to \f{Add} a new Car. Refer to \K{faqsPrototype} if an error occurs when attempting to add inventory to this list.
+The \f{Edit} button invokes the \f{Car} dialog (\K{cmdCarpart}) to modify the selected car. This button is disabled if more than one (or no) car is selected or if the selected car is on the Layout.
+
+The \f{Add} button is to add a new Car. Refer to \K{faqsPrototype} if an error occurs when attempting to add inventory to this list.
The \f{Delete} button removes the selected cars from your inventory. This button is disabled if any of the selected cars are on the layout.
diff --git a/app/doc/navigation.but b/app/doc/navigation.but
index 66b0cc9..47051f7 100644
--- a/app/doc/navigation.but
+++ b/app/doc/navigation.but
@@ -7,7 +7,7 @@
\C{navigation} Navigation
-The Main Window includes a title bar along the top that describes the contents of the window, followed by a tool bar that contains user interface buttons. Most of the window's remaining area is used to display the layout.
+The Main Window includes a title bar along the top that describes the contents of the window, followed by a tool bar that contains user interface buttons. Most of the window's remaining area is used to display the layout. A footer border contains information including system messages.
Most windows can be opened, closed, resized, minimized, and moved around the screen. The close, minimize, and zoom buttons are located on the right side of the title bar. Minimizing a window will close the contents of the window, but store a reference to it in the Task bar. Closing a window will make it disappear completely (so you may be asked to save your changes first). To move a window, click on the title bar and drag the window where you want it. To resize a window, either click the Zoom button
@@ -126,6 +126,8 @@ Most windows can be opened, closed, resized, minimized, and moved around the scr
\b PAGE UP and PAGE DOWN keys.
+\f{Note:} If The scale 1::1 is reached, "Macro Zoom" mode can be entered using CTRL+PageDown - with repeated presses a scale of 10::1 is possible.
+
}
\u000
@@ -134,7 +136,7 @@ Most windows can be opened, closed, resized, minimized, and moved around the scr
\u000
-\dd The ARROW keys move the \f{Canvas} left, right, up or down.
+\dd The ARROW keys move the \f{Canvas} left, right, up or down by half a screen. If Shift is used together with the arrow keys, the movement will be 1/20th of screen in the selected direction.
\u000
diff --git a/app/doc/optionm.but b/app/doc/optionm.but
index c7f00d9..0c2adfb 100644
--- a/app/doc/optionm.but
+++ b/app/doc/optionm.but
@@ -138,6 +138,10 @@ The \f{Display} dialog contains items which control the display of objects on th
\u000
+\dd \f{Draw Unconnected EndPts} - how to draw unconnected endpoints; normally, with a thick line or with a thick line in the exception color.
+
+\u000
+
\dd \f{Draw Ties} - how to draw ties under the rails when the drawing Scale is smaller than half of the \f{Two Rail Scale}.
\u000
@@ -241,13 +245,25 @@ The \f{Easement} dialog is invoked from the Options (\K{optionM}) menu.
\u000
-\dd Radio button group with \f{None}, \f{Sharp}, \f{Normal} and \f{Broad}. Corresponding \f{Value}s for these buttons are 0, 0.5, 1.0 and 2.0. Select \f{None} to turn easements off.
+\dd Radio button group with \f{None}, \f{Sharp}, \f{Normal}, \f{Broad} and \f{Cornu}. Corresponding \f{Value}s for these buttons are 0, 0.5, 1.0, 2.0 and -1.0. Select \f{None} to turn easements off.
+
+For traditional fixed sharpness easements see \k{EasementsTraditional}, for Cornu Easements see \k{EasementsCornu}.
+
+\S2{EasementsCornu} \i{Cornu Easements}
+
+The Cornu Easements work in a different way to the other easements. They use all the space available to minimize sharpness, so you can control the sharpness for each curve you draw by the distance apart, radius and angle of the two end points.
+
+The Cornu is a mathematical curve that has the property that the curvature (inverse of the radius) varies linearly along its length. Using an open-source Cornu library written by Dr Raph Levin, we can calculate an Cornu easment to suit the end conditions of radius, curve center, angle and position. A Cornu easement can be constructed between two tracks by using the values of these parameters.
+
+To draw an cornu easement see \k{joinCornu}, to Modify it afterwards see \k{chgCornu}.
+
+\S2{EasementsTraditional} \i{Easements with Fixed Sharpness}
-The values \f{R}, \f{X} and \f{L} are read-only.
+The values \f{R}, \f{X} and \f{L} are read-only. They are set using the radio buttons or the \f{Value} field which can be set to 0 (No Easment) or between 0.21 (sharpest Easement) 100 (broadest Easment).
These values indicate the worst case of joining a straight track with a curve of radius \f{R}. The two tracks are separated by the offset \f{X} while the easement curve extends for \f{L/2} inches or centimeters to each side of the endpoints.
-The formula used to draw easements is:
+The formula used to draw non-Cornu easements is:
\c x = l * l * l / (6 * R * L)
\e b b
@@ -301,7 +317,7 @@ The font selection dialog allows selection of the font used by the text (\K{cmdT
\S{cmdLayout} Layout Dialog
-The \f{Layout Options} dialog, displayed by the Options (\K{optionM}) menu, contains items controlling the current layout.
+The \f{Layout Options} dialog, displayed by the Options (\K{optionM}) or the File (\K{fileM} menu, contains items controlling the current layout.
\dd \G{png.d/layout.png}
diff --git a/app/doc/osxconf.but b/app/doc/osxconf.but
index 8656f0e..60e6036 100644
--- a/app/doc/osxconf.but
+++ b/app/doc/osxconf.but
@@ -1,7 +1,7 @@
\cfg{html-version}{xhtml1.0strict}
\cfg{html-leaf-level}{infinite}
\cfg{html-leaf-contains-contents}{false}
-\cfg{html-suppress-navlinks}{true}
+\cfg{html-suppress-navlinks}{false}
\cfg{html-suppress-address}{true}
\cfg{html-contents-filename}{contents.html}
@@ -11,6 +11,6 @@
\cfg{html-contents-depth}{0}{2}
-\cfg{html-head-end}{<link rel="stylesheet" type="text/css" href="xtrkcad_osx.css" /><script type="text/javascript" src="toc.js" ></script>}
+\cfg{html-head-end}{<link rel="stylesheet" type="text/css" href="sty/xtrkcad_osx.css" /><script type="text/javascript" src="scrpt/toc.js" ></script>}
\cfg{html-body-start}{<div id="container"><div id="toc" data-include="toc.html"></div><div id="contents">}
\cfg{html-body-end}{</div></div>} \ No newline at end of file
diff --git a/app/doc/png.d/bezier.png b/app/doc/png.d/bezier.png
new file mode 100644
index 0000000..e03458e
--- /dev/null
+++ b/app/doc/png.d/bezier.png
Binary files differ
diff --git a/app/doc/png.d/bmap.png b/app/doc/png.d/bmap.png
new file mode 100644
index 0000000..7a99724
--- /dev/null
+++ b/app/doc/png.d/bmap.png
Binary files differ
diff --git a/app/doc/png.d/cmdopt.png b/app/doc/png.d/cmdopt.png
index 58dfa2b..67503d2 100644
--- a/app/doc/png.d/cmdopt.png
+++ b/app/doc/png.d/cmdopt.png
Binary files differ
diff --git a/app/doc/png.d/dbezier.png b/app/doc/png.d/dbezier.png
new file mode 100644
index 0000000..0a81063
--- /dev/null
+++ b/app/doc/png.d/dbezier.png
Binary files differ
diff --git a/app/doc/png.d/displayopt.png b/app/doc/png.d/displayopt.png
index 59cc211..3124e2b 100644
--- a/app/doc/png.d/displayopt.png
+++ b/app/doc/png.d/displayopt.png
Binary files differ
diff --git a/app/doc/png.d/dproperties.png b/app/doc/png.d/dproperties.png
index e1677cc..0938437 100644
--- a/app/doc/png.d/dproperties.png
+++ b/app/doc/png.d/dproperties.png
Binary files differ
diff --git a/app/doc/png.d/easew.png b/app/doc/png.d/easew.png
index 3b2b93d..cc71900 100644
--- a/app/doc/png.d/easew.png
+++ b/app/doc/png.d/easew.png
Binary files differ
diff --git a/app/doc/png.d/joincornu1.png b/app/doc/png.d/joincornu1.png
new file mode 100644
index 0000000..a41a317
--- /dev/null
+++ b/app/doc/png.d/joincornu1.png
Binary files differ
diff --git a/app/doc/png.d/joincornu2.png b/app/doc/png.d/joincornu2.png
new file mode 100644
index 0000000..8392a1a
--- /dev/null
+++ b/app/doc/png.d/joincornu2.png
Binary files differ
diff --git a/app/doc/png.d/joincornu3.png b/app/doc/png.d/joincornu3.png
new file mode 100644
index 0000000..8cb6c59
--- /dev/null
+++ b/app/doc/png.d/joincornu3.png
Binary files differ
diff --git a/app/doc/png.d/joincornu4.png b/app/doc/png.d/joincornu4.png
new file mode 100644
index 0000000..d09584c
--- /dev/null
+++ b/app/doc/png.d/joincornu4.png
Binary files differ
diff --git a/app/doc/png.d/joincornu5.png b/app/doc/png.d/joincornu5.png
new file mode 100644
index 0000000..560ce90
--- /dev/null
+++ b/app/doc/png.d/joincornu5.png
Binary files differ
diff --git a/app/doc/png.d/layout.png b/app/doc/png.d/layout.png
index 25db34f..cbcc42b 100644
--- a/app/doc/png.d/layout.png
+++ b/app/doc/png.d/layout.png
Binary files differ
diff --git a/app/doc/png.d/mchange.png b/app/doc/png.d/mchange.png
index ef5334e..f891411 100644
--- a/app/doc/png.d/mchange.png
+++ b/app/doc/png.d/mchange.png
Binary files differ
diff --git a/app/doc/png.d/mdraw.png b/app/doc/png.d/mdraw.png
index a23c208..46b1f69 100644
--- a/app/doc/png.d/mdraw.png
+++ b/app/doc/png.d/mdraw.png
Binary files differ
diff --git a/app/doc/png.d/mrotatealign.png b/app/doc/png.d/mrotatealign.png
index b62443d..1d1aeb6 100644
--- a/app/doc/png.d/mrotatealign.png
+++ b/app/doc/png.d/mrotatealign.png
Binary files differ
diff --git a/app/doc/png.d/mrotatefixed.png b/app/doc/png.d/mrotatefixed.png
index 0bc48f7..0aeb1f9 100644
--- a/app/doc/png.d/mrotatefixed.png
+++ b/app/doc/png.d/mrotatefixed.png
Binary files differ
diff --git a/app/doc/png.d/mrotatemove.png b/app/doc/png.d/mrotatemove.png
index 3977e13..7710a9c 100644
--- a/app/doc/png.d/mrotatemove.png
+++ b/app/doc/png.d/mrotatemove.png
Binary files differ
diff --git a/app/doc/png.d/mview.png b/app/doc/png.d/mview.png
index 9def0b8..7bf2037 100644
--- a/app/doc/png.d/mview.png
+++ b/app/doc/png.d/mview.png
Binary files differ
diff --git a/app/doc/png.d/pan.png b/app/doc/png.d/pan.png
new file mode 100644
index 0000000..653ee4d
--- /dev/null
+++ b/app/doc/png.d/pan.png
Binary files differ
diff --git a/app/doc/png.d/toolbar.png b/app/doc/png.d/toolbar.png
index 3d9a8a9..4f87adc 100644
--- a/app/doc/png.d/toolbar.png
+++ b/app/doc/png.d/toolbar.png
Binary files differ
diff --git a/app/doc/view_winm.but b/app/doc/view_winm.but
index 47ec17b..01f8a8c 100644
--- a/app/doc/view_winm.but
+++ b/app/doc/view_winm.but
@@ -30,7 +30,7 @@ The \f{View Menu} shows commands affecting the display of the \f{Main Canvas} (\
\u000
-\dd \f{ Show Map} - Toggles display of the \f{Map Window} on and off.
+\dd \G{png.d/bmap.png} \f{ Show/Hide Map} - Toggles display of the \f{Map Window} on and off.
\u000