Hi all, In fact, I searched in your codebase how to open a view by ID and found this snippet: auto workbench = berry::PlatformUI::GetWorkbench(); auto window = workbench->GetActiveWorkbenchWindow(); berry::IWorkbenchPage::Pointer page = window->GetActivePage(); page->ShowView(viewID);
I had some problem because I was writing the plugin's ID instead of the view's, but it's working perfectly now. I wrote this snippet on the last line of my WorkbenchWindowAdvisor::PostWindowCreate() and everything seems ok. Of course, it would be better if the plugin loaded without forcing it to display but this is by far the best solution I found. Nil Le 2016-12-02 à 17:48, Nil Goyette a écrit : > Hi Stefan, Hi poor Paul Palei, > > I found a way to do what I want. Turns out an 'eager' plugin can access > the good old IDataStorageService, which I can use to add my category > nodes AND add a listener so I can change the node's parent when they are > loaded. > > Of course it would be better if I could force my plugin to load but it's > probably a big can of worms. Thank you for your help. > > Nil > > Le 2016-12-02 à 11:06, Nil Goyette a écrit : >> Hi, >> >> Yes, we are already using this. We have our own app, perspective, >> preferences, WorkbenchWindowAdvisor, etc. We may not be aware of all the >> things we can do with these classes though. I think they are mostly used >> to set up the UI. Do you have a particular idea in mind on how to do >> what I want? >> >> We also use SetCloseable(false); on our plugin. It's never closed... >> it's just not opened/activated ;) when there's another plugin in front. >> >> Nil >> >> Le 2016-12-02 à 03:42, Kislinskiy, Stefan a écrit : >>> Hi, >>> >>> with this high amount of customization you may be interested in creating >>> your own Workbench-like application were you can set up a default >>> perspective any many more things to your needs. This is quite easy to >>> achieve. Have a look at [1,2] for an example. It also seems to be possible >>> to make a plugin kind of "non-closeable" like the Data Manager. >>> >>> Best, >>> Stefan >>> >>> [1] https://github.com/MITK/MITK/tree/v2016.03.0/Applications/Diffusion >>> [2] >>> https://github.com/MITK/MITK/tree/v2016.03.0/Plugins/org.mitk.gui.qt.diffusionimagingapp >>> ________________________________________ >>> Von: Nil Goyette <nil.goye...@imeka.ca> >>> Gesendet: Donnerstag, 1. Dezember 2016 17:01 >>> An: Kislinskiy, Stefan; mitk-users@lists.sourceforge.net >>> Betreff: Re: AW: [mitk-users] Force plugin to load >>> >>> Hi Stefan, >>> >>> This is only for non-UI code, right? Setting IO classes, preferences, >>> node descriptors, etc.? >>> >>> I ask because I doubt what I want to do is possible. Maybe you can tell. >>> At the start of our app, we create 3 category nodes: Anatomies, ROIs and >>> Tracts. Each time a file is loaded, the plugin places the new node in >>> the right group, based on a predicate. Of course, without our plugin, >>> the groups don't exist and the nodes just pile up in the DM. >>> >>> If we can 1) access the DM 2) create nodes 3) be warned when there's a >>> new node (NodeAdded), then it's perfect. We have other problems, but I'm >>> pretty sure we can fix them if we can fix this :) >>> >>> Nil >>> >>> Le 2016-11-30 à 18:12, Kislinskiy, Stefan a écrit : >>>> This may not be the answer you are exactly looking for, but you should >>>> consider calling your initialization code from the start method of your >>>> plugin activator and set the eager policy. See [1,2] for an example. >>>> >>>> Best, >>>> Stefan >>>> >>>> [1] >>>> https://github.com/MITK/MITK/blob/master/Plugins/org.mitk.simulation/manifest_headers.cmake#L6 >>>> [2] >>>> https://github.com/MITK/MITK/blob/master/Plugins/org.mitk.simulation/src/internal/org_mitk_simulation_Activator.cpp#L85 >>>> ________________________________________ >>>> Von: Nil Goyette <nil.goye...@imeka.ca> >>>> Gesendet: Mittwoch, 30. November 2016 21:27 >>>> An: mitk-users@lists.sourceforge.net >>>> Betreff: [mitk-users] Force plugin to load >>>> >>>> Hi all, >>>> >>>> I know that we can use Perspective::CreateInitialLayout to ask a plugin >>>> to be at a specific posion and to open. This is working in MOST cases >>>> but not all. >>>> >>>> If the user opens another plugin X, stack it on the main plugin, then >>>> close the program, the app will open with plugin X in front of our main >>>> plugin, which will be inactive (You may need to do it many times if you >>>> want to see it. Without --BlueBerry.clean of course). The plugin's >>>> Activator and the view's constructor won't be called. >>>> >>>> Wathever plugins is in front of our plugin, we need to load it anyway >>>> because it loads the AUTOLOAD_WITH modules and the constructor of our >>>> view is doing important stuff. So, is there a way to force a plugin to >>>> load? >>>> Thank you for your time :) >>>> >>>> Nil >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> mitk-users mailing list >>>> mitk-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/mitk-users >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> mitk-users mailing list >> mitk-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/mitk-users > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > mitk-users mailing list > mitk-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mitk-users ------------------------------------------------------------------------------ _______________________________________________ mitk-users mailing list mitk-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mitk-users