CraigGraham Posted March 12, 2004 Report Share Posted March 12, 2004 I have a panel showing a flowchart, where the nodes are Booleans with decals. I now want to change the nodes into dual Booleans- one on the left, one on the right as in the picture. The decal and labels have to remain and be centered. The problem with simply adding a new Boolean and offsetting the decal is that clicking on the decal triggers the bool associated with the decal, and not the bool that is actually under the mouse. I see two solutions. The simplest but (in the long term) biggest pain in the arse is to split the decal and have one half on each boolean, manually aligning them for each node. The more elegant is to put a transparent picture control over the top and have a sub-VI that grabs click events and triggers the appropriate button. Nicely out of the way and reusable. The second option seems like a sledgehammer to crack a nut though. Although I know I can do it, I can't help feeling there must be a simpler and more efficient way than essentially ditching the existing mechanism for handling panel events and using my own. So does anyone have a third suggestion before I go ahead with it? Hmm. This should be in the "User Interface" bit but I can't see any way of fixing it now I've submitted the post. Apologies. Quote Link to comment
Michael Aivaliotis Posted March 12, 2004 Report Share Posted March 12, 2004 Well, before I give my response, I want to know the user interface purpose behind this decision. Why split it into 2 sections? Are both clickable? If so, then isn't this confusing for the operator? What message are you conveying? I would just split the image in 2, half on one and half on the other. No code changes are good. 5-10 minutes using an imaging application is better than extra programming. My opinion anyway. Quote Link to comment
CraigGraham Posted March 12, 2004 Author Report Share Posted March 12, 2004 Items flowing through the system can be "inbound" or "outbound" at any particular point. Originally this worked by specifying the location on the chart and then selecting the direction. It now has to be changed to two buttons for each location to allow both location and direction to be determined by a single click. The simple approach may be best as you say. I just prefer to mess with code than do tedious stuff with graphics packages- especially as I have the ongoing irritation that I can't seem to be able to remove a decal from a control. I'll have a crack at simple image editing and see what the result is like next time I get back to this. Quote Link to comment
Michael Aivaliotis Posted March 12, 2004 Report Share Posted March 12, 2004 I guess my point is that, in user interfaces, your front panel objects should always "look like" how they behave. Even if you managed to code around this, you shouldn't. The "look" of the existing button conveys the following message: There are 2 buttons here. However they are covered by an icon that spreads across both. So, if you want the right side then click the right button but don't click the icon. If you want to click on both buttons then click on the icon, this will depress both buttons. Do you see my point? By splitting the icon in 2, you have suddenly changed the message you are conveying because now you have a dark "crack" between the icon. So, the operator "understands" that both buttons operate on the same factory but for 2 different purposes. There is no confusion. A better addition would be to add arrows to the 2 icons. Yes, arrows are sometime ok. One on the left -> (inbound) and one on the right -> (outbound). Hope this helps. Quote Link to comment
CraigGraham Posted March 12, 2004 Author Report Share Posted March 12, 2004 I wasn't planning on doing any more with this till next week but.. I'm again thinking the transparent picture overlay will be the easier option. I've never really figured out the details of importing bitmaps with a transparent colour. The chart on my panel is essentially cut+pasted from Visio, so it looks the same as a diagram I did in the spec, and Visio's objects come in correctly. However, if I paste from Visio to Corel Photo Paint, I get a bitmap that I can edit, and the edited object does have transparency in Corel, but when it's pasted back to Labview I lose the transparency. I can create drawings in Corel Draw and paste them into Labview correctly, but cannot get my existing graphics into Corel Draw as anything other than bitmaps, and the bitmaps will not then correctly cut+paste. Since my drawing skills are pathetic, I can probably code this up quicker than I can draw new graphics from scratch. Quote Link to comment
CraigGraham Posted March 12, 2004 Author Report Share Posted March 12, 2004 I guess my point is that, in user interfaces, your front panel objects should always "look like" how they behave. Even if you managed to code around this, you shouldn't. The "look" of the existing button conveys the following message:. . . A better addition would be to add arrows to the 2 icons. Yes, arrows are sometime ok. One on the left -> (inbound) and one on the right -> (outbound). Hope this helps I overlapped with this post, I think. In this case, the two buttons are mutually exclusive aspects of the same entity. I'm planning some indication of which is inbound and which is outbound as you suggest, but it's obviously meaningless to try and press both together by pressing the icon and I don't think anyone would complain about that. Where there're not mutually exclusive, I agree that the behaviour you describe would be an intuitive way of carrying out a group action. Splitting the icon in two and having a crack would have the advantage that editing and alignment are less critical, but given I can't edit the things it's a moot point. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.