8000 Use buffer to load data (as in Vitables) · Issue #33 · larray-project/larray-editor · GitHub
[go: up one dir, main page]

Skip to content

Use buffer to load data (as in Vitables) #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree 8000 to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
alixdamman opened this issue Jul 17, 2017 · 6 comments
Open

Use buffer to load data (as in Vitables) #33

alixdamman opened this issue Jul 17, 2017 · 6 comments

Comments

@alixdamman
Copy link
Contributor
alixdamman commented Jul 17, 2017

See https://github.com/uvemas/ViTables/tree/master/vitables/vttables

@alixdamman alixdamman changed the title Load only data to view (as in vitables) instead of using fetchmoreRows/Columns Use buffer to load data Aug 18, 2017
@alixdamman alixdamman changed the title Use buffer to load data Use buffer to load data (as in Vitables) Aug 18, 2017
@alixdamman alixdamman modified the milestones: 0.2, 0.25.1, 0.26, 0.27 Aug 28, 2017
@alixdamman alixdamman modified the milestones: 0.27, 0.28 Nov 10, 2017
@alixdamman
Copy link
Contributor Author

@gdementen given that only a subset of the whole array is loaded using the buffer, I guess filters should be restricted to that subset. So, I wonder if the filters shouldn't be populated by the adapter instead of inside the method set_data of class ArrayEditorWidget?

@alixdamman alixdamman self-assigned this Dec 12, 2017
@alixdamman alixdamman modified the milestones: 0.28, 0.29 Dec 15, 2017
@alixdamman alixdamman modified the milestones: 0.29, 0.28 Jan 12, 2018
@alixdamman
Copy link
Contributor Author

@gdementen Could you provide a use case?

@alixdamman alixdamman modified the milestones: 0.28, 0.29 Feb 15, 2018
@gdementen
Copy link
Collaborator

Did you already do something concerning this issue? If n 8000 ot, I'd like to tackle it.

@alixdamman
Copy link
Contributor Author

I was waiting for a specific use case. Make yourself pleasure.

@gdementen
Copy link
Collaborator
gdementen commented May 17, 2018

I have something which works mostly. Remaining TODO:

  • editing values
  • paste
  • update colors when changing values (via edit or paste)
  • fix selected cells on paste
  • add support for object arrays with mixed numeric/string type
  • make headers/labels unselectable
  • investigate why big1d scrolling is slow
  • enlarging the buffer automatically when trying to select more than we have loaded (I probably need to resurrect "load_more_rows/cols" which I just killed).
  • enable scrolling by moving the selected cell with the keyboard (arrows/pgup/pgdown/...)
  • make selection using shift+arrows/pgup/... work
  • "move" selection when scrolling via scrollbars. it will be tricky to get the selection back when we re-scroll back in the area where the selection is visible. I guess I will have to store somewhere the selection in global coordinates.
  • a lot of cleanup
  • make the buffer initial size larger (the current small size is easier for testing)
  • (nice to have) disable gradient chooser for string arrays
  • (nice to have) when scrolling, reuse data the model already has (intersection with new data) and only request data the model does not have
  • (nice to have) create adapter for pytables.Table object
  • (nice to have) do not actually enlarge the buffer when the selection is larger than the buffer, just store the first_selection_corner somewhere. It would be much faster this way and we could avoid loading a lot of data in the model (which is slow).

@gdementen
Copy link
Collaborator

In case I am hit by a bus, here is what I have so far:
https://github.com/gdementen/larray-editor/tree/buffer
(this is not yet ready for review though)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants
0