예제 #1
0
        public CSharpEngine(IScriptableNode node)
        {
            if (!typeof(TMethodEnum).IsEnum)
            {
                throw new ArgumentException("Only enum types allowed for method enumeration:" + typeof(TMethodEnum).Name);
            }

            m_methods = new Dictionary <string, MethodInfo>();
            m_node    = node;
        }
예제 #2
0
        public TextEditForm(MainForm mainForm, IScriptableNode target)
        {
            InitializeComponent();

            //Icon = Properties.Resources.TextDoc;

            m_mainForm = mainForm;
            Target = target;
            Text = target.Name;

            SetupEditorStyle();

            scintilla.Text = Target.Script;

            scintilla.TextChanged += scintilla_TextChanged;
            scintilla.HandleDestroyed += scintilla_HandleDestroyed;
            scintilla.HandleCreated += scintilla_HandleCreated;
        }
예제 #3
0
        public TextEditForm(MainForm mainForm, IScriptableNode target)
        {
            InitializeComponent();

            //Icon = Properties.Resources.TextDoc;

            m_mainForm = mainForm;
            Target     = target;
            Text       = target.Name;

            SetupEditorStyle();

            scintilla.Text = Target.Script;

            scintilla.TextChanged     += scintilla_TextChanged;
            scintilla.HandleDestroyed += scintilla_HandleDestroyed;
            scintilla.HandleCreated   += scintilla_HandleCreated;
        }
예제 #4
0
        private void Desktop_DoubleClick(object sender, EventArgs e)
        {
            MyNodeView nodeView = Desktop.FocusElement as MyNodeView;

            if (nodeView != null)
            {
                MyNodeGroup     group      = nodeView.Node as MyNodeGroup;
                IScriptableNode scriptable = nodeView.Node as IScriptableNode;

                if (scriptable != null && group == null ||
                    scriptable != null && group != null && (Control.ModifierKeys & Keys.Shift) != 0)
                {
                    m_mainForm.OpenTextEditor(scriptable);
                }
                else if (group != null)
                {
                    m_mainForm.OpenGraphLayout(group);
                }
            }
        }
예제 #5
0
        public TextEditForm OpenTextEditor(IScriptableNode target)
        {
            TextEditForm textEditor;

            if (!TextEditors.TryGetValue(target, out textEditor))
            {
                textEditor = new TextEditForm(this, target);
                textEditor.FormClosed += textEditor_FormClosed;
                TextEditors[target] = textEditor;
            }

            textEditor.Show(dockPanel, DockState.Document);
            return textEditor;
        }
예제 #6
0
        public IScriptableNode appendChild(IScriptableNode newChild)
        {
            object result = ((INode)baseObject).AppendChild(((XmlNode)((ScriptableNode)newChild).baseObject));

            return((result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null);
        }
예제 #7
0
        public IScriptableNode removeChild(IScriptableNode oldChild)
        {
            object result = ((INode)baseObject).RemoveChild(((XmlNode)((ScriptableNode)oldChild).baseObject));

            return((result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null);
        }
예제 #8
0
        public IScriptableNode insertBefore(IScriptableNode newChild, IScriptableNode refChild)
        {
            object result = ((INode)baseObject).InsertBefore(((XmlNode)((ScriptableNode)newChild).baseObject), ((XmlNode)((ScriptableNode)refChild).baseObject));

            return((result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null);
        }
예제 #9
0
 public IScriptableNode setNamedItemNS(IScriptableNode arg)
 {
     object result = ((XmlNamedNodeMap)baseObject).SetNamedItem(((XmlNode)((ScriptableNode)arg).baseObject));
         return (result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null;
 }
예제 #10
0
 public void initMutationEvent(string typeArg, bool canBubbleArg, bool cancelableArg, IScriptableNode relatedNodeArg, string prevValueArg, string newValueArg, string attrNameArg, ushort attrChangeArg)
 {
     ((IMutationEvent)baseObject).InitMutationEvent(typeArg, canBubbleArg, cancelableArg, ((INode)((ScriptableNode)relatedNodeArg).baseObject), prevValueArg, newValueArg, attrNameArg, (AttrChangeType)attrChangeArg);
 }
예제 #11
0
 public string printNode(IScriptableNode node)
 {
     return ((ISvgWindow)baseObject).PrintNode(((XmlNode)((ScriptableNode)node).baseObject));
 }
예제 #12
0
 public IScriptableNode replaceChild(IScriptableNode newChild, IScriptableNode oldChild)
 {
     object result = ((INode)baseObject).ReplaceChild(((XmlNode)((ScriptableNode)newChild).baseObject), ((XmlNode)((ScriptableNode)oldChild).baseObject));
         return (result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null;
 }
예제 #13
0
 public IScriptableNode insertBefore(IScriptableNode newChild, IScriptableNode refChild)
 {
     object result = ((INode)baseObject).InsertBefore(((XmlNode)((ScriptableNode)newChild).baseObject), ((XmlNode)((ScriptableNode)refChild).baseObject));
         return (result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null;
 }
예제 #14
0
 public IScriptableNode appendChild(IScriptableNode newChild)
 {
     object result = ((INode)baseObject).AppendChild(((XmlNode)((ScriptableNode)newChild).baseObject));
         return (result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null;
 }
예제 #15
0
        internal void CloseTextEditor(IScriptableNode target)
        {
            TextEditForm textEditor;

            if (TextEditors.TryGetValue(target, out textEditor))
            {
                textEditor.Close();
            }
        }
예제 #16
0
        public IScriptableNode setNamedItemNS(IScriptableNode arg)
        {
            object result = ((XmlNamedNodeMap)baseObject).SetNamedItem(((XmlNode)((ScriptableNode)arg).baseObject));

            return((result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null);
        }
예제 #17
0
 public string printNode(IScriptableNode node)
 {
     return(((ISvgWindow)baseObject).PrintNode(((XmlNode)((ScriptableNode)node).baseObject)));
 }
예제 #18
0
        public IScriptableNode importNode(IScriptableNode importedNode, bool deep)
        {
            object result = ((IDocument)baseObject).ImportNode(((INode)((ScriptableNode)importedNode).baseObject), deep);

            return((result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null);
        }
예제 #19
0
 public void initMutationEvent(string typeArg, bool canBubbleArg, bool cancelableArg, IScriptableNode relatedNodeArg, string prevValueArg, string newValueArg, string attrNameArg, ushort attrChangeArg)
 {
     ((IMutationEvent)baseObject).InitMutationEvent(typeArg, canBubbleArg, cancelableArg, ((INode)((ScriptableNode)relatedNodeArg).baseObject), prevValueArg, newValueArg, attrNameArg, (AttrChangeType)attrChangeArg);
 }
예제 #20
0
 public IScriptableNode importNode(IScriptableNode importedNode, bool deep)
 {
     object result = ((IDocument)baseObject).ImportNode(((INode)((ScriptableNode)importedNode).baseObject), deep);
         return (result != null) ? (IScriptableNode)ScriptableObject.CreateWrapper(result) : null;
 }