Modelling a drag & drop between two Browsers

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Modelling a drag & drop between two Browsers

Frank Shearar-3
The problem is this: I like having my Browser remember its place, more
or less, when things disappear.

Say I have two Browsers open. I want to move a class between system
categories so I click on my victim and drag it to the other Browser's
system category list. I drop it there, and the move takes place. But I
lose my place in the source Browser. I want the source Browser to
select the class either immediately before the removed class or
immediately after. Not fussed which.

Now the process starts in #dragFromClassList: in the source Browser
and ends in #dropOnSystemCategories:at: in the target Browser.

Calling #selectClassNamed: in the source Browser in
#dragFromClassList: is premature because the drag hasn't happened yet,
and things get weird. But how can I tell the source Browser "ok, the
drag's done; select the class next to where the moved class was" ?

frank

Reply | Threaded
Open this post in threaded view
|

Re: Modelling a drag & drop between two Browsers

Chris Muller-3
I hate to ask, but could the old selection _index_ have help here?

Besides that, I don't know whether something could be done in
TransferMorph>>#justDroppedInto:event:.  TransferMorph knows his
"source" is that the source browser?  If so, maybe it could be told to
do some kind of post-op?

On Tue, Jul 2, 2013 at 2:34 PM, Frank Shearar <[hidden email]> wrote:

> The problem is this: I like having my Browser remember its place, more
> or less, when things disappear.
>
> Say I have two Browsers open. I want to move a class between system
> categories so I click on my victim and drag it to the other Browser's
> system category list. I drop it there, and the move takes place. But I
> lose my place in the source Browser. I want the source Browser to
> select the class either immediately before the removed class or
> immediately after. Not fussed which.
>
> Now the process starts in #dragFromClassList: in the source Browser
> and ends in #dropOnSystemCategories:at: in the target Browser.
>
> Calling #selectClassNamed: in the source Browser in
> #dragFromClassList: is premature because the drag hasn't happened yet,
> and things get weird. But how can I tell the source Browser "ok, the
> drag's done; select the class next to where the moved class was" ?
>
> frank
>

Reply | Threaded
Open this post in threaded view
|

Re: Modelling a drag & drop between two Browsers

Frank Shearar-3
For once, yes, the no-semantic-info-just-ui-info index would have been
handy here :)

OK, so a TransferMorph is that blue labelled rectangle that appears
during the drag part of the operation? I'll take a look at that and
see if I can join the post-drag dots there.

Thanks!

frank

On 3 July 2013 02:37, Chris Muller <[hidden email]> wrote:

> I hate to ask, but could the old selection _index_ have help here?
>
> Besides that, I don't know whether something could be done in
> TransferMorph>>#justDroppedInto:event:.  TransferMorph knows his
> "source" is that the source browser?  If so, maybe it could be told to
> do some kind of post-op?
>
> On Tue, Jul 2, 2013 at 2:34 PM, Frank Shearar <[hidden email]> wrote:
>> The problem is this: I like having my Browser remember its place, more
>> or less, when things disappear.
>>
>> Say I have two Browsers open. I want to move a class between system
>> categories so I click on my victim and drag it to the other Browser's
>> system category list. I drop it there, and the move takes place. But I
>> lose my place in the source Browser. I want the source Browser to
>> select the class either immediately before the removed class or
>> immediately after. Not fussed which.
>>
>> Now the process starts in #dragFromClassList: in the source Browser
>> and ends in #dropOnSystemCategories:at: in the target Browser.
>>
>> Calling #selectClassNamed: in the source Browser in
>> #dragFromClassList: is premature because the drag hasn't happened yet,
>> and things get weird. But how can I tell the source Browser "ok, the
>> drag's done; select the class next to where the moved class was" ?
>>
>> frank
>>
>