HelpViewer based on Tkhtml 3.0

April 10, 2017

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 prefered 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 ( home_img ) function basicly 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 occurances of the search string as well as the file references are shown in 2 separate listboxes.

    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 ( 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.

separator

Change History:

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 fallback 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.

separator

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

separator

comments powered by Disqus