table.hpp
string
vector
ftxui/dom/elements.hpp
src/ftxui/dom/table.cpp
ftxui/dom/canvas.hpp
ftxui/dom/deprecated.hpp
ftxui/dom/direction.hpp
ftxui/dom/elements.hpp
ftxui/dom/flexbox_config.hpp
ftxui/dom/linear_gradient.hpp
ftxui/dom/node.hpp
ftxui/dom/requirement.hpp
ftxui/dom/selection.hpp
include/ftxui/dom/table.hpp
ftxui/screen/box.hpp
ftxui/screen/color.hpp
ftxui/screen/image.hpp
ftxui/screen/pixel.hpp
ftxui/screen/screen.hpp
ftxui/screen/string.hpp
ftxui/screen/terminal.hpp
ftxui/util/autoreset.hpp
ftxui/util/ref.hpp
cstddef
cstdint
ftxui/dom/take_any_args.hpp
functional
memory
optional
sstream
string
unordered_map
utility
variant
vector
include/ftxui/dom/table.hpp
src/ftxui/dom/table.cpp
ftxui::Table
ftxui::TableSelection
ftxui

    //Copyright2021ArthurSonzogni.Allrightsreserved.
    //UseofthissourcecodeisgovernedbytheMITlicensethatcanbefoundin
    //theLICENSEfile.
    #ifndefFTXUI_DOM_TABLE
    #defineFTXUI_DOM_TABLE

    #include<string>//forstring
    #include<vector>//forvector

    #include"ftxui/dom/elements.hpp"//forElement,BorderStyle,LIGHT,Decorator

    namespaceftxui{

    //Usage:
    //
    //Initialization:
    //---------------
    //
    //autotable=Table({
    //{"X","Y"},
    //{"-1","1"},
    //{"+0","0"},
    //{"+1","1"},
    //});
    //
    //table.SelectAll().Border(LIGHT);
    //
    //table.SelectRow(1).Border(DOUBLE);
    //table.SelectRow(1).SeparatorInternal(Light);
    //
    //std::move(table).Element();

    classTable;
    classTableSelection;

    classTable{
    public:
    Table();
    explicitTable(std::vector<std::vector<std::string>>);
    explicitTable(std::vector<std::vector<Element>>);
    Table(std::initializer_list<std::vector<std::string>>init);
    TableSelectionSelectAll();
    TableSelectionSelectCell(intcolumn,introw);
    TableSelectionSelectRow(introw_index);
    TableSelectionSelectRows(introw_min,introw_max);
    TableSelectionSelectColumn(intcolumn_index);
    TableSelectionSelectColumns(intcolumn_min,intcolumn_max);
    TableSelectionSelectRectangle(intcolumn_min,
    intcolumn_max,
    introw_min,
    introw_max);
    ElementRender();

    private:
    voidInitialize(std::vector<std::vector<Element>>);
    friendTableSelection;
    std::vector<std::vector<Element>>elements_;
    intinput_dim_x_=0;
    intinput_dim_y_=0;
    intdim_x_=0;
    intdim_y_=0;
    };

    classTableSelection{
    public:
    voidDecorate(Decorator);
    voidDecorateAlternateRow(Decorator,intmodulo=2,intshift=0);
    voidDecorateAlternateColumn(Decorator,intmodulo=2,intshift=0);

    voidDecorateCells(Decorator);
    voidDecorateCellsAlternateColumn(Decorator,intmodulo=2,intshift=0);
    voidDecorateCellsAlternateRow(Decorator,intmodulo=2,intshift=0);

    voidBorder(BorderStyleborder=LIGHT);
    voidBorderLeft(BorderStyleborder=LIGHT);
    voidBorderRight(BorderStyleborder=LIGHT);
    voidBorderTop(BorderStyleborder=LIGHT);
    voidBorderBottom(BorderStyleborder=LIGHT);

    voidSeparator(BorderStyleborder=LIGHT);
    voidSeparatorVertical(BorderStyleborder=LIGHT);
    voidSeparatorHorizontal(BorderStyleborder=LIGHT);

    private:
    friendTable;
    Table*table_;
    intx_min_;
    intx_max_;
    inty_min_;
    inty_max_;
    };

    }//namespaceftxui

    #endif/*endofincludeguard:FTXUI_DOM_TABLE*/