Example #1
0
        static ScriptParm ScriptObjectToMeta(ScriptObject meta)
        {
            ScriptParm scriptParm;

            if (meta.ScriptObjectProxy != null)
            {
                scriptParm = new ScriptParm {
                    Category = (int)ScriptParmCategory.ScriptObject, Type = "ScriptObject", Value = meta.ScriptObjectProxy.Handle
                }
            }
            ;
            else
            {
                scriptParm = new ScriptParm {
                    Category = (int)ScriptParmCategory.ScriptObject, Type = meta.GetType().ToString(), Value = meta
                }
            };

            return(scriptParm);
        }
Example #2
0
        static ScriptParm ParmToMetaData(object parm, ConvertEnum enumConversionType = ConvertEnum.Default)
        {
            ScriptParm scriptParm;

            // Let's handle null parameters
            // example of this is BrowserWindow.SetMenu(null) so the menu does not show
            if (parm == null)
            {
                scriptParm = new ScriptParm {
                    Category = (int)ScriptParmCategory.ScriptValue, Type = "null", Value = parm
                }
            }
            ;
            else if (IsScriptObject(parm))
            {
                scriptParm = ScriptObjectToMeta((ScriptObject)parm);
            }
            else if (IsScriptableType(parm))
            {
                scriptParm = ScriptableTypeToMeta(parm);
            }
            else if (IsCallback(parm))
            {
                scriptParm = CallBackToMeta(parm);
            }
            else if (IsArrayOfScriptableType(parm))
            {
                scriptParm = ScriptableTypeArrayToMeta(parm);
            }
            else if (parm.GetType().IsEnum)
            {
                scriptParm = EnumToMeta(parm, enumConversionType);
            }
            else
            {
                scriptParm = new ScriptParm {
                    Category = (int)ScriptParmCategory.ScriptValue, Type = parm.GetType().ToString(), Value = parm
                }
            };
            return(scriptParm);
        }