nappgui_src icon indicating copy to clipboard operation
nappgui_src copied to clipboard

TableView

Open devilsclaw opened this issue 3 years ago • 3 comments

Hi,

I am looking to port a java application to nappgui, but the main part of the program has a table that has editable elements. I was wondering the status / progress of the TableView code and what all needs done before its functional. I have no problems contributing time and code to make it work either.

Thanks

devilsclaw avatar May 06 '22 15:05 devilsclaw

Hello @devilsclaw! First of all thank you very much for considering NappGUI to develop your project.

Currently the development of the TableView control is stopped. Other priorities have been appearing, but this may be a good opportunity to resume its development.

The main drawback of this component is the great difficulty of creating a wrapper over the native controls (WC_LISTVIEW, NSTableView and GtkTreeView) so that they work in the same way on all three platforms.

On the other hand, the idea is to provide the NAppGUI TableView with total flexibility when defining the content of the columns/cells (Text, images, CheckBox, EditBox, PopUp, ProgressBar, etc).

For these reasons I made the decision to create a custom control in NAppGUI and discard the native controls. The first step was the creation of the ListBox control, whose drawing and management is done completely in NAppGUI from a View control. https://nappgui.com/en/gui/listbox.html

Give me a few days to study the case and recover the code that I have in my private repository. If I see it feasible, I will create a branch with the implementation of the main skeleton of the component. If you have time and can work out some details, that would be a great help.

We are in contact, Greetings

frang75 avatar May 06 '22 19:05 frang75

Thanks for the response, I will be waiting to see.

devilsclaw avatar May 06 '22 21:05 devilsclaw

I begin the review/implementation of TableView control. I will continue next days.

GitHub branch: https://github.com/frang75/nappgui_src/tree/TableView

Documentation: https://nappgui.com/en/gui/tableview.html

Example app: https://nappgui.com/en/howto/guihello.html#h8

DONE

  • Adding columns (only text)
  • Set column width
  • Table-Data connector
  • Mouse-over highlight
  • Select a row (clicking)
  • Row navigation with keyboard (up/down)
  • Mouse wheel (up/down)
  • Table Scrollbars

TODO (basic implementation)

  • Column resizing with mouse
  • Draw column headers
  • Text editing in cell
  • Multiple selection
  • Icon in cell
  • Checkbox in cell

TODO (advanced implementation)

  • Data binding
  • PopUp cell
  • More...

frang75 avatar May 08 '22 16:05 frang75

Hi @devilsclaw !

TableView support has been improved for NAppGUI 1.3

https://nappgui.com/en/gui/tableview.html

Complete for Windows and Linux. macOS is not complete yet.

frang75 avatar Dec 26 '22 14:12 frang75

TableView support has been finished in NAppGUI 1.4.

frang75 avatar Jan 05 '24 05:01 frang75