Live Editable Listbox/Grid

ListBox Wishlist

Wondering if that experienced group here is willing to give me some feedback on features that i may missed while creating a Subclassed ListBox.

Background: I strongly believe (now…) in Cross-Plattform Environment and on native UI-Interfaces. While i just started some weeks ago with Xojo, at the beginning frustrated from the ListBox, i know kindly love the IDE and Controls with all their ‘habits’. Anyhow, i believe also that success with Xojo is related to a master set of own subclassed controls which meet the needs your typical development projects have. When it comes to the ListBox thats for me mainly:

  • A decent amount of rows (<1000) at one time
  • LiveEditing with all available and custom controls per cell
  • Sticky Left Column for the use as a kind of property list
  • HeaderRows through all columns that can expand a group of Rows (like a property List)
  • Works mainly with Dictionarys as Source and is able to use attributes from properties of classes through introspection (like ReadOnly, DataTypes, Source for Dropdown’s) etc.
  • My main usage is to present and select data, edit some cells with real controls (each cell different), means speed an mil of rows is not my use case
  • Tree View

Here two Screenshots of the current version (each screen has 3 ListBoxes on it) do give you an idea:


The following Screenshot shows the available settings for Inspector and the currently supported controls (internal) but also able to handle any custom control that is inherited from RectControl:

Now back to why i am posting this, i am looking for feedback on feature and function e.g. what i forgot, what issues to focus on etc.
Any feedback is highly appreciated, i am afraid that i may don’t see the forest anymore while staring at one tree.

Oh and no it’s not a 3rd party add-on discussion i need, i have the need for 100% source code IP rights and can’t use any of the available great controls/libs/plugin’s out there. So it’s close to xmas and i wonder if you are willing to share your wish list for a listbox with me… i am sure i have read all conversations about ListBox from the last 5 years… so, newbie stuff won’t help :slight_smile:

Thanks in advance
Stefan

no wishes? no feedback?

This looks really good. Not sure what more needs to be added, since you seem to have added everything I can think of. Good job!

Also a demo executable for all 3 platforms, would be great.

If you’re planning on offering this to other Xojo developers… I think one the most desired features would be variable row height.

Offering is currently not the plan, Open Source one day maybe.
Variable RowHeight, beside the DefaultRowHeight each RowHeight can be set by code already. Beside Headers i didn’t had an idea for a real UseCase for it (beside using it like a XLS Sheet). I guess that also means each row and cell should be able to carry it’s own Text/TextUnit property inherited from the ListBox property and something like WordWrap and AutoSizeRowHeight based on the space needed for the Text/Value. Am i right? Or what is the UseCase you have in mind?
Btw THANKS for taking the time

[quote=141463:@Ashot Khachatryan]This looks really good. Not sure what more needs to be added, since you seem to have added everything I can think of. Good job!

Also a demo executable for all 3 platforms, would be great.[/quote]

You’ right, makes even sense for test purposes, will post a link when i made one, Thanks for the hint

This Screenshot maybe explains better the LiveEdit feature, the pure text cell can be edited any time like in XLS sheets

Getting the Demo ready soon, great experience

[quote=141463:@Ashot Khachatryan]This looks really good. Not sure what more needs to be added, since you seem to have added everything I can think of. Good job!

Also a demo executable for all 3 platforms, would be great.[/quote]

Here are the demo’s:
cmdListBoxDemo-Windows
cmdListBoxDemo-OSXCocoa
cmdListBoxDemo-Linux

Control is PreBeta but good enough to play with, some stuff in the Demo isn’t finished yet but with the script you can set all supported Types. Settings Tab, Content Tab and the main ListBox are all the custom cmdListBox. The Settings ListBox is populated with Inspection of the live demo ListBox. Updates through values goes the same way around.

Any Feedback is appreciated and very helpful.

Unfortunately on WIndows 8 64bit it is not working. It just becomes unresponsive and in the task manager there is 20% cpu usage.

Under Win7 64 strange, flashy behaviour, irresponsive.

Thank’s for the Feedback, will look at Win asap

Hi Stefan,

You might want to have a look at PropertyListbox I created a few years ago.
Maybe some of its features are missing in your Listbox, and that will give you ideas to make it even better.

http://www.jeremieleroy.com/products/propertylistbox.php

I am very curious as to how you are able to embed any rectcontrol in a Listbox Cell.

Would you mind sharing some information about this in this thread or by PM/email ?

[quote=142809:@JrmieLeroy]Hi Stefan,

You might want to have a look at PropertyListbox I created a few years ago.
Maybe some of its features are missing in your Listbox, and that will give you ideas to make it even better.

http://www.jeremieleroy.com/products/propertylistbox.php

I am very curious as to how you are able to embed any rectcontrol in a Listbox Cell.

Would you mind sharing some information about this in this thread or by PM/email ?[/quote]

Jrmie,
your PropertyListbox gave me the hope to achieve the goals with the XOJO ListBox! Still many ideas on the table but the current feature set is delivering what i need for the project that caused the demand. Your listbox is always a great source for inspiration, you have all my respect for this work!

No tricky stuff behind the scenes just creativ use of Container’s, RectControl as Superclass from each Control in use, EmbedWithin and logic who know’s when to invisible controls. As each cell has a own control this gets very slow if you have 1000 Rows with 10 Columns. But for my needs (max. 2000 Controls per ListBox) it works ok. More details anytime by PM/email.