Ejemplo n.º 1
0
        public RecordAggregateTreeNode(RecordAggregate record)
        {
            this.Record           = record;
            this.Text             = record.GetType().Name;
            this.ImageKey         = "Folder";
            this.SelectedImageKey = "Folder";

            GetChildren();
        }
Ejemplo n.º 2
0
        //static void LoadDocumentPart(HWPFDocument hwpf,TreeNode parent,string partName,FieldsDocumentPart part)
        //{

        //    TreeNode mainNode = new TreeNode(partName);
        //    mainNode.ImageKey = "Folder";
        //    mainNode.SelectedImageKey = "Folder";
        //    parent.Nodes.Add(mainNode);
        //    Fields fields = hwpf.GetFields();
        //    foreach (Field field in fields.GetFields(part))
        //    {
        //        TreeNode tn = new TreeNode("Field");
        //        mainNode.Nodes.Add(tn);
        //    }
        //}


        static void HandleWorkbook(TreeNode treeNode, HSSFWorkbook hssfworkbook)
        {
            if (hssfworkbook.NumberOfSheets > 0)
            {
                treeNode.ImageKey         = "Folder";
                treeNode.SelectedImageKey = "Folder";
                for (int i = 0; i < hssfworkbook.NumberOfSheets; i++)
                {
                    string   sheettext = string.Format("Sheet {0}", i + 1);
                    TreeNode sheetnode =
                        treeNode.Nodes.Add(sheettext, sheettext, "Folder", "Folder");

                    HSSFSheet       hssfsheet = ((HSSFSheet)hssfworkbook.GetSheetAt(i));
                    EscherAggregate ea        = hssfsheet.DrawingEscherAggregate;
                    IEnumerator     iterator1 = hssfsheet.Sheet.Records.GetEnumerator();
                    while (iterator1.MoveNext())
                    {
                        if (iterator1.Current is Record)
                        {
                            Record record = (Record)iterator1.Current;
                            sheetnode.Nodes.Add(new RecordTreeNode(record));
                        }
                        else if (iterator1.Current is RecordAggregate)
                        {
                            RecordAggregate record = (RecordAggregate)iterator1.Current;
                            sheetnode.Nodes.Add(new RecordAggregateTreeNode(record));
                        }
                    }
                    //RecordTreeNode rtn = new DirectoryTreeNode();
                    if (ea != null)
                    {
                        foreach (EscherRecord er in ea.EscherRecords)
                        {
                            sheetnode.Nodes.Add(new EscherRecordTreeNode(er));
                        }
                    }
                }
            }
            else
            {
                treeNode.ImageKey = "Binary";
            }
            IEnumerator iterator2 = hssfworkbook.Workbook.Records.GetEnumerator();

            while (iterator2.MoveNext())
            {
                if (iterator2.Current is Record)         //&& !(iterator2.Current is UnknownRecord))
                {
                    Record record = (Record)iterator2.Current;
                    if (record is DrawingGroupRecord)
                    {
                        hssfworkbook.GetAllPictures();
                    }
                    treeNode.Nodes.Add(new RecordTreeNode(record));
                }
                else if (iterator2.Current is RecordBase)
                {
                    RecordBase record = (RecordBase)iterator2.Current;
                    treeNode.Nodes.Add(record.GetType().Name);
                }
            }
        }
Ejemplo n.º 3
0
 public RecordExpression(RecordAggregate recordAggregate, SourcePosition position)
     : base(position)
 {
     _recordAggregate = recordAggregate;
 }
Ejemplo n.º 4
0
        private void GetChildren()
        {
            RecordAggregate record = (RecordAggregate)this.Record;

            if (record is RowRecordsAggregate)
            {
                IEnumerator recordenum = ((RowRecordsAggregate)record).GetEnumerator();
                while (recordenum.MoveNext())
                {
                    if (recordenum.Current is RowRecord)
                    {
                        this.Nodes.Add(new RecordTreeNode((RowRecord)recordenum.Current));
                    }
                }
                CellValueRecordInterface[] valrecs = ((RowRecordsAggregate)record).GetValueRecords();
                for (int j = 0; j < valrecs.Length; j++)
                {
                    CellValueRecordTreeNode cvrtn = new CellValueRecordTreeNode(valrecs[j]);
                    if (valrecs[j] is FormulaRecordAggregate)
                    {
                        FormulaRecordAggregate fra = ((FormulaRecordAggregate)valrecs[j]);
                        cvrtn.ImageKey = "Folder";
                        if (fra.FormulaRecord != null)
                        {
                            cvrtn.Nodes.Add(new RecordTreeNode(fra.FormulaRecord));
                        }
                        if (fra.StringRecord != null)
                        {
                            cvrtn.Nodes.Add(new RecordTreeNode(fra.StringRecord));
                        }
                    }
                    this.Nodes.Add(cvrtn);
                }
            }
            else if (record is ColumnInfoRecordsAggregate)
            {
                IEnumerator recordenum = ((ColumnInfoRecordsAggregate)record).GetEnumerator();
                while (recordenum.MoveNext())
                {
                    if (recordenum.Current is ColumnInfoRecord)
                    {
                        this.Nodes.Add(new RecordTreeNode((ColumnInfoRecord)recordenum.Current));
                    }
                }
            }
            else if (record is PageSettingsBlock)
            {
                PageSettingsBlock psb = (PageSettingsBlock)record;
                MockRecordVisitor rv  = new MockRecordVisitor();
                psb.VisitContainedRecords(rv);
                foreach (Record rec in rv.Records)
                {
                    this.Nodes.Add(new RecordTreeNode(rec));
                }
            }
            else if (record is MergedCellsTable)
            {
                foreach (CellRangeAddress subRecord in ((MergedCellsTable)record).MergedRegions)
                {
                    this.Nodes.Add(new CellRangeAddressTreeNode(subRecord));
                }
            }
            else if (record is ConditionalFormattingTable)
            {
                ConditionalFormattingTable cft = (ConditionalFormattingTable)record;
                for (int j = 0; j < cft.Count; j++)
                {
                    CFRecordsAggregate cfra = cft.Get(j);

                    AbstractRecordTreeNode headernode = new RecordTreeNode(cfra.Header);
                    this.Nodes.Add(headernode);
                    for (int k = 0; k < cfra.NumberOfRules; k++)
                    {
                        this.Nodes.Add(new RecordTreeNode(cfra.GetRule(k)));
                    }
                }
            }
            else if (record is WorksheetProtectionBlock)
            {
                WorksheetProtectionBlock wpb = (WorksheetProtectionBlock)record;
                MockRecordVisitor        rv  = new MockRecordVisitor();
                wpb.VisitContainedRecords(rv);
                foreach (Record rec in rv.Records)
                {
                    this.Nodes.Add(new RecordTreeNode(rec));
                }
            }
        }