Details for Writing a Nox Interface

Introduction

This document, together with nox_int_skeleton.py, outlines the standard for an interface module for nox. Nox-3r2 onwards have a pluggable interface system so you can easily write your own interface.

The interface needs to implement a class called 'interface' and a number of methods on this class. To aid in this there are several modules for you to import.

Before you begin, if you haven't already, fire up nox and play it on a couple of different interfaces, that'll help you understand what the terms below refer to, and give you a better idea of what can be done.

You should certainly have nox_int_skeleton to hand, and the following two interfaces might also make valuable reading:
nox_int_g: a graphical interface which takes advantage of just about all the features the main program allows.
nox_int_t: a plain text interface which is a pretty minimal.

Modules:

The following modules are required in your program:

In addition any reasonable interface will probably end up wanting the following lines:
but omitting these will not actually break the program.

Methods

These are listed out in the nox_int_skeleton.py file. That contains the salient points. All the methods it contains are mantadory and any uncommented lines are also mantadory (except the pass statements). This document gives some extra details for some of these methods.

Of course you can create other methods, but the main nox script won't call them directly.

Using your Interface

Okay, so now you have a suitable interface script but you need to tell the main program that it exists and what it's called.

The simplest way is to name it nox_int_whatever (the whatever should probably be a single character, and then the command line argument -whatever will load that file. Alternatively you can fiddle the lines that select what to import as intscript in nox-3r2.py.


Any problems:
Email me
Last modified: Sat Dec 21 22:59:05 GMT Standard Time 2002