37 : spreadsheet_layout_(spreadsheet_layout)
69 const int real_index = spreadsheet_layout_.
row_indices[row_index];
93 const int real_index = spreadsheet_layout_.
row_indices[row_index];
122 std::stringstream ss;
123 ss << std::fixed << std::setprecision(3) << value;
124 const std::string value_str = ss.str();
146 const int icon = value ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT;
182 reinterpret_cast<const ID *const
>(value.
object)->
name + 2,
199 ICON_OUTLINER_COLLECTION,
219 std::stringstream ss;
220 const float value = values[i];
221 ss << std::fixed << std::setprecision(3) << value;
222 const std::string value_str = ss.str();
228 params.xmin + i * segment_width,
246 return spreadsheet_layout_.
columns[column_index].width;
253 return std::make_unique<SpreadsheetLayoutDrawer>(spreadsheet_layout);
typedef float(TangentPoint)[2]
uiBut * uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
void UI_but_drawflag_enable(uiBut *but, int flag)
void UI_but_drawflag_disable(uiBut *but, int flag)
constexpr int64_t size() const
constexpr IndexRange index_range() const
constexpr bool is_empty() const
constexpr const char * c_str() const
std::optional< float2 > value_float2
std::optional< ObjectCellValue > value_object
std::optional< float3 > value_float3
std::optional< float > value_float
std::optional< bool > value_bool
std::optional< int > value_int
std::optional< CollectionCellValue > value_collection
std::optional< Color4f > value_color
virtual void get_value(int index, CellValue &r_cell_value) const =0
void draw_top_row_cell(int column_index, const CellDrawParams ¶ms) const final
void draw_left_column_cell(int row_index, const CellDrawParams ¶ms) const final
void draw_content_cell(int row_index, int column_index, const CellDrawParams ¶ms) const final
int column_width(int column_index) const final
void draw_float_vector(const CellDrawParams ¶ms, const Span< float > values) const
SpreadsheetLayoutDrawer(const SpreadsheetLayout &spreadsheet_layout)
std::unique_ptr< SpreadsheetDrawer > spreadsheet_drawer_from_layout(const SpreadsheetLayout &spreadsheet_layout)
std::string to_string(const T &n)
const Collection * collection
Span< int64_t > row_indices
Vector< ColumnLayout > columns