1 /*******************************************************************************
2 * Copyright (C) 2010, Jens Baumgart <jens.baumgart@sap.com> and others.
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License 2.0
6 * which accompanies this distribution, and is available at
7 * https://www.eclipse.org/legal/epl-2.0/
9 * SPDX-License-Identifier: EPL-2.0
10 *******************************************************************************/
11 package org
.eclipse
.egit
.ui
;
13 import org
.eclipse
.egit
.ui
.internal
.UIIcons
;
14 import org
.eclipse
.jface
.resource
.ImageDescriptor
;
15 import org
.eclipse
.ui
.PlatformUI
;
16 import org
.eclipse
.ui
.progress
.IProgressService
;
19 * Job families of EGit jobs. May be used in tests to join job execution.
22 public class JobFamilies
{
25 * Job family with icon for progress reporting
27 private static final class JobFamily
{
30 * job family with custom progress icon
32 * @param imageDescriptor
33 * icon for this job family
35 protected JobFamily(final ImageDescriptor imageDescriptor
) {
36 IProgressService service
= PlatformUI
.getWorkbench()
37 .getProgressService();
38 service
.registerIconForFamily(imageDescriptor
, this);
42 * job family with standard repository icon
44 protected JobFamily() {
45 this(UIIcons
.REPOSITORY
);
52 public final static Object GENERATE_HISTORY
= new JobFamily(
58 public final static Object HISTORY_DIFF
= new JobFamily();
63 public final static Object COMMIT
= new JobFamily(UIIcons
.COMMIT
);
68 public final static Object CHECKOUT
= new JobFamily(UIIcons
.CHECKOUT
);
73 public final static Object MERGE
= new JobFamily(UIIcons
.MERGE
);
78 public final static Object PUSH
= new JobFamily(UIIcons
.PUSH
);
83 public final static Object FETCH
= new JobFamily(UIIcons
.FETCH
);
86 * Repositories View refresh
88 public final static Object REPO_VIEW_REFRESH
= new JobFamily();
91 * Delete repository job
93 public final static Object REPOSITORY_DELETE
= new JobFamily(
94 UIIcons
.ELCL16_DELETE
);
99 public final static Object TAG
= new JobFamily(UIIcons
.TAG
);
104 public static final Object RESET
= new JobFamily(UIIcons
.RESET
);
109 public static final Object REBASE
= new JobFamily(UIIcons
.REBASE
);
114 public final static Object PULL
= new JobFamily(UIIcons
.PULL
);
119 public final static Object FORMAT_COMMIT_INFO
= new JobFamily();
124 public final static Object FILL_TAG_LIST
= new JobFamily(UIIcons
.TAGS
);
127 * AssumeUnchanged/NoAssumeUnchanged
129 public final static Object ASSUME_NOASSUME_UNCHANGED
= new JobFamily();
134 public final static Object UNTRACK
= new JobFamily();
139 public final static Object DISCONNECT
= new JobFamily();
144 public final static Object DISCARD_CHANGES
= new JobFamily();
150 public static final Object ADD_TO_INDEX
= new JobFamily(UIIcons
.ELCL16_ADD
);
153 * Remove from index job
155 public static final Object REMOVE_FROM_INDEX
= new JobFamily();
158 * Updates staging view repository on selection change
160 public static final Object UPDATE_SELECTION
= new JobFamily();
163 * Cherry pick commit job
165 public static final Object CHERRY_PICK
= new JobFamily(UIIcons
.CHERRY_PICK
);
170 public static final Object SQUASH
= new JobFamily(UIIcons
.SQUASH_DOWN
);
175 public static final Object REWORD
= new JobFamily(UIIcons
.REWORD
);
180 public static final Object EDIT
= new JobFamily();
185 public static final Object REVERT_COMMIT
= new JobFamily();
188 * Clone repository job
190 public static final Object CLONE
= new JobFamily(UIIcons
.CLONEGIT
);
193 * Fetch data from git job
195 public static final Object SYNCHRONIZE_READ_DATA
= new JobFamily();
198 * Show annotations git job
200 public static final Object BLAME
= new JobFamily();
203 * Submodule add git job
205 public static final Object SUBMODULE_ADD
= new JobFamily();
208 * Submodule sync git job
210 public static final Object SUBMODULE_SYNC
= new JobFamily();
213 * Submodule update git job
215 public static final Object SUBMODULE_UPDATE
= new JobFamily();
220 public static final Object STASH
= new JobFamily(UIIcons
.STASH
);
223 * Staging view reload
225 public static final Object STAGING_VIEW_RELOAD
= new JobFamily();