GT-3456 - Toolbar action update review fixes

This commit is contained in:
dragonmacher 2020-01-16 17:52:43 -05:00
parent 9f61911860
commit 0fdb689588
14 changed files with 36 additions and 66 deletions

View file

@ -78,10 +78,6 @@ public abstract class CompareFunctionsAction extends DockingAction {
return !functions.isEmpty();
}
protected boolean isToolBarAction() {
return true;
}
/**
* Returns the icon to use for the action
*
@ -104,11 +100,9 @@ public abstract class CompareFunctionsAction extends DockingAction {
setPopupMenuData(new MenuData(new String[] { "Compare Selected Functions" },
getToolBarIcon(), CREATE_COMPARISON_GROUP));
if (isToolBarAction()) {
ToolBarData newToolBarData =
new ToolBarData(getToolBarIcon(), CREATE_COMPARISON_GROUP);
setToolBarData(newToolBarData);
}
ToolBarData newToolBarData =
new ToolBarData(getToolBarIcon(), CREATE_COMPARISON_GROUP);
setToolBarData(newToolBarData);
setHelpLocation(new HelpLocation("FunctionComparison", "Function_Comparison"));

View file

@ -38,12 +38,9 @@ public class CompareFunctionsFromListingAction extends CompareFunctionsAction {
*/
public CompareFunctionsFromListingAction(PluginTool tool, String owner) {
super(tool, owner);
}
@Override
protected boolean isToolBarAction() {
// this action is used as a global action--do not add it to the toolbar
return false;
setToolBarData(null);
}
@Override

View file

@ -28,7 +28,7 @@ import javax.swing.ImageIcon;
import docking.ActionContext;
import docking.action.DockingAction;
import docking.action.MenuData;
import docking.action.ToolBarData;
import ghidra.app.CorePluginPackage;
import ghidra.app.plugin.PluginCategoryNames;
import ghidra.app.plugin.ProgramPlugin;
@ -104,11 +104,12 @@ public class MyProgramChangesDisplayPlugin extends ProgramPlugin implements Doma
folderListener = new ProgramFolderListener();
transactionListener = new ProgramTransactionListener();
tool.getProject().getProjectData().addDomainFolderChangeListener(folderListener);
createActions();
}
private void createActions() {
String menuGroup = "DomainObjectVersionControl";
ImageIcon icon = ResourceManager.loadImage("images/vcMerge.png");
mergeAction = new DockingAction("Update", getName()) {
@Override
@ -122,8 +123,7 @@ public class MyProgramChangesDisplayPlugin extends ProgramPlugin implements Doma
}
};
mergeAction.setMenuBarData(
new MenuData(new String[] { "File", "Update..." }, icon, menuGroup));
mergeAction.setToolBarData(new ToolBarData(icon, "Repository"));
mergeAction.setDescription("Update checked out file with latest version");
mergeAction.setHelpLocation(new HelpLocation("VersionControl", mergeAction.getName()));
@ -141,8 +141,7 @@ public class MyProgramChangesDisplayPlugin extends ProgramPlugin implements Doma
}
};
checkInAction.setMenuBarData(
new MenuData(new String[] { "File", "Check In..." }, icon, menuGroup));
checkInAction.setToolBarData(new ToolBarData(icon, "Repository"));
checkInAction.setDescription("Check in file");
checkInAction.setHelpLocation(new HelpLocation("VersionControl", checkInAction.getName()));
@ -150,34 +149,6 @@ public class MyProgramChangesDisplayPlugin extends ProgramPlugin implements Doma
tool.addAction(checkInAction);
}
private void updateActions() {
if (currentProgram == null || currentProgram.getDomainFile() == null) {
removeVcActions();
return;
}
if (currentProgram.getDomainFile().isVersioned()) {
maybeAddVcActions();
}
}
private void maybeAddVcActions() {
if (mergeAction == null) {
createActions();
}
}
private void removeVcActions() {
if (mergeAction != null) {
tool.removeAction(mergeAction);
tool.removeAction(checkInAction);
mergeAction = null;
checkInAction = null;
}
}
@Override
public void init() {
markerService = tool.getService(MarkerService.class);
@ -190,7 +161,6 @@ public class MyProgramChangesDisplayPlugin extends ProgramPlugin implements Doma
program.addListener(this);
program.addTransactionListener(transactionListener);
updateForDomainFileChanged();
updateActions();
createMarkerSets(program);
intializeChangeMarkers();
@ -199,8 +169,6 @@ public class MyProgramChangesDisplayPlugin extends ProgramPlugin implements Doma
@Override
protected void programDeactivated(Program program) {
updateActions();
serverVersion = -1;
localVersion = -1;
programChangedLocally = false;
@ -381,7 +349,6 @@ public class MyProgramChangesDisplayPlugin extends ProgramPlugin implements Doma
}
updateManager.update();
updateActions();
}
Worker getWorker() {

View file

@ -43,7 +43,7 @@ public abstract class AbstractNextPreviousAction extends CodeViewerContextAction
this.tool = tool;
ToolBarData toolBarData =
new ToolBarData(getIcon(), ToolConstants.TOOLBAR_GROUP_NAV_FOUR);
new ToolBarData(getIcon(), ToolConstants.TOOLBAR_GROUP_FOUR);
toolBarData.setToolBarSubGroup(subGroup);
setToolBarData(toolBarData);
MenuData menuData =

View file

@ -40,7 +40,7 @@ public class NextHighlightedRangeAction extends NextRangeAction {
setToolBarData(new ToolBarData(
ResourceManager.loadImage("images/NextHighlightBlock16.gif"),
ToolConstants.TOOLBAR_GROUP_NAV_THREE, NextPrevHighlightRangePlugin.ACTION_SUB_GROUP));
ToolConstants.TOOLBAR_GROUP_THREE, NextPrevHighlightRangePlugin.ACTION_SUB_GROUP));
setKeyBindingData(
new KeyBindingData(KeyEvent.VK_0, DockingUtils.CONTROL_KEY_MODIFIER_MASK));

View file

@ -309,7 +309,7 @@ public class NextPrevAddressPlugin extends Plugin {
this.isNext = isNext;
setToolBarData(new ToolBarData(isNext ? nextIcon : previousIcon,
ToolConstants.TOOLBAR_GROUP_NAV_TWO));
ToolConstants.TOOLBAR_GROUP_TWO));
setHelpLocation(new HelpLocation(HelpTopics.NAVIGATION, name));
int keycode = isNext ? KeyEvent.VK_RIGHT : KeyEvent.VK_LEFT;
setKeyBindingData(new KeyBindingData(keycode, InputEvent.ALT_DOWN_MASK));

View file

@ -132,7 +132,7 @@ public class NextPrevCodeUnitPlugin extends Plugin {
menuData.setMenuSubGroup(subGroup);
setMenuBarData(menuData);
setToolBarData(new ToolBarData(forwardIcon,
ToolConstants.TOOLBAR_GROUP_NAV_FOUR, subGroup));
ToolConstants.TOOLBAR_GROUP_FOUR, subGroup));
setKeyBindingData(new KeyBindingData(KeyEvent.VK_T, InputEvent.CTRL_DOWN_MASK |
InputEvent.ALT_DOWN_MASK));

View file

@ -58,7 +58,7 @@ public class NextPreviousBookmarkAction extends MultiStateDockingAction<String>
this.tool = tool;
ToolBarData toolBarData =
new ToolBarData(bookmarkIcon, ToolConstants.TOOLBAR_GROUP_NAV_FOUR);
new ToolBarData(bookmarkIcon, ToolConstants.TOOLBAR_GROUP_FOUR);
toolBarData.setToolBarSubGroup(subGroup);
setToolBarData(toolBarData);

View file

