Example #1
0
        ///<summary>
        /// Updates the selection status bar with data from the specified DataView,
        /// if the specified DataView is active
        ///</summary>
        public void UpdateSelection(DataView dv)
        {
            if (dataBook.NPages == 0)
            {
                return;
            }

            DataView curdv = ((DataViewDisplay)dataBook.CurrentPageWidget).View;

            if (curdv != dv)
            {
                return;
            }

            Bless.Util.Range sel = dv.Selection;

            SelectionStatusbar.Pop(0);
            string str;

            if (sel.IsEmpty() == true)
            {
                str = Catalog.GetString("Selection: None");
            }
            else
            {
                string startString = BaseConverter.ConvertToString(sel.Start, numberBase, true, true, 1);
                string endString   = BaseConverter.ConvertToString(sel.End, numberBase, true, true, 1);
                string sizeString  = BaseConverter.ConvertToString(sel.Size, numberBase, true, true, 1);

                str = string.Format(Catalog.GetString("Selection: {0} to {1}") + " " + Catalog.GetPluralString("({2} byte)", "({2} bytes)", (int)sel.Size),
                                    startString, endString, sizeString);
            }

            SelectionStatusbar.Push(0, str);
        }
Example #2
0
 private void OnClipboardGet(Clipboard cb, SelectionData sd, uint n)
 {
     if (saved_selection.IsEmpty())
     {
         sd.Text = BaseConverter.ConvertToString(saved_offset, number_base, true, true, 1);
     }
     else
     {
         string start = BaseConverter.ConvertToString(saved_selection.Start, number_base, true, true, 1);
         string end   = BaseConverter.ConvertToString(saved_selection.End, number_base, true, true, 1);
         sd.Text = string.Format("{0},{1}", start, end);
     }
 }
Example #3
0
        public void DifferenceTest()
        {
            Range r1 = new Range(5, 10);
            Range r2 = new Range(6, 9);
            Range r3 = new Range();

            r1.Difference(r2, r3);
            Assert.AreEqual(5, r1.Start, "#1");
            Assert.AreEqual(5, r1.End, "#2");

            Assert.AreEqual(10, r3.Start, "#3");
            Assert.AreEqual(10, r3.End, "#4");

            Range r4 = new Range(5, 10);
            Range r5 = new Range(5, 8);

            r4.Difference(r5, r3);
            Assert.AreEqual(9, r4.Start, "#5");
            Assert.AreEqual(10, r4.End, "#6");
            Assert.AreEqual(true, r3.IsEmpty(), "#7");
        }
Example #4
0
        ///<summary>Check if the specified range of bytes in a ByteBuffer equals a byte pattern</summary>
        bool RangeEqualsPattern(ByteBuffer bb, Bless.Util.Range sel, byte[] pattern)
        {
            int i   = 0;
            int len = pattern.Length;

            if (sel.IsEmpty())
            {
                return(false);
            }

            while (i < len && pattern[i] == bb[sel.Start + i])
            {
                i++;
            }

            if (i != len)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }