Re: Use MultiView APIs
Nuwan Sameera <[email protected]>
| Newsgroups | gmane.comp.java.netbeans.modules.openide.devel |
|---|---|
| Message-ID | <CAN=6b0jZ6=to1L_eY+5nk2dsGMu3BrJJJ7qBKG=uspFXaCxhUQ@mail.gmail.com> |
Hi, Thank you. * yourDataObj.getLookup() *is OK for file is .html format. It given same error for other formats like .txt. Please support me. Regards. On Tue, Jul 19, 2016 at 10:07 AM, Dmitry Avtonomov < [email protected]> wrote: > yourDataObj.getLookup() > On Jul 19, 2016 00:09, "Nuwan Sameera" <[email protected]> wrote: > > Hi, > > Please give me example to how I return the dataobject's lookup. > > Regards, > > > On Tue, Jul 19, 2016 at 2:33 AM, Enrico Scantamburlo < > [email protected]> wrote: > >> Instead of returning an empty lookup try to return the dataobject's >> lookup >> >> On 18 Jul 2016 11:12, "Nuwan Sameera" <[email protected]> wrote: >> >>> Hi, >>> >>> I asked from apache to developed described manner. But they need my >>> aproach. >>> I have problem with multiview. It describe on first 5 emails in this >>> thread. So please support me to solve this issue. >>> >>> Regards, >>> Nuwan Sameera. >>> On 15 Jul 2016 03:44, "geertjan wielenga" <[email protected]> >>> wrote: >>> >>>> >>>> https://blogs.oracle.com/geertjan/entry/empty_node_populated_on_the >>>> >>>> The above would be how to do it. >>>> >>>> I've made a start here: >>>> >>>> >>>> https://github.com/GeertjanWielenga/NetApacheSyncopeBeans/tree/master/NASB >>>> >>>> See attached screenshot. >>>> >>>> Doesn't work yet completely, though it's a start. >>>> >>>> Gj >>>> >>>> On 14-7-2016 23:34, geertjan wielenga wrote: >>>> >>>> >>>> On 14-7-2016 22:05, Nuwan Sameera wrote: >>>> >>>> Hi, >>>> >>>> Now I understand what you say. :) Thank you very much to move me to >>>> correct way. >>>> >>>> But, finally I can faced same problem with open multiview. How I open >>>> separate tabs in same editor component ? >>>> >>>> >>>> You're not going to be able to do what you want while you have a JTree. >>>> You can write back and forth but the answer will be the same. >>>> >>>> Take a look at the Services window (Ctrl-5). What you should be trying >>>> to create is actually a new top level node in the Services window, not a >>>> new TopComponent from the Window menu. >>>> >>>> Gj >>>> >>>> Given Mail Templates and Report Templates have many types called HTML, >>>> TEXT etc. I need open these types in tabs after double clicking given >>>> element. >>>> >>>> How I do this? Please help me for this. Am I wrong way. Give me better >>>> way to do this. >>>> >>>> Regards, >>>> Nuwan Sameera. >>>> >>>> On Fri, Jul 15, 2016 at 1:16 AM, geertjan wielenga < >>>> [email protected]> wrote: >>>> >>>>> >>>>> You're not going to be able to do what you want while you have a >>>>> JTree. You can write back and forth but the answer will be the same. >>>>> >>>>> Take a look at the Services window (Ctrl-5). What you should be trying >>>>> to create is actually a new top level node in the Services window, not a >>>>> new TopComponent from the Window menu. >>>>> >>>>> Gj >>>>> >>>>> >>>>> On 14-7-2016 21:44, Nuwan Sameera wrote: >>>>> >>>>> Hi, >>>>> >>>>> Thank you. I undeatand about useage about Nodes. I will use it. >>>>> >>>>> But I don't undestand "don't use seperate TopCompinent,instead ectend >>>>> the Services window" >>>>> >>>>> Also how I resolve my issue. How I open multi view with text editor. >>>>> >>>>> Regards, >>>>> Nuwan Sameera. >>>>> On 15 Jul 2016 12:58 a.m., "geertjan wielenga" < >>>>> [email protected]> wrote: >>>>> >>>>>> >>>>>> >>>>>> Please, move to the Nodes API from your JTree. Once you have Nodes, >>>>>> you'll have many other useful features too. Plus, I recommend that you >>>>>> don't use a separate TopComponent, instead extend the Services window: >>>>>> >>>>>> >>>>>> http://bits.netbeans.org/dev/javadoc/org-netbeans-core-ide/org/netbeans/api/core/ide/ServicesTabNodeRegistration.html >>>>>> >>>>>> Example: >>>>>> >>>>>> https://blogs.oracle.com/geertjan/entry/servicestabnoderegistration >>>>>> >>>>>> Gj >>>>>> >>>>>> >>>>>> On 14-7-2016 21:22, Nuwan Sameera wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> Thank you for the support. >>>>>> >>>>>> Yes problem occurred line 508. But problem is not >>>>>> DefaultMutableTreeNode. Because without multiview it works fine. >>>>>> >>>>>> We need to provide Lookup object with CloneableEditorSupport instance >>>>>> instead Lookup.EMPTY. I this this is the problem. >>>>>> >>>>>> Regards, >>>>>> Nuwan Sameera. >>>>>> >>>>>> >>>>>> On Fri, Jul 15, 2016 at 12:37 AM, geertjan wielenga < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> >>>>>>> The stacktrace is much more detailed to what you provided: >>>>>>> >>>>>>> java.lang.IllegalArgumentException: We expect CloneableEditorSupport >>>>>>> in org.openide.util.Lookup$Empty@cce1139 >>>>>>> at >>>>>>> org.netbeans.core.spi.multiview.text.MultiViewEditorElement.<init>(MultiViewEditorElement.java:97) >>>>>>> at >>>>>>> org.apache.syncope.netbeans.plugin.view.ResourceExplorerTopComponent$7.createElement(ResourceExplorerTopComponent.java:508) >>>>>>> at >>>>>>> org.netbeans.core.multiview.MultiViewModel.getElementForDescription(MultiViewModel.java:222) >>>>>>> at >>>>>>> org.netbeans.core.multiview.MultiViewModel.getActiveElement(MultiViewModel.java:132) >>>>>>> at >>>>>>> org.netbeans.core.multiview.MultiViewModel.getActiveElement(MultiViewModel.java:128) >>>>>>> at >>>>>>> org.netbeans.core.multiview.MultiViewPeer.assignLookup(MultiViewPeer.java:261) >>>>>>> at >>>>>>> org.netbeans.core.multiview.MultiViewTopComponent.getLookup(MultiViewTopComponent.java:117) >>>>>>> at >>>>>>> org.netbeans.modules.localhistory.LocalHistory$OpenedFilesListener.handleTCFiles(LocalHistory.java:535) >>>>>>> at >>>>>>> org.netbeans.modules.localhistory.LocalHistory$OpenedFilesListener.propertyChange(LocalHistory.java:464) >>>>>>> at >>>>>>> java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335) >>>>>>> at >>>>>>> java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327) >>>>>>> at >>>>>>> java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263) >>>>>>> at >>>>>>> org.netbeans.core.windows.RegistryImpl.doFirePropertyChange(RegistryImpl.java:329) >>>>>>> at >>>>>>> org.netbeans.core.windows.RegistryImpl.topComponentOpened(RegistryImpl.java:187) >>>>>>> at >>>>>>> org.netbeans.core.windows.WindowManagerImpl.notifyRegistryTopComponentOpened(WindowManagerImpl.java:1183) >>>>>>> at >>>>>>> org.netbeans.core.windows.WindowManagerImpl.notifyTopComponentOpened(WindowManagerImpl.java:1151) >>>>>>> at >>>>>>> org.netbeans.core.windows.Central.addModeOpenedTopComponent(Central.java:798) >>>>>>> at >>>>>>> org.netbeans.core.windows.ModeImpl.addOpenedTopComponent(ModeImpl.java:354) >>>>>>> at >>>>>>> org.netbeans.core.windows.WindowManagerImpl.topComponentOpenAtTabPosition(WindowManagerImpl.java:1261) >>>>>>> at >>>>>>> org.netbeans.core.windows.WindowManagerImpl.topComponentOpen(WindowManagerImpl.java:1226) >>>>>>> at org.openide.windows.TopComponent.open(TopComponent.java:497) >>>>>>> at org.openide.windows.TopComponent.open(TopComponent.java:477) >>>>>>> at >>>>>>> org.apache.syncope.netbeans.plugin.view.ResourceExplorerTopComponent.openMailEditor(ResourceExplorerTopComponent.java:580) >>>>>>> at >>>>>>> org.apache.syncope.netbeans.plugin.view.ResourceExplorerTopComponent.resourceExplorerTreeMouseClicked(ResourceExplorerTopComponent.java:170) >>>>>>> at >>>>>>> org.apache.syncope.netbeans.plugin.view.ResourceExplorerTopComponent.access$000(ResourceExplorerTopComponent.java:98) >>>>>>> at >>>>>>> org.apache.syncope.netbeans.plugin.view.ResourceExplorerTopComponent$1.mouseClicked(ResourceExplorerTopComponent.java:143) >>>>>>> at >>>>>>> java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270) >>>>>>> at java.awt.Component.processMouseEvent(Component.java:6528) >>>>>>> at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) >>>>>>> at java.awt.Component.processEvent(Component.java:6290) >>>>>>> at java.awt.Container.processEvent(Container.java:2234) >>>>>>> at java.awt.Component.dispatchEventImpl(Component.java:4881) >>>>>>> at java.awt.Container.dispatchEventImpl(Container.java:2292) >>>>>>> at java.awt.Component.dispatchEvent(Component.java:4703) >>>>>>> at >>>>>>> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) >>>>>>> at >>>>>>> java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542) >>>>>>> at >>>>>>> java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) >>>>>>> at java.awt.Container.dispatchEventImpl(Container.java:2278) >>>>>>> at java.awt.Window.dispatchEventImpl(Window.java:2739) >>>>>>> at java.awt.Component.dispatchEvent(Component.java:4703) >>>>>>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746) >>>>>>> at java.awt.EventQueue.access$400(EventQueue.java:97) >>>>>>> at java.awt.EventQueue$3.run(EventQueue.java:697) >>>>>>> at java.awt.EventQueue$3.run(EventQueue.java:691) >>>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>>> at >>>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) >>>>>>> at >>>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) >>>>>>> at java.awt.EventQueue$4.run(EventQueue.java:719) >>>>>>> at java.awt.EventQueue$4.run(EventQueue.java:717) >>>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>>> at >>>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) >>>>>>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:716) >>>>>>> at >>>>>>> org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) >>>>>>> [catch] at >>>>>>> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) >>>>>>> at >>>>>>> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) >>>>>>> at >>>>>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) >>>>>>> at >>>>>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) >>>>>>> at >>>>>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) >>>>>>> at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) >>>>>>> >>>>>>> >>>>>>> Here's what I see at line 508, which is the line shown above as >>>>>>> being problematic: >>>>>>> >>>>>>> @Override >>>>>>> public MultiViewElement createElement() { >>>>>>> return new MultiViewEditorElement(Lookup.EMPTY); >>>>>>> } >>>>>>> >>>>>>> That looks quite suspicious. >>>>>>> >>>>>>> I'd suggest you start by rewriting your code to use Nodes instead of >>>>>>> DefaultMutableTreeNode, etc. >>>>>>> >>>>>>> I.e., rewrite your JTree to use Nodes instead: >>>>>>> >>>>>>> https://platform.netbeans.org/tutorials/nbm-nodesapi2.html >>>>>>> >>>>>>> Gj >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 14-7-2016 20:55, Nuwan Sameera wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> After run the project, >>>>>>> >>>>>>> Go >>>>>>> >>>>>>> *Window-> Apache Syncope * >>>>>>> Enter following details, >>>>>>> >>>>>>> >>>>>>> >>>>>>> *Server URL - http://syncope-vm.apache.org:9080/syncope/rest >>>>>>> <http://syncope-vm.apache.org:9080/syncope/rest> User Name - admin Password >>>>>>> - password* >>>>>>> >>>>>>> Then go to tree in left side called Apache Syncope and expand it. >>>>>>> >>>>>>> Expand *Mail Templates*. >>>>>>> >>>>>>> *Double click any element - Use First Element*. >>>>>>> >>>>>>> Then show different tabs saying "*Test 1 , Test 2, Test 3*". But >>>>>>> nothing open editor pane and given runtime error. >>>>>>> >>>>>>> I think you can reproduce issue. >>>>>>> >>>>>>> Thanks and Regards, >>>>>>> Nuwan Samaeera. >>>>>>> >>>>>>> On Fri, Jul 15, 2016 at 12:14 AM, geertjan wielenga < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Well, you're going to need to provide a lot of information -- >>>>>>>> otherwise I can't help. >>>>>>>> >>>>>>>> What must I do to see the problem myself? When I open the window, I >>>>>>>> am asked for a user and password and various things -- I don't know what to >>>>>>>> fill in there, so I cannot reproduce the problem. >>>>>>>> >>>>>>>> Pretend you're me and provide the info I need, assuming that I know >>>>>>>> nothing at all about your problem, up to the point where I can actually see >>>>>>>> the problem myself. >>>>>>>> >>>>>>>> Gj >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 14-7-2016 20:40, Nuwan Sameera wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I tried with this change. But same error occurred. How I change >>>>>>>> 505. Error given from that line. >>>>>>>> >>>>>>>> Thanks and Regards, >>>>>>>> Nuwan Sameera >>>>>>>> >>>>>>>> On Thu, Jul 14, 2016 at 11:59 PM, geertjan wielenga < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> Possibly this is all you need -- change the class signature to >>>>>>>>> this: >>>>>>>>> >>>>>>>>> public final class ResourceExplorerTopComponent extends >>>>>>>>> CloneableTopComponent >>>>>>>>> >>>>>>>>> Gj >>>>>>>>> >>>>>>>>> >>>>>>>>> On 14-7-2016 20:11, Nuwan Sameera wrote: >>>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Thank you. My source codes available in [1] >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> https://github.com/NuwanSameera/syncope/blob/master/netbeans-plugin/src/main/java/org/apache/syncope/netbeans/plugin/view/ResourceExplorerTopComponent.java >>>>>>>>> >>>>>>>>> Line 479 - 581 >>>>>>>>> >>>>>>>>> Please check and support to solve issue. >>>>>>>>> >>>>>>>>> I need to open empty editor and editor with content. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Nuwan Sameera. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jul 14, 2016 at 11:27 PM, geertjan wielenga < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Is the source code on GitHub or somewhere like that? Would be >>>>>>>>>> happy to help you, but need more context than the below, i.e., ideally the >>>>>>>>>> full source code. >>>>>>>>>> >>>>>>>>>> Gj >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 14-7-2016 19:30, Nuwan Sameera wrote: >>>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> I am developing netbeans plugin for apache syncope. I need to >>>>>>>>>> open editors in different tabs in same instance like SOURCE and HISTORY. I >>>>>>>>>> am tried to using following code. >>>>>>>>>> >>>>>>>>>> MultiViewDescription[] descriptionArray = new >>>>>>>>>> MultiViewDescription[0]; >>>>>>>>>> descriptionArray[0] = new MultiViewDescription() { >>>>>>>>>> @Override >>>>>>>>>> public int getPersistenceType() { >>>>>>>>>> return 0; >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> @Override >>>>>>>>>> public String getDisplayName() { >>>>>>>>>> return "Test 1"; >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> @Override >>>>>>>>>> public Image getIcon() { >>>>>>>>>> return null; >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> @Override >>>>>>>>>> public HelpCtx getHelpCtx() { >>>>>>>>>> return null; >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> @Override >>>>>>>>>> public String preferredID() { >>>>>>>>>> return "A"; >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> @Override >>>>>>>>>> public MultiViewElement createElement() { >>>>>>>>>> return new MultiViewEditorElement(Lookup.EMPTY); >>>>>>>>>> *//GIVEN RUNTIME ERROR * >>>>>>>>>> } >>>>>>>>>> }; >>>>>>>>>> >>>>>>>>>> TopComponent ctc = >>>>>>>>>> MultiViewFactory.createMultiView(descriptionArray, descriptionArray[0]); >>>>>>>>>> ctc.open(); >>>>>>>>>> ctc.requestActive(); >>>>>>>>>> >>>>>>>>>> *//GIVEN RUNTIME ERROR Line give *IllegalArgumentException >>>>>>>>>> <http://download.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true> >>>>>>>>>> saying CloneableEditorSupport >>>>>>>>>> <http://bits.netbeans.org/8.0/javadoc/org-openide-text/org/openide/text/CloneableEditorSupport.html?is-external=true> >>>>>>>>>> is not present in provided Lookup >>>>>>>>>> <http://bits.netbeans.org/8.0/javadoc/org-openide-util/org/openide/util/Lookup.html?is-external=true> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>>> I search method to create Lookup object with >>>>>>>>>> ClonableEditorSupport. I don't found suitable solution. >>>>>>>>>> >>>>>>>>>> Please help me. >>>>>>>>>> >>>>>>>>>> Thanks and Regards. >>>>>>>>>> -- >>>>>>>>>> Nuwan Sameera. >>>>>>>>>> Undergraduate, >>>>>>>>>> Electronic and Telecommunication Engineering, >>>>>>>>>> University of Moratuwa. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Nuwan Sameera. >>>>>>>>> Undergraduate, >>>>>>>>> Electronic and Telecommunication Engineering, >>>>>>>>> University of Moratuwa. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Nuwan Sameera. >>>>>>>> Undergraduate, >>>>>>>> Electronic and Telecommunication Engineering, >>>>>>>> University of Moratuwa. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Nuwan Sameera. >>>>>>> Undergraduate, >>>>>>> Electronic and Telecommunication Engineering, >>>>>>> University of Moratuwa. >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Nuwan Sameera. >>>>>> Undergraduate, >>>>>> Electronic and Telecommunication Engineering, >>>>>> University of Moratuwa. >>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Nuwan Sameera. >>>> Undergraduate, >>>> Electronic and Telecommunication Engineering, >>>> University of Moratuwa. >>>> >>>> >>>> >>>> > > > -- > Nuwan Sameera. > Undergraduate, > Electronic and Telecommunication Engineering, > University of Moratuwa. > > -- Nuwan Sameera. Undergraduate, Electronic and Telecommunication Engineering, University of Moratuwa.