Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic node lock problem (Read 2064 times)
PDM.
Senior Member
****
Offline


I love YaBB 1G - SP1!

Posts: 256
Joined: Dec 2nd, 2010
node lock problem
May 20th, 2019 at 2:05am
Print Post  
Hello, I wnat lock nodes in order to prevent acidentally move of node.

var nodestolock = form.Selection.Nodes.Clone();
            foreach (DiagramNode node in nodestolock)
                {
                  node.EnabledHandles = AdjustmentHandles.None;
            
                }      

This work perfect, anyway there is a problem, when use the arrow keys and select multiple nodes, the locked nodes move.
How I can prevent node locked with AdjustmentHandles.None not be moved by arrow keys?

I need some way make if select multipple nodes and one is locked, user cnat move until is unlocked.

To unlock i use:
  foreach (DiagramNode node in nodestounlock)
                {
                    node.EnabledHandles = AdjustmentHandles.All & ~AdjustmentHandles.Rotate;
                }
                foreach (DiagramNode node2 in nodestounlock)
                {
                    node2.HandlesStyle = HandlesStyle.Custom;
                }

All work ok, just need prevent selected nodes are locked cant be moved.
  
Back to top
 
IP Logged
 
Slavcho
YaBB Moderator
*****
Offline


tech.support

Posts: 3444
Joined: Oct 19th, 2005
Re: node lock problem
Reply #1 - May 21st, 2019 at 11:04am
Print Post  
Hi Pablo,

Our default arrow key handlers change which item is selected and do not move anything. If they move nodes in your application, search for node.Bounds assignments or node.Move calls in response to pressed arrow keys, and check the node.EnabledHandles value there before moving current node.

Regards,
Slavcho
  
Back to top
 
IP Logged
 
PDM.
Senior Member
****
Offline


I love YaBB 1G - SP1!

Posts: 256
Joined: Dec 2nd, 2010
Re: node lock problem
Reply #2 - May 21st, 2019 at 2:37pm
Print Post  
Here the fix, but work some times,

form.CommandBindings.Add(new CommandBinding(Diagram.NavigateRight, (sender, args) =>
{
DiagramNode node = form.ActiveItem as DiagramNode;
if (node != null)
foreach (DiagramNode SelectedNode in form.Selection.Nodes)
{
if (node.EnabledHandles!= AdjustmentHandles.None)
SelectedNode.Move(SelectedNode.Bounds.X + ultrareso, SelectedNode.Bounds.Y);
}
}));



This work ok if i select single nodes, but if select multiple nodes and one is locked and other no, when i presss the key all nodes move.
Some ssugestion?



  
Back to top
 
IP Logged
 
PDM.
Senior Member
****
Offline


I love YaBB 1G - SP1!

Posts: 256
Joined: Dec 2nd, 2010
Re: node lock problem
Reply #3 - May 21st, 2019 at 5:10pm
Print Post  
Ignore my request, just fixed!

if (SelectedNode.EnabledHandles != AdjustmentHandles.None)
                        my action here
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint