📄 ganttprojectbase.java
字号:
if (mySelectedView!=null) { mySelectedView.setActive(false); } mySelectedView = selectedView; mySelectedView.setActive(true); } }); } public GPView createView(IAdaptable adaptable, Icon icon) { GPView view = new GPViewImpl(this, myTabs, (Container) adaptable .getAdapter(Container.class), (Chart)adaptable.getAdapter(Chart.class), icon); myViews.add(view); return view; } public Action getCopyAction() { return myCopyAction; } public Action getCutAction() { return myCutAction; } public Action getPasteAction() { return myPasteAction; } //////////////////////////////////////////// //ProjectEventListener public void projectModified() { } public void projectSaved() { } public void projectClosed() { for (int i=0; i<myViews.size(); i++) { GPViewImpl nextView = (GPViewImpl) myViews.get(i); nextView.reset(); } } private void updateActions() { ChartSelection selection = mySelectedView.myChart.getSelection(); myCopyAction.setEnabled(false==selection.isEmpty()); myCutAction.setEnabled(false==selection.isEmpty() && selection.isDeletable().isOK()); } private final GPAction myCopyAction = new GPAction() { { putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK)); } protected String getIconFilePrefix() { return "copy_"; } public void actionPerformed(ActionEvent e) { mySelectedView.myChart.getSelection().startCopyClipboardTransaction(); } protected String getLocalizedName() { return getI18n("copy"); } }; private final GPAction myCutAction = new GPAction() { { putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK)); } protected String getIconFilePrefix() { return "cut_"; } public void actionPerformed(ActionEvent e) { mySelectedView.myChart.getSelection().startMoveClipboardTransaction(); } protected String getLocalizedName() { return getI18n("cut"); } }; private final GPAction myPasteAction = new GPAction() { { putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK)); } protected String getIconFilePrefix() { return "paste_"; } public void actionPerformed(ActionEvent e) { ChartSelection selection = mySelectedView.myChart.getSelection(); mySelectedView.myChart.paste(selection); selection.commitClipboardTransaction(); } protected String getLocalizedName() { return getI18n("paste"); } }; } private class GPViewImpl implements GPView, ChartSelectionListener { private final GanttTabbedPane myTabs; private int myIndex; private Container myComponent; private boolean isVisible; private final Icon myIcon; private final Chart myChart; private final ViewManagerImpl myManager; GPViewImpl(ViewManagerImpl manager, GanttTabbedPane tabs, Container component, Chart chart, Icon icon) { myManager = manager; myTabs = tabs; myComponent = component; myIcon = icon; myChart = chart; assert myChart!=null; } public void setActive(boolean active) { if (active) { myChart.addSelectionListener(this); } else { myChart.removeSelectionListener(this); } } public void reset() { myChart.reset(); } public void setVisible(boolean isVisible) { String tabName = "New view"; //JScrollPane jsp = new JScrollPane(); if (isVisible) { myChart.setTaskManager(GanttProjectBase.this.getTaskManager()); tabName = myChart.getName(); //jsp.getViewport().add(myComponent); myTabs.addTab(tabName, myIcon, myComponent, tabName, this); myTabs.setSelectedComponent(myComponent); myIndex = myTabs.getSelectedIndex(); } else { myTabs.remove(myIndex); } this.isVisible = isVisible; } public boolean isVisible() { return isVisible; } public void selectionChanged() { myManager.updateActions(); } } protected static class RowHeightAligner implements GPOptionChangeListener { private ChartModelImpl myGanttViewModel; private GanttTree2 myTreeView; // TODO: 1.12 refactor and get rid of using concrete implementations of // gantt view model // and tree view public RowHeightAligner(GanttTree2 treeView, ChartModelImpl ganttViewModel) { myGanttViewModel = ganttViewModel; myTreeView = treeView; } public void optionsChanged() { myTreeView.getTable().setRowHeight(myGanttViewModel.setRowHeight()); AbstractTableModel model = (AbstractTableModel) myTreeView.getTable().getModel(); model.fireTableStructureChanged(); myTreeView.updateUI(); } } public GanttTabbedPane getTabs() { return myTabPane; } protected IGanttProject getProject() { return this; } public TimeUnitStack getTimeUnitStack() { return myTimeUnitStack; } public abstract String getProjectName(); public abstract void setProjectName(String projectName); public abstract String getDescription(); public abstract void setDescription(String description); public abstract String getOrganization(); public abstract void setOrganization(String organization); public abstract String getWebLink(); public abstract void setWebLink(String webLink); public abstract Task newTask(); public abstract GanttLanguage getI18n(); public abstract UIConfiguration getUIConfiguration(); public abstract ResourceManager getHumanResourceManager(); public abstract RoleManager getRoleManager(); public abstract TaskManager getTaskManager(); public abstract TaskContainmentHierarchyFacade getTaskContainment(); public abstract GPCalendar getActiveCalendar(); public abstract void setModified(); public abstract void close(); public abstract Document getDocument(); protected GanttStatusBar getStatusBar() { return statusBar; } public DocumentManager getDocumentManager() { return myDocumentManager; } protected abstract ParserFactory getParserFactory();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -