/* $Header: /cvs/gnome/gcalctool/TODO,v 1.74 2006/01/09 16:30:20 richb Exp $ * * Copyright (c) 1987-2007 Sun Microsystems, Inc. * All Rights Reserved. */ Gcalctool TODO. =============== * From James Brown In engineering it is typical to think of numbers in scientific notation in powers of three for example 123473 - I would only use say 4 signification "digits" and would say 123.4 kilo units and .00000324 would be three point two four micro units The only improvement I could suggest would be to have an engineering mode where the postfix milli,micro,nano,pico,kilo,mega,giga etc (m,u,n,p,k,M,G respectively) was shown next to the number. * With the gcalctoolrc Gtk resources copied to a ~/.gcalctoolrc file, the "*displayitem*" widget and the "*register_label*" widgets background color aren't being set to white. * Improve the colors in the gcalctoolrc file. * Now that constant and function definitions are read/written as Gconf resources, there are three pieces of functionality that are no longer present. Need to be consider whether we wish to reimplement them. They are: - ability to read new constant/function definitions from a .gcalctoolcf file in the current directory, which override the ones in the users home directory. - ability to set initial values for the ten memory registers. - ability to extensively comment the definitions in the file. * Implement bugtraq rfe #1190372/#1105626. It appears that function definitions are unable to handle all calculator buttons. Buttons with a keyboard equivalent that is a special key (clear display) or key combination (^s - Sin) appear to be rejected in functions defs. This affects the availability of many of the calculator buttons. * Implement bugtraq rfe #4023507. The calculator in Scientific mode accepts hex entries of up to eight digits. This was sufficient to deal with 32-bit addresses. When Solaris is 64-bit, the calculator will be less useful. Maybe there should be a Logical-64 mode. * Implement bugtraq rfe #1122089. Add a log base 2 key. * Consider adding in the ability to drag & drop from/to the display and the memory registers. * Consider adding in 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. * Consider adding Reverse Polish notation functionality (as an option). * Unit tests! Currently a test vector with button presses and result analysis would be fine. Gcalctool - Next Generation TODO (Arithmetic Precedence (AP) mode) ------------------------------------------------------------------ * CE parser has 2 reduce/reduce errors (mostly harmless :) * Answer cannot be used in logical calculations because answer may not be integer. * Base conversions are not easy to use. (Only answer can be converted) * New display - History of previous expressions (scrollable) - Support writing/editing expressions as a text. - Copy / Paste support (especially reusing previous expressions and answers) - Syntax highlighting - Autocomplete / hints * Gcalctool should give more detailed information in case of syntax error. MP - todo. ---------- * 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 gcalctool 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.