Example #1
0
 public virtual void ClearModifiers()
 {
     if (modifier != FieldModifier.None) {
         modifier = FieldModifier.None;
         Changed();
     }
 }
Example #2
0
        public override void    Out(ByteBuffer buffer)
        {
            if (this.OutResponseStatus(buffer))
            {
                buffer.Append(this.typeIndex);
                buffer.Append(this.members.Length);

                for (int i = 0; i < this.members.Length; i++)
                {
                    using (SafeWrapByteBuffer wrap = SafeWrapByteBuffer.Get(buffer))
                    {
                        try
                        {
                            if (this.members[i] is FieldModifier)
                            {
                                FieldModifier modifier = (this.members[i] as FieldModifier);

                                buffer.Append(modifier.fieldInfo.IsLiteral == false || modifier.fieldInfo.IsInitOnly == true);
                            }
                            else
                            {
                                buffer.Append((this.members[i] as PropertyModifier).propertyInfo.GetSetMethod() != null);
                            }

                            NetField.Serialize(buffer, null, this.members[i]);
                        }
                        catch (Exception ex)
                        {
                            InternalNGDebug.LogException("Inspectable type index \"" + this.typeIndex + "\" at static member \"" + this.members[i].Name + "\" failed.", ex);
                            wrap.Erase();
                        }
                    }
                }
            }
        }
Example #3
0
        /// <summary>
        ///     Gets the <see cref="FieldModifier" /> as a C# string.
        /// </summary>
        /// <param name="modifier">The <see cref="FieldModifier" /> to convert.</param>
        /// <returns>The <see cref="FieldModifier" /> as a string.</returns>
        public static string Declaration(this FieldModifier modifier)
        {
            switch (modifier)
            {
            case FieldModifier.Static:
                return("static");

            case FieldModifier.Readonly:
                return("readonly");

            case FieldModifier.Constant:
                return("const");

            case FieldModifier.Hider:
                return("new");

            case FieldModifier.Volatile:
                return("volatile");

            case FieldModifier.None:
                return("");

            default:
                return("");
            }
        }
Example #4
0
        private void ChangeModifier(FieldModifier modifier)
        {
            if (ValidateDeclarationLine())
            {
                Field field = shape.ActiveMember as Field;
                if (field != null)
                {
                    try
                    {
                        // Clear other modifiers
                        field.ClearModifiers();

                        // Set new values
                        field.IsReadonly = ((modifier & FieldModifier.Readonly) != 0);
                        field.IsConstant = ((modifier & FieldModifier.Constant) != 0);
                        field.IsVolatile = ((modifier & FieldModifier.Volatile) != 0);

                        RefreshValues();
                    }
                    catch (BadSyntaxException ex)
                    {
                        RefreshValues();
                        SetError(ex.Message);
                    }
                }
            }
        }
 public StructureMember(FieldModifier modifier, NamespaceName fieldType, string identifier, Versioning versioning, NamespaceName fieldContainer)
     : base(identifier, versioning)
 {
     _modifier = modifier;
     _fieldType = fieldType;
     _fieldContainer = fieldContainer;
 }
Example #6
0
        protected override void CopyFrom(Member member)
        {
            base.CopyFrom(member);

            Field field = (Field) member;
            modifier = field.modifier;
            initialValue = field.initialValue;
        }
Example #7
0
 public override bool IsValidModifier(FieldModifier modifier)
 {
     return(
         modifier == FieldModifier.Static ||
         modifier == FieldModifier.Readonly ||
         modifier == FieldModifier.Volatile
         );
 }
Example #8
0
 public static string AsString(this FieldModifier modifier)
 {
     if (modifier == FieldModifier.None)
     {
         return(string.Empty);
     }
     return(EnumToLower(modifier));
 }
