Exemple #1
0
        private void Workspace_Changed(Events.Abstract e)
        {
            Changed = true;

            switch (e.type)
            {
            case Blockly.Events.CREATE:
                var cre = (Events.Create)e;
                BlockCreated?.Invoke(this, cre);
                break;

            case Blockly.Events.DELETE:
                var del = (Events.Delete)e;
                BlockDeleted?.Invoke(this, del);
                break;

            case Blockly.Events.CHANGE:
                var chg = (Events.Change)e;
                BlockChanged?.Invoke(this, chg);
                break;

            case Blockly.Events.MOVE:
                var mov = (Events.Move)e;
                BlockMoveed?.Invoke(this, mov);
                break;

            case Blockly.Events.UI:
                var ui = (Events.Ui)e;
                UiEvent?.Invoke(this, ui);
                break;
            }
        }
Exemple #2
0
 protected override void onchange(Events.Abstract ev)
 {
     if (this.workspace != null && this.optionCount_ < 1)
     {
         this.setWarningText("Drop down menu must\nhave at least one option.");
     }
     else
     {
         BlockFactory.fieldNameCheck(this);
     }
 }
Exemple #3
0
        /// <summary>
        /// Update the language code based on constructs made in Blockly.
        /// </summary>
        public static void updateLanguage(Events.Abstract e)
        {
            var rootBlock = FactoryUtils.getRootBlock(BlockFactory.mainWorkspace);

            if (rootBlock == null)
            {
                return;
            }
            var blockType = rootBlock.getFieldValue("NAME").Trim().ToLowerCase();

            if (blockType == null)
            {
                blockType = BlockFactory.UNNAMED;
            }
            var format = ((HTMLSelectElement)Document.GetElementById("format")).Value;
            var code   = FactoryUtils.getBlockDefinition(blockType, rootBlock, format,
                                                         BlockFactory.mainWorkspace);

            FactoryUtils.injectCode(code, "languagePre");
            BlockFactory.updatePreview();
        }
Exemple #4
0
 protected override void onchange(Events.Abstract ev)
 {
     BlockFactory.fieldNameCheck(this);
 }