[C] Refactoring
This commit is contained in:
		| @@ -272,6 +272,8 @@ FORT_EXTERN int ft_set_table_borders(FTABLE * FORT_RESTRICT table, struct border | |||||||
| FORT_EXTERN int ft_set_default_option(uint32_t option, int value); | FORT_EXTERN int ft_set_default_option(uint32_t option, int value); | ||||||
| FORT_EXTERN int ft_set_table_option(FTABLE * FORT_RESTRICT table, uint32_t option, int value); | FORT_EXTERN int ft_set_table_option(FTABLE * FORT_RESTRICT table, uint32_t option, int value); | ||||||
|  |  | ||||||
|  | FORT_EXTERN int ft_set_cell_option(FTABLE * FORT_RESTRICT table, unsigned row, unsigned col, uint32_t option, int value); | ||||||
|  |  | ||||||
|  |  | ||||||
| FORT_END_DECLS | FORT_END_DECLS | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								src/fort.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								src/fort.c
									
									
									
									
									
								
							| @@ -754,3 +754,21 @@ int ft_set_table_option(FTABLE *table, uint32_t option, int value) | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int ft_set_cell_option(FTABLE *table, unsigned row, unsigned col, uint32_t option, int value) | ||||||
|  | { | ||||||
|  |     assert(table); | ||||||
|  |  | ||||||
|  |     if (table->options == NULL) { | ||||||
|  |         table->options = create_table_options(); | ||||||
|  |         if (table->options == NULL) | ||||||
|  |             return F_MEMORY_ERROR; | ||||||
|  |     } | ||||||
|  |     if (table->options->cell_options == NULL) { | ||||||
|  |         table->options->cell_options = create_cell_opt_container(); | ||||||
|  |         if (table->options->cell_options == NULL) { | ||||||
|  |             return F_ERROR; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     return set_cell_option(table->options->cell_options, row, col, option, value); | ||||||
|  | } | ||||||
|   | |||||||
| @@ -146,7 +146,7 @@ fort_table_options_t g_table_options = { | |||||||
|     '+', '=', '+', '+', |     '+', '=', '+', '+', | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     NULL,     /* col_options */ | //    NULL,     /* col_options */ | ||||||
|     NULL,     /* cell_options */ |     NULL,     /* cell_options */ | ||||||
| }; | }; | ||||||
|  |  | ||||||
| @@ -194,16 +194,16 @@ void destroy_table_options(fort_table_options_t* options) | |||||||
|     if (options == NULL) |     if (options == NULL) | ||||||
|         return; |         return; | ||||||
|  |  | ||||||
|     if (options->col_options != NULL) { | //    if (options->col_options != NULL) { | ||||||
|         destroy_vector(options->col_options); | //        destroy_vector(options->col_options); | ||||||
|     } | //    } | ||||||
|     if (options->cell_options != NULL) { |     if (options->cell_options != NULL) { | ||||||
|         destroy_cell_opt_container(options->cell_options); |         destroy_cell_opt_container(options->cell_options); | ||||||
|     } |     } | ||||||
|     F_FREE(options); |     F_FREE(options); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /* | ||||||
| #define FORT_OPTIONS_SET_COLUMN_OPTION(options, column, opt_name, opt_value) \ | #define FORT_OPTIONS_SET_COLUMN_OPTION(options, column, opt_name, opt_value) \ | ||||||
|     assert(options);\ |     assert(options);\ | ||||||
| \ | \ | ||||||
| @@ -221,17 +221,17 @@ void destroy_table_options(fort_table_options_t* options) | |||||||
|     fort_column_options_t *col_option = (fort_column_options_t*)vector_at(options->col_options, column);\ |     fort_column_options_t *col_option = (fort_column_options_t*)vector_at(options->col_options, column);\ | ||||||
|     col_option->opt_name = opt_value;\ |     col_option->opt_name = opt_value;\ | ||||||
| \ | \ | ||||||
|     return F_SUCCESS; |     return F_SUCCESS;*/ | ||||||
|  |  | ||||||
| fort_status_t fort_options_set_column_min_width(fort_table_options_t *options, size_t column, size_t width) | //fort_status_t fort_options_set_column_min_width(fort_table_options_t *options, size_t column, size_t width) | ||||||
| { | //{ | ||||||
|     FORT_OPTIONS_SET_COLUMN_OPTION(options, column, col_min_width, width); | //    FORT_OPTIONS_SET_COLUMN_OPTION(options, column, col_min_width, width); | ||||||
| } | //} | ||||||
|  |  | ||||||
| fort_status_t fort_options_set_column_alignment(fort_table_options_t *options, size_t column, enum TextAlignment al) | //fort_status_t fort_options_set_column_alignment(fort_table_options_t *options, size_t column, enum TextAlignment al) | ||||||
| { | //{ | ||||||
|     FORT_OPTIONS_SET_COLUMN_OPTION(options, column, align, al); | //    FORT_OPTIONS_SET_COLUMN_OPTION(options, column, align, al); | ||||||
| } | //} | ||||||
|  |  | ||||||
| //int fort_options_column_width(const fort_table_options_t *options, size_t column) | //int fort_options_column_width(const fort_table_options_t *options, size_t column) | ||||||
| //{ | //{ | ||||||
|   | |||||||
| @@ -133,7 +133,7 @@ struct fort_table_options | |||||||
|     char border_chars[BorderItemPosSize]; |     char border_chars[BorderItemPosSize]; | ||||||
|     char header_border_chars[BorderItemPosSize]; |     char header_border_chars[BorderItemPosSize]; | ||||||
|     char separator_chars[SepratorItemPosSize]; |     char separator_chars[SepratorItemPosSize]; | ||||||
|     vector_t *col_options; | //    vector_t *col_options; | ||||||
|  |  | ||||||
|     fort_cell_opt_container_t * cell_options; |     fort_cell_opt_container_t * cell_options; | ||||||
| }; | }; | ||||||
| @@ -146,8 +146,8 @@ extern fort_table_options_t g_table_options; | |||||||
| fort_table_options_t* create_table_options(); | fort_table_options_t* create_table_options(); | ||||||
| fort_table_options_t* copy_table_options(const fort_table_options_t *option); | fort_table_options_t* copy_table_options(const fort_table_options_t *option); | ||||||
| void destroy_table_options(fort_table_options_t* options); | void destroy_table_options(fort_table_options_t* options); | ||||||
| fort_status_t fort_options_set_column_min_width(fort_table_options_t *options, size_t column, size_t width); | //fort_status_t fort_options_set_column_min_width(fort_table_options_t *options, size_t column, size_t width); | ||||||
| fort_status_t fort_options_set_column_alignment(fort_table_options_t *options, size_t column, enum TextAlignment al); | //fort_status_t fort_options_set_column_alignment(fort_table_options_t *options, size_t column, enum TextAlignment al); | ||||||
| int fort_options_column_width(const fort_table_options_t *options, size_t column); | int fort_options_column_width(const fort_table_options_t *options, size_t column); | ||||||
| int fort_options_column_alignment(const fort_table_options_t *options, size_t column); | int fort_options_column_alignment(const fort_table_options_t *options, size_t column); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -817,10 +817,15 @@ void test_table_options(void **state) | |||||||
|  |  | ||||||
|         table = create_test_int_table(0); |         table = create_test_int_table(0); | ||||||
|         int status = F_SUCCESS; |         int status = F_SUCCESS; | ||||||
|         status |= ft_set_column_min_width(table, 1, 7); | //        status |= ft_set_column_min_width(table, 1, 7); | ||||||
|         status |= ft_set_column_alignment(table, 1, LeftAligned); | //        status |= ft_set_column_alignment(table, 1, LeftAligned); | ||||||
|         status |= ft_set_column_min_width(table, 2, 8); | //        status |= ft_set_column_min_width(table, 2, 8); | ||||||
|         status |= ft_set_column_alignment(table, 2, CenterAligned); | //        status |= ft_set_column_alignment(table, 2, CenterAligned); | ||||||
|  |  | ||||||
|  |         status |= ft_set_cell_option(table, FT_ANY_ROW, 1, FT_OPT_MIN_WIDTH, 7); | ||||||
|  |         status |= ft_set_cell_option(table, FT_ANY_ROW, 1, FT_OPT_TEXT_ALIGN, LeftAligned); | ||||||
|  |         status |= ft_set_cell_option(table, FT_ANY_ROW, 2, FT_OPT_MIN_WIDTH, 8); | ||||||
|  |         status |= ft_set_cell_option(table, FT_ANY_ROW, 2, FT_OPT_TEXT_ALIGN, CenterAligned); | ||||||
|         assert_true( status == F_SUCCESS); |         assert_true( status == F_SUCCESS); | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 seleznevae
					seleznevae