Example #9
0
 /// <summary>
 /// Returns a readable string containing the <see cref="FieldModifier"/>.
 /// </summary>
 /// <param name="fieldModifier">The <see cref="FieldModifier"/> to convert to a string.</param>
 /// <returns>The converted <see cref="FieldModifier"/></returns>
 private static string ToString(FieldModifier fieldModifier)
 {
     if (fieldModifier == FieldModifier.None)
     {
         return("");
     }
     return(fieldModifier.ToString().ToLower() + " ");
 }
        public static FieldGenerator Field(AccessModifier scope, FieldModifier modifier, Type type, string name)
        {
            var field = new FieldGenerator();

            field.scope        = scope;
            field.modifier     = modifier;
            field.type         = type;
            field.name         = name.LegalMemberName();
            field.defaultValue = type.Default();
            return(field);
        }
Example #11
0
        public static FieldGenerator Field(AccessModifier scope, FieldModifier modifier, Type type, string name)
        {
            var field = new FieldGenerator();

            field.scope        = scope;
            field.modifier     = modifier;
            field.type         = type;
            field.name         = name;
            field.defaultValue = HUMValue.Create().New(type);
            return(field);
        }
        public static FieldGenerator Field(AccessModifier scope, FieldModifier modifier, string typeName, string typeNamespace, string name, string defaultValue = null, HighlightType highlightType = HighlightType.None)
        {
            var field = new FieldGenerator();

            field.scope               = scope;
            field.modifier            = modifier;
            field.typeIsString        = true;
            field.stringTypeNamespace = typeNamespace.SlashesToPeriods();
            field.stringType          = typeName;
            field.name          = name.LegalMemberName();
            field.highlightType = highlightType;
            return(field);
        }
Example #13
0
        public override string GetFieldModifierString(FieldModifier modifier, bool forCode)
        {
            if (modifier == FieldModifier.None)
            {
                if (forCode)
                {
                    return("");
                }
                else
                {
                    return("None");
                }
            }

            StringBuilder builder = new StringBuilder(30);

            if ((modifier & FieldModifier.Hider) != 0)
            {
                builder.Append(forCode ? "new " : "New, ");
            }
            if ((modifier & FieldModifier.Constant) != 0)
            {
                builder.Append(forCode ? "const " : "Const, ");
            }
            if ((modifier & FieldModifier.Static) != 0)
            {
                builder.Append(forCode ? "static " : "Static, ");
            }
            if ((modifier & FieldModifier.Readonly) != 0)
            {
                builder.Append(forCode ? "readonly " : "Readonly, ");
            }
            if ((modifier & FieldModifier.Volatile) != 0)
            {
                builder.Append(forCode ? "volatile " : "Volatile, ");
            }

            if (forCode)
            {
                builder.Remove(builder.Length - 1, 1);
            }
            else
            {
                builder.Remove(builder.Length - 2, 2);
            }

            return(builder.ToString());
        }
Example #14
0
        public MemberDrawer(TypeDrawer typeDrawer, IFieldModifier fieldModifier)
        {
            this.typeDrawer    = typeDrawer;
            this.fieldModifier = fieldModifier;

            if (this.fieldModifier is FieldModifier)
            {
                FieldModifier modifier = (this.fieldModifier as FieldModifier);

                this.isEditable = modifier.fieldInfo.IsLiteral == false && modifier.fieldInfo.IsInitOnly == false;
            }
            else
            {
                this.isEditable = (this.fieldModifier as PropertyModifier).propertyInfo.GetSetMethod() != null;
            }
        }
Example #15
0
        public IFieldModifier[] GetFields()
        {
            FieldInfo[]      fields     = this.GetFieldInfos();
            PropertyInfo[]   properties = this.GetPropertyInfos();
            IFieldModifier[] result     = new IFieldModifier[fields.Length + properties.Length];
            int i = 0;

            for (; i < fields.Length; ++i)
            {
                result[i] = new FieldModifier(fields[i]);
            }

            for (int j = 0; j < properties.Length; ++j, ++i)
            {
                result[i] = new PropertyModifier(properties[j]);
            }

            return(result);
        }
