public void SetLoadedModel(IPagesModel model) { if (model != null && model.Count > 0) { // add loaded tabs if present for (int index = 0; index < model.Count; index++) { var panelModel = model.GetItem(index); AddTab(panelModel); } if (model.SelectedIndex != -1) { SelectedIndex = model.SelectedIndex; } } if (Count == 0) { var root = m_FactoryManager.CreateDefaultRoot(DEFAULT1_PANELITEMTYPE); if (root == null) { root = m_FactoryManager.CreateDefaultRoot(DEFAULT2_PANELITEMTYPE); } if (root == null) { return; } // create default tab var info = App.Resolve <IPanelModel>(); info.SetDefaultRoot(root); info.DataType = App.PanelFillers.GetFillType(root).Name; AddTab(info); } }
public PagesPresenter(IPagesModel model) { if (model == null) { throw new ArgumentNullException("model"); } m_Model = model; App.Resolve <IDisposableManager>().RegisterInstance(this); m_Model.AfterAppendTab += Model_AfterAppendTab; m_Model.AfterRemove += Model_AfterRemove; m_Model.IndexChanged += Model_IndexChanged; }
public void LoadSettings(out IPagesModel model) { var fileFName = App.FolderManager.TabsConfigFileName; model = null; if (File.Exists(fileFName)) { try { model = (PagesModel) SerializeUtils.DeserializeObjectFromXmlFile(fileFName, typeof(PagesModel), m_FactoryManager.ToArray()); } catch (Exception ex) { Debug.Print(ex.Message); } } }