27 #include <glib/gi18n.h> 33 gnc_register_add_cell (TableLayout *layout,
34 const char *cell_name,
35 const char *cell_type_name,
36 const char *sample_text,
37 CellAlignment alignment,
43 g_return_if_fail (layout != NULL);
44 g_return_if_fail (cell_type_name != NULL);
46 cell = gnc_register_make_cell (cell_type_name);
48 gnc_basic_cell_set_name (cell, cell_name);
49 gnc_basic_cell_set_type_name (cell, cell_type_name);
50 gnc_basic_cell_set_sample_text (cell, sample_text);
51 gnc_basic_cell_set_alignment (cell, alignment);
52 gnc_basic_cell_set_expandable (cell, expandable);
53 gnc_basic_cell_set_span (cell, span);
55 gnc_table_layout_add_cell (layout, cell);
58 static void gnc_entry_ledger_layout_add_cells (GncEntryLedger *ledger,
63 const char *cell_name;
64 const char *cell_type_name;
65 const char *sample_text;
66 CellAlignment alignment;
77 ENTRY_INV_CELL, CHECKBOX_CELL_TYPE_NAME, C_(
"sample for a checkbox",
"X"),
78 CELL_ALIGN_LEFT, FALSE, FALSE
81 ENTRY_DATE_CELL, DATE_CELL_TYPE_NAME, C_(
"sample for 'Date'",
"12/12/2000"),
82 CELL_ALIGN_RIGHT, FALSE, FALSE
85 ENTRY_DESC_CELL, QUICKFILL_CELL_TYPE_NAME,
86 C_(
"sample for 'Description'",
"Description of an Entry"), CELL_ALIGN_LEFT,
91 ENTRY_ACTN_CELL, COMBO_CELL_TYPE_NAME,
92 C_(
"sample",
"Action"), CELL_ALIGN_RIGHT,
96 ENTRY_QTY_CELL, PRICE_CELL_TYPE_NAME, C_(
"sample",
"9,999.00"),
97 CELL_ALIGN_RIGHT, FALSE, FALSE
100 ENTRY_PRIC_CELL, PRICE_CELL_TYPE_NAME, C_(
"sample",
"999,999.00"),
101 CELL_ALIGN_RIGHT, FALSE, FALSE
104 ENTRY_DISC_CELL, PRICE_CELL_TYPE_NAME, C_(
"sample",
"9,999.00"),
105 CELL_ALIGN_RIGHT, FALSE, FALSE
110 ENTRY_DISTYPE_CELL, RECN_CELL_TYPE_NAME, C_(
"sample for 'Discount Type'",
"+%"),
111 CELL_ALIGN_LEFT, FALSE, FALSE
116 ENTRY_DISHOW_CELL, RECN_CELL_TYPE_NAME, C_(
"sample for Discount How'",
"+%"),
117 CELL_ALIGN_LEFT, FALSE, FALSE
120 ENTRY_IACCT_CELL, COMBO_CELL_TYPE_NAME,
122 C_(
"sample",
"Expenses:Automobile:Gasoline"),
123 CELL_ALIGN_RIGHT, FALSE, FALSE
126 ENTRY_BACCT_CELL, COMBO_CELL_TYPE_NAME,
127 C_(
"sample",
"Expenses:Automobile:Gasoline"),
128 CELL_ALIGN_RIGHT, FALSE, FALSE
132 ENTRY_TAXABLE_CELL, CHECKBOX_CELL_TYPE_NAME, C_(
"sample for 'Taxable'",
"T?"),
133 CELL_ALIGN_LEFT, FALSE, FALSE
137 ENTRY_TAXINCLUDED_CELL, CHECKBOX_CELL_TYPE_NAME, C_(
"sample for 'Tax Included'",
"TI"),
138 CELL_ALIGN_LEFT, FALSE, FALSE
141 ENTRY_TAXTABLE_CELL, COMBO_CELL_TYPE_NAME, C_(
"sample for 'Tax Table'",
"Tax Table 1"),
142 CELL_ALIGN_RIGHT, FALSE, FALSE
145 ENTRY_VALUE_CELL, PRICE_CELL_TYPE_NAME, C_(
"sample",
"999,999.00"),
146 CELL_ALIGN_RIGHT, FALSE, FALSE
149 ENTRY_TAXVAL_CELL, PRICE_CELL_TYPE_NAME, C_(
"sample",
"999.00"),
150 CELL_ALIGN_RIGHT, FALSE, FALSE
154 ENTRY_BILLABLE_CELL, CHECKBOX_CELL_TYPE_NAME, C_(
"sample for 'Billable'",
"BI"),
155 CELL_ALIGN_LEFT, FALSE, FALSE
158 ENTRY_PAYMENT_CELL, COMBO_CELL_TYPE_NAME, C_(
"sample",
"Payment"),
159 CELL_ALIGN_LEFT, FALSE, FALSE
164 for (i = 0; i < (
sizeof(cells) /
sizeof(*cells)); i++)
165 gnc_register_add_cell (layout, cells[i].cell_name, cells[i].cell_type_name,
166 cells[i].sample_text, cells[i].alignment,
167 cells[i].expandable, cells[i].span);
170 static void gnc_entry_ledger_layout_add_cursors (GncEntryLedger *ledger,
176 switch (ledger->type)
178 case GNCENTRY_ORDER_ENTRY:
179 case GNCENTRY_ORDER_VIEWER:
180 case GNCENTRY_INVOICE_ENTRY:
181 case GNCENTRY_INVOICE_VIEWER:
182 case GNCENTRY_CUST_CREDIT_NOTE_ENTRY:
183 case GNCENTRY_CUST_CREDIT_NOTE_VIEWER:
186 case GNCENTRY_BILL_ENTRY:
187 case GNCENTRY_BILL_VIEWER:
188 case GNCENTRY_VEND_CREDIT_NOTE_ENTRY:
189 case GNCENTRY_VEND_CREDIT_NOTE_VIEWER:
192 case GNCENTRY_EXPVOUCHER_ENTRY:
193 case GNCENTRY_EXPVOUCHER_VIEWER:
194 case GNCENTRY_EMPL_CREDIT_NOTE_ENTRY:
195 case GNCENTRY_EMPL_CREDIT_NOTE_VIEWER:
204 gnc_table_layout_add_cursor (layout, cursor);
207 gnc_table_layout_add_cursor (layout, cursor);
208 gnc_table_layout_set_primary_cursor (layout, cursor);
211 static void gnc_entry_ledger_set_cells (GncEntryLedger *ledger,
216 switch (ledger->type)
218 case GNCENTRY_ORDER_ENTRY:
219 case GNCENTRY_ORDER_VIEWER:
220 case GNCENTRY_INVOICE_ENTRY:
221 case GNCENTRY_INVOICE_VIEWER:
222 case GNCENTRY_CUST_CREDIT_NOTE_ENTRY:
223 case GNCENTRY_CUST_CREDIT_NOTE_VIEWER:
225 curs = gnc_table_layout_get_cursor (layout,
"cursor");
226 gnc_table_layout_set_cell (layout, curs, ENTRY_DATE_CELL, 0, 0);
227 gnc_table_layout_set_cell (layout, curs, ENTRY_INV_CELL, 0, 1);
228 gnc_table_layout_set_cell (layout, curs, ENTRY_DESC_CELL, 0, 2);
229 gnc_table_layout_set_cell (layout, curs, ENTRY_ACTN_CELL, 0, 3);
230 gnc_table_layout_set_cell (layout, curs, ENTRY_IACCT_CELL, 0, 4);
231 gnc_table_layout_set_cell (layout, curs, ENTRY_QTY_CELL, 0, 5);
232 gnc_table_layout_set_cell (layout, curs, ENTRY_PRIC_CELL, 0, 6);
233 gnc_table_layout_set_cell (layout, curs, ENTRY_DISTYPE_CELL, 0, 7);
234 gnc_table_layout_set_cell (layout, curs, ENTRY_DISHOW_CELL, 0, 8);
235 gnc_table_layout_set_cell (layout, curs, ENTRY_DISC_CELL, 0, 9);
236 gnc_table_layout_set_cell (layout, curs, ENTRY_TAXABLE_CELL, 0, 10);
237 gnc_table_layout_set_cell (layout, curs, ENTRY_TAXINCLUDED_CELL, 0, 11);
238 gnc_table_layout_set_cell (layout, curs, ENTRY_TAXTABLE_CELL, 0, 12);
239 gnc_table_layout_set_cell (layout, curs, ENTRY_VALUE_CELL, 0, 13);
240 gnc_table_layout_set_cell (layout, curs, ENTRY_TAXVAL_CELL, 0, 14);
244 case GNCENTRY_BILL_ENTRY:
245 case GNCENTRY_BILL_VIEWER:
246 case GNCENTRY_VEND_CREDIT_NOTE_ENTRY:
247 case GNCENTRY_VEND_CREDIT_NOTE_VIEWER:
249 curs = gnc_table_layout_get_cursor (layout,
"cursor");
250 gnc_table_layout_set_cell (layout, curs, ENTRY_DATE_CELL, 0, 0);
251 gnc_table_layout_set_cell (layout, curs, ENTRY_INV_CELL, 0, 1);
252 gnc_table_layout_set_cell (layout, curs, ENTRY_DESC_CELL, 0, 2);
253 gnc_table_layout_set_cell (layout, curs, ENTRY_ACTN_CELL, 0, 3);
254 gnc_table_layout_set_cell (layout, curs, ENTRY_BACCT_CELL, 0, 4);
255 gnc_table_layout_set_cell (layout, curs, ENTRY_QTY_CELL, 0, 5);
256 gnc_table_layout_set_cell (layout, curs, ENTRY_PRIC_CELL, 0, 6);
257 gnc_table_layout_set_cell (layout, curs, ENTRY_TAXABLE_CELL, 0, 7);
258 gnc_table_layout_set_cell (layout, curs, ENTRY_TAXINCLUDED_CELL, 0, 8);
259 gnc_table_layout_set_cell (layout, curs, ENTRY_TAXTABLE_CELL, 0, 9);
260 gnc_table_layout_set_cell (layout, curs, ENTRY_VALUE_CELL, 0, 10);
261 gnc_table_layout_set_cell (layout, curs, ENTRY_BILLABLE_CELL, 0, 11);
265 case GNCENTRY_EXPVOUCHER_ENTRY:
266 case GNCENTRY_EXPVOUCHER_VIEWER:
267 case GNCENTRY_EMPL_CREDIT_NOTE_ENTRY:
268 case GNCENTRY_EMPL_CREDIT_NOTE_VIEWER:
270 curs = gnc_table_layout_get_cursor (layout,
"cursor");
271 gnc_table_layout_set_cell (layout, curs, ENTRY_DATE_CELL, 0, 0);
272 gnc_table_layout_set_cell (layout, curs, ENTRY_INV_CELL, 0, 1);
273 gnc_table_layout_set_cell (layout, curs, ENTRY_DESC_CELL, 0, 2);
274 gnc_table_layout_set_cell (layout, curs, ENTRY_ACTN_CELL, 0, 3);
275 gnc_table_layout_set_cell (layout, curs, ENTRY_BACCT_CELL, 0, 4);
276 gnc_table_layout_set_cell (layout, curs, ENTRY_QTY_CELL, 0, 5);
277 gnc_table_layout_set_cell (layout, curs, ENTRY_PRIC_CELL, 0, 6);
278 gnc_table_layout_set_cell (layout, curs, ENTRY_VALUE_CELL, 0, 7);
279 gnc_table_layout_set_cell (layout, curs, ENTRY_BILLABLE_CELL, 0, 8);
280 gnc_table_layout_set_cell (layout, curs, ENTRY_PAYMENT_CELL, 0, 9);
290 TableLayout * gnc_entry_ledger_layout_new (GncEntryLedger *ledger)
295 gnc_entry_ledger_layout_add_cells (ledger, layout);
296 gnc_entry_ledger_layout_add_cursors (ledger, layout);
297 gnc_entry_ledger_set_cells (ledger, layout);
TableLayout * gnc_table_layout_new(void)
API Declarations.
#define CURSOR_HEADER
Standard Cursor Names.
CellBlock * gnc_cellblock_new(int rows, int cols, const char *cursor_name)
Create a new CellBlock on the heap.