public override void Delete(LibraryContext context)
		{
			foreach (var link in Links.ToList())
				link.Delete(context);
			Links.Clear();
			base.Delete(context);
		}
		public TabbedWallbin(LibraryContext dataStorage)
			: base(dataStorage)
		{
			InitializeComponent();

			toolStripMenuItemDeleteSecurity.Visible = MainController.Instance.Settings.EditorSettings.EnableSecurityEdit;
			toolStripMenuItemDeleteTags.Visible = MainController.Instance.Settings.EditorSettings.EnableTagsEdit;
		}
		public BaseWallbin(LibraryContext dataStorage)
		{
			InitializeComponent();
			Dock = DockStyle.Fill;
			pnEmpty.Dock = DockStyle.Fill;
			pnContainer.Dock = DockStyle.Fill;
			pnEmpty.BringToFront();
			DataStorage = dataStorage;
			Pages = new List<IPageView>();
			PageChanging += OnPageChanging;
		}
		public BaseWallbin(LibraryContext dataStorage)
		{
			InitializeComponent();
			Dock = DockStyle.Fill;
			pnEmpty.Dock = DockStyle.Fill;
			pnContainer.Dock = DockStyle.Fill;
			pnEmpty.BringToFront();
			DataStorage = dataStorage;
			ProgramSchedule = new ProgramScheduleContext(DataStorage.DataSourceFolderPath);
			Pages = new List<IPageView>();
		}
		public SimpleWallbin(LibraryContext dataStorage)
			: base(dataStorage)
		{
			InitializeComponent();
		}
		public static IWallbinView Create(LibraryContext libraryContext)
		{
			return MainController.Instance.Settings.WallbinViewSettings.MultitabView ?
					(IWallbinView)new TabbedWallbin(libraryContext) :
					new SimpleWallbin(libraryContext);
		}
		public override void Save(LibraryContext context, IDbEntity<LibraryContext> current, bool withCommit = true)
		{
			var currentFolderLink = (LibraryFolderLink)current;
			Links.Save(currentFolderLink.Links, context);
			base.Save(context, current, withCommit);
		}
		public override void Delete(LibraryContext context)
		{
			var powerPointSettings = (PowerPointLinkSettings)Settings;
			powerPointSettings.ClearQuickViewContent();
			base.Delete(context);
		}
		public void LoadLibrary(LibraryContext libraryContext)
		{
			_libraryContext = libraryContext;
		}
		public override void Delete(LibraryContext context)
		{
			foreach (var libraryFolder in Folders.ToList())
				libraryFolder.Delete(context);
			Folders.Clear();
			foreach (var columnTitle in ColumnTitles.ToList())
				columnTitle.Delete(context);
			ColumnTitles.Clear();
			base.Delete(context);
		}
		public override void Save(LibraryContext context, IDbEntity<LibraryContext> current, bool withCommit = true)
		{
			var currentPage = (LibraryPage)current;
			Folders.Save(currentPage.Folders, context);
			Folders.Sort();
			ColumnTitles.Save(currentPage.ColumnTitles, context);
			base.Save(context, current, withCommit);
		}