
/*  @(#)TODO 1.6 02/02/27
 *
 *  Copyright (c) 1987-2002 Sun Microsystems, Inc.
 *  All Rights Reserved.
 */

Calctool TODO.
==============

- Since calctool has been devGuide'd, there are probably lots of places
  where the code can be simplified, and extra variables removed.

- Fixup all known bugs and rfe's.

- Consider the possibility of being able to have all the three mode windows
  pinnable at the same time. There is a problem with uniqueness of keyboard
  equivalents if this happens, but it should be possible to work around it
  somehow (probably in a similar way to the way that defining functions in
  your .calctoolrc file does it).

- As of V3.0.1., calctool was modified to have "infinite" precision
  internally. This needs to be made available to the "power" users, but
  shouldn't confuse the novice. What I suggest is to replace the Acc
  button menu, with an Acc... button which brings up a popup with a slider
  on, to allow you to set the number of numeric places. By default this
  will be 0-9. I also propose adding another X resource, which will also
  allow you to set the number of numeric places. This value can be as
  large as you want. When calctool starts up, it will look for that
  resource, and adjust the sliders maximum value appropriately.
 
  Making this addition will possibly cause the calctool numeric result to
  be larger that can fully displayed. There are two possible ways to fix
  this:

  * make the display area a scrollable canvas.
  * make the calctool numeric display a panel text item of the appropriate
    length.

MP - todo.
----------

* Everytime the accuracy is changed, the menu items in the constant
  menu should be reevaluated to that new accuracy value.

* Shouldn't have to convert back to a double in make_number() in order
  to test if the number is too large to be displayed in fixed point.

* The cmax field for make_fixed should be dynamic, and depend upon how
  many characters can be displayed (ie. a larger calctool will be able
  to display more).

* Tidy up the code in mp.c, to eventually use no labels and goto's.

* Adjust all uses of MP...[MP_SIZE] to use a dynamic size so that it's
  possible to calculate to numbers of any length.


Possible enhancements.
----------------------

* Add in the ability to drag & drop from/to the display and the memory
  registers.

* Add some more functions:

  ~ Common antilogarithm and natural antilogarithm.
  ~ Cube root key.
  ~ Root key. The y root of x.
  ~ Rectangular to polar and polar to rectangular keys.

* Add Reverse Polish notation functionality (as an option).
