コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        public static IHtmlContent RATabs <TModel>(
            this IHtmlHelper <TModel> htmlHelper,
            List <RATabItem> tabItems)
        {
            var tabs = new TabsView(tabItems);

            return(htmlHelper.EditorFor(x => tabs));
        }
コード例 #4
0
 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();
 }
コード例 #5
0
        /// <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();
            }
        }
コード例 #6
0
        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));
        }
コード例 #7
0
ファイル: RestoreTabs.cs プロジェクト: vildar82/AcadLib
        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");
            }
        }