void ReorderTabs(TabViewModel tab, bool moveUp) { if (moveUp && tab.TabOrder == 1) { return; } if (!moveUp && tab.TabOrder == Tabs.Max(x => x.TabOrder)) { return; } int currentPosition = Tabs.IndexOf(tab); int newPosition = moveUp ? currentPosition - 1 : currentPosition + 1; Tabs.Move(currentPosition, newPosition); int tabOrder = 1; foreach (var item in Tabs) { item.TabOrder = tabOrder; tabOrder++; Messenger.Default.Send <DatabaseMessage>(DatabaseMessage.Update(item.Model)); } // Refresh the view to reapply the sort TabsView.Refresh(); }
private async Task LoadTabs() { var stashData = Clipboard.GetText(); _tabs.Clear(); try { var tabs = (JArray)JObject.Parse(stashData)["tabs"]; foreach (var tab in tabs) { if (tab["hidden"].Value <bool>()) { continue; } var name = tab["n"].Value <string>(); var index = tab["i"].Value <int>(); var c = tab["colour"].Value <JObject>(); var color = Color.FromArgb(0xFF, c["r"].Value <byte>(), c["g"].Value <byte>(), c["b"].Value <byte>()); _tabs.Add(new StashBookmark(name, index, color)); } if (Build.League != null) { _persistenData.LeagueStashes[Build.League] = new List <StashBookmark>(_tabs); } } catch (Exception e) { await _dialogCoordinator.ShowErrorAsync(this, L10n.Message("An error occurred while attempting to load stash data."), e.Message); } TabsView.Refresh(); TabsView.MoveCurrentToFirst(); }
public static IHtmlContent RATabs <TModel>( this IHtmlHelper <TModel> htmlHelper, List <RATabItem> tabItems) { var tabs = new TabsView(tabItems); return(htmlHelper.EditorFor(x => tabs)); }
private void BuildOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs) { if (propertyChangedEventArgs != null && propertyChangedEventArgs.PropertyName == "League") { _tabs.Clear(); if (Build.League != null && _persistenData.LeagueStashes.ContainsKey(Build.League)) { _tabs.AddRange(_persistenData.LeagueStashes[Build.League]); } TabsView.Refresh(); TabsView.MoveCurrentToFirst(); } TabsLink = string.Format( "https://www.pathofexile.com/character-window/get-stash-items?tabs=1&tabIndex=0&league={0}&accountName={1}", Build.League, Build.AccountName); UpdateTabLink(); }
/// <summary> /// If we mess up the tab ordering just reset the order /// </summary> void FixTabOrdering() { int tabsWithDefaultOrder = Tabs.Count(x => x.TabOrder == 1); int tabsWithMaxOrder = Tabs.Count(x => x.TabOrder == Tabs.Max(m => m.TabOrder)); if (tabsWithDefaultOrder > 1 || tabsWithMaxOrder > 1) { int order = 1; foreach (var tab in Tabs.OrderBy(x => x.Title)) { tab.TabOrder = order; order++; Messenger.Default.Send <DatabaseMessage>(DatabaseMessage.Update(tab.Model)); } // Refresh the view to reapply the sort TabsView.Refresh(); } }
public ActionResult Index() { //Initialize the Tabs BAL object var tabsBal = new TabsBal(); //Get the Entity list var list = tabsBal.GetAllTabList(true, Helpers.GetLoggedInUserId()); //Intialize the View Model i.e. TabsView which is binded to Main View Index.cshtml under Tabs var tabsView = new TabsView { TabsList = list, CurrentTabs = new Tabs { IsActive = true, IsVisible = true } }; //Pass the View Model in ActionResult to View Tabs return(View(tabsView)); }
private static void Application_Idle(object sender, EventArgs e) { try { Application.Idle -= Application_Idle; Logger.Log.Info("RestoreTabs Application_Idle"); var tabVM = new TabsVM(_tabs); var tabsView = new TabsView(tabVM); if (Application.ShowModalWindow(tabsView) == true) { try { Application.DocumentManager.DocumentCreated -= DocumentManager_DocumentCreated; var closeDocs = Application.DocumentManager.Cast <Document>().Where(w => !w.IsNamedDrawing).ToList(); var tabsRestore = tabVM.Sessions.SelectMany(s => s.Tabs.Where(w => w.Restore)).Select(s => s.File).ToList(); if (tabVM.HasHistory) { tabsRestore = tabsRestore.Union(tabVM.History.Where(w => w.Restore).Select(s => s.File)).Distinct().ToList(); } foreach (var item in tabsRestore) { try { Application.DocumentManager.Open(item, false); } catch (Exception ex) { Inspector.AddError($"Ошибка открытия файла '{item}' - {ex.Message}"); } } // Закрыть пустые чертежи foreach (var doc in closeDocs) { try { doc.CloseAndDiscard(); } catch (Exception ex) { Logger.Log.Error(ex, "RestoreTabs. Закрыть пустые чертежи."); } } if (tabsRestore?.Any() == true) { LogRestoreTabs(tabsRestore); } } finally { Application.DocumentManager.DocumentCreated += DocumentManager_DocumentCreated; Inspector.Show(); } } if (tabVM.SessionCount != _tabs.SessionCount) { _tabs.SessionCount = tabVM.SessionCount; var tabsData = LoadData(); tabsData.Data.SessionCount = tabVM.SessionCount; tabsData.TrySave(); } } catch (Exception ex) { Logger.Log.Error(ex, "RestoreTabs.Application_Idle"); } }