Thanks for the extra information. That helps some!

I'm going to take a stab at this, although there are others on the
list that may no better than me. I'm still learning OpenJUMP's code
base.

I think there are two ways to go here.

You can try to change the feature selection and identification tools,
or you can try to change something about the way layers work.

I think the first option will be easier, but the second option may be
a more effective solution in the long run.

If we can change the way layers work any future tools will also be
able to obey our "which layers will work for this tool and which
layers don't work for this tool" rule.

Unfortunately I think this will involve some changes to OpenJUMP's
source code. I don't think we can do it with a Plug-In.

Let me give you my intial thoughts. Remember I'm brainstorming here. :]

You can create a class named "LayerPermissions". It can track
information about which layers can be used by OpenJUMP's tools.
Instead of tracking what is allowed, we should track what isn't
allowed. That way a tool will only be disabled for a layer if someone
goes out of there way to make it so.

I imagine our LayerPermissions inteface would have at least these two methods:

public void addRestriction(String LayerName, String ToolName)

public void removeRestriction(String LayerName, String ToolName)

These methods would take two parameters. The first would be the name
of the layer the restriction applied to, while the second would
identify the tool being restricted.

Some other methods of this interface might be:

public void clearAllRestrictions()

public void clearAllRestrictionsOnLayer(String LayerName)

public void getPermittedLayersForTool(String ToolName)

You could easily design a simple dialog box that showed a list of
tools and layers and allowed restrictions to be added and removed. You
could even password protect this dialog box if necessary.

I think we are still going to have to modify the classes for the tools
themselves. We need to have the tools utilize the informtation
provided by our LayersPermission class to modify their behavior.

For example, we would need to "filter out" features restricted layers
when the feature selection tool is used. In the case of the identity
tool, we would need to check for permission before displaying the
information on a feature selected for identification by the user.

I'd want to display some sort of message to the user explaining why
the tool didn't work. I wouldn't just want to turn the tool off for
some layers. (I'm picturing my Dad banging his head on the floor
becuase a tool won't work like it is supposed to.) :]

There may be a much simpler solution. Stefan and Ugo might have some
ideas. Honestly, I haven't looked extensively at the layering system
source code, or at the source code for the feature selection and
feature identification tools.

If the users don't need to see the features, you can just turn the layers off!

Let me know if you decide to go forward and I'll see if I can help
answer some questions. If we come up with a functional layers
permission system we may want to integrate it into the core.

The Sunburned Surveyor
On 8/29/06, Juliana Barros <[EMAIL PROTECTED]> wrote:
> Hi Sunburned,
>
> The first option! "Users can't select features from this layer with the
> feature
> selection or identification tools".
>
> I´m looking for a programattic technique.
>
> Thanks,
>
> Juliana
>
>
> On 8/29/06, Sunburned Surveyor <[EMAIL PROTECTED]> wrote:
> >
> Juliana,
>
> When you say "unselectable", which of the following do you mean?:
>
> [1] Users can't select features from this layer with the feature
> selection or identification tools.
>
> [2] Users can't make this layer editable?
>
> [3] Users aren't allowed make this layer not paint/paint on the layer view.
>
> [4] Something else I haven't thought of...
>
> Also, are you looking for a programattic technique, or a configuration
> setting built into OpenJUMP? (There isn't a built-in setting that I
> know of, but we can probably help you with some code...)
>
> The Sunburned Surveyor
>
> On 8/29/06, Juliana Barros <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > Anyone knows how can I configure a Layer to be unselectable?
> >
> > Thanks,
> >
> > Juliana
> >
> >
> -------------------------------------------------------------------------
> > Using Tomcat but need to do more? Need to support web services, security?
> > Get stuff done quickly with pre-integrated technology to make your job
> > easier
> > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> >
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> >
> > _______________________________________________
> > Jump-pilot-devel mailing list
> > Jump-pilot-devel@lists.sourceforge.net
> >
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >
> >
> >
>
> -------------------------------------------------------------------------
>
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>
>

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to