gnucash/bindings/app-utils.i

99 lines
3.3 KiB
OpenEdge ABL
Raw Normal View History

/********************************************************************\
* 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, contact: *
* *
* Free Software Foundation Voice: +1-617-542-5942 *
* 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
* Boston, MA 02110-1301, USA gnu@gnu.org *
* *
\********************************************************************/
%module sw_app_utils
%{
/* Includes the header in the wrapper code */
#include <glib.h>
#include <config.h>
#include <gnc-euro.h>
#include <gnc-ui-util.h>
#include <gnc-prefs-utils.h>
#if defined(SWIGGUILE)
#include <gnc-helpers.h>
#include "gnc-engine-guile.h"
#endif
#include <gnc-accounting-period.h>
#include <gnc-session.h>
%}
#if defined(SWIGGUILE) //Always C++
%{
#include "guile-mappings.h"
extern "C"
{
SCM scm_init_sw_app_utils_module (void);
}
%}
#endif
#if defined(SWIGPYTHON)
%{
/* avoid no previous prototype warning/error */
2019-10-01 09:27:28 -05:00
PyObject* SWIG_init (void);
%}
%import <gnucash_core.i>
#endif
%import "base-typemaps.i"
void gnc_prefs_init();
void gnc_prefs_remove_registered();
QofBook * gnc_get_current_book (void);
QofSession * gnc_get_current_session (void);
Bug #554394: Income Tax Enhancements Patch by J. Alex Aycinena. Patch does the following: - update the tax information in 'txf.scm', which is based on V037 of the TXF Spec, to V041, the last version issued (bug #554394) - provide support for multiple copies of certain tax Forms/Schedules (e.g., Schedule C(1), Schedule C(2), etc.) - support multiple types of tax entities: partnerships, corporations and S corporations, in addition to individual tax payers - support balance sheet accounts, required for these new tax entity types - add the term 'Income' in several places to avoid confusion with sales or VAT style taxes in the business features (e.g., change the menu from 'Tax Options' to 'Income Tax Options') The following files were changed, as follows, to implement these changes: 1. src/engine/Account.c and 2. src/engine/Account.h: add copy number capability (define 'xaccAccountGetTaxUSCopyNumber' and 'xaccAccountSetTaxUSCopyNumber'); modify 'xaccAccountSetTaxUSCode' to remove KVP when no tax-code assigned, clean up tax-source descriptions 3. src/gnome/gnc-plugin-basic-commands.c: change 'Tax Options' to 'Income Tax Options' 4. src/app-utils/gnc-ui-util.c and 5. src/app-utils/gnc-ui-util.h: add setter and getter functions for book tax name and book tax type which are stored in a book KVP, show copy information in accounts page, tax column, show error messages for various conditions 6. src/app-utils/app-utils.i: add 'gnc_get_current_book_tax_name' and 'gnc_get_current_book_tax_type' functions 7. src/gnome/dialog-tax-info.c: add copy number and tax entity name and type, and balance sheet account handling capability 8. src/gnome/glade/tax.glade: add tax entity name, tax entity type, asset, liability/equity and copy number widgets 9. src/tax/us/txf.scm: update to V041 for individuals, add V041 support for multiple additional tax entity types and balance sheet accounts and related tax codes, add tax form line data 10. src/tax/us/us.scm: export new functions defined in txf.scm 11. src/report/locale-specific/us/taxtxf.scm: add support for multiple copies of Forms/Schedules, add support for Format 6, use Form/Schedule line #'s to sort report, update from "V037" to "V041", add support for taxpayer types other than F1040, add warning messages if there are some inconsistent codes assigned and list 12. src/tax/us/txf-de_DE.scm: make functions called from outside (e.g., from dialog-tax-info.c) have a consistent signature with those same functions in txf.scm (define tax-entity-type , define getters/setters, add tax-entity-type as an argument to existing functions) 13. src/tax/us/de_DE.scm: export new functions added to txf-de_DE.scm 14. src/report/locale-specific/us/taxtxf-de_DE.scm: add "" as tax-entity-type argument to functions called on txf-de_DE.scm (which defaults to existing codes) git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18413 57a11ea4-9604-0410-9ed3-97b8803252fd
2009-11-15 14:35:50 -06:00
const gchar * gnc_get_current_book_tax_name (void);
const gchar * gnc_get_current_book_tax_type (void);
Account * gnc_get_current_root_account (void);
#if defined(SWIGGUILE)
gnc_commodity * gnc_default_currency (void);
gnc_commodity * gnc_default_report_currency (void);
GNCPrintAmountInfo gnc_default_print_info (gboolean use_symbol);
GNCPrintAmountInfo gnc_account_print_info (const Account *account,
gboolean use_symbol);
GNCPrintAmountInfo gnc_commodity_print_info (const gnc_commodity *commodity,
gboolean use_symbol);
GNCPrintAmountInfo gnc_price_print_info (const gnc_commodity *curr,
gboolean use_symbol);
GNCPrintAmountInfo gnc_share_print_info_places (int decplaces);
const char * xaccPrintAmount (gnc_numeric val, GNCPrintAmountInfo info);
gchar *number_to_words(gdouble val, gint64 denom);
const gchar *printable_value (gdouble val, gint denom);
gboolean gnc_reverse_balance (const Account *account);
gboolean gnc_is_euro_currency(const gnc_commodity * currency);
gnc_numeric gnc_convert_to_euro(const gnc_commodity * currency,
gnc_numeric value);
gnc_numeric gnc_convert_from_euro(const gnc_commodity * currency,
gnc_numeric value);
time64 gnc_accounting_period_fiscal_start(void);
time64 gnc_accounting_period_fiscal_end(void);
#endif