public LayoutSelector()
        {
            Logger.Debug("Instance created successfully");

            Logger.Debug("Loading all available layouts");
            Layouts = Layouts ?? LoadLayouts();

            Logger.Debug("{0} layouts loaded from the configured path", Layouts.Count);

            SelectedLayout = SelectedLayout ?? GetSelectedLayout();
        }
        public void DeleteLayout(BaseLayoutElement layout)
        {
            CheckAndConnect();

            if (!ContainsKey(layout.Id))
            {
                throw new Exception(string.Format("No layout exists with key [{0}]", layout.Id));
            }

            AllLayouts.Delete(l => l.LayoutKey == layout.Id);
            Logger.Debug("Layout [{0}] has been deleted successfully", layout);
        }
Exemple #3
0
        //constructor
        #region
        public TsColumn(XElement SourceXml, int PageIndex, BaseLayoutElement Parent) : base(Parent)
        {
            this.Index                    = PageIndex;
            this._columnpanel             = new Grid();
            this._columnpanel.Name        = "_columnpanel";
            this._columnpanel.DataContext = this;
            this._columnpanel.SetBinding(Grid.IsEnabledProperty, new Binding("IsEnabled"));
            this._columnpanel.SetBinding(Grid.VisibilityProperty, new Binding("Visibility"));
            this._columnpanel.SetBinding(Grid.ShowGridLinesProperty, new Binding("ShowGridLines"));
            this._columnpanel.SetBinding(Grid.WidthProperty, new Binding("Width"));

            this.LoadXml(SourceXml);
        }
        public void InsertLayout(BaseLayoutElement layout)
        {
            CheckAndConnect();

            if (ContainsKey(layout.Id))
            {
                throw new Exception(string.Format("Layout [{0}] with key [{1}] already exists", layout.Name, layout.Id));
            }

            LayoutRecord layoutObject = new LayoutRecord(layout.Id, layout.Name, layout.IsSelected, layout.PathToXml);

            AllLayouts.Insert(layoutObject);

            Logger.Debug("Layout [{0}] has been inserted successfully", layoutObject);
        }
        public void SaveLayout(BaseLayoutElement layout)
        {
            if (ContainsKey(layout.Id))
            {
                LayoutRecord layoutObject = AllLayouts.FindOne(l => l.LayoutKey == layout.Id);
                layoutObject.Name       = layout.Name;
                layoutObject.IsSelected = layout.IsSelected;
                layoutObject.PathToXml  = layout.PathToXml;

                AllLayouts.Update(layoutObject);
                Logger.Debug("Layout [{0}] has been updated successfully", layoutObject);
            }
            else
            {
                LayoutRecord layoutObject = new LayoutRecord(layout.Id, layout.Name, layout.IsSelected, layout.PathToXml);
                AllLayouts.Insert(layoutObject);

                Logger.Debug("Layout [{0}] has been inserted successfully", layoutObject);
            }
        }
 BaseLayoutElement GetSelectedLayout()
 {
     if (Layouts.Count(l => l.IsSelected == true) > 0)
     {
         BaseLayoutElement selectedLayout = Layouts.Where(l => l.IsSelected == true)
                                            .ToList().SingleOrDefault();
         return(selectedLayout);
     }
     else
     {
         Layouts[0].IsSelected = true;
         if (Get.i.Layouts.ContainsKey(Layouts[0].Id))
         {
             Get.i.Layouts.SaveLayout(Layouts[0]);
         }
         else
         {
             Get.i.Layouts.InsertLayout(Layouts[0]);
         }
     }
     return(Layouts[0]);
 }
        public void SelectLayout(Guid key)
        {
            Layouts.Where(w => w.IsSelected == true)
            .ToList()
            .ForEach(f => f.IsSelected = false);

            Get.i.Layouts.UnselectAll();

            SelectedLayout            = Layouts.Where(w => w.Id == key).ToList().Single();
            SelectedLayout.IsSelected = true;

            if (Get.i.Layouts.ContainsKey(key))
            {
                Get.i.Layouts.SaveLayout(SelectedLayout);
            }
            else
            {
                Get.i.Layouts.InsertLayout(SelectedLayout);
            }

            SelectedLayout.SerializeToXml();

            Logger.Debug("Selected layout changed to: {0}", SelectedLayout.Name);
        }