예제 #1
0
 /// <summary>
 /// Removes the lock or associated znode if
 /// you no longer require the lock. this also
 /// removes your request in the queue for locking
 /// in case you do not already hold the lock. </summary>
 public async Task unlock()
 {
     using (await lockable.LockAsync().ConfigureAwait(false))
     {
         if (Id != null)
         {
             // we don't need to retry this operation in the case of failure
             // as ZK will remove ephemeral files and we don't wanna hang
             // this process when closing if we cannot reconnect to ZK
             try
             {
                 ZooKeeperOperation zopdel = new DeleteNode(this);
                 await zopdel.execute().ConfigureAwait(false);
             }
             catch (KeeperException.NoNodeException)
             {
                 // do nothing
             }
             catch (KeeperException e)
             {
                 LOG.warn("Caught: " + e, e);
                 throw;
             }
             finally
             {
                 var tempCallback = callback.Value;
                 if (tempCallback != null)
                 {
                     await tempCallback.lockReleased().ConfigureAwait(false);
                 }
                 Id = null;
             }
         }
     }
 }
예제 #2
0
        protected ITransactionOperation CreateTransactionOperation(TransactionType transactionType)
        {
            ITransactionOperation transactionOperation;

            switch (transactionType)
            {
            case TransactionType.CreateNode:
                transactionOperation = new CreateNode(MapObjects.Parameters);
                break;

            case TransactionType.DeleteNode:
                transactionOperation = new DeleteNode(MapObjects.Parameters);
                break;

            case TransactionType.CreateRelationship:
                transactionOperation = new CreateRelationship(MapObjects.Parameters);
                break;

            case TransactionType.DeleteRelationship:
                transactionOperation = new DeleteRelationship(MapObjects.Parameters);
                break;

            case TransactionType.CreateDescriptor:
                transactionOperation = new CreateDescriptor(MapObjects.Parameters);
                break;

            case TransactionType.CreateMetadata:
                transactionOperation = new CreateMetadata(MapObjects.Parameters);
                break;

            case TransactionType.UpdateMetadata:
                transactionOperation = new UpdateMetadata(MapObjects.Parameters);
                break;

            case TransactionType.DeleteMetadata:
                transactionOperation = new DeleteMetadata(MapObjects.Parameters);
                break;

            case TransactionType.UpdateNode:
                transactionOperation = new UpdateNode(MapObjects.Parameters);
                break;

            case TransactionType.UpdateRelationship:
                transactionOperation = new UpdateRelationship(MapObjects.Parameters);
                break;

            case TransactionType.UpdateDescriptor:
                transactionOperation = new UpdateDescriptor(MapObjects.Parameters);
                break;

            default:
                throw new NotSupportedException("The requested transaction type doesn't exist.");
            }

            return(transactionOperation);
        }
예제 #3
0
        public void Delete2(int[] input, int node, int[] expected)
        {
            var solution       = new DeleteNode();
            var linkedListHead = LinkedListHelper.FromCollection(input);
            var linkedListNode = FindByValue(linkedListHead, node);

            solution.Delete2(linkedListHead, linkedListNode);

            Assert.Equal(expected, LinkedListHelper.ToList(linkedListHead));
        }
        public Tuple <string, DeleteNode> BuildDeleteNodePacket(string nodeID)
        {
            DeleteNode obj = new DeleteNode()
            {
                id   = "scene/node/delete",
                data = new Data10()
                {
                    id = nodeID
                }
            };
            string json = JsonConvert.SerializeObject(obj);

            return(new Tuple <string, DeleteNode>(json, obj));
        }
예제 #5
0
        private void DeleteNodeMethod(string Key)
        {
            if (this.treeView1.InvokeRequired)
            {
                DeleteNode d = new DeleteNode(DeleteNodeMethod);
                this.Invoke(d, (object)Key);
            }
            else
            {
                TreeNode[] TempNodes = this.treeView1.Nodes.Find(Key, true);

                if (TempNodes.Count() > 0)
                {
                    TempNodes[0].Parent.Remove();
                }
            }
        }
예제 #6
0
 private void buttonDelete_Click(object sender, EventArgs e)
 {
     DeleteNode?.Invoke(this, EventArgs.Empty);
 }
