Frank
Thanks for the link.
I have downloaded the file "LPEX Snippet Plugin".
I am working on getting it to compile. It is being stubborn. :)
It did not like the following
import com.ibm.etools.iseries.editor.ISeriesEditorUtilities;
so I changed it to:
import com.ibm.etools.iseries.edit.ISeriesEditorUtilities;
Which works in my other builds but now the line in the code is still pointing to the old import for some reason.
I will let you know what I find out.
Thanks again for all your help
Ron
-----Original Message-----
From: wdsc-plugin-dev-bounces@xxxxxxxxxxxx [mailto:wdsc-plugin-dev-bounces@xxxxxxxxxxxx] On Behalf Of Frank Hildebrandt
Sent: Tuesday, November 26, 2013 4:22 AM
To: 'RDi / WDSC Plugin Developers'
Subject: Re: [RDi/WDSC-Plugin-Dev] Help with creating a popup menu item in an Lpex editor
Ron,
go to
http://www.taskforce-it.de/downloads.php.
Download the file "LPEX Snippet Plugin".
Import the plugin into your workspace and start your runtime workbench.
When you open the LPEX Editor you have in the editors context menu the submenu "LPEX Snippet".
This should help.
Frank
-----Ursprüngliche Nachricht-----
Von: wdsc-plugin-dev-bounces@xxxxxxxxxxxx
[mailto:wdsc-plugin-dev-bounces@xxxxxxxxxxxx] Im Auftrag von Ron Byrd
Gesendet: Montag, 25. November 2013 21:17
An: RDi / WDSC Plugin Developers
Betreff: Re: [RDi/WDSC-Plugin-Dev] Help with creating a popup menu item in an Lpex editor
Thanks Frank
Last night I was able to get a simple menu entry to work , however I was struggling to get any submenus to show up.
The following works by for a single menu item.
newUserMenuItems = "\"Indent 5\" Indent5";
I have tried your code for the submenus and it looks close to what I was trying to do. When I run the code the UserActions are built and the KeyActions are built and looking in the com.ibm.lpex.prefs file there are entries in there. However no menus show up.
com.ibm.lpex.prefs file:
default.popup="beginSubmenu \\"CMOne\\" \\" Compile\\" CMOneCompile \\"
Recompile_dependent_objects\\" CMOneRecompile endSubmenu separator popup.cut cut popup.copy copy popup.paste paste separator MARK-Compare beginSubmenu popup.selectMenu popup.blockMarkElement blockMarkElement popup.blockMarkCharacter blockMarkCharacter popup.blockMarkRectangle blockMarkRectangle endSubmenu beginSubmenu popup.selectedMenu popup.blockCopy blockCopy popup.blockOverlay blockOverlay popup.blockMove blockMove popup.blockDelete blockDelete popup.blockUpperCase blockUpperCase popup.blockLowerCase blockLowerCase popup.blockShiftLeft blockShiftLeft popup.blockShiftRight blockShiftRight separator popup.filterSelection filterSelection popup.excludeSelection excludeSelection popup.findSelection findSelection popup.blockFill blockFill endSubmenu popup.blockUnmark blockUnmark separator popup.showAll showAll separator MARK-Source beginSubmenu popup.sourceMenu separator popup.hexEditLine hexEditLine endSubmenu"
So this was what was added.
beginSubmenu \\"CMOne\\" \\" Compile\\" CMOneCompile \\"
Recompile_dependent_objects\\" CMOneRecompile endSubmenu separator
I keep thinking the beginSubmenu should be after the initial menu. I tried that also and it did not seem to work.
\\"CMOne\\" beginSubmenu \\" Compile\\" CMOneCompile \\"
Recompile_dependent_objects\\" CMOneRecompile endSubmenu separator
-----Original Message-----
From: wdsc-plugin-dev-bounces@xxxxxxxxxxxx
[mailto:wdsc-plugin-dev-bounces@xxxxxxxxxxxx] On Behalf Of Frank Hildebrandt
Sent: Monday, November 25, 2013 3:01 AM
To: 'RDi / WDSC Plugin Developers'
Subject: Re: [RDi/WDSC-Plugin-Dev] Help with creating a popup menu item in an Lpex editor
Ron,
here is a snippet for you. Place it to the plugin`s activator class. Invoke
initializeLpexEditor() at the end of the start method of the activator class. Add the plugin "com.ibm.lpex" to the plugins dependencies. The snippet creates a submenu "CMOne" in the LPEX Editor context menu. Within the submenu "CMOne" there will be created the menu items "Compile" and "Recompile dependent objects". If you take a look at the code I think you should be able to customize it.
Frank
protected void initializeLpexEditor() {
LpexView.doGlobalCommand("set
default.updateProfile.userActions " +
getLPEXEditorUserActions(LpexView.globalQuery("current.updateProfile.userAct
ions")));
LpexView.doGlobalCommand("set
default.updateProfile.userKeyActions " + getLPEXEditorUserKeyActions(LpexView.globalQuery("current.updateProfile.user
KeyActions")));
LpexView.doGlobalCommand("set default.popup " + getLPEXEditorPopupMenu(LpexView.globalQuery("current.popup")));
}
public static String getLPEXEditorUserActions(String
actions) {
StringBuffer newActions = new StringBuffer();
if (actions == null) {
newActions.append("");
}
else {
newActions.append(actions);
}
String cmoneAction;
cmoneAction = "CMOneCompile
de.taskforce.cmoneng.rse.lpexactions.CompileLPEXAction";
if (newActions.indexOf(cmoneAction) == -1) {
if (newActions.length() !=
0) {
newActions.append(" ");
}
newActions.append(cmoneAction);
}
cmoneAction = "CMOneRecompile
de.taskforce.cmoneng.rse.lpexactions.RecompileLPEXAction";
if (newActions.indexOf(cmoneAction) == -1) {
if (newActions.length() !=
0) {
newActions.append(" ");
}
newActions.append(cmoneAction);
}
return newActions.toString();
}
public static String getLPEXEditorUserKeyActions(String
keyActions) {
StringBuffer newKeyActions = new StringBuffer();
if (keyActions == null) {
newKeyActions.append("");
}
else {
newKeyActions.append(keyActions);
}
String cmoneKeyAction;
cmoneKeyAction = "c-1 CMOneCompile";
if (newKeyActions.indexOf(cmoneKeyAction) ==
-1) {
if (newKeyActions.length() != 0) {
newKeyActions.append(" ");
}
newKeyActions.append(cmoneKeyAction);
}
cmoneKeyAction = "c-2 CMOneRecompile";
if (newKeyActions.indexOf(cmoneKeyAction) ==
-1) {
if (newKeyActions.length() != 0) {
newKeyActions.append(" ");
}
newKeyActions.append(cmoneKeyAction);
}
return newKeyActions.toString();
}
public static String getLPEXEditorPopupMenu(String
popupMenu) {
String startMenu = "beginSubmenu \"CMOne\"";
String endMenu = "endSubmenu separator";
StringBuffer oldMenu = null;
if (popupMenu != null) {
do {
oldMenu = new StringBuffer("");
int startIndex = popupMenu.indexOf(startMenu, 0);
if (startIndex == -1) {
oldMenu.append(popupMenu);
break;
}
else {
int endIndex = popupMenu.indexOf(endMenu, startIndex);
if (startIndex > 0) {
oldMenu.append(popupMenu.substring(0, startIndex));
}
if (popupMenu.length() > endIndex + endMenu.length() + 1) {
oldMenu.append(popupMenu.substring(endIndex + endMenu.length() + 1));
}
popupMenu = oldMenu.toString();
}
}
while (true);
}
StringBuffer newMenu = new StringBuffer("");
newMenu.append(startMenu);
newMenu.append(" ");
newMenu.append("\"" +
Messages.getString("Compile") + "\"
CMOneCompile");
newMenu.append(" ");
newMenu.append("\"" +
Messages.getString("Recompile_dependent_objects") + "\" CMOneRecompile");
newMenu.append(" ");
newMenu.append(endMenu);
newMenu.append(" ");
if (oldMenu != null) {
newMenu.append(oldMenu.toString());
}
return newMenu.toString();
}
-----Ursprüngliche Nachricht-----
Von:
wdsc-plugin-dev-bounces@xxxxxxxxxxxx<mailto:wdsc-plugin-dev-bounces@midrange
.com>
[mailto:wdsc-plugin-dev-bounces@xxxxxxxxxxxx] Im Auftrag von Ron Byrd
Gesendet: Sonntag, 24. November 2013 17:10
An: wdsc-plugin-dev@xxxxxxxxxxxx<mailto:wdsc-plugin-dev@xxxxxxxxxxxx>
Betreff: [RDi/WDSC-Plugin-Dev] Help with creating a popup menu item in an Lpex editor
I am sending this to two lists. WDSCI-L and JAVA400-L.
I am trying to add a menu item to the LPEX Popup menu.
I can add a new item to the popup menu in other editors using the SimplePopupMenu example on the web.
However I cannot get the new menu item to show up on a member opened in the LPEX editor.
Below is the plugin.xml file
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
objectClass="org.eclipse.ui.IEditorInput"
id="simplePopupMenu.contribution1">
<menu
label="ShowIFile"
path="additions"
id="simplePopupMenu.menu1">
<separator
name="group1">
</separator>
</menu>
<action
label="SimpleMessageAction"
class="simplepopupmenu.popup.actions.SimpleMessageAction"
menubarPath="simplePopupMenu.menu1/group1"
enablesFor="1"
id="simplePopupMenu.newAction">
</action>
</objectContribution>
</extension>
<extension
point="com.ibm.lpex.preload">
<preload
class="simplePopupMenu.preload3">
</preload>
</extension>
</plugin>
If anyone has any ideas what I need to do to make this show up in the Lpex Editor I would appreciate it.
Thanks
Ron
--
This is the RDi / WDSC Plugin Developers (WDSC-Plugin-Dev) mailing list To post a message email:
WDSC-Plugin-Dev@xxxxxxxxxxxx<mailto:WDSC-Plugin-Dev@xxxxxxxxxxxx> To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/wdsc-plugin-dev
or email:
WDSC-Plugin-Dev-request@xxxxxxxxxxxx<mailto:WDSC-Plugin-Dev-request@midrange
.com>
Before posting, please take a moment to review the archives at
http://archive.midrange.com/wdsc-plugin-dev.
--
This is the RDi / WDSC Plugin Developers (WDSC-Plugin-Dev) mailing list To post a message email:
WDSC-Plugin-Dev@xxxxxxxxxxxx<mailto:WDSC-Plugin-Dev@xxxxxxxxxxxx> To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/wdsc-plugin-dev
or email:
WDSC-Plugin-Dev-request@xxxxxxxxxxxx<mailto:WDSC-Plugin-Dev-request@midrange
.com>
Before posting, please take a moment to review the archives at
http://archive.midrange.com/wdsc-plugin-dev.
--
This is the RDi / WDSC Plugin Developers (WDSC-Plugin-Dev) mailing list To post a message email: WDSC-Plugin-Dev@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/wdsc-plugin-dev
or email: WDSC-Plugin-Dev-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/wdsc-plugin-dev.
--
This is the RDi / WDSC Plugin Developers (WDSC-Plugin-Dev) mailing list To post a message email: WDSC-Plugin-Dev@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/wdsc-plugin-dev
or email: WDSC-Plugin-Dev-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/wdsc-plugin-dev.
As an Amazon Associate we earn from qualifying purchases.