@ -72,7 +72,7 @@ public class NextPreviousMarkerAction extends MultiStateDockingAction<String> {
this.tool = tool;
ToolBarData toolBarData =
new ToolBarData(markerIcon, ToolConstants.TOOLBAR_GROUP_NAV_FOUR);
new ToolBarData(markerIcon, ToolConstants.TOOLBAR_GROUP_FOUR);
toolBarData.setToolBarSubGroup(subGroup);
setToolBarData(toolBarData);

View file

@ -42,7 +42,7 @@ public class NextSelectedRangeAction extends NextRangeAction {
setToolBarData(new ToolBarData(
ResourceManager.loadImage("images/NextSelectionBlock16.gif"),
ToolConstants.TOOLBAR_GROUP_NAV_THREE, NextPrevSelectedRangePlugin.ACTION_SUB_GROUP));
ToolConstants.TOOLBAR_GROUP_THREE, NextPrevSelectedRangePlugin.ACTION_SUB_GROUP));
setKeyBindingData(
new KeyBindingData(KeyEvent.VK_BRACERIGHT, DockingUtils.CONTROL_KEY_MODIFIER_MASK));

View file

@ -42,7 +42,7 @@ public class PreviousHighlightedRangeAction extends PreviousRangeAction {
setToolBarData(new ToolBarData(
ResourceManager.loadImage("images/PreviousHighlightBlock16.gif"),
ToolConstants.TOOLBAR_GROUP_NAV_THREE, NextPrevHighlightRangePlugin.ACTION_SUB_GROUP));
ToolConstants.TOOLBAR_GROUP_THREE, NextPrevHighlightRangePlugin.ACTION_SUB_GROUP));
setKeyBindingData(
new KeyBindingData(KeyEvent.VK_9, DockingUtils.CONTROL_KEY_MODIFIER_MASK));

View file

@ -42,7 +42,7 @@ public class PreviousSelectedRangeAction extends PreviousRangeAction {
"Previous Selected Range" }, icon, PluginCategoryNames.NAVIGATION,
MenuData.NO_MNEMONIC, NextPrevSelectedRangePlugin.ACTION_SUB_GROUP));
setToolBarData(new ToolBarData(icon, ToolConstants.TOOLBAR_GROUP_NAV_THREE,
setToolBarData(new ToolBarData(icon, ToolConstants.TOOLBAR_GROUP_THREE,
NextPrevSelectedRangePlugin.ACTION_SUB_GROUP));
setKeyBindingData(
new KeyBindingData(KeyEvent.VK_BRACELEFT, DockingUtils.CONTROL_KEY_MODIFIER_MASK));

View file

@ -629,7 +629,7 @@ public class ProgramManagerPlugin extends Plugin implements ProgramManager {
};
String[] saveMenuPath = { ToolConstants.MENU_FILE, "&Save" };
Icon saveIcon = ResourceManager.loadImage("images/disk.png");
String saveGroup = ToolConstants.TOOLBAR_GROUP_NAV_ONE;
String saveGroup = ToolConstants.TOOLBAR_GROUP_ONE;
subMenuGroupOrder = 0;
menuData = new MenuData(saveMenuPath, saveIcon, saveGroup);

View file

@ -122,10 +122,22 @@ public interface ToolConstants extends DockingToolConstants {
public static final String MENU_GROUP_NEXT_CODE_UNIT_NAV = "NextPrevCodeUnit";
/**
*
* Primary toolbar group number 1, starting from the left
*/
public static final String TOOLBAR_GROUP_NAV_ONE = "1_Toolbar_Navigation_Group";
public static final String TOOLBAR_GROUP_NAV_TWO = "2_Toolbar_Navigation_Group";
public static final String TOOLBAR_GROUP_NAV_THREE = "3_Toolbar_Navigation_Group";
public static final String TOOLBAR_GROUP_NAV_FOUR = "4_Toolbar_Navigation_Group";
public static final String TOOLBAR_GROUP_ONE = "1_Toolbar_Navigation_Group";
/**
* Primary toolbar group number 2, starting from the left
*/
public static final String TOOLBAR_GROUP_TWO = "2_Toolbar_Navigation_Group";
/**
* Primary toolbar group number 3, starting from the left
*/
public static final String TOOLBAR_GROUP_THREE = "3_Toolbar_Navigation_Group";
/**
* Primary toolbar group number 4, starting from the left
*/
public static final String TOOLBAR_GROUP_FOUR = "4_Toolbar_Navigation_Group";
}