Beispiel #1
0
        /**
         * Creates the main Sp container for the drawing
         *
         * @return the SP container
         */
        public EscherContainer getSpContainer()
        {
            if (!initialized)
            {
                initialize();
            }

            if (origin == Origin.READ)
            {
                return(getReadSpContainer());
            }

            if (spContainer == null)
            {
                spContainer = new SpContainer();
                Sp sp = new Sp(type, shapeId, 2560);
                spContainer.add(sp);
                Opt opt = new Opt();
                opt.addProperty(344, false, false, 0);              // ?
                opt.addProperty(385, false, false, 134217808);      // fill colour
                opt.addProperty(387, false, false, 134217808);      // background colour
                opt.addProperty(959, false, false, 131074);         // hide
                spContainer.add(opt);

                ClientAnchor clientAnchor = new ClientAnchor(column + 1.3,
                                                             System.Math.Max(0, row - 0.6),
                                                             column + 1.3 + width,
                                                             row + height,
                                                             0x1);

                spContainer.add(clientAnchor);

                ClientData clientData = new ClientData();
                spContainer.add(clientData);

                ClientTextBox clientTextBox = new ClientTextBox();
                spContainer.add(clientTextBox);
            }

            return(spContainer);
        }
Beispiel #2
0
        /**
         * Creates the main Sp container for the drawing
         *
         * @return the SP container
         */
        public virtual EscherContainer getSpContainer()
        {
            if (!initialized)
            {
                initialize();
            }

            if (origin == Origin.READ)
            {
                return(getReadSpContainer());
            }

            SpContainer spContainer = new SpContainer();
            Sp          sp          = new Sp(type, shapeId, 2560);

            spContainer.add(sp);
            Opt opt = new Opt();

            opt.addProperty(260, true, false, blipId);

            if (type == ShapeType.PICTURE_FRAME)
            {
                string filePath = imageFile != null ? imageFile.FullName : string.Empty;
                opt.addProperty(261, true, true, filePath.Length * 2, filePath);
                opt.addProperty(447, false, false, 65536);
                opt.addProperty(959, false, false, 524288);
                spContainer.add(opt);
            }

            ClientAnchor clientAnchor = new ClientAnchor
                                            (x, y, x + width, y + height,
                                            imageAnchorProperties.getValue());

            spContainer.add(clientAnchor);
            ClientData clientData = new ClientData();

            spContainer.add(clientData);

            return(spContainer);
        }
Beispiel #3
0
        /**
         * Creates the main Sp container for the drawing
         *
         * @return the SP container
         */
        public virtual EscherContainer getSpContainer()
        {
            if (!initialized)
            {
                initialize();
            }

            if (origin == Origin.READ)
            {
                return(getReadSpContainer());
            }

            SpContainer spc = new SpContainer();
            Sp          sp  = new Sp(type, shapeId, 2560);

            spc.add(sp);
            Opt opt = new Opt();

            opt.addProperty(127, false, false, 17039620);
            opt.addProperty(191, false, false, 524296);
            opt.addProperty(511, false, false, 524288);
            opt.addProperty(959, false, false, 131072);
            //    opt.addProperty(260, true, false, blipId);
            //    opt.addProperty(261, false, false, 36);
            spc.add(opt);

            ClientAnchor clientAnchor = new ClientAnchor(column,
                                                         row,
                                                         column + 1,
                                                         row + 1,
                                                         0x1);

            spc.add(clientAnchor);
            ClientData clientData = new ClientData();

            spc.add(clientData);

            return(spc);
        }
        /**
         * Creates the main Sp container for the drawing
         *
         * @return the SP container
         */
        public EscherContainer getSpContainer()
        {
            if (!initialized)
                {
                initialize();
                }

            if (origin == Origin.READ)
                {
                return getReadSpContainer();
                }

            SpContainer spc = new SpContainer();
            Sp sp = new Sp(type,shapeId,2560);
            spc.add(sp);
            Opt opt = new Opt();
            opt.addProperty(127,false,false,17039620);
            opt.addProperty(191,false,false,524296);
            opt.addProperty(511,false,false,524288);
            opt.addProperty(959,false,false,131072);
            //    opt.addProperty(260, true, false, blipId);
            //    opt.addProperty(261, false, false, 36);
            spc.add(opt);

            ClientAnchor clientAnchor = new ClientAnchor(column,
                                                         row,
                                                         column + 1,
                                                         row + 1,
                                                         0x1);
            spc.add(clientAnchor);
            ClientData clientData = new ClientData();
            spc.add(clientData);

            return spc;
        }
        /**
         * Creates the main Sp container for the drawing
         *
         * @return the SP container
         */
        public EscherContainer getSpContainer()
        {
            if (!initialized)
                {
                initialize();
                }

            if (origin == Origin.READ)
                {
                return getReadSpContainer();
                }

            if (spContainer == null)
                {
                spContainer = new SpContainer();
                Sp sp = new Sp(type,shapeId,2560);
                spContainer.add(sp);
                Opt opt = new Opt();
                opt.addProperty(344,false,false,0); // ?
                opt.addProperty(385,false,false,134217808); // fill colour
                opt.addProperty(387,false,false,134217808); // background colour
                opt.addProperty(959,false,false,131074); // hide
                spContainer.add(opt);

                ClientAnchor clientAnchor = new ClientAnchor(column + 1.3,
                                                             System.Math.Max(0,row - 0.6),
                                                             column + 1.3 + width,
                                                             row + height,
                                                             0x1);

                spContainer.add(clientAnchor);

                ClientData clientData = new ClientData();
                spContainer.add(clientData);

                ClientTextBox clientTextBox = new ClientTextBox();
                spContainer.add(clientTextBox);
                }

            return spContainer;
        }
