예제 #1
0
        private void FieldNameModified([NotNull] object sender, [NotNull] TextChangedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            if (TemplateDesigner.IsModifiedTracking > 0)
            {
                return;
            }

            TemplateDesigner.SetModified(true);

            if (string.IsNullOrEmpty(FieldName.Text))
            {
                return;
            }

            if (!IsLastField())
            {
                return;
            }

            var addField = new AddField();

            var context = new TemplateDesignerContext
            {
                TemplateDesigner = TemplateDesigner,
                Section          = Field.Section
            };

            AppHost.Usage.ReportCommand(addField, context);
            addField.Execute(context);
        }
        private void OpenContextMenu([NotNull] object sender, [NotNull] ContextMenuEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            ContextMenu = null;

            var context = new TemplateDesignerContext
            {
                TemplateDesigner = TemplateDesigner,
                Section          = Section
            };

            var commands = Rocks.Commands.CommandManager.GetCommands(context);

            if (!commands.Any())
            {
                e.Handled = true;
                return;
            }

            var contextMenu = new ContextMenu();

            contextMenu.Build(commands, context);

            ContextMenu = contextMenu;
        }
        public object GetContext()
        {
            var context = new TemplateDesignerContext
            {
                TemplateDesigner = this,
                Section          = ActiveSection,
                Field            = ActiveField
            };

            return(context);
        }