public PanelView(IPanelPresenter presenter, IAddonManager addonManager, IPanelItemFactoryManager factoryManager) { InitializeComponent(); // init presenters m_Presenter = presenter; m_Presenter.View = this; m_AddonManager = addonManager; m_FactoryManager = factoryManager; // setup items cache var cache = new ListViewItemCache(this); //LV.CacheVirtualItems += m_Cache.CacheVirtualItems; LV.RetrieveVirtualItem += cache.RetrieveVirtualItem; // set dropdown direction for sub-menus (actual for dual-monitor system) //mComp.DropDownDirection = ToolStripDropDownDirection.AboveLeft; //mSendToNewTab.DropDownDirection = ToolStripDropDownDirection.AboveLeft; // focus listview when panel got focus GotFocus += (sender, args) => ActiveControl = LV; // set filter's presenter pFilter.Presenter = App.Resolve <IFilterPresenter>(); pFilter.Presenter.View = pFilter; }
public void Model_AfterAppendTab(object sender, PanelModelEventArgs e) { // create panel var panelView = View.CreatePanelView(e.Info); // set update event IPanelPresenter presenter = panelView.Presenter; presenter.Objects = e.Info; //m_View.SelectedIndex = m_View.TabPagesCount - 1; e.Info.Changed += (o, args) => presenter.UpdateItemsAndStatus(); e.Info.TabNameUpdated += InfoOnTabNameUpdated; e.Info.OnTabNameUpdated(); //e.Info.SubscriptionChanged += Item_SubscriptionChanged; // update items //e.Info.DataChanged(null, ConcreteSubject.s_UserItems); panelView.Presenter.ResetSortOrder(); e.Info.AsyncRetrieveData(false); }
internal void AddPanelPresenter(IPanelPresenter panelPresenter) { this.AddPresenter(GlobalPresenter.PanelPresenterKey, panelPresenter); }