[C] Improved documentation
This commit is contained in:
		@@ -40,6 +40,23 @@ These pages contain the API documentation of **libfort** - simple library to cre
 | 
			
		||||
    - @link ft_text_alignment ft_text_alignment @endlink -- alignment of cell content
 | 
			
		||||
    - @link ft_row_type ft_row_type @endlink -- alignment of cell content
 | 
			
		||||
 | 
			
		||||
- @link fort.hpp `libfort C++ API` @endlink
 | 
			
		||||
  - @link fort::table @endlink -- basic table class
 | 
			
		||||
    - Table navigation
 | 
			
		||||
      - @link fort::table::set_cur_cell set_cur_cell @endlink -- set border style
 | 
			
		||||
 | 
			
		||||
    - String conversions
 | 
			
		||||
      - @link fort::table::to_string to_string @endlink -- convert table to string representation
 | 
			
		||||
      - @link fort::table::c_str c_str @endlink -- convert table to string representation
 | 
			
		||||
 | 
			
		||||
    - Modify appearance of the table
 | 
			
		||||
      - @link fort::table::set_border_style set_border_style @endlink -- set border style
 | 
			
		||||
      - @link fort::table::set_left_margin set_left_margin @endlink -- set table left margin
 | 
			
		||||
      - @link fort::table::set_top_margin set_top_margin @endlink -- set table top margin
 | 
			
		||||
      - @link fort::table::set_bottom_margin set_bottom_margin @endlink -- set table bottom margin
 | 
			
		||||
      - @link fort::table::set_right_margin set_right_margin @endlink -- set table right margin
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
List of libfort builtin border styles:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										77
									
								
								lib/fort.hpp
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								lib/fort.hpp
									
									
									
									
									
								
							@@ -325,22 +325,6 @@ public:
 | 
			
		||||
        return set_property(FT_CPROP_CONT_TEXT_STYLE, static_cast<int>(value));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set column span for the specified cell of the table.
 | 
			
		||||
     *
 | 
			
		||||
     * @param hor_span
 | 
			
		||||
     *   Column span.
 | 
			
		||||
     * @return
 | 
			
		||||
     *   - true: Success; cell span was changed.
 | 
			
		||||
     *   - false: In case of error.
 | 
			
		||||
     */
 | 
			
		||||
    bool set_cell_span(size_t hor_span)
 | 
			
		||||
    {
 | 
			
		||||
        if (set_default_properties_)
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
        return FT_IS_SUCCESS(ft_set_cell_span(ps_table_->table_, ps_row_idx_, ps_coll_idx_, hor_span));
 | 
			
		||||
    }
 | 
			
		||||
protected:
 | 
			
		||||
    std::size_t ps_row_idx_;
 | 
			
		||||
    std::size_t ps_coll_idx_;
 | 
			
		||||
@@ -866,42 +850,59 @@ public:
 | 
			
		||||
    /* Iterators */
 | 
			
		||||
    /* todo: implement chains like table[0][0] = table [0][1] = "somethings" */
 | 
			
		||||
 | 
			
		||||
    class table_cell_iterator: public property_owner<table>
 | 
			
		||||
    class table_cell: public property_owner<table>
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
        table_cell_iterator(std::size_t row_idx, std::size_t coll_idx, table &tbl)
 | 
			
		||||
        table_cell(std::size_t row_idx, std::size_t coll_idx, table &tbl)
 | 
			
		||||
            :property_owner(row_idx, coll_idx, &tbl) {}
 | 
			
		||||
 | 
			
		||||
        table_cell_iterator& operator=(const char *str)
 | 
			
		||||
        table_cell& operator=(const char *str)
 | 
			
		||||
        {
 | 
			
		||||
            ft_set_cur_cell(ps_table_->table_, ps_row_idx_, ps_coll_idx_);
 | 
			
		||||
            ps_table_->write(str);
 | 
			
		||||
            return *this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        table_cell_iterator& operator=(const std::string &str)
 | 
			
		||||
        table_cell& operator=(const std::string &str)
 | 
			
		||||
        {
 | 
			
		||||
            return operator=(str.c_str());
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    class table_row_iterator: public property_owner<table>
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
        table_row_iterator(std::size_t row_idx, table &tbl)
 | 
			
		||||
            :property_owner(row_idx, FT_ANY_COLUMN, &tbl) {}
 | 
			
		||||
 | 
			
		||||
        class table_cell_iterator
 | 
			
		||||
        operator[](std::size_t coll_idx)
 | 
			
		||||
        /**
 | 
			
		||||
         * Set column span for the specified cell of the table.
 | 
			
		||||
         *
 | 
			
		||||
         * @param hor_span
 | 
			
		||||
         *   Column span.
 | 
			
		||||
         * @return
 | 
			
		||||
         *   - true: Success; cell span was changed.
 | 
			
		||||
         *   - false: In case of error.
 | 
			
		||||
         */
 | 
			
		||||
        bool set_cell_span(size_t hor_span)
 | 
			
		||||
        {
 | 
			
		||||
            return table_cell_iterator(ps_row_idx_, coll_idx, *ps_table_);
 | 
			
		||||
            if (set_default_properties_)
 | 
			
		||||
                return false;
 | 
			
		||||
 | 
			
		||||
            return FT_IS_SUCCESS(ft_set_cell_span(ps_table_->table_, ps_row_idx_, ps_coll_idx_, hor_span));
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    class table_column_iterator: public property_owner<table>
 | 
			
		||||
    class table_row: public property_owner<table>
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
        table_column_iterator(std::size_t col_idx, table &tbl)
 | 
			
		||||
        table_row(std::size_t row_idx, table &tbl)
 | 
			
		||||
            :property_owner(row_idx, FT_ANY_COLUMN, &tbl) {}
 | 
			
		||||
 | 
			
		||||
        class table_cell
 | 
			
		||||
        operator[](std::size_t coll_idx)
 | 
			
		||||
        {
 | 
			
		||||
            return table_cell(ps_row_idx_, coll_idx, *ps_table_);
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    class table_column: public property_owner<table>
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
        table_column(std::size_t col_idx, table &tbl)
 | 
			
		||||
            :property_owner(FT_ANY_ROW, col_idx, &tbl) {}
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
@@ -912,22 +913,22 @@ public:
 | 
			
		||||
            :property_owner(FT_ANY_ROW, FT_ANY_COLUMN, tbl, true) {}
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    class table_row_iterator
 | 
			
		||||
    class table_row
 | 
			
		||||
    operator[](std::size_t row_idx)
 | 
			
		||||
    {
 | 
			
		||||
        return table_row_iterator(row_idx, *this);
 | 
			
		||||
        return table_row(row_idx, *this);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class table_row_iterator
 | 
			
		||||
    class table_row
 | 
			
		||||
    row(std::size_t row_idx)
 | 
			
		||||
    {
 | 
			
		||||
        return table_row_iterator(row_idx, *this);
 | 
			
		||||
        return table_row(row_idx, *this);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class table_column_iterator
 | 
			
		||||
    class table_column
 | 
			
		||||
    column(std::size_t col_idx)
 | 
			
		||||
    {
 | 
			
		||||
        return table_column_iterator(col_idx, *this);
 | 
			
		||||
        return table_column(col_idx, *this);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static class default_properties
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user