Example #16
0
        private void RefreshValues()
        {
            if (shape.ActiveMember != null)
            {
                Member member = shape.ActiveMember;
                SuspendLayout();
                RefreshModifiers();
                Language language = shape.CompositeType.Language;

                int cursorPosition = txtDeclaration.SelectionStart;
                txtDeclaration.Text           = member.ToString();
                txtDeclaration.SelectionStart = cursorPosition;
                txtDeclaration.ReadOnly       = (member.MemberType == MemberType.Destructor);

                SetError(null);
                needValidation = false;

                // Visibility
                RefreshVisibility();

                // Static and New modifiers
                toolStatic.Checked = member.IsStatic;
                toolStatic.Enabled = (member.MemberType != MemberType.Destructor);
                toolHider.Checked  = member.IsHider;
                toolHider.Enabled  = (member.MemberType != MemberType.Destructor);

                // Field modifiers
                Field field = member as Field;
                if (field != null)
                {
                    FieldModifier modifier = field.Modifier &
                                             (FieldModifier.Constant | FieldModifier.Readonly | FieldModifier.Volatile);

                    if (modifier == FieldModifier.None)
                    {
                        toolFieldModifiers.Text = Strings.None;
                    }
                    else
                    {
                        toolFieldModifiers.Text = language.ValidFieldModifiers[modifier];
                    }
                }

                // Operation modifiers
                Operation operation = member as Operation;
                if (operation != null)
                {
                    OperationModifier modifier = operation.Modifier &
                                                 (OperationModifier.Abstract | OperationModifier.Override |
                                                  OperationModifier.Sealed | OperationModifier.Virtual);

                    if (modifier == OperationModifier.None)
                    {
                        toolOperationModifiers.Text = Strings.None;
                    }
                    else
                    {
                        toolOperationModifiers.Text = language.ValidOperationModifiers[modifier];
                    }

                    toolOperationModifiers.Enabled = (member.MemberType != MemberType.Destructor);
                }

                // Property accessor
                Property property = member as Property;
                if (property != null)
                {
                    if (property.IsReadonly)
                    {
                        toolAccessor.Image       = Properties.Resources.PublicReadonly;
                        toolAccessor.ToolTipText = Strings.ReadOnly;
                    }
                    else if (property.IsWriteonly)
                    {
                        toolAccessor.Image       = Properties.Resources.PublicWriteonly;
                        toolAccessor.ToolTipText = Strings.WriteOnly;
                    }
                    else
                    {
                        toolAccessor.Image       = Properties.Resources.PublicProperty;
                        toolAccessor.ToolTipText = Strings.ReadWrite;
                    }
                }

                RefreshNewMembers();
                RefreshMoveUpDownTools();
                ResumeLayout();
            }
        }
        /// <summary>
        /// Implementation of <see cref="IWorkflowScript.OnWorkflowScriptExecute" />.
        /// <seealso cref="IWorkflowScript" />
        /// </summary>
        /// <param name="app">Unity Application object</param>
        /// <param name="args">Workflow event arguments</param>
        //  public void OnWorkflowScriptExecute(Application app, WorkflowEventArgs args)
        //public void OnWorkflowScriptExecute(Application app, WorkflowEventArgs args = null)
        public void OnWorkflowScriptExecute(Hyland.Unity.Application app, Hyland.Unity.WorkflowEventArgs args)
        {
            try
            {
                // Initialize global settings
                IntializeScript(ref app, ref args);

                KeywordType kwtLicenseType = _currentDocument.DocumentType.KeywordRecordTypes.FindKeywordType(gParamLicType);
                string      strLicenseType = "";
                if (kwtLicenseType != null)
                {
                    KeywordRecord keyRecLicenseType = _currentDocument.KeywordRecords.Find(kwtLicenseType);
                    if (keyRecLicenseType != null)
                    {
                        Keyword kwdLicenseType = keyRecLicenseType.Keywords.Find(kwtLicenseType);
                        if (kwdLicenseType != null)
                        {
                            strLicenseType = CleanSeedKW(kwdLicenseType.ToString());
                        }
                    }
                }

                KeywordType kwtLicenseNum = _currentDocument.DocumentType.KeywordRecordTypes.FindKeywordType(gParamFileNumber);
                string      strFileNum    = "";
                if (kwtLicenseNum != null)
                {
                    KeywordRecord keyRecLicenseNum = _currentDocument.KeywordRecords.Find(kwtLicenseNum);
                    if (keyRecLicenseNum != null)
                    {
                        Keyword kwdLicenseNum = keyRecLicenseNum.Keywords.Find(kwtLicenseNum);
                        if (kwdLicenseNum != null)
                        {
                            strFileNum = CleanSeedKW(kwdLicenseNum.ToString());
                        }
                    }
                }

                if ((strFileNum == "") || (strLicenseType == ""))
                {
                    throw new Exception(string.Format("Either {0} or {1} is blank.", gParamFileNumber, gParamLicType));
                }

                //access Config Item for LicEase User
                string gUSER = "";
                if (app.Configuration.TryGetValue("LicEaseUser", out gUSER))
                {
                }

                //access Config Item for LicEase Password
                string gPASS = "";
                if (app.Configuration.TryGetValue("LicEasePassword", out gPASS))
                {
                }

                /* COMMENT THIS SECTION OUT WHEN MOVING TO PROD */
                //access Config Item for LicEase UAT ODBC
                string gODBC = "";
                if (app.Configuration.TryGetValue("LicEaseUAT", out gODBC))
                {
                }

                /* UNCOMMENT THIS SECTION WHEN MOVING TO PROD
                 *              //access Config Item for LicEase PROD ODBC
                 *              string gODBC = "";
                 *              if (app.Configuration.TryGetValue("LicEasePROD", out gODBC))
                 *              {
                 *              }
                 */

                string connectionString = string.Format("DSN={0};Uid={1};Pwd={2};", gODBC, gUSER, gPASS);
                app.Diagnostics.WriteIf(Diagnostics.DiagnosticsLevel.Verbose, string.Format("Connection string: {0}", connectionString));

                StringBuilder strSql = new StringBuilder();
                strSql.Append(@"select * from (select distinct(c.cmpln_nbr) as CASENUMBER, becec.enf_cde as ACTYPE, c.rcv_dte as ISSUEDATE, to_char(cacat.actv_strt_dte, 'MM/DD/YYYY')  as CLERKEDDATE, ccscs.cmpln_sta_cde as COMPSTATUS, c.clnt_cde as LICTYPE ");
                strSql.Append(@", c1_mc.chrg_amt as FINEAMT  from cmpln c inner join (select ec.enf_cde,  bec.clnt_enf_cde_id from brd_enf_cde bec inner join enf_cde ec on bec.enf_cde_id = ec.enf_cde_id where (ec.enf_cde like 'CLOS' or ec.clnt_cde like 'AD%' or ec.enf_cde like 'AC%') ) becec on  c.clnt_cmpln_cls_id = becec.clnt_enf_cde_id inner join ");
                strSql.Append(@"(select cs.cmpln_sta_cde, ccs.clnt_cmpln_sta_id from clnt_cmpln_sta ccs inner join  cmpln_sta cs on ccs.cmpln_sta_id = cs.cmpln_sta_id ) ccscs on c.clnt_cmpln_sta_id = ccscs.clnt_cmpln_sta_id inner join (select  l.file_nbr,  l.clnt_cde,  l.lic_id,  r.cmpln_id from rspn r inner join lic l on  r.lic_id = l.lic_id )  rl  ");
                strSql.Append(@" on c.cmpln_id = rl.cmpln_id left outer join  (select ca.actv_strt_dte, ca.cmpln_id from cmpln_actv ca inner join cmpln_actv_typ cat on ca.cmpln_actv_typ_id = cat.cmpln_actv_typ_id where cat.cmpln_actv_typ_cde = 'A400' ) cacat on c.cmpln_id = cacat.cmpln_id left outer join (select mc.chrg_amt, c1.cmpln_id from cmply_ordr c1 inner join misc_chrg mc on c1.misc_chrg_id = mc.misc_chrg_id ) c1_mc on c.cmpln_id = c1_mc.cmpln_id where rl.file_nbr = '");
                strSql.Append(strFileNum);
                strSql.Append(@"' and rl.clnt_cde = '");
                strSql.Append(strLicenseType);
                strSql.Append(@"' and c.rcv_dte > (SYSDATE - 1826) and c.clnt_cde like '20%' and c.cmpln_nbr > '2010%') order by 1 desc ");



                using (OdbcConnection con = new OdbcConnection(connectionString))
                {
                    try
                    {
                        con.Open();
                        using (OdbcCommand command = new OdbcCommand(strSql.ToString(), con))
                            using (OdbcDataReader reader = command.ExecuteReader())
                            {
                                if (reader.HasRows)
                                {
                                    while (reader.Read())
                                    {
                                        lstProp1.Add(reader["CASENUMBER"].ToString());
                                        lstProp2.Add(reader["ACTYPE"].ToString());
                                        lstProp3.Add(reader["ISSUEDATE"].ToString());
                                        lstProp4.Add(reader["CLERKEDDATE"].ToString());
                                        lstProp5.Add(reader["COMPSTATUS"].ToString());
                                        lstProp6.Add(reader["LICTYPE"].ToString());
                                        lstProp7.Add(reader["FINEAMT"].ToString());
                                    }

                                    // Create keyword modifier object to hold keyword changes
                                    EForm currentForm = _currentDocument.EForm;

                                    FieldModifier fieldModifier = currentForm.CreateFieldModifier();

                                    foreach (string props in lstProp1)
                                    {
                                        if (props != null)
                                        {
                                            fieldModifier.UpdateField("CASENUMBER", props);
                                        }
                                    }

                                    foreach (string props in lstProp2)
                                    {
                                        if (props != null)
                                        {
                                            fieldModifier.UpdateField("ACTYPE", props);
                                        }
                                    }

                                    foreach (string props in lstProp3)
                                    {
                                        if (props != null)
                                        {
                                            fieldModifier.UpdateField("ISSUEDATE", props);
                                        }
                                    }

                                    foreach (string props in lstProp4)
                                    {
                                        if (props != null)
                                        {
                                            fieldModifier.UpdateField("CLERKEDDATE", props);
                                        }
                                    }

                                    foreach (string props in lstProp5)
                                    {
                                        if (props != null)
                                        {
                                            fieldModifier.UpdateField("COMPSTATUS", props);
                                        }
                                    }

                                    foreach (string props in lstProp6)
                                    {
                                        if (props != null)
                                        {
                                            fieldModifier.UpdateField("LICTYPE", props);
                                        }
                                    }

                                    foreach (string props in lstProp7)
                                    {
                                        if (props != null)
                                        {
                                            fieldModifier.UpdateField("FINEAMT", props);
                                        }
                                    }

                                    using (DocumentLock documentLock = _currentDocument.LockDocument())
                                    {
                                        // Ensure lock was obtained
                                        if (documentLock.Status != DocumentLockStatus.LockObtained)
                                        {
                                            throw new Exception("Document lock not obtained");
                                        }

                                        // Apply keyword change to the document
                                        fieldModifier.ApplyChanges();

                                        documentLock.Release();
                                    }
                                }
                                else
                                {
                                    throw new Exception(string.Format("No records found in database for  {0}='{1}' and {4}{2}='{3}' ", gParamLicType, strLicenseType, gParamFileNumber, strFileNum, Environment.NewLine));
                                }
                            }
                    }
                    catch (Exception ex)
                    {
                        throw new ApplicationException("Error during database operations!", ex);
                    }
                    finally
                    {
                        if (con.State == ConnectionState.Open)
                        {
                            con.Close();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // Handle exceptions and log to Diagnostics Console and document history
                HandleException(ex, ref app, ref args);
            }
            finally
            {
                // Log script execution end
                app.Diagnostics.WriteIf(Diagnostics.DiagnosticsLevel.Info,
                                        string.Format("End Script - [{0}]", ScriptName));
            }
        }
Example #18
0
		protected override void CopyFrom(Member member)
		{
			base.CopyFrom(member);

			Field field = (Field) member;
			modifier = field.modifier;
			initialValue = field.initialValue;
		}
Example #19
0
		public override bool IsValidModifier(FieldModifier modifier)
		{
			return true;
		}
		public override string GetFieldModifierString(FieldModifier modifier, bool forCode)
		{
			if (modifier == FieldModifier.None) {
				if (forCode)
					return "";
				else
					return "None";
			}

			StringBuilder builder = new StringBuilder(30);
			if ((modifier & FieldModifier.Hider) != 0)
				builder.Append(forCode ? "new " : "New, ");
			if ((modifier & FieldModifier.Constant) != 0)
				builder.Append(forCode ? "const " : "Const, ");
			if ((modifier & FieldModifier.Static) != 0)
				builder.Append(forCode ? "static " : "Static, ");
			if ((modifier & FieldModifier.Readonly) != 0)
				builder.Append(forCode ? "readonly " : "Readonly, ");
			if ((modifier & FieldModifier.Volatile) != 0)
				builder.Append(forCode ? "volatile " : "Volatile, ");

			if (forCode)
				builder.Remove(builder.Length - 1, 1);
			else
				builder.Remove(builder.Length - 2, 2);

			return builder.ToString();
		}
Example #21
0
 public string GetFieldModifierString(FieldModifier modifier)
 {
     return(GetFieldModifierString(modifier, false));
 }
Example #22
0
 public override bool IsValidModifier(FieldModifier modifier)
 {
     throw new NotImplementedException();
 }
Example #23
0
		public abstract bool IsValidModifier(FieldModifier modifier);
Example #24
0
 public StructureMember(FieldModifier modifier, NamespaceName fieldType, string identifier, Versioning versioning)
     : this(modifier, fieldType, identifier, versioning, null)
 {
 }
Example #25
0
		protected override void CopyFrom(Member member)
		{
			base.CopyFrom(member);

			Field field = (Field) member;
			modifier = field.modifier;
			initialValue = field.initialValue;
            setter = field.setter;
            getter = field.getter;
            generateDbColumn = field.generateDbColumn;
            DbSchema.Initialing = true;
            DbSchema.NotNull = field.DbSchema.NotNull;
            DbSchema.AutoIncrement = field.DbSchema.AutoIncrement;
            DbSchema.DbType = field.DbSchema.DbType;
            DbSchema.DefaultValue = field.DbSchema.DefaultValue;
            DbSchema.Index = field.DbSchema.Index;
            DbSchema.IsPrimaryKey = field.DbSchema.IsPrimaryKey;
            DbSchema.Length = field.DbSchema.Length;
            DbSchema.Name = field.DbSchema.Name;
            DbSchema.Initialing = false;
		}
Example #26
0
 public abstract bool IsValidModifier(FieldModifier modifier);
Example #27
0
 public abstract string GetFieldModifierString(FieldModifier modifier, bool forCode);
Example #28
0
        private void    CopyObject(StringBuilder buffer, object instance, string prefix)
        {
            if (instance != null)
            {
                Type     type = instance.GetType();
                object[] actions;

                if (this.typeDrawers.TryGetValue(type, out actions) == true)
                {
                    buffer.AppendLine((actions[1] as Func <object, string, string>)(instance, prefix));
                }
                else
                {
                    if (instance.GetType().IsArray == true)
                    {
                        IEnumerable array = instance as IEnumerable;

                        foreach (object element in array)
                        {
                            this.CopyObject(buffer, element, "  ");
                        }
                    }
                    else if (type != typeof(string) &&
                             (type.IsClass == true || type.IsStruct() == true))
                    {
                        ClassDefinition classDefinition;

                        if (this.refMembers.TryGetValue(type, out classDefinition) == false)
                        {
                            int              j          = 0;
                            FieldInfo[]      fields     = type.GetFields(BindingFlags.Public | BindingFlags.Instance);
                            PropertyInfo[]   properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
                            IFieldModifier[] members    = new IFieldModifier[fields.Length + properties.Length];

                            for (int i = 0; i < fields.Length; i++, ++j)
                            {
                                members[j] = new FieldModifier(fields[i]);
                            }

                            for (int i = 0; i < properties.Length; i++, ++j)
                            {
                                members[j] = new PropertyModifier(properties[i]);
                            }

                            classDefinition = new ClassDefinition(members);

                            this.refMembers.Add(type, classDefinition);
                        }

                        for (int i = 0; i < classDefinition.members.Length; i++)
                        {
                            this.CopyObject(buffer, classDefinition.members[i].GetValue(instance), "  " + classDefinition.nicifiedNames[i] + " : ");
                        }
                    }
                    else
                    {
                        buffer.AppendLine(prefix + instance.ToString());
                    }
                }
            }
            else
            {
                buffer.AppendLine(prefix + "NULL");
            }
        }
		public override bool IsValidModifier(FieldModifier modifier)
        {
            return (
                modifier == FieldModifier.Static ||
                modifier == FieldModifier.Readonly ||
                modifier == FieldModifier.Volatile
            );
		}
Example #30
0
		public string GetFieldModifierString(FieldModifier modifier)
		{
			return GetFieldModifierString(modifier, false);
		}
Example #31
0
		public virtual void ClearModifiers()
		{
			if (modifier != FieldModifier.None) {
				modifier = FieldModifier.None;
				Changed();
			}
		}
Example #32
0
		private void ChangeModifier(FieldModifier modifier)
		{
			if (ValidateDeclarationLine())
			{
				Field field = shape.ActiveMember as Field;
				if (field != null)
				{
					try
					{
						// Clear other modifiers
						field.ClearModifiers();

						// Set new values
						field.IsReadonly = ((modifier & FieldModifier.Readonly) != 0);
						field.IsConstant = ((modifier & FieldModifier.Constant) != 0);
						field.IsVolatile = ((modifier & FieldModifier.Volatile) != 0);

						RefreshValues();
					}
					catch (BadSyntaxException ex)
					{
						RefreshValues();
						SetError(ex.Message);
					}
				}
			}
		}
Example #33
0
 public override string GetFieldModifierString(FieldModifier modifier, bool forCode)
 {
     throw new NotImplementedException();
 }
Example #34
0
		public abstract string GetFieldModifierString(FieldModifier modifier, bool forCode);
Example #35
0
 public override bool IsValidModifier(FieldModifier modifier)
 {
     return(true);
 }
Example #36
0
 public override bool IsValidModifier(FieldModifier modifier) => true;
Example #37
0
        private void RefreshValues()
        {
            if (shape.ActiveMember != null)
            {
                Member member = shape.ActiveMember;

                if (member is Property)
                {
                    this.Height = pnlAdvancedOptions.Bottom + pnlAdvancedOptions.Margin.Bottom;
                }
                else
                {
                    this.Height = pnlAdvancedOptions.Location.Y;
                }
                Refresh();

                SuspendLayout();
                RefreshModifiers();
                Language language = shape.CompositeType.Language;

                int cursorPosition = txtDeclaration.SelectionStart;
                txtDeclaration.Text           = member.ToString();
                txtDeclaration.SelectionStart = cursorPosition;
                txtDeclaration.ReadOnly       = (member.MemberType == MemberType.Destructor);

                int cursorPositionNHMColumn = txtNHMColumnName.SelectionStart;
                txtNHMColumnName.Text           = member.NHMColumnName;
                txtNHMColumnName.SelectionStart = cursorPositionNHMColumn;

                chkIsIdentity.Checked     = member.IsIdentity;
                cboManyToOne.SelectedItem = string.IsNullOrEmpty(member.ManyToOne) ? "(None)" : member.ManyToOne;
                chkIsUnique.Checked       = member.IsUnique;
                chkIsNotNull.Checked      = member.IsNotNull;

                SetError(null);
                needValidation = false;

                // Visibility
                RefreshVisibility();

                // Static and New modifiers
                toolStatic.Checked = member.IsStatic;
                toolStatic.Enabled = (member.MemberType != MemberType.Destructor);
                toolHider.Checked  = member.IsHider;
                toolHider.Enabled  = (member.MemberType != MemberType.Destructor);

                // Field modifiers
                Field field = member as Field;
                if (field != null)
                {
                    FieldModifier modifier = field.Modifier &
                                             (FieldModifier.Constant | FieldModifier.Readonly | FieldModifier.Volatile);

                    if (modifier == FieldModifier.None)
                    {
                        toolFieldModifiers.Text = Strings.None;
                    }
                    else
                    {
                        toolFieldModifiers.Text = language.ValidFieldModifiers[modifier];
                    }
                }

                // Operation modifiers
                Operation operation = member as Operation;
                if (operation != null)
                {
                    OperationModifier modifier = operation.Modifier &
                                                 (OperationModifier.Abstract | OperationModifier.Override |
                                                  OperationModifier.Sealed | OperationModifier.Virtual);

                    if (modifier == OperationModifier.None)
                    {
                        toolOperationModifiers.Text = Strings.None;
                    }
                    else
                    {
                        toolOperationModifiers.Text = language.ValidOperationModifiers[modifier];
                    }

                    toolOperationModifiers.Enabled = (member.MemberType != MemberType.Destructor);
                }

                // Property accessor
                Property property = member as Property;
                if (property != null)
                {
                    if (property.IsReadonly)
                    {
                        toolAccessor.Image       = Properties.Resources.PublicReadonly;
                        toolAccessor.ToolTipText = Strings.ReadOnly;
                    }
                    else if (property.IsWriteonly)
                    {
                        toolAccessor.Image       = Properties.Resources.PublicWriteonly;
                        toolAccessor.ToolTipText = Strings.WriteOnly;
                    }
                    else
                    {
                        toolAccessor.Image       = Properties.Resources.PublicProperty;
                        toolAccessor.ToolTipText = Strings.ReadWrite;
                    }
                }

                RefreshNewMembers();
                RefreshMoveUpDownTools();
                ResumeLayout();
            }
        }
Example #38
0
        public MonitorType(string path, Type type) : base(path, () => null)
        {
            this.type = type;

            if (this.type.IsGenericTypeDefinition == true)
            {
                this.children = new List <MonitorData>(0);
                return;
            }

            FieldInfo[]    fields     = this.type.GetFields(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
            PropertyInfo[] properties = this.type.GetProperties(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);

            this.children = new List <MonitorData>(fields.Length + properties.Length);

            for (int i = 0; i < fields.Length; i++)
            {
                FieldModifier     modifier      = new FieldModifier(fields[i]);
                CustomMonitorData customMonitor = MonitorDataManager.CreateMonitorData(fields[i].FieldType, this.path + NGServerScene.ValuePathSeparator + fields[i].Name, getInstance, modifier);

                if (customMonitor != null)
                {
                    this.children.Add(customMonitor);
                }
                else if (fields[i].FieldType.IsUnityArray() == true)
                {
                    this.children.Add(new MonitorArray(this.path + NGServerScene.ValuePathSeparator + fields[i].Name, modifier, getInstance));
                }
                else
                {
                    this.children.Add(new MonitorField(this.path + NGServerScene.ValuePathSeparator + fields[i].Name, getInstance, fields[i]));
                }
            }

            for (int i = 0; i < properties.Length; i++)
            {
                if (properties[i].GetGetMethod() == null)
                {
                    continue;
                }

                PropertyModifier  modifier      = new PropertyModifier(properties[i]);
                CustomMonitorData customMonitor = MonitorDataManager.CreateMonitorData(properties[i].PropertyType, this.path + NGServerScene.ValuePathSeparator + properties[i].Name, getInstance, modifier);

                if (customMonitor != null)
                {
                    this.children.Add(customMonitor);
                }
                else if (properties[i].PropertyType.IsUnityArray() == true)
                {
                    this.children.Add(new MonitorArray(this.path + NGServerScene.ValuePathSeparator + properties[i].Name, modifier, getInstance));
                }
                else
                {
                    try
                    {
                        this.children.Add(new MonitorProperty(this.path + NGServerScene.ValuePathSeparator + properties[i].Name, getInstance, properties[i]));
                    }
                    catch (Exception ex)
                    {
                        InternalNGDebug.LogException("Monitoring Type \"" + type + "\" failed at property \"" + properties[i].Name + "\".", ex);
                    }
                }
            }
        }