[API REVIEW REQUEST] RT-19659 - [TabPane] Support for draggable tabs

Tom Schindl tom.schindl at bestsolution.at
Thu Jul 31 08:46:35 UTC 2014


Hi,

Please see a revised full blown API on the JIRA ticket. See
https://javafx-jira.kenai.com/browse/RT-19659

I think the last API addresses all issues you and Scott have. I still
think the 3-Boolean API proposed would be suffient for u40 and the
Callback-API could be introduced later to give even finer control but
this decision is now up to Steven & Kevin, I've done all I could do as
of now to get this feature in.

Tom

On 30.07.14 14:21, Mikael Grev wrote:
> Wouldn’t you still need to specify the “kind” of drag you are moderating?
> 
> With just a boolean on/off now, a later API where one needs to say what kinds of drags (reorder, between tabpanes and drag out) would be hard to create. 
> One don’t want an API with a master switch AND one for each kind of drag IMO.
> 
> Cheers,
> Mikael
> 
> On 30 Jul 2014, at 10:47, Tom Schindl <tom.schindl at bestsolution.at> wrote:
> 
>> Hi,
>>
>> The proposed API only allows to turn on/off dragging all together.
>>
>> For your usecase I'd envision a future API which would allow one to
>> control the aspects you are asking for like.
>>
>> The API i currently have in mind is but I have not yet explored:
>>
>> // Would allow to cancel dragging of certain tabs
>> tabDndDragStartCallback: BiFunction<TabPane,Tab,Boolean>
>>
>> // Would allow to cancel the dragging of the tab outside the container
>> // == only allows reordering
>> tabDndDragExitedCallback: BiFunction<TabPane,Tab,Boolean>
>>
>> // Would allow the SOURCE to cancel the dragging to a specific target //
>> (could make tabDndDragExitedCallback obsolete)
>> tabDndDragOverTargetCallback: BiFunction<TabPane, Tab, Boolean>
>>
>> // Would allow to cancel the drag over in the TARGET
>> tabDndDragOverCallback: BiFunction<TabPane,Tab,Boolean>
>>
>> // Would allow to cancel the dropping of a tab in a container
>> tabDndDropCallback: BiFunction<TabPane,Tab,Boolean>
>>
>> Tom
>>
>> On 30.07.14 10:27, Mikael Grev wrote:
>>> That is decidedly awesome!
>>>
>>> Is there some other way of deciding whether to to do one or the other? I mean one might want to reorder but not drag to another pane.
>>>
>>> Cheers,
>>> Mikael
>>>
>>> On 30 Jul 2014, at 10:09, Tom Schindl <tom.schindl at bestsolution.at> wrote:
>>>
>>>> No - it allows also to drag the tab to another TabPane as well and in
>>>> future outside the window to detach it.
>>>>
>>>> Tom
>>>>
>>>> On 30.07.14 10:07, Eric Le Ponner wrote:
>>>>> Hi Tom,
>>>>>
>>>>> I wonder if we should really use the wording « dnd ».
>>>>> The feature is really to enable the user to re-order the tabs 
>>>>> inside a TabPane, right ?
>>>>>
>>>>> So may be:
>>>>>
>>>>> public boolean isTabReorderingEnabled();
>>>>> public void setTabReorderingEnabled(boolean tabReorderingEnabled);
>>>>> public BooleanProperty tabReorderingEnabledProperty();
>>>>>
>>>>> Eric
>>>>>
>>>>> PS: I’m assuming you don’t expect this gesture to work between two different TabPanes.
>>>>>
>>>>>
>>>>>
>>>>> Le 30 juil. 2014 à 09:35, Tom Schindl <tom.schindl at bestsolution.at> a écrit :
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'd like you to review the API proposed to make TabPane Tabs draggable.
>>>>>>
>>>>>> The proposed public API only allows to put the TabPane in DnD mode:
>>>>>>
>>>>>> public boolean isDndEnabled()
>>>>>> public void setDndEnabled(boolean dndEnabled)
>>>>>> public BooleanProperty dndEnabledProperty()
>>>>>>
>>>>>> Tom
>>>>>
>>>>
>>>
>>
> 



More information about the openjfx-dev mailing list