Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


Diff of /docs/help-system.html [000000] .. [409b67] Maximize Restore

  Switch to side-by-side view

--- a
+++ b/docs/help-system.html
@@ -0,0 +1,78 @@
+	<head>
+		<title> JOE 2.9.7pre3 -> Help system </title>
+	</head>
+	<body bgcolor="#83CCF4">
+		<center><h2> JOE:: Help system </h2></center>
+		<table>
+			<tr>
+				<td> Name: </td>
+				<td> Help system </td>
+			</tr>
+			<tr>
+				<td> Files: </td>
+				<td> help.c, help.h </td>
+			</tr>
+			<tr>
+				<td> Since: </td>
+				<td> 2.9.7pre1 </td>
+			</tr>
+			<tr>
+				<td> Main authors: </td>
+				<td> Joseph Allen <br> Marek 'marx' Grac <a href="">&lt;;</a> </td>
+			</tr>
+		</table>
+		<p>
+			Differences between this and previous version should be hidden
+			to users. Main changes were done in design of source code. I
+			will try to explain <i>what it is</i> and <i>why it is done this
+			way</i>? Main goal was to clean and minimalize source code,
+			remove several global variables, move everything concerned with
+			help to these files.
+		</p>
+		<p>
+			The help system is based on bi-directional list of help screens. 
+			Each help screen has defined two variables, help text (<i>char
+			*hlptxt</i>) and number of lines of help text (<i>int
+			hlplns</i>).  Since this version the help file can/should be
+			separated from *rc files. Advantage of this model is that you
+			can set help to other languages. Usage of standard method
+			(gettext) will be very difficult here, because help has constant
+			width which can't be overcrossed. This method has also no
+			problem with having several help files in each language (for
+			joe, jmacs, ...). Problematics of setting proper help file will
+			be solved in <i>main.c</i> not here.
+		</p>
+		<h3> How to create a help file </h3>
+		<p>
+			Help file consist of prologue, body and epilogue for each of the
+			screens. Each help screen must begin with <i>{%name</i> where
+			<i>%name</i> is only symbolic name of this screen and is not
+			used in program. The body of help screen contains text which
+			will be showed on the user screen and tags which takes care of
+			special information (bold, flash, ...). There is list of the
+			tags with theirs functions:
+			<ul>
+				<li> <b>\i</b> to turn on/off inverse video </li>
+				<li> <b>\u</b> to turn on/off underline </li>
+				<li> <b>\b</b> to turn on/off bold </li>
+				<li> <b>\d</b> to turn on/off dim </li>
+				<li> <b>\f</b> to turn on/off flash </li>
+			</ul>
+			These tags are inserted into help screen text, but they are not
+			visible in the help screen (visible are only their effects, but this
+			is their purpose <b>:)</b>)
+		</p>
+		<p>
+			Some hints how to write a new help screen. Standard help screens have
+			80 characters per line (including borders) so they are visible on text
+			console. Sequences of keys are usually written as <i>^KD</i> where
+			<i>^</i> means CTRL + next character <i>K</i> and then key named <i>D</i>
+			should be pressed.
+		</p>
+		<hr>
+		<p>
+			Any comments, ideas, questions send to me at <a href=""></a>
+		</p>
+	</body>