/[public]/psiconv/trunk/lib/psiconv/data.h
ViewVC logotype

Diff of /psiconv/trunk/lib/psiconv/data.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 102 Revision 129
191 psiconv_size_t space_below; 191 psiconv_size_t space_below;
192 psiconv_bool_t keep_together; 192 psiconv_bool_t keep_together;
193 psiconv_bool_t keep_with_next; 193 psiconv_bool_t keep_with_next;
194 psiconv_bool_t on_next_page; 194 psiconv_bool_t on_next_page;
195 psiconv_bool_t no_widow_protection; 195 psiconv_bool_t no_widow_protection;
196 psiconv_bool_t wrap_to_fit_cell;
196 psiconv_length_t border_distance; 197 psiconv_length_t border_distance;
197 psiconv_bullet bullet; 198 psiconv_bullet bullet;
198 psiconv_border left_border; 199 psiconv_border left_border;
199 psiconv_border right_border; 200 psiconv_border right_border;
200 psiconv_border top_border; 201 psiconv_border top_border;
422{ 423{
423 psiconv_sheet_cell_reference_t first; 424 psiconv_sheet_cell_reference_t first;
424 psiconv_sheet_cell_reference_t last; 425 psiconv_sheet_cell_reference_t last;
425} psiconv_sheet_cell_block_t; 426} psiconv_sheet_cell_block_t;
426 427
428typedef enum psiconv_cell_type
429{
430 psiconv_cell_blank,
431 psiconv_cell_int,
432 psiconv_cell_bool,
433 psiconv_cell_error,
434 psiconv_cell_float,
435 psiconv_cell_string
436} psiconv_cell_type_t;
437
438typedef enum psiconv_sheet_errorcode
439{
440 psiconv_sheet_error_none,
441 psiconv_sheet_error_null,
442 psiconv_sheet_error_divzero,
443 psiconv_sheet_error_value,
444 psiconv_sheet_error_reference,
445 psiconv_sheet_error_name,
446 psiconv_sheet_error_number,
447 psiconv_sheet_error_notavail
448} psiconv_sheet_errorcode_t;
449
450typedef enum psiconv_sheet_numberformat_code
451{
452 psiconv_numberformat_general,
453 psiconv_numberformat_fixeddecimal,
454 psiconv_numberformat_scientific,
455 psiconv_numberformat_currency,
456 psiconv_numberformat_percent,
457 psiconv_numberformat_triads,
458 psiconv_numberformat_boolean,
459 psiconv_numberformat_text,
460 psiconv_numberformat_date_dmm,
461 psiconv_numberformat_date_mmd,
462 psiconv_numberformat_date_ddmmyy,
463 psiconv_numberformat_date_mmddyy,
464 psiconv_numberformat_date_yymmdd,
465 psiconv_numberformat_date_dmmm,
466 psiconv_numberformat_date_dmmmyy,
467 psiconv_numberformat_date_ddmmmyy,
468 psiconv_numberformat_date_mmm,
469 psiconv_numberformat_date_monthname,
470 psiconv_numberformat_date_mmmyy,
471 psiconv_numberformat_date_monthnameyy,
472 psiconv_numberformat_date_monthnamedyyyy,
473 psiconv_numberformat_datetime_ddmmyyyyhhii,
474 psiconv_numberformat_datetime_ddmmyyyyHHii,
475 psiconv_numberformat_datetime_mmddyyyyhhii,
476 psiconv_numberformat_datetime_mmddyyyyHHii,
477 psiconv_numberformat_datetime_yyyymmddhhii,
478 psiconv_numberformat_datetime_yyyymmddHHii,
479 psiconv_numberformat_time_hhii,
480 psiconv_numberformat_time_hhiiss,
481 psiconv_numberformat_time_HHii,
482 psiconv_numberformat_time_HHiiss
483} psiconv_sheet_numberformat_code_t;
484
485typedef struct psiconv_sheet_numberformat_s
486{
487 psiconv_sheet_numberformat_code_t code;
488 psiconv_u8 decimal;
489} *psiconv_sheet_numberformat;
490
491typedef struct psiconv_sheet_cell_layout_s
492{
493 psiconv_character_layout character;
494 psiconv_paragraph_layout paragraph;
495 psiconv_sheet_numberformat numberformat;
496} * psiconv_sheet_cell_layout;
497
498typedef struct psiconv_sheet_cell_s
499{
500 psiconv_u16 column;
501 psiconv_u16 row;
502 psiconv_cell_type_t type;
503 union {
504 psiconv_u32 dat_int;
505 double dat_float;
506 char *dat_string;
507 psiconv_bool_t dat_bool;
508 psiconv_sheet_errorcode_t dat_error;
509 } data;
510 psiconv_sheet_cell_layout layout;
511 psiconv_bool_t calculated;
512 psiconv_u32 ref_formula;
513} *psiconv_sheet_cell;
514
515typedef psiconv_list psiconv_sheet_cell_list;
516
427typedef struct psiconv_sheet_status_section_s 517typedef struct psiconv_sheet_status_section_s
428{ 518{
429 psiconv_bool_t show_graph; 519 psiconv_bool_t show_graph;
430 psiconv_u32 cursor_row; 520 psiconv_u32 cursor_row;
431 psiconv_u32 cursor_column; 521 psiconv_u32 cursor_column;
453 psiconv_formula_op_mul, 543 psiconv_formula_op_mul,
454 psiconv_formula_op_div, 544 psiconv_formula_op_div,
455 psiconv_formula_op_pow, 545 psiconv_formula_op_pow,
456 psiconv_formula_op_pos, 546 psiconv_formula_op_pos,
457 psiconv_formula_op_neg, 547 psiconv_formula_op_neg,
548 psiconv_formula_op_not,
549 psiconv_formula_op_and,
550 psiconv_formula_op_or,
458 psiconv_formula_op_con, 551 psiconv_formula_op_con,
459 psiconv_formula_op_bra, 552 psiconv_formula_op_bra,
460 psiconv_formula_mark_eof, 553 psiconv_formula_mark_eof,
461 psiconv_formula_dat_float, 554 psiconv_formula_dat_float,
462 psiconv_formula_dat_int, 555 psiconv_formula_dat_int,
584 double dat_float; 677 double dat_float;
585 char *dat_string; 678 char *dat_string;
586 psiconv_sheet_cell_reference_t dat_cellref; 679 psiconv_sheet_cell_reference_t dat_cellref;
587 psiconv_sheet_cell_block_t dat_cellblock; 680 psiconv_sheet_cell_block_t dat_cellblock;
588 psiconv_formula_list fun_operands; 681 psiconv_formula_list fun_operands;
682 psiconv_u32 dat_variable;
589 } data; 683 } data;
590} *psiconv_formula; 684} *psiconv_formula;
591 685
686typedef struct psiconv_sheet_line_s
687{
688 psiconv_u32 position;
689 psiconv_sheet_cell_layout layout;
690} *psiconv_sheet_line;
691
692typedef psiconv_list psiconv_sheet_line_list;
693 /* Of struct psiconv_sheet_line_s */
694
695typedef struct psiconv_sheet_worksheet_s
696{
697 psiconv_sheet_cell_layout default_layout;
698 psiconv_sheet_cell_list cells;
699 psiconv_bool_t show_zeros;
700 psiconv_sheet_line_list row_default_layouts;
701 psiconv_sheet_line_list col_default_layouts;
702} *psiconv_sheet_worksheet;
703
704typedef psiconv_list psiconv_sheet_worksheet_list;
705 /* of struct psiconv_sheet_worksheet_s */
706
707typedef enum psiconv_variable_type
708{
709 psiconv_var_int,
710 psiconv_var_float,
711 psiconv_var_string,
712 psiconv_var_cellref,
713 psiconv_var_cellblock
714} psiconv_variable_type_t;
715
716typedef struct psiconv_sheet_variable_s
717{
718 psiconv_u32 number;
719 char *name;
720 psiconv_variable_type_t type;
721 union {
722 psiconv_s32 dat_int;
723 double dat_float;
724 char *dat_string;
725 psiconv_sheet_cell_reference_t dat_cellref;
726 psiconv_sheet_cell_block_t dat_cellblock;
727 } data;
728} *psiconv_sheet_variable;
729
730typedef psiconv_list psiconv_sheet_variable_list;
731 /* of struct psiconv_sheet_variable_s */
732
733typedef struct psiconv_sheet_name_section_s
734{
735 char *name;
736} *psiconv_sheet_name_section;
737
738typedef struct psiconv_sheet_info_section_s
739{
740 psiconv_bool_t auto_recalc;
741} *psiconv_sheet_info_section;
742
592typedef struct psiconv_sheet_workbook_section_s 743typedef struct psiconv_sheet_workbook_section_s
593{ 744{
594 psiconv_formula_list formulas; 745 psiconv_formula_list formulas;
746 psiconv_sheet_worksheet_list worksheets;
747 psiconv_sheet_variable_list variables;
748 psiconv_sheet_info_section info;
749 psiconv_sheet_name_section name;
595} *psiconv_sheet_workbook_section; 750} *psiconv_sheet_workbook_section;
596 751
597typedef struct psiconv_sheet_f_s 752typedef struct psiconv_sheet_f_s
598{ 753{
599 psiconv_page_layout_section page_sec; 754 psiconv_page_layout_section page_sec;
629#define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105 784#define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105
630#define PSICONV_ID_PASSWORD_SECTION 0x100000CD 785#define PSICONV_ID_PASSWORD_SECTION 0x100000CD
631#define PSICONV_ID_SKETCH_SECTION 0x1000007D 786#define PSICONV_ID_SKETCH_SECTION 0x1000007D
632#define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F 787#define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F
633#define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D 788#define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D
789#define PSICONV_ID_SHEET_GRAPH_SECTION 0x10000121
634 790
635/* Other ids */ 791/* Other ids */
636#define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd 792#define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd
637#define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e 793#define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e
638#define PSICONV_ID_TEXTED_BODY 0x1000005c 794#define PSICONV_ID_TEXTED_BODY 0x1000005c
661extern psiconv_character_layout psiconv_clone_character_layout 817extern psiconv_character_layout psiconv_clone_character_layout
662 (psiconv_character_layout ls); 818 (psiconv_character_layout ls);
663 819
664/* Get a numbered style. Returns NULL if the style is unknown. */ 820/* Get a numbered style. Returns NULL if the style is unknown. */
665extern psiconv_word_style psiconv_get_style (psiconv_word_styles_section ss, int nr); 821extern psiconv_word_style psiconv_get_style (psiconv_word_styles_section ss, int nr);
822/* Get a numbered formula. Returns NULL if the style is unknown. */
823extern psiconv_formula psiconv_get_formula (psiconv_formula_list ss, int nr);
824
825/* Return the default layout */
826extern psiconv_sheet_cell_layout psiconv_get_default_layout
827 (psiconv_sheet_line_list row_defaults,
828 psiconv_sheet_line_list col_defaults,
829 psiconv_sheet_cell_layout cell_default,
830 int row,int col);
666 831
667extern void psiconv_free_color(psiconv_color color); 832extern void psiconv_free_color(psiconv_color color);
668extern void psiconv_free_border(psiconv_border border); 833extern void psiconv_free_border(psiconv_border border);
669extern void psiconv_free_bullet(psiconv_bullet bullet); 834extern void psiconv_free_bullet(psiconv_bullet bullet);
670extern void psiconv_free_font(psiconv_font font); 835extern void psiconv_free_font(psiconv_font font);
677 (psiconv_word_styles_section styles); 842 (psiconv_word_styles_section styles);
678extern void psiconv_free_formula(psiconv_formula formula); 843extern void psiconv_free_formula(psiconv_formula formula);
679extern void psiconv_free_formula_list(psiconv_formula_list list); 844extern void psiconv_free_formula_list(psiconv_formula_list list);
680extern void psiconv_free_sheet_status_section 845extern void psiconv_free_sheet_status_section
681 (psiconv_sheet_status_section section); 846 (psiconv_sheet_status_section section);
847extern void psiconv_free_sheet_cell_layout(psiconv_sheet_cell_layout layout);
848extern void psiconv_free_sheet_worksheet(psiconv_sheet_worksheet sheet);
849extern void psiconv_free_sheet_worksheet_list
850 (psiconv_sheet_worksheet_list list);
851
682extern void psiconv_free_sheet_f(psiconv_sheet_f file); 852extern void psiconv_free_sheet_f(psiconv_sheet_f file);
853extern void psiconv_free_sheet_cell(psiconv_sheet_cell cell);
854extern void psiconv_free_sheet_cell_list(psiconv_sheet_cell_list list);
855extern void psiconv_free_sheet_numberformat
856 (psiconv_sheet_numberformat numberformat);
857extern void psiconv_free_sheet_line_list(psiconv_sheet_line_list list);
858extern void psiconv_free_sheet_line(psiconv_sheet_line line);
859extern void psiconv_free_sheet_name_section(psiconv_sheet_name_section section);
860extern void psiconv_free_sheet_variable(psiconv_sheet_variable list);
861extern void psiconv_free_sheet_variable_list(psiconv_sheet_variable_list list);
862extern void psiconv_free_sheet_info_section(psiconv_sheet_info_section section);
683extern void psiconv_free_header_section(psiconv_header_section header); 863extern void psiconv_free_header_section(psiconv_header_section header);
684extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry); 864extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry);
685extern void psiconv_free_section_table_section 865extern void psiconv_free_section_table_section
686 (psiconv_section_table_section section); 866 (psiconv_section_table_section section);
687extern void psiconv_free_application_id_section 867extern void psiconv_free_application_id_section

Legend:
Removed from v.102  
changed lines
  Added in v.129

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26