コード例 #1
0
        public static string SaveLayout(this DockingManager This)
        {
            Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(This);
            StringBuilder config = new StringBuilder();

            using (XmlWriter writer = XmlWriter.Create(config))
            {
                serializer.Serialize(writer);
            }

            // http://avalondock.codeplex.com/discussions/400644
            XmlDocument configDoc = new XmlDocument();

            configDoc.Load(XmlReader.Create(new System.IO.StringReader(config.ToString())));
            XmlNodeList projectNodes = configDoc.GetElementsByTagName("LayoutDocument");

            for (int i = projectNodes.Count - 1; i > -1; i--)
            {
                projectNodes[i].ParentNode.RemoveChild(projectNodes[i]);
            }

            config = new StringBuilder();
            using (XmlWriter writer = XmlWriter.Create(config))
            {
                configDoc.WriteTo(writer);
            }
            return(config.ToString());
        }
コード例 #2
0
        private void SaveLayout()
        {
            Log.FunctionIndent("MainWindow", "SaveLayout");
            try
            {
                //Config.local.openworkflows = workflows.ToArray();
                var pos = new System.Drawing.Rectangle((int)Left, (int)Top, (int)Width, (int)Height);
                if (pos.Left > 0 && pos.Top > 0 && pos.Width > 100 && pos.Height > 100)
                {
                    var newpos = pos.ToString();
                    var oldpos = Config.local.mainwindow_position.ToString();
                    if (newpos != oldpos)
                    {
                        Config.local.mainwindow_position = pos;
                        Config.Save();
                    }
                }

                try
                {
                    var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(DManager);
                    using (var stream = new System.IO.StreamWriter(System.IO.Path.Combine(Interfaces.Extensions.ProjectsDirectory, "layoutagent.config")))
                        serializer.Serialize(stream);
                }
                catch (Exception ex)
                {
                    Log.Error(ex.ToString());
                }
            }
            catch (Exception)
            {
                throw;
            }
            Log.FunctionOutdent("MainWindow", "SaveLayout");
        }
コード例 #3
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     try {
         XmlNode xlay;
         string  lo;
         if (App.Workspace.config != null && (xlay = App.Workspace.config.SelectSingleNode("/Config/LayoutRoot")) != null)
         {
             lo = xlay.OuterXml;
         }
         else
         {
             lo = "<LayoutRoot><RootPanel Orientation=\"Vertical\"><LayoutPanel Orientation=\"Horizontal\"><LayoutDocumentPane /><LayoutAnchorablePaneGroup Orientation=\"Horizontal\" DockWidth=\"450\" DockHeight=\"584\"><LayoutAnchorablePane DockHeight=\"584\" ><LayoutAnchorable Title=\"Workspace\" IsSelected=\"True\" ContentId=\"file://local/?view=wks\" CanClose=\"False\" /></LayoutAnchorablePane></LayoutAnchorablePaneGroup></LayoutPanel><LayoutAnchorablePaneGroup Orientation=\"Horizontal\" DockHeight=\"225\"><LayoutAnchorablePane DockHeight=\"225\" ><LayoutAnchorable Title=\"Output\" IsSelected=\"True\" ContentId=\"file://local/?view=log\" CanClose=\"False\" /></LayoutAnchorablePane></LayoutAnchorablePaneGroup></RootPanel><TopSide /><RightSide /><LeftSide /><BottomSide /><FloatingWindows /><Hidden /></LayoutRoot>";
         }
         var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(this.dmMain);
         layoutSerializer.LayoutSerializationCallback += LSF;
         layoutSerializer.Deserialize(new System.IO.StringReader(lo));
     }
     catch (Exception ex) {
         Log.Error("Load layout - {0}", ex.Message);
     }
     if (App.Workspace.Clients.Count == 0)
     {
         var cl = new Client("localhost", EsBroker.EsSocket.portDefault, null, null);
         App.Workspace.Clients.Add(cl);
     }
 }
コード例 #4
0
        public void LoadAvalonDockLayout(object o)
        {
            lock (lockObj) {
                if (!_dockloaded)
                {
                    _dockmanager = (Xceed.Wpf.AvalonDock.DockingManager)o;

                    var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(_dockmanager);
                    serializer.LayoutSerializationCallback += (s, args) => {
                        args.Content = args.Content;
                    };

                    if (System.IO.File.Exists(Utility.AvalonDock.LayoutInitializer.LAYOUTFILEPATH))
                    {
                        try {
                            serializer.Deserialize(Utility.AvalonDock.LayoutInitializer.LAYOUTFILEPATH);
                            _dockloaded = true;
                        } catch (Exception ex) {
                            Logger.Error("Failed to load AvalonDock Layout. Loading default Layout!", ex);
                            using (var stream = new StringReader(Properties.Resources.avalondock)) {
                                serializer.Deserialize(stream);
                            }
                        }
                    }
                    else
                    {
                        LoadDefaultLayout(serializer);
                    }
                }
            }
        }
