Exemplo n.º 1
0
        /// <summary>
        /// Initialization
        /// </summary>
        /// <param name="owner"></param>
        /// <param name="docManager"></param>
        public void Initialize(NetBuilder owner, DocManager docManager)
        {
            SetStyle(ControlStyles.AllPaintingInWmPaint |
                     ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true);

            // Keep reference to owner form
            this.Owner      = owner;
            this.DocManager = docManager;

            // set default tool
            activeTool = DrawToolType.Pointer;

            // create list of graphic objects
            graphicsList = new GraphicsList();

            // Create undo manager
            undoManager = new UndoManager(graphicsList);

            // create array of drawing tools
            tools = new Tool[(int)DrawToolType.NumberOfDrawTools];
            tools[(int)DrawToolType.Pointer]   = new ToolPointer();
            tools[(int)DrawToolType.Rectangle] = new ToolRectangle();
            tools[(int)DrawToolType.Ellipse]   = new ToolEllipse();
            tools[(int)DrawToolType.Triangle]  = new ToolTriangle();
            tools[(int)DrawToolType.Line]      = new ToolLine();
            tools[(int)DrawToolType.Polygon]   = new ToolPolygon();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initialize helper objects from the DocToolkit Library.
        ///
        /// Called from Form1_Load. Initialized all objects except
        /// PersistWindowState wich must be initialized in the
        /// form constructor.
        /// </summary>
        private void InitializeHelperObjects()
        {
            // DocManager

            DocManagerData data = new DocManagerData();

            data.FormOwner        = this;
            data.UpdateTitle      = true;
            data.FileDialogFilter = "DrawTools files (*.dtl)|*.dtl|All Files (*.*)|*.*";
            data.NewDocName       = "Untitled.dtl";
            data.RegistryPath     = registryPath;

            docManager = new DocManager(data);
            docManager.RegisterFileType("dtl", "dtlfile", "DrawTools File");

            // Subscribe to DocManager events.
            docManager.SaveEvent += docManager_SaveEvent;
            docManager.LoadEvent += docManager_LoadEvent;

            // Make "inline subscription" using anonymous methods.
            //docManager.OpenEvent += delegate(object sender, OpenFileEventArgs e)
            //{
            //    // Update MRU List
            //    if (e.Succeeded)
            //        mruManager.Add(e.FileName);
            //    else
            //        mruManager.Remove(e.FileName);
            //};

            docManager.DocChangedEvent += delegate(object o, EventArgs e)
            {
                drawArea.Refresh();
                drawArea.ClearHistory();
            };

            docManager.ClearEvent += delegate(object o, EventArgs e)
            {
                if (drawArea.Graphics != null)
                {
                    drawArea.Graphics.Clear();
                    drawArea.ClearHistory();
                    drawArea.Refresh();
                }
            };

            docManager.NewDocument();

            // DragDropManager
            dragDropManager = new DragDropManager(this);
            dragDropManager.FileDroppedEvent += delegate(object sender, FileDroppedEventArgs e)
            {
                OpenDocument(e.FileArray.GetValue(0).ToString());
            };

            //// MruManager
            //mruManager = new MruManager();
            //mruManager.Initialize(
            //    this,                              // owner form
            //    recentFilesToolStripMenuItem,      // Recent Files menu item
            //    fileToolStripMenuItem,            // parent
            //    registryPath);                     // Registry path to keep MRU list

            //mruManager.MruOpenEvent += delegate(object sender, MruFileOpenEventArgs e)
            //{
            //    OpenDocument(e.FileName);
            //};
        }