Support on spliting rate between two dockable

This forum is used by users to request and discuss new product features. Please do not use this forum for technical support including bug reports.

Moderator: JIDE Support

Forum rules
Product suggestions only. Please do not use this forum for technical support including bug reports.

Support on spliting rate between two dockable

Postby tomerbd09100 » Sun Nov 22, 2009 12:52 am

Hi,

I have use for several years the FlexDock platform for docking frames, FlexDock API enable to dock a frame inside another frame and to specify the split pane divider location - (probably implementing using splitPane.setDividerLocation(0.25);), I Think it would be very usefull for application to have this API.

Thanks, Tomer.
tomerbd09100
 
Posts: 11
Joined: Sat Nov 21, 2009 11:50 pm

Re: Support on spliting rate between two dockable

Postby JIDE Support » Mon Nov 23, 2009 9:10 am

We didn't provide an API like setDividerLocation. User could get the ContainerContainer by calling DockableFrame's getParent().getParent() then call JideSplitPane#setDividerLocation but this is not part of the docking framework API. The docking framework could form a very complex layout without many split panes. I would think it is too much if letting user explicitly specifies the divider location of each split pane. Right now the divider location is determined by the preferred size of the dockable frames. For example, if a split pane holds two frames horizontally, one frame's preferred width is 100, the other is 300, then no matter how width the whole split pane is, the divider will be at 25% of the whole width. Please also note, since we support dockable frame tabbing as a tabbed pane, the final preferred size of the dockable frames could change when it is docked with other dockable frames which have a different preferred size. In this case, we will use the preferred size of the tabbed pane to determine the divider location.
JIDE Software Technical Support Team
JIDE Support
Site Admin
 
Posts: 37219
Joined: Sun Sep 14, 2003 10:49 am

Re: Support on spliting rate between two dockable

Postby tomerbd09100 » Mon Nov 23, 2009 10:37 pm

Hi,

I do not agree with that it is too much to let the user explicit define the split rate, flexDock support this for many year and from a developer perspective it is very important. Of course you can set it as a optional parameter.
The preferred size is not good enough for cases when you recognize the dockble frame and know how much space you want it to be span, this is not a practical approach to managed the preferred size of each component just for have controll over the split rate, I really think it will be nice if you can help us with this.

Thanks, Tomer.
tomerbd09100
 
Posts: 11
Joined: Sat Nov 21, 2009 11:50 pm

Re: Support on spliting rate between two dockable

Postby JIDE Support » Mon Nov 23, 2009 10:46 pm

Before I jump to any conclusion, maybe you can help me understand all the APIs in FlexDock that are related to this feature. Just a high level overview. Forgive me that I didn't and probably never will look into their code so that I don't get influenced by their APIs.

In term of JIDE Docking Framework, there is no public API related to JideSplitPane (we called it ContainerContainer which is a subclass of JideSplitPane that is only used in JIDE Docking Framework). Most docking APIs are either on DockingManager or DockableFrame. That's very clear. So if we were to add something like that, it would be added somehow on DockableFrame or DockingManager.

Thanks,
JIDE Software Technical Support Team
JIDE Support
Site Admin
 
Posts: 37219
Joined: Sun Sep 14, 2003 10:49 am

Re: Support on spliting rate between two dockable

Postby tomerbd09100 » Mon Nov 23, 2009 11:10 pm

Hi,

The FlexDock API do not expose the internal use of the split pane, instead it provide the API for dock one frame in to another with the optonal argument of split rate, for example if i tried to suggest an Jide API it could be like:

'DockingManager.moveFrame(String frameKey, String destFrameKey, double splitRate(0.0-1.0);'

The rest of the work you should handle without exposing the internal use of the SplitPane.

Tomer.
tomerbd09100
 
Posts: 11
Joined: Sat Nov 21, 2009 11:50 pm

Re: Support on spliting rate between two dockable

Postby JIDE Support » Mon Nov 23, 2009 11:31 pm

The split rate has to saved somewhere, right? I wonder if it is saved on dockable frame itself or on the actual JideSplitPane. I also wonder how they handle the case that the two frames are tab-docked as a tabbed pane, if the two dockable frames have different split rate while they are on the same tabbed pane. Lastly, if the frame is moved to another place, doesn't the split rate goes with it? When user drags to rearrange the layout, what split rate should it use? I guess my questions lead to the conclusion that the split rate has to be saved on the DockableFrame which further leads to the preferred size solution we are taking.

If the split rate is saved on the split pane, what to do when another dockable frame is added to the same split pane (one split pane that spits into three pieces)? We will have to somehow redistribute the split rates so that they add up to 1.0.

It is interesting that you bring up the moveFrame method. When we original designed the JIDE Docking Framework, moveFrame is not even there. In our design, the developer controls the initial layout. Then the application is shipped, the user will control the layout they want to use. Developer should not try to control where a frame should be, thus the moveFrame method was not in the picture at all. I still believe in this as I saw most of some nice implemented docking frameworks such as Eclipse and VSNET, they don't try to control a frame position except when it is shown for the first time. But later on we added moveFrame as the developer wants to have more control over over the user's preference. Anyway, just a little background thought you might be interested.

Thanks,
JIDE Software Technical Support Team
JIDE Support
Site Admin
 
Posts: 37219
Joined: Sun Sep 14, 2003 10:49 am

Re: Support on spliting rate between two dockable

Postby tomerbd09100 » Tue Nov 24, 2009 12:10 am

"The split rate has to saved somewhere, right?" - No.
The split rate parameter is use only the first time a splitPane is being construct, there is no need to save this value or to change it, the parameter is not related to one of the frames else it represent the relation between the frames size.

"If the split rate is saved on the split pane, what to do when another dockable frame is added to the same split pane (one split pane that spits into three pieces)? We will have to somehow redistribute the split rates so that they add up to 1.0." - each time a split pane construct there are only two sides for this splitPane, assuming we need to split the area into two areas it should be according to the split rate parameter. anyway there is no any scenario where you create mutliSplitPane.

All the rest of scenarios are not relevat since the splitPane is one time use parameter, the rest of scenarios are exactlly as now.

Tomer.
tomerbd09100
 
Posts: 11
Joined: Sat Nov 21, 2009 11:50 pm

Re: Support on spliting rate between two dockable

Postby JIDE Support » Tue Nov 24, 2009 8:17 am

Just so you know, JideSplitPane is a multiple split pane.
JIDE Software Technical Support Team
JIDE Support
Site Admin
 
Posts: 37219
Joined: Sun Sep 14, 2003 10:49 am


Return to Product Suggestions

Who is online

Users browsing this forum: Google [Bot] and 11 guests

cron