コード例 #5
0
 public static void LoadLayout(this DockingManager This, string Config)
 {
     if (Config != "")
     {
         Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(This);
         serializer.Deserialize(XmlReader.Create(new System.IO.StringReader(Config)));
     }
 }
コード例 #6
0
ファイル: MainWindow.xaml.cs プロジェクト: ghiblibli43/ArkBot
        void MainWindow_Unloaded(object sender, RoutedEventArgs e)
        {
            var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);

            serializer.Serialize(Workspace.Constants.LayoutFilePath);

            Workspace.Instance.Dispose();
        }
コード例 #7
0
 public static void LoadLayout(this DockingManager This, string Config)
 {
     if (Config != "")
     {
         Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(This);
         serializer.Deserialize(XmlReader.Create(new System.IO.StringReader(Config)));
     }
 }
コード例 #8
0
 private void LoadDefaultLayout(Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer serializer)
 {
     lock (lockObj) {
         using (var stream = new StringReader(Properties.Resources.avalondock)) {
             serializer.Deserialize(stream);
             _dockloaded = true;
         }
     }
 }
コード例 #9
0
 public void SaveAvalonDockLayout()
 {
     lock (lockObj) {
         if (_dockloaded)
         {
             var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(_dockmanager);
             serializer.Serialize(Utility.AvalonDock.LayoutInitializer.LAYOUTFILEPATH);
         }
     }
 }
コード例 #10
0
        private void MainWindow_Closed(object sender, EventArgs e)
        {
            // save off the dockmanager layout
            string dockManagerLayoutName = AppDomain.CurrentDomain.BaseDirectory + @"\Layout.dat";

            try
            {
                Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                using (var sw = new StreamWriter(dockManagerLayoutName))
                {
                    ls.Serialize(sw);
                }
            }
            catch
            {
            }


            try
            {
                // Save the Map Colours
                string mapConfigFileName = AppDomain.CurrentDomain.BaseDirectory + @"\MapConfig.dat";

                // now serialise the class to disk
                XmlSerializer xms = new XmlSerializer(typeof(MapConfig));
                using (TextWriter tw = new StreamWriter(mapConfigFileName))
                {
                    xms.Serialize(tw, MapConf);
                }
            }
            catch
            {
            }


            try
            {
                // save the Anom Data
                // now serialise the class to disk
                XmlSerializer anomxms          = new XmlSerializer(typeof(EVEData.AnomManager));
                string        anomDataFilename = AppDomain.CurrentDomain.BaseDirectory + @"\Anoms.dat";

                using (TextWriter tw = new StreamWriter(anomDataFilename))
                {
                    anomxms.Serialize(tw, ANOMManager);
                }
            }
            catch
            { }


            // save the character data
            EVEManager.SaveData();
            EVEManager.ShutDown();
        }
コード例 #11
0
        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockingManager);
            serializer.LayoutSerializationCallback += (s, args) =>
            {
                args.Content = args.Content;
            };

            if (File.Exists(@".\AvalonDock.config"))
                serializer.Deserialize(@".\AvalonDock.config");
        }
コード例 #12
0
        public static void SaveLayout(this DockingManager dockingManager)
        {
            var layoutFile = Environment.ExpandEnvironmentVariables(Constants.AvalonDockLayoutFile);

            Directory.CreateDirectory(layoutFile); //ensure that all the folders in the file path exist
            using (StreamWriter sw = new StreamWriter(layoutFile))
            {
                var ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockingManager);
                ls.Serialize(sw);
            }
        }
コード例 #13
0
        public static void SaveLayout(this DockingManager dockingManager)
        {
            var layoutFile = ApplicationPaths.AvalonDockLayoutFile;

            Directory.CreateDirectory(layoutFile); //ensure that all the folders in the file path exist
            using (StreamWriter sw = new StreamWriter(layoutFile))
            {
                var ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockingManager);
                ls.Serialize(sw);
            }
        }
コード例 #14
0
 public void SaveLayout()
 {
     try
     {
         var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
         serializer.Serialize(@".\AvalonDock.config");
     }
     catch
     {
         // ignore
     }
 }