Beispiel #6
0
        /**
         * Writes the drawing group to the output file
         *
         * @param outputFile the file to write to
         * @exception IOException
         */
        public void write(File outputFile)
        {
            if (origin == Origin.WRITE)
            {
                DggContainer dggContainer = new DggContainer();

                Dgg dgg = new Dgg(numBlips + numCharts + 1, numBlips);

                dgg.addCluster(1, 0);
                dgg.addCluster(numBlips + 1, 0);

                dggContainer.add(dgg);

                int             drawingsAdded = 0;
                BStoreContainer bstoreCont    = new BStoreContainer();

                // Create a blip entry for each drawing
                foreach (object o in drawings)
                {
                    if (o is Drawing)
                    {
                        Drawing        d   = (Drawing)o;
                        BlipStoreEntry bse = new BlipStoreEntry(d);

                        bstoreCont.add(bse);
                        drawingsAdded++;
                    }
                }
                if (drawingsAdded > 0)
                {
                    bstoreCont.setNumBlips(drawingsAdded);
                    dggContainer.add(bstoreCont);
                }

                Opt opt = new Opt();

                dggContainer.add(opt);

                SplitMenuColors splitMenuColors = new SplitMenuColors();
                dggContainer.add(splitMenuColors);

                drawingData = dggContainer.getData();
            }
            else if (origin == Origin.READ_WRITE)
            {
                DggContainer dggContainer = new DggContainer();

                Dgg dgg = new Dgg(numBlips + numCharts + 1, numBlips);

                dgg.addCluster(1, 0);
                dgg.addCluster(drawingGroupId + numBlips + 1, 0);

                dggContainer.add(dgg);

                BStoreContainer bstoreCont = new BStoreContainer();
                bstoreCont.setNumBlips(numBlips);

                // Create a blip entry for each drawing that was read in
                BStoreContainer readBStoreContainer = getBStoreContainer();

                if (readBStoreContainer != null)
                {
                    EscherRecord[] children = readBStoreContainer.getChildren();
                    for (int i = 0; i < children.Length; i++)
                    {
                        BlipStoreEntry bse = (BlipStoreEntry)children[i];
                        bstoreCont.add(bse);
                    }
                }

                // Create a blip entry for each drawing that has been added
                foreach (DrawingGroupObject dgo in drawings)
                {
                    if (dgo is Drawing)
                    {
                        Drawing d = (Drawing)dgo;
                        if (d.getOrigin() == Origin.WRITE)
                        {
                            BlipStoreEntry bse = new BlipStoreEntry(d);
                            bstoreCont.add(bse);
                        }
                    }
                }

                dggContainer.add(bstoreCont);

                Opt opt = new Opt();

                opt.addProperty(191, false, false, 524296);
                opt.addProperty(385, false, false, 134217737);
                opt.addProperty(448, false, false, 134217792);

                dggContainer.add(opt);

                SplitMenuColors splitMenuColors = new SplitMenuColors();
                dggContainer.add(splitMenuColors);

                drawingData = dggContainer.getData();
            }

            MsoDrawingGroupRecord msodg = new MsoDrawingGroupRecord(drawingData);

            outputFile.write(msodg);
        }
        /**
         * Creates the main Sp container for the drawing
         *
         * @return the SP container
         */
        public virtual EscherContainer getSpContainer()
        {
            if (!initialized)
                initialize();

            if (origin == Origin.READ)
                return getReadSpContainer();

            SpContainer spContainer = new SpContainer();
            Sp sp = new Sp(type,shapeId,2560);
            spContainer.add(sp);
            Opt opt = new Opt();
            opt.addProperty(260,true,false,blipId);

            if (type == ShapeType.PICTURE_FRAME)
                {
                string filePath = imageFile != null ? imageFile.FullName : string.Empty;
                opt.addProperty(261,true,true,filePath.Length * 2,filePath);
                opt.addProperty(447,false,false,65536);
                opt.addProperty(959,false,false,524288);
                spContainer.add(opt);
                }

            ClientAnchor clientAnchor = new ClientAnchor
              (x,y,x + width,y + height,
               imageAnchorProperties.getValue());
            spContainer.add(clientAnchor);
            ClientData clientData = new ClientData();
            spContainer.add(clientData);

            return spContainer;
        }