Drag and Drop implementation?


#1

I’m wondering if Panorama X will implement “drag and drop” between List objects and Matrix objects.

I have used this feature in Pan6 and it works well. As I explore PanX, I have learned about dragging within a matrix object but can’t find anything related to dragging between two “super objects.”

The Pan6 superobject command that allowed me to determine what cell was under the mouse on drop was the “PointToCell” command within the SuperObject statement.

Are these features available, but maybe re-named or put somewhere else?

Again - I’ve only had the new app for a few days… any info related to drag and drop would be great.

I’m attempting to convert this database from Pan6 - not going so well yet…

Thanks,

Doug


#2

The Panorama 6 version of drag-and-drop was very tightly tied to the way drag-and-drop was implemented in classic MacOS, in other words, pre-OS X systems. OS X does this completely differently. Rather than try to get the old system to work, Panorama X has a completely new drag-and-drop system that uses the new OS X (er, macOS) technology. For the very small number of users that ever implemented this, you will have to re-do this part of your databases.

For dragging within a Text List or Matrix, I covered that in the training videos about those objects. There is also discussion about how to find out what cell was clicked on, and what object within a matrix cell was clicked, and it’s dimensions. This is much easier to do than in Panorama 6.

For dragging between objects, I haven’t covered that in a class yet. It can be done, though. I believe the View Organizer wizard may do exactly what you are imagining, so you can reverse engineer it. One key – in Panorama 6 any object could receive a drag if you gave it a special name, but in Panorama X only Drag Receiver objects can receive a drag. If you haven’t seen it, the Basics video demonstrates the View Organizer about half way thru, you’ll see the drag and drop between two matrixes (I don’t say that is what is happening, but you’ll recognize it when you see it).


#3

Thanks for getting me going in the right direction - I was able to get in pretty deep. After analyzing the drag and drop procedures within the view organizer, the conversion from Pan6 to PanX should be fine. I have been experiencing repeated crashes and the rainbow beach ball spinning after every mouse click once the large matrix was created, however.

Here is what I am attempting:

  1. Create a new database by importing a text file containing 4 columns of data and 432 records
  2. Create a new form
  3. Create a matrix with 12 columns and 36 rows on the new form. The matrix is displaying data from two columns in each cell.
  4. After the matrix appears, any adjustments to the matrix arrangement, frame, scroll bars or options produces a spinning rainbow ball for about 3-5 seconds after every mouse click. The matrix updates when ball disappears.
  5. If I attempt to adjust the matrix frame at all, I sometimes get a crash, but sometimes not.
  6. I moved the text object in the matrix frame to the left with the mouse, but the actual text didn’t follow. The matrix display did update correctly - only the matrix frame did not.
  7. I clicked back and forth from graphics to data mode thinking the frame would update - it did not.
  8. Selecting “Refresh Matrixes” also did not correct the Matrix Frame.
  9. Only when I closed and re-opened the form did the text appear correctly inside the actual text box.
  10. The whole database runs very slow with this form open. When a matrix cell is clicked, it takes about 1.5 seconds for the data sheet item to highlight. Seems unusual for things to slow down that significantly. When in Pan6, no such issues exist and clicking is virtually instantaneous.
  11. Here is a screen shot showing the selected text box grab boxes to the left of the text it should be displaying:

Thoughts?

A restart of the app seemed to speed things up slightly, but still getting the spinning rainbow ball when making adjustments to the matrix object.


#4

I brought this observation up with Jim sometime ago and he pretty much said he had spent all the time on the Matrix Object that he intended. He noted that single column matrices are very fast. I have many very large matrices that all operate much slower than I would like (in the range you noted) and I guess I’ll just have to live with them. I have even considered trying to make a single row or column matrix for each of those existing in the large matrix just to see if things would be any faster with that complicated scheme.


#5

Thanks for the reply - I did discover significant speed increases after creating variables filled with the data arrays I needed, rather than using the Matrix Object to re-generate it’s matrix arrays from scratch via a database scan every time a redraw or change occurs.

With using variables loaded with array data for the Matrix Objects, the MO simply accesses the existing variable based array when needed. After that it’s just a matter of coding the actions you need to affect the array. Then, push the changes into the data sheet - again more coding, but significantly faster. I did the same thing in Pan6 also…