コード例 #15
0
        private void Window_Closing(object sender, CancelEventArgs e)
        {
            //if(_client!=null) {
            //  _client.Stop();
            //  _client=null;
            //}
            var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);

            try {
                var lDoc = new XmlDocument();
                using (var ix = lDoc.CreateNavigator().AppendChild()) {
                    layoutSerializer.Serialize(ix);
                }

                var xd   = new XmlDocument();
                var root = xd.CreateElement("Config");
                xd.AppendChild(root);
                if (!string.IsNullOrWhiteSpace(_connectionUrl))
                {
                    var xUrl = xd.CreateElement("Url");
                    xUrl.InnerText = _connectionUrl;
                    root.AppendChild(xUrl);
                }
                var window = xd.CreateElement("Window");
                {
                    var tmp = xd.CreateAttribute("State");
                    tmp.Value = this.WindowState.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = xd.CreateAttribute("Left");
                    tmp.Value = this.Left.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = xd.CreateAttribute("Top");
                    tmp.Value = this.Top.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = xd.CreateAttribute("Width");
                    tmp.Value = this.Width.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = xd.CreateAttribute("Height");
                    tmp.Value = this.Height.ToString();
                    window.Attributes.Append(tmp);
                }
                root.AppendChild(window);
                root.AppendChild(xd.ImportNode(lDoc.FirstChild, true));
                xd.Save(_cfgPath);
            }
            catch (Exception ex) {
                Log.Error("Save config - {0}", ex.Message);
            }
        }
コード例 #16
0
        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockingManager);

            serializer.LayoutSerializationCallback += (s, args) =>
            {
                args.Content = args.Content;
            };

            if (File.Exists(@".\AvalonDock.config"))
            {
                serializer.Deserialize(@".\AvalonDock.config");
            }
        }
コード例 #17
0
ファイル: Workspace.cs プロジェクト: dedmen/ArmA.Studio
        private static void SaveLayout(DockingManager dm, string v)
        {
            var dir = Path.GetDirectoryName(v);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }
            using (var writer = File.Open(v, FileMode.Create))
            {
                var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dm);
                layoutSerializer.Serialize(writer);
            }
        }
コード例 #18
0
        async void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            if (File.Exists(Workspace.Constants.LayoutFilePath))
            {
                var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                //serializer.LayoutSerializationCallback += (s, args) =>
                //{
                //};

                serializer.Deserialize(Workspace.Constants.LayoutFilePath);
            }

            await Workspace.Instance.Init();
        }
コード例 #19
0
        public static void LoadLayout(this DockingManager dockingManager)
        {
            var layoutFileName = ApplicationPaths.AvalonDockLayoutFile;

            if (!File.Exists(layoutFileName))
            {
                return;                               // exit here if the saved layout file does not exist
            }
            using (StreamReader sr = new StreamReader(layoutFileName))
            {
                var ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockingManager);
                //var ls = new DockingManagerJsonLayoutSerializer(dm);
                ls.Deserialize(sr);
            }
        }
コード例 #20
0
ファイル: MainWindow.xaml.cs プロジェクト: zippyy/ArkBot
        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                if (File.Exists(Workspace.Constants.LayoutFilePath))
                {
                    var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                    //serializer.LayoutSerializationCallback += (s, args) =>
                    //{
                    //};

                    serializer.Deserialize(Workspace.Constants.LayoutFilePath);
                }
            } catch (Exception ex) { /*do nothing*/ }
        }
コード例 #21
0
        private void Window_Closed(object sender, EventArgs e)
        {
            var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(this.dmMain);

            try {
                var lDoc = new XmlDocument();
                using (var ix = lDoc.CreateNavigator().AppendChild()) {
                    layoutSerializer.Serialize(ix);
                }

                var cfg  = new XmlDocument();
                var root = cfg.CreateElement("Config");
                var sign = cfg.CreateAttribute("Signature");
                sign.Value = "X13.ES v.0.4";
                root.Attributes.Append(sign);
                cfg.AppendChild(root);
                var window = cfg.CreateElement("Window");
                {
                    var tmp = cfg.CreateAttribute("State");
                    tmp.Value = this.WindowState.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = cfg.CreateAttribute("Left");
                    tmp.Value = this.Left.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = cfg.CreateAttribute("Top");
                    tmp.Value = this.Top.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = cfg.CreateAttribute("Width");
                    tmp.Value = this.Width.ToString();
                    window.Attributes.Append(tmp);

                    tmp       = cfg.CreateAttribute("Height");
                    tmp.Value = this.Height.ToString();
                    window.Attributes.Append(tmp);
                }
                root.AppendChild(window);
                root.AppendChild(cfg.ImportNode(lDoc.FirstChild, true));
                App.Workspace.Close(cfg);
            }
            catch (Exception ex) {
                Log.Error("Save config - {0}", ex.Message);
            }
            Log.Finish();
        }
コード例 #22
0
        private void ResetDockLayout(object arg)
        {
            if (MyMessageBox.MyMessageBox.Show(Locale.Loc.Instance["LblResetDockLayoutConfirmation"], Locale.Loc.Instance["LblResetDockLayout"], System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxResult.No) == System.Windows.MessageBoxResult.Yes)
            {
                lock (lockObj) {
                    _dockloaded = false;

                    var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(_dockmanager);
                    serializer.LayoutSerializationCallback += (s, args) => {
                        var d = (DockableVM)args.Content;
                        d.IsVisible  = true;
                        args.Content = d;
                    };

                    LoadDefaultLayout(serializer);
                }
            }
        }
