Drag-able tab control?

  1. 2 months ago

    Edwin v

    Jan 10 Pre-Release Testers The Netherlands
    Edited 2 months ago

    I was wondering if there is a drag-able tab-like control out there...

    In software like Photoshop there are quite a few panels with tabs that can be dragged to change the workspace. I have been thinking about making these kind of panels myself, based on container controls.

    But why re-invent the wheel if there like this is already out there.

    Hm...dragging a tab into a different tab panel is doable but challenging. We sell the control with 100% source code so you can modify as you see fit.

    @Edwin vden ;Akker What I was first hoping for was a way to have a group of panels with tabs. (kind of how the standard tab-panel works, but with your appearance.)

    Our tabs will work with a page panel. That's in the Demo.

  2. brian f

    Jan 10 Pre-Release Testers, Xojo Pro Chilly California

    Bkeeney Software has a Tab Control Tab Control

    Maybe check it and see if it is what you are looking for

  3. Edwin v

    Jan 10 Pre-Release Testers The Netherlands

    @brian f Bkeeney Software has a Tab Control

    Thanks... not exactly what I was looking for. But I think I can make it work. Movable panels is not required for what I have in mind...

    I'll go check it out!

  4. Bob K

    Jan 10 Pre-Release Testers, Xojo Pro Kansas City

    @brian f Bkeeney Software has a Tab Control Tab Control

    Maybe check it and see if it is what you are looking for

    Our BKS Tab Control currently does not have drag reordering of tabs. BUT, we are looking into how hard it would be to add it. Probably won't get to it today but you never know.

  5. brian f

    Jan 10 Pre-Release Testers, Xojo Pro Chilly California

    @Bob K Our BKS Tab Control currently does not have drag reordering of tabs. BUT, we are looking into how hard it would be to add it. Probably won't get to it today but you never know.

    Cool

    Ya I was just trying to give him a lead to something that might fit his situation or he could make it work

  6. Edwin v

    Jan 10 Pre-Release Testers The Netherlands

    @Bob K BUT, we are looking into how hard it would be to add it.

    I downloaded the demo. Looks awesome.
    What I was first hoping for was a way to have a group of panels with tabs. (kind of how the standard tab-panel works, but with your appearance.)
    And that individual tabs can be dragged into other groups of panels.
    Photoshop has that to re-arrange several property panels to adjust the user's workspace.

    But maybe I am just making things over complicated. That's why I was looking for existing solutions. And yours looks nice and is theme-able.

  7. Bob K

    Jan 10 Pre-Release Testers, Xojo Pro Answer Kansas City

    Hm...dragging a tab into a different tab panel is doable but challenging. We sell the control with 100% source code so you can modify as you see fit.

    @Edwin vden ;Akker What I was first hoping for was a way to have a group of panels with tabs. (kind of how the standard tab-panel works, but with your appearance.)

    Our tabs will work with a page panel. That's in the Demo.

  8. Edwin v

    Jan 10 Pre-Release Testers The Netherlands
    Edited 2 months ago

    @Bob K Our tabs will work with a page panel. That's in the Demo.

    I saw that. That makes it very flexible.

    @Bob Keeney Hm...dragging a tab into a different tab panel is doable but challenging.

    Before I was trying to create a transparent DragItem with an image blank image (color of the panel's background) and the size of the panel.
    As RawData I just passed the ID of the panel. So, when dragged into another panelgroup, it will remove the content from one group and adds it to the new group.

    For a "panel receiver" I thought about using a PagePanel. When dragging the DragItem over the "receiver", it checks if the UTI matches. I set the UTI of the dragitem to be something that can hold a dynamic groupType name. So, I can somehow make some PanelGroups accept certain panels, and refuse others, that don't match the groupType.
    That way I can keep property panels together with other property panels... and panels I use for viewers or editors together with other viewers and editors.

    What I try to make is a Subtitle Editor. I had one that works with SRT and Netflix in the past. But want to make a better one. One that has more the look and feel of software most video editors use. I use Premiere. So, I want to get the look and feel of the Adobe software to make it easier to use for people already familiar with that software.
    Of course it will not be a 100% match. But close enough.

    A timeline will be one type of PanelGroup. Caption, Track and Project property panels will be another. And a third group would be the viewer, with a captioned-video display (a canvas showing the current frame, with caption, timecode, safe-area overlays, etc)

  9. Tim P

    Jan 10 Pre-Release Testers feedback://46303

    @Edwin vden ;Akker IWhat I was first hoping for was a way to have a group of panels with tabs. (kind of how the standard tab-panel works, but with your appearance.)

    Mac, Windows, and Linux all handle TabPanel a little differently. Mac tab panels are just pills at the top. I know Windows will do multiple rows. I don't actually understand your request, as neither really has "grouping." Would you be able to mock something up in regard to grouping?

    @Edwin van den Akker But maybe I am just making things over complicated. That's why I was looking for existing solutions.

    You could use BKS_TabControl with a PagePanel for the most simple implementation.

  10. Edwin v

    Jan 10 Pre-Release Testers The Netherlands

    @brian f Bkeeney Software has a Tab Control Tab Control

    Hey Bob,

    I Just bought the classes.
    So, I will just add them to my project and Bob's my uncle... er...

    Thanks!

  11. Bob K

    Jan 10 Pre-Release Testers, Xojo Pro Kansas City

    @Edwin vden ;Akker I Just bought the classes.

    We appreciate your support. Let us know if you have any questions. It's faster to contact us via support@bkeeney.com

  12. Jean-Yves P

    Jan 10 Pre-Release Testers, Xojo Pro Europe (France, Besançon)
    Edited 2 months ago

    you also have this free (but old) tabpanel from alex restrepo
    it can drag tabs.
    https://github.com/alexrestrepo/RBCustomTabPanel

    it helped me a lot to understand and make columns drag in a listbox.

  13. Richard D

    Jan 11 Pre-Release Testers, Xojo Pro Europe (UK, London)

    @Jean-YvesPochez you also have this free (but old) tabpanel from alex restrepo
    it can drag tabs.
    https://github.com/alexrestrepo/RBCustomTabPanel

    it helped me a lot to understand and make columns drag in a listbox.

    column drag listbox??? sound interesting!! i didn't know xojo can do that. so far i try row drag in listbox.

  14. Jean-Yves P

    Jan 11 Pre-Release Testers, Xojo Pro Europe (France, Besançon)
    Edited 2 months ago

    not completely smooth but almost working ...

    -image-

  15. Richard D

    Jan 11 Pre-Release Testers, Xojo Pro Europe (UK, London)

    @Jean-YvesPochez not completely smooth but almost working ...

    -image-

    that is soooo cool... does it keep the column setup when close and open the form again??
    what magic did u use to do that??

  16. Richard D

    Jan 11 Pre-Release Testers, Xojo Pro Europe (UK, London)

    @Richard D https://github.com/alexrestrepo/RBCustomTabPanel

    i used this control on my application tooo.. i have multiple address for a client and i generate x num of tabs if there is x number of address.

    also i have no idea you can move the tab

  17. Jean-Yves P

    Jan 11 Pre-Release Testers, Xojo Pro Europe (France, Besançon)

    @Richard D that is soooo cool... does it keep the column setup when close and open the form again??
    what magic did u use to do that??

    for now it is a proof of concept... but yes it could keep the column order if I want to.

    detect the drag in mousedown event
    make a picture of the column in the mousedrag event and initiate the drag
    live-exchange the columns in the dragover event

  18. Richard D

    Jan 11 Pre-Release Testers, Xojo Pro Europe (UK, London)

    @Jean-YvesPochez for now it is a proof of concept... but yes it could keep the column order if I want to.

    detect the drag in mousedown event
    make a picture of the column in the mousedrag event and initiate the drag
    live-exchange the columns in the dragover event

    thanks Jean-yves, will have a play with it when i have the time.
    at least i know it is possible.

  19. 6 weeks ago

    Tim P

    Feb 8 Pre-Release Testers feedback://46303

    An update for this thread, the BKS Tab Control can now drag-rearrange tabs :)

    -image-

    Enable or disable drag rearrange with a simple switch in the IDE. A TabOrderChanged event is raised when the user performs a rearrange. More information and a demo project can be found at the website https://www.bkeeney.com/allproducts/bks-tab-control/

or Sign Up to reply!