DataGrid Demo- Looking for feedback

Hi Jim,
when will be available for pidogScrollingCanvans users ?

Thanks

Luciano

1.0 should be available soon. I think I’ll hold off on the hierarchical stuff until a later release though (that will also include optional rowHeights) I do want to have dragReorderRows available in the initial version.

I’m experiencing a couple of problems with this version.

OS X 10.9.5 Scrollbars disappear but still work. Vertical seems to come back when scale is adjusted. Horizontal stays gone.

Win 7 When scrolling I get 2-3 fps with 1,000 rows

Hi Jim,
any progress ?

Thanks

Yes! I’ve done a tone of work on this. I’ve added dragreorder and rowdrag. Retina looks awesome, and [drumroll] NSScrollers! I’m still on the fence about how to implement hierarchical functions. I may leave that for v2.0 along with rowheight and some other features.

DragReorder is initiated by click-and-hold. And in multiselect mode, only DragReorder OR DragItem are available. With MultiSelect off a DragItem is created immediately on drag and reorder is click-and-hold. In cell selection mode, the selected cells are dragged as tab delimited text with no drag reorder available.

The editable cell is a custom class, so accented characters on mac are not supported yet… not sure if that’s possible. Hmm…

Here’s the current demo DataViewDemo.zip

Looks very nice.

What about:

  • pricing
  • access to at least the encrypted code so that we can have a look at the API
  • database access (NOT via array, that is too slow): Valentina etc.

I’ll be including an encrypted version with piDogScrollingCanvas, currently $80 US including 1 year of updates. I’m considering offering source code licensing.

[quote=137036:@Beatrix Willius]access to at least the encrypted code so that we can have a look at the API
[/quote]
I’ll see if I can get a new version of the piDogScrollingCanvas Demo posted with the DataView in the next couple of days.

[quote=137036:@Beatrix Willius]database access (NOT via array, that is too slow): Valentina etc.
[/quote]
Still looking at this… I could do an “on demand” mode, where you would set the number of rows/columns and the data would be requested at render time.

Nice work! I wouldn’t let the vertical scrollbar go over the heading though.

[quote=137059:@Alexander van der Linden]Nice work! I wouldn’t let the vertical scrollbar go over the heading though.

[/quote]
That’s something I’ve been thinking about. The problem is that when you zoom in/out the header size and position moves. I could put the scrollbar outside of the list area, but that doesn’t seem like a good solution…

Hi Jim,
quick question:

In a Xojo ListBox, you can simply click and drag to reorder. In your listbox, you need to click and hold, then drag.
Is this click-and-hold, then drag - the default behaviour in a native OS X listbox, or is this specific to your listbox?

Thanks.

Good job, I really like it but on Windows the performance is not good. When scrolling the FPS is around 30 max ( which is good ), although when I click on a row, it is being selected after more than 1 second, which is quite bad. It just doesn’t feel responsive.

Yes I noticed that. Could you keep the scrollbar at a relative position, say 1 pixel under the heading, even when it is in a zoomed state?

[quote=137151:@Ashot Khachatryan]Good job, I really like it but on Windows the performance is not good. When scrolling the FPS is around 30 max ( which is good ), although when I click on a row, it is being selected after more than 1 second, which is quite bad. It just doesn’t feel responsive.
[/quote]
I’m looking at this… it seems that any work done during mousedown or mousedrag on windows runs at about 10% the speed it normally would :-/ I might be able to move some things into a timer…

[quote=137157:@Alexander van der Linden]Yes I noticed that. Could you keep the scrollbar at a relative position, say 1 pixel under the heading, even when it is in a zoomed state?

[/quote]
Possibly. I’ll have to see what I can do. I think it would be handy to be able to define a rectangle for the scrollers for other purposes too. (like a status bar that may or may not display across the bottom of a control for example)

Ok, I found a bottleneck in the select/deselect row code.
I’ve added a scrollerbounds property to piDogScrollingCanvas so the scrollers don’t scroll over the header…
Now dragreorder starts on drag if multiselect is off and enabledrag is off.
Should be more responsive on windows.
I also fixed a regression that caused redraws to be unreliable, especially when scrolling down a long list.

Latest version

Ok, I’ve got things sped up, fixed some issues with the NSScrollers. Added onDemand mode!

DataViewDemo-10-29.zip

I tested onDemand mode with 30 million rows with the only problem being a rounding issue that causes the last row to end slightly above the bottom edge of the list… Looks good so far though. In onDemand mode, the dragreorder doesn’t do anything since the cells are just reporting their coords.

Great work Jim and very professionally done. I will play with it more tomorrow and have some additional feedback.

I assume you are drawing the checkboxes yourself (at least on OSX)?

The reason I say that is that I am on Mavericks, and when I change my appearance preference to Graphite the selected checkbox color looks as if my appearance selection was still set to Blue .

I don’t know what checkboxes look like in Yosemite yet, but I suspect they are a bit different than those in Mavericks.

If you need to look OS version appropriate , drawing controls yourself without system calls is dangerous on a Mac because Apple changes things so often. I never wanted to delve that deep (and x-platform too!) so I just work with what Xojo provides in term of UI elements.

I don’t see any pictures in the resource folder of your app bundle, so if you are using system calls to draw the checkboxes make, sure you take into account user preferences if possible.

It looks like you are using REALBASIC.HighlightColor instead of a declare for selected rows… On the Mac, that is not the same as what the native listbox does (usually a darker version), but I think that would matter less than the potential checkbox issue

  • karen

I am drawing checkboxes myself, but the checkbox image is from an actual OS created control at launch. If you have retina, you’ll notice they are full retina resolution. (Zoom in to see the detail)
I could register for a theme notification… NSControlTintDidChangeNotification should work.

New version uploaded.
DataViewDemo-10-31.zip

Fixed some glitches.
Added OS theme support for Mac and win32
Animated row dragging!

A small observation. The return key does not work on the Numeric pad.