Adding a new context menu option to KM

I want to add a new menu option to KM that appears when a user clicks the context menu of an xmlform generated xml file.
From reading the forums it appears I need to edit an existing UI Command Group, adding a newly created Command that points to a Java class containing a handler class that implements ICommand?
-How do I know which command group to add my command to?
-Can I make the new command appear only for xml files generated by xmlforms?
Cheers,
Steve

Hi Steve,
<b>-How do I know which command group to add my command to?</b>
You have to know what layout set is used in the navigation iView. If you do not know this, you have can add your user to the Debugging Settings list (KM Configuration -> Content Management -> User Interface -> Debugging Settings) and click on the Rendering Information link in the iView.
After that you can go to the Layout Set settings ((KM Configuration -> Content Management -> User Interface -> Settings -> Layout Set) and check the settings of the Resource Renderer in use. For example if use the AdminExplorer LayoutSet you'll have to take a look at AdminResourceRenderer configuration. There you can see the Command Group used for Resources (Resource Command Group).
This is the group you have to edit.
<b>-Can I make the new command appear only for xml files generated by xmlforms?</b>
Unfortunately you can only use different groups for Resources, Folders and Links but not for different type of Resources.
Hope this helps,
Robert

Similar Messages

  • Add "make unique symbol" button and context menu option

    I often want to make a variation of an existing symbol that is already positioned on the page. Unless I'm missing something, the steps are to duplicate existing symbol in the symbols palette, then replace the selected symbol instance, using the "replace symbol instance" in the Control Bar. Why not have a context menu option "make unique symbol" that automatically replaces the instance with new, unique symbol? I'd also like to see "Edit Symbol" added to the context menu. I'm hovering over the symbol, why should I have to go find the "edit symbol" button? I realize I can double-click the instance, but this does not work in all cases, such as when the direct select tool is active.
    If you've used SketchUp, you know where this idea comes from.
    Thanks,
    Ray

    No, I want to make a new, unique symbol of an existing symbol instance. If I choose "break link" from the context menu or symbols palette, the artwork is no longer a symbol and after editing, must converted to a symbol using the symbols palette. This requires several, unnecessary steps. At the very least, I'd like to see "Make new symbol" added to the context menu. If you're a SketchUp user you'll know exactly what I'm talking about. Seems incidental, but AI's method is inefficient.

  • Error when using the report context menu option Goto - Documents

    Hi gurus,
    I'm doing some report tests via Analyzer and when a try to use de context menu option "Goto -> Documents" and try to create a new document, the following errors occur:
    "CANNOT GET THE FOLDER FOR ASSIGNMENT"
    "ERROR WHILE LAUNCHING NEW DOCUMENT DIALOG"
    I'm using the nw2004s version. Could someone help me out?
    Thanks in advance.

    Hi Thaigo,
    We are also having the same problem with 2004s SP9 and SP10.
    1. All the 0TCA* are active.
    2. Super admin role is assigned.
    But still getting the above three errors. Somebody who have overcome this problem please share the corresponding changes to be made in KM Configuration
    Thanks and Regards
    Giri Nath

  • In Dreamweaver MySites[New Site] menu option , if I had a hosting JSP/PHP what I must declare the hosting JSP or PHP ?

    In Dreamweaver MySites[New Site] menu option , if I had a hosting JSP/PHP what I must declare the hosting JSP or PHP ?

    The simplest answer is to choose the language you work best with, and that fits the clients specification the best.
    I have mixed server languages on a site before, (would not recommend) when a client has decided they wish to change from their old one to a new(er) /different one, the only thing you must watch if doing this, is that you do not mix languages on the same page (will not work correctly, if at all), and parameter passing.
    PZ

  • Exchange variant context menu option in Process Chains

    Hello Masters,
    I would like to know about the context menu option Exchange variant in Process Chains. Could you please educate me on this.
    Thanks and best wishes,
    i-bi

    Hi,
    Every process step is associated with a variant (process step actually <b>is</b> a variant). To exchange the variant would mean removing the existing one and replacing it with another.
    After exchanging it click "check". The interface is somewhat buggy...

  • Hiding Context Menu Options in easyDMS

    Hi,
    I tried to hide context menu items on EasyDMS 7 SP06 according to note  983648 but with no success.
    I've added the registry entry but the items are still being shown in the context menu.
    Any Idea why?

    The registry entry should happen in HKLM instead of HKCU. The note for 7.0 is 1367514 . In 7.0 we have concept of centrally controlled registries. Hope this helps.
    Jomerce

  • Default context menu options in Multisim 11

    Below is the right click context menu that I get when clicking in the blank area of a sheet in Multisim 11.  The Properties option is not listed so it appears that another option is selected somewhere in settings.  I have tried to do a repair on the installation as well as an uninstall/re-install procedure without luck.  How can I restore the default right click context menu?
    Thanks,
    Thomas Meiswinkel

    I'm having the same issues, but I tried deleting all the files in the Config folder (Options<Global Preference) but it still hasn't fixed anything. Here's my right-click on any component as well:
    Attachments:
    Right Click.jpg ‏14 KB

  • Remove New Link Menu Option

    Hello, all!
    I am looking to remove the New > Link option in the Portal Favorites iView.  From looking through the forum posts, it looks like I have to create my own Layout Set and define commands.  I have done all of that, but in my copied command group, it looks like it only defines the Clipboard and Details sections.  I can't seem to find where to define which options to show under "New."
    When you are in the Organize Entries of the Portal Favorites iView, you can click beside your Favorites folder and select New > < Folder..., Link..., External Link... >.  I need to remove the "Link..." option.  Does anyone know how to do that?
    Thanks so much!

    Hi Alexa,
    Your requirement can be done probably.
    Just check the steps below.
    1.Check the Layout of the Portal Fav iView.
                PortalFavoritesExplorer
    2.Check the collection renderer of the Layout
                 PortalFavoritesCollectionRenderer
    3.Check the Components(Use Show Advanced)
                  OrganizePortalFavoritesEntries
    4. Now check this Component:Content Management->(Show Advanced Options)Mapping->Component.
        Search for the component: OrganizePortalFavoritesEntries
        Now you will see it uses a Command : EditFavorites
    5. Edit the Command : EditFavorites
        You will see in the Parameters, it is using a layout:PortalFavoritesMaintenance
    6. Open layout:PortalFavoritesMaintenance
    7. Edit the Collection Renderer PortalFavoritesMntcCollectionRenderer
    8. Edit the Collection Command Group: LinkListMntcCollectionCommandGroup
    9. Edit the Command Group: LinkListMntcNewResourceGroup
    10.Edit the Commands :Remove the new_internal_link Command.
    Regards
    BP

  • New Bitmap missing from context menu after installing photoshop

    After installing photoshop CS6 from CD onto Windows 7x64; my context menu > New > bitmap is no longer available.  registry settings are intact and I've used Bridge ro reassociate .bmp with mspaint but the option still does not appear.  The installation of photoshop is the only change to the computer in several months.
    I can workaround by creating new txt files and changing the extension but this adds a step to a (non photoshop related) workflow that's been in place and worked well for years.

    I don't know why Photoshop would kill the system default entry for new bitmap - possibly because it has associated itself with that file type.
    First thing to look at - start Adobe Bridge CS6, go into the Edit - Preferences - File Type Associations dialog, and see if you can re-associate MSPAINT.EXE with the BMP format.  That may correct the issue, but I can't say for certain as I don't want to try it here and change my own setup.
    I don't use the New context menu functionality for making new bitmaps myself, but when I looked to see what shows up in my New context menu, I found this:
    Choosing the IrfanView BMP File entry led to this:
    If you can't recover the old functionality via the Bridge settings, it may be that you can install the freeware viewer IrfanView and have it associate itself with the BMP file type.
    -Noel

  • [TUTORIAL] Context Menu to export EML files

    Hello there folks!
    I'm pretty new to the topic of C3PO, GW and all the Novell stuff and one of my tasks was to "code an export mechanism for GW8 thats lats us save e-mails to our storage system". Ok, that was a hammer. But wrapping my head around it and starting to error out the things got me pretty far and I guessed it was tutorial material. So here we go:
    @Moderators: This is the thread that has everything in it. the other one can be deleted.
    This tutorial is intendend for C# only. I don't like VB and I'm too dumb for C++ so if you need it for another dialect you need to work it out your self.
    Agenda:
    Needed packages
    C3PO wizard
    Loading to Visual Studio 2010
    Needed Imports/References
    Simple MessageBoxing
    Export Code
    Registering and caching the .DLL
    Testing (please help me with a better way here)
    1. Needed packages
    the novell-gwc3po-devel-2012.11.15.zip file (unzip this after downloading)
    an installed version of Visual Studio 2012 C# (or if you want to work with a different dialect choose another)
    cmd access to some of the registering tools:
    It may be the best thing to set tose paths up in you env variables. Allthough when running the cmd with administrator privileges you can't use regasm from env variables and need to cd to the directory.
    RegAsm (regasm.exe): C:\Windows\Microsoft.NET\Framework\v4.0.30319 (the version depends on the target)
    GACUtil (gacutil.exe): C:\Program Files(x86)\Micrsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\ (this path is also dependent on your target framework version, I chose .NET4)
    StrongName (sn.exe): C:\Program Files(x86)\Micrsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\ (this path is also dependent on your target framework version, I chose .NET4)
    a good beverage :D (you should obtain multiple of these :D)
    2. The C3PO wizard
    In my case I wanted to add the functionality via the context menu. So the code executes when right-clicking on one or multiple messages displays another menu item and is clickable.
    This is pretty easy to realize via the C3PO wizard. You'll find it in the downloaded and extracted novell-gwc3po-devel-2012.11.15.zip from above. Start it (it is located in extracted-zip-folder/gwc3po-FILES/C3POWizard/C3POWizard.exe) and setup your project:
    Setup the project in the wizard step 1
    I usually setup the Wizard inside my Visual Studio 2010 projects folder, create a new folder there with the name of the project and check the options i want to have.
    In the next step I chose which type of View should display my custom context menu. Since I was only interested in exporting and working with e-mails I chose "GW.MESSAGE.MAIL" and added it to the bottom list via, you guessed it, "Add".
    Setup theView that invokes the new context menu item
    In the next step you I had to setup a new entry for the context menu. You could make side-droppable menus here etc. But for me a simple "Add Menu" was enough. Give it a name of your choice (beware: I'm yet to find out where to change this setting in the source files).
    Creating a Menu Item in step 3
    Click through next and the wizard will sum up you choices. In the next dialog window you will be prompted to specify the language you want the code to be generated. I chose .NET C#.
    In the prompt after that you will be asked if the wizard should create a .DLL-project. You click yes.
    Quit the wizard with the "Done" button.
    3. Loading to Visual Studio 2010
    Open up your Visual Studio and go to File -> Open Project. Navigate to the folder where you just created the files with the C3PO-Wizard. and open up the .csproj file.
    All the files get loaded and it seems quite well. but now it's time for some other stuff: Signing, or better, providing a key for signing.
    Allthough the README.txt (also in your project folder) states this is not neccessarily needed I did not get it to work without a key file.
    Open up a terminal and tpye in sn /? to see if the environment variables work. If not you can yuse the abolute path to sn (see: 1: Needed packages). If everything works as expected you can generate your keyfile with sn -k <PathToYourProject>\Archive.snk.
    In Visual Studio, go to Project -> <ProjectName>-Properties -> Signing -> Sign assembly [x] -> Search and pick the .snk-file you just created.
    Good. A first compilation of the project with F6 should rumble through without problems. Go to <ProjectFolder>\bin\Release and copy the .dll files to <GroupWiseInstallPath>.
    After that you need to open a cmd windows as administrator and cd to the RegAsm.exe directory and execute the following: [I]regasm "<GroupWiseInstallPath>\<TheDllName>.dll". Then execute gacutil -i "<GroupWiseInstallPath>\<TheDllName>.dll".
    RegAsm will register the extension to the Windows registry and GACUtil will cache the .dll content to make it available to GroupWise.
    You need to re-cache the .dll everytime you compile in VS. So basically the workflow is Compile -> Copy dll to GroupWise directory -> re-cache with gacutil -i -> Start Groupwise
    I have not found a method to post-build execute a script that does that. Problem is the copying and the gacutil caching (both must be done as administrator).
    IIf everything worked you see a new entry in the context menu when right-clicking a mail in Groupwise. When you click it, there will appear a message box.
    The MessageBox is defined in GWCommand.cs L. ~125
    4. Needed Imports/References
    Since we got the skeleton to compile and function properly, it's time to get our own code in there. FOr rapid prototyping I do all the stuff in GWCommand.cs.
    Go to Project -> add Reference -> COM and select "C3POTypeLibrary", "GroupWareTypeLibrary, "GroupWiseCommander", "GroupWiseConnectorLibrary" and click OK. The selected entries now appear in the project explorer.
    5. Simple MessageBoxing
    A thing I like to do (because I'm not a very good programmer) is to get all sorts of infos to get displayed with
    Code:
    MessageBox.Show();
    Just fling it in the code and see what get's where etc. An important thing is allready in the comments of the file.
    It is this line:
    Code:
    C3POTypeLibrary.IGWClientState6 myCL = (C3POTypeLibrary.IGWClientState6)WIASSArchivButton.g_C3POManager.ClientState;
    . Uncomment it and play around with the myCL-object in your code.
    The myCL has some properties we will use later on such as myCL.SelectedMessages which is exactly what we need for our archive functionality.
    6. Export Code
    Now we get to the code:
    With the
    Code:
    ClientState
    dug up in the code we can pass the
    Code:
    SelectedMessages
    into a
    Code:
    MessageList
    . Over this MessageList we will iterate and save each
    Code:
    Message
    with the so called
    Code:
    GroupWiseCommander
    to our disk. well that sounds simple. And, well after digging through a lot of threads here on the forum and the documentation, it is.
    Here is the Execute() method from GWCommand.cs:
    It has comments that should serve as a documentation.
    Code:
    public void Execute()
    try
    switch (m_PersistentID)
    case WIASSArchivButton.vWIASS:
    //C3PO WIZARD Put execute command code here for WIASS Context menu.
    /* this was in the comments and is essential!
    * the myCL object provides us everything we need to interact with the messages */
    C3POTypeLibrary.IGWClientState6 myCL = (C3POTypeLibrary.IGWClientState6)WIASSArchivButton.g_C3POManager.ClientState;
    // get the selected messages
    object o = myCL.SelectedMessages;
    // and convert the SelectedMessages to a MessagesList
    MessageList ml = (MessageList)o;
    // iterate over all the selected Messages
    // this was tricky: the index of the MessageList starts by 1 and not at 0
    for (int i = 1; i <= ml.Count; i++)
    // the .Item() method expects either a string or a long
    // see http://www.novell.com/documentation/developer/groupwise_sdk/gwsdk_gwobjapi/data/h20s5bdo.html
    long index = (long)i;
    // instantiate a Message object to get access to the different properties like subject, sender etc
    GroupwareTypeLibrary.Message oMessage = (GroupwareTypeLibrary.Message)ml.Item(index);
    // instantiate a GroupWiseCommander
    // this is the interface to the TOKEN API
    // TOKENS: https://www.novell.com/developer/documentation/gwtoken/index.html
    GroupWiseCommander.GWCommander cmdr = new GroupWiseCommander.GWCommander();
    // the GWCommander has an Execute() method that is able to take certain tokens kind of like SQL
    // lets build the token (the complete list is huge and awesome) to save our Messages
    // ItemSaveMessage(): https://www.novell.com/developer/documentation/gwtoken/gwtokens/data/hbt0bd7x.html
    string tokenCommand = "ItemSaveMessage(\"" + oMessage.MessageID + "\"; \"C:\\archiv\\" + oMessage.MessageID + ".eml\"; 900)";
    /* what happens here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ is that we build us a TOKEN command that the
    * GWCommander is able to execute.
    * the actual command is ItemSaveMassge()
    * everything between the semi-colons are the parameters:
    * \"" + oMessage.MessageID + "\" : builds an ANSISTRING of the MessageID which we get from the oMessage onject
    * \"C:\\archiv\\" + oMessage.MessageID + ".eml\" : build an ANSISTRING of the output filename
    * 900 is the type we want to export. 900 stands for Mime
    * CAUTION:In this example I use C:\archive\ as the destination folder. It must exist and be writable to the program
    // now that we have setup our command we can get it executed by the commander
    // the result is sort of a callback variable
    string result ="";
    cmdr.Execute(tokenCommand, out result);
    /* here can the error handling be done with the result string
    break;
    default:
    MessageBox.Show("Unsupported Case", "Error", MessageBoxButtons.OK);
    break;
    //A way to get the GroupWise client state with newest interface
    //C3POTypeLibrary.IGWClientState6 myCL = (C3POTypeLibrary.IGWClientState6)WIASSArchivButton.g_C3POManager.ClientState;
    //uncomment the code below to unblock the base command
    //IGWCommand baseCmd = (IGWCommand)WIASSArchivButton.g_C3POManager.CreateGWCommand(m_objBaseCmd);
    //baseCmd.Execute();
    catch (Exception e)
    MessageBox.Show("Error Executing GWCommand: " + m_PersistentID.ToString() + " Error: " + e.Message);
    return;
    7. Registering and caching the .DLL
    After that you need to open a cmd windows as administrator and cd to the RegAsm.exe directory and execute the following: regasm "<GroupWiseInstallPath>\<TheDllName>.dll". Then execute gacutil -i "<GroupWiseInstallPath>\<TheDllName>.dll".
    RegAsm will register the extension to the Windows registry and GACUtil will cache the .dll content to make it available to GroupWise.
    You need to re-cache the .dll everytime you compile in VS. So basically the workflow is Compile -> Copy dll to GroupWise directory -> re-cache with gacutil -i -> Start Groupwise
    8. Testing (please help me with a better way here)
    Is there a good way to hook every thing up together to jsut stay in VS , compile, files get copied, registered, cached and GW starts?
    Thanks for reading!
    I wrote this up to have a documentation for myself and others. please let em know if you need help or anything is missing or not clear. It's certainly not a total noob guide and I expect a bit of knowledge to be honest.
    Regards
    Sebastian

    Originally Posted by Username951
    Multiple email selection should be possible, but only those emails that are fitting some requirements should be stored finally in database.
    One requirement is for example that a keyword like "ISSUE" appears in the email subject
    (followed by a ":", a "space" and some characters that can be converted to an integer value),
    multiple, leading "Fwd: " and/or "Re: " should be handled well,
    subject should be handled case-in-sensitive.
    This sounds like you should implement some sort of SelectedMessagesValidator class just to keep it clean.
    Originally Posted by Username951
    So here are my find outs, remarks, etc.:
    1.) Visual Studio should be started under admin. rights.
    Then you can write a post-build event (batch) that copies, "regasm"s and "gacutil"s everything.
    As said this works fine for me.
    But note that unfortunately the paths to "regasm" and "gacutil" changed
    (compared to the time where you wrote your tutorial).
    Definitely. That way, as you mentioned, the post build scripts integrate very well.
    Originally Posted by Username951
    2.) The "Novell C3PO" wizard was downloaded and worked out as described in our tutorial.
    One important step was to use "GW.MESSAGE.MAIL" and not "...BROWSER..." or something else.
    I can not figure out, where you have the GW.BROWSER thing from, but in my examples I allways used GW.MESSAGES.MAIL
    Originally Posted by Username951
    The wizard created finally the basic C# (.NET framework 2.0) project.
    This project was loaded in Visual Studio 2013, automatically converted to "newest version"
    and finally was a ".sln" made.
    Yes. You can leave it at 2.0. I just have the 4.5 installed so i will target this version
    Originally Posted by Username951
    "oracle.dataaccess"
    -> Note that the "Copy Local" property must be set to "true"!
    (This property will be reset to "false" after a successful (re)build.
    So check this and change it to "true" for the first build!
    This must be made only once because after a successful build is this .dll known;
    keywords: GAC -> cached
    But note that "successful" means also that the post-build event ran flawless!)
    This is quite specific to your case since my example on exports a flat EML file to the hard drive
    Originally Posted by Username951
    2.) regasm.exe needs strong names.
    So a "cmd" with admin. right was opened,
    a
    "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\sn.exe" -k "C:\Users\<username>\Documents\Visual Studio 2013\Projects\GWSaveToDatabase\GWSaveToDatabase.sn k"
    fired
    and the created "GWSaveToDatabase.snk" file added to the solution.
    I don't want to be picky, but it's gacutil that needs the strong names. ragasm is not complaining
    Originally Posted by Username951
    (Development) Remarks
    1.) While I used the "C3PO" wizard first time I used "Add Menu" item - as you said in your tutorial! :-(
    And that is definitely wrong!
    See:
    The result was a C# project that does not show any new context menu entry.
    So I tried at the next wizard run "Add Menu Item".
    The wizard created again a C# project but still no new context menu entry in the GroupWise client.
    (And that after all needed steps
    like
    copy to GroupWise installation path,
    regasm and gacutil over all .dlls
    etc.
    were successful be made).
    It took a complete day to get the idea to "merge" the two wizard created projects!
    Why merging?
    Because the second project contained a "const" which were used in the switch statement of the "Execute()" method
    (with the same meaning like your "WIASSArchivButton.vWIASS" - see your code snippet above!)
    and the "CustomizeContextMenu(...)" method in "CommandFactory.cs" looked also different
    while the first project does not contained something similar.
    ( For example:
    The "CustomizeContextMenu(...)" method had more statements.
    And that made more sense to me compared to the first wizeard created C# project.
    Since I uploaded a better example this is obsolete.
    Originally Posted by Username951
    So I ASSUME that the second project would work but it does not because of regasm / gacutil behaviour.
    Means I believe it would work when all
    with regasm registered
    and
    with gacutil to the cache added "things"
    would be "un-registerd" and "un-cached".
    This is, as I assume, due to the Interop.C3POTypeLibrary.dll. This must me cached every time the project is build. maybe you could use gacutil -i Interop.C3POTypeLibrary.dll -f to force the recaching
    Originally Posted by Username951
    So, finally I took the second, wizard created C# project and copied the "const", adjusted the "Execute()"
    and "CustomizeContextMenu(...)" methods, etc.
    After that the context menu were shown in the GroupWise client!
    Thats is correct. But I never had to do this. The thing is, that the "Add Menu Item" is giving you the opputunity to specify a command, which the "Add Menu" doesn't.
    Originally Posted by Username951
    2.) The next issue was that the context menu was added as often as many emails were selected.
    Means: For example: Three selected emails ends up in three time added context menu.
    Solution:
    Checking
    var existsAlready = menuItems.Item("...");
    if (existsAlready != null)
    return;
    in "CustomizeContextMenu(...)" method and leaving the method under shown circumstances.
    I added a fix for this in the second post, but it isn't working in GW2012 anymore. I have a very ubly fix for that in my new code.
    Originally Posted by Username951
    3.) The by the wizard created registry path contained the version number "5.0".
    This may confuse but it is finally ok. No need to change here anything!
    On the other side:
    It will NOT work when the registry entry
    "SOFTWARE\\Novell\\GroupWise\\5.0\\C3PO\\DataTypes \\...."
    will be changed/"adjusted to that GroupWise client version you are currently using"!
    This is all part of the official documentation and wasn't touched by Novell since quite a long time.
    I think i will make a github repository in the futer as a proof of concept and kind of a accessable documentation for everyone.

  • Context menu refresh issue in adf tree.

    Hi All,
    I am using jdeveloper 12.1.2.2.0.
    I have a programmatically generated tree in which I have added two buttons in the context menu using context menu facet.
    * I have selection listener in the tree and right click also selects the node.
    There are two issues regarding the context menu:
    1. If I right click the tree node, the context menu is showing only the two buttons I added and it is not showing the default expand/collapse, expand all/collapse all below and show as top options of context menu. Once I refresh the tree region doing some actions in the page, it is showing all the options.
    2. The buttons I added inside the context menu have disabled conditions and the trigger is given for the parent container "popup" which will be triggered by tree node selection. The problem is that whenever I right click the tree node, the popup is refreshed because of the trigger and the expand/collapse functions are not working. If I right the same node again the functions are working fine.
    How to resolve these issues?
    Thanks in advance.
    - Vignesh S.

    Any suggestions would be helpful.
    The below is the xml of the tree:
                                                           <af:tree var="node" value="#{dmc.btm.model}" id="btc"
                                                                     rowSelection="#{(viewScope.fc.editable || viewScope.cc.editable || viewScope.bc.editable) ? 'none' : 'single'}"
                                                                     immediate="false" initiallyExpanded="false"
                                                                     selectionListener="#{dmc.selectionListener}"
                                                                     fetchSize="100" expandAllEnabled="true">
                                                                <f:facet name="nodeStamp">
                                                                    <af:group id="g3">
                                                                        <af:image source="#{node.icon}" id="i1"/>
                                                                        <af:outputText value="#{node.id}" id="ot4"/>
                                                                    </af:group>
                                                                </f:facet>
                                                                <f:facet name="contextMenu">
                                                                    <af:popup childCreation="deferred" autoCancel="enabled"
                                                                              id="p1" partialTriggers="::btc"
                                                                              contentDelivery="lazyUncached">
                                                                        <af:menu text="menu 1" id="m1">
                                                                            <af:toolbar id="t4">
                                                                                <af:commandToolbarButton shortDesc="Create"
                                                                                                         text="#{prop['label.new']}"
                                                                                                         icon="images/new_ena.png"
                                                                                                         disabledIcon="images/new_dis.png"
                                                                                                         id="ctb4"
                                                                                                         actionListener="#{dmc.newListener}"
                                                                                                         partialSubmit="true"
                                                                                                         disabled="#{!dmc.createButtonEnabled || viewScope.fc.editable || viewScope.cc.editable}"/>
                                                                            </af:toolbar>
                                                                            <af:toolbar id="t5">
                                                                                <af:commandToolbarButton shortDesc="Delete"
                                                                                                         text="#{prop['label.delete']}"
                                                                                                         icon="images/delete_ena.png"
                                                                                                         disabledIcon="images/delete_dis.png"
                                                                                                         id="ctb5"
                                                                                                         actionListener="#{dmc.deleteListener}"
                                                                                                         disabled="#{!dmc.deleteButtonEnabled || viewScope.fc.editable || viewScope.cc.editable}"/>
                                                                            </af:toolbar>
                                                                        </af:menu>
                                                                    </af:popup>
                                                                </f:facet>
                                                            </af:tree>

  • Modifying default context menu of  af:tree

    Hi all,
    this one is urgent..
    I am having a af:tree component on a jspx web page.
    I know that we can change the context menu (the box that pops out when right click happens on any of its node) by setting contextMenuId of the af:tree which points to a af:popup having af:menu. When we dont set contextMenuId; we get a default context menu displaying options to expand/collapse other nodes. When we set it to some af:popup component we get a different context menu.
    My requirment is that instead of getting a new context menu, i must be adding up my new options to the already existing default options in the context menu. So its a kind of extension of default context menu available.
    So can anybody help me.... i am a newbie so pls forgive me if i'm wrong somewhere..
    Thanks a lot..

    Hi Frank,
    thanks for the kind response..
    Yeah, i had tried that out too. But in this case the context menu that i'm defining doesn't seem to be picked up by af:tree since i'm only able to see the default context menu of the browser.
    This is strange since even the default context menu provided by af:tree doen't appear.
    Do we need to do something else also for that...
    By the way i assume that you were talking about contexMenu facet of af:tree only.
    I am inlinning the jspx code snippet for convinient.
    Can you please suggest something....
    <af:panelFormLayout customizationId="panelFormLayout1">
    <f:facet name="footer">
    <af:group>
    <af:commandButton text="commandButton 1"
    customizationId="commandButton1"/>
    <af:image source="http://www.google.com/intl/en_ALL/images/logo.gif"
    shortDesc="THE logo" customizationId="image1"/>
    <af:tree value="#{myBean.model}" var="model"
    rowSelection="single" initiallyExpanded="true"
    id="structureNavigatorTree" inlineStyle="padding:2px"
    contentDelivery="immediate"
    customizationId="amitKumarGupta">
    <f:facet name="nodeStamp">
    <af:panelGroupLayout>
    <af:outputText value="#{model.name}"/>
    </af:panelGroupLayout>
    </f:facet>
    <f:facet name="contextMenu">
    <af:popup id="yesItsgeneral">
    <af:menu id="fdssd" text="menu 1">
    <af:commandMenuItem id="micrsfdg" text="Expand All2"/>
    </af:menu>
    </af:popup>
    </f:facet>
    </af:tree>
    </af:group>
    </f:facet>
    </af:panelFormLayout>
    </cust:panelCustomizable>
    <f:facet name="editor">
    <pe:pageEditorPanel/>
    </f:facet>
    </pe:pageCustomizable>
    </af:form>
    </af:document>
    Hi,
    turns out the solution is easy. Just use the context
    menu facet, similar to below
    <f:facet name="contextMenu">
    <af:popup>
    <af:menu text="menu 1">
    <af:commandMenuItem text="Expand
    All2"/>
    </af:menu>
    /af:popup>
    </f:facet>
    custom menu to the existing set of menus
    Frank

  • Eclipse IDE: missing context menu "JPA"

    I want to try out the Generate Custom JPA Entities* feature but the context menu option JPA is missing. I have only JPA Tools (Hibernate tool plugin). I have already installed Oracle Enterprise Pack for Eclipse. I am using the latest Eclipse Java EE IDE (20120216-1857).
    I navigated to the project properties dialog, and examined "JPA" settings
    Platform: Hibernate (JPA 2.X)
    JPA Implementation: Hibernate
    Connection: MyOwnConnection
    Annotated Classes must be listed in persistence.xml is checked.
    Source Folder: src

    What perspective are you using? The alternative to context menu is to access via New > Other...
    - New > Other | JPA | JPA Entities from Tables

  • Creation of Custom context menu in CL_GUI_TEXTEDIT

    Hello all,
    I need to develop a custom context menu in the Text Editor.
    I am using the <b>CONTEXT_MENU</b> event of the class
    <b>CL_GUI_TEXTEDIT </b>for the same.
    It is giving a short dump with an exception 'empty_obj' in the method
    <b>CL_CTXMNU_MGR=>CREATE_PROXY</b>.
    Please help.

    Hello Tejas
    The following sample report ZUS_SDN_TEXTEDIT_CTXMENU shows how to trigger context menus in text editor. Please note that the editor must be set <b>enabled</b>.
    If you inactivate subroutine <b>SET_REGISTERED_EVENTS</b> the new context menu function will no be displayed. Thus you need to <b>register</b> the event for context menu handling.
    *& Report  ZUS_SDN_TEXTEDIT_CTXMENU
    *& Flow logic of screen 100.
    *      PROCESS BEFORE OUTPUT.
    *       MODULE STATUS_0100.
    *      PROCESS AFTER INPUT.
    *       MODULE USER_COMMAND_0100.
    REPORT  ZUS_SDN_TEXTEDIT_CTXMENU.
    TYPE-POOLS: cntl.  " Types for Controls
    DATA:
      gd_okcode      TYPE ui_func,
      go_docking     TYPE REF TO cl_gui_docking_container,
      go_textedit    TYPE REF TO cl_gui_textedit,
      gd_name        TYPE thead-tdname,
      gs_header      TYPE thead,
      gd_langu       TYPE thead-tdspras,
      gt_lines       TYPE STANDARD TABLE OF tline.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
          handle_context_menu
            FOR EVENT context_menu OF cl_gui_textedit
              IMPORTING
                menu
                sender,
          handle_ctxmenu_selected
            FOR EVENT context_menu_selected OF cl_gui_textedit
              IMPORTING
                fcode
                sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_context_menu.
        CALL METHOD menu->add_function
          EXPORTING
            fcode       = 'MY_FUNC'
            text        = 'My Function'
    *        ICON        =
    *        FTYPE       =
    *        DISABLED    =
    *        HIDDEN      =
    *        CHECKED     =
    *        ACCELERATOR =
      ENDMETHOD.                    "handle_context_menu
      METHOD handle_ctxmenu_selected.
        CASE fcode.
          WHEN 'MY_FUNC'.
            MESSAGE 'My function selected from ctxmenu' TYPE 'I'.
          WHEN OTHERS.
        ENDCASE.
      ENDMETHOD.                    "handle_ctxmenu_selected
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    PARAMETERS:
      p_pspnr    TYPE prps-pspnr.
    START-OF-SELECTION.
    * Get the text object
      gs_header-tdid = 'LTXT'.  " long text
      gs_header-tdspras = syst-langu.
      CONCATENATE syst-langu p_pspnr
          INTO gs_header-tdname.
      gs_header-tdobject = 'PMS'.
      CALL FUNCTION 'READ_TEXT'
        EXPORTING
    *     CLIENT                        = SY-MANDT
          id                            = gs_header-tdid
          language                      = gs_header-tdspras
          name                          = gs_header-tdname
          object                        = gs_header-tdobject
    *     ARCHIVE_HANDLE                = 0
    *     LOCAL_CAT                     = ' '
    *   IMPORTING
    *     HEADER                        =
        TABLES
          lines                         = gt_lines
        EXCEPTIONS
          id                            = 1
          language                      = 2
          name                          = 3
          not_found                     = 4
          object                        = 5
          reference_check               = 6
          wrong_access_to_archive       = 7
          OTHERS                        = 8.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL SCREEN '0100'.
    END-OF-SELECTION.
    *&      Form  SET_REGISTERED_EVENTS
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM
    set_registered_events .
    * define local data
      DATA:
        lt_events      TYPE cntl_simple_events,
        ls_event       TYPE cntl_simple_event.
      TYPES: BEGIN OF cntl_simple_event,
           eventid TYPE i,
           appl_event TYPE c,
         END OF cntl_simple_event.
      ls_event-eventid = cl_gui_textedit=>event_context_menu.
      APPEND ls_event TO lt_events.
      ls_event-eventid = cl_gui_textedit=>event_context_menu_selected.
      APPEND ls_event TO lt_events.
      CALL METHOD go_textedit->set_registered_events
        EXPORTING
          events                    = lt_events
        EXCEPTIONS
          cntl_error                = 1
          cntl_system_error         = 2
          illegal_event_combination = 3
          OTHERS                    = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " SET_REGISTERED_EVENTS
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'MAIN_0100'.
    *  SET TITLEBAR 'xxx'.
      CLEAR: gd_okcode.
      IF ( go_textedit IS NOT BOUND ).
        CREATE OBJECT go_docking
           EXPORTING
             parent                      = cl_gui_container=>screen0
    *        REPID                       =
    *        DYNNR                       =
    *        SIDE                        = DOCK_AT_LEFT
    *        EXTENSION                   = 50
    *        STYLE                       =
    *        LIFETIME                    = lifetime_default
    *        CAPTION                     =
    *        METRIC                      = 0
            ratio                       = 90
    *        NO_AUTODEF_PROGID_DYNNR     =
    *        NAME                        =
          EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5
            OTHERS                      = 6.
        IF sy-subrc <> 0.
    *     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CREATE OBJECT go_textedit
          EXPORTING
    *        MAX_NUMBER_CHARS       =
    *        STYLE                  = 0
            wordwrap_mode          =
                c_textedit_control=>wordwrap_at_windowborder
    *        WORDWRAP_POSITION      =
            wordwrap_to_linebreak_mode =
               c_textedit_control=>true
    *        FILEDROP_MODE          = DROPFILE_EVENT_OFF
            parent                 = go_docking
    *        LIFETIME               =
    *        NAME                   =
          EXCEPTIONS
            error_cntl_create      = 1
            error_cntl_init        = 2
            error_cntl_link        = 3
            error_dp_create        = 4
            gui_type_not_supported = 5
            OTHERS                 = 6.
        IF sy-subrc <> 0.
    *     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CALL METHOD go_textedit->set_text_as_r3table
          EXPORTING
            table           = gt_lines
          EXCEPTIONS
            error_dp        = 1
            error_dp_create = 2
            OTHERS          = 3.
        IF sy-subrc <> 0.
    *     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CALL METHOD go_textedit->set_enable
          EXPORTING
            enable            = cl_gui_cfw=>true
          EXCEPTIONS
            cntl_error        = 1
            cntl_system_error = 2
            OTHERS            = 3.
        IF sy-subrc <> 0.
    *     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      PERFORM set_registered_events.
      SET HANDLER:
        lcl_eventhandler=>handle_context_menu     FOR go_textedit,
        lcl_eventhandler=>handle_ctxmenu_selected FOR go_textedit.
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE gd_okcode.
        WHEN 'BACK'  OR
             'EXIT'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    Regards
      Uwe

  • Insider/FourthElephant extension context menu not visible?

    I've deployed the extensions in the <sqldeveloper>/jdev/extensions dir, I see them listed in the extensions list, but I don't see any context menu related to the extension. I connect to a database, right click from the connections tab, and only see connect, disconnect, delete, sqlplus, refresh, properties, rename conn, open sql wksht, remote debug and gather stats. Am I doing something wrong?

    not sure what this would have to do with it, but I downloaded the errors lookkup extension from fourth elephant and not I see the insider extension context menu option and it launches. very bizarre. the error lookup is working too.

Maybe you are looking for

  • Airplay and home sharing does not work with my 2nd gen apple tv

    though my 2nd gen apple tv with version 7 and my iphone 4s with ios 8.0.2 are connected to the same wifi network, airplay and home sharing doesnt show up in my itunes nor in my phone! what should i do?

  • Can I have more than one library open at a time?

    I have multiple libraries and would like an easier way than closing and opening each one. Also it doesn't say which itunes library is open - they are all just called itunes

  • HT1277 Only When abroad, unable to send emails fron ipad 2

    Each time i arrive to the same hotel in London, i am getting mail but unable to send mail. Since i did not change any of my normal configuration, can someone explain to me how to resolve this problem? At the hotel, they tell me its a problem with my

  • Converting slideshow from iphoto with itune playlist as background music

    I have created a slideshow in iphoto with an itune playlist as the background music and when I convert it throught quicktime into a movie it only plays the first song from the playlist. All photos look good in the slide. This problem has started sinc

  • Database not open error - ORA-01219

    Hi experts, I am new to oracle. I have created a database call 'Play' and also created a table 'tbPlay'. I also inserted some rows here. After that all the database operations were working fine here. After restarting the machine, I logged into the da