mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
*** empty log message ***
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2114 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
cbb60d3362
commit
8484d9030e
@ -1,3 +1,9 @@
|
|||||||
|
2000-03-24 Dave Peticolas <peticola@cs.ucdavis.edu>
|
||||||
|
|
||||||
|
* src/register/numcell.c: new cell for entering numbers. Handles
|
||||||
|
accelerators for increasing/decreasing the number and remembers
|
||||||
|
the largest number for auto-filling.
|
||||||
|
|
||||||
2000-03-23 Dave Peticolas <peticola@cs.ucdavis.edu>
|
2000-03-23 Dave Peticolas <peticola@cs.ucdavis.edu>
|
||||||
|
|
||||||
* src/scm/report/average-balance.scm: fixed many things and i18n'd
|
* src/scm/report/average-balance.scm: fixed many things and i18n'd
|
||||||
|
66
po/fr.po
66
po/fr.po
@ -1,12 +1,12 @@
|
|||||||
# Messages en francais pour Gnucash
|
# Messages en francais pour Gnucash
|
||||||
# Copyright (C) 1999 Free Software Foundation, Inc.
|
# Copyright (C) 1998,1999,2000 Free Software Foundation, Inc.
|
||||||
# Yannick LE NY <y-le-ny@ifrance.com>, 1998,1999,2000.
|
# Copyright (C) 1998,1999,2000 Yannick LE NY <y-le-ny@ifrance.com>,
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnucash 1.3.3\n"
|
"Project-Id-Version: gnucash 1.3.3\n"
|
||||||
"POT-Creation-Date: 2000-03-23 03:24-0800\n"
|
"POT-Creation-Date: 2000-03-23 03:24-0800\n"
|
||||||
"PO-Revision-Date: 2000-03-20 16:47+0200\n"
|
"PO-Revision-Date: 2000-03-23 22:24+0200\n"
|
||||||
"Last-Translator: Yannick LE NY <y-le-ny@ifrance.com>\n"
|
"Last-Translator: Yannick LE NY <y-le-ny@ifrance.com>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -52,7 +52,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Voulez-vous créer un nouveau compte?\n"
|
"Voulez-vous créer un nouveau compte?\n"
|
||||||
"Sinon, sélectionnez alors un compte\n"
|
"Sinon, sélectionnez alors un compte\n"
|
||||||
"fuzzà ouvrir dans la fenetre principale.\n"
|
"à ouvrir dans la fenêtre principale.\n"
|
||||||
|
|
||||||
#: messages-i18n.c:15
|
#: messages-i18n.c:15
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -147,7 +147,7 @@ msgid ""
|
|||||||
"Are You Sure?\n"
|
"Are You Sure?\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Il est dangereux de changer le type de monnaie\n"
|
"Il est dangereux de changer le type de monnaie\n"
|
||||||
"d'un compte. Vous demandez a le changer\n"
|
"d'un compte. Vous demandez à le changer\n"
|
||||||
"de %s vers %s\n"
|
"de %s vers %s\n"
|
||||||
"Etes-vous sur?\n"
|
"Etes-vous sur?\n"
|
||||||
|
|
||||||
@ -240,7 +240,7 @@ msgstr ""
|
|||||||
#: messages-i18n.c:39
|
#: messages-i18n.c:39
|
||||||
msgid "Changes have been made since the last Save. Save the data to file?"
|
msgid "Changes have been made since the last Save. Save the data to file?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Des changements ont été fait depuis la derniere sauvegarde.\n"
|
"Des changements ont été fait depuis la dernière sauvegarde.\n"
|
||||||
"Enregistrer les changements dans le fichier?"
|
"Enregistrer les changements dans le fichier?"
|
||||||
|
|
||||||
#: messages-i18n.c:40
|
#: messages-i18n.c:40
|
||||||
@ -282,16 +282,16 @@ msgstr ""
|
|||||||
|
|
||||||
#: messages-i18n.c:43
|
#: messages-i18n.c:43
|
||||||
msgid "You need to install the gnome-print library."
|
msgid "You need to install the gnome-print library."
|
||||||
msgstr ""
|
msgstr "Vous avez besoin d'installer la librairie gnome-print."
|
||||||
|
|
||||||
#: messages-i18n.c:44
|
#: messages-i18n.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "QIF file load failed. %s"
|
msgid "QIF file load failed. %s"
|
||||||
msgstr ""
|
msgstr "Le chargement du fichier QIF a échoué."
|
||||||
|
|
||||||
#: messages-i18n.c:45
|
#: messages-i18n.c:45
|
||||||
msgid "QIF file load failed. Check settings and reload."
|
msgid "QIF file load failed. Check settings and reload."
|
||||||
msgstr ""
|
msgstr "Le chargement du fichier QIF a échoué.Vérifiez les paramètres et rechargez"
|
||||||
|
|
||||||
#: messages-i18n.c:46
|
#: messages-i18n.c:46
|
||||||
msgid "The source for price quotes"
|
msgid "The source for price quotes"
|
||||||
@ -410,7 +410,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: messages-i18n.c:62
|
#: messages-i18n.c:62
|
||||||
msgid "You can't transfer from and to the same account!"
|
msgid "You can't transfer from and to the same account!"
|
||||||
msgstr "Vous ne pouvez pas transférer depuis et vers le meme compte!"
|
msgstr "Vous ne pouvez pas transférer depuis et vers le même compte!"
|
||||||
|
|
||||||
#: messages-i18n.c:63
|
#: messages-i18n.c:63
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -566,7 +566,7 @@ msgstr "Ouvrir la bo
|
|||||||
|
|
||||||
#: messages-i18n.c:98
|
#: messages-i18n.c:98
|
||||||
msgid "Print a check using a standard format"
|
msgid "Print a check using a standard format"
|
||||||
msgstr ""
|
msgstr "Imprimer un chèque en utilisant un format standard"
|
||||||
|
|
||||||
#: messages-i18n.c:99
|
#: messages-i18n.c:99
|
||||||
msgid "Reconcile the selected account"
|
msgid "Reconcile the selected account"
|
||||||
@ -766,7 +766,7 @@ msgstr "Pr
|
|||||||
|
|
||||||
#: messages-i18n.c:148
|
#: messages-i18n.c:148
|
||||||
msgid "_Print Check (unfinished!)"
|
msgid "_Print Check (unfinished!)"
|
||||||
msgstr ""
|
msgstr "Imprimer chèques (non terminé!)"
|
||||||
|
|
||||||
#: messages-i18n.c:149
|
#: messages-i18n.c:149
|
||||||
msgid "_Reconcile"
|
msgid "_Reconcile"
|
||||||
@ -1701,7 +1701,7 @@ msgstr "Trier par date"
|
|||||||
#: po/guile_strings.txt:34
|
#: po/guile_strings.txt:34
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Report for %s and all subaccounts."
|
msgid "Report for %s and all subaccounts."
|
||||||
msgstr ""
|
msgstr "Rapport pour %s et tous les sous-comptes."
|
||||||
|
|
||||||
#: po/guile_strings.txt:35
|
#: po/guile_strings.txt:35
|
||||||
msgid "Account types to display"
|
msgid "Account types to display"
|
||||||
@ -1736,9 +1736,8 @@ msgid "US-style: mm/dd/yyyy"
|
|||||||
msgstr "Style-US: mm/jj/aaaa"
|
msgstr "Style-US: mm/jj/aaaa"
|
||||||
|
|
||||||
#: po/guile_strings.txt:43
|
#: po/guile_strings.txt:43
|
||||||
#, fuzzy
|
|
||||||
msgid "You have not selected an account."
|
msgid "You have not selected an account."
|
||||||
msgstr "Vous devez sélectionner un type de compte."
|
msgstr "Vous n'avez pas sélectionné un compte."
|
||||||
|
|
||||||
#: po/guile_strings.txt:44
|
#: po/guile_strings.txt:44
|
||||||
msgid "By default, show every transaction in an account."
|
msgid "By default, show every transaction in an account."
|
||||||
@ -1785,9 +1784,8 @@ msgid "Display the Hello, World report."
|
|||||||
msgstr "Affiche le rapport Bonjour,tout le monde"
|
msgstr "Affiche le rapport Bonjour,tout le monde"
|
||||||
|
|
||||||
#: po/guile_strings.txt:58
|
#: po/guile_strings.txt:58
|
||||||
#, fuzzy
|
|
||||||
msgid "Gain"
|
msgid "Gain"
|
||||||
msgstr "Gain net"
|
msgstr ""
|
||||||
|
|
||||||
#: po/guile_strings.txt:59
|
#: po/guile_strings.txt:59
|
||||||
msgid "Hello Again"
|
msgid "Hello Again"
|
||||||
@ -1844,7 +1842,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: po/guile_strings.txt:72
|
#: po/guile_strings.txt:72
|
||||||
msgid "Import QIF File - Scripted in Guile."
|
msgid "Import QIF File - Scripted in Guile."
|
||||||
msgstr "Importer des fichiers QIF - lu par Guile."
|
msgstr "Importer des fichiers QIF - écrit en Guile."
|
||||||
|
|
||||||
#: po/guile_strings.txt:73
|
#: po/guile_strings.txt:73
|
||||||
msgid "Show Horizontal Borders"
|
msgid "Show Horizontal Borders"
|
||||||
@ -1884,9 +1882,8 @@ msgid "The background color for the active transaction in single mode"
|
|||||||
msgstr "La couleur de l'arrière-plan pour la transaction active en mode simple"
|
msgstr "La couleur de l'arrière-plan pour la transaction active en mode simple"
|
||||||
|
|
||||||
#: po/guile_strings.txt:81
|
#: po/guile_strings.txt:81
|
||||||
#, fuzzy
|
|
||||||
msgid "Loss"
|
msgid "Loss"
|
||||||
msgstr "Gain/Pertes"
|
msgstr "Pertes"
|
||||||
|
|
||||||
#: po/guile_strings.txt:82
|
#: po/guile_strings.txt:82
|
||||||
msgid "Credit Accounts"
|
msgid "Credit Accounts"
|
||||||
@ -1915,7 +1912,7 @@ msgstr "Options de num
|
|||||||
#: po/guile_strings.txt:89
|
#: po/guile_strings.txt:89
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Report for %s."
|
msgid "Report for %s."
|
||||||
msgstr "Rapports"
|
msgstr "Rapports pour %s."
|
||||||
|
|
||||||
#: po/guile_strings.txt:90
|
#: po/guile_strings.txt:90
|
||||||
msgid "Reverse Income and Expense Accounts"
|
msgid "Reverse Income and Expense Accounts"
|
||||||
@ -2006,9 +2003,8 @@ msgid "Date Format Display"
|
|||||||
msgstr "Affichage du format de date"
|
msgstr "Affichage du format de date"
|
||||||
|
|
||||||
#: po/guile_strings.txt:114
|
#: po/guile_strings.txt:114
|
||||||
#, fuzzy
|
|
||||||
msgid "Ending"
|
msgid "Ending"
|
||||||
msgstr "Ascendant"
|
msgstr "Final"
|
||||||
|
|
||||||
#: po/guile_strings.txt:115
|
#: po/guile_strings.txt:115
|
||||||
msgid "Reversed-balance account types"
|
msgid "Reversed-balance account types"
|
||||||
@ -2028,7 +2024,7 @@ msgstr "Options du rapport"
|
|||||||
|
|
||||||
#: po/guile_strings.txt:122
|
#: po/guile_strings.txt:122
|
||||||
msgid "Calculate balance sheet up to this date"
|
msgid "Calculate balance sheet up to this date"
|
||||||
msgstr "Calculer la feuille du solde/bilan jsqu'à cette date"
|
msgstr "Calculer la feuille du solde/bilan jusqu'à cette date"
|
||||||
|
|
||||||
#: po/guile_strings.txt:123
|
#: po/guile_strings.txt:123
|
||||||
msgid "Alternate the even and odd colors with each transaction, not each row"
|
msgid "Alternate the even and odd colors with each transaction, not each row"
|
||||||
@ -2286,7 +2282,7 @@ msgstr "vrai"
|
|||||||
|
|
||||||
#: po/guile_strings.txt:191
|
#: po/guile_strings.txt:191
|
||||||
msgid "Period Ending"
|
msgid "Period Ending"
|
||||||
msgstr ""
|
msgstr "Période finale"
|
||||||
|
|
||||||
#: po/guile_strings.txt:192
|
#: po/guile_strings.txt:192
|
||||||
msgid "Income.Salary.Taxable"
|
msgid "Income.Salary.Taxable"
|
||||||
@ -2334,7 +2330,7 @@ msgid ""
|
|||||||
"This is a sample GnuCash report. See the guile (scheme) source code in %s "
|
"This is a sample GnuCash report. See the guile (scheme) source code in %s "
|
||||||
"for details on writing your own reports, or extending existing reports."
|
"for details on writing your own reports, or extending existing reports."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"C'est un exemple de rapport de Gnucash. Regardez le code source de Guile "
|
"C'est un exemple de rapport de Gnucash. Regardez le code source en Guile "
|
||||||
"(scheme) dans %s pour les détails sur l'écriture de vos propres rapports, ou "
|
"(scheme) dans %s pour les détails sur l'écriture de vos propres rapports, ou "
|
||||||
"étendez les rapports existants."
|
"étendez les rapports existants."
|
||||||
|
|
||||||
@ -2350,7 +2346,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: po/guile_strings.txt:207
|
#: po/guile_strings.txt:207
|
||||||
msgid "Display the Budget report."
|
msgid "Display the Budget report."
|
||||||
msgstr "Affiche le rapport de la feuille du solde/bilan"
|
msgstr "Affiche le rapport du budget."
|
||||||
|
|
||||||
#: po/guile_strings.txt:208
|
#: po/guile_strings.txt:208
|
||||||
msgid "_Hello, World"
|
msgid "_Hello, World"
|
||||||
@ -2613,7 +2609,7 @@ msgstr "El
|
|||||||
|
|
||||||
#: po/guile_strings.txt:275
|
#: po/guile_strings.txt:275
|
||||||
msgid "Beginning"
|
msgid "Beginning"
|
||||||
msgstr ""
|
msgstr "Début"
|
||||||
|
|
||||||
#: po/guile_strings.txt:276
|
#: po/guile_strings.txt:276
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -2631,7 +2627,7 @@ msgid ""
|
|||||||
"The background color for an active transaction in multi-line mode and the "
|
"The background color for an active transaction in multi-line mode and the "
|
||||||
"auto modes"
|
"auto modes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"L'arrière-plan en couleur pour une répartition active en mode multi ligneset "
|
"L'arrière-plan en couleur pour une répartition active en mode multi lignes et "
|
||||||
"en modes auto"
|
"en modes auto"
|
||||||
|
|
||||||
#: po/guile_strings.txt:278
|
#: po/guile_strings.txt:278
|
||||||
@ -2801,24 +2797,20 @@ msgid "Mutual"
|
|||||||
msgstr "Fonds communs"
|
msgstr "Fonds communs"
|
||||||
|
|
||||||
#: src/gnome/glade-gnc-dialogs.c:763
|
#: src/gnome/glade-gnc-dialogs.c:763
|
||||||
#, fuzzy
|
|
||||||
msgid "Print Check"
|
msgid "Print Check"
|
||||||
msgstr "Vérifier"
|
msgstr "Imprimer chèque"
|
||||||
|
|
||||||
#: src/gnome/glade-gnc-dialogs.c:778
|
#: src/gnome/glade-gnc-dialogs.c:778
|
||||||
#, fuzzy
|
|
||||||
msgid "Select Printer"
|
msgid "Select Printer"
|
||||||
msgstr "Sélectionner un fichier"
|
msgstr "Sélectionner une imprimante"
|
||||||
|
|
||||||
#: src/gnome/glade-gnc-dialogs.c:785
|
#: src/gnome/glade-gnc-dialogs.c:785
|
||||||
#, fuzzy
|
|
||||||
msgid "Preview"
|
msgid "Preview"
|
||||||
msgstr "Cours"
|
msgstr "Prévisualisation"
|
||||||
|
|
||||||
#: src/gnome/print-session.c:118
|
#: src/gnome/print-session.c:118
|
||||||
#, fuzzy
|
|
||||||
msgid "You must select a printer first."
|
msgid "You must select a printer first."
|
||||||
msgstr "Vous devez sélectionner un type de compte."
|
msgstr "Vous devez dabord sélectionner une imprimante."
|
||||||
|
|
||||||
#~ msgid "Failed to load QIF file. Are you sure it's a QIF file?"
|
#~ msgid "Failed to load QIF file. Are you sure it's a QIF file?"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
@ -1171,8 +1171,8 @@ xaccSRSaveRegEntry (SplitRegister *reg, Transaction *newtrans)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (MOD_NUM & changed) {
|
if (MOD_NUM & changed) {
|
||||||
DEBUG ("xaccSRSaveRegEntry(): MOD_NUM: %s\n", reg->numCell->value);
|
DEBUG ("xaccSRSaveRegEntry(): MOD_NUM: %s\n", reg->numCell->cell.value);
|
||||||
xaccTransSetNum (trans, reg->numCell->value);
|
xaccTransSetNum (trans, reg->numCell->cell.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MOD_DESC & changed) {
|
if (MOD_DESC & changed) {
|
||||||
@ -1447,7 +1447,7 @@ xaccSRLoadTransEntry (SplitRegister *reg, Split *split, int do_commit)
|
|||||||
if (!split) {
|
if (!split) {
|
||||||
/* we interpret a NULL split as a blank split */
|
/* we interpret a NULL split as a blank split */
|
||||||
xaccSetDateCellValueSecs (reg->dateCell, 0);
|
xaccSetDateCellValueSecs (reg->dateCell, 0);
|
||||||
xaccSetBasicCellValue (reg->numCell, "");
|
xaccSetNumCellValue (reg->numCell, "");
|
||||||
xaccSetQuickFillCellValue (reg->descCell, "");
|
xaccSetQuickFillCellValue (reg->descCell, "");
|
||||||
xaccSetBasicCellValue (reg->recnCell, "");
|
xaccSetBasicCellValue (reg->recnCell, "");
|
||||||
xaccSetPriceCellValue (reg->shrsCell, 0.0);
|
xaccSetPriceCellValue (reg->shrsCell, 0.0);
|
||||||
@ -1473,7 +1473,7 @@ xaccSRLoadTransEntry (SplitRegister *reg, Split *split, int do_commit)
|
|||||||
secs = xaccTransGetDateL (trans);
|
secs = xaccTransGetDateL (trans);
|
||||||
xaccSetDateCellValueSecsL (reg->dateCell, secs);
|
xaccSetDateCellValueSecsL (reg->dateCell, secs);
|
||||||
|
|
||||||
xaccSetBasicCellValue (reg->numCell, xaccTransGetNum (trans));
|
xaccSetNumCellValue (reg->numCell, xaccTransGetNum (trans));
|
||||||
xaccSetQuickFillCellValue (reg->descCell,
|
xaccSetQuickFillCellValue (reg->descCell,
|
||||||
xaccTransGetDescription (trans));
|
xaccTransGetDescription (trans));
|
||||||
|
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
@ -354,31 +353,6 @@ xaccQueryShowLatestDateFound (Query *q)
|
|||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
static gncBoolean
|
|
||||||
gnc_strisnum(char *s)
|
|
||||||
{
|
|
||||||
if (s == NULL) return GNC_F;
|
|
||||||
if (*s == 0) return GNC_F;
|
|
||||||
|
|
||||||
while (*s && isspace(*s))
|
|
||||||
s++;
|
|
||||||
|
|
||||||
if (*s == 0) return GNC_F;
|
|
||||||
if (!isdigit(*s)) return GNC_F;
|
|
||||||
|
|
||||||
while (*s && isdigit(*s))
|
|
||||||
s++;
|
|
||||||
|
|
||||||
if (*s == 0) return GNC_T;
|
|
||||||
|
|
||||||
while (*s && isspace(*s))
|
|
||||||
s++;
|
|
||||||
|
|
||||||
if (*s == 0) return GNC_T;
|
|
||||||
|
|
||||||
return GNC_F;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define CNUM { \
|
#define CNUM { \
|
||||||
/* sort on transaction number */ \
|
/* sort on transaction number */ \
|
||||||
unsigned long n1; \
|
unsigned long n1; \
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
/* #include <glib.h> */
|
/* #include <glib.h> */
|
||||||
|
|
||||||
@ -193,6 +194,35 @@ util_fptostr(char *buf, double val, int prec)
|
|||||||
return strlen(buf);
|
return strlen(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/********************************************************************\
|
||||||
|
* returns GNC_T if the string is a number, possibly with whitespace
|
||||||
|
\********************************************************************/
|
||||||
|
|
||||||
|
gncBoolean
|
||||||
|
gnc_strisnum(const char *s)
|
||||||
|
{
|
||||||
|
if (s == NULL) return GNC_F;
|
||||||
|
if (*s == 0) return GNC_F;
|
||||||
|
|
||||||
|
while (*s && isspace(*s))
|
||||||
|
s++;
|
||||||
|
|
||||||
|
if (*s == 0) return GNC_F;
|
||||||
|
if (!isdigit(*s)) return GNC_F;
|
||||||
|
|
||||||
|
while (*s && isdigit(*s))
|
||||||
|
s++;
|
||||||
|
|
||||||
|
if (*s == 0) return GNC_T;
|
||||||
|
|
||||||
|
while (*s && isspace(*s))
|
||||||
|
s++;
|
||||||
|
|
||||||
|
if (*s == 0) return GNC_T;
|
||||||
|
|
||||||
|
return GNC_F;
|
||||||
|
}
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* stpcpy for those platforms that don't have it.
|
* stpcpy for those platforms that don't have it.
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
@ -130,6 +130,9 @@ int safe_strcmp (const char * da, const char * db);
|
|||||||
|
|
||||||
char * ultostr (unsigned long val, int base);
|
char * ultostr (unsigned long val, int base);
|
||||||
|
|
||||||
|
/* Returns true if string s is a number, possibly
|
||||||
|
* surrounded by whitespace. */
|
||||||
|
gncBoolean gnc_strisnum(const char *s);
|
||||||
|
|
||||||
/* The gnc_localeconv() subroutine returns an lconv structure
|
/* The gnc_localeconv() subroutine returns an lconv structure
|
||||||
* containing locale information. If no locale is set, the
|
* containing locale information. If no locale is set, the
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Makefile -- makefile for xacc/src/register
|
# Makefile -- makefile for xacc/src/register
|
||||||
# Copyright (C) 1997 Robin Clark
|
# Copyright (C) 1997 Robin Clark
|
||||||
# Copyright (C) 1998 Linas Vepstas
|
# Copyright (C) 1998, 1999, 2000 Linas Vepstas
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License as
|
# modify it under the terms of the GNU General Public License as
|
||||||
@ -40,7 +40,7 @@ CFLAGS := @CFLAGS@ @X_CFLAGS@ -DCELL_WIDGETS=1 ${INCLPATH} ${CPPFLAGS}
|
|||||||
# See Makefile.common for information about these variables.
|
# See Makefile.common for information about these variables.
|
||||||
COMMON_SRCS := basiccell.c cellblock.c \
|
COMMON_SRCS := basiccell.c cellblock.c \
|
||||||
datecell.c pricecell.c QuickFill.c quickfillcell.c \
|
datecell.c pricecell.c QuickFill.c quickfillcell.c \
|
||||||
recncell.c splitreg.c \
|
recncell.c splitreg.c numcell.c \
|
||||||
table-allgui.c table-html.c textcell.c
|
table-allgui.c table-html.c textcell.c
|
||||||
MOTIF_SRCS := table-motif.c combocell-motif.c quickfillcell-motif.c
|
MOTIF_SRCS := table-motif.c combocell-motif.c quickfillcell-motif.c
|
||||||
GNOME_SRCS := table-gnome.c
|
GNOME_SRCS := table-gnome.c
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
/********************************************************************\
|
||||||
|
* 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 of *
|
||||||
|
* the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
||||||
|
\********************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FILE:
|
* FILE:
|
||||||
* basiccell.h
|
* basiccell.h
|
||||||
@ -13,7 +29,7 @@
|
|||||||
* by the "user". In the text below, the "user" is the
|
* by the "user". In the text below, the "user" is the
|
||||||
* person controlling the mouse and keyboard. Thus, when
|
* person controlling the mouse and keyboard. Thus, when
|
||||||
* the user makes a move, it means that they have somehow
|
* the user makes a move, it means that they have somehow
|
||||||
* intereacted with the cell, by clikcing with mouse or by
|
* interacted with the cell, by clicking with mouse or by
|
||||||
* typing at the keyboard. This class provides three
|
* typing at the keyboard. This class provides three
|
||||||
* callbacks which allow the programmer to understand what
|
* callbacks which allow the programmer to understand what
|
||||||
* the user is doing.
|
* the user is doing.
|
||||||
@ -45,7 +61,7 @@
|
|||||||
* of register cells.
|
* of register cells.
|
||||||
*
|
*
|
||||||
* If ALLOW_INPUT is not set, the cell is supposed to
|
* If ALLOW_INPUT is not set, the cell is supposed to
|
||||||
* to only display values, but not accept user input. If
|
* to only display values, but not accept user input. If
|
||||||
* set, then the callbacks below are used to when the
|
* set, then the callbacks below are used to when the
|
||||||
* cell is entered.
|
* cell is entered.
|
||||||
*
|
*
|
||||||
@ -94,7 +110,7 @@
|
|||||||
*
|
*
|
||||||
* The arguments passed in are :
|
* The arguments passed in are :
|
||||||
* "old", the string prior to user's attempted modification,
|
* "old", the string prior to user's attempted modification,
|
||||||
* "add", the string the user is attemptiong to add
|
* "add", the string the user is attempting to add
|
||||||
* (will be null if text is being deleted).
|
* (will be null if text is being deleted).
|
||||||
* "new", the string that would result is user's changes
|
* "new", the string that would result is user's changes
|
||||||
* are accepted.
|
* are accepted.
|
||||||
@ -139,7 +155,7 @@
|
|||||||
* initialization & changes.
|
* initialization & changes.
|
||||||
*
|
*
|
||||||
* The realize() callback will be called when GUI-specific
|
* The realize() callback will be called when GUI-specific
|
||||||
* initalization needs to be done. For Xt/Motif, the second
|
* initialization needs to be done. For Xt/Motif, the second
|
||||||
* argument will be cast to the parent widget. The third
|
* argument will be cast to the parent widget. The third
|
||||||
* argument passes in the desired pixel-width for the GUI
|
* argument passes in the desired pixel-width for the GUI
|
||||||
* element. (Yes, the pixel-size thing is a hack that we
|
* element. (Yes, the pixel-size thing is a hack that we
|
||||||
@ -151,7 +167,7 @@
|
|||||||
* The move() callback will be called when the GUI element needs
|
* The move() callback will be called when the GUI element needs
|
||||||
* to be positioned to a new location within the table grid.
|
* to be positioned to a new location within the table grid.
|
||||||
* The second and third arguments are the physical (not virtual)
|
* The second and third arguments are the physical (not virtual)
|
||||||
* row and column that the GUI elemnt should be moved to.
|
* row and column that the GUI element should be moved to.
|
||||||
*
|
*
|
||||||
* The gui_private member may be used by the derived class to
|
* The gui_private member may be used by the derived class to
|
||||||
* store any additional GUI-specific data.
|
* store any additional GUI-specific data.
|
||||||
@ -166,22 +182,6 @@
|
|||||||
* Copyright (c) 1998 Linas Vepstas
|
* Copyright (c) 1998 Linas Vepstas
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/********************************************************************\
|
|
||||||
* 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 of *
|
|
||||||
* the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
#ifndef __XACC_BASIC_CELL_H__
|
#ifndef __XACC_BASIC_CELL_H__
|
||||||
#define __XACC_BASIC_CELL_H__
|
#define __XACC_BASIC_CELL_H__
|
||||||
|
|
||||||
|
@ -1,14 +1,3 @@
|
|||||||
/*
|
|
||||||
* FILE:
|
|
||||||
* datecell.c
|
|
||||||
*
|
|
||||||
* FUNCTION:
|
|
||||||
* implements a gui-independent date handling cell.
|
|
||||||
*
|
|
||||||
* HISTORY:
|
|
||||||
* Copyright (C) 1997 Robin D. Clark
|
|
||||||
* Copyright (c) 1998 Linas Vepstas
|
|
||||||
*/
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
@ -30,6 +19,18 @@
|
|||||||
* Huntington Beach, CA 92648-4632 *
|
* Huntington Beach, CA 92648-4632 *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FILE:
|
||||||
|
* datecell.c
|
||||||
|
*
|
||||||
|
* FUNCTION:
|
||||||
|
* implements a gui-independent date handling cell.
|
||||||
|
*
|
||||||
|
* HISTORY:
|
||||||
|
* Copyright (C) 1997 Robin D. Clark
|
||||||
|
* Copyright (c) 1998, 1999, 2000 Linas Vepstas
|
||||||
|
*/
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -477,7 +478,7 @@ xaccSetDateCellValueSecsL (DateCell *cell, long long secs)
|
|||||||
/* try to deal with dates earlier than December 1901
|
/* try to deal with dates earlier than December 1901
|
||||||
* or later than Jan 2038. Note that xaccValidateDate
|
* or later than Jan 2038. Note that xaccValidateDate
|
||||||
* should be handling centential (non-) leap years.
|
* should be handling centential (non-) leap years.
|
||||||
* The suffix LL indicates that consts shouold be handled
|
* The suffix LL indicates that consts should be handled
|
||||||
* long long 64-bit consts.
|
* long long 64-bit consts.
|
||||||
*/
|
*/
|
||||||
if ((0x80000000LL > secs) || (0x7fffffffLL < secs))
|
if ((0x80000000LL > secs) || (0x7fffffffLL < secs))
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
/********************************************************************\
|
||||||
|
* 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 of *
|
||||||
|
* the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
||||||
|
\********************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FILE:
|
* FILE:
|
||||||
* datecell.h
|
* datecell.h
|
||||||
@ -65,7 +81,7 @@
|
|||||||
* on the "commit" button. This is the troutine to call for that.
|
* on the "commit" button. This is the troutine to call for that.
|
||||||
*
|
*
|
||||||
* HISTORY:
|
* HISTORY:
|
||||||
* Copyright (c) 1998 Linas Vepstas
|
* Copyright (c) 1998, 1999, 2000 Linas Vepstas
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __XACC_DATE_CELL_C__
|
#ifndef __XACC_DATE_CELL_C__
|
||||||
|
244
src/register/numcell.c
Normal file
244
src/register/numcell.c
Normal file
@ -0,0 +1,244 @@
|
|||||||
|
/********************************************************************\
|
||||||
|
* 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 of *
|
||||||
|
* the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
||||||
|
\********************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FILE:
|
||||||
|
* numcell.c
|
||||||
|
*
|
||||||
|
* FUNCTION:
|
||||||
|
* implements a gui-independent number handling cell.
|
||||||
|
*
|
||||||
|
* HISTORY:
|
||||||
|
* Copyright (C) 2000 Dave Peticolas <peticola@cs.ucdavis.edu>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "numcell.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
/* This static indicates the debugging module that this .o belongs to. */
|
||||||
|
/* static short module = MOD_REGISTER; */
|
||||||
|
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
/* Parses the string value and returns true if it is a
|
||||||
|
* number. In that case, *num is set to the value parsed. */
|
||||||
|
static gncBoolean
|
||||||
|
parse_num(const char *string, long int *num)
|
||||||
|
{
|
||||||
|
long int number;
|
||||||
|
|
||||||
|
if (string == NULL)
|
||||||
|
return GNC_F;
|
||||||
|
|
||||||
|
if (!gnc_strisnum(string))
|
||||||
|
return GNC_F;
|
||||||
|
|
||||||
|
number = strtol(string, NULL, 10);
|
||||||
|
|
||||||
|
if ((number == LONG_MIN) || (number == LONG_MAX))
|
||||||
|
return GNC_F;
|
||||||
|
|
||||||
|
if (num != NULL)
|
||||||
|
*num = number;
|
||||||
|
|
||||||
|
return GNC_T;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
static const char *
|
||||||
|
NumEnter (BasicCell *_cell,
|
||||||
|
const char * curr,
|
||||||
|
int *cursor_position,
|
||||||
|
int *start_selection,
|
||||||
|
int *end_selection)
|
||||||
|
{
|
||||||
|
NumCell *cell = (NumCell *) _cell;
|
||||||
|
gncBoolean is_num;
|
||||||
|
long int number;
|
||||||
|
|
||||||
|
is_num = parse_num(curr, &number);
|
||||||
|
|
||||||
|
if (is_num && (number >= cell->max_num))
|
||||||
|
cell->max_num = number + 1;
|
||||||
|
|
||||||
|
return curr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
static const char *
|
||||||
|
NumMV (BasicCell *_cell,
|
||||||
|
const char *oldval,
|
||||||
|
const char *change,
|
||||||
|
const char *newval,
|
||||||
|
int *cursor_position,
|
||||||
|
int *start_selection,
|
||||||
|
int *end_selection)
|
||||||
|
{
|
||||||
|
NumCell *cell = (NumCell *) _cell;
|
||||||
|
gncBoolean accel = GNC_F;
|
||||||
|
gncBoolean is_num;
|
||||||
|
long int number = 0;
|
||||||
|
|
||||||
|
if ((change == NULL) || (change[0] == 0) || /* if we are deleting */
|
||||||
|
(strlen(change) > 1)) /* or entering > 1 char */
|
||||||
|
/* then just accept the proposed change */
|
||||||
|
{
|
||||||
|
if (cell->cell.value) free (cell->cell.value);
|
||||||
|
cell->cell.value = strdup (newval);
|
||||||
|
return newval;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* otherwise, it may be an accelerator key. */
|
||||||
|
|
||||||
|
is_num = parse_num(oldval, &number);
|
||||||
|
|
||||||
|
if (is_num && (number < 0))
|
||||||
|
is_num = GNC_F;
|
||||||
|
|
||||||
|
switch (change[0])
|
||||||
|
{
|
||||||
|
case '+':
|
||||||
|
case '=':
|
||||||
|
number++;
|
||||||
|
accel = GNC_T;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case '_':
|
||||||
|
case '-':
|
||||||
|
number--;
|
||||||
|
accel = GNC_T;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case '}':
|
||||||
|
case ']':
|
||||||
|
number += 10;
|
||||||
|
accel = GNC_T;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case '{':
|
||||||
|
case '[':
|
||||||
|
number -= 10;
|
||||||
|
accel = GNC_T;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (number < 0)
|
||||||
|
number = 0;
|
||||||
|
|
||||||
|
/* If there is already a non-number there, don't accelerate. */
|
||||||
|
if (accel && !is_num && (safe_strcmp(oldval, "") != 0))
|
||||||
|
accel = GNC_F;
|
||||||
|
|
||||||
|
if (accel)
|
||||||
|
{
|
||||||
|
char buff[128];
|
||||||
|
|
||||||
|
if (!is_num)
|
||||||
|
number = cell->max_num;
|
||||||
|
|
||||||
|
strcpy(buff, "");
|
||||||
|
snprintf(buff, sizeof(buff), "%ld", number);
|
||||||
|
|
||||||
|
if (safe_strcmp(buff, "") == 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (cell->cell.value) free (cell->cell.value);
|
||||||
|
cell->cell.value = strdup (buff);
|
||||||
|
|
||||||
|
*cursor_position = -1;
|
||||||
|
|
||||||
|
return strdup(buff);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cell->cell.value) free (cell->cell.value);
|
||||||
|
cell->cell.value = strdup (newval);
|
||||||
|
|
||||||
|
return newval;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
static const char *
|
||||||
|
NumLeave (BasicCell *_cell, const char * curr)
|
||||||
|
{
|
||||||
|
NumCell *cell = (NumCell *) _cell;
|
||||||
|
gncBoolean is_num;
|
||||||
|
long int number;
|
||||||
|
|
||||||
|
is_num = parse_num(curr, &number);
|
||||||
|
|
||||||
|
if (is_num && (number >= cell->max_num))
|
||||||
|
cell->max_num = number + 1;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
NumCell *
|
||||||
|
xaccMallocNumCell (void)
|
||||||
|
{
|
||||||
|
NumCell *cell;
|
||||||
|
cell = (NumCell *) malloc (sizeof (NumCell));
|
||||||
|
xaccInitNumCell (cell);
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
void
|
||||||
|
xaccDestroyNumCell (NumCell *cell)
|
||||||
|
{
|
||||||
|
xaccDestroyBasicCell (&(cell->cell));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
static void
|
||||||
|
setNumCellValue (BasicCell *_cell, const char *str)
|
||||||
|
{
|
||||||
|
NumCell *cell = (NumCell *) _cell;
|
||||||
|
gncBoolean is_num;
|
||||||
|
long int number;
|
||||||
|
|
||||||
|
is_num = parse_num(str, &number);
|
||||||
|
|
||||||
|
if (is_num && (number >= cell->max_num))
|
||||||
|
cell->max_num = number + 1;
|
||||||
|
|
||||||
|
if (cell->cell.value) free (cell->cell.value);
|
||||||
|
cell->cell.value = strdup (str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
void
|
||||||
|
xaccSetNumCellValue (NumCell *cell, const char *str)
|
||||||
|
{
|
||||||
|
setNumCellValue(&cell->cell, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================================ */
|
||||||
|
void
|
||||||
|
xaccInitNumCell (NumCell *cell)
|
||||||
|
{
|
||||||
|
xaccInitBasicCell (&(cell->cell));
|
||||||
|
|
||||||
|
cell->max_num = 0;
|
||||||
|
|
||||||
|
cell->cell.enter_cell = NumEnter;
|
||||||
|
cell->cell.modify_verify = NumMV;
|
||||||
|
cell->cell.leave_cell = NumLeave;
|
||||||
|
cell->cell.set_value = setNumCellValue;
|
||||||
|
}
|
46
src/register/numcell.h
Normal file
46
src/register/numcell.h
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/********************************************************************\
|
||||||
|
* 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 of *
|
||||||
|
* the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
||||||
|
\********************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FILE:
|
||||||
|
* numcell.h
|
||||||
|
*
|
||||||
|
* FUNCTION:
|
||||||
|
* The NumCell object implements a number handling cell. It
|
||||||
|
* supports a number of accelerator keys for number entry.
|
||||||
|
*
|
||||||
|
* HISTORY:
|
||||||
|
* Copyright (c) 2000 Dave Peticolas <peticola@cs.ucdavis.edu>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GNC_NUM_CELL_H__
|
||||||
|
#define __GNC_NUM_CELL_H__
|
||||||
|
|
||||||
|
#include "basiccell.h"
|
||||||
|
|
||||||
|
typedef struct _NumCell
|
||||||
|
{
|
||||||
|
BasicCell cell;
|
||||||
|
long int max_num;
|
||||||
|
} NumCell;
|
||||||
|
|
||||||
|
NumCell * xaccMallocNumCell (void);
|
||||||
|
void xaccInitNumCell (NumCell *);
|
||||||
|
void xaccDestroyNumCell (NumCell *);
|
||||||
|
|
||||||
|
void xaccSetNumCellValue (NumCell *cell, const char *str);
|
||||||
|
|
||||||
|
#endif /* __GNC_NUM_CELL_H__ */
|
@ -1,19 +1,3 @@
|
|||||||
/*
|
|
||||||
* FILE:
|
|
||||||
* splitreg.c
|
|
||||||
*
|
|
||||||
* FUNCTION:
|
|
||||||
* Implements the register object.
|
|
||||||
* Specifies the physical layout of the register cells.
|
|
||||||
* See the header file for additional documentation.
|
|
||||||
*
|
|
||||||
* hack alert -- most of the code in this file should be
|
|
||||||
* replaced by a guile/scheme based config file.
|
|
||||||
*
|
|
||||||
* HISTORY:
|
|
||||||
* Copyright (c) 1998 Linas Vepstas
|
|
||||||
*/
|
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
@ -30,6 +14,22 @@
|
|||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FILE:
|
||||||
|
* splitreg.c
|
||||||
|
*
|
||||||
|
* FUNCTION:
|
||||||
|
* Implements the register object.
|
||||||
|
* Specifies the physical layout of the register cells.
|
||||||
|
* See the header file for additional documentation.
|
||||||
|
*
|
||||||
|
* hack alert -- most of the code in this file should be
|
||||||
|
* replaced by a guile/scheme based config file.
|
||||||
|
*
|
||||||
|
* HISTORY:
|
||||||
|
* Copyright (c) 1998, 1999, 2000 Linas Vepstas
|
||||||
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
@ -371,7 +371,7 @@ configLayout (SplitRegister *reg)
|
|||||||
{
|
{
|
||||||
curs = reg->double_cursor;
|
curs = reg->double_cursor;
|
||||||
FANCY (DATE, date, 0, 0);
|
FANCY (DATE, date, 0, 0);
|
||||||
BASIC (NUM, num, 1, 0);
|
FANCY (NUM, num, 1, 0);
|
||||||
FANCY (DESC, desc, 2, 0);
|
FANCY (DESC, desc, 2, 0);
|
||||||
FANCY (MXFRM, mxfrm, 3, 0);
|
FANCY (MXFRM, mxfrm, 3, 0);
|
||||||
BASIC (RECN, recn, 4, 0);
|
BASIC (RECN, recn, 4, 0);
|
||||||
@ -384,7 +384,7 @@ configLayout (SplitRegister *reg)
|
|||||||
|
|
||||||
curs = reg->trans_cursor;
|
curs = reg->trans_cursor;
|
||||||
FANCY (DATE, date, 0, 0);
|
FANCY (DATE, date, 0, 0);
|
||||||
BASIC (NUM, num, 1, 0);
|
FANCY (NUM, num, 1, 0);
|
||||||
FANCY (DESC, desc, 2, 0);
|
FANCY (DESC, desc, 2, 0);
|
||||||
BASIC (RECN, recn, 4, 0);
|
BASIC (RECN, recn, 4, 0);
|
||||||
FANCY (DEBT, debit, 5, 0);
|
FANCY (DEBT, debit, 5, 0);
|
||||||
@ -401,7 +401,7 @@ configLayout (SplitRegister *reg)
|
|||||||
/* basic common 8 column config */
|
/* basic common 8 column config */
|
||||||
curs = reg->single_cursor;
|
curs = reg->single_cursor;
|
||||||
FANCY (DATE, date, 0, 0);
|
FANCY (DATE, date, 0, 0);
|
||||||
BASIC (NUM, num, 1, 0);
|
FANCY (NUM, num, 1, 0);
|
||||||
FANCY (DESC, desc, 2, 0);
|
FANCY (DESC, desc, 2, 0);
|
||||||
FANCY (MXFRM, mxfrm, 3, 0);
|
FANCY (MXFRM, mxfrm, 3, 0);
|
||||||
BASIC (RECN, recn, 4, 0);
|
BASIC (RECN, recn, 4, 0);
|
||||||
@ -420,7 +420,7 @@ configLayout (SplitRegister *reg)
|
|||||||
/* prep the second row of the double style */
|
/* prep the second row of the double style */
|
||||||
curs = reg->double_cursor;
|
curs = reg->double_cursor;
|
||||||
FANCY (DATE, date, 0, 0);
|
FANCY (DATE, date, 0, 0);
|
||||||
BASIC (NUM, num, 1, 0);
|
FANCY (NUM, num, 1, 0);
|
||||||
FANCY (DESC, desc, 2, 0);
|
FANCY (DESC, desc, 2, 0);
|
||||||
FANCY (MXFRM, mxfrm, 3, 0);
|
FANCY (MXFRM, mxfrm, 3, 0);
|
||||||
BASIC (RECN, recn, 4, 0);
|
BASIC (RECN, recn, 4, 0);
|
||||||
@ -437,7 +437,7 @@ configLayout (SplitRegister *reg)
|
|||||||
/* only the transaction cursor gets used */
|
/* only the transaction cursor gets used */
|
||||||
curs = reg->trans_cursor;
|
curs = reg->trans_cursor;
|
||||||
FANCY (DATE, date, 0, 0);
|
FANCY (DATE, date, 0, 0);
|
||||||
BASIC (NUM, num, 1, 0);
|
FANCY (NUM, num, 1, 0);
|
||||||
FANCY (DESC, desc, 2, 0);
|
FANCY (DESC, desc, 2, 0);
|
||||||
BASIC (RECN, recn, 4, 0);
|
BASIC (RECN, recn, 4, 0);
|
||||||
FANCY (DEBT, debit, 5, 0);
|
FANCY (DEBT, debit, 5, 0);
|
||||||
@ -457,7 +457,7 @@ configLayout (SplitRegister *reg)
|
|||||||
/* 11 column config */
|
/* 11 column config */
|
||||||
curs = reg->single_cursor;
|
curs = reg->single_cursor;
|
||||||
FANCY (DATE, date, 0, 0);
|
FANCY (DATE, date, 0, 0);
|
||||||
BASIC (NUM, num, 1, 0);
|
FANCY (NUM, num, 1, 0);
|
||||||
FANCY (DESC, desc, 2, 0);
|
FANCY (DESC, desc, 2, 0);
|
||||||
FANCY (MXFRM, mxfrm, 3, 0);
|
FANCY (MXFRM, mxfrm, 3, 0);
|
||||||
BASIC (RECN, recn, 4, 0);
|
BASIC (RECN, recn, 4, 0);
|
||||||
@ -907,7 +907,7 @@ xaccInitSplitRegister (SplitRegister *reg, int type)
|
|||||||
|
|
||||||
NEW (null, Basic);
|
NEW (null, Basic);
|
||||||
NEW (date, Date);
|
NEW (date, Date);
|
||||||
NEW (num, Text);
|
NEW (num, Num);
|
||||||
NEW (desc, QuickFill);
|
NEW (desc, QuickFill);
|
||||||
NEW (recn, Recn);
|
NEW (recn, Recn);
|
||||||
NEW (shrs, Price);
|
NEW (shrs, Price);
|
||||||
@ -952,7 +952,7 @@ xaccInitSplitRegister (SplitRegister *reg, int type)
|
|||||||
xaccSetBasicCellValue (reg->nullCell, "");
|
xaccSetBasicCellValue (reg->nullCell, "");
|
||||||
|
|
||||||
/* The num cell is the transaction number */
|
/* The num cell is the transaction number */
|
||||||
xaccSetBasicCellBlankHelp (reg->numCell, NUM_CELL_HELP);
|
xaccSetBasicCellBlankHelp (®->numCell->cell, NUM_CELL_HELP);
|
||||||
|
|
||||||
/* the xfer cells */
|
/* the xfer cells */
|
||||||
xaccSetBasicCellBlankHelp (®->mxfrmCell->cell, XFER_CELL_HELP);
|
xaccSetBasicCellBlankHelp (®->mxfrmCell->cell, XFER_CELL_HELP);
|
||||||
@ -1101,7 +1101,7 @@ xaccDestroySplitRegister (SplitRegister *reg)
|
|||||||
reg->split_cursor = NULL;
|
reg->split_cursor = NULL;
|
||||||
|
|
||||||
xaccDestroyDateCell (reg->dateCell);
|
xaccDestroyDateCell (reg->dateCell);
|
||||||
xaccDestroyBasicCell (reg->numCell);
|
xaccDestroyNumCell (reg->numCell);
|
||||||
xaccDestroyQuickFillCell (reg->descCell);
|
xaccDestroyQuickFillCell (reg->descCell);
|
||||||
xaccDestroyBasicCell (reg->recnCell);
|
xaccDestroyBasicCell (reg->recnCell);
|
||||||
xaccDestroyPriceCell (reg->shrsCell);
|
xaccDestroyPriceCell (reg->shrsCell);
|
||||||
@ -1154,7 +1154,7 @@ xaccSplitRegisterGetChangeFlag (SplitRegister *reg)
|
|||||||
|
|
||||||
/* be careful to use bitwise ands and ors to assemble bit flag */
|
/* be careful to use bitwise ands and ors to assemble bit flag */
|
||||||
changed |= MOD_DATE & reg->dateCell->cell.changed;
|
changed |= MOD_DATE & reg->dateCell->cell.changed;
|
||||||
changed |= MOD_NUM & reg->numCell->changed;
|
changed |= MOD_NUM & reg->numCell->cell.changed;
|
||||||
changed |= MOD_DESC & reg->descCell->cell.changed;
|
changed |= MOD_DESC & reg->descCell->cell.changed;
|
||||||
changed |= MOD_RECN & reg->recnCell->changed;
|
changed |= MOD_RECN & reg->recnCell->changed;
|
||||||
|
|
||||||
@ -1180,7 +1180,7 @@ void
|
|||||||
xaccSplitRegisterClearChangeFlag (SplitRegister *reg)
|
xaccSplitRegisterClearChangeFlag (SplitRegister *reg)
|
||||||
{
|
{
|
||||||
reg->dateCell->cell.changed = 0;
|
reg->dateCell->cell.changed = 0;
|
||||||
reg->numCell->changed = 0;
|
reg->numCell->cell.changed = 0;
|
||||||
reg->descCell->cell.changed = 0;
|
reg->descCell->cell.changed = 0;
|
||||||
reg->recnCell->changed = 0;
|
reg->recnCell->changed = 0;
|
||||||
|
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
/********************************************************************\
|
||||||
|
* 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 of *
|
||||||
|
* the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
||||||
|
\********************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FILE:
|
* FILE:
|
||||||
* splitreg.h
|
* splitreg.h
|
||||||
@ -23,25 +39,9 @@
|
|||||||
* file. Might make good sense to use scheme/guile for the layout.
|
* file. Might make good sense to use scheme/guile for the layout.
|
||||||
*
|
*
|
||||||
* HISTORY:
|
* HISTORY:
|
||||||
* Copyright (c) 1998 Linas Vepstas
|
* Copyright (c) 1998, 1999, 2000 Linas Vepstas
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/********************************************************************\
|
|
||||||
* 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 of *
|
|
||||||
* the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. *
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
#ifndef __XACC_SPLITREG_H__
|
#ifndef __XACC_SPLITREG_H__
|
||||||
#define __XACC_SPLITREG_H__
|
#define __XACC_SPLITREG_H__
|
||||||
|
|
||||||
@ -51,6 +51,7 @@
|
|||||||
#include "datecell.h"
|
#include "datecell.h"
|
||||||
#include "quickfillcell.h"
|
#include "quickfillcell.h"
|
||||||
#include "pricecell.h"
|
#include "pricecell.h"
|
||||||
|
#include "numcell.h"
|
||||||
#include "table-allgui.h"
|
#include "table-allgui.h"
|
||||||
|
|
||||||
/* defined register types */
|
/* defined register types */
|
||||||
@ -132,7 +133,7 @@ struct _SplitRegister {
|
|||||||
CellBlock * header;
|
CellBlock * header;
|
||||||
|
|
||||||
DateCell * dateCell;
|
DateCell * dateCell;
|
||||||
BasicCell * numCell;
|
NumCell * numCell;
|
||||||
QuickFillCell * descCell;
|
QuickFillCell * descCell;
|
||||||
BasicCell * recnCell; /* main transaction line reconcile */
|
BasicCell * recnCell; /* main transaction line reconcile */
|
||||||
PriceCell * shrsCell;
|
PriceCell * shrsCell;
|
||||||
|
Loading…
Reference in New Issue
Block a user