internal EditControl(DetailsTemplateControl.ControlFlags controlFlags)
 {
     this.UseSystemPasswordChar = ((controlFlags & DetailsTemplateControl.ControlFlags.UseSystemPasswordChar) != (DetailsTemplateControl.ControlFlags) 0U);
     this.ReadOnly             = ((controlFlags & DetailsTemplateControl.ControlFlags.ReadOnly) == (DetailsTemplateControl.ControlFlags) 0U);
     this.Multiline            = ((controlFlags & DetailsTemplateControl.ControlFlags.Multiline) != (DetailsTemplateControl.ControlFlags) 0U);
     this.ConfirmationRequired = ((controlFlags & DetailsTemplateControl.ControlFlags.ConfirmationRequired) != (DetailsTemplateControl.ControlFlags) 0U);
 }
 internal override DetailsTemplateControl.ControlFlags GetControlFlags()
 {
     DetailsTemplateControl.ControlFlags originalFlags = this.OriginalFlags;
     DetailsTemplateControl.SetBitField(!this.ReadOnly, DetailsTemplateControl.ControlFlags.ReadOnly, ref originalFlags);
     DetailsTemplateControl.SetBitField(this.Multiline, DetailsTemplateControl.ControlFlags.Multiline, ref originalFlags);
     DetailsTemplateControl.SetBitField(this.UseSystemPasswordChar, DetailsTemplateControl.ControlFlags.UseSystemPasswordChar, ref originalFlags);
     DetailsTemplateControl.SetBitField(this.ConfirmationRequired, DetailsTemplateControl.ControlFlags.ConfirmationRequired, ref originalFlags);
     return(originalFlags);
 }
 internal static void SetBitField(bool setBit, DetailsTemplateControl.ControlFlags currentBit, ref DetailsTemplateControl.ControlFlags bitField)
 {
     if (setBit)
     {
         bitField |= currentBit;
         return;
     }
     bitField &= ~currentBit;
 }
Exemple #4
0
        internal override DetailsTemplateControl.ControlFlags GetControlFlags()
        {
            DetailsTemplateControl.ControlFlags originalFlags = this.OriginalFlags;
            bool flag  = this.scrollBars == ScrollBars.Both || this.scrollBars == ScrollBars.Vertical;
            bool flag2 = this.scrollBars == ScrollBars.Both || this.scrollBars == ScrollBars.Horizontal;

            DetailsTemplateControl.SetBitField(!flag, DetailsTemplateControl.ControlFlags.ReadOnly, ref originalFlags);
            DetailsTemplateControl.SetBitField(!flag2, DetailsTemplateControl.ControlFlags.Multiline, ref originalFlags);
            return(originalFlags);
        }
Exemple #5
0
        internal ListboxControl(DetailsTemplateControl.ControlFlags controlFlags)
        {
            bool flag  = (controlFlags & DetailsTemplateControl.ControlFlags.ReadOnly) == (DetailsTemplateControl.ControlFlags) 0U;
            bool flag2 = (controlFlags & DetailsTemplateControl.ControlFlags.Multiline) == (DetailsTemplateControl.ControlFlags) 0U;

            if (flag2 && flag)
            {
                this.scrollBars = ScrollBars.Both;
                return;
            }
            if (flag2)
            {
                this.scrollBars = ScrollBars.Horizontal;
                return;
            }
            if (flag)
            {
                this.scrollBars = ScrollBars.Vertical;
                return;
            }
            this.scrollBars = ScrollBars.None;
        }
Exemple #6
0
        private static void AddControl(uint[] data, byte[] blob, MultiValuedProperty <Page> pages, MAPIPropertiesDictionary propertiesDictionary)
        {
            int  x         = (int)data[0];
            int  y         = (int)data[2];
            int  width     = (int)data[1];
            int  height    = (int)data[3];
            int  num       = (int)data[8];
            int  maxLength = (int)data[7];
            uint num2      = data[6];

            DetailsTemplateControl.ControlFlags controlFlags = (DetailsTemplateControl.ControlFlags)data[5];
            string attributeName = propertiesDictionary[(int)(num2 >> 16 & 65535U)] ?? string.Empty;
            string @string       = Encoding.Unicode.GetString(blob, num, DetailsTemplateAdapter.GetNullTerminatedStringLength(blob, num));
            DetailsTemplateControl detailsTemplateControl = null;

            switch (data[4])
            {
            case 0U:
                detailsTemplateControl = new LabelControl();
                break;

            case 1U:
                detailsTemplateControl = new EditControl(controlFlags);
                break;

            case 2U:
                detailsTemplateControl = new ListboxControl(controlFlags);
                break;

            case 5U:
                detailsTemplateControl = new CheckboxControl();
                break;

            case 6U:
                detailsTemplateControl = new GroupboxControl();
                break;

            case 7U:
                detailsTemplateControl = new ButtonControl();
                break;

            case 8U:
                pages.Add(new Page
                {
                    Text        = @string,
                    HelpContext = (int)controlFlags
                });
                break;

            case 11U:
                detailsTemplateControl = new MultiValuedListboxControl();
                break;

            case 12U:
                detailsTemplateControl = new MultiValuedDropdownControl();
                break;
            }
            if (detailsTemplateControl != null)
            {
                if (pages.Count == 0)
                {
                    throw new ParsingException(DirectoryStrings.NoPagesSpecified);
                }
                detailsTemplateControl.X               = x;
                detailsTemplateControl.Y               = y;
                detailsTemplateControl.Width           = width;
                detailsTemplateControl.Height          = height;
                detailsTemplateControl.m_MaxLength     = maxLength;
                detailsTemplateControl.m_AttributeName = attributeName;
                detailsTemplateControl.m_Text          = @string;
                detailsTemplateControl.OriginalFlags   = controlFlags;
                pages[pages.Count - 1].Controls.Add(detailsTemplateControl);
            }
        }