Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java318
1 files changed, 0 insertions, 318 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java
deleted file mode 100644
index cb5608ffc..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorRichTextPart.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 Tasktop Technologies and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Tasktop Technologies - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.editors;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.mylyn.commons.core.StatusHandler;
-import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
-import org.eclipse.mylyn.tasks.ui.editors.AbstractAttributeEditor;
-import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPart;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.internal.EditorAreaHelper;
-import org.eclipse.ui.internal.WorkbenchPage;
-
-/**
- * @author Steffen Pingel
- */
-public class TaskEditorRichTextPart extends AbstractTaskEditorPart {
-
- private RichTextAttributeEditor editor;
-
- private TaskAttribute attribute;
-
- private Composite composite;
-
- private int sectionStyle;
-
- private ToggleToMaximizePartAction toggleToMaximizePartAction;
-
- private Action togglePreviewAction;
-
- private Action toggleBrowserAction;
-
- public TaskEditorRichTextPart() {
- setSectionStyle(ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
- }
-
- public void appendText(String text) {
- if (editor == null) {
- return;
- }
-
- StringBuilder strBuilder = new StringBuilder();
- String oldText = editor.getViewer().getDocument().get();
- if (strBuilder.length() != 0) {
- strBuilder.append("\n"); //$NON-NLS-1$
- }
- strBuilder.append(oldText);
- strBuilder.append(text);
- editor.getViewer().getDocument().set(strBuilder.toString());
- TaskAttribute attribute = getTaskData().getRoot().getMappedAttribute(TaskAttribute.COMMENT_NEW);
- if (attribute != null) {
- attribute.setValue(strBuilder.toString());
- getTaskEditorPage().getModel().attributeChanged(attribute);
- }
- editor.getViewer().getTextWidget().setCaretOffset(strBuilder.length());
- }
-
- public int getSectionStyle() {
- return sectionStyle;
- }
-
- public void setSectionStyle(int sectionStyle) {
- this.sectionStyle = sectionStyle;
- }
-
- @Override
- public void createControl(Composite parent, FormToolkit toolkit) {
- if (attribute == null) {
- return;
- }
- AbstractAttributeEditor attributEditor = createAttributeEditor(attribute);
- if (!(attributEditor instanceof RichTextAttributeEditor)) {
- String clazz;
- if (attributEditor != null) {
- clazz = attributEditor.getClass().getName();
- } else {
- clazz = "<null>"; //$NON-NLS-1$
- }
- StatusHandler.log(new Status(IStatus.WARNING, TasksUiPlugin.ID_PLUGIN,
- "Expected an instance of RichTextAttributeEditor, got \"" + clazz + "\"")); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- Section section = createSection(parent, toolkit, sectionStyle);
-
- composite = toolkit.createComposite(section);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- composite.setLayout(layout);
-
- editor = (RichTextAttributeEditor) attributEditor;
-
- editor.createControl(composite, toolkit);
- if (editor.isReadOnly()) {
- composite.setLayout(new FillWidthLayout(EditorUtil.getLayoutAdvisor(getTaskEditorPage()), 0, 0, 0, 3));
- } else {
- final GridData gd = new GridData();
- // wrap text at this margin, see comment below
- int width = getEditorWidth();
- // the goal is to make the text viewer as big as the text so it does not require scrolling when first drawn
- // on screen
- Point size = editor.getViewer().getTextWidget().computeSize(width, SWT.DEFAULT, true);
- gd.widthHint = EditorUtil.MAXIMUM_WIDTH;
- gd.minimumWidth = EditorUtil.MAXIMUM_WIDTH;
- gd.horizontalAlignment = SWT.FILL;
- gd.grabExcessHorizontalSpace = true;
- // limit height to be avoid dynamic resizing of the text widget:
- // MAXIMUM_HEIGHT < height < MAXIMUM_HEIGHT * 3
- //gd.minimumHeight = AbstractAttributeEditor.MAXIMUM_HEIGHT;
- gd.heightHint = Math.min(Math.max(EditorUtil.MAXIMUM_HEIGHT, size.y), EditorUtil.MAXIMUM_HEIGHT * 3);
- if (getExpandVertically()) {
- gd.verticalAlignment = SWT.FILL;
- gd.grabExcessVerticalSpace = true;
- }
- editor.getControl().setLayoutData(gd);
- editor.getControl().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
- // shrink the text control if the editor width is reduced, otherwise the text field will always keep it's original
- // width and will cause the editor to have a horizonal scroll bar
-// composite.addControlListener(new ControlAdapter() {
-// @Override
-// public void controlResized(ControlEvent e) {
-// int width = sectionComposite.getSize().x;
-// Point size = descriptionTextViewer.getTextWidget().computeSize(width, SWT.DEFAULT, true);
-// // limit width to parent widget
-// gd.widthHint = width;
-// // limit height to avoid dynamic resizing of the text widget
-// gd.heightHint = Math.min(Math.max(DESCRIPTION_HEIGHT, size.y), DESCRIPTION_HEIGHT * 4);
-// sectionComposite.layout();
-// }
-// });
- }
-
- getEditor().getControl().setData(EditorUtil.KEY_TOGGLE_TO_MAXIMIZE_ACTION, getMaximizePartAction());
- if (getEditor().getControl() instanceof Composite) {
- for (Control control : ((Composite) getEditor().getControl()).getChildren()) {
- control.setData(EditorUtil.KEY_TOGGLE_TO_MAXIMIZE_ACTION, getMaximizePartAction());
- }
- }
- getTaskEditorPage().getAttributeEditorToolkit().adapt(editor);
-
- toolkit.paintBordersFor(composite);
- section.setClient(composite);
- setSection(toolkit, section);
- }
-
- private int getEditorWidth() {
- int widthHint = 0;
- if (getManagedForm() != null && getManagedForm().getForm() != null) {
- widthHint = getManagedForm().getForm().getClientArea().width - 90;
- }
- if (widthHint <= 0 && getTaskEditorPage().getEditor().getEditorSite() != null
- && getTaskEditorPage().getEditor().getEditorSite().getPage() != null) {
- EditorAreaHelper editorManager = ((WorkbenchPage) getTaskEditorPage().getEditor().getEditorSite().getPage()).getEditorPresentation();
- if (editorManager != null && editorManager.getLayoutPart() != null) {
- widthHint = editorManager.getLayoutPart().getControl().getBounds().width - 90;
- }
- }
- if (widthHint <= 0) {
- widthHint = EditorUtil.MAXIMUM_WIDTH;
- }
- return widthHint;
- }
-
- public TaskAttribute getAttribute() {
- return attribute;
- }
-
- protected Composite getComposite() {
- return composite;
- }
-
- protected RichTextAttributeEditor getEditor() {
- return editor;
- }
-
- public void setAttribute(TaskAttribute attribute) {
- this.attribute = attribute;
- }
-
- @Override
- public void setFocus() {
- if (editor != null) {
- editor.getControl().setFocus();
- }
- }
-
- // TODO 3.1 move to AbstractTaskEditorPart?
- protected Action getMaximizePartAction() {
- if (toggleToMaximizePartAction == null) {
- toggleToMaximizePartAction = new ToggleToMaximizePartAction();
- }
- return toggleToMaximizePartAction;
- }
-
- private class ToggleToMaximizePartAction extends Action {
-
- private static final String COMMAND_ID = "org.eclipse.mylyn.tasks.ui.command.maximizePart"; //$NON-NLS-1$
-
- private/*static*/final String MAXIMIZE = Messages.TaskEditorRichTextPart_Maximize;
-
- private static final int SECTION_HEADER_HEIGHT = 50;
-
- private int originalHeight = -1;
-
- public ToggleToMaximizePartAction() {
- super("", SWT.TOGGLE); //$NON-NLS-1$
- setImageDescriptor(CommonImages.PART_MAXIMIZE);
- setToolTipText(MAXIMIZE);
- setActionDefinitionId(COMMAND_ID);
- setChecked(false);
- }
-
- @Override
- public void run() {
- if (!(getEditor().getControl().getLayoutData() instanceof GridData)) {
- return;
- }
-
- GridData gd = (GridData) getEditor().getControl().getLayoutData();
-
- if (originalHeight == -1) {
- originalHeight = gd.heightHint;
- }
-
- try {
- getTaskEditorPage().setReflow(false);
-
- int heightHint;
- if (isChecked()) {
- heightHint = getManagedForm().getForm().getClientArea().height - SECTION_HEADER_HEIGHT;
- } else {
- heightHint = originalHeight;
- }
-
- // ignore when not necessary
- if (gd.heightHint == heightHint) {
- return;
- }
- gd.heightHint = heightHint;
- gd.minimumHeight = heightHint;
- } finally {
- getTaskEditorPage().setReflow(true);
- }
-
- getTaskEditorPage().reflow();
- EditorUtil.ensureVisible(getEditor().getControl());
- }
- }
-
- @Override
- protected void fillToolBar(ToolBarManager manager) {
- if (getEditor().hasPreview()) {
- togglePreviewAction = new Action("", SWT.TOGGLE) { //$NON-NLS-1$
- @Override
- public void run() {
- if (isChecked()) {
- editor.showPreview();
- } else {
- editor.showEditor();
- }
-
- if (toggleBrowserAction != null) {
- toggleBrowserAction.setChecked(false);
- }
- }
- };
- togglePreviewAction.setImageDescriptor(CommonImages.PREVIEW_WEB);
- togglePreviewAction.setToolTipText(Messages.TaskEditorRichTextPart_Preview);
- togglePreviewAction.setChecked(false);
- manager.add(togglePreviewAction);
- }
- if (togglePreviewAction == null && getEditor().hasBrowser()) {
- toggleBrowserAction = new Action("", SWT.TOGGLE) { //$NON-NLS-1$
- @Override
- public void run() {
- if (isChecked()) {
- editor.showBrowser();
- } else {
- editor.showEditor();
- }
-
- if (togglePreviewAction != null) {
- togglePreviewAction.setChecked(false);
- }
- }
- };
- toggleBrowserAction.setImageDescriptor(CommonImages.PREVIEW_WEB);
- toggleBrowserAction.setToolTipText(Messages.TaskEditorRichTextPart_Browser_Preview);
- toggleBrowserAction.setChecked(false);
- manager.add(toggleBrowserAction);
- }
- manager.add(getMaximizePartAction());
- super.fillToolBar(manager);
- }
-
-}

Back to the top