gcalctool r2249 - in trunk: . gcalctool glade help/C
- From: rancell svn gnome org
- To: svn-commits-list gnome org
- Subject: gcalctool r2249 - in trunk: . gcalctool glade help/C
- Date: Mon, 6 Oct 2008 13:43:15 +0000 (UTC)
Author: rancell
Date: Mon Oct 6 13:43:15 2008
New Revision: 2249
URL: http://svn.gnome.org/viewvc/gcalctool?rev=2249&view=rev
Log:
Made finacial operations GUI-based not register based (Robin Sonefors, Bug #318686)
Added:
trunk/gcalctool/financial.c
trunk/gcalctool/financial.h
trunk/glade/financial.glade
Modified:
trunk/ChangeLog
trunk/gcalctool/Makefile.am
trunk/gcalctool/ce_parser.y
trunk/gcalctool/ce_tokeniser.l
trunk/gcalctool/gtk.c
trunk/gcalctool/mpmath.c
trunk/gcalctool/mpmath.h
trunk/glade/Makefile.am
trunk/help/C/gcalctool.xml
Modified: trunk/gcalctool/Makefile.am
==============================================================================
--- trunk/gcalctool/Makefile.am (original)
+++ trunk/gcalctool/Makefile.am Mon Oct 6 13:43:15 2008
@@ -28,6 +28,8 @@
mp.h \
mpmath.c \
mpmath.h \
+ financial.c \
+ financial.h \
parser.c \
parser.h \
parser_mac.h \
@@ -35,8 +37,8 @@
register.h \
gtk.c \
ui.h \
- unittest.c \
- unittest.h \
+ unittest.c \
+ unittest.h \
ce_parser.c \
ce_parser.h \
ce_parser.tab.h
@@ -51,7 +53,7 @@
$(PACKAGE_LIBS) \
$(GNOME_UTILS_LIBS) \
$(GCONF_LIBS) \
- libparser.a
+ libparser.a
libparser.a: \
lex.ce.o\
Modified: trunk/gcalctool/ce_parser.y
==============================================================================
--- trunk/gcalctool/ce_parser.y (original)
+++ trunk/gcalctool/ce_parser.y Mon Oct 6 13:43:15 2008
@@ -53,11 +53,8 @@
%token tCLR
%token tCOS
%token tCOSH
-%token tCTRM
-%token tDDB
%token tEXP
%token tFRAC
-%token tFV
%token tINT
%token tLN
%token tLOG10
@@ -66,20 +63,14 @@
%token tNOT
%token tOR
%token tPI
-%token tPMT
-%token tPV
%token tRAND
-%token tRATE
%token tRCL
%token tSIN
%token tSINH
-%token tSLN
%token tSQRT
%token tSTO
-%token tSYD
%token tTAN
%token tTANH
-%token tTERM
%token tU16
%token tU32
%token tXNOR
@@ -245,16 +236,6 @@
| tU32 term %prec HIGH {calc_u32($2, $$);}
| tU16 term %prec HIGH {calc_u16($2, $$);}
-
-| tCTRM %prec HIGH {calc_ctrm($$);}
-| tDDB %prec HIGH {calc_ddb($$);}
-| tFV %prec HIGH {calc_fv($$);}
-| tPMT %prec HIGH {calc_pmt($$);}
-| tPV %prec HIGH {calc_pv($$);}
-| tRATE %prec HIGH {calc_rate($$);}
-| tSLN %prec HIGH {calc_sln($$);}
-| tSYD %prec HIGH {calc_syd($$);}
-| tTERM %prec HIGH {calc_term($$);}
;
rcl:
Modified: trunk/gcalctool/ce_tokeniser.l
==============================================================================
--- trunk/gcalctool/ce_tokeniser.l (original)
+++ trunk/gcalctool/ce_tokeniser.l Mon Oct 6 13:43:15 2008
@@ -64,11 +64,8 @@
"clr"|"Clr"|"CLR" {return tCLR;}
"cosh"|"Cosh"|"COSH" {return tCOSH;}
"cos"|"Cos"|"COS" {return tCOS;}
-"ctrm"|"Ctrm"|"CTRM" {return tCTRM;}
-"dbg"|"Ddb"|"DDB" {return tDDB;}
"eng"|"Eng"|"ENG" {return tEXP;}
"frac"|"Frac"|"FRAC" {return tFRAC;}
-"fv"|"Fv"|"FV" {return tFV;}
"int"|"Int"|"INT" {return tINT;}
"ln"|"Ln"|"LN" {return tLN;}
"log"|"Log"|"LOG" {return tLOG10;}
@@ -77,20 +74,14 @@
"not"|"Not"|"NOT" {return tNOT;}
"or"|"Or"|"OR" {return tOR;}
"pi"|"Pi"|"PI" {return tPI;}
-"pmt"|"Pmt"|"PMT" {return tPMT;}
-"pv"|"Pv"|"PV" {return tPV;}
"rand"|"Rand"|"RAND" {return tRAND;}
-"rate"|"Rate"|"RATE" {return tRATE;}
"rcl"|"Rcl"|"RCL" {return tRCL;}
"sinh"|"Sinh"|"SINH" {return tSINH;}
"sin"|"Sin"|"SIN" {return tSIN;}
-"sln"|"Sln"|"SLN" {return tSLN;}
"sqrt"|"Sqrt"|"SQRT" {return tSQRT;}
"sto"|"Sto"|"STO" {return tSTO;}
-"syd"|"Syd"|"SYD" {return tSYD;}
"tanh"|"Tanh"|"TANH" {return tTANH;}
"tan"|"Tan"|"TAN" {return tTAN;}
-"term"|"Term"|"TERM" {return tTERM;}
"u16"|"u16"|"U16" {return tU16;}
"u32"|"u32"|"U32" {return tU32;}
"xnor"|"Xnor"|"XNOR" {return tXNOR;}
Added: trunk/gcalctool/financial.c
==============================================================================
--- (empty file)
+++ trunk/gcalctool/financial.c Mon Oct 6 13:43:15 2008
@@ -0,0 +1,274 @@
+/* $Header$
+ *
+ * Copyright (c) 1987-2008 Sun Microsystems, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include "financial.h"
+#include "mp.h"
+#include "mpmath.h"
+
+void
+calc_ctrm(int t[MP_SIZE], int pint[MP_SIZE], int fv[MP_SIZE], int pv[MP_SIZE])
+{
+
+/* Cterm - pint (periodic interest rate).
+ * fv (future value).
+ * pv (present value).
+ *
+ * RESULT = log(fv / pv) / log(1 + pint)
+ */
+ int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
+
+ mpdiv(fv, pv, MP1);
+ mpln(MP1, MP2);
+ mp_add_integer(pint, 1, MP3);
+ mpln(MP3, MP4);
+ mpdiv(MP2, MP4, t);
+}
+
+
+void
+calc_ddb(int t[MP_SIZE], int cost[MP_SIZE], int salvage[MP_SIZE],
+ int life[MP_SIZE], int period[MP_SIZE])
+{
+
+/* Ddb - cost (amount paid for asset).
+ * salvage (value of asset at end of its life).
+ * life (useful life of the asset).
+ * period (time period for depreciation allowance).
+ *
+ * bv = 0.0;
+ * for (i = 0; i < life; i++)
+ * {
+ * VAL = ((cost - bv) * 2) / life
+ * bv += VAL
+ * }
+ * RESULT = VAL
+ *
+ * FIXME: Why isn't the salvage parameter used?
+ */
+
+ int i;
+ int len;
+ int MPbv[MP_SIZE], MP1[MP_SIZE], MP2[MP_SIZE];
+
+ mp_set_from_integer(0, MPbv);
+ len = mp_cast_to_int(period);
+ for (i = 0; i < len; i++) {
+ mp_subtract(cost, MPbv, MP1);
+ mpmuli(MP1, 2, MP2);
+ mpdiv(MP2, life, t);
+ mp_set_from_mp(MPbv, MP1);
+ mp_add(MP1, t, MPbv); /* TODO: why result is MPbv, for next loop? */
+ }
+}
+
+
+void
+calc_fv(int t[MP_SIZE], int pmt[MP_SIZE], int pint[MP_SIZE], int n[MP_SIZE])
+{
+
+/* Fv - pmt (periodic payment).
+ * pint (periodic interest rate).
+ * n (number of periods).
+ *
+ * RESULT = pmt * (pow(1 + pint, n) - 1) / pint
+ */
+
+ int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
+
+ mp_add_integer(pint, 1, MP1);
+ mppwr2(MP1, n, MP2);
+ mp_add_integer(MP2, -1, MP3);
+ mpmul(pmt, MP3, MP4);
+ mpdiv(MP4, pint, t);
+}
+
+
+void
+calc_pmt(int t[MP_SIZE], int prin[MP_SIZE], int pint[MP_SIZE], int n[MP_SIZE])
+{
+
+/* Pmt - prin (principal).
+ * pint (periodic interest rate).
+ * n (term).
+ *
+ * RESULT = prin * (pint / (1 - pow(pint + 1, -1 * n)))
+ */
+
+ int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
+
+ mp_add_integer(pint, 1, MP1);
+ mpmuli(n, -1, MP2);
+ mppwr2(MP1, MP2, MP3);
+ mpmuli(MP3, -1, MP4);
+ mp_add_integer(MP4, 1, MP1);
+ mpdiv(pint, MP1, MP2);
+ mpmul(prin, MP2, t);
+}
+
+
+void
+calc_pv(int t[MP_SIZE], int pmt[MP_SIZE], int pint[MP_SIZE], int n[MP_SIZE])
+{
+
+/* Pv - pmt (periodic payment).
+ * pint (periodic interest rate).
+ * n (term).
+ *
+ * RESULT = pmt * (1 - pow(1 + pint, -1 * n)) / pint
+ */
+
+ int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
+
+ mp_add_integer(pint, 1, MP1);
+ mpmuli(n, -1, MP2);
+ mppwr2(MP1, MP2, MP3);
+ mpmuli(MP3, -1, MP4);
+ mp_add_integer(MP4, 1, MP1);
+ mpdiv(MP1, pint, MP2);
+ mpmul(pmt, MP2, t);
+}
+
+
+void
+calc_rate(int t[MP_SIZE], int fv[MP_SIZE], int pv[MP_SIZE], int n[MP_SIZE])
+{
+
+/* Rate - fv (future value).
+ * pv (present value).
+ * n (term).
+ *
+ * RESULT = pow(fv / pv, 1 / n) - 1
+ */
+
+ int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
+
+ mpdiv(fv, pv, MP1);
+ mp_set_from_integer(1, MP2);
+ mpdiv(MP2, n, MP3);
+ mppwr2(MP1, MP3, MP4);
+ mp_add_integer(MP4, -1, t);
+}
+
+
+void
+calc_sln(int t[MP_SIZE], int cost[MP_SIZE], int salvage[MP_SIZE],
+ int life[MP_SIZE])
+{
+
+/* Sln - cost (cost of the asset).
+ * salvage (salvage value of the asset).
+ * life (useful life of the asset).
+ *
+ * RESULT = (cost - salvage) / life
+ */
+
+ int MP1[MP_SIZE];
+
+ mp_subtract(cost, salvage, MP1);
+ mpdiv(MP1, life, t);
+}
+
+
+void
+calc_syd(int t[MP_SIZE], int cost[MP_SIZE], int salvage[MP_SIZE],
+ int life[MP_SIZE], int period[MP_SIZE])
+{
+
+/* Syd - cost (cost of the asset).
+ * salvage (salvage value of the asset).
+ * life (useful life of the asset).
+ * period (period for which depreciation is computed).
+ *
+ * RESULT = (cost - salvage) * (life - period + 1) /
+ * (life * (life + 1)) / 2
+ */
+
+ int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
+
+ mp_subtract(life, period, MP2);
+ mp_add_integer(MP2, 1, MP3);
+ mp_add_integer(life, 1, MP2);
+ mpmul(life, MP2, MP4);
+ mp_set_from_integer(2, MP2);
+ mpdiv(MP4, MP2, MP1);
+ mpdiv(MP3, MP1, MP2);
+ mp_subtract(cost, salvage, MP1);
+ mpmul(MP1, MP2, t);
+}
+
+
+void
+calc_term(int t[MP_SIZE], int pmt[MP_SIZE], int fv[MP_SIZE], int pint[MP_SIZE])
+{
+
+/* Term - pmt (periodic payment).
+ * fv (future value).
+ * pint (periodic interest rate).
+ *
+ * RESULT = log(1 + (fv * pint / pmt)) / log(1 + pint)
+ */
+
+ int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
+
+ mp_add_integer(pint, 1, MP1);
+ mpln(MP1, MP2);
+ mpmul(fv, pint, MP1);
+ mpdiv(MP1, pmt, MP3);
+ mp_add_integer(MP3, 1, MP4);
+ mpln(MP4, MP1);
+ mpdiv(MP1, MP2, t);
+}
+
+void
+do_finc_expression(int function, int arg1[MP_SIZE], int arg2[MP_SIZE],
+ int arg3[MP_SIZE], int arg4[MP_SIZE])
+{
+ int result[MP_SIZE];
+ switch (function) {
+ case FINC_CTRM_DIALOG:
+ calc_ctrm(result, arg1, arg2, arg3);
+ break;
+ case FINC_DDB_DIALOG:
+ calc_ddb(result, arg1, arg2, arg3, arg4);
+ break;
+ case FINC_FV_DIALOG:
+ calc_fv(result, arg1, arg2, arg3);
+ break;
+ case FINC_PMT_DIALOG:
+ calc_pmt(result, arg1, arg2, arg3);
+ break;
+ case FINC_PV_DIALOG:
+ calc_pv(result, arg1, arg2, arg3);
+ break;
+ case FINC_RATE_DIALOG:
+ calc_rate(result, arg1, arg2, arg3);
+ break;
+ case FINC_SLN_DIALOG:
+ calc_sln(result, arg1, arg2, arg3);
+ break;
+ case FINC_SYD_DIALOG:
+ calc_syd(result, arg1, arg2, arg3, arg4);
+ break;
+ case FINC_TERM_DIALOG:
+ calc_term(result, arg1, arg2, arg3);
+ break;
+ }
+ display_set_number(&v->display, result);
+}
Added: trunk/gcalctool/financial.h
==============================================================================
--- (empty file)
+++ trunk/gcalctool/financial.h Mon Oct 6 13:43:15 2008
@@ -0,0 +1,42 @@
+/* $Header$
+ *
+ * Copyright (c) 1987-2008 Sun Microsystems, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef FINANCIAL_H
+#define FINANCIAL_H
+
+#include "mp.h"
+
+void do_finc_expression(int function, int arg1[MP_SIZE], int arg2[MP_SIZE],
+ int arg3[MP_SIZE], int arg4[MP_SIZE]);
+
+enum finc_dialogs {
+ FINC_CTRM_DIALOG,
+ FINC_DDB_DIALOG,
+ FINC_FV_DIALOG,
+ FINC_PMT_DIALOG,
+ FINC_PV_DIALOG,
+ FINC_RATE_DIALOG,
+ FINC_SLN_DIALOG,
+ FINC_SYD_DIALOG,
+ FINC_TERM_DIALOG,
+ FINC_NUM_DIALOGS,
+};
+
+#endif /* FINANCIAL_H */
Modified: trunk/gcalctool/gtk.c
==============================================================================
--- trunk/gcalctool/gtk.c (original)
+++ trunk/gcalctool/gtk.c Mon Oct 6 13:43:15 2008
@@ -37,6 +37,7 @@
#include "config.h"
#include "dsdefs.h"
#include "functions.h"
+#include "financial.h"
#include "ce_parser.h"
#include "mpmath.h"
#include "display.h"
@@ -62,6 +63,19 @@
N_("Calculator [%s] - Scientific"), N_("Calculator [%s] - Programming")
};
+/* The names of each field in the dialogs for the financial functions */
+static char *finc_dialog_fields[FINC_NUM_DIALOGS][4] = {
+ {"ctrm_pint", "ctrm_fv", "ctrm_pv", NULL},
+ {"ddb_cost", "ddb_salvage", "ddb_life", "ddb_period"},
+ {"fv_pmt", "fv_pint", "fv_n", NULL},
+ {"pmt_prin", "pmt_pint", "pmt_n", NULL},
+ {"pv_pmt", "pv_pint", "pv_n", NULL},
+ {"rate_fv", "rate_pv", "rate_n", NULL},
+ {"sln_cost", "sln_salvage", "sln_life", NULL},
+ {"syd_cost", "syd_salvage", "syd_life", "syd_period"},
+ {"term_pmt", "term_fv", "term_pint", NULL},
+};
+
/* This table shows the keyboard values that are currently being used:
*
* | a b c d e f g h i j k l m n o p q r s t u v w x y z
@@ -396,6 +410,7 @@
GdkAtom primary_atom;
GladeXML *ui;
+ GladeXML *financial;
GtkWidget *kframe; /* Main window. */
@@ -466,6 +481,7 @@
static XVars X;
+static void setup_finc_dialogs ();
/* FIXME: Move this into display.c (reset_display) */
static void
@@ -744,6 +760,12 @@
set_bit_panel();
}
+static void
+do_finc(char* dialog)
+{
+ gtk_dialog_run(GTK_DIALOG(glade_xml_get_widget(X->financial, dialog)));
+ gtk_widget_hide(GTK_WIDGET(glade_xml_get_widget(X->financial, dialog)));
+}
void
ui_set_mode(enum mode_type mode)
@@ -799,6 +821,9 @@
gtk_widget_size_request(X->fin_panel, r);
w = MAX(w, r->width);
h += r->height;
+ if (X->financial == NULL) {
+ setup_finc_dialogs();
+ }
}
if (GTK_WIDGET_VISIBLE(X->mode_panel)) {
@@ -1340,6 +1365,82 @@
static void
+finc_response_cb(GtkWidget *widget, gint response_id, void* dialog_pointer)
+{
+ int dialog = GPOINTER_TO_INT (dialog_pointer);
+ int i;
+ int arg[4][MP_SIZE];
+ GtkWidget *entry;
+ if (response_id != GTK_RESPONSE_OK) {
+ return;
+ }
+
+ for (i = 0; i < 4; i++) {
+ if (finc_dialog_fields[dialog][i] == NULL) {
+ continue;
+ }
+ entry = glade_xml_get_widget(X->financial,
+ finc_dialog_fields[dialog][i]);
+ MPstr_to_num(gtk_entry_get_text(GTK_ENTRY(entry)), DEC, arg[i]);
+ }
+ do_finc_expression(dialog, arg[0], arg[1], arg[2], arg[3]);
+}
+
+
+static void
+setup_finc_dialogs(void) {
+ GtkWidget *button;
+ X->financial = glade_xml_new(PACKAGE_GLADE_DIR "/financial.glade", NULL,
+ NULL);
+ glade_xml_signal_connect_data(X->financial, "finc_ctrm_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_CTRM_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_ddb_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_DDB_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_fv_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_FV_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_pmt_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_PMT_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_pv_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_PV_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_rate_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_RATE_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_sln_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_SLN_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_syd_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_SYD_DIALOG));
+ glade_xml_signal_connect_data(X->financial, "finc_term_response_cb",
+ G_CALLBACK(finc_response_cb),
+ GINT_TO_POINTER(FINC_TERM_DIALOG));
+
+ button = GET_WIDGET("calc_finc_compounding_term_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "ctrm_dialog");
+ button = GET_WIDGET("calc_finc_double_declining_depreciation_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "ddb_dialog");
+ button = GET_WIDGET("calc_finc_future_value_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "fv_dialog");
+ button = GET_WIDGET("calc_finc_periodic_payment_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "pmt_dialog");
+ button = GET_WIDGET("calc_finc_present_value_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "pv_dialog");
+ button = GET_WIDGET("calc_finc_periodic_interest_rate_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "rate_dialog");
+ button = GET_WIDGET("calc_finc_straight_line_depreciation_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "sln_dialog");
+ button = GET_WIDGET("calc_finc_sum_of_the_years_digits_depreciation_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "syd_dialog");
+ button = GET_WIDGET("calc_finc_term_button");
+ g_object_set_data(G_OBJECT(button), "finc_dialog", "term_dialog");
+}
+
+static void
update_constants_menu(void)
{
char mline[MAXLINE], value[MAXLINE];
@@ -1811,13 +1912,18 @@
int function;
GtkWidget *menu;
GdkPoint loc;
+ char* dialog;
function = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget),
"calc_function"));
menu = (GtkWidget *)g_object_get_data(G_OBJECT(widget), "calc_menu");
-
- if (menu == NULL) {
+
+ dialog = g_object_get_data(G_OBJECT(widget), "finc_dialog");
+
+ if (menu == NULL && dialog == NULL) {
do_button(function, 0);
+ } else if (dialog != NULL) {
+ do_finc(dialog);
} else {
/* If gcalctool is being driven by gok, the on-screen keyboard
* assistive technology, it's possible that the event returned by
Modified: trunk/gcalctool/mpmath.c
==============================================================================
--- trunk/gcalctool/mpmath.c (original)
+++ trunk/gcalctool/mpmath.c Mon Oct 6 13:43:15 2008
@@ -458,218 +458,6 @@
mpdiv(MP2, MP1, MPretval);
}
-
-void
-calc_ctrm(int t[MP_SIZE])
-{
-
-/* Cterm - MEM0 = int (periodic interest rate).
- * MEM1 = fv (future value).
- * MEM2 = pv (present value).
- *
- * RESULT = log(MEM1 / MEM2) / log(1 + MEM0)
- */
-
- int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
-
- mpdiv(v->MPmvals[1], v->MPmvals[2], MP1);
- mpln(MP1, MP2);
- mp_add_integer(v->MPmvals[0], 1, MP3);
- mpln(MP3, MP4);
- mpdiv(MP2, MP4, t);
-}
-
-
-void
-calc_ddb(int t[MP_SIZE])
-{
-
-/* Ddb - MEM0 = cost (amount paid for asset).
- * MEM1 = salvage (value of asset at end of its life).
- * MEM2 = life (useful life of the asset).
- * MEM3 = period (time period for depreciation allowance).
- *
- * bv = 0.0;
- * for (i = 0; i < MEM3; i++)
- * {
- * VAL = ((MEM0 - bv) * 2) / MEM2
- * bv += VAL
- * }
- * RESULT = VAL
- */
-
- int i;
- int len;
- int MPbv[MP_SIZE], MP1[MP_SIZE], MP2[MP_SIZE];
-
- mp_set_from_integer(0, MPbv);
- len = mp_cast_to_int(v->MPmvals[3]);
- for (i = 0; i < len; i++) {
- mp_subtract(v->MPmvals[0], MPbv, MP1);
- mpmuli(MP1, 2, MP2);
- mpdiv(MP2, v->MPmvals[2], t);
- mp_set_from_mp(MPbv, MP1);
- mp_add(MP1, t, MPbv); /* TODO: why result is MPbv, for next loop? */
- }
-}
-
-
-void
-calc_fv(int t[MP_SIZE])
-{
-
-/* Fv - MEM0 = pmt (periodic payment).
- * MEM1 = int (periodic interest rate).
- * MEM2 = n (number of periods).
- *
- * RESULT = MEM0 * (pow(1 + MEM1, MEM2) - 1) / MEM1
- */
-
- int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
-
- mp_add_integer(v->MPmvals[1], 1, MP1);
- mppwr2(MP1, v->MPmvals[2], MP2);
- mp_add_integer(MP2, -1, MP3);
- mpmul(v->MPmvals[0], MP3, MP4);
- mpdiv(MP4, v->MPmvals[1], t);
-}
-
-
-void
-calc_pmt(int t[MP_SIZE])
-{
-
-/* Pmt - MEM0 = prin (principal).
- * MEM1 = int (periodic interest rate).
- * MEM2 = n (term).
- *
- * RESULT = MEM0 * (MEM1 / (1 - pow(MEM1 + 1, -1 * MEM2)))
- */
-
- int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
-
- mp_add_integer(v->MPmvals[1], 1, MP1);
- mpmuli(v->MPmvals[2], -1, MP2);
- mppwr2(MP1, MP2, MP3);
- mpmuli(MP3, -1, MP4);
- mp_add_integer(MP4, 1, MP1);
- mpdiv(v->MPmvals[1], MP1, MP2);
- mpmul(v->MPmvals[0], MP2, t);
-}
-
-
-void
-calc_pv(int t[MP_SIZE])
-{
-
-/* Pv - MEM0 = pmt (periodic payment).
- * MEM1 = int (periodic interest rate).
- * MEM2 = n (term).
- *
- * RESULT = MEM0 * (1 - pow(1 + MEM1, -1 * MEM2)) / MEM1
- */
-
- int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
-
- mp_add_integer(v->MPmvals[1], 1, MP1);
- mpmuli(v->MPmvals[2], -1, MP2);
- mppwr2(MP1, MP2, MP3);
- mpmuli(MP3, -1, MP4);
- mp_add_integer(MP4, 1, MP1);
- mpdiv(MP1, v->MPmvals[1], MP2);
- mpmul(v->MPmvals[0], MP2, t);
-}
-
-
-void
-calc_rate(int t[MP_SIZE])
-{
-
-/* Rate - MEM0 = fv (future value).
- * MEM1 = pv (present value).
- * MEM2 = n (term).
- *
- * RESULT = pow(MEM0 / MEM1, 1 / MEM2) - 1
- */
-
- int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
-
- mpdiv(v->MPmvals[0], v->MPmvals[1], MP1);
- mp_set_from_integer(1, MP2);
- mpdiv(MP2, v->MPmvals[2], MP3);
- mppwr2(MP1, MP3, MP4);
- mp_add_integer(MP4, -1, t);
-}
-
-
-void
-calc_sln(int t[MP_SIZE])
-{
-
-/* Sln - MEM0 = cost (cost of the asset).
- * MEM1 = salvage (salvage value of the asset).
- * MEM2 = life (useful life of the asset).
- *
- * RESULT = (MEM0 - MEM1) / MEM2
- */
-
- int MP1[MP_SIZE];
-
- mp_subtract(v->MPmvals[0], v->MPmvals[1], MP1);
- mpdiv(MP1, v->MPmvals[2], t);
-}
-
-
-void
-calc_syd(int t[MP_SIZE])
-{
-
-/* Syd - MEM0 = cost (cost of the asset).
- * MEM1 = salvage (salvage value of the asset).
- * MEM2 = life (useful life of the asset).
- * MEM3 = period (period for which depreciation is computed).
- *
- * RESULT = ((MEM0 - MEM1) * (MEM2 - MEM3 + 1)) /
- * (MEM2 * (MEM2 + 1) / 2)
- */
-
- int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
-
- mp_subtract(v->MPmvals[2], v->MPmvals[3], MP2);
- mp_add_integer(MP2, 1, MP3);
- mp_add_integer(v->MPmvals[2], 1, MP2);
- mpmul(v->MPmvals[2], MP2, MP4);
- mp_set_from_integer(2, MP2);
- mpdiv(MP4, MP2, MP1);
- mpdiv(MP3, MP1, MP2);
- mp_subtract(v->MPmvals[0], v->MPmvals[1], MP1);
- mpmul(MP1, MP2, t);
-}
-
-
-void
-calc_term(int t[MP_SIZE])
-{
-
-/* Term - MEM0 = pmt (periodic payment).
- * MEM1 = fv (future value).
- * MEM2 = int (periodic interest rate).
- *
- * RESULT = log(1 + (MEM1 * MEM2 / MEM0)) / log(1 + MEM2)
- */
-
- int MP1[MP_SIZE], MP2[MP_SIZE], MP3[MP_SIZE], MP4[MP_SIZE];
-
- mp_add_integer(v->MPmvals[2], 1, MP1);
- mpln(MP1, MP2);
- mpmul(v->MPmvals[1], v->MPmvals[2], MP1);
- mpdiv(MP1, v->MPmvals[0], MP3);
- mp_add_integer(MP3, 1, MP4);
- mpln(MP4, MP1);
- mpdiv(MP1, MP2, t);
-}
-
-
void
calc_shift(int s[MP_SIZE], int t[MP_SIZE], int times)
{
Modified: trunk/gcalctool/mpmath.h
==============================================================================
--- trunk/gcalctool/mpmath.h (original)
+++ trunk/gcalctool/mpmath.h Mon Oct 6 13:43:15 2008
@@ -54,15 +54,6 @@
void do_e(int t1[MP_SIZE]);
void calc_xtimestenpowx(int s1[MP_SIZE], int s2[MP_SIZE], int t1[MP_SIZE]);
int calc_modulus(int op1[MP_SIZE], int op2[MP_SIZE], int result[MP_SIZE]);
-void calc_ctrm(int t[MP_SIZE]);
-void calc_ddb(int t[MP_SIZE]);
-void calc_fv(int t[MP_SIZE]);
-void calc_pmt(int t[MP_SIZE]);
-void calc_pv(int t[MP_SIZE]);
-void calc_rate(int t[MP_SIZE]);
-void calc_sln(int t[MP_SIZE]);
-void calc_syd(int t[MP_SIZE]);
-void calc_term(int t[MP_SIZE]);
void calc_shift(int s[MP_SIZE], int t[MP_SIZE], int times);
void calc_epowy(int s[MP_SIZE], int t[MP_SIZE]);
void calc_factorial(int *, int *);
Modified: trunk/glade/Makefile.am
==============================================================================
--- trunk/glade/Makefile.am (original)
+++ trunk/glade/Makefile.am Mon Oct 6 13:43:15 2008
@@ -1,5 +1,6 @@
uidir = $(datadir)/gcalctool
ui_DATA = \
- gcalctool.glade
+ gcalctool.glade \
+ financial.glade
EXTRA_DIST = $(ui_DATA)
Added: trunk/glade/financial.glade
==============================================================================
--- (empty file)
+++ trunk/glade/financial.glade Mon Oct 6 13:43:15 2008
@@ -0,0 +1,2380 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkDialog" id="ctrm_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Compounding Term</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <accessibility>
+ <atkproperty name="AtkObject::accessible_name" translatable="yes">Compounding Term</atkproperty>
+ </accessibility>
+ <signal name="response" handler="finc_ctrm_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button2">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table1">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkEntry" id="ctrm_pint">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="ctrm_fv">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="ctrm_pv">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Present Value:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Interest Rate:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the number of compounding periods necessary to increase an investment of present value to a future value, at a fixed interest rate per compounding period.</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Future Value:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="ddb_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Double-Declining Depreciation</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_ddb_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox2">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area2">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button3">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button4">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table2">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the depreciation allowance on an asset for a specified period of time, using the double-declining balance method.</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Cost:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Life:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="ddb_life">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="ddb_cost">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label11">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Period:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="ddb_period">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="fv_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Future Value</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_fv_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area3">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button5">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button6">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table3">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the future value of an investment based on a series of equal payments at a periodic interest rate over the number of payment periods in the term.</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label13">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Payment:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Interest Rate:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Number Of Periods:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="fv_n">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="fv_pint">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="fv_pmt">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="pmt_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Periodic Payment</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_pmt_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox4">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area4">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button7">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button8">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table4">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="label17">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the amount of the periodic payment of a loan, where payments are made at the end of each payment period. </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label18">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Principal:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label19">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Interest Rate:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Term:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pmt_prin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pmt_pint">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pmt_n">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="pv_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Present Value</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_pv_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox5">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area5">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button9">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button10">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table5">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="label23">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the present value of an investment based on a series of equal payments discounted at a periodic interest rate over the number of payment periods in the term. </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label24">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Payment:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label25">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Interest Rate:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label26">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Number Of Periods:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pv_pmt">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pv_pint">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pv_n">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="rate_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Periodic Interest Rate</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_rate_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox6">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area6">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button11">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button12">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table6">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="label28">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the periodic interest necessary to increase an investment to a future value, over the number of compounding periods. </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label29">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Future Value:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label30">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Present Value:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label31">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Term:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rate_fv">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rate_pv">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rate_n">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="sln_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Straight-Line Depreciation</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_sln_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox7">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area7">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button13">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button14">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table7">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="label33">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Cost:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label34">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Salvage:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label35">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Life:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="sln_life">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="sln_salvage">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="sln_cost">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label32">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the straight-line depreciation of an asset for one period. The straight-line method of depreciation divides the depreciable cost evenly over the useful life of an asset. The useful life is the number of periods, typically years, over which an asset is depreciated. </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="syd_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Sum-Of-The-Years'-Digits Depreciation</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_syd_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox8">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area8">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button15">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button16">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table8">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">5</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="label37">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Period:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label38">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Life:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label39">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Salvage:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label40">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Cost:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="syd_cost">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="syd_salvage">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="syd_life">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="syd_period">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label41">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the depreciation allowance on an asset for a specified period of time, using the Sum-Of-The-Years'-Digits method. This method of depreciation accelerates the rate of depreciation, so that more depreciation expense occurs in earlier periods than in later ones. The useful life is the number of periods, typically years, over which an asset is depreciated. </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="term_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Payment Period</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="finc_term_response_cb"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox9">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area9">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="button17">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button18">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Calculate</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table9">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkEntry" id="term_pint">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="term_fv">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="term_pmt">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label43">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Interest Rate:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label44">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Future Value:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label45">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Periodic Payment:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label46">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Calculates the number of payment periods that are necessary during the term of an ordinary annuity, to accumulate a future value, at a periodic interest rate.</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+</glade-interface>
Modified: trunk/help/C/gcalctool.xml
==============================================================================
--- trunk/help/C/gcalctool.xml (original)
+++ trunk/help/C/gcalctool.xml Mon Oct 6 13:43:15 2008
@@ -820,39 +820,24 @@
<row valign="top">
<entry><para>Compounding Term</para> </entry>
<entry><para><guibutton>Ctrm</guibutton></para></entry>
- <entry><para>Calculates the number of compounding periods necessary to increase an investment of present value <replaceable>pv</replaceable> to a future value of <replaceable>fv</replaceable>, at a fixed interest rate of <replaceable>int</replaceable> per compounding period. </para>
- <para>This function uses the following memory registers: </para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>int</replaceable>, the periodic interest rate</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>fv</replaceable>, the future value</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>pv</replaceable>, the present value</para></listitem>
- </varlistentry>
- </variablelist>
+ <entry><para>Calculates the number of compounding periods necessary to increase an investment from a present value to a future value, at a fixed interest rate per compounding period.</para>
</entry>
- <entry><para>You have just deposited $8000 in an account that pays an annual interest rate of 9%, compounded monthly. Given the annual interest rate, you determine that the simple monthly interest rate is 0.09 / 12 = 0.0075. To calculate the time period necessary to double your investment, put the following values into the first three memory registers:</para>
+ <entry><para>You have just deposited $8000 in an account that pays an annual interest rate of 9%, compounded monthly. Given the annual interest rate, you determine that the simple monthly interest rate is 0.09 / 12 = 0.0075. To calculate the time period necessary to double your investment, click <guibutton>Ctrm</guibutton>, and put the following values into the text entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Periodic Interest Rate</term>
<listitem><para>0.0075</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Future Value</term>
<listitem><para>16000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Present Value</term>
<listitem><para>8000</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Ctrm</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>92.77</para>
<para>The investment doubles in value in 92.77 months.</para></entry>
</row>
@@ -861,88 +846,54 @@
<entry><para><guibutton>Ddb</guibutton></para></entry>
<entry><para>Calculates the depreciation allowance on an asset for a specified period of time, using the double-declining balance method.
</para>
- <para>This function uses the following memory registers:</para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>cost</replaceable>, the amount paid for the asset</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>salvage</replaceable>, the value of the asset at the end of its life</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>life</replaceable>, the useful life of the asset</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 3</term>
- <listitem><para><replaceable>period</replaceable>, the time period for depreciation allowance</para></listitem>
- </varlistentry>
- </variablelist>
</entry>
<entry><para>You have just purchased an office machine for $8000. The useful life of this machine is six years. The salvage value after six years is $900.
-To calculate the depreciation expense for the fourth year, using the double-declining balance method, put the following values into the first four memory registers:</para>
+To calculate the depreciation expense for the fourth year, using the double-declining balance method, click <guibutton>Ddb</guibutton> and put the following values into the text entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Cost</term>
<listitem><para>8000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Salvage</term>
<listitem><para>900</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Life</term>
<listitem><para>6</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 3</term>
+ <term>Period</term>
<listitem><para>4</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Ddb</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>790.12</para>
<para>The depreciation expense for the fourth year is $790.12.</para></entry>
</row>
<row valign="top">
<entry><para>Future Value</para> </entry>
<entry><para><guibutton>Fv</guibutton></para></entry>
- <entry><para>Calculates the future value of an investment based on a series of equal payments, each of amount <replaceable>pmt</replaceable>, at a periodic interest rate of <replaceable>int</replaceable>, over the number of payment periods in the term.
+ <entry><para>Calculates the future value of an investment based on a series of equal payments at a specific periodic interest rate, over the number of payment periods in the term.
</para>
- <para>This function uses the following memory registers: </para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>pmt</replaceable>, the periodic payment</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>int</replaceable>, the periodic interest rate</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>n</replaceable>, the number of periods</para></listitem>
- </varlistentry>
- </variablelist>
</entry>
<entry><para>You plan to deposit $4000 in a bank account on the last day of each year for the next 20 years. The account pays 8% interest, compounded annually. Interest is paid on the last day of each year.
-To calculate the value of your account in 20 years, put the following values into the first three memory registers:</para>
+To calculate the value of your account in 20 years, press <guibutton>Fv</guibutton> and put the following values into the text entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Periodic Payment</term>
<listitem><para>4000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Periodic Interest Rate</term>
<listitem><para>0.08</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Number Of Periods</term>
<listitem><para>20</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Fv</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>183047.86</para>
<para>At the end of 20 years, the value of the account is $183,047.86.</para></entry>
</row>
@@ -951,121 +902,76 @@
<entry><para><guibutton>Pmt</guibutton></para></entry>
<entry><para>Calculates the amount of the periodic payment of a loan, where payments are made at the end of each payment period.
</para>
- <para>This function uses the following memory registers: </para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>prin</replaceable>, the principal</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>int</replaceable>, the periodic interest rate</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>n</replaceable>, the term</para></listitem>
- </varlistentry>
- </variablelist>
</entry>
- <entry><para>You are considering a $120,000 mortgage for 30 years at an annual interest rate of 11.0%. Given the annual interest rate, you determine that the simple monthly interest rate is 0.11 / 12 = 0.00917. The term is 30 * 12 = 360 months. To calculate the monthly repayment for this mortgage, put the following values into the first three memory registers:</para>
+ <entry><para>You are considering a $120,000 mortgage for 30 years at an annual interest rate of 11.0%. Given the annual interest rate, you determine that the simple monthly interest rate is 0.11 / 12 = 0.00917. The term is 30 * 12 = 360 months. To calculate the monthly repayment for this mortgage, press <guibutton>Pmt</guibutton> and put the following values into the txt entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Principal</term>
<listitem><para>120000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Periodic Interest Rate</term>
<listitem><para>0.00917</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Term</term>
<listitem><para>360</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Pmt</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>1143.15</para>
<para>The monthly repayment is $1143.15.</para></entry>
</row>
<row valign="top">
<entry><para>Present Value</para> </entry>
<entry><para><guibutton>Pv</guibutton></para></entry>
- <entry><para>Calculates the present value of an investment based on a series of equal payments, each of amount <replaceable>pmt</replaceable>, discounted at a periodic interest rate of <replaceable>int</replaceable>, over the number of payment periods in the term.
+ <entry><para>Calculates the present value of an investment based on a series of equal payments, discounted at a periodic interest rate, over the number of payment periods in the term.
</para>
- <para>This function uses the following memory registers: </para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>pmt</replaceable>, the periodic payment</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>int</replaceable>, the periodic interest rate</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>n</replaceable>, the number of periods</para></listitem>
- </varlistentry>
- </variablelist>
</entry>
<entry><para>You have just won a million dollars. The prize is awarded in 20 annual payments of $50,000 each. Annual payments are received at the end of each year. If you were to accept the annual payments of $50,000, you would invest the money at a rate of 9%, compounded annually.</para>
<para>However, you are given the option of receiving a single lump-sum payment of $400,000 instead of the million dollars annuity.
-To calculate which option is worth more in today's dollars, put the following values into the first three memory registers:</para>
+To calculate which option is worth more in today's dollars, press <guibutton>Pv</guibutton> and put the following values into the text entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Periodic Payment</term>
<listitem><para>50000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Periodic Interest Rate</term>
<listitem><para>0.09</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Number Of Periods</term>
<listitem><para>20</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Pv</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>456427.28</para>
<para>The $1,000,000 paid over 20 years is worth $456,427.28 in present dollars.</para></entry>
</row>
<row valign="top">
<entry><para>Periodic Interest Rate</para> </entry>
<entry><para><guibutton>Rate</guibutton></para></entry>
- <entry><para>Calculates the periodic interest necessary to increase an investment of present value <replaceable>pv</replaceable> to a future value of <replaceable>fv</replaceable>, over the number of compounding periods in <replaceable>term</replaceable>.
+ <entry><para>Calculates the periodic interest necessary to increase an investment of a present value to a future value, over a number of compounding periods.
</para>
- <para>This function uses the following memory registers: </para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>fv</replaceable>, the future value</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>pv</replaceable>, the present value</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>n</replaceable>, the term</para></listitem>
- </varlistentry>
- </variablelist>
</entry>
<entry><para>You have invested $20,000 in a bond. The bond matures in five years, and has a maturity value of $30,000. Interest is compounded monthly. The term is 5 * 12 = 60 months.
-To calculate the periodic interest rate for this investment, put the following values into the first three memory registers:</para>
+To calculate the periodic interest rate for this investment, press <guibutton>Rate</guibutton> and put the following values into the text entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Future Value</term>
<listitem><para>30000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Present Value</term>
<listitem><para>20000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Term</term>
<listitem><para>60</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Rate</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>.00678</para>
<para>The monthly interest rate is 0.678%. The annual interest rate is 0.678% * 12 = 8.14%.
</para></entry>
@@ -1075,39 +981,24 @@
<entry><para><guibutton>Sln</guibutton></para></entry>
<entry><para>Calculates the straight-line depreciation of an asset for one period. The depreciable cost is <replaceable>cost</replaceable> - <replaceable>salvage</replaceable>. The straight-line method of depreciation divides the depreciable cost evenly over the useful life of an asset. The useful life is the number of periods, typically years, over which an asset is depreciated.
</para>
- <para>This function uses the following memory registers:</para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>cost</replaceable>, the amount paid for the asset</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>salvage</replaceable>, the value of the asset at the end of its life</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>life</replaceable>, the useful life of the asset</para></listitem>
- </varlistentry>
- </variablelist>
</entry>
<entry><para>You have just purchased an office machine for $8000. The useful life of this machine is six years. The salvage value after six years is $900.
-To calculate the yearly depreciation expense, using the straight-line method, put the following values into the first three memory registers:</para>
+To calculate the yearly depreciation expense, using the straight-line method, prss <guibutton>Sln</guibutton>, and put the following values into the first three memory registers:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Cost</term>
<listitem><para>8000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Salvage</term>
<listitem><para>900</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Life</term>
<listitem><para>6</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Sln</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>1183.33</para>
<para>The yearly depreciation expense is $1183.33.</para></entry>
</row>
@@ -1117,88 +1008,53 @@
<entry><para>Calculates the depreciation allowance on an asset for a specified period of time, using the Sum-Of-The-Years'-Digits method. This method of depreciation accelerates the rate of depreciation, so that more depreciation expense occurs in earlier periods than in later ones.
The depreciable cost is <replaceable>cost</replaceable> - <replaceable>salvage</replaceable>. The useful life is the number of periods, typically years, over which an asset is depreciated.
</para>
- <para>This function uses the following memory registers:</para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>cost</replaceable>, the amount paid for the asset</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>salvage</replaceable>, the value of the asset at the end of its life</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>life</replaceable>, the useful life of the asset</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 3</term>
- <listitem><para><replaceable>period</replaceable>, the time period for depreciation allowance</para></listitem>
- </varlistentry>
- </variablelist>
</entry>
<entry><para>You have just purchased an office machine for $8000. The useful life of this machine is six years. The salvage value after six years is $900.
-To calculate the depreciation expense for the fourth year, using the sum-of-the-years'-digits method, put the following values into the first four memory registers:</para>
+To calculate the depreciation expense for the fourth year, using the sum-of-the-years'-digits method, press <guibutton>Syd</guibutton>, and put the following values into the text entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Cost</term>
<listitem><para>8000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Salvage</term>
<listitem><para>900</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Life</term>
<listitem><para>6</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 3</term>
+ <term>Period</term>
<listitem><para>4</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Syd</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>1014.29</para>
<para>The depreciation expense for the fourth year is $1014.29.</para></entry>
</row>
<row valign="top">
<entry><para>Payment Period</para> </entry>
<entry><para><guibutton>Term</guibutton></para></entry>
- <entry><para>Calculates the number of payment periods that are necessary during the term of an ordinary annuity, to accumulate a future value of <replaceable>fv</replaceable>, at a periodic interest rate of <replaceable>int</replaceable>. Each payment is equal to amount <replaceable>pmt</replaceable>.
-</para>
- <para>This function uses the following memory registers: </para>
- <variablelist>
- <varlistentry>
- <term>Register 0</term>
- <listitem><para><replaceable>pmt</replaceable>, the periodic payment</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 1</term>
- <listitem><para><replaceable>fv</replaceable>, the future value</para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Register 2</term>
- <listitem><para><replaceable>int</replaceable>, the periodic interest rate</para></listitem>
- </varlistentry>
- </variablelist>
+ <entry><para>Calculates the number of payment periods that are necessary during the term of an ordinary annuity, to accumulate a future value, at a certain periodic interest rate.</para>
</entry>
<entry><para>You plan to deposit $1800 in a bank account on the last day of each year. The account pays 11% interest, compounded annually. Interest is paid on the last day of each year.
-To calculate the time period necessary to accumulate $120,000, put the following values into the first three memory registers:</para>
+To calculate the time period necessary to accumulate $120,000, press <guibutton>Term</guibutton>, and put the following values into the text entries:</para>
<variablelist>
<varlistentry>
- <term>Register 0</term>
+ <term>Periodic Payment</term>
<listitem><para>1800</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 1</term>
+ <term>Future Value</term>
<listitem><para>120000</para></listitem>
</varlistentry>
<varlistentry>
- <term>Register 2</term>
+ <term>Periodic Interest Rate</term>
<listitem><para>0.11</para></listitem>
</varlistentry>
</variablelist>
- <para>Click <guibutton>Term</guibutton><guibutton> =</guibutton></para></entry>
+ <para>Click <guibutton>Calculate</guibutton></para></entry>
<entry><para>20.32</para>
<para>$120,000 accumulates in the account in 20.32 years.</para></entry>
</row>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]