774
774
ColRowInfo *cri = NULL;
775
775
double size = -1.;
778
778
gboolean const is_col = gsf_state->node->user_data.v_bool;
780
780
g_return_if_fail (state->sheet != NULL);
782
782
for (; attrs != NULL && attrs[0] && attrs[1] ; attrs += 2) {
783
if (xml_sax_attr_int (attrs, "No", &dummy)) {
783
if (xml_sax_attr_int (attrs, "No", &pos)) {
784
784
g_return_if_fail (cri == NULL);
787
? sheet_col_fetch (state->sheet, dummy)
788
: sheet_row_fetch (state->sheet, dummy);
787
? sheet_col_fetch (state->sheet, pos)
788
: sheet_row_fetch (state->sheet, pos);
790
790
g_return_if_fail (cri != NULL);
792
792
if (gnm_xml_attr_double (attrs, "Unit", &size)) ;
793
793
else if (xml_sax_attr_int (attrs, "Count", &count)) ;
794
else if (xml_sax_attr_int (attrs, "MarginA", &dummy))
795
cri->margin_a = dummy;
796
else if (xml_sax_attr_int (attrs, "MarginB", &dummy))
797
cri->margin_b = dummy;
798
else if (xml_sax_attr_int (attrs, "HardSize", &dummy))
799
cri->hard_size = dummy;
800
else if (xml_sax_attr_int (attrs, "Hidden", &dummy))
801
cri->visible = !dummy;
802
else if (xml_sax_attr_int (attrs, "Collapsed", &dummy))
803
cri->is_collapsed = dummy;
804
else if (xml_sax_attr_int (attrs, "OutlineLevel", &dummy))
805
cri->outline_level = dummy;
794
else if (xml_sax_attr_int (attrs, "HardSize", &val))
795
cri->hard_size = val;
796
else if (xml_sax_attr_int (attrs, "Hidden", &val))
798
else if (xml_sax_attr_int (attrs, "Collapsed", &val))
799
cri->is_collapsed = val;
800
else if (xml_sax_attr_int (attrs, "OutlineLevel", &val))
801
cri->outline_level = val;
802
else if (xml_sax_attr_int (attrs, "MarginA", &val))
803
; /* deprecated in 1.7.1 */
804
else if (xml_sax_attr_int (attrs, "MarginB", &val))
805
; /* deprecated in 1.7.1 */
807
807
unknown_attr (gsf_state, attrs);
811
811
g_return_if_fail (cri != NULL && size > -1.);
815
814
sheet_col_set_size_pts (state->sheet, pos, size, cri->hard_size);
816
815
/* resize flags are already set only need to copy the sizes */
817
816
while (--count > 0)
818
817
colrow_copy (sheet_col_fetch (state->sheet, ++pos), cri);
821
sheet_row_set_size_pts (state->sheet, cri->pos, size, cri->hard_size);
819
sheet_row_set_size_pts (state->sheet, pos, size, cri->hard_size);
822
820
/* resize flags are already set only need to copy the sizes */
823
821
while (--count > 0)
824
822
colrow_copy (sheet_row_fetch (state->sheet, ++pos), cri);
1377
1375
cell = sheet_cell_get (state->sheet, col, row);
1378
1376
if ((is_new_cell = (cell == NULL)))
1379
cell = sheet_cell_new (state->sheet, col, row);
1377
cell = sheet_cell_create (state->sheet, col, row);
1381
1379
if (cell == NULL)
1447
1445
g_return_if_fail (gsf_state->content->len > 0);
1449
if (parse_range (gsf_state->content->str, &r))
1447
if (range_parse (&r, gsf_state->content->str))
1450
1448
sheet_merge_add (state->sheet, &r, FALSE,
1451
1449
GO_CMD_CONTEXT (state->context));
1507
1505
state->so = so;
1509
so->anchor.direction = SO_DIR_UNKNOWN;
1507
so->anchor.base.direction = GOD_ANCHOR_DIR_UNKNOWN;
1510
1508
for (i = 0; attrs != NULL && attrs[i] && attrs[i+1] ; i += 2) {
1511
1509
if (!strcmp (attrs[i], "ObjectBound")) {
1513
if (parse_range (attrs[i+1], &r))
1511
if (range_parse (&r, attrs[i+1]))
1514
1512
so->anchor.cell_bound = r;
1515
1513
} else if (!strcmp (attrs[i], "ObjectOffset")) {
1516
1514
sscanf (attrs[i+1], "%g %g %g %g",
1523
1521
for (count = 4; count-- > 0 ; )
1524
1522
so->anchor.type[count] = n[count];
1525
1523
} else if (xml_sax_attr_int (attrs+i, "Direction", &tmp_int))
1526
so->anchor.direction = tmp_int;
1524
so->anchor.base.direction = tmp_int;
1527
1525
#if 0 /* There may be extra attributes that are handled by the objects */
1529
1527
unknown_attr (gsf_state, attrs+i);