mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Add dialog-order (to test gncEntryLedger) and hook into the
extensions to create an order git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6142 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
bc86148363
commit
aefeab1033
@ -16,6 +16,10 @@ typedef enum {
|
||||
GNC_INVOICE_VENDOR = 2
|
||||
} GncInvoiceType;
|
||||
|
||||
#include "gncCustomer.h"
|
||||
#include "gncVendor.h"
|
||||
#include "gncEntry.h"
|
||||
|
||||
#define GNC_INVOICE_MODULE_NAME "gncInvoice"
|
||||
|
||||
/* Create/Destroy Functions */
|
||||
|
@ -16,6 +16,7 @@ typedef enum {
|
||||
} GncOrderType;
|
||||
|
||||
#include "gnc-book.h"
|
||||
#include "gncEntry.h"
|
||||
#include "gncJob.h"
|
||||
#include "gncVendor.h"
|
||||
|
||||
|
@ -8,6 +8,7 @@ AM_CFLAGS = \
|
||||
-I${top_srcdir}/src/gnome \
|
||||
-I${top_srcdir}/src/app-utils \
|
||||
-I${top_srcdir}/src/business/business-core \
|
||||
-I${top_srcdir}/src/business/business-ledger \
|
||||
${GNOME_PRINT_CFLAGS} \
|
||||
${GNOME_INCLUDEDIR} \
|
||||
${GLADE_CFLAGS} \
|
||||
@ -16,8 +17,9 @@ AM_CFLAGS = \
|
||||
${GLIB_CFLAGS} \
|
||||
${G_WRAP_COMPILE_ARGS} \
|
||||
${GUILE_INCS} \
|
||||
-I${top_srcdir}/src/register/ledger-core \
|
||||
-I${top_srcdir}/src/register/register-core
|
||||
-I${top_srcdir}/src/register/register-core \
|
||||
-I${top_srcdir}/src/register/register-gnome \
|
||||
-I${top_srcdir}/src/register/ledger-core
|
||||
|
||||
libgncmod_business_gnome_la_SOURCES = \
|
||||
businessmod-gnome.c \
|
||||
@ -26,6 +28,7 @@ libgncmod_business_gnome_la_SOURCES = \
|
||||
dialog-employee.c \
|
||||
dialog-job.c \
|
||||
dialog-job-select.c \
|
||||
dialog-order.c \
|
||||
dialog-vendor.c
|
||||
|
||||
noinst_HEADERS = \
|
||||
@ -34,12 +37,14 @@ noinst_HEADERS = \
|
||||
dialog-employee.h \
|
||||
dialog-job.h \
|
||||
dialog-job-select.h \
|
||||
dialog-order.h \
|
||||
dialog-vendor.h
|
||||
|
||||
libgncmod_business_gnome_la_LDFLAGS = -module
|
||||
|
||||
libgncmod_business_gnome_la_LIBADD = \
|
||||
../business-core/libgncmod-business-core.la \
|
||||
../business-ledger/libgnc-business-ledger.la \
|
||||
${top_srcdir}/src/gnc-module/libgncmodule.la \
|
||||
${top_srcdir}/src/engine/libgncmod-engine.la \
|
||||
${top_srcdir}/src/app-utils/libgncmod-app-utils.la \
|
||||
@ -63,6 +68,7 @@ glade_DATA = \
|
||||
customer.glade \
|
||||
employee.glade \
|
||||
job.glade \
|
||||
order.glade \
|
||||
vendor.glade
|
||||
|
||||
EXTRA_DIST = $(glade_DATA)
|
||||
|
340
src/business/business-gnome/dialog-order.c
Normal file
340
src/business/business-gnome/dialog-order.c
Normal file
@ -0,0 +1,340 @@
|
||||
/*
|
||||
* dialog-order.c -- Dialog for Order entry
|
||||
* Copyright (C) 2001 Derek Atkins
|
||||
* Author: Derek Atkins <warlord@MIT.EDU>
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <gnome.h>
|
||||
|
||||
#include "dialog-utils.h"
|
||||
#include "gnc-component-manager.h"
|
||||
#include "gnc-ui.h"
|
||||
#include "gnc-gui-query.h"
|
||||
#include "gnc-ui-util.h"
|
||||
#include "gnc-engine-util.h"
|
||||
#include "gnucash-sheet.h"
|
||||
#include "window-help.h"
|
||||
|
||||
#include "gncOrder.h"
|
||||
#include "gncOrderP.h"
|
||||
|
||||
#include "gncEntryLedger.h"
|
||||
|
||||
#include "dialog-order.h"
|
||||
#include "business-chooser.h"
|
||||
|
||||
#define DIALOG_NEW_ORDER_CM_CLASS "dialog-new-order"
|
||||
#define DIALOG_EDIT_ORDER_CM_CLASS "dialog-edit-order"
|
||||
|
||||
typedef enum
|
||||
{
|
||||
NEW_ORDER,
|
||||
EDIT_ORDER
|
||||
} OrderDialogType;
|
||||
|
||||
struct _order_select_window {
|
||||
GNCBook * book;
|
||||
};
|
||||
|
||||
typedef struct _order_window {
|
||||
GtkWidget * dialog;
|
||||
|
||||
GnucashRegister * reg;
|
||||
|
||||
OrderDialogType dialog_type;
|
||||
GUID order_guid;
|
||||
gint component_id;
|
||||
GNCBook * book;
|
||||
GncOrder * created_order;
|
||||
|
||||
} OrderWindow;
|
||||
|
||||
static GncOrder *
|
||||
ow_get_order (OrderWindow *ow)
|
||||
{
|
||||
if (!ow)
|
||||
return NULL;
|
||||
|
||||
return gncOrderLookup (ow->book, &ow->order_guid);
|
||||
}
|
||||
|
||||
static void gnc_ui_to_order (OrderWindow *ow, GncOrder *order)
|
||||
{
|
||||
/* Fill this in */
|
||||
|
||||
// gncOrderCommitEdit (order);
|
||||
gnc_resume_gui_refresh ();
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_order_window_ok_cb (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
OrderWindow *ow = data;
|
||||
GncOrder *order;
|
||||
|
||||
/* Now save it off */
|
||||
{
|
||||
GncOrder *order = ow_get_order (ow);
|
||||
if (order) {
|
||||
gnc_ui_to_order (ow, order);
|
||||
}
|
||||
ow->created_order = order;
|
||||
ow->order_guid = *xaccGUIDNULL ();
|
||||
}
|
||||
|
||||
gnc_close_gui_component (ow->component_id);
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_order_window_cancel_cb (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
OrderWindow *ow = data;
|
||||
|
||||
gnc_close_gui_component (ow->component_id);
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_order_window_help_cb (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
OrderWindow *ow = data;
|
||||
char *help_file = ""; /* xxx */
|
||||
|
||||
helpWindow(NULL, NULL, help_file);
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_order_window_destroy_cb (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
OrderWindow *ow = data;
|
||||
GncOrder *order = ow_get_order (ow);
|
||||
|
||||
gnc_suspend_gui_refresh ();
|
||||
|
||||
if (ow->dialog_type == NEW_ORDER && order != NULL) {
|
||||
gncOrderDestroy (order);
|
||||
ow->order_guid = *xaccGUIDNULL ();
|
||||
}
|
||||
|
||||
gnc_unregister_gui_component (ow->component_id);
|
||||
gnc_resume_gui_refresh ();
|
||||
|
||||
g_free (ow);
|
||||
}
|
||||
|
||||
static int
|
||||
gnc_order_on_close_cb (GnomeDialog *dialog, gpointer data)
|
||||
{
|
||||
OrderWindow *ow;
|
||||
GncOrder **created_order = data;
|
||||
|
||||
if (data) {
|
||||
ow = gtk_object_get_data (GTK_OBJECT (dialog), "dialog_info");
|
||||
*created_order = ow->created_order;
|
||||
}
|
||||
|
||||
gtk_main_quit ();
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_order_window_close_handler (gpointer user_data)
|
||||
{
|
||||
OrderWindow *ow = user_data;
|
||||
|
||||
gnome_dialog_close (GNOME_DIALOG (ow->dialog));
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_order_window_refresh_handler (GHashTable *changes, gpointer user_data)
|
||||
{
|
||||
OrderWindow *ow = user_data;
|
||||
const EventInfo *info;
|
||||
GncOrder *order = ow_get_order (ow);
|
||||
|
||||
/* If there isn't a order behind us, close down */
|
||||
if (!order) {
|
||||
gnc_close_gui_component (ow->component_id);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Next, close if this is a destroy event */
|
||||
if (changes) {
|
||||
info = gnc_gui_get_entity_events (changes, &ow->order_guid);
|
||||
if (info && (info->event_mask & GNC_EVENT_DESTROY)) {
|
||||
gnc_close_gui_component (ow->component_id);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static OrderWindow *
|
||||
gnc_order_new_window (GtkWidget *parent, GNCBook *bookp,
|
||||
GncOrder *order)
|
||||
{
|
||||
OrderWindow *ow;
|
||||
GladeXML *xml;
|
||||
GtkWidget *vbox, *regWidget;
|
||||
GncEntryLedger *entry_ledger;
|
||||
GnomeDialog *owd;
|
||||
|
||||
ow = g_new0 (OrderWindow, 1);
|
||||
|
||||
ow->book = bookp;
|
||||
|
||||
/* Find the dialog */
|
||||
xml = gnc_glade_xml_new ("order.glade", "Order Entry Dialog");
|
||||
ow->dialog = glade_xml_get_widget (xml, "Order Entry Dialog");
|
||||
owd = GNOME_DIALOG (ow->dialog);
|
||||
|
||||
gtk_object_set_data (GTK_OBJECT (ow->dialog), "dialog_info", ow);
|
||||
|
||||
/* default to ok */
|
||||
gnome_dialog_set_default (owd, 0);
|
||||
|
||||
/* Build the ledger */
|
||||
entry_ledger = gnc_entry_ledger_new (ow->book, GNCENTRY_LEDGER);
|
||||
|
||||
/* Watch the order of operations, here... */
|
||||
gnucash_register_set_initial_rows( 6 );
|
||||
regWidget = gnucash_register_new (gnc_entry_ledger_get_table (entry_ledger));
|
||||
gnc_table_init_gui( regWidget, entry_ledger );
|
||||
ow->reg = GNUCASH_REGISTER(regWidget);
|
||||
GNUCASH_SHEET(ow->reg->sheet)->window = GTK_WIDGET(ow->dialog);
|
||||
|
||||
vbox = glade_xml_get_widget (xml, "ledger_vbox");
|
||||
// gtk_box_pack_start (GTK_BOX(vbox), toolbar, FALSE, FALSE, 2);
|
||||
gtk_box_pack_start (GTK_BOX(vbox), regWidget, TRUE, TRUE, 2);
|
||||
|
||||
if (parent)
|
||||
gnome_dialog_set_parent (owd, GTK_WINDOW (parent));
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (ow->dialog), "destroy",
|
||||
GTK_SIGNAL_FUNC(gnc_order_window_destroy_cb), ow);
|
||||
|
||||
/* Setup initial values */
|
||||
if (order != NULL) {
|
||||
ow->dialog_type = EDIT_ORDER;
|
||||
ow->order_guid = *gncOrderGetGUID (order);
|
||||
|
||||
ow->component_id =
|
||||
gnc_register_gui_component (DIALOG_EDIT_ORDER_CM_CLASS,
|
||||
gnc_order_window_refresh_handler,
|
||||
gnc_order_window_close_handler,
|
||||
ow);
|
||||
|
||||
} else {
|
||||
order = gncOrderCreate (bookp, GNC_ORDER_SALES); /* XXX */
|
||||
ow->order_guid = *gncOrderGetGUID (order);
|
||||
|
||||
ow->dialog_type = NEW_ORDER;
|
||||
|
||||
ow->component_id =
|
||||
gnc_register_gui_component (DIALOG_NEW_ORDER_CM_CLASS,
|
||||
gnc_order_window_refresh_handler,
|
||||
gnc_order_window_close_handler,
|
||||
ow);
|
||||
}
|
||||
|
||||
gnc_gui_component_watch_entity_type (ow->component_id,
|
||||
GNC_ID_NONE,
|
||||
GNC_EVENT_MODIFY | GNC_EVENT_DESTROY);
|
||||
|
||||
gtk_widget_show_all (ow->dialog);
|
||||
|
||||
return ow;
|
||||
}
|
||||
|
||||
GncOrder *
|
||||
gnc_order_new (GtkWidget *parent, GNCBook *bookp)
|
||||
{
|
||||
OrderWindow *ow;
|
||||
GncOrder *created_order = NULL;
|
||||
|
||||
/* Make sure required options exist */
|
||||
if (!bookp) return NULL;
|
||||
|
||||
ow = gnc_order_new_window (parent, bookp, NULL);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (ow->dialog), "close",
|
||||
GTK_SIGNAL_FUNC (gnc_order_on_close_cb),
|
||||
&created_order);
|
||||
|
||||
gtk_window_set_modal (GTK_WINDOW (ow->dialog), TRUE);
|
||||
|
||||
gtk_main ();
|
||||
|
||||
return created_order;
|
||||
}
|
||||
|
||||
void
|
||||
gnc_order_edit (GtkWidget *parent, GncOrder *order)
|
||||
{
|
||||
OrderWindow *ow;
|
||||
|
||||
if (!order) return;
|
||||
|
||||
ow = gnc_order_new_window (parent, gncOrderGetBook(order), order);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (ow->dialog), "close",
|
||||
GTK_SIGNAL_FUNC (gnc_order_on_close_cb),
|
||||
NULL);
|
||||
|
||||
gtk_window_set_modal (GTK_WINDOW (ow->dialog), TRUE);
|
||||
|
||||
gtk_main ();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/* Functions for widgets for order selection */
|
||||
|
||||
static gpointer gnc_order_edit_new_cb (gpointer arg, GtkWidget *toplevel)
|
||||
{
|
||||
struct _order_select_window *sw = arg;
|
||||
|
||||
if (!arg) return NULL;
|
||||
|
||||
return gnc_order_new (toplevel, sw->book);
|
||||
}
|
||||
|
||||
static void gnc_order_edit_edit_cb (gpointer arg, gpointer obj, GtkWidget *toplevel)
|
||||
{
|
||||
GncOrder *order = obj;
|
||||
struct _order_select_window *sw = arg;
|
||||
|
||||
if (!arg || !obj) return;
|
||||
|
||||
gnc_order_edit (toplevel, order);
|
||||
}
|
||||
|
||||
gpointer gnc_order_edit_new_select (gpointer bookp, gpointer order,
|
||||
GtkWidget *toplevel)
|
||||
{
|
||||
GNCBook *book = bookp;
|
||||
struct _order_select_window sw;
|
||||
|
||||
g_return_val_if_fail (bookp != NULL, NULL);
|
||||
|
||||
sw.book = book;
|
||||
|
||||
return
|
||||
gnc_ui_business_chooser_new (toplevel, order,
|
||||
book, GNC_ORDER_MODULE_NAME,
|
||||
gnc_order_edit_new_cb,
|
||||
gnc_order_edit_edit_cb, &sw);
|
||||
}
|
||||
|
||||
gpointer gnc_order_edit_new_edit (gpointer bookp, gpointer v,
|
||||
GtkWidget *toplevel)
|
||||
{
|
||||
GNCBook *book = bookp;
|
||||
GncOrder *order = v;
|
||||
|
||||
g_return_val_if_fail (order != NULL, NULL);
|
||||
|
||||
gnc_order_edit (toplevel, order);
|
||||
return order;
|
||||
}
|
27
src/business/business-gnome/dialog-order.h
Normal file
27
src/business/business-gnome/dialog-order.h
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* dialog-order.h -- Dialog(s) for Order search and entry
|
||||
* Copyright (C) 2001 Derek Atkins
|
||||
* Author: Derek Atkins <warlord@MIT.EDU>
|
||||
*/
|
||||
|
||||
|
||||
#ifndef GNC_DIALOG_ORDER_H_
|
||||
#define GNC_DIALOG_ORDER_H_
|
||||
|
||||
/* Functions to create and edit orders */
|
||||
GncOrder * gnc_order_new (GtkWidget *parent, GNCBook *book);
|
||||
void gnc_order_edit (GtkWidget *parent, GncOrder *order);
|
||||
|
||||
/* Callbacks to select a order that match the necessary functions
|
||||
* for use with the gnc_general_select widget.
|
||||
*
|
||||
* new_select provides a selection and the ability to create and edit
|
||||
* orders.
|
||||
* new_edit provides only the ability to edit the current selection
|
||||
*/
|
||||
gpointer gnc_order_edit_new_select (gpointer book, gpointer c,
|
||||
GtkWidget *toplevel);
|
||||
gpointer gnc_order_edit_new_edit (gpointer book, gpointer order,
|
||||
GtkWidget *toplevel);
|
||||
|
||||
#endif /* GNC_DIALOG_ORDER_H_ */
|
@ -47,6 +47,7 @@
|
||||
"#include <dialog-employee.h>\n"
|
||||
"#include <dialog-job.h>\n"
|
||||
"#include <dialog-job-select.h>\n"
|
||||
"#include <dialog-order.h>\n"
|
||||
"#include <dialog-vendor.h>\n"
|
||||
)))
|
||||
|
||||
@ -151,6 +152,36 @@
|
||||
(<gnc:GncCustomer*> cust) (<gnc:GncJob*> job))
|
||||
"Dialog: Select a new job. Parent and Customer may be NULL.")
|
||||
|
||||
;;
|
||||
;; dialog-order.h
|
||||
;;
|
||||
|
||||
(gw:wrap-function
|
||||
mod
|
||||
'gnc:order-new
|
||||
'<gnc:GncOrder*>
|
||||
"gnc_order_new"
|
||||
'((<gnc:UIWidget> parent) (<gnc:Book*> book))
|
||||
"Dialog: create a new GncOrder. Parent may be NULL.")
|
||||
|
||||
(gw:wrap-function
|
||||
mod
|
||||
'gnc:order-edit
|
||||
'<gw:void>
|
||||
"gnc_order_edit"
|
||||
'((<gnc:UIWidget> parent) (<gnc:GncOrder*> order))
|
||||
"Dialog: Edit a GncOrder. Parent may be NULL.")
|
||||
|
||||
|
||||
(gw:wrap-function
|
||||
mod
|
||||
'gnc:order-select
|
||||
'<gnc:GncOrder*>
|
||||
"gnc_order_edit_new_select"
|
||||
'((<gnc:Book*> book) (<gnc:GncOrder*> start_selection)
|
||||
(<gnc:UIWidget> parent))
|
||||
"Dialog: Select a GncOrder. Parent and start_selection may be NULL.")
|
||||
|
||||
;;
|
||||
;; dialog-vendor.h
|
||||
;;
|
||||
|
138
src/business/business-gnome/order.glade
Normal file
138
src/business/business-gnome/order.glade
Normal file
@ -0,0 +1,138 @@
|
||||
<?xml version="1.0"?>
|
||||
<GTK-Interface>
|
||||
|
||||
<project>
|
||||
<name>Order</name>
|
||||
<program_name>order</program_name>
|
||||
<directory></directory>
|
||||
<source_directory>src</source_directory>
|
||||
<pixmaps_directory>pixmaps</pixmaps_directory>
|
||||
<language>C</language>
|
||||
<gnome_support>True</gnome_support>
|
||||
<gettext_support>True</gettext_support>
|
||||
<output_main_file>False</output_main_file>
|
||||
<output_support_files>False</output_support_files>
|
||||
<output_build_files>False</output_build_files>
|
||||
<backup_source_files>False</backup_source_files>
|
||||
</project>
|
||||
|
||||
<widget>
|
||||
<class>GnomeDialog</class>
|
||||
<name>Order Entry Dialog</name>
|
||||
<title>Order Entry</title>
|
||||
<type>GTK_WINDOW_TOPLEVEL</type>
|
||||
<position>GTK_WIN_POS_NONE</position>
|
||||
<modal>False</modal>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>False</allow_grow>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>False</auto_close>
|
||||
<hide_on_close>False</hide_on_close>
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<child_name>GnomeDialog:vbox</child_name>
|
||||
<name>dialog-vbox1</name>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>8</spacing>
|
||||
<child>
|
||||
<padding>4</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkHButtonBox</class>
|
||||
<child_name>GnomeDialog:action_area</child_name>
|
||||
<name>dialog-action_area1</name>
|
||||
<layout_style>GTK_BUTTONBOX_END</layout_style>
|
||||
<spacing>8</spacing>
|
||||
<child_min_width>85</child_min_width>
|
||||
<child_min_height>27</child_min_height>
|
||||
<child_ipad_x>7</child_ipad_x>
|
||||
<child_ipad_y>0</child_ipad_y>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>False</expand>
|
||||
<fill>True</fill>
|
||||
<pack>GTK_PACK_END</pack>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button1</name>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button2</name>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_APPLY</stock_button>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button3</name>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<name>vbox1</name>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>0</spacing>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>Placeholder</class>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>Placeholder</class>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkFrame</class>
|
||||
<name>ledger_frame</name>
|
||||
<border_width>3</border_width>
|
||||
<label>Order Entries</label>
|
||||
<label_xalign>0</label_xalign>
|
||||
<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
|
||||
<child>
|
||||
<padding>3</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<name>ledger_vbox</name>
|
||||
<border_width>3</border_width>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>0</spacing>
|
||||
|
||||
<widget>
|
||||
<class>Placeholder</class>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>Placeholder</class>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
</GTK-Interface>
|
@ -121,3 +121,10 @@ void gnc_entry_ledger_destroy (GncEntryLedger *ledger)
|
||||
gnc_table_destroy (ledger->table);
|
||||
g_free (ledger);
|
||||
}
|
||||
|
||||
Table * gnc_entry_ledger_get_table (GncEntryLedger *ledger)
|
||||
{
|
||||
if (!ledger) return;
|
||||
return ledger->table;
|
||||
}
|
||||
|
||||
|
@ -45,4 +45,7 @@ GncEntry * gnc_entry_ledger_get_current_entry (GncEntryLedger *ledger);
|
||||
/* Copy GncEntry information from the list to the rows of the Ledger. */
|
||||
void gnc_entry_ledger_load (GncEntryLedger *ledger, GList *entry_list);
|
||||
|
||||
/* Get the Table */
|
||||
Table * gnc_entry_ledger_get_table (GncEntryLedger *ledger);
|
||||
|
||||
#endif /* GNC_ENTRY_LEDGER_H */
|
||||
|
@ -62,8 +62,7 @@
|
||||
(if gnc:extensions-temp-book
|
||||
gnc:extensions-temp-book
|
||||
(begin
|
||||
(set! gnc:extensions-temp-book (gnc:book-create
|
||||
(gnc:get-current-book)))
|
||||
(set! gnc:extensions-temp-book (gnc:get-current-book))
|
||||
(gnc:business-create-book gnc:extensions-temp-book)
|
||||
gnc:extensions-temp-book)))
|
||||
|
||||
@ -119,7 +118,15 @@
|
||||
(gnc:employee-select (gnc:extensions-get-book)
|
||||
#f #f))))
|
||||
|
||||
(define new-order-item
|
||||
(gnc:make-menu-item (N_ "Test New Order Dialog")
|
||||
(N_ "Test New Order Dialog")
|
||||
(list "Extensions" "")
|
||||
(lambda ()
|
||||
(gnc:order-new #f (gnc:extensions-get-book)))))
|
||||
|
||||
(gnc:add-extension menu)
|
||||
(gnc:add-extension new-order-item)
|
||||
(gnc:add-extension select-employee-item)
|
||||
(gnc:add-extension new-employee-item)
|
||||
(gnc:add-extension select-vendor-item)
|
||||
|
Loading…
Reference in New Issue
Block a user