public void editFile() { if (filesListPanel.getSelectedFileItems() == null || filesListPanel.getSelectedFileItems().size() != 1) { return; } RepositoryFile file = filesListPanel.getSelectedFileItems().get(0).getRepositoryFile(); if (file.getName().endsWith(".analysisview.xaction")) { // $NON-NLS-1$ openFile(file, COMMAND.RUN); } else { // check to see if a plugin supports editing ContentTypePlugin plugin = PluginOptionsHelper.getContentTypePlugin(file.getName()); if (plugin != null && plugin.hasCommand(COMMAND.EDIT)) { // load the editor for this plugin String editUrl = getPath() + "api/repos/" + pathToId(file.getPath()) + "/" + (plugin != null && (plugin.getCommandPerspective(COMMAND.EDIT) != null) ? plugin.getCommandPerspective(COMMAND.EDIT) : "editor"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ // See if it's already loaded for (int i = 0; i < contentTabPanel.getTabCount(); i++) { Widget w = contentTabPanel.getTab(i).getContent(); if (w instanceof IFrameTabPanel && ((IFrameTabPanel) w).getUrl().endsWith(editUrl)) { // Already up, select and exit contentTabPanel.selectTab(i); return; } } contentTabPanel.showNewURLTab( Messages.getString("editingColon") + file.getTitle(), Messages.getString("editingColon") + file.getTitle(), editUrl, true); //$NON-NLS-1$ //$NON-NLS-2$ // Store representation of file in the frame for reference later when // save is called contentTabPanel.getCurrentFrame().setFileInfo(filesListPanel.getSelectedFileItems().get(0)); } else { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), // $NON-NLS-1$ Messages.getString("cannotEditFileType"), // $NON-NLS-1$ true, false, true); dialogBox.center(); } } }
private void adjustWidth() { int splitterWidth = navigatorAndContentSplit.getSplitterSize(); int adjustedWidth = solutionNavigatorPanel.getOffsetWidth() + splitterWidth; int width = this.getOffsetWidth() - adjustedWidth; if (width > 0) { contentTabPanel.setWidth(width + "px"); } }
private void adjustHeight() { Element pucHeader = DOM.getElementById("pucHeader"); int offset; if (pucHeader != null) { offset = pucHeader.getOffsetHeight(); setElementHeightOffset(navigatorAndContentSplit.getElement(), -1 * offset); setElementHeightOffset(contentTabPanel.getElement(), -1 * offset); } }
public void openFile(final RepositoryFile repositoryFile, final FileCommand.COMMAND mode) { PerspectiveManager.getInstance().setPerspective(PerspectiveManager.OPENED_PERSPECTIVE); String fileNameWithPath = repositoryFile.getPath(); if (mode == FileCommand.COMMAND.EDIT) { editFile(); } else if (mode == FileCommand.COMMAND.SCHEDULE_NEW) { ScheduleHelper.createSchedule(repositoryFile); } else if (mode == FileCommand.COMMAND.SHARE) { (new ShareFileCommand()).execute(); } else { String url = null; String extension = ""; // $NON-NLS-1$ if (fileNameWithPath.lastIndexOf(".") > 0) { // $NON-NLS-1$ extension = fileNameWithPath.substring(fileNameWithPath.lastIndexOf(".") + 1); // $NON-NLS-1$ } if (!executableFileExtensions.contains(extension)) { url = getPath() + "api/repos/" + pathToId(fileNameWithPath) + "/content"; //$NON-NLS-1$ //$NON-NLS-2$ } else { ContentTypePlugin plugin = PluginOptionsHelper.getContentTypePlugin(fileNameWithPath); url = getPath() + "api/repos/" + pathToId(fileNameWithPath) + "/" + (plugin != null && (plugin.getCommandPerspective(mode) != null) ? plugin.getCommandPerspective(mode) : "generatedContent"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } if (mode == FileCommand.COMMAND.NEWWINDOW) { Window.open( url, "_blank", "menubar=yes,location=no,resizable=yes,scrollbars=yes,status=no"); //$NON-NLS-1$ // //$NON-NLS-2$ } else { contentTabPanel.showNewURLTab( repositoryFile.getTitle(), repositoryFile.getTitle(), url, true); addRecent(fileNameWithPath, repositoryFile.getTitle()); } } }
private void buildUI() { FlowPanel topPanel = new FlowPanel(); SimplePanel toolbarWrapper = new SimplePanel(); toolbarWrapper.setWidget(new BrowserToolbar()); toolbarWrapper.setStyleName("files-toolbar"); // $NON-NLS-1$ topPanel.add(toolbarWrapper); topPanel.add(new SolutionTreeWrapper(solutionTree)); solutionNavigatorPanel.setStyleName("puc-vertical-split-panel"); solutionNavigatorPanel.setWidth("100%"); solutionNavigatorPanel.addNorth(topPanel, 500); solutionNavigatorPanel.add(filesListPanel); navigatorAndContentSplit.setStyleName("puc-horizontal-split-panel"); navigatorAndContentSplit.addWest(solutionNavigatorPanel, 300); navigatorAndContentSplit.add(contentTabPanel); navigatorAndContentSplit.getElement().setAttribute("id", "solutionNavigatorAndContentPanel"); Window.addResizeHandler( new ResizeHandler() { @Override public void onResize(ResizeEvent event) { adjustContentPanelSize(); } }); solutionNavigatorPanel.getElement().getParentElement().addClassName("puc-navigator-panel"); solutionNavigatorPanel.getElement().getParentElement().removeAttribute("style"); setStyleName("panelWithTitledToolbar"); // $NON-NLS-1$ setHeight("100%"); // $NON-NLS-1$ setWidth("100%"); // $NON-NLS-1$ add(navigatorAndContentSplit); sinkEvents(Event.MOUSEEVENTS); navigatorAndContentSplit.getWidget(1).setWidth("100%"); navigatorAndContentSplit.getElement().getStyle().setHeight(1, Unit.PX); contentTabPanel.getElement().getStyle().setHeight(1, Unit.PX); }