Skip to content

NeoUI - Table headers + main table API + section X-axis scrolling#1871

Open
nullsystem wants to merge 1 commit intoNeotokyoRebuild:masterfrom
nullsystem:NeoUITable
Open

NeoUI - Table headers + main table API + section X-axis scrolling#1871
nullsystem wants to merge 1 commit intoNeotokyoRebuild:masterfrom
nullsystem:NeoUITable

Conversation

@nullsystem
Copy link
Copy Markdown
Collaborator

@nullsystem nullsystem commented Mar 20, 2026

Description

NeoUI table headers and main table API implemented, now have Begin/EndTable and NextTableRow implementation replacing the previous custom paint + button. Now can just layout the table cells with widgets, although at the moment only NeoUI::Label are properly utilized and dealt with. Other widgets are not refactored up for tables yet.

The table headers now have dragable resizing and the server browser now have tags and IP address columns, where tags are visible and IP address hidden by default. There's also right-click on the header to show/hide columns.

Sections now have X-axis scrolling, mainly used for table and header scrolling support. Tabs now have its own managed X-axis scrolling separated from section X-axis scrolling.

OTHERS:

  • Fix SDR/Steam networking server bot vs player number count
  • Fix border in smaller resolutions

TODOs:

  • Fixup tab X scrolling
  • Extra filtering
  • More columns parity to legacy browser

FUTURE TODOs:

  • Refactor painting of widgets to utilize vgui viewports
  • Possible split of painting (and colors) from NeoUI internals
  • Vertical layouting that expands horizontally as oppose to the default horizontal layouting that expands vertically
  • Save headers size layouts, filters, and create server options
  • Moved for later PRs:
    • Change from only header to any sections to reference other section's scrolls
    • Section X-scrollbar controls options/flags
      • Modes:
        • No X-scrollbar
        • Indicator/thin X-scrollbar
        • Dragable/thick X-scrollbar
    • Using BeginTable will automatically put the section into Dragable/thick X-scrollbar mode

BRANCH RELIES ON THIS:

Toolchain

  • Linux GCC Distro Native GCC 15/Arch Linux

Linked Issues

@nullsystem nullsystem force-pushed the NeoUITable branch 3 times, most recently from 81441b7 to 0795867 Compare March 25, 2026 22:40
@nullsystem nullsystem force-pushed the NeoUITable branch 5 times, most recently from d7fcb71 to 11033a5 Compare March 29, 2026 22:36
NeoUI table headers and main table API implemented, now have
Begin/EndTable and NextTableRow implementation replacing the
previous custom paint + button. Now can just layout the table
cells with widgets, although at the moment only NeoUI::Label
are properly utilized and dealt with. Other widgets are not
refactored up for tables yet.

The table headers now have dragable resizing and the server
browser now have tags column. There's also right-click on
the header to show/hide columns.

Sections now have X-axis scrolling, mainly used for table and
header scrolling support.

Re-done NeoUI::Tabs scrolling, now it's held externally and
its own thing.

OTHERS:
* Fix SDR/Steam networking server bot vs player number count
* Fix border in smaller resolutions
* Added IP Address (hidden by default) column

TODOs:
* Section X-scrollbar controls options/flags
  * Modes:
    * No X-scrollbar
    * Indicator/thin X-scrollbar
    * Dragable/thick X-scrollbar
  * Using BeginTable will automatically put
    the section into Dragable/thick X-scrollbar
    mode
* Some TODOs in source code
  * Change from only header to any sections to reference other
    section's scrolls

FUTURE TODOs:
* Refactor painting of widgets to utilize vgui viewports
* Possible split of painting (and colors) from NeoUI internals
* Vertical layouting that expands horizontally as oppose to the
  default horizontal layouting that expands vertically

* fixes NeotokyoRebuild#1566
* fixes NeotokyoRebuild#994
* fixes NeotokyoRebuild#1815
@nullsystem nullsystem marked this pull request as ready for review March 29, 2026 22:59
@nullsystem nullsystem changed the title [WIP] NeoUI - Table headers + main table API + section X-axis scrolling NeoUI - Table headers + main table API + section X-axis scrolling Mar 29, 2026
@nullsystem nullsystem requested a review from a team March 29, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant