Currently Commit dialog is tied to datastudio application frame; Instead we should be able to hook it from any frame. And I also see that it's inheritance hierarchy has dependency on application frame's mounted tree structure.
Does "datastudio application frame" refer to AppFrame class? I don't see GitCommitDialog tying to AppFrame. Perhaps I am missing something.
And I also see that it's inheritance hierarchy has dependency on application frame's mounted tree structure. Asif, could you please elaborate?
>>Does "datastudio application frame" refer to AppFrame class? I don't see GitCommitDialog tying to AppFrame.
It was tied to GitManager.getFrame() api. AFAIK, we dont have a separate GitManager instance for Browser Repository frame (GitAdminBrowser), instead we use the same instance used for mounted tree structure in the AppFrame. Btw, yesterday I parameterized the frame part locally even then commit dialog appears on top of AppFrame not the GitAdminBrowser.
>>And I also see that it's inheritance hierarchy has dependency on application frame's mounted tree structure
GitCommitDialog extends from VCCommitBaseDialog which is the common base for commit dialog. Here is small snippet in VCCommitBaseDialog,
CTreeSelection selection = mgr.getSelection(); ... this.files = extractFiles(selection);
>>Does "datastudio application frame" refer to AppFrame class? I don't see GitCommitDialog tying to AppFrame.
It was tied to GitManager.getFrame() api. AFAIK, we dont have a separate GitManager instance for Browser Repository frame (GitAdminBrowser), instead we use the same instance used for mounted tree structure in the AppFrame. Btw, yesterday I parameterized the frame part locally even then commit dialog appears on top of AppFrame not the GitAdminBrowser.
>>And I also see that it's inheritance hierarchy has dependency on application frame's mounted tree structure
GitCommitDialog extends from VCCommitBaseDialog which is the common base for commit dialog. Here is small snippet in VCCommitBaseDialog,
CTreeSelection selection = mgr.getSelection(); ... this.files = extractFiles(selection);
The GitManager.getFrame() method is implemented by its base class VCManager.getFrame() and is used by all other VC clients (SVN, CVS and Perforce). I think by design it is tied to AppFrame's tree structure because it needs to know about mount point and selected files under mount point [this is why we have extractFiles(selection)
]. Therefore, we probably want to leave this as is.
As for launching GitCommitDialog, I don't see any dependencies on AppFrame. In fact, I just launched this dialog via a fake action from GitAdminBrowser and it displays on top of GitAdminBrowser. And if I go back to ADS app frame and launch GitCommitDialog from there it shows up on top of app frame. So all seems to behave correctly.
Are there any other specifics that are blocking GitAdminBrowser from launching and working with GitCommitDialog?
The GitManager.getFrame() method is implemented by its base class VCManager.getFrame() and is used by all other VC clients (SVN, CVS and Perforce). I think by design it is tied to AppFrame's tree structure because it needs to know about mount point and selected files under mount point [this is why we have extractFiles(selection)
]. Therefore, we probably want to leave this as is.
As for launching GitCommitDialog, I don't see any dependencies on AppFrame. In fact, I just launched this dialog via a fake action from GitAdminBrowser and it displays on top of GitAdminBrowser. And if I go back to ADS app frame and launch GitCommitDialog from there it shows up on top of app frame. So all seems to behave correctly.
Are there any other specifics that are blocking GitAdminBrowser from launching and working with GitCommitDialog?
Currently the main concern is that GitCommitDialog is not getting launched on top of GitAdminBrowser.
Note: When I tested there were no changes to commit. So there was a small warning dialog on top of commit dialog saying no changes to commit. This could be one reason why GitCommitDialog gets launched on top of App Frame.
Currently the main concern is that GitCommitDialog is not getting launched on top of GitAdminBrowser.
Note: When I tested there were no changes to commit. So there was a small warning dialog on top of commit dialog saying no changes to commit. This could be one reason why GitCommitDialog gets launched on top of App Frame.
The VCCommitDialog, being a JFrame itself, is not "tied" to any frame (unlike modal dialog). And as discussed, VCManager is designed to work with AppFrame and its file tree/mount structure.
I refactored VCManager to rename its getFrame() method to getAppFrame() to explicit state its dependency on AppFrame.
The VCCommitDialog, being a JFrame itself, is not "tied" to any frame (unlike modal dialog). And as discussed, VCManager is designed to work with AppFrame and its file tree/mount structure.
I refactored VCManager to rename its getFrame() method to getAppFrame() to explicit state its dependency on AppFrame.
Looks like the issue is more related to Commit UI being frame, and its coordinates are getting stored. So later user opens the commit dialog, it gets launched in the old position.
Looks like the issue is more related to Commit UI being frame, and its coordinates are getting stored. So later user opens the commit dialog, it gets launched in the old position.
Issue #8300 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
No fixed build |
No time estimate |
Does "datastudio application frame" refer to AppFrame class? I don't see GitCommitDialog tying to AppFrame. Perhaps I am missing something.
And I also see that it's inheritance hierarchy has dependency on application frame's mounted tree structure. Asif, could you please elaborate?