Hi Paul, Some years back Scott Rossi created a nifty little demo called GetInLine that shows how to do the interface part of drag-reordering. It’s in his archive at http://tactilemedia.com/blog/2018/05/12/blasts-from-the-past/. It might give you a good foundation, even if you don’t use the exact interface he created.
I don’t think the data part of it should be too hard; just make sure you keep the visible list and the custom property synched the same. Or you could possibly use hidden text or metadata tags in you visible list to embed the type for each line. Hope this helps. - Devin > On Jul 16, 2021, at 9:06 AM, Paul Dupuis via use-livecode > <use-livecode@lists.runrev.com> wrote: > > I have a scrolling list field that has contents like: > > name1 > name2 > nameA > name3 > name4 > name5 > nameB > name6 > name7 > nameC > name8 > etc. > > the field has a custom property with the contents and a "type" for each name, > so the data in the custom property look like: > > code<tab>name1 > code<tab>name2 > folder<tab>nameA > code<tab>name3 > code<tab>name4 > code<tab>name5 > folder<tab>nameB > code<tab>name6 > code<tab>name7 > folder<tab>nameC > code<tab>name8 > etc. > > The type for each line can be either 'code' or 'folder'. I am trying to craft > code for the field script that supports dragging a line that is a 'code' or > 'folder' onto a line that is a 'folder'. You can not drag a 'code' or > 'folder' onto a 'code' line. > > I have a dragStart, dragMove and dragEnd handlers, but something is off with > my code with regard to autoscrolling the field. (the actual list of names is > much longer than my example above). When dragging near the bottom of the > field, I try to detect if I am within a textHeight of the bottom of the field > (or top if scrolling up) and and scroll the field, but it is very jerky. The > user must keep moving the mouse around slightly so that continual dragMove > messages are sent and I have other problems with highlighting the destination > line when you are over a 'folder' that you can drop on. > > Does anyone have some "best practice" code for this capability that they > would be willing to share? I admit coding drag and drop operations in LC is > one of the areas I am least familiar with. > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode Devin Asay Director Office of Digital Humanities Brigham Young University _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode