提交 1c904269 编写于 作者: S Serge Rider

Tasks UI model refactoring + DnD


Former-commit-id: 1fa74f55
上级 d3728876
......@@ -17,6 +17,7 @@
package org.jkiss.dbeaver.tasks.ui.view;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.jkiss.dbeaver.model.task.DBTTask;
import org.jkiss.dbeaver.ui.dnd.LocalObjectTransfer;
......@@ -28,6 +29,24 @@ import java.util.List;
*/
public final class DatabaseTaskTransfer extends LocalObjectTransfer<List<DBTTask>> {
public static class Data {
private Control sourceControl;
private List<DBTTask> tasks;
public Data(Control sourceControl, List<DBTTask> tasks) {
this.sourceControl = sourceControl;
this.tasks = tasks;
}
public Control getSourceControl() {
return sourceControl;
}
public List<DBTTask> getTasks() {
return tasks;
}
}
private static final DatabaseTaskTransfer INSTANCE = new DatabaseTaskTransfer();
private static final String TYPE_NAME = "DBTTask Transfer"//$NON-NLS-1$
+ System.currentTimeMillis() + ":" + INSTANCE.hashCode();//$NON-NLS-1$
......
......@@ -69,7 +69,7 @@ public class TaskHandlerCopy extends AbstractHandler {
IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
if (activePart instanceof DatabaseTasksView) {
UIUtils.asyncExec(() -> {
((DatabaseTasksView) activePart).getTaskViewer().setSelection(new StructuredSelection(newTask), true);
((DatabaseTasksView) activePart).getTasksTree().getViewer().setSelection(new StructuredSelection(newTask), true);
ActionUtils.runCommand(DatabaseTasksView.EDIT_TASK_CMD_ID, activePart.getSite());
});
}
......
......@@ -39,18 +39,19 @@ public class TaskHandlerGroupBy extends AbstractHandler implements IElementUpdat
public Object execute(ExecutionEvent event) throws ExecutionException {
GroupBy groupBy = CommonUtils.valueOf(GroupBy.class, event.getParameter("group"), GroupBy.project);
DatabaseTasksView view = (DatabaseTasksView) HandlerUtil.getActivePart(event);
DatabaseTasksTree tasksTree = view.getTasksTree();
switch (groupBy) {
case project:
view.setGroupByProject(!view.isGroupByProject());
tasksTree.setGroupByProject(!tasksTree.isGroupByProject());
break;
case category:
view.setGroupByCategory(!view.isGroupByCategory());
tasksTree.setGroupByCategory(!tasksTree.isGroupByCategory());
break;
case type:
view.setGroupByType(!view.isGroupByType());
tasksTree.setGroupByType(!tasksTree.isGroupByType());
break;
}
view.regroupTasks();
tasksTree.regroupTasks();
return null;
}
......@@ -59,19 +60,20 @@ public class TaskHandlerGroupBy extends AbstractHandler implements IElementUpdat
public void updateElement(UIElement element, Map parameters) {
DatabaseTasksView taskView = (DatabaseTasksView) UIUtils.findView(UIUtils.getActiveWorkbenchWindow(), DatabaseTasksView.VIEW_ID);
if (taskView != null) {
DatabaseTasksTree tasksTree = taskView.getTasksTree();
GroupBy groupBy = CommonUtils.valueOf(GroupBy.class, (String)parameters.get("group"), GroupBy.project);
switch (groupBy) {
case project:
element.setChecked(taskView.isGroupByProject());
element.setChecked(tasksTree.isGroupByProject());
//element.setIcon(DBeaverIcons.getImageDescriptor(DBIcon.PROJECT));
break;
case category:
element.setChecked(taskView.isGroupByCategory());
element.setChecked(tasksTree.isGroupByCategory());
//element.setIcon(DBeaverIcons.getImageDescriptor(DBIcon.TREE_DATABASE_CATEGORY));
break;
case type:
element.setChecked(taskView.isGroupByType());
element.setChecked(tasksTree.isGroupByType());
//element.setIcon(DBeaverIcons.getImageDescriptor(DBIcon.TREE_TASK));
break;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册