Esempio n. 1
0
        public Presenter(Storage storage, MultiPageCollection pagesView, ToolTableCollection toolTables)
        {
            var toolTables1 = toolTables;

            _pagesView = pagesView;
            _storage   = storage;

            toolTables1.ListChanged  += new ListChangedEventHandler(ToolTables_ListChanged);
            toolTables1.ListChanging += new ListChangingEventHandler <ToolTableItem>(ToolTables_ListChanging);

            #region Project események
            EventAggregator.Instance.Subscribe <StorageAppEvent>(e1 =>
            {
                switch (e1.ChangingType)
                {
                case FileChangingType.Loading:
                    {
                        e1.Storage.TableLayouts.Clear();
                        _pagesView.Clear();
                        break;
                    }

                case FileChangingType.LoadComplete:
                    {
                        var i = 0;
                        foreach (var pages in pagesView)
                        {
                            var senderGrid = pages.PageControl as SenderGridView;
                            if (senderGrid != null && e1.Storage.TableLayouts.Count > i)
                            {
                                senderGrid.GridLayout = e1.Storage.TableLayouts[i++];
                            }
                        }
                        break;
                    }

                case FileChangingType.Saving:
                    {
                        e1.Storage.TableLayouts.Clear();
                        foreach (var pages in pagesView)
                        {
                            var senderGrid = pages.PageControl as SenderGridView;
                            if (senderGrid != null)
                            {
                                e1.Storage.TableLayouts.Add(senderGrid.GridLayout);
                            }
                        }

                        break;
                    }

                case FileChangingType.ContentChanged:
                    {
                        break;
                    }
                }
            });
            #endregion
        }
 private void Command()
 {
     lock (_collection.SyncRoot)
     {
         try
         {
             _collection.Clear();
         }
         finally
         {
             Cursor.Current = Cursors.Default;
         }
     }
 }