Example #1
0
        private void closeAllProjects()
        {
            //MessageBox.Show("You can never close this tab");
            //e.Handled = true;

            if (mainTab.Items.Count > 0)
            {
                frmMessage msg = new frmMessage();
                msg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                msg.tipcontent.Text       = "Save all files ?";
                int status = -1;
                if (msg.ShowDialog() == true)
                {
                    status = msg.status;
                    if (status == 1)
                    {
                        for (int i = 0; i < mainTab.Items.Count; i++)
                        {
                            TabItem      ti           = (TabItem)mainTab.Items[i];
                            string       name         = ti.Header + "1";
                            VisioDrawing v            = FindName(name) as VisioDrawing;
                            string       filefullname = ti.Tag.ToString();
                            v.visioControl.Document.SaveAs(filefullname);
                            //v.visioControl.Document.Close();

                            mainTab.Items.Remove(ti);
                            UnregisterName(name);
                        }
                    }
                }
            }
        }
Example #2
0
 private void closeProject()
 {
     if (mainTab.SelectedIndex > -1)
     {
         TabItem      ti           = (TabItem)mainTab.SelectedItem;
         string       name         = ti.Header + "1";
         VisioDrawing v            = FindName(name) as VisioDrawing;
         string       filefullname = ti.Tag.ToString();
         frmMessage   msg          = new frmMessage();
         msg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
         msg.tipcontent.Text       = "Save file " + ti.Header.ToString() + "?";
         int status = -1;
         if (msg.ShowDialog() == true)
         {
             status = msg.status;
             if (status == 1)
             {
                 v.visioControl.Document.SaveAs(filefullname);
                 //v.visioControl.Document.Close();
                 mainTab.Items.Remove(ti);
                 UnregisterName(name);
             }
             else if (status == 0)
             {
                 mainTab.Items.Remove(ti);
                 v.visioControl.Src = null;
                 UnregisterName(name);
             }
         }
     }
 }
Example #3
0
        private List <ShapeInfo> getAllConnectors(VisioDrawing v)
        {
            List <ShapeInfo> list = new List <ShapeInfo>();
            AxDrawingControl dc   = v.visioControl;

            Visio.Page currentPage = dc.Window.Application.ActivePage;
            foreach (Visio.Shape shp in currentPage.Shapes)
            {
                if (shp.NameU.Contains("Connector"))
                {
                    ShapeInfo si = new ShapeInfo();
                    si.NameU = shp.NameU;
                    si.Text  = shp.Text;
                    list.Add(si);
                }
            }
            return(list);
        }
Example #4
0
        private void navView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (navView.SelectedItem == null)
            {
                return;
            }
            TreeViewItem tvi = (TreeViewItem)navView.SelectedItem;

            if (tvi.Tag == null || tvi.Tag.ToString().Contains(".vsd") == false)
            {
                return;
            }
            StackPanel panel  = (StackPanel)tvi.Header;
            TextBlock  tbk    = (TextBlock)panel.Children[1];
            string     header = tbk.Text;
            string     name   = header;
            bool       isopen = false;

            foreach (object o in mainTab.Items)
            {
                TabItem item = o as TabItem;
                if (item != null)
                {
                    if (item.Header.ToString().CompareTo(header) == 0)
                    {
                        isopen = true;
                        mainTab.SelectedItem = item;
                        curvisio             = name + "1";
                        break;
                    }
                }
            }

            if (!isopen)
            {
                TabItem ti = new TabItem();
                ti.Header = header;
                ti.Tag    = tvi.Tag;
                DockPanel sp = new DockPanel();
                sp.Margin = new Thickness(0, 0, 0, 0);
                //sp.Orientation = Orientation.Vertical;
                ti.Content = sp;
                string vsdFile = ti.Tag.ToString();
                try
                {
                    if (tvi.Tag != null)
                    {
                        string vname = tvi.Tag.ToString();
                        ti.Tag = vname;
                        try
                        {
                            VisioDrawing v = new VisioDrawing();

                            string        dir     = System.IO.Path.GetDirectoryName(vsdFile);
                            DirectoryInfo dirInfo = new DirectoryInfo(dir);

                            v.dbFile = dir + @"\" + dirInfo.Name + ".accdb";
                            ((System.ComponentModel.ISupportInitialize)v).BeginInit();
                            sp.Children.Add(v);
                            ((System.ComponentModel.ISupportInitialize)v).EndInit();
                            curvisio = name + "1";
                            if (FindName(curvisio) == null)
                            {
                                RegisterName(curvisio, v);
                            }
                            closeSharedFile(vname);
                            v.vName = vname;
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.ToString());
                        }
                    }
                    mainTab.Items.Add(ti);
                    mainTab.SelectedItem = ti;
                }
                catch (Exception ex2)
                {
                    MessageBox.Show(ex2.ToString());
                }
            }
            if (this.centerdockpanel.Visibility != Visibility.Visible)
            {
                centerdockpanel.Visibility = Visibility.Visible;
            }
        }