コード例 #23
0
        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            bool error = false;

            control = new ControlHost(ControlHostElement.ActualHeight, ControlHostElement.ActualWidth, this);
            try
            {
                ControlHostElement.Child = control;
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.Message);
                this.control = null;
                error        = true;
                //System.Windows.Application.Current.Shutdown(-1);
                //return;
            }

            Workspace workspace = this.DataContext as Workspace;

            if (null != workspace)
            {
                workspace.OnLoad(this.control);
            }

            if (!error)
            {
                var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                serializer.LayoutSerializationCallback += (s, args) =>
                {
                    if (args.Model.ContentId == "PropertyViewTool")
                    {
                        args.Content = args.Content;
                    }
                    args.Content = args.Content;
                };

                if (File.Exists(@".\user.cfg"))
                {
                    serializer.Deserialize(@".\user.cfg");
                }
            }
        }
コード例 #24
0
 private void Window_Loaded(object sender, RoutedEventArgs e) {
   string layoutS = null;
   try {
     if(!System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(_cfgPath))) {
       System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(_cfgPath));
     } else if(System.IO.File.Exists(_cfgPath)) {
       var xd = new XmlDocument();
       xd.Load(_cfgPath);
       var window = xd.SelectSingleNode("/Config/Window");
       if(window != null) {
         WindowState st;
         double tmp;
         if(window.Attributes["Top"] != null && double.TryParse(window.Attributes["Top"].Value, out tmp)) {
           this.Top = tmp;
         }
         if(window.Attributes["Left"] != null && double.TryParse(window.Attributes["Left"].Value, out tmp)) {
           this.Left = tmp;
         }
         if(window.Attributes["Width"] != null && double.TryParse(window.Attributes["Width"].Value, out tmp)) {
           this.Width = tmp;
         }
         if(window.Attributes["Height"] != null && double.TryParse(window.Attributes["Height"].Value, out tmp)) {
           this.Height = tmp;
         }
         if(window.Attributes["State"] != null && Enum.TryParse(window.Attributes["State"].Value, out st)) {
           this.WindowState = st;
         }
       }
       var xlay = xd.SelectSingleNode("/Config/LayoutRoot");
       if(xlay != null) {
         layoutS = xlay.OuterXml;
       }
     }
     if(layoutS != null) {
       var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(this.dmMain);
       layoutSerializer.LayoutSerializationCallback += LSF;
       layoutSerializer.Deserialize(new System.IO.StringReader(layoutS));
     }
   }
   catch(Exception ex) {
     Log.Error("Load config - {0}", ex.Message);
   }
 }
コード例 #25
0
ファイル: Workspace.cs プロジェクト: dedmen/ArmA.Studio
 private static void LoadLayout(DockingManager dm, string v)
 {
     if (!File.Exists(v))
     {
         return;
     }
     try
     {
         using (var reader = File.OpenRead(v))
         {
             var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dm);
             layoutSerializer.LayoutSerializationCallback += LayoutSerializer_LayoutSerializationCallback;
             layoutSerializer.Deserialize(reader);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "docklayout.xml");
     }
 }
コード例 #26
0
        public void LoadLayout()
        {
            try
            {
                var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                serializer.LayoutSerializationCallback += (s, args) =>
                {
                    args.Content = args.Content;
                };

                if (File.Exists(@".\AvalonDock.config"))
                {
                    serializer.Deserialize(@".\AvalonDock.config");
                }
            }
            catch
            {
                // ignore
            }
        }
コード例 #27
0
 private void SaveLayout()
 {
     Log.FunctionIndent("MainWindow", "SaveLayout");
     try
     {
         var workflows = new List <string>();
         foreach (var designer in RobotInstance.instance.Designers)
         {
             if (string.IsNullOrEmpty(designer.Workflow._id) && !string.IsNullOrEmpty(designer.Workflow.Filename))
             {
                 workflows.Add(designer.Workflow.RelativeFilename);
             }
             else if (!string.IsNullOrEmpty(designer.Workflow._id))
             {
                 workflows.Add(designer.Workflow._id);
             }
         }
         Config.local.openworkflows = workflows.ToArray();
         var pos = new System.Drawing.Rectangle((int)Left, (int)Top, (int)Width, (int)Height);
         if (pos.Left > 0 && pos.Top > 0 && pos.Width > 100 && pos.Height > 100)
         {
             Config.local.mainwindow_position = pos;
         }
         Config.Save();
         try
         {
             var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(DManager);
             using (var stream = new System.IO.StreamWriter(System.IO.Path.Combine(Interfaces.Extensions.ProjectsDirectory, "layoutagent.config")))
                 serializer.Serialize(stream);
         }
         catch (Exception ex)
         {
             Log.Error(ex.ToString());
         }
     }
     catch (Exception)
     {
         throw;
     }
     Log.FunctionOutdent("MainWindow", "SaveLayout");
 }
