Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-dev] Hello uDig

I finally finished my analysis phase. So i'm familiar with the RCP framework and (i guess just the basics of) the uDig SDK.

So as i said the original plan was to create my own pure E4 application and add just the uDig plugins i need to have the mapeditor, layerview and catalogview so i can use openstreetmap as basic layer with my own layer with georeferences on top.
But i have to say i have no clue where i should start to get this to work.

The best i came up with is following the customapplication tutorial and creating an application.e4xmi file in the resulting plugin as product extension. This allowed me to have uDig as the base application with just the views i need. Plus i could add E4 parts by defining part descriptors and adding the ids to the perspective layout in the customperspective class.

I undertand (or i at least hope so) that this is basically an E4 application by using the compatibility mode but thats unfortunately not what i originaly intended to do, as there would be already a pure E4 application present as basis and i just want to add some parts of uDig.

So is there a way to create a real pure E4 application and just add the views i need. I went through dependecies and saw that the plugins required by the views are: project.ui, style, style.sld, project.edit, project, catalog.ui, catalog, ui, core and libs. So can i just add those (by creating my own feature that includes them and not using the whole application and platform feature) and maybe the rendering and tool plugins and use them in my application without the rest?
Or is it required to use the e3 workbench classes? Or even more?

Another issue is that i still have not figured out how the mapeditor gets added to the applicationmodel. In the customapp tutorial a custom perspective is created and the mapeditor is just there at application startup. I guess it is because the custom application class is a subclass of the udigapplication class? But where exactly is the editor added to the applicationmodel and could i add it myself without using a subclass of the udigapplication? Or do i fundamentally not understand how the uDig views and editors work together internally?

The next thing i found was this: 
https://www.eclipse.org/forums/index.php/t/358552/
And this made it possible to add the layersview via the application.e4xmi file. Atleast in the plugin that was created using the customapp tutorial. I could not get it to work in a pure E4 application. I also had the issue that most of the functionality of the view was not included. And adding the mapeditor this was (even by using bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor) not possible at all for me.
So i more and more get the feeling that i have some very basic problems with understanding the interactions between uDig plugins. And honestly i dont know what i should read next to resolve these problems.

And Cam, thanks for the tipp. I wish i had even come that far. But it sounds like you already created a pure E4 application and using just some views of uDig. So basically exactly what im looking for. Can you tell me what your basic approaches where to get all the components working together? So basically what is your project setup and how do you add the uDig views to your applicationmodel? And the mapeditor?

I know thats a lot to ask but i'm at point where i just dont know where to continue. I see that there are a lot of different approaches how e3 and e4 can work together but i dont seem to find the right one for my problems.
I'm happy about every help i can get as i'm really stuck right now.

Jonas.



2017-05-24 9:18 GMT+02:00 Cam Tu PHAN LE <ctphanle@xxxxxxxxx>:
You can't use uDig views in a pure E4 application . uDig uses an E3 part listener to detect the current active map and renders it. So uDig doesn't find any active map in an E4 application. You must replace the E3 ActiveMapTracker of uDig by your own E4 tracker in order to integrate uDig in an E4 application. 

You can see the concerned discussion here

Cam Tu


Cam Tu PHAN LE

Ingénieur d'étude

FRANCE

Tél : 02 99 27 51 21


3 square du Chêne Germain
35510 Cesson-Sévigné

www.itlink.fr


   


2017-05-22 15:16 GMT+02:00 Jonas Schrottenbaum <jonesangler@xxxxxxxxxxxxxx>:
First of all thanks for the reply.

So your suggestion would be to just add an e4 part to the application model via the standard application.e4xmi file and connect its URI to the ID of the View i need? And this should work? 

I'm just wondering because i have read that e3 API based components in e4 API based applications are currenty not officially supported. Or would the compatibility layer solve that problem? In my mind it can not as i just want to use some plugins and not the whole application.

But maybe im making wrong assumtions here as i'm just starting to get familiar with all the concepts. And i'm still a little shaky in terminology as i have started working with RCP only a few weeks ago.

But i will definitely try this straight forward approach within the next weeks. Right now im still in analysis phase where i'm trying to get familiar with the framework and so on.


So more information on my thesis:

