2 * - by Richard W.M. Jones <rich@annexia.org>
13 #include <pthr_iolib.h>
16 #include <ml_widget.h>
17 #include <ml_smarttext.h>
18 #include <ml_button.h>
20 #include "expenses_widget.h"
22 static void repaint (void *, ml_session, const char *, io_handle);
24 struct ml_widget_operations expenses_widget_ops =
29 struct expenses_widget
31 struct ml_widget_operations *ops;
32 pool pool; /* Pool for allocations. */
33 ml_session session; /* Session. */
34 vector expenses; /* Underlying data model (vector of
37 expenses_add_row add; /* Add row. */
40 /* List of expense types. */
41 const char *expense_types[] = {
42 "Travel and transport",
46 "Entertaining customers",
51 int nr_expense_types = sizeof (expense_types) / sizeof (expense_types[0]);
54 new_expenses_widget (pool pool, ml_session session, vector expenses)
56 expenses_widget w = pmalloc (pool, sizeof *w);
58 w->ops = &expenses_widget_ops;
60 w->expenses = expenses;
62 /* Create the add row. */
63 w->add = new_expenses_add_row (pool, session, expenses);
69 repaint (void *vw, ml_session session, const char *windowid, io_handle io)
71 //expenses_widget w = (expenses_widget) vw;
73 io_fputs ("expenses widget", io);