<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to CreateHelp</title><link>https://sourceforge.net/p/xtrkcad-fork/wiki/CreateHelp/</link><description>Recent changes to CreateHelp</description><atom:link href="https://sourceforge.net/p/xtrkcad-fork/wiki/CreateHelp/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 27 Apr 2024 19:44:16 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/xtrkcad-fork/wiki/CreateHelp/feed" rel="self" type="application/rss+xml"/><item><title>CreateHelp modified by Russell Shilling</title><link>https://sourceforge.net/p/xtrkcad-fork/wiki/CreateHelp/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Russell Shilling</dc:creator><pubDate>Sat, 27 Apr 2024 19:44:16 -0000</pubDate><guid>https://sourceforge.netabda337cac65edff12d2e803cddad64c51d92360</guid></item><item><title>CreateHelp modified by Russell Shilling</title><link>https://sourceforge.net/p/xtrkcad-fork/wiki/CreateHelp/</link><description>&lt;div class="markdown_content"&gt;&lt;h2 id="help-functionality-in-xtrackcad"&gt;Help Functionality in &lt;strong&gt;XTrackCAD&lt;/strong&gt;&lt;/h2&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;To assist the user a lot of effort has gone into creating and maintaining a help system that can be used on all supported platforms.&lt;br/&gt;
This page describes the implementation. It is useful for developers who want to extend the &lt;strong&gt;XTrackCAD&lt;/strong&gt; functionality and for documentation writers.&lt;br/&gt;
* Writing Help explains the source format and the link between application and the help system. Information is useful for writers and coders.&lt;br/&gt;
* Conventions describes the structure of the help source and is mostly oriented towards documentation writers.&lt;br/&gt;
* Adding help explains how help is implemented on the different supported platforms.&lt;br/&gt;
Core for the creation of help is the &lt;em&gt;Halibut Document Preparation System:&lt;/em&gt; &lt;span&gt;[http://www.chiark.greenend.org.uk/~sgtatham/halibut/]&lt;/span&gt; that was slightly extended for the use in &lt;strong&gt;XTrackCAD&lt;/strong&gt;. This extended version is included in the source code distribution of &lt;strong&gt;XTrackCAD&lt;/strong&gt; and can be built with the CMakeBuild. &lt;/p&gt;
&lt;h2 id="writing-help"&gt;Writing Help&lt;/h2&gt;
&lt;h2 id="conventions"&gt;Conventions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;XTrackCAD&lt;/strong&gt; uses Halibut for writing help for its functions. &lt;br/&gt;
Their &lt;em&gt;user manual:&lt;/em&gt; &lt;span&gt;[http://www.chiark.greenend.org.uk/~sgtatham/halibut/doc-1.1/]&lt;/span&gt; has a description of the syntax.&lt;/p&gt;
&lt;p&gt;For &lt;strong&gt;XTrackCAD&lt;/strong&gt; including bitmaps as an additional feature was implemented. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;\G{png.d/colorw.png}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The bitmap png.d/colorw.png is loaded and placed at the current position. &lt;strong&gt;Note&lt;/strong&gt; Usage of bitmaps is only supported for HTML output.&lt;/p&gt;
&lt;p&gt;Screenshots and other images are stored in the png.d subdirectory of the halibut source.&lt;br/&gt;
Help is mostly organized according to the structure of the pulldown menus. A few additional files are used for general information.&lt;/p&gt;
&lt;h2 id="adding-help"&gt;Adding Help&lt;/h2&gt;
&lt;p&gt;The following is a snippet from optionm.but, the help file for the Option menu:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;\S{cmdRgbcolor} Colors Dialog&lt;br/&gt;
The \f{Colors} dialog is invoked from the Options (\K{optionM}) menu&lt;br/&gt;
\G{png.d/colorw.png}&lt;br/&gt;
The \f{Colors} dialog controls the color that various objects are drawn.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;//cmdRgbcolor// is the anchor point for that help topic. In the C code it is referenced from the dialog definition:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;static paramGroup_t colorPG = { "rgbcolor", PGO_RECORD|PGO_PREFGROUP, colorPLs, sizeof colorPLs/sizeof colorPLs&lt;span&gt;[0]&lt;/span&gt; };&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Notice that the 'cmd' prefix has to be omitted.&lt;br/&gt;
//png.d/colorw.png// is the screenshot for that dialog box.&lt;br/&gt;
{optionM} links to additional information.&lt;/p&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;p&gt;Individual HTML files are generated from the but source. The filename of the HTML file is created from the anchor:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;\S{cmdRgbcolor} Colors Dialog&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;creates a HTML file called ##cmdRgbcolor.html##&lt;br/&gt;
During program execution these files are displayed by an embedded browser. This browser uses the webkit2 rendering engine.&lt;br/&gt;
The platform specific configuration is in &lt;em&gt;Linux Configuration:&lt;/em&gt; &lt;span&gt;[https://sourceforge.net/p/xtrkcad-fork/xtrkcad/ci/default/tree/app/doc/linconf.but]&lt;/span&gt;&lt;br/&gt;
The CSS definition is stored in &lt;em&gt;Linux Webkit2 CSS:&lt;/em&gt; &lt;span&gt;[https://sourceforge.net/p/xtrkcad-fork/xtrkcad/ci/default/tree/app/doc/xtrkcad_lin.css]&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="macosx"&gt;&lt;strong&gt;MacOSX&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Work in progress&lt;/p&gt;
&lt;h3 id="windows"&gt;Windows&lt;/h3&gt;
&lt;p&gt;On Windows the compressed HTML format (CHM) is used. This is one of the native formats for this platform and should be familiar to users.&lt;br/&gt;
The platform specific configuration is in &lt;em&gt;CHM Configuration:&lt;/em&gt; &lt;span&gt;[https://sourceforge.net/p/xtrkcad-fork/xtrkcad/ci/default/tree/app/doc/chmconf.but]&lt;/span&gt;&lt;br/&gt;
The CSS definition is stored in &lt;em&gt;Windows Compressed Help CSS:&lt;/em&gt; &lt;span&gt;[https://sourceforge.net/p/xtrkcad-fork/xtrkcad/ci/default/tree/app/doc/xtrkcad_win.css]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;CategoryDevel&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Russell Shilling</dc:creator><pubDate>Sat, 27 Apr 2024 19:43:43 -0000</pubDate><guid>https://sourceforge.net037f7dcb4fe51a04539f11ceafa0e82cf6aead58</guid></item></channel></rss>