예제 #7
0
    // $ANTLR start "unaryExpression"
    // JavaScript.g:313:1: unaryExpression : ( postfixExpression | 'delete' ( LT )* unaryExpression | 'void' ( LT )* unaryExpression | 'typeof' ( LT )* unaryExpression | '++' unaryExpression | '--' unaryExpression | '+' ( LT )* unaryExpression | '-' ( LT )* unaryExpression | '~' ( LT )* unaryExpression | '!' ( LT )* unaryExpression );
    public JavaScriptParser.unaryExpression_return unaryExpression() // throws RecognitionException [1]
    {   
        JavaScriptParser.unaryExpression_return retval = new JavaScriptParser.unaryExpression_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken string_literal369 = null;
        IToken LT370 = null;
        IToken string_literal372 = null;
        IToken LT373 = null;
        IToken string_literal375 = null;
        IToken LT376 = null;
        IToken string_literal378 = null;
        IToken string_literal380 = null;
        IToken char_literal382 = null;
        IToken LT383 = null;
        IToken char_literal385 = null;
        IToken LT386 = null;
        IToken char_literal388 = null;
        IToken LT389 = null;
        IToken char_literal391 = null;
        IToken LT392 = null;
        JavaScriptParser.postfixExpression_return postfixExpression368 = default(JavaScriptParser.postfixExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression371 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression374 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression377 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression379 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression381 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression384 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression387 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression390 = default(JavaScriptParser.unaryExpression_return);

        JavaScriptParser.unaryExpression_return unaryExpression393 = default(JavaScriptParser.unaryExpression_return);


        object string_literal369_tree=null;
        object LT370_tree=null;
        object string_literal372_tree=null;
        object LT373_tree=null;
        object string_literal375_tree=null;
        object LT376_tree=null;
        object string_literal378_tree=null;
        object string_literal380_tree=null;
        object char_literal382_tree=null;
        object LT383_tree=null;
        object char_literal385_tree=null;
        object LT386_tree=null;
        object char_literal388_tree=null;
        object LT389_tree=null;
        object char_literal391_tree=null;
        object LT392_tree=null;

        try 
    	{
            // JavaScript.g:314:2: ( postfixExpression | 'delete' ( LT )* unaryExpression | 'void' ( LT )* unaryExpression | 'typeof' ( LT )* unaryExpression | '++' unaryExpression | '--' unaryExpression | '+' ( LT )* unaryExpression | '-' ( LT )* unaryExpression | '~' ( LT )* unaryExpression | '!' ( LT )* unaryExpression )
            int alt199 = 10;
            alt199 = dfa199.Predict(input);
            switch (alt199) 
            {
                case 1 :
                    // JavaScript.g:314:4: postfixExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_postfixExpression_in_unaryExpression2837);
                    	postfixExpression368 = postfixExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, postfixExpression368.Tree);

                    }
                    break;
                case 2 :
                    // JavaScript.g:315:4: 'delete' ( LT )* unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	string_literal369=(IToken)Match(input,104,FOLLOW_104_in_unaryExpression2843); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{string_literal369_tree = new DeleteNode(string_literal369) ;
                    		root_0 = (object)adaptor.BecomeRoot(string_literal369_tree, root_0);
                    	}
                    	// JavaScript.g:315:28: ( LT )*
                    	do 
                    	{
                    	    int alt192 = 2;
                    	    int LA192_0 = input.LA(1);

                    	    if ( (LA192_0 == LT) )
                    	    {
                    	        alt192 = 1;
                    	    }


                    	    switch (alt192) 
                    		{
                    			case 1 :
                    			    // JavaScript.g:315:28: LT
                    			    {
                    			    	LT370=(IToken)Match(input,LT,FOLLOW_LT_in_unaryExpression2849); if (state.failed) return retval;

                    			    }
                    			    break;

                    			default:
                    			    goto loop192;
                    	    }
                    	} while (true);

                    	loop192:
                    		;	// Stops C# compiler whining that label 'loop192' has no statements

                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2853);
                    	unaryExpression371 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression371.Tree);

                    }
                    break;
                case 3 :
                    // JavaScript.g:316:4: 'void' ( LT )* unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	string_literal372=(IToken)Match(input,105,FOLLOW_105_in_unaryExpression2859); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{string_literal372_tree = new VoidNode(string_literal372) ;
                    		root_0 = (object)adaptor.BecomeRoot(string_literal372_tree, root_0);
                    	}
                    	// JavaScript.g:316:24: ( LT )*
                    	do 
                    	{
                    	    int alt193 = 2;
                    	    int LA193_0 = input.LA(1);

                    	    if ( (LA193_0 == LT) )
                    	    {
                    	        alt193 = 1;
                    	    }


                    	    switch (alt193) 
                    		{
                    			case 1 :
                    			    // JavaScript.g:316:24: LT
                    			    {
                    			    	LT373=(IToken)Match(input,LT,FOLLOW_LT_in_unaryExpression2865); if (state.failed) return retval;

                    			    }
                    			    break;

                    			default:
                    			    goto loop193;
                    	    }
                    	} while (true);

                    	loop193:
                    		;	// Stops C# compiler whining that label 'loop193' has no statements

                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2869);
                    	unaryExpression374 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression374.Tree);

                    }
                    break;
                case 4 :
                    // JavaScript.g:317:4: 'typeof' ( LT )* unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	string_literal375=(IToken)Match(input,106,FOLLOW_106_in_unaryExpression2875); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{string_literal375_tree = new TypeOfExpr(string_literal375) ;
                    		root_0 = (object)adaptor.BecomeRoot(string_literal375_tree, root_0);
                    	}
                    	// JavaScript.g:317:28: ( LT )*
                    	do 
                    	{
                    	    int alt194 = 2;
                    	    int LA194_0 = input.LA(1);

                    	    if ( (LA194_0 == LT) )
                    	    {
                    	        alt194 = 1;
                    	    }


                    	    switch (alt194) 
                    		{
                    			case 1 :
                    			    // JavaScript.g:317:28: LT
                    			    {
                    			    	LT376=(IToken)Match(input,LT,FOLLOW_LT_in_unaryExpression2881); if (state.failed) return retval;

                    			    }
                    			    break;

                    			default:
                    			    goto loop194;
                    	    }
                    	} while (true);

                    	loop194:
                    		;	// Stops C# compiler whining that label 'loop194' has no statements

                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2885);
                    	unaryExpression377 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression377.Tree);

                    }
                    break;
                case 5 :
                    // JavaScript.g:318:4: '++' unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	string_literal378=(IToken)Match(input,107,FOLLOW_107_in_unaryExpression2891); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{string_literal378_tree = new preIncExpr(string_literal378) ;
                    		root_0 = (object)adaptor.BecomeRoot(string_literal378_tree, root_0);
                    	}
                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2897);
                    	unaryExpression379 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression379.Tree);

                    }
                    break;
                case 6 :
                    // JavaScript.g:319:4: '--' unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	string_literal380=(IToken)Match(input,108,FOLLOW_108_in_unaryExpression2903); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{string_literal380_tree = new preDecExpr(string_literal380) ;
                    		root_0 = (object)adaptor.BecomeRoot(string_literal380_tree, root_0);
                    	}
                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2909);
                    	unaryExpression381 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression381.Tree);

                    }
                    break;
                case 7 :
                    // JavaScript.g:320:4: '+' ( LT )* unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	char_literal382=(IToken)Match(input,99,FOLLOW_99_in_unaryExpression2915); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{char_literal382_tree = new PosNode(char_literal382) ;
                    		root_0 = (object)adaptor.BecomeRoot(char_literal382_tree, root_0);
                    	}
                    	// JavaScript.g:320:20: ( LT )*
                    	do 
                    	{
                    	    int alt195 = 2;
                    	    int LA195_0 = input.LA(1);

                    	    if ( (LA195_0 == LT) )
                    	    {
                    	        alt195 = 1;
                    	    }


                    	    switch (alt195) 
                    		{
                    			case 1 :
                    			    // JavaScript.g:320:20: LT
                    			    {
                    			    	LT383=(IToken)Match(input,LT,FOLLOW_LT_in_unaryExpression2921); if (state.failed) return retval;

                    			    }
                    			    break;

                    			default:
                    			    goto loop195;
                    	    }
                    	} while (true);

                    	loop195:
                    		;	// Stops C# compiler whining that label 'loop195' has no statements

                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2925);
                    	unaryExpression384 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression384.Tree);

                    }
                    break;
                case 8 :
                    // JavaScript.g:321:4: '-' ( LT )* unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	char_literal385=(IToken)Match(input,100,FOLLOW_100_in_unaryExpression2931); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{char_literal385_tree = new NegNode(char_literal385) ;
                    		root_0 = (object)adaptor.BecomeRoot(char_literal385_tree, root_0);
                    	}
                    	// JavaScript.g:321:20: ( LT )*
                    	do 
                    	{
                    	    int alt196 = 2;
                    	    int LA196_0 = input.LA(1);

                    	    if ( (LA196_0 == LT) )
                    	    {
                    	        alt196 = 1;
                    	    }


                    	    switch (alt196) 
                    		{
                    			case 1 :
                    			    // JavaScript.g:321:20: LT
                    			    {
                    			    	LT386=(IToken)Match(input,LT,FOLLOW_LT_in_unaryExpression2937); if (state.failed) return retval;

                    			    }
                    			    break;

                    			default:
                    			    goto loop196;
                    	    }
                    	} while (true);

                    	loop196:
                    		;	// Stops C# compiler whining that label 'loop196' has no statements

                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2941);
                    	unaryExpression387 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression387.Tree);

                    }
                    break;
                case 9 :
                    // JavaScript.g:322:4: '~' ( LT )* unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	char_literal388=(IToken)Match(input,109,FOLLOW_109_in_unaryExpression2947); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{char_literal388_tree = new BinaryNotNode(char_literal388) ;
                    		root_0 = (object)adaptor.BecomeRoot(char_literal388_tree, root_0);
                    	}
                    	// JavaScript.g:322:26: ( LT )*
                    	do 
                    	{
                    	    int alt197 = 2;
                    	    int LA197_0 = input.LA(1);

                    	    if ( (LA197_0 == LT) )
                    	    {
                    	        alt197 = 1;
                    	    }


                    	    switch (alt197) 
                    		{
                    			case 1 :
                    			    // JavaScript.g:322:26: LT
                    			    {
                    			    	LT389=(IToken)Match(input,LT,FOLLOW_LT_in_unaryExpression2953); if (state.failed) return retval;

                    			    }
                    			    break;

                    			default:
                    			    goto loop197;
                    	    }
                    	} while (true);

                    	loop197:
                    		;	// Stops C# compiler whining that label 'loop197' has no statements

                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2957);
                    	unaryExpression390 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression390.Tree);

                    }
                    break;
                case 10 :
                    // JavaScript.g:323:4: '!' ( LT )* unaryExpression
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	char_literal391=(IToken)Match(input,110,FOLLOW_110_in_unaryExpression2963); if (state.failed) return retval;
                    	if ( state.backtracking == 0 )
                    	{char_literal391_tree = new LogicalNotNode(char_literal391) ;
                    		root_0 = (object)adaptor.BecomeRoot(char_literal391_tree, root_0);
                    	}
                    	// JavaScript.g:323:27: ( LT )*
                    	do 
                    	{
                    	    int alt198 = 2;
                    	    int LA198_0 = input.LA(1);

                    	    if ( (LA198_0 == LT) )
                    	    {
                    	        alt198 = 1;
                    	    }


                    	    switch (alt198) 
                    		{
                    			case 1 :
                    			    // JavaScript.g:323:27: LT
                    			    {
                    			    	LT392=(IToken)Match(input,LT,FOLLOW_LT_in_unaryExpression2969); if (state.failed) return retval;

                    			    }
                    			    break;

                    			default:
                    			    goto loop198;
                    	    }
                    	} while (true);

                    	loop198:
                    		;	// Stops C# compiler whining that label 'loop198' has no statements

                    	PushFollow(FOLLOW_unaryExpression_in_unaryExpression2973);
                    	unaryExpression393 = unaryExpression();
                    	state.followingStackPointer--;
                    	if (state.failed) return retval;
                    	if ( state.backtracking == 0 ) adaptor.AddChild(root_0, unaryExpression393.Tree);

                    }
                    break;

            }
            retval.Stop = input.LT(-1);

            if ( (state.backtracking==0) )
            {	retval.Tree = (object)adaptor.RulePostProcessing(root_0);
            	adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);}
        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
    	// Conversion of the second argument necessary, but harmless
    	retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re);

        }
        finally 
    	{
        }
        return retval;
    }
        /// <summary>
        /// Initialize the dialog
        /// </summary>
        /// <param name="nodeToEdit">The node we'll be editing</param>
        /// <param name="canEdit">True if we can open the maneuver node editing tools, false otherwise</param>
        public PlanningNodeEditDialog(PlanningNodeModel nodeToEdit, bool canEdit)
            : base(-1, -1, pad, new RectOffset(4, 4, 4, 4), TextAnchor.UpperLeft)
        {
            editingNode = nodeToEdit;

            var toprow = new List <DialogGUIBase>()
            {
                TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                   "PlanningNode_DeleteButtonCaption",
                                                   () => DeleteNode?.Invoke(),
                                                   buttonWidth, buttonHeight,
                                                   false
                                                   )
                {
                    tooltipText = "PlanningNode_DeleteButtonTooltip"
                }),
                new DialogGUIFlexibleSpace(),
                TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                   "PlanningNode_CloseButtonCaption",
                                                   () => CloseDialog?.Invoke(),
                                                   buttonWidth, buttonHeight,
                                                   false
                                                   )
                {
                    tooltipText = "PlanningNode_CloseButtonTooltip"
                })
            };

            if (canEdit)
            {
                toprow.Insert(0, TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                                    "PlanningNode_NewButtonCaption",
                                                                    () => NewNode?.Invoke(),
                                                                    buttonWidth, buttonHeight,
                                                                    false
                                                                    )
                {
                    tooltipText = "PlanningNode_NewButtonTooltip"
                }));
            }
            AddChild(new DialogGUIHorizontalLayout(
                         -1, -1, 8, new RectOffset(0, 0, 0, 0), TextAnchor.MiddleLeft,
                         toprow.ToArray()
                         ));
            AddChild(new DialogGUIHorizontalLayout(
                         -1, -1, pad, new RectOffset(0, 0, 0, 0), TextAnchor.MiddleLeft,
                         new DialogGUILabel("PlanningNode_NameLabelCaption", buttonWidth / 2),
                         NotifyOnFocus(new DialogGUITextInput(
                                           editingNode.name,
                                           false,
                                           24,
                                           s => { return(editingNode.name = s); },
                                           () => { return(editingNode.name); },
                                           TMP_InputField.ContentType.Standard,
                                           buttonHeight
                                           ),
                                       // Don't trigger other parts of the game while they're typing a name in the text field
                                       v => InputLockManager.SetControlLock(MyLocks, "PlanningNodeEditDialogName"),
                                       v => InputLockManager.RemoveControlLock("PlanningNodeEditDialogName")
                                       ),
                         TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                            "PlanningNode_PrevNodeCaption",
                                                            () => PrevNode?.Invoke(),
                                                            smallBtnWidth, buttonHeight,
                                                            false
                                                            )
            {
                tooltipText = canEdit ? "PlanningNode_PrevNodeTooltip" : "PlanningNode_PrevNodeViewOnlyTooltip"
            }),
                         TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                            "PlanningNode_NextNodeCaption",
                                                            () => NextNode?.Invoke(),
                                                            smallBtnWidth, buttonHeight,
                                                            false
                                                            )
            {
                tooltipText = canEdit ? "PlanningNode_NextNodeTooltip" : "PlanningNode_NextNodeViewOnlyTooltip"
            })
                         ));
            AddChild(new DialogGUIHorizontalLayout(
                         -1, -1, pad, new RectOffset(0, 0, 0, 0), TextAnchor.MiddleLeft,
                         new DialogGUILabel("PlanningNode_HueLabelCaption", buttonWidth / 2),
                         new DialogGUISlider(
                             () => {
                if (editingNode != null)
                {
                    Color.RGBToHSV(editingNode.color, out float hue, out float _, out float _);
                    return(hue);
                }
                return(0f);
            },
                             0f, 1f, false, -1, buttonHeight,
                             v => {
                if (editingNode != null)
                {
                    editingNode.color = Color.HSVToRGB(v, 0.5f, 0.75f);
                }
            }
                             )
                         ));
            if (canEdit)
            {
                AddChild(new DialogGUIHorizontalLayout(
                             -1, -1, pad, new RectOffset(0, 0, 0, 0), TextAnchor.MiddleLeft,
                             new DialogGUILabel("PlanningNode_BodyLabelCaption", buttonWidth / 2),
                             new DialogGUILabel(
                                 () => editingNode.origin.bodyName,
                                 -1
                                 ),
                             TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                                "PlanningNode_PrevBodyCaption",
                                                                () => BodyChanged?.Invoke(prevBody(editingNode.origin)),
                                                                smallBtnWidth, buttonHeight,
                                                                false
                                                                )
                {
                    tooltipText = "PlanningNode_PrevBodyTooltip"
                }),
                             TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                                "PlanningNode_NextBodyCaption",
                                                                () => BodyChanged?.Invoke(nextBody(editingNode.origin)),
                                                                smallBtnWidth, buttonHeight,
                                                                false
                                                                )
                {
                    tooltipText = "PlanningNode_NextBodyTooltip"
                })
                             ));
                AddChild(TooltipExtensions.DeferTooltip(new DialogGUIToggle(
                                                            () => editingNode.vessel == null,
                                                            "PlanningNode_ShowForAllCheckboxCaption",
                                                            b => { editingNode.vessel = b ? null : FlightGlobals.ActiveVessel; }
                                                            )
                {
                    tooltipText = "PlanningNode_ShowForAllCheckboxTooltip"
                }));
            }
            AddChild(TooltipExtensions.DeferTooltip(new DialogGUIButton(
                                                        "PlanningNode_WarpToCaption",
                                                        () => WarpTo?.Invoke(editingNode),
                                                        buttonWidth, buttonHeight,
                                                        false
                                                        )
            {
                tooltipText = "PlanningNode_WarpToTooltip"
            }));

            // Don't try to plot a maneuver from the Sun
            for (int i = 0; i < FlightGlobals.Bodies.Count; ++i)
            {
                var b = FlightGlobals.Bodies[i];
                if (b.referenceBody != null && b.referenceBody != b)
                {
                    allowedBodies.Add(b);
                }
            }
        }