コード例 #28
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(MyDockingManager);

            using (StringWriter writer = new StringWriter())
            {
                Serializer.Serialize(writer);

                string xml = writer.ToString();

                XElement doc = XElement.Parse(xml);

                XElement flowViewEl = doc
                                      .Descendants()
                                      .Where(el =>
                {
                    return(el.Attribute(XName.Get("ContentId"))?.Value == "MyFlowViewAnchorable");
                })
                                      .First();

                flowViewEl.Remove();

                doc.Elements(XName.Get("RootPanel"))
                .Descendants(XName.Get("LayoutAnchorablePane"))
                .First()
                .Add(flowViewEl);

                using (StringReader reader = new StringReader(doc.ToString()))
                {
                    Serializer.Deserialize(reader);
                }

                var la = MyDockingManager.FindName("MyFlowViewAnchorable") as Xceed.Wpf.AvalonDock.Layout.LayoutAnchorable;

                Dispatcher.BeginInvoke(new Action(() =>
                {
                    la.IsActive = true;
                }));
            }
        }
コード例 #29
0
        public static string SaveLayout(this DockingManager This)
        {
            Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(This);
            StringBuilder config = new StringBuilder();
            using (XmlWriter writer = XmlWriter.Create(config))
            {
                serializer.Serialize(writer);
            }

            // http://avalondock.codeplex.com/discussions/400644
            XmlDocument configDoc = new XmlDocument();
            configDoc.Load(XmlReader.Create(new System.IO.StringReader(config.ToString())));
            XmlNodeList projectNodes = configDoc.GetElementsByTagName("LayoutDocument");
            for (int i = projectNodes.Count - 1; i > -1; i--)
                projectNodes[i].ParentNode.RemoveChild(projectNodes[i]);

            config = new StringBuilder();
            using (XmlWriter writer = XmlWriter.Create(config))
            {
                configDoc.WriteTo(writer);
            }
            return config.ToString();
        }
コード例 #30
0
        public static void RestoreDefaultLayout(this DockingManager dockingManager)
        {
            var thisAssembly = System.Reflection.Assembly.GetExecutingAssembly();

            using (Stream strm = thisAssembly.GetManifestResourceStream(Constants.AvalonDockDefaultLayoutFile))
            {
                // check if default layout was found
                if (strm == null)
                {
                    return;
                }

                var ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockingManager);
                ls.Deserialize(strm);
            }

            // delete the saved layout file if it exists
            var layoutFileName = ApplicationPaths.AvalonDockLayoutFile;

            if (File.Exists(layoutFileName))
            {
                File.Delete(layoutFileName);
            }
        }
コード例 #31
0
    private void Window_Closed(object sender, EventArgs e) {
      var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(this.dmMain);
      try {
        var lDoc = new XmlDocument();
        using(var ix = lDoc.CreateNavigator().AppendChild()) {
          layoutSerializer.Serialize(ix);
        }

        var xd = new XmlDocument();
        var root = xd.CreateElement("Config");
        xd.AppendChild(root);
        var window = xd.CreateElement("Window");
        {
          var tmp = xd.CreateAttribute("State");
          tmp.Value = this.WindowState.ToString();
          window.Attributes.Append(tmp);

          tmp = xd.CreateAttribute("Left");
          tmp.Value = this.Left.ToString();
          window.Attributes.Append(tmp);

          tmp = xd.CreateAttribute("Top");
          tmp.Value = this.Top.ToString();
          window.Attributes.Append(tmp);

          tmp = xd.CreateAttribute("Width");
          tmp.Value = this.Width.ToString();
          window.Attributes.Append(tmp);

          tmp = xd.CreateAttribute("Height");
          tmp.Value = this.Height.ToString();
          window.Attributes.Append(tmp);
        }
        root.AppendChild(window);
        root.AppendChild(xd.ImportNode(lDoc.FirstChild, true));
        xd.Save(_cfgPath);
      }
      catch(Exception ex) {
        Log.Error("Save config - {0}", ex.Message);
      }
      try {
        DWorkspace.This.Exit();
      }
      catch(Exception ex) {
        Log.Error("DWorkspace.Exit() - {0}", ex.Message);
      }
      Log.Finish();
    }
