@@ -134,7 +134,7 @@ impl TableVisibleRange {
134134/// - Double-click on cells to trigger actions
135135/// - Navigate between cells using keyboard (arrow keys, Home, End, PageUp, PageDown, Tab)
136136///
137- /// When in cell selection mode, a row selector column appears on the left side,
137+ /// When in cell selection mode, a row header column appears on the left side,
138138/// allowing users to select entire rows by clicking on it.
139139///
140140/// # Events
@@ -200,20 +200,20 @@ pub struct TableState<D: TableDelegate> {
200200 ///
201201 /// When enabled:
202202 /// - Users can click on individual cells to select them
203- /// - A row selector column appears on the left for selecting entire rows
204- /// (can be hidden via [`Self::row_selector `])
203+ /// - A row header column appears on the left for selecting entire rows
204+ /// (can be hidden via [`Self::row_header `])
205205 /// - Keyboard navigation works at the cell level (arrow keys move between cells)
206206 /// - Right-click and double-click events are supported for cells
207207 pub cell_selectable : bool ,
208- /// Whether the row selector column is visible when `cell_selectable` is enabled,
208+ /// Whether the row header column is visible when `cell_selectable` is enabled,
209209 /// default is `true`.
210210 ///
211- /// Set to `false` to hide the narrow leftmost selector column while keeping cell
211+ /// Set to `false` to hide the narrow leftmost header column while keeping cell
212212 /// selection — useful when you want to put your own content (e.g. a row index
213213 /// column) on the left. When hidden, clicking the already-selected cell again
214214 /// escalates the selection to the whole row so users can still pick rows; row
215215 /// escalation requires `row_selectable` to be enabled.
216- pub row_selector : bool ,
216+ pub row_header : bool ,
217217 /// Whether the table can sort.
218218 pub sortable : bool ,
219219 /// Whether the table can resize columns.
@@ -271,7 +271,7 @@ where
271271 col_selectable : true ,
272272 row_selectable : true ,
273273 cell_selectable : false ,
274- row_selector : true ,
274+ row_header : true ,
275275 sortable : true ,
276276 col_movable : true ,
277277 col_resizable : true ,
@@ -334,7 +334,7 @@ where
334334 ///
335335 /// When enabled:
336336 /// - Individual cells become selectable by clicking
337- /// - A row selector column appears on the left side (can be hidden via [`Self::row_selector `])
337+ /// - A row header column appears on the left side (can be hidden via [`Self::row_header `])
338338 /// - Keyboard navigation operates at the cell level
339339 /// - Cell-specific events (SelectCell, DoubleClickedCell, RightClickedCell) are emitted
340340 ///
@@ -344,26 +344,26 @@ where
344344 /// let table_state = cx.new(|cx| {
345345 /// TableState::new(delegate, cx)
346346 /// .cell_selectable(true) // Enable cell selection
347- /// .row_selectable(true) // Also allow row selection via row selector
347+ /// .row_selectable(true) // Also allow row selection via row header
348348 /// });
349349 /// ```
350350 pub fn cell_selectable ( mut self , cell_selectable : bool ) -> Self {
351351 self . cell_selectable = cell_selectable;
352352 self
353353 }
354354
355- /// Set whether the row selector column is shown, default is `true`.
355+ /// Set whether the row header column is shown, default is `true`.
356356 ///
357- /// Only effective when `cell_selectable` is `true` — otherwise the row selector
357+ /// Only effective when `cell_selectable` is `true` — otherwise the row header
358358 /// column is never rendered. Hide it when you want to use the leftmost column
359359 /// for your own content (e.g. a row index column).
360360 ///
361361 /// When hidden, the first click on a cell selects the cell; clicking the
362362 /// already-selected cell again escalates to selecting the whole row, so users
363- /// can still pick rows without the dedicated selector column. The row escalation
363+ /// can still pick rows without the dedicated header column. The row escalation
364364 /// requires `row_selectable` to be enabled.
365- pub fn row_selector ( mut self , row_selector : bool ) -> Self {
366- self . row_selector = row_selector ;
365+ pub fn row_header ( mut self , row_header : bool ) -> Self {
366+ self . row_header = row_header ;
367367 self
368368 }
369369
@@ -692,14 +692,14 @@ where
692692
693693 let is_double_click = e. click_count ( ) == 2 ;
694694
695- // When the row selector column is hidden, a single click on the
695+ // When the row header column is hidden, a single click on the
696696 // already-selected cell escalates the selection to the entire row —
697- // giving users a way to pick rows without the dedicated selector column.
697+ // giving users a way to pick rows without the dedicated header column.
698698 // Double-clicks are passed through to `DoubleClickedCell` and never
699699 // trigger the escalation.
700700 let is_reselect = self . selection_mode . is_cell ( )
701701 && self . selected_cell == Some ( ( row_ix, col_ix) ) ;
702- let should_escalate_to_row = !self . row_selector
702+ let should_escalate_to_row = !self . row_header
703703 && self . row_selectable
704704 && is_reselect
705705 && !is_double_click;
@@ -1291,15 +1291,15 @@ where
12911291 . into_any_element ( )
12921292 }
12931293
1294- /// Render the row selector cell (when cell_selectable is enabled)
1295- fn render_row_selector_cell (
1294+ /// Render the row header cell (when cell_selectable is enabled)
1295+ fn render_row_header_cell (
12961296 & self ,
12971297 row_ix : usize ,
12981298 is_head : bool ,
12991299 cx : & mut Context < Self > ,
13001300 ) -> impl IntoElement {
13011301 div ( )
1302- . id ( ( "row-selector " , row_ix) )
1302+ . id ( ( "row-header " , row_ix) )
13031303 . w_3 ( )
13041304 . h_full ( )
13051305 . border_r_1 ( )
@@ -1526,8 +1526,8 @@ where
15261526 . bg ( cx. theme ( ) . table_head )
15271527 . text_color ( cx. theme ( ) . table_head_foreground )
15281528 . refine_style ( & style)
1529- . when ( self . cell_selectable && self . row_selector , |this| {
1530- this. child ( self . render_row_selector_cell ( 0 , true , cx) )
1529+ . when ( self . cell_selectable && self . row_header , |this| {
1530+ this. child ( self . render_row_header_cell ( 0 , true , cx) )
15311531 } )
15321532 . when ( left_columns_count > 0 , |this| {
15331533 let view = view. clone ( ) ;
@@ -1709,8 +1709,8 @@ where
17091709 this. bg ( cx. theme ( ) . table_hover )
17101710 }
17111711 } )
1712- . when ( self . cell_selectable && self . row_selector , |this| {
1713- this. child ( self . render_row_selector_cell ( row_ix, false , cx) )
1712+ . when ( self . cell_selectable && self . row_header , |this| {
1713+ this. child ( self . render_row_header_cell ( row_ix, false , cx) )
17141714 } )
17151715 . when ( left_columns_count > 0 , |this| {
17161716 // Left fixed columns
@@ -1976,8 +1976,8 @@ where
19761976 . border_b_1 ( )
19771977 . border_color ( cx. theme ( ) . table_row_border )
19781978 . when ( is_stripe_row, |this| this. bg ( cx. theme ( ) . table_even ) )
1979- . when ( self . cell_selectable && self . row_selector , |this| {
1980- // Render empty row selector cell for fake rows
1979+ . when ( self . cell_selectable && self . row_header , |this| {
1980+ // Render empty row header cell for fake rows
19811981 this. child (
19821982 div ( )
19831983 . w ( px ( 40. ) )
0 commit comments