mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-10 04:58:34 +00:00
51 lines
1.7 KiB
Rust
51 lines
1.7 KiB
Rust
use imgui::*;
|
|
|
|
mod support;
|
|
|
|
fn main() {
|
|
support::simple_init(file!(), move |_, ui| {
|
|
ui.show_demo_window(&mut true);
|
|
|
|
ui.window("Table with list clipper")
|
|
.size([800.0, 700.0], Condition::FirstUseEver)
|
|
.build(|| {
|
|
let num_cols = 3;
|
|
let num_rows = 1000;
|
|
|
|
let flags = imgui::TableFlags::ROW_BG
|
|
| imgui::TableFlags::RESIZABLE
|
|
| imgui::TableFlags::BORDERS_H
|
|
| imgui::TableFlags::BORDERS_V; //| imgui::TableFlags::SCROLL_Y;
|
|
|
|
if let Some(_t) = ui.begin_table_with_sizing(
|
|
"longtable",
|
|
num_cols,
|
|
flags,
|
|
[300.0, 100.0],
|
|
/*inner width=*/ 0.0,
|
|
) {
|
|
ui.table_setup_column("A");
|
|
ui.table_setup_column("B");
|
|
ui.table_setup_column("C");
|
|
|
|
// Freeze first row so headers are visible even
|
|
// when scrolling
|
|
ui.table_setup_scroll_freeze(num_cols, 1);
|
|
|
|
// Done with headers row
|
|
ui.table_headers_row();
|
|
|
|
// Create clipper with st
|
|
let clip = imgui::ListClipper::new(num_rows).begin(ui);
|
|
for row_num in clip.iter() {
|
|
ui.table_next_row();
|
|
for col_num in 0..num_cols {
|
|
ui.table_set_column_index(col_num);
|
|
ui.text(format!("Hello {},{}", col_num, row_num));
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|