示例#1
0
        public override void GetTagData(byte[] iccData, int index, ICCHeader header)
        {
            //Number of input channels (2 bytes)
            InputChannelCount = HighEndianReader.GetUInt16(iccData, index);
            //Number of output channels (2 bytes)
            OutputChannelCount = HighEndianReader.GetUInt16(iccData, index + 2);
            //Number of processing elements (4 bytes)
            ProcessingElementCount = (int)HighEndianReader.GetUint32(iccData, index + 4);
            //Process element positions table (8 bytes each)
            PositionTable = new PositionNumber[ProcessingElementCount];
            //int end = idx + 8 + 8 * ProcessingElementCount; int c = 0;

            for (int i = 0; i < ProcessingElementCount; i++)
            {
                int dataEntryPoint = index + 8 + 8 * i;
                PositionTable[i] = new PositionNumber(iccData, dataEntryPoint);
            }

            //for (int i = idx + 8; i < end; i += 8) { PositionTable[c] = new PositionNumber(i); c++; }
            //Data
            Data = new MultiProcessElement[ProcessingElementCount];
            for (int i = 0; i < ProcessingElementCount; i++)
            {
                Data[i] = MultiProcessElement.CreateElement(iccData, PositionTable[i].Offset);
            }
        }
示例#2
0
        public override void GetTagData(byte[] iccData, int index, ICCHeader header)
        {
            //Count, specifying number of structures in the array (4 bytes)
            NumberCount = (int)HighEndianReader.GetUint32(iccData, index, IsLittleEndian);
            //Positions table for profile identifiers
            PositionTable = new PositionNumber[NumberCount];
            int dataEntryPoint = 0;;

            for (int i = 0; i < NumberCount; i++)
            {
                dataEntryPoint   = index + 4 + 8 * i;
                PositionTable[i] = new PositionNumber(iccData, i, IsLittleEndian);
            }
            //Profile ID (16 bytes)
            dataEntryPoint += 8;
            ProfileID       = HighEndianReader.GetProfileID(iccData, dataEntryPoint);
            dataEntryPoint += 16;
            //Profile description
            ProfileDescription = new MultiLocalizedUnicodeTag()
            {
                IsPlaceHolder = false
            };
            ProfileDescription.GetTagData(iccData, dataEntryPoint, header);
            //ICCTagData t = new ICCTagData();
        }
 public static dynamic GetTSObject(PositionNumber dynObject)
 {
     if (dynObject is null)
     {
         return(null);
     }
     return(dynObject.teklaObject);
 }
示例#4
0
 private void UpdateForm()
 {
     AisleNumber.Clear();
     SectionName.Clear();
     PositionNumber.Clear();
     ShelfNumber.Clear();
     LocationMax.Clear();
     Keyboard.Focus(AisleNumber);
     OutputViewer.Items.Refresh();
 }
示例#5
0
        private void AddAsShortcut_OnClick(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;

            if (button != null)
            {
                PositionNumber posNumber = button.Tag as PositionNumber;
                if (posNumber != null && this.AddShortCutService != null)
                {
                    this.AddShortCutService.AddShortCut(string.Empty, string.Format("000-{0}({1}:{2})", posNumber.Number, posNumber.Customer, posNumber.Description));
                }
            }
        }
示例#6
0
 private void PositionNumber_TextChanged(object sender, TextChangedEventArgs e)
 {
     if (PositionNumber.GetLineLength(PositionNumber.GetLastVisibleLineIndex()) == 2)
     {
         if (Range_Select.IsChecked == true)
         {
             Keyboard.Focus(LocationMax);
         }
         else
         {
             Keyboard.Focus(AddLabel);
         }
     }
 }