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@2153 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
05cfcc2f19
commit
f3d6d364e8
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2000-04-04 Dave Peticolas <peticola@cs.ucdavis.edu>
|
||||
|
||||
* src/register/gnome/gnucash-style.c: update the styles
|
||||
appropriately for the changes below.
|
||||
|
||||
* src/register/splitreg.c: configure the ledger style register
|
||||
with a xfer to field in all modes.
|
||||
|
||||
* src/SplitLedger.c (xaccSRLoadRegister): remove stock price hack.
|
||||
many code cleanups throughout file.
|
||||
|
||||
2000-04-03 Dave Peticolas <peticola@cs.ucdavis.edu>
|
||||
|
||||
* src/gnome/window-register.c: changed menu definitions to be
|
||||
|
@ -117,9 +117,12 @@ struct _SRInfo
|
||||
/* The currently open transaction, if any */
|
||||
Transaction *pending_trans;
|
||||
|
||||
/* A transaction used to remember where to expand the cursor */
|
||||
/* A transaction used to remember where to put the cursor */
|
||||
Transaction *cursor_hint_trans;
|
||||
|
||||
/* A split used to remember where to put the cursor */
|
||||
Split *cursor_hint_split;
|
||||
|
||||
/* The default account where new splits are added */
|
||||
Account *default_source_account;
|
||||
|
||||
@ -462,16 +465,18 @@ LedgerMoveCursor (Table *table,
|
||||
reg->cursor_virt_row = locator->virt_row;
|
||||
|
||||
/* if auto-expansion is enabled, we need to redraw the register
|
||||
* to expand out the splits at the new location. We do some
|
||||
* tomfoolery here to trick the code into expanding the new location.
|
||||
* This little futz is sleazy, but it does succeed in getting the
|
||||
* LoadRegister code into expanding the appropriate split. */
|
||||
* to expand out the splits at the new location. We use the
|
||||
* cursor_hint data members to tell the refresh routine where
|
||||
* to go. */
|
||||
style = ((reg->type) & REG_STYLE_MASK);
|
||||
if ((REG_SINGLE_DYNAMIC == style) ||
|
||||
(REG_DOUBLE_DYNAMIC == style))
|
||||
{
|
||||
new_trans = xaccSRGetTrans(reg, new_phys_row, new_phys_col);
|
||||
info->cursor_hint_trans = new_trans;
|
||||
|
||||
new_split = xaccGetUserData (reg->table, new_phys_row, new_phys_col);
|
||||
reg->table->current_cursor->user_data = (void *) new_split;
|
||||
info->cursor_hint_split = new_split;
|
||||
|
||||
xaccRegisterRefresh (reg);
|
||||
|
||||
@ -588,6 +593,7 @@ LedgerDestroy (SplitRegister *reg)
|
||||
xaccTransBeginEdit (trans, 1);
|
||||
xaccTransDestroy (trans);
|
||||
xaccTransCommitEdit (trans);
|
||||
|
||||
info->blank_split = NULL;
|
||||
}
|
||||
|
||||
@ -1836,24 +1842,26 @@ xaccSRLoadRegEntry (SplitRegister *reg, Split *split)
|
||||
/* ======================================================== */
|
||||
|
||||
static gncBoolean
|
||||
xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
xaccSRCountRows (SplitRegister *reg, Split **slist,
|
||||
Transaction *find_trans, Split *find_split)
|
||||
{
|
||||
SRInfo *info = xaccSRGetInfo(reg);
|
||||
int i;
|
||||
CellBlock *lead_cursor;
|
||||
Split *split = NULL;
|
||||
Split *save_current_split = NULL;
|
||||
Transaction *save_current_trans = NULL;
|
||||
Locator *locator;
|
||||
Table *table;
|
||||
|
||||
gncBoolean found_split = GNC_F;
|
||||
gncBoolean multi_line;
|
||||
gncBoolean dynamic;
|
||||
|
||||
int save_cursor_phys_row;
|
||||
int save_cursor_virt_row;
|
||||
int save_cell_row;
|
||||
Locator *locator;
|
||||
Table *table;
|
||||
int num_phys_rows;
|
||||
int num_virt_rows;
|
||||
int style;
|
||||
int multi_line, dynamic;
|
||||
CellBlock *lead_cursor;
|
||||
gncBoolean found_split = GNC_F;
|
||||
int i;
|
||||
|
||||
table = reg->table;
|
||||
style = (reg->type) & REG_STYLE_MASK;
|
||||
@ -1866,11 +1874,9 @@ xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
lead_cursor = reg->double_cursor;
|
||||
}
|
||||
|
||||
/* save the current cursor location; we do this by saving
|
||||
* a pointer to the currently edited split; we restore the
|
||||
/* save the current cursor location; if we can't find the
|
||||
* requested transaction/split pair, we restore the
|
||||
* cursor to this location when we are done. */
|
||||
save_current_split = xaccSRGetCurrentSplit (reg);
|
||||
save_current_trans = xaccSRGetCurrentTrans (reg);
|
||||
save_cursor_phys_row = reg->cursor_phys_row;
|
||||
save_cursor_virt_row = reg->cursor_virt_row;
|
||||
|
||||
@ -1909,14 +1915,14 @@ xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
/* lets determine where to locate the cursor ... */
|
||||
if (!found_split) {
|
||||
/* Check to see if we find a perfect match */
|
||||
if (split == save_current_split) {
|
||||
if (split == find_split) {
|
||||
save_cursor_phys_row = num_phys_rows;
|
||||
save_cursor_virt_row = num_virt_rows;
|
||||
found_split = GNC_T;
|
||||
}
|
||||
/* Otherwise, check for a close match. This could happen if
|
||||
we are collapsing from multi-line to single, e.g. */
|
||||
else if (xaccSplitGetParent(split) == save_current_trans) {
|
||||
/* Otherwise, check for a close match. This could happen
|
||||
* if we are collapsing from multi-line to single, e.g. */
|
||||
else if (xaccSplitGetParent(split) == find_trans) {
|
||||
save_cursor_phys_row = num_phys_rows;
|
||||
save_cursor_virt_row = num_virt_rows;
|
||||
}
|
||||
@ -1926,10 +1932,10 @@ xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
* show all splits only if this is the hot split. */
|
||||
do_expand = multi_line;
|
||||
do_expand = do_expand ||
|
||||
(dynamic && xaccIsPeerSplit(split,save_current_split));
|
||||
if (dynamic && (NULL == save_current_split)) {
|
||||
(dynamic && xaccIsPeerSplit(split, find_split));
|
||||
if (dynamic && (NULL == find_split)) {
|
||||
trans = xaccSplitGetParent (split);
|
||||
do_expand = do_expand || (trans == info->cursor_hint_trans);
|
||||
do_expand = do_expand || (trans == find_trans);
|
||||
}
|
||||
|
||||
if (do_expand)
|
||||
@ -1962,8 +1968,8 @@ xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
/* Check to see if we find a perfect match. We have to
|
||||
* check the transaction in case the split is NULL (blank).
|
||||
*/
|
||||
if ((secondary == save_current_split) &&
|
||||
(trans == save_current_trans)) {
|
||||
if ((secondary == find_split) &&
|
||||
(trans == find_trans)) {
|
||||
save_cursor_phys_row = num_phys_rows;
|
||||
save_cursor_virt_row = num_virt_rows;
|
||||
found_split = GNC_T;
|
||||
@ -1977,7 +1983,7 @@ xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
} while (secondary);
|
||||
} else {
|
||||
/* Try to get as close as possible to the original cell row. */
|
||||
if (found_split && (split == save_current_split) &&
|
||||
if (found_split && (split == find_split) &&
|
||||
(save_cell_row < lead_cursor->numRows))
|
||||
save_cursor_phys_row += save_cell_row;
|
||||
|
||||
@ -1994,7 +2000,7 @@ xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
/* the "blank split", if it exists, is at the end */
|
||||
if (info->blank_split != NULL) {
|
||||
/* lets determine where to locate the cursor ... */
|
||||
if (!found_split && info->blank_split == save_current_split) {
|
||||
if (!found_split && info->blank_split == find_split) {
|
||||
save_cursor_phys_row = num_phys_rows;
|
||||
save_cursor_virt_row = num_virt_rows;
|
||||
found_split = GNC_T;
|
||||
@ -2002,8 +2008,8 @@ xaccSRCountRows (SplitRegister *reg, Split **slist)
|
||||
}
|
||||
|
||||
if (multi_line) {
|
||||
if (!found_split && (save_current_split == NULL) &&
|
||||
(xaccSplitGetParent(info->blank_split) == save_current_trans)) {
|
||||
if (!found_split && (find_split == NULL) &&
|
||||
(xaccSplitGetParent(info->blank_split) == find_trans)) {
|
||||
save_cursor_phys_row = num_phys_rows + 1;
|
||||
save_cursor_virt_row = num_virt_rows + 1;
|
||||
found_split = GNC_T;
|
||||
@ -2045,21 +2051,25 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
||||
Account *default_source_acc)
|
||||
{
|
||||
SRInfo *info = xaccSRGetInfo(reg);
|
||||
int i = 0;
|
||||
Split *split = NULL;
|
||||
SplitRegisterBuffer *reg_buffer;
|
||||
CellBlock *lead_cursor;
|
||||
Transaction *find_trans;
|
||||
Split *last_split = NULL;
|
||||
Split *save_current_split = NULL;
|
||||
Split *find_split;
|
||||
Split *split;
|
||||
Table *table;
|
||||
|
||||
gncBoolean found_pending = GNC_F;
|
||||
gncBoolean found_split;
|
||||
gncBoolean multi_line;
|
||||
gncBoolean dynamic;
|
||||
|
||||
unsigned int changed;
|
||||
int phys_row;
|
||||
int vrow;
|
||||
int type, style;
|
||||
int save_phys_col;
|
||||
int multi_line, dynamic;
|
||||
CellBlock *lead_cursor;
|
||||
gncBoolean found_pending = GNC_F;
|
||||
gncBoolean found_current = GNC_F;
|
||||
SplitRegisterBuffer *reg_buffer;
|
||||
unsigned int changed;
|
||||
int i;
|
||||
|
||||
xaccSplitRegisterConfigColors (reg);
|
||||
|
||||
@ -2077,30 +2087,30 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
||||
lead_cursor = reg->double_cursor;
|
||||
}
|
||||
|
||||
/* save the current cursor location; we do this by saving a pointer
|
||||
* to the currently edited split and physical column; we restore
|
||||
* the cursor to this location when we are done. */
|
||||
save_current_split = xaccSRGetCurrentSplit (reg);
|
||||
/* figure out the transaction we are going to. */
|
||||
if (info->cursor_hint_trans != NULL) {
|
||||
find_trans = info->cursor_hint_trans;
|
||||
find_split = info->cursor_hint_split;
|
||||
}
|
||||
else {
|
||||
find_trans = xaccSRGetCurrentTrans (reg);
|
||||
find_split = xaccSRGetCurrentSplit (reg);
|
||||
}
|
||||
|
||||
/* save the current physical column; we'll try to get
|
||||
* back here after the refresh. */
|
||||
save_phys_col = reg->table->current_cursor_phys_col;
|
||||
/* save the current physical column; we'll
|
||||
* try to get back here after the refresh. */
|
||||
save_phys_col = table->current_cursor_phys_col;
|
||||
if (save_phys_col < 0)
|
||||
save_phys_col = 0;
|
||||
|
||||
/* If we are in dynamic mode on a blank split, remember
|
||||
* the current transaction for determining expansion. */
|
||||
if (dynamic && (save_current_split == NULL))
|
||||
info->cursor_hint_trans = xaccSRGetCurrentTrans(reg);
|
||||
|
||||
/* count the number of rows */
|
||||
found_current = xaccSRCountRows (reg, slist);
|
||||
/* count the number of rows, looking for the place we want to go. */
|
||||
found_split = xaccSRCountRows (reg, slist, find_trans, find_split);
|
||||
|
||||
/* If the current cursor has changed, and the 'current split'
|
||||
* is still among the living, we save the values for later
|
||||
* restoration. */
|
||||
changed = xaccSplitRegisterGetChangeFlag(reg);
|
||||
if (found_current && changed)
|
||||
if (found_split && changed && (find_split == xaccSRGetCurrentSplit(reg)))
|
||||
{
|
||||
reg_buffer = xaccMallocSplitRegisterBuffer();
|
||||
xaccSplitRegisterSaveCursor(reg, reg_buffer);
|
||||
@ -2147,14 +2157,13 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
||||
"load trans %d at phys row %d \n", i, phys_row);
|
||||
|
||||
/* if multi-line, then show all splits. If dynamic then
|
||||
* show all splits only if this is the hot split.
|
||||
*/
|
||||
* show all splits only if this is the hot split. */
|
||||
do_expand = multi_line;
|
||||
do_expand = do_expand ||
|
||||
(dynamic && xaccIsPeerSplit(split,save_current_split));
|
||||
if (dynamic && (NULL == save_current_split)) {
|
||||
(dynamic && xaccIsPeerSplit(split, find_split));
|
||||
if (dynamic && (NULL == find_split)) {
|
||||
trans = xaccSplitGetParent (split);
|
||||
do_expand = do_expand || (trans == info->cursor_hint_trans);
|
||||
do_expand = do_expand || (trans == find_trans);
|
||||
}
|
||||
|
||||
if (do_expand)
|
||||
@ -2220,23 +2229,15 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
||||
double last_price = 0.0;
|
||||
|
||||
trans = xaccMallocTransaction ();
|
||||
|
||||
xaccTransBeginEdit (trans, 1);
|
||||
xaccTransSetDateSecs(trans, info->last_date_entered);
|
||||
xaccTransCommitEdit (trans);
|
||||
|
||||
split = xaccTransGetSplit (trans, 0);
|
||||
info->blank_split = split;
|
||||
reg->destroy = LedgerDestroy;
|
||||
|
||||
/* kind of a cheesy hack to get the price on the last split right
|
||||
* when doing stock accounts. This will guess incorrectly for a
|
||||
* ledger showing multiple stocks, but seems cool for a single stock.
|
||||
*/
|
||||
if ((STOCK_REGISTER == type) ||
|
||||
(PORTFOLIO_LEDGER == type))
|
||||
{
|
||||
last_price = xaccSplitGetSharePrice (last_split);
|
||||
xaccSplitSetSharePrice (split, last_price);
|
||||
}
|
||||
reg->destroy = LedgerDestroy;
|
||||
}
|
||||
|
||||
/* do the split row of the blank split */
|
||||
@ -2278,7 +2279,7 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
||||
if (reg_buffer != NULL)
|
||||
{
|
||||
xaccSplitRegisterRestoreCursorChanged(reg, reg_buffer);
|
||||
xaccCommitCursor (reg->table);
|
||||
xaccCommitCursor (table);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2295,6 +2296,11 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
||||
if (!found_pending)
|
||||
info->pending_trans = NULL;
|
||||
|
||||
/* clear out the hint transaction and split. We want
|
||||
* to know if it has been set from the move callback. */
|
||||
info->cursor_hint_trans = NULL;
|
||||
info->cursor_hint_split = NULL;
|
||||
|
||||
xaccRefreshTableGUI (table);
|
||||
|
||||
/* set the completion character for the xfer cells */
|
||||
|
@ -292,16 +292,17 @@ layout_init_ledger(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
char date_str[128];
|
||||
int i, j;
|
||||
|
||||
double perc[1][7] = {{0.10, 0.07, 0.32, 0.25, 0.02, 0.12, 0.12}};
|
||||
double perc[1][8] = {{0.10, 0.07, 0.21, 0.18, 0.18, 0.02, 0.12, 0.12}};
|
||||
|
||||
CellLayoutData ld[1][7] =
|
||||
CellLayoutData ld[1][8] =
|
||||
{{{STRING_FIXED,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,date_str},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,3,0,5,0,0,0,0,0,0,0,NULL},
|
||||
{CHARS_MIN | FILL,RESIZABLE,0,0,20,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{STRING_MIN,RESIZABLE,0,0,0,0,10,0,0,0,0,0,0,0,XFTO_STR},
|
||||
{STRING_MIN,RESIZABLE,0,0,0,0,10,0,0,0,0,0,0,0,XFRM_STR},
|
||||
{STRING_FIXED,0,1,0,0,0,0,0,0,0,0,0,0,0,"R"},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,9,0,10,0,0,0,0,0,0,0,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
}};
|
||||
|
||||
printDate(date_str, 29, 12, 2000);
|
||||
@ -309,7 +310,7 @@ layout_init_ledger(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
|
||||
layout_info = style_layout_info_new (style);
|
||||
|
||||
SET_CELL_LAYOUT_DATA (1, 7);
|
||||
SET_CELL_LAYOUT_DATA (1, 8);
|
||||
|
||||
g_hash_table_insert (sheet->layout_info_hash_table,
|
||||
style_get_key (style), layout_info);
|
||||
@ -326,7 +327,7 @@ layout_init_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
int i, j;
|
||||
|
||||
double perc[2][8] = {{0.10, 0.07, 0.25, 0.20, 0.02, 0.12, 0.12, 0.12},
|
||||
{0.10, 0.07, 0.83, 0.0, 0.0, 0.0, 0.0, 0.0}};
|
||||
{0.10, 0.07, 0.83, 0.00, 0.00, 0.00, 0.00, 0.00}};
|
||||
|
||||
CellLayoutData ld[2][8] =
|
||||
{{{STRING_FIXED,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,date_str},
|
||||
@ -368,17 +369,18 @@ layout_init_ledger_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
char date_str[128];
|
||||
int i, j;
|
||||
|
||||
double perc[2][7] = {{0.10, 0.07, 0.32, 0.25, 0.02, 0.12, 0.12},
|
||||
{0.10, 0.07, 0.83, 0.0, 0.0, 0.0, 0.0}};
|
||||
double perc[2][8] = {{0.10, 0.07, 0.21, 0.18, 0.18, 0.02, 0.12, 0.12},
|
||||
{0.10, 0.07, 0.83, 0.00, 0.00, 0.00, 0.00, 0.00}};
|
||||
|
||||
CellLayoutData ld[2][7] =
|
||||
CellLayoutData ld[2][8] =
|
||||
{{{STRING_FIXED,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,date_str},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,3,0,5,0,0,0,0,0,0,0,NULL},
|
||||
{CHARS_MIN | FILL,RESIZABLE,0,0,20,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{STRING_MIN,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,XFTO_STR},
|
||||
{STRING_MIN,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,XFRM_STR},
|
||||
{STRING_FIXED,0,1,0,0,0,0,0,0,0,0,0,0,0,"R"},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,9,0,10,0,0,0,0,0,0,0,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL}},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL}},
|
||||
{{LEFT_ALIGNED|RIGHT_ALIGNED,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{LEFT_ALIGNED|RIGHT_ALIGNED,RESIZABLE,0,0,0,0,0,0,0,1,0,1,0,0,NULL},
|
||||
{LEFT_ALIGNED|RIGHT_ALIGNED,RESIZABLE,0,0,0,0,0,0,0,2,0,7,0,0,NULL},
|
||||
@ -386,6 +388,7 @@ layout_init_ledger_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
}};
|
||||
|
||||
printDate(date_str, 29, 12, 2000);
|
||||
@ -393,7 +396,7 @@ layout_init_ledger_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
|
||||
layout_info = style_layout_info_new (style);
|
||||
|
||||
SET_CELL_LAYOUT_DATA (2, 7);
|
||||
SET_CELL_LAYOUT_DATA (2, 8);
|
||||
|
||||
g_hash_table_insert (sheet->layout_info_hash_table,
|
||||
style_get_key (style), layout_info);
|
||||
@ -447,20 +450,21 @@ layout_init_stock_ledger(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
char date_str[128];
|
||||
int i, j;
|
||||
|
||||
double perc[1][10] = {{0.09, 0.06, 0.24, 0.19, 0.01, 0.10,
|
||||
0.10, 0.07, 0.07, 0.07}};
|
||||
double perc[1][11] = {{0.09, 0.05, 0.18, 0.14, 0.14, 0.01,
|
||||
0.09, 0.09, 0.07, 0.07, 0.07}};
|
||||
|
||||
CellLayoutData ld[1][10] =
|
||||
CellLayoutData ld[1][11] =
|
||||
{{{STRING_FIXED,RESIZABLE, 0,0,0,0,0,0,0,0,0,0,0,0,date_str},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,3,0,5,0,0,0,0,0,0,0,NULL},
|
||||
{CHARS_MIN | FILL,RESIZABLE,0,0,20,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{STRING_MIN,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,XFTO_STR},
|
||||
{STRING_MIN,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,XFRM_STR},
|
||||
{STRING_FIXED,0,1,0,0,0,0,0,0,0,0,0,0,0,"R"},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,9,0,10,0,0,0,0,0,0,0,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
}};
|
||||
|
||||
printDate(date_str, 29, 12, 2000);
|
||||
@ -468,7 +472,7 @@ layout_init_stock_ledger(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
|
||||
layout_info = style_layout_info_new (style);
|
||||
|
||||
SET_CELL_LAYOUT_DATA (1, 10);
|
||||
SET_CELL_LAYOUT_DATA (1, 11);
|
||||
|
||||
g_hash_table_insert (sheet->layout_info_hash_table,
|
||||
style_get_key (style), layout_info);
|
||||
@ -486,8 +490,8 @@ layout_init_stock_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
|
||||
double perc[2][11] = {{0.09, 0.06, 0.20, 0.14, 0.01,
|
||||
0.10, 0.10, 0.07, 0.07, 0.07, 0.09},
|
||||
{0.0, 0.15, 0.11, 0.74, 0.0,
|
||||
0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
|
||||
{0.00, 0.15, 0.11, 0.74, 0.00,
|
||||
0.00, 0.00, 0.00, 0.00, 0.00, 0.0}};
|
||||
|
||||
CellLayoutData ld[2][11] =
|
||||
{{{STRING_FIXED, RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,date_str},
|
||||
@ -535,22 +539,23 @@ layout_init_stock_ledger_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
char date_str[128];
|
||||
int i, j;
|
||||
|
||||
double perc[2][10] = {{0.09, 0.06, 0.24, 0.19, 0.01,
|
||||
0.10, 0.10, 0.07, 0.07, 0.07},
|
||||
{0.0, 0.15, 0.11, 0.74, 0.0,
|
||||
0.0, 0.0, 0.0, 0.0, 0.0}};
|
||||
double perc[2][11] = {{0.09, 0.05, 0.18, 0.14, 0.14,
|
||||
0.01, 0.09, 0.09, 0.07, 0.07, 0.07},
|
||||
{0.00, 0.15, 0.11, 0.74, 0.00,
|
||||
0.00, 0.00, 0.00, 0.00, 0.00, 0.0}};
|
||||
|
||||
CellLayoutData ld[2][10] =
|
||||
CellLayoutData ld[2][11] =
|
||||
{{{STRING_FIXED, RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,date_str},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,3,0,5,0,0,0,0,0,0,0,NULL},
|
||||
{CHARS_MIN,RESIZABLE,0,0,20,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{STRING_MIN | FILL,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,XFTO_STR},
|
||||
{STRING_MIN | FILL,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,XFRM_STR},
|
||||
{STRING_FIXED, 0,1,0,0,0,0,0,0,0,0,0,0,0,"R"},
|
||||
{CHARS_MIN | CHARS_MAX,RESIZABLE,0,0,9,0,10,0,0,0,0,0,0,0,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,5,NULL}},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL},
|
||||
{SAME_SIZE,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,6,NULL}},
|
||||
{{LEFT_ALIGNED|RIGHT_ALIGNED,RESIZABLE,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{LEFT_ALIGNED|RIGHT_ALIGNED,RESIZABLE,0,0,0,0,0,0,0,1,0,1,0,0,NULL},
|
||||
{LEFT_ALIGNED|RIGHT_ALIGNED,RESIZABLE,0,0,0,0,0,0,0,2,0,10,0,0,NULL},
|
||||
@ -561,6 +566,7 @@ layout_init_stock_ledger_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
{PIXELS_FIXED,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL},
|
||||
}};
|
||||
|
||||
printDate(date_str, 29, 12, 2000);
|
||||
@ -568,7 +574,7 @@ layout_init_stock_ledger_double(GnucashSheet *sheet, SheetBlockStyle *style)
|
||||
|
||||
layout_info = style_layout_info_new (style);
|
||||
|
||||
SET_CELL_LAYOUT_DATA (2, 10);
|
||||
SET_CELL_LAYOUT_DATA (2, 11);
|
||||
|
||||
g_hash_table_insert (sheet->layout_info_hash_table,
|
||||
style_get_key (style), layout_info);
|
||||
|
@ -220,17 +220,14 @@ configLabels (SplitRegister *reg)
|
||||
LABEL (DEBT, REBATE_STR);
|
||||
LABEL (CRED, EXPENSE_STR);
|
||||
break;
|
||||
case GENERAL_LEDGER:
|
||||
case EQUITY_REGISTER:
|
||||
LABEL (DEBT, SURPLUS_STR);
|
||||
LABEL (CRED, DEFICIT_STR);
|
||||
break;
|
||||
case STOCK_REGISTER:
|
||||
case PORTFOLIO_LEDGER:
|
||||
case CURRENCY_REGISTER:
|
||||
LABEL (DEBT, SOLD_STR);
|
||||
LABEL (CRED, BOUGHT_STR);
|
||||
break;
|
||||
case GENERAL_LEDGER:
|
||||
case EQUITY_REGISTER:
|
||||
case SEARCH_LEDGER:
|
||||
LABEL (DEBT, DEBIT_STR);
|
||||
LABEL (CRED, CREDIT_STR);
|
||||
@ -450,10 +447,11 @@ configLayout (SplitRegister *reg)
|
||||
FANCY (DATE, date, 0, 0);
|
||||
FANCY (NUM, num, 1, 0);
|
||||
FANCY (DESC, desc, 2, 0);
|
||||
FANCY (MXFRM, mxfrm, 3, 0);
|
||||
BASIC (RECN, recn, 4, 0);
|
||||
FANCY (DEBT, debit, 5, 0);
|
||||
FANCY (CRED, credit, 6, 0);
|
||||
FANCY (XTO, xto, 3, 0);
|
||||
FANCY (MXFRM, mxfrm, 4, 0);
|
||||
BASIC (RECN, recn, 5, 0);
|
||||
FANCY (DEBT, debit, 6, 0);
|
||||
FANCY (CRED, credit, 7, 0);
|
||||
|
||||
FANCY (ACTN, action, 1, 1);
|
||||
FANCY (MEMO, memo, 2, 1);
|
||||
@ -463,25 +461,27 @@ configLayout (SplitRegister *reg)
|
||||
FANCY (NUM, num, 1, 0);
|
||||
FANCY (DESC, desc, 2, 0);
|
||||
FANCY (XTO, xto, 3, 0);
|
||||
BASIC (RECN, recn, 4, 0);
|
||||
FANCY (DEBT, debit, 5, 0);
|
||||
FANCY (CRED, credit, 6, 0);
|
||||
FANCY (XFRM, mxfrm, 4, 0);
|
||||
BASIC (RECN, recn, 5, 0);
|
||||
FANCY (DEBT, debit, 6, 0);
|
||||
FANCY (CRED, credit, 7, 0);
|
||||
|
||||
curs = reg->split_cursor;
|
||||
FANCY (ACTN, action, 1, 0);
|
||||
FANCY (MEMO, memo, 2, 0);
|
||||
FANCY (XFRM, xfrm, 3, 0);
|
||||
FANCY (NDEBT, ndebit, 5, 0);
|
||||
FANCY (NCRED, ncredit, 6, 0);
|
||||
FANCY (XFRM, xfrm, 4, 0);
|
||||
FANCY (NDEBT, ndebit, 6, 0);
|
||||
FANCY (NCRED, ncredit, 7, 0);
|
||||
|
||||
curs = reg->single_cursor;
|
||||
FANCY (DATE, date, 0, 0);
|
||||
FANCY (NUM, num, 1, 0);
|
||||
FANCY (DESC, desc, 2, 0);
|
||||
FANCY (MXFRM, mxfrm, 3, 0);
|
||||
BASIC (RECN, recn, 4, 0);
|
||||
FANCY (DEBT, debit, 5, 0);
|
||||
FANCY (CRED, credit, 6, 0);
|
||||
FANCY (XTO, xto, 3, 0);
|
||||
FANCY (MXFRM, mxfrm, 4, 0);
|
||||
BASIC (RECN, recn, 5, 0);
|
||||
FANCY (DEBT, debit, 6, 0);
|
||||
FANCY (CRED, credit, 7, 0);
|
||||
|
||||
break;
|
||||
}
|
||||
@ -549,13 +549,14 @@ configLayout (SplitRegister *reg)
|
||||
FANCY (DATE, date, 0, 0);
|
||||
FANCY (NUM, num, 1, 0);
|
||||
FANCY (DESC, desc, 2, 0);
|
||||
FANCY (MXFRM, mxfrm, 3, 0);
|
||||
BASIC (RECN, recn, 4, 0);
|
||||
FANCY (DEBT, debit, 5, 0);
|
||||
FANCY (CRED, credit, 6, 0);
|
||||
FANCY (PRIC, price, 7, 0);
|
||||
FANCY (VALU, value, 8, 0);
|
||||
FANCY (SHRS, shrs, 9, 0);
|
||||
FANCY (XTO, xto, 3, 0);
|
||||
FANCY (MXFRM, mxfrm, 4, 0);
|
||||
BASIC (RECN, recn, 5, 0);
|
||||
FANCY (DEBT, debit, 6, 0);
|
||||
FANCY (CRED, credit, 7, 0);
|
||||
FANCY (PRIC, price, 8, 0);
|
||||
FANCY (VALU, value, 9, 0);
|
||||
FANCY (SHRS, shrs, 10, 0);
|
||||
|
||||
FANCY (ACTN, action, 1, 1);
|
||||
FANCY (MEMO, memo, 2, 1);
|
||||
@ -565,31 +566,33 @@ configLayout (SplitRegister *reg)
|
||||
FANCY (NUM, num, 1, 0);
|
||||
FANCY (DESC, desc, 2, 0);
|
||||
FANCY (XTO, xto, 3, 0);
|
||||
BASIC (RECN, recn, 4, 0);
|
||||
FANCY (DEBT, debit, 5, 0);
|
||||
FANCY (CRED, credit, 6, 0);
|
||||
FANCY (PRIC, price, 7, 0);
|
||||
FANCY (VALU, value, 8, 0);
|
||||
FANCY (SHRS, shrs, 9, 0);
|
||||
FANCY (XFRM, mxfrm, 4, 0);
|
||||
BASIC (RECN, recn, 5, 0);
|
||||
FANCY (DEBT, debit, 6, 0);
|
||||
FANCY (CRED, credit, 7, 0);
|
||||
FANCY (PRIC, price, 8, 0);
|
||||
FANCY (VALU, value, 9, 0);
|
||||
FANCY (SHRS, shrs, 10, 0);
|
||||
|
||||
curs = reg->split_cursor;
|
||||
FANCY (ACTN, action, 1, 0);
|
||||
FANCY (MEMO, memo, 2, 0);
|
||||
FANCY (XFRM, xfrm, 3, 0);
|
||||
FANCY (NDEBT, ndebit, 5, 0);
|
||||
FANCY (NCRED, ncredit, 6, 0);
|
||||
FANCY (XFRM, xfrm, 4, 0);
|
||||
FANCY (NDEBT, ndebit, 6, 0);
|
||||
FANCY (NCRED, ncredit, 7, 0);
|
||||
|
||||
curs = reg->single_cursor;
|
||||
FANCY (DATE, date, 0, 0);
|
||||
FANCY (NUM, num, 1, 0);
|
||||
FANCY (DESC, desc, 2, 0);
|
||||
FANCY (MXFRM, mxfrm, 3, 0);
|
||||
BASIC (RECN, recn, 4, 0);
|
||||
FANCY (DEBT, debit, 5, 0);
|
||||
FANCY (CRED, credit, 6, 0);
|
||||
FANCY (PRIC, price, 7, 0);
|
||||
FANCY (VALU, value, 8, 0);
|
||||
FANCY (SHRS, shrs, 9, 0);
|
||||
FANCY (XTO, xto, 3, 0);
|
||||
FANCY (MXFRM, mxfrm, 4, 0);
|
||||
BASIC (RECN, recn, 5, 0);
|
||||
FANCY (DEBT, debit, 6, 0);
|
||||
FANCY (CRED, credit, 7, 0);
|
||||
FANCY (PRIC, price, 8, 0);
|
||||
FANCY (VALU, value, 9, 0);
|
||||
FANCY (SHRS, shrs, 10, 0);
|
||||
|
||||
break;
|
||||
}
|
||||
@ -947,15 +950,18 @@ mallocCursors (SplitRegister *reg)
|
||||
case INCOME_LEDGER:
|
||||
case GENERAL_LEDGER:
|
||||
case SEARCH_LEDGER:
|
||||
reg->num_cols = 7;
|
||||
reg->num_cols = 8;
|
||||
break;
|
||||
|
||||
case STOCK_REGISTER:
|
||||
case CURRENCY_REGISTER:
|
||||
reg->num_cols = 11;
|
||||
break;
|
||||
|
||||
case PORTFOLIO_LEDGER:
|
||||
reg->num_cols = 10;
|
||||
reg->num_cols = 11;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user