The chair of Information Management at my university is working on the MonArch project (http://www.monarch.uni-passau.de/fileadmin/files/lehrstuhl/freitag/monarch/MonArch-Flyer_EN.pdf) where they want to create a digital archive for monumental buildings. One of the main concepts is that the building parts will be organized in a tree like structure so they can be freed from classical coordinate based approaches. But there is still the need to specify the location of a building on a map. As this functionality is already implemented in GIS my task would be to check if uDig is suitable to compensate the missing functionality in MonArch.


More details:

As MonArch is still in development my task is to create my own e4 RCP testapplication where i include the components of uDig that are needed to fullfill the requeseted job. The goal here is to use the least amount of plugins possible. At first the plan was to not include the ProjectView as MonArch has its own and they want to use that. But i guess that is not possible as it is in the same plugin as LayerView and MapEditor. 

The next step would be to check for possible commuication between uDig and my own plugins. Here i have already seen that there are quite a few options and listeners can be added to track what happens inside uDig. But i guess its not possible to work with the e4 event bus.

After that OpenStreetMap should be added as base Layer in the MapEditor. On top of that an extra Layer to draw on should be added. I guess an .svg file would be suitable. This Layer should be persistently saved in a postgis database. 

Than it should be possible to draw georeferences on top of OSM at the positions where the buildings are located. After that, best case would be that it is possible to mark this reference and darg and drop it at the root node of the MonArch building tree in its own ProjectView so the position of the building gets mapped to the reference.

The last thing would be to check if it is possible to include MonArch functionality in uDig views and what the limits to this are. I assume the correct way to do this would be to simply create some classes that implement the IOp interface.


At the end i can say it is good to know that i have the possibility to contact you guys if im getting stuck working with uDig.

Again, thanks for the reply and taking your time to read this.
Have a good day,
Jonas.


2017-05-22 10:34 GMT+02:00 Frank Gasdorf <fgdrf@xxxxxxxxxxxxxxxxxxxxx>:
Welcome Jonas!

Let me try to answer your questions inline ..


2017-05-21 19:24 GMT+02:00 Jonas Schrottenbaum <jonesangler@xxxxxxxxxxxxxx>:
Hello,

i just subbed to this mailing list and as i have never been in a mailing list i have no idea how this works. So it would be great if whoever reads this could give me some information on how to use the list. 

Here we go ;)
 

I'm planning to work with the uDig SDK for my bachelor thesis and therefore i have one or the other question. Can i just message them to udig-dev@xxxxxxxxxxxxxxxx and i will perhaps get an answer if someone finds the time to reply?

Thats fine, since you're useing a gmail account, just ht replay to the thread or whenever you have another question regarding uDig, start a new thread by sending a new mail to udig-dev@xxxxxxxxxxxxxxxx with another subject

And for a start the most important question would be: Is it possible to use uDig plugins within an eclipse 4 RCP application? I think there might be some problems as uDig is still eclipse 3 API based, right?

Well, uDig 2.0.x (development is taking place on master) uses Eclipse 4 Platform as target. Internally all Views/Editors are still Eclipse 3 Views/Parts/Editors. Bundles are plugged together using plugin.xml and Eclipse 3 Extenstion points.
This implies that the resulting application has the compatibilitly layer under the hood like all other Eclipse 4 (RCP) Applications that using Console and some other views that were never ported to E4 yet.
 
And i read that in theory it is possible using the LegacyIDE.e4xmi file. (http://www.vogella.com/tutorials/Eclipse4MigrationGuide/article.html) But this would simply attach the whole uDig application to my own, right?
So what if i just want to use the MapEditor, LayersView and Catalog (and maybe ProjectView)?
Is it possible to create my own application with my own perspective where i just add the uDig views i need plus the functionality they use?

Sure, just use the view-Ids you already identified and configure your own perspective. I assume you can use these ID's in the xmi application model
 

And as i dont know how this really works i will just stop here asking and wait for some reply or something. If this is the right approach to ask questions and if someone would be willing to answer them for me i could give a lot more information about my plans.

Until then,
Jonas.

Are you kind to share some information what the thesis (which department) is about and what you like test/implement with/on top of uDig?

--
Cheers
Frank
 

_______________________________________________
udig-dev mailing list
udig-dev@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/udig-dev


_______________________________________________
udig-dev mailing list
udig-dev@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/udig-dev


_______________________________________________
udig-dev mailing list
udig-dev@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/udig-dev


_______________________________________________
udig-dev mailing list
udig-dev@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/udig-dev


Back to the top