コード例 #32
0
ファイル: MainWindow.xaml.cs プロジェクト: Cherrs/SMT
        public MainWindow()
        {
            OutputLog.Info("Starting App..");

            InitializeComponent();

            DynamicMapElements = new List <UIElement>();



            // load any custom map settings off disk
            string mapConfigFileName = AppDomain.CurrentDomain.BaseDirectory + @"\MapConfig.dat";

            OutputLog.Info("Loading Map config from {0}", mapConfigFileName);


            if (File.Exists(mapConfigFileName))
            {
                try
                {
                    XmlSerializer xms  = new XmlSerializer(typeof(MapConfig));
                    FileStream    fs   = new FileStream(mapConfigFileName, FileMode.Open);
                    XmlReader     xmlr = XmlReader.Create(fs);

                    MapConf = (MapConfig)xms.Deserialize(xmlr);
                }
                catch
                {
                    MapConf            = new MapConfig();
                    MapConf.MapColours = new List <MapColours>();
                    MapConf.SetDefaultColours();
                }
            }
            else
            {
                MapConf            = new MapConfig();
                MapConf.MapColours = new List <MapColours>();
                MapConf.SetDefaultColours();
            }


            SelectedSystem = string.Empty;

            EVEManager = new EVEData.EveManager();
            EVEData.EveManager.SetInstance(EVEManager);

            // if we want to re-build the data as we've changed the format, recreate it all from scratch
            bool initFromScratch = false;

            if (initFromScratch)
            {
                EVEManager.CreateFromScratch();
            }
            else
            {
                EVEManager.LoadFromDisk();
            }


            RegionDropDown.ItemsSource = EVEManager.Regions;

            EVEManager.SetupIntelWatcher();
            RawIntelBox.ItemsSource = EVEManager.IntelDataList;


            // load jump bridge data
            EVEManager.LoadJumpBridgeData();
            EVEManager.StartUpdateKillsFromESI();
            EVEManager.StartUpdateJumpsFromESI();
            EVEManager.StartUpdateSOVFromESI();

            foreach (EVEData.MapRegion rd in EVEManager.Regions)
            {
                if (rd.Name == MapConf.DefaultRegion)
                {
                    RegionDropDown.SelectedItem = rd;
                    List <EVEData.MapSystem> newList = rd.MapSystems.Values.ToList().OrderBy(o => o.Name).ToList();
                    SystemDropDownAC.ItemsSource = newList;
                }
            }


            uiRefreshTimer          = new System.Windows.Threading.DispatcherTimer();
            uiRefreshTimer.Tick    += UiRefreshTimer_Tick;
            uiRefreshTimer.Interval = new TimeSpan(0, 0, 5);
            uiRefreshTimer.Start();

            CharacterDropDown.ItemsSource = EVEManager.LocalCharacters;

            MapControlsPropertyGrid.SelectedObject        = MapConf;
            MapControlsPropertyGrid.PropertyValueChanged += MapControlsPropertyGrid_PropertyValueChanged;

            ColourListDropdown.ItemsSource = MapConf.MapColours;

            CharacterList.ItemsSource = EVEManager.LocalCharacters;


            MapColours selectedColours = MapConf.MapColours[0];

            // find the matching active colour scheme
            foreach (MapColours mc in MapConf.MapColours)
            {
                if (MapConf.DefaultColourSchemeName == mc.Name)
                {
                    selectedColours = mc;
                }
            }

            // load the dockmanager layout
            string dockManagerLayoutName = AppDomain.CurrentDomain.BaseDirectory + @"\Layout.dat";

            if (File.Exists(dockManagerLayoutName))
            {
                try
                {
                    Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                    using (var sr = new StreamReader(dockManagerLayoutName))
                    {
                        ls.Deserialize(sr);
                    }
                }
                catch
                {
                }
            }

            // load the anom data
            string anomDataFilename = AppDomain.CurrentDomain.BaseDirectory + @"\Anoms.dat";

            if (File.Exists(anomDataFilename))
            {
                try
                {
                    XmlSerializer xms = new XmlSerializer(typeof(EVEData.AnomManager));

                    FileStream fs   = new FileStream(anomDataFilename, FileMode.Open);
                    XmlReader  xmlr = XmlReader.Create(fs);

                    ANOMManager = (EVEData.AnomManager)xms.Deserialize(xmlr);
                }
                catch
                {
                    ANOMManager = new EVEData.AnomManager();
                }
            }
            else
            {
                ANOMManager = new EVEData.AnomManager();
            }

            // ColourListDropdown.SelectedItem = selectedColours;
            ColoursPropertyGrid.SelectedObject   = selectedColours;
            MapConf.ActiveColourScheme           = selectedColours;
            ColoursPropertyGrid.PropertyChanged += ColoursPropertyGrid_PropertyChanged;
            ReDrawMap();

            Closed += MainWindow_Closed;

            EVEManager.IntelAddedEvent += OnIntelAdded;
        }
コード例 #33
0
 void MainWindow_Unloaded(object sender, RoutedEventArgs e)
 {
     var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockingManager);
     serializer.Serialize(@".\AvalonDock.config");
 }
コード例 #34
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string layoutS = null;

            try {
                if (!System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(_cfgPath)))
                {
                    System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(_cfgPath));
                }
                else if (System.IO.File.Exists(_cfgPath))
                {
                    var xd = new XmlDocument();
                    xd.Load(_cfgPath);
                    var conn = xd.SelectSingleNode("/Config/Url");
                    if (conn != null)
                    {
                        _connectionUrl = conn.InnerText;
                    }
                    else
                    {
                        _connectionUrl = "localhost:8080";
                    }
                    var window = xd.SelectSingleNode("/Config/Window");
                    if (window != null)
                    {
                        WindowState st;
                        double      tmp;
                        if (window.Attributes["Top"] != null && double.TryParse(window.Attributes["Top"].Value, out tmp))
                        {
                            this.Top = tmp;
                        }
                        if (window.Attributes["Left"] != null && double.TryParse(window.Attributes["Left"].Value, out tmp))
                        {
                            this.Left = tmp;
                        }
                        if (window.Attributes["Width"] != null && double.TryParse(window.Attributes["Width"].Value, out tmp))
                        {
                            this.Width = tmp;
                        }
                        if (window.Attributes["Height"] != null && double.TryParse(window.Attributes["Height"].Value, out tmp))
                        {
                            this.Height = tmp;
                        }
                        if (window.Attributes["State"] != null && Enum.TryParse(window.Attributes["State"].Value, out st))
                        {
                            this.WindowState = st;
                        }
                    }
                    var xlay = xd.SelectSingleNode("/Config/LayoutRoot");
                    if (xlay != null)
                    {
                        layoutS = xlay.OuterXml;
                    }
                }
                //if(!string.IsNullOrWhiteSpace(_connectionUrl)) {
                //  _client=new Client.Client(_connectionUrl);
                //  _client.Start();
                //}
                if (layoutS != null)
                {
                    var layoutSerializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                    layoutSerializer.LayoutSerializationCallback += (s, e1) => {
                        if (!string.IsNullOrWhiteSpace(e1.Model.ContentId))
                        {
                            e1.Content = Workspace.This.Open(e1.Model.ContentId);
                        }
                    };
                    layoutSerializer.Deserialize(new System.IO.StringReader(layoutS));
                }
            }
            catch (Exception ex) {
                Log.Error("Load config - {0}", ex.Message);
            }
        }
コード例 #35
0
ファイル: MainWindow.xaml.cs プロジェクト: TyrelBaux/Gibbo2D
 private void DebugResetClick(object sender, RoutedEventArgs e)
 {
     var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
     using (var stream = new StreamWriter(@".\Layout\Default.layout"))
         serializer.Serialize(stream);
 }
コード例 #36
0
        void MainWindow_Unloaded(object sender, RoutedEventArgs e)
        {
            var serializer = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);

            serializer.Serialize(@".\user.cfg");
        }
コード例 #37
0
        public MainWindow()
        {
            OutputLog.Info("Starting App..");
            AppWindow = this;

            InitializeComponent();


            string dockManagerLayoutName = AppDomain.CurrentDomain.BaseDirectory + @"\Layout.dat";

            if (File.Exists(dockManagerLayoutName))
            {
                try
                {
                    Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager);
                    using (var sr = new StreamReader(dockManagerLayoutName))
                    {
                        ls.Deserialize(sr);
                    }
                }
                catch
                {
                }
            }

            RegionLayoutDoc = FindDocWithContentID(dockManager.Layout, "MapRegionContentID");

/*            // now update the RegionLayoutDoc because the layout loading breaks the binding
 *          foreach (Xceed.Wpf.AvalonDock.Layout.ILayoutElement ile in dockManager.Layout.Children)
 *          {
 *              if(ile is Xceed.Wpf.AvalonDock.Layout.ILayoutContainer )
 *              {
 *                  Xceed.Wpf.AvalonDock.Layout.ILayoutContainer ilc = ile as Xceed.Wpf.AvalonDock.Layout.ILayoutContainer;
 *
 *                  foreach (Xceed.Wpf.AvalonDock.Layout.LayoutDocumentPane ldp in ilc.Children.OfType<Xceed.Wpf.AvalonDock.Layout.LayoutDocumentPane>())
 *                  {
 *                      foreach (Xceed.Wpf.AvalonDock.Layout.LayoutDocument ld in ldp.Children.OfType<Xceed.Wpf.AvalonDock.Layout.LayoutDocument>())
 *                      {
 *                          if (ld.ContentId == "MapRegionContentID")
 *                          {
 *                              RegionLayoutDoc = ld;
 *                          }
 *                      }
 *                  }
 *
 *              }
 *
 *          }
 */

            // load any custom map settings off disk
            string mapConfigFileName = AppDomain.CurrentDomain.BaseDirectory + @"\MapConfig.dat";

            OutputLog.Info("Loading Map config from {0}", mapConfigFileName);


            if (File.Exists(mapConfigFileName))
            {
                try
                {
                    XmlSerializer xms  = new XmlSerializer(typeof(MapConfig));
                    FileStream    fs   = new FileStream(mapConfigFileName, FileMode.Open);
                    XmlReader     xmlr = XmlReader.Create(fs);

                    MapConf = (MapConfig)xms.Deserialize(xmlr);
                    fs.Close();
                }
                catch
                {
                    MapConf            = new MapConfig();
                    MapConf.MapColours = new List <MapColours>();
                    MapConf.SetDefaultColours();
                }
            }
            else
            {
                MapConf            = new MapConfig();
                MapConf.MapColours = new List <MapColours>();
                MapConf.SetDefaultColours();
            }

            EVEManager = new EVEData.EveManager();
            EVEData.EveManager.Instance = EVEManager;

            // if we want to re-build the data as we've changed the format, recreate it all from scratch
            bool initFromScratch = false;

            if (initFromScratch)
            {
                EVEManager.CreateFromScratch();
            }
            else
            {
                EVEManager.LoadFromDisk();
            }

            EVEManager.SetupIntelWatcher();
            RawIntelBox.ItemsSource = EVEManager.IntelDataList;


            // load jump bridge data
            EVEManager.LoadJumpBridgeData();
            EVEManager.UpdateESIUniverseData();
            EVEManager.InitNavigation();


            ColourListDropdown.ItemsSource = MapConf.MapColours;
            CharactersList.ItemsSource     = EVEManager.LocalCharacters;

            TheraConnectionsList.ItemsSource = EVEManager.TheraConnections;

            MapColours selectedColours = MapConf.MapColours[0];

            // find the matching active colour scheme
            foreach (MapColours mc in MapConf.MapColours)
            {
                if (MapConf.DefaultColourSchemeName == mc.Name)
                {
                    selectedColours = mc;
                }
            }



            RegionRC.MapConf = MapConf;
            RegionRC.Init();
            RegionRC.SelectRegion(MapConf.DefaultRegion);


            RegionRC.RegionChanged             += RegionRC_RegionChanged;
            RegionRC.CharacterSelectionChanged += RegionRC_CharacterSelectionChanged;


            // load the anom data
            string anomDataFilename = AppDomain.CurrentDomain.BaseDirectory + @"\Anoms.dat";

            if (File.Exists(anomDataFilename))
            {
                try
                {
                    XmlSerializer xms = new XmlSerializer(typeof(EVEData.AnomManager));

                    FileStream fs   = new FileStream(anomDataFilename, FileMode.Open);
                    XmlReader  xmlr = XmlReader.Create(fs);

                    ANOMManager = (EVEData.AnomManager)xms.Deserialize(xmlr);
                    fs.Close();
                }
                catch
                {
                    ANOMManager = new EVEData.AnomManager();
                }
            }
            else
            {
                ANOMManager = new EVEData.AnomManager();
            }

            MainAnomGrid.DataContext = ANOMManager;
            RegionRC.ANOMManager     = ANOMManager;

            MainRouteGrid.DataContext = RegionRC;


            AppStatusBar.DataContext = EVEManager.ServerInfo;


            // ColourListDropdown.SelectedItem = selectedColours;
            ColoursPropertyGrid.SelectedObject       = selectedColours;
            MapConf.ActiveColourScheme               = selectedColours;
            ColoursPropertyGrid.PropertyChanged     += ColoursPropertyGrid_PropertyChanged;
            MapConf.PropertyChanged                 += MapConf_PropertyChanged;
            MapControlsPropertyGrid.PropertyChanged += ColoursPropertyGrid_PropertyChanged;


            Closed += MainWindow_Closed;

            EVEManager.IntelAddedEvent += OnIntelAdded;
            //MapConf.PropertyChanged += RegionRC.MapObjectChanged;

            AddRegionsToUniverse();


            uiRefreshTimer          = new System.Windows.Threading.DispatcherTimer();
            uiRefreshTimer.Tick    += UiRefreshTimer_Tick;
            uiRefreshTimer.Interval = new TimeSpan(0, 0, 4);
            uiRefreshTimer.Start();



            ZKBFeed.ItemsSource = EVEManager.ZKillFeed.KillStream;


            CollectionView zKBFeedview = (CollectionView)CollectionViewSource.GetDefaultView(ZKBFeed.ItemsSource);

            zKBFeedview.Filter = ZKBFeedFilter;



            MapControlsPropertyGrid.SelectedObject = MapConf;
        }