HelpViewer Application

The HelpViewer is a standalone application to display html files which might be organized in a directory structure.

The program is written in tcl/tk and is based on the Tkhtml 3.0 library.

When starting the application, a dialog pops up, where you can drag&drop your preferred directory using the file explorer:

HelpViewer-fileselectiondlg

Features:

  • Once a directory is specified, the program traverses down the tree to search for all available html files.

  • Special handling of index.html + content.html files.

    If a index/content.html file is available, this file is shown directly in the html viewer window.

    In the context sensitive menu, the Home ( img-home ) function basically does the same.

  • A Search function is implemented.

    When executing a search query a index file is created and all available html files are queried and all occurrences of the search string as well as the file references are shown in 2 separate list-boxes.

    Finally the help viewer window offers a search capability which works within each individual html file.

The program is used by me merely as a test bench for the html3widget, but has the potential to be used as a general help system for any other tcl/tk application too.

In other words: as the source code is freely available, it can be easily modified and embedded into an existing tcl/tk project.

As a developer, one might want to use the HelpViewer as a standalone solution to qickly access various html documentations.

Building from source:

Hint: If you are not a Tcl/Tk programmer or developer, don’t read any further ( img-smiley )…

Assuming Tcl/Tk is already installed on your machine (maybe Tcl/Tk provided by ActiveState):

  • Download the helpviewer’s source,
  • take a look at the Makefile.tcl included in the source,
  • download sdx.kit as well as the required tcl/tk kit-enabled binary (or build from source),
  • create a sibling directory (tclkit) and copy the required kit-enabled binary as well as sdx.kit into this directory (again see Makefile.tcl of what’s required here…),
  • check out if the provided dll’s/dylib’s are the one your operating system requires and if not get it downloaded as well (teacup subcommand of an ActiveState installation maybe)
  • you are ready to run the Makefile.tcl to build the executable from source

Supported Platforms

  • The application was developed and tested on Windows.

    HelpViewer-Win

  • There is also a binary available in the download area for OSX.

    HelpViewer-OSX

  • The program was modified to run as well on undroidwish:

    HelpViewer-undroidwish

    For the moment the building process to create a native package for Android is still an open issue.

Change History:

  • Version 3.0.3

    • Support for middle mouse button added, which allows to scroll a page
    • minor bug-fixes and small improvements in various supplement packages
  • Version 3.0.2

    • History file started.

    • tkdnd is now optional

      Thanks to Christian Werner for his input to support undroidwish/Androidwish as well.

    • select file or directory dialog changed,

      • Now the dialog has a fall-back solution in case there is no D&D available.
      • The dialog also supports a “most recent files” list (last 10 entries are kept).
    • bug fix in the forward/backward navigation functionality

    • settings are now stored in between sessions:

      (window size, font size, most recent files list)

    • status line added on top

    • clean procedure added to make sure

      there isn’t too much waist left in %TEMP% (for the moment only tested under windows)

    • various minor changes and improvements.

Download - Application

HelpViewer Software:

In the TclTK_HTMLDocumentaion_pack.zip the following Tcl/Tk related documentation (html format) is included:

		└───TclTK_HTMLDocumentaion_pack
			├───scintilla_doc
			├───BWidget1.9.10
			├───gridplus
			├───scintilla_tk
			├───tablelist5.15
			├───tcl8.6.6
			├───tcllib
			├───treectrl2.4.1
			├───snack
			├───tkcon
			└───tkhtml3.0

Download - Helpviewer package

The core functionality of the helpviewer is implemented as it’s own mega-widget and can be downloaded separately from here:

File name:Size / byte:
helpviewer3.3.6.zip1089395