예제 #9
0
 public void OnDeleteItem(string name)
 {
     DeleteNode?.Invoke(name);
 }
예제 #10
0
        public MainPage()
        {
            this.InitializeComponent();

            sourcesize = Window.Current.CoreWindow.Bounds;

            GlobalNodeHandler.standardtextFormat = new CanvasTextFormat();

            MyFontPicker = new List <FontClass>();
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Arial"), FontFamilyValue = "Arial"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Times New Roman"), FontFamilyValue = "Times New Roman"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Verdana"), FontFamilyValue = "Verdana"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Calibri"), FontFamilyValue = "Calibri"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Rockwell"), FontFamilyValue = "Rockwell"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Twentieth Century"), FontFamilyValue = "Twentieth Century"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Helvetica"), FontFamilyValue = "Helvetica"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Trajan"), FontFamilyValue = "Trajan"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Optima Std"), FontFamilyValue = "Optima Std"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Franklin Gothic"), FontFamilyValue = "Franklin Gothic"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Futura"), FontFamilyValue = "Futura"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Bickham Script"), FontFamilyValue = "Bickham Script"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Gill Sans"), FontFamilyValue = "Gill Sans"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Sans Serif"), FontFamilyValue = "Sans Serif"
            });
            MyFontPicker.Add(new FontClass()
            {
                MyFontFamily = new FontFamily("Gotham"), FontFamilyValue = "Gotham"
            });
            FontStyleBox.ItemsSource = MyFontPicker;


            MyFontSizePicker = new List <int>();
            for (int i = 6; i < 45; i++)
            {
                MyFontSizePicker.Add(i);
            }
            FontSizeBox.ItemsSource = MyFontSizePicker;

            GlobalNodeHandler.standardtextFormat.FontSize   = 18;
            GlobalNodeHandler.standardtextFormat.FontStyle  = FontStyle.Normal;
            GlobalNodeHandler.standardtextFormat.FontFamily = new FontFamily("Arial").Source;
            FontSizeBox.SelectedItem   = 18;
            FontStyleBox.SelectedIndex = 0;

            GlobalNodeHandler.pick1 = new ColorPicker(5, 5, new Rect(1920 - 200, 50, 200, 260));

            AttributePanel.Margin = new Thickness(0, 260, refwidth - sourcesize.Width, 0);
            UseModePanel.Margin   = new Thickness(0, 0, refwidth - sourcesize.Width, 0);

            //AttributePanel.Margin = new Thickness(0, 260, refwidth - sourcesize.Width, 0);
            GlobalNodeHandler.pick1.boundingbox.X = refwidth - (refwidth - sourcesize.Width) - GlobalNodeHandler.pick1.boundingbox.Width;
            repaint(this, new EventArgs());

            /*var picker = new Windows.Storage.Pickers.FileOpenPicker();
             * picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
             * picker.SuggestedStartLocation =
             *  Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
             * picker.FileTypeFilter.Add(".jpg");
             * picker.FileTypeFilter.Add(".jpeg");
             * picker.FileTypeFilter.Add(".png");
             *
             * Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
             * if (file != null)
             * {
             *  // Application now has read/write access to the picked file
             *  this.textBlock.Text = "Picked photo: " + file.Name;
             * }
             * else
             * {
             *  this.textBlock.Text = "Operation cancelled.";
             * }*/

            GlobalNodeHandler.masterNode = new MindNode(GlobalNodeHandler.id, 0, 0, 0, 0, false);
            GlobalNodeHandler.id++;
            GlobalNodeHandler.masterNode.text = "masterNode";

            GlobalNodeHandler.viewNode = GlobalNodeHandler.masterNode;

            Application.Current.DebugSettings.EnableFrameRateCounter = false;

            activetext.KeyDown   += new KeyEventHandler(activeTextfield_KeyDown);
            activetext.Visibility = Visibility.Collapsed;

            DispatcherTimer timer1 = new DispatcherTimer();

            timer1.Interval = new TimeSpan(1000 / 8);
            timer1.Start();
            timer1.Tick += this.timer1_Tick;


            mouse            = new MouseHandler(activetext);
            mouse.repainted += this.repaint;

            keymanager            = new KeyHandler(activetext);
            keymanager.repainted += this.repaint;

            btnMngr = new ButtonManager();

            viewPane.PointerPressed  += this.viewPane_MouseDown;
            viewPane.PointerReleased += this.viewPane_MouseUp;

            AddNode.AddHandler(PointerPressedEvent, new PointerEventHandler(AddNode_PointerPressed), true);
            ConnectNodes.AddHandler(PointerPressedEvent, new PointerEventHandler(ConnectNodes_PointerPressed), true);
            DeConnectNodes.AddHandler(PointerPressedEvent, new PointerEventHandler(DeConnectNodes_PointerPressed), true);
            TransformNode.AddHandler(PointerPressedEvent, new PointerEventHandler(TransformNode_PointerPressed), true);
            MoveNodes.AddHandler(PointerPressedEvent, new PointerEventHandler(MoveNodes_PointerPressed), true);
            DeleteNode.AddHandler(PointerPressedEvent, new PointerEventHandler(DeleteNode_PointerPressed), true);
            SelectNodes.AddHandler(PointerPressedEvent, new PointerEventHandler(SelectNodes_PointerPressed), true);
            UnDo.AddHandler(PointerPressedEvent, new PointerEventHandler(UnDo_PointerPressed), true);
            ReDo.AddHandler(PointerPressedEvent, new PointerEventHandler(ReDo_PointerPressed), true);
            Copy.AddHandler(PointerPressedEvent, new PointerEventHandler(Copy_PointerPressed), true);
            Cut.AddHandler(PointerPressedEvent, new PointerEventHandler(Cut_PointerPressed), true);
            Paste.AddHandler(PointerPressedEvent, new PointerEventHandler(Paste_PointerPressed), true);
            PlaceLabel.AddHandler(PointerPressedEvent, new PointerEventHandler(PlaceLabel_PointerPressed), true);
            JumpInto.AddHandler(PointerPressedEvent, new PointerEventHandler(JumpInto_PointerPressed), true);
            JumpOutof.AddHandler(PointerPressedEvent, new PointerEventHandler(JumpOutof_PointerPressed), true);
            ColorNode.AddHandler(PointerPressedEvent, new PointerEventHandler(ColorNode_PointerPressed), true);

            UNDOMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(UnDo_PointerPressed), true);
            REDOMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(ReDo_PointerPressed), true);
            CUTMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(Cut_PointerPressed), true);
            COPYMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(Copy_PointerPressed), true);
            PASTEMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(Paste_PointerPressed), true);
            TRANSFORMMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(TransformNode_PointerPressed), true);
            EDITMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(PlaceLabel_PointerPressed), true);
            JUMPINMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(JumpInto_PointerPressed), true);
            JUMPOUTMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(JumpOutof_PointerPressed), true);
            CHANGECOLORMENU.AddHandler(PointerPressedEvent, new PointerEventHandler(ColorNode_PointerPressed), true);

            //FileButtonFlyout.AddHandler(PointerPressedEvent, new PointerEventHandler(FileButton_PointerPressed), true);
            this.NEW.AddHandler(PointerPressedEvent, new PointerEventHandler(NEW_PointerPressed), true);
            this.OPEN.AddHandler(PointerPressedEvent, new PointerEventHandler(OPEN_PointerPressed), true);
            this.SAVE.AddHandler(PointerPressedEvent, new PointerEventHandler(SAVE_PointerPressed), true);
            this.SAVEAS.AddHandler(PointerPressedEvent, new PointerEventHandler(SAVEAS_PointerPressed), true);
            this.EXPORT.AddHandler(PointerPressedEvent, new PointerEventHandler(EXPORT_PointerPressed), true);
            this.CLOSE.AddHandler(PointerPressedEvent, new PointerEventHandler(CLOSE_PointerPressed), true);
            this.EXIT.AddHandler(PointerPressedEvent, new PointerEventHandler(EXIT_PointerPressed), true);

            Application.Current.Suspending += AppSuspending;

            STYLESBAR.AddHandler(PointerPressedEvent, new PointerEventHandler(STYLESBAR_PointerPressed), true);
            ZOOMIN.AddHandler(PointerPressedEvent, new PointerEventHandler(ZOOMIN_PointerPressed), true);
            ZOOMOUT.AddHandler(PointerPressedEvent, new PointerEventHandler(ZOOMOUT_PointerPressed), true);

            ABOUT.AddHandler(PointerPressedEvent, new PointerEventHandler(ABOUT_PointerPressed), true);
            DOCU.AddHandler(PointerPressedEvent, new PointerEventHandler(DOCU_PointerPressed), true);

            BoldText.AddHandler(PointerPressedEvent, new PointerEventHandler(UpdateFontStyle), true);
            ItalicText.AddHandler(PointerPressedEvent, new PointerEventHandler(UpdateFontStyle), true);
            UnderlineText.AddHandler(PointerPressedEvent, new PointerEventHandler(UpdateFontStyle), true);

            AboutButton.AddHandler(PointerPressedEvent, new PointerEventHandler(AboutButton_PointerPressed), true);


            viewPane.PointerMoved        += viewPane_UpdateMousePos;
            viewPane.PointerWheelChanged += OnMouseScroll;

            timer1.Tick += mouse.timer1_Tick;

            OpenAutoSave();

            repaint(this, new EventArgs());

            /*Random r = new Random();
             *
             * for (int x = 0; x < 100; x++) {
             *  for (int y = 0; y < 100; y++)
             *  {
             *      //mouse.CreateNewNode((int)(r.NextDouble() * 1000), (int)(r.NextDouble() * 1000), true);
             *
             *      GlobalNodeHandler.CreateNewNode((int)(y * 50), (int)(x * 30), true);
             *
             *      mouse.activetext.Text = "n:";
             *      keymanager.EnterTextBox();
             *      repaint(this,new EventArgs());
             *  }
             * }*/

            GlobalNodeHandler.TabletSelected = true;
            this.Focus(FocusState.Keyboard);
        }