Beispiel #1
0
        public override void Do(ActionPerformerArgs actionPerformerArgs)
        {
            PanelSet   panelSet   = (PanelSet)actionPerformerArgs.Sender;
            PopupList  popupList  = new PopupList("Search result:");
            PopupInput popupInput = new PopupInput(panelSet, "Enter the name of a file or directory:", "Search");

            popupInput.Render();
            var userInput = popupInput.UserInputResult;

            popupList.ListView = new ListView <FileSystemInfo>(popupList.OffsetX, popupList.OffsetY, popupList.Height, 0,
                                                               popupList.BackgroundColor, popupList.ForegroundColor);
            popupList.ListView.Focused      = true;
            popupList.ListView.ColumnWidths = new List <int>()
            {
                30, 10, 10
            };
            popupList.ListView.Current = panelSet.FocusedPanel.Current;
            panelSet.Modal             = popupList;

            popupList.ListView.Items = GetAllFilesAndFolders((DirectoryInfo)popupList.ListView.Current).Where(i => i.Item.Name.Contains(userInput)).ToList();

            if (popupList.ListView.Items.Count > 0)
            {
                popupList.ListView.Current = panelSet.Modal.ListView.Items[0].Item;
            }
            else
            {
                return;
            }

            popupList.Render();
        }
Beispiel #2
0
 public void UpgradeNodeWithVersion(int newVersion)
 {
     if (sgVersion == 0 && newVersion > 0 && space == CoordinateSpace.World)
     {
         var names = validSpaces.Select(cs => cs.ToString().PascalToLabel()).ToArray();
         spacePopup = new PopupList(names, (int)CoordinateSpace.AbsoluteWorld);
     }
 }
Beispiel #3
0
 public override void UpgradeNodeWithVersion(int from, int to)
 {
     if (from == 0 && to == 1 && space == CoordinateSpace.World)
     {
         var names = validSpaces.Select(cs => cs.ToString().PascalToLabel()).ToArray();
         spacePopup = new PopupList(names, (int)CoordinateSpace.AbsoluteWorld);
     }
 }
        public override void CopyValuesFrom(MaterialSlot foundSlot)
        {
            var slot = foundSlot as DiffusionProfileInputMaterialSlot;

            if (slot != null)
            {
                diffusionProfile = slot.diffusionProfile;
            }
        }
    public AdvancedSearch(float x, float y, DeckEditorManager deck, DeckSearcher searcher)
    {
        GlobalVarAdvSearch.dropDownListOpen = false;

        _DeckSearcher = searcher;
        _DeckEditor = deck;
        /*
        _w *= _DeckEditor._xWindowScale;
        _h *= _DeckEditor._yWindowScale;
        */

        xScale = _DeckEditor._xWindowScale;
        yScale = _DeckEditor._yWindowScale;

        _x = x;
        _y = y;
        _Background = Resources.Load ("DeckEditor/AdvancedSearch") as Texture2D;
        _Data = new CardDataBase();
        AllCards = _Data.GetAllCards();

        _DropDownList = new PopupList((int)(_x + 80.0f), (int)(_y + 30.0f + 25.0f), 130, 20, 5);
        _DropDownList.Add("All");
        _DropDownList.Add("0");
        _DropDownList.Add("1");
        _DropDownList.Add("2");
        _DropDownList.Add("3");
        _DropDownList.Add("4");

        _ClanPopupList = new PopupList((int)(_x + 80), (int)(_y + 115), 130, 20, 5);
        _ClanPopupList.SetSliderYFactor(16.7f);
        _ClanPopupList.Add("All");
        _ClanPopupList.Add("Angel Feather");
        _ClanPopupList.Add("Aqua Force");
        _ClanPopupList.Add("Bermuda Triangle");
        _ClanPopupList.Add("Dark Irregulars");
        _ClanPopupList.Add("Dimension Police");
        _ClanPopupList.Add("Genesis");
        _ClanPopupList.Add("Gold Paladin");
        _ClanPopupList.Add("Granblue");
        _ClanPopupList.Add("Great Nature");
        _ClanPopupList.Add("Kagero");
        _ClanPopupList.Add("Link Joker");
        _ClanPopupList.Add("Megacolony");
        _ClanPopupList.Add("Murakumo");
        _ClanPopupList.Add("Narukami");
        _ClanPopupList.Add("Neo Nectar");
        _ClanPopupList.Add("Nova Grappler");
        _ClanPopupList.Add("Nubatama");
        _ClanPopupList.Add("Oracle Think Tank");
        _ClanPopupList.Add("Pale Moon");
        _ClanPopupList.Add("Royal Paladin");
        _ClanPopupList.Add("Shadow Paladin");
        _ClanPopupList.Add("Spike Brothers");
        _ClanPopupList.Add("Tachikaze");
    }
Beispiel #6
0
        public TextEditorPopup(TextEditorBox textEditorBox, Control keyboardReceiver)
        {
            InitializeComponent();
            this.textEditorBox    = textEditorBox;
            this.keyboardReceiver = keyboardReceiver;

            this.popupList          = new PopupList();
            this.popupList.Location = new Point(0, 0);
            this.Controls.Add(this.popupList);
            this.popupList.DoubleClick += new EventHandler(popupList_DoubleClick);
        }
Beispiel #7
0
        private void TapGestureRecognizer_Tapped(object sender, ListItemEventArgs e)
        {
            Item          = e.MyItem;
            selectedIndex = list.IndexOf(Item);
            var layout   = (StackLayout)sender;
            var checkbox = (Checkbox)layout.Children[1];

            TestMode.mname = Item.Name;
            if (name == null)
            {
                PopupList popupList = list[selectedIndex];
                popupList.Check           = true;
                PopupListView.ItemsSource = null;
                PopupListView.ItemsSource = list;
                MessagingCenter.Send(new PopupList()
                {
                    Myvalue = Item.Name
                }, "PopUpData");
            }
            else if (Item.Name.Contains(name) && name != null)
            {
                PopupList popupList = list[selectedIndex];
                popupList.Check           = true;
                PopupListView.ItemsSource = null;
                PopupListView.ItemsSource = list;
            }
            else if (name != Item.Name)
            {
                checkbox.IsChecked = false;
                PopupList popupList = list[selectedIndex];
                //CustomPopupList popupList2 = list[previousIndex];
                //popupList2.Check = false;
                MessagingCenter.Send(new PopupList()
                {
                    Myvalue = Item.Name
                }, "PopUpData");
                popupList.Check = true;
                PopupListView.BackgroundColor = Color.Green;
                PopupListView.ItemsSource     = null;
                PopupListView.ItemsSource     = list;
            }
            else
            {
                PopupList popupList = list[selectedIndex];
                popupList.Check           = true;
                PopupListView.ItemsSource = null;
                PopupListView.ItemsSource = list;
            }

            previousIndex = selectedIndex;
            name          = Item.Name;
            PopupNavigation.Instance.PopAsync(true);
        }
        public void HideTopPopup()
        {
            PopupList = PopupList.Where(x => x.IsOpen).Distinct().ToList();
            if (PopupList.Count == 0)
            {
                return;
            }

            var popup = PopupList.First();

            popup.Hide();
        }
Beispiel #9
0
        void OnValueChanged(ChangeEvent <string> evt)
        {
            var selectedIndex = popupField.index;

            if (selectedIndex != m_Slot.diffusionProfile.selectedEntry)
            {
                m_Slot.owner.owner.owner.RegisterCompleteObjectUndo("Change Diffusion Profile");

                PopupList popupList = m_Slot.diffusionProfile;
                popupList.selectedEntry = selectedIndex;
                m_Slot.diffusionProfile = popupList;
                m_Slot.owner.Dirty(ModificationScope.Graph);
            }
        }
 public ProfilerInstrumentationPopup(Dictionary <string, int> functions, bool showAllCheckbox, bool showAutoInstrumemtationParams)
 {
     this.m_ShowAutoInstrumemtationParams = showAutoInstrumemtationParams;
     this.m_ShowAllCheckbox = showAllCheckbox;
     this.m_AutoInstrumentedAssemblyTypes                 = (InstrumentedAssemblyTypes)SessionState.GetInt("ProfilerAutoInstrumentedAssemblyTypes", 0);
     this.m_FunctionsListInputData                        = new InputData();
     this.m_FunctionsListInputData.m_CloseOnSelection     = false;
     this.m_FunctionsListInputData.m_AllowCustom          = true;
     this.m_FunctionsListInputData.m_MaxCount             = 0;
     this.m_FunctionsListInputData.m_EnableAutoCompletion = false;
     this.m_FunctionsListInputData.m_SortAlphabetically   = true;
     this.m_FunctionsListInputData.m_OnSelectCallback     = new PopupList.OnSelectCallback(this.ProfilerInstrumentationPopupCallback);
     this.SetFunctions(functions);
     this.m_FunctionsList = new PopupList(this.m_FunctionsListInputData);
 }
Beispiel #11
0
    private void _bAddComRegistry_Click(object button, EventArgs e)
    {
        //HKCU\TypeLib\typelibGuid\version\
        var sFind = _tFindInList.Text;
        var rx    = new ARegex(@"(?i) (?:Type |Object )?Library[ \d\.]*$");
        var a     = new List <_RegTypelib>(1000);

        using (var tlKey = Registry.ClassesRoot.OpenSubKey("TypeLib")) {        //guids
            foreach (var sGuid in tlKey.GetSubKeyNames())
            {
                if (sGuid.Length != 38)
                {
                    continue;
                }
                //AOutput.Write(sGuid);
                using var guidKey = tlKey.OpenSubKey(sGuid);
                foreach (var sVer in guidKey.GetSubKeyNames())
                {
                    using var verKey = guidKey.OpenSubKey(sVer);
                    if (verKey.GetValue("") is string description)
                    {
                        if (rx.MatchG(description, out var g))
                        {
                            description = description.Remove(g.Start);
                        }
                        if (sFind.Length > 0 && description.Find(sFind, true) < 0)
                        {
                            continue;
                        }
                        a.Add(new _RegTypelib {
                            guid = sGuid, text = description + ", " + sVer, version = sVer
                        });
                    }                     //else AOutput.Write(sGuid); //some Microsoft typelibs. VS does not show these too.
                }
            }
        }
        if (a.Count == 0)
        {
            _NotFound(button, sFind); return;
        }
        a.Sort((x, y) => string.Compare(x.text, y.text, true));

        var dd = new PopupList {
            Items = a.ToArray(), SelectedAction = o => _ConvertTypeLibrary(o.ResultItem as _RegTypelib, button)
        };

        dd.Show(_bAddComRegistry);
    }
Beispiel #12
0
 public PopupView()
 {
     InitializeComponent();
     if (name != null)
     {
         PopupList custom  = list[selectedIndex];
         PopupList custom2 = list[previousIndex];
         custom2.Check             = false;
         custom.Check              = true;
         PopupListView.ItemsSource = null;
         PopupListView.ItemsSource = list;
     }
     else
     {
         PopupListView.ItemsSource = list;
     }
 }
        public override void Do(ActionPerformerArgs actionPerformerArgs)
        {
            PanelSet  panelSet  = (PanelSet)actionPerformerArgs.Sender;
            PopupList popupList = new PopupList("Select drive:");

            popupList.ListView = new ListView <FileSystemInfo>(popupList.OffsetX, popupList.OffsetY, popupList.Height, 0,
                                                               popupList.BackgroundColor, popupList.ForegroundColor);
            popupList.ListView.Focused      = true;
            popupList.ListView.ColumnWidths = new List <int>()
            {
                7, popupList.Width - 17, 10
            };
            popupList.ListView.Items = DriveInfo.GetDrives()
                                       .Where(d => d.IsReady)
                                       .Select(d => new ListViewItem <FileSystemInfo>(d.RootDirectory, d.RootDirectory.FullName, d.VolumeLabel, Utility.BytesToStringAsNormalizedSize(d.TotalSize)))
                                       .ToList();

            panelSet.Modal = popupList;
            popupList.Render();
        }
Beispiel #14
0
    void _AddFromWorkspace(Func <FileNode, FileNode> filter, List <string> metaList, object button)
    {
        var sFind = _tFindInList.Text;
        var a     = new List <string>();

        foreach (var f in Program.Model.Root.Descendants())
        {
            var f2 = filter(f);
            if (f2 == null)
            {
                continue;
            }
            var path = f2.ItemPath;
            if (sFind.Length > 0 && path.Find(sFind, true) < 0)
            {
                continue;
            }
            if (!metaList.Contains(path, StringComparer.OrdinalIgnoreCase))
            {
                a.Add(path);
            }
        }
        if (a.Count == 0)
        {
            _NotFound(button, sFind); return;
        }
        a.Sort();
        var dd = new PopupList {
            Items          = a.ToArray(),
            SelectedAction = o => {
                metaList.Add(o.ResultItem as string);
                _Added(button, metaList);
            }
        };

        dd.Show(button as Control);
    }
Beispiel #15
0
    //// GUI GUI

    void OnGUI()
    {
        //boxStyle = ;
        GUI.skin.label.normal.textColor  = Color.black;
        GUI.skin.toggle.normal.textColor = Color.black;

        // LOGO
        GUI.BeginGroup(new Rect(0, 0, 1024, 200));
        GUI.Label(new Rect(0, 0, 1024, 163), logo);
        GUI.EndGroup();


        GUI.BeginGroup(new Rect(Screen.width / 2 - 400, 100, 800, 600));
        //GUILayout.BeginVertical();
        GUI.Box(new Rect(0, 0, 800, 600), "");



        /*
         *    GUILayout.BeginVertical();
         *
         *    GUILayout.TextField("Im a textfield");
         *
         *    blnToggleState = GUILayout.Toggle(blnToggleState, "Im a Toggle button");
         *    GUILayout.EndVertical();
         *    GUILayout.BeginVertical();
         *
         *
         *
         * //   fltScrollerValue = GUILayout.VerticalScrollbar(fltScrollerValue, 0.1f, 0.0f, 1.1f, GUILayout.Height(290));
         *
         * GUILayout.EndVertical();
         * GUILayout.EndHorizontal();
         */



        GUI.BeginGroup(new Rect(20, 80, 800, 600));
        GUI.skin = thisMetalGUISkin;
        //	GUILayout.Label("3D Graphics Settings");

        //toolbarInt = GUILayout.Toolbar(toolbarInt, toolbarStrings);

        GUILayout.BeginHorizontal();
        GUILayout.Label("Experiments:");
        GUILayout.Space(90);
        GUILayout.Label("Subjects:");

        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();

        GUILayout.BeginVertical();
        GUI.Box(new Rect(0, 25, 300, 300), "");
        scrollLevelListPosition  = GUILayout.BeginScrollView(scrollLevelListPosition, GUILayout.Width(300), GUILayout.Height(300));
        newCurrentLevelSelection = SelectList.List(levelList, currentLevelSelection, listStyle, listSelectedStyle);
        if (newCurrentLevelSelection != currentLevelSelection)
        {
            currentLevelSelection = newCurrentLevelSelection;
            initSubjects();
            errorText = "";
        }
        currentLevelSelection = newCurrentLevelSelection;
        GUILayout.EndScrollView();

        GUILayout.BeginHorizontal();
        GUILayout.Label("New Subject:");
        subject = GUILayout.TextField(subject);
        subject = subject.Trim();

        GUILayout.EndHorizontal();


        GUILayout.BeginHorizontal();
        GUILayout.Label("Config File:");
        configfile = GUILayout.TextField(configfile);
        configfile = configfile.Trim();

        GUILayout.EndHorizontal();



        if (GUI.Button(new Rect(0, 450, 200, 30), "Start New Experiment"))
        {
            startNewExperiment();
        }

        if (GUI.Button(new Rect(405, 450, 200, 30), "Resume Experiment"))
        {
            if (subjectslist.Length > 0)
            {
                config.runMode = ConfigRunMode.RESUME;
                //run();
            }
            else
            {
                errorText = "Please select a subject";
            }
        }



        GUILayout.EndVertical();


        //SUBJECTS
        GUILayout.Space(100);
        GUILayout.BeginVertical();
        GUI.Box(new Rect(400, 25, 300, 300), "");
        scrollSubjectListPosition  = GUILayout.BeginScrollView(scrollSubjectListPosition, GUILayout.Width(300), GUILayout.Height(300));
        newCurrentSubjectSelection = SelectList.List(subjectslist, currentSubjectSelection, listStyle, listSelectedStyle);
        if (newCurrentSubjectSelection != currentSubjectSelection)
        {
            currentSubjectSelection = newCurrentSubjectSelection;
            initSessions();
            errorText = "";
        }
        currentSubjectSelection = newCurrentSubjectSelection;
        GUILayout.EndScrollView();

        //draw last so it's on top

        if (PopupList.List(
                new Rect(405, 330, 120, 20),
                ref showSessList,
                ref sessEntry,
                new GUIContent(selectSession),
                sesslist,
                popupStyle))
        {
            sesspicked = true;
        }

        GUI.Label(new Rect(512, 333, 16, 16), pulldown);

        //Debug.Log(sessEntry);
        if (sesspicked)
        {
            selectSession = sesslist[sessEntry].text;
        }


        if (GUI.Button(new Rect(530, 330, 150, 20), "Playback Session"))
        {
            if (subjectslist.Length > 0)
            {
                config.runMode = ConfigRunMode.PLAYBACK;

                subject = subjectslist[currentSubjectSelection].text;
                ///Debug.Log(sub);
                run();
            }
            else
            {
                errorText = "Please select a subject";
            }
        }

        GUILayout.EndVertical();



        GUILayout.EndHorizontal();
        GUI.Label(new Rect(0, 495, 325, 30), errorText, errorStyle);
        GUI.EndGroup();


        ///////////////////
        /// top section
        ///////////////////

        GUI.BeginGroup(new Rect(20, 20, 900, 600));
        GUILayout.BeginVertical();
        GUILayout.BeginHorizontal();
        fsToggleState      = GUI.Toggle(new Rect(260, 0, 100, 20), fsToggleState, "No Full Screen");
        noEEGToggleState   = GUI.Toggle(new Rect(380, 0, 100, 20), noEEGToggleState, "No EEG");
        showFPSToggleState = GUI.Toggle(new Rect(490, 0, 100, 20), showFPSToggleState, "Show FPS");
        //enableSkipStateToggleState = GUI.Toggle(new Rect (580, 0, 100, 20),showFPSToggleState, "Enable Skip Task Key");
        GUILayout.EndHorizontal();


        //GUI.Label(new Rect (0, 30, 125, 20), "Working Directory:");

        //home2 = GUI.TextField(new Rect(120,30, 550, 20),home);
        if (home2 != home)
        {
            initSubjects();
        }
        home = home2;

        //draw last so it's on top
        GUI.Label(new Rect(0, 0, 145, 20), "Screen Resolution:");
        if (PopupList.List(
                new Rect(120, 0, 120, 20),
                ref showList,
                ref listEntry,
                new GUIContent(selectRes),
                reslist,
                popupStyle))
        {
            picked = true;
        }

        GUI.Label(new Rect(226, 3, 16, 16), pulldown);

        if (picked)
        {
            selectRes = reslist[listEntry].text;
        }

        GUILayout.EndVertical();
        GUI.EndGroup();


        GUI.EndGroup();

        GUI.Label(new Rect(Screen.width / 2 + 330, 705, 300, 30), "Version: " + config.version);
    }
    public void ReloadDeckList()
    {
        string[] deckNames = Directory.GetFiles("Deck");

        decklist = new PopupList((int)(_x + (15.0f + 230.0f)), (int)(_y + (40.0f)), 200, 20, 5);
        //decklist.SetSliderYFactor((16.8f/24.0f) * decklist.GetNumOptions());
        for(int i = 0; i < deckNames.Length; i++)
        {
            decklist.Add(deckNames[i].Substring(5, deckNames[i].Length - 5 - 4));
        }
    }
    public DeckInformation(float x, float y, DeckEditorManager deck)
    {
        restrictedList = new RCL_Official();
        restrictedList.SetDeckInformation(this);

        CardList = new int[Enum.GetNames(typeof(CardIdentifier)).Length];
        CardLimit = new int[Enum.GetNames(typeof(CardIdentifier)).Length];

        for(int i = 0; i < CardList.Length; i++)
        {
            CardList[i] = 0;
            CardLimit[i] = 4;
        }

        CardLimit[(int)CardIdentifier.MASS_PRODUCTION_SAILOR] = 16;

        _DeckEditor = deck;

        xCorr = _DeckEditor._xWindowScale;
        yCorr = _DeckEditor._yWindowScale;

        textStyle = new GUIStyle();
        textStyle.fontSize = (int)(15  * xCorr);
        textStyle.normal.textColor = Color.white;

        _x = x;
        _y = y;
        _Background = Resources.Load ("DeckEditor/DeckInformation") as Texture2D;

        if(!Directory.Exists("Deck"))
        {
            Directory.CreateDirectory("Deck");
        }

        string[] deckNames = Directory.GetFiles("Deck");

        bool bAddDummy = false;
        int len = deckNames.Length;
        if(len == 0)
        {
            bAddDummy = true;
            len++;
        }

        decklist = new PopupList((int)(_x + (15.0f + 230.0f)), (int)(_y + (40.0f)), 200, 20, 5);
        //decklist.SetSliderYFactor((16.8f/24.0f) * decklist.GetNumOptions());

        for(int i = 0; i < deckNames.Length; i++)
        {
            decklist.Add(deckNames[i].Substring(5, deckNames[i].Length - 5 - 4));
            Debug.Log (deckNames[i].Substring(5, deckNames[i].Length - 5 - 4));
        }

        if(bAddDummy)
        {
            decklist.Add("No deck");
        }

        string defaultDeck = PlayerPrefs.GetString("DefaultDeck");

        if(defaultDeck != "")
        {
            decklist.SelectOptionWithValue(defaultDeck);
        }

        _DeckEditor.DeckName = decklist.GetValue();
        //decklist.GetValue();
    }
    private void SetPlayerDeckList()
    {
        string[] deckNames = Directory.GetFiles("Deck");

        bool bAddDummy = false;
        int len = deckNames.Length;
        if(len == 0)
        {
            bAddDummy = true;
            len++;
        }

        decklist = new PopupList((int)(_xAvatar + 128 - 100), (int)(_y + settingsBackground.height - 50), 200, 20, 8);
        for(int i = 0; i < deckNames.Length; i++)
        {
            decklist.Add(deckNames[i].Substring(5, deckNames[i].Length - 5 - 4));
        }

        if(bAddDummy)
        {
            decklist.Add("No deck");
        }

        string defaultDeck = PlayerPrefs.GetString("DefaultDeck");

        if(defaultDeck != "")
        {
            decklist.SelectOptionWithValue(defaultDeck);
        }
    }
        private void InitializeWidget(LayoutOrientation orientation)
        {
            PopupListShowButton = new Button();
            PopupListShowButton.Name = "PopupListShowButton";
            DialogShowButton = new Button();
            DialogShowButton.Name = "DialogShowButton";
            Label_1 = new Label();
            Label_1.Name = "Label_1";
            PopupList = new PopupList();
            PopupList.Name = "PopupList";
            bgmButton = new Button();
            bgmButton.Name = "bgmButton";

            // PopupListShowButton
            PopupListShowButton.TextColor = new UIColor(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
            PopupListShowButton.TextFont = new Font( FontAlias.System, 12, FontStyle.Regular);
            PopupListShowButton.BackgroundFilterColor = new UIColor(0f / 255f, 0f / 255f, 0f / 255f, 255f / 255f);

            // DialogShowButton
            DialogShowButton.TextColor = new UIColor(255f / 255f, 255f / 255f, 255f / 255f, 255f / 255f);
            DialogShowButton.TextFont = new Font( FontAlias.System, 12, FontStyle.Regular);
            DialogShowButton.BackgroundFilterColor = new UIColor(0f / 255f, 0f / 255f, 0f / 255f, 255f / 255f);

            // Label_1
            Label_1.TextColor = new UIColor(0f / 255f, 0f / 255f, 0f / 255f, 255f / 255f);
            Label_1.Font = new Font( FontAlias.System, 25, FontStyle.Regular);
            Label_1.LineBreak = LineBreak.Character;

            // PopupList
            PopupList.TextColor = new UIColor(0f / 255f, 0f / 255f, 0f / 255f, 255f / 255f);
            PopupList.Font = new Font( FontAlias.System, 25, FontStyle.Regular);

            // bgmButton
            bgmButton.TextColor = new UIColor(0f / 255f, 0f / 255f, 0f / 255f, 255f / 255f);
            bgmButton.TextFont = new Font( FontAlias.System, 25, FontStyle.Regular);

            // Scene
            this.RootWidget.AddChildLast(PopupListShowButton);
            this.RootWidget.AddChildLast(DialogShowButton);
            this.RootWidget.AddChildLast(Label_1);
            this.RootWidget.AddChildLast(PopupList);
            this.RootWidget.AddChildLast(bgmButton);
            this.Showing += new EventHandler(onShowing);
            this.Shown += new EventHandler(onShown);

            SetWidgetLayout(orientation);

            UpdateLanguage();
        }
        public object Execute(object sender, object parameter)
        {
            var notification = parameter as ShowSettingsFlyoutNotification;

            if (notification == null)
            {
                return(null);
            }

            ExtendedSettingsFlyout settingsFlyout;
            IEnumerable <ExtendedSettingsFlyout> settingsFlyoutList;

            switch (notification.SettingsFlyoutType)
            {
            case "ImagePreview":
                var mediaEntity = notification.Content as MediaEntity;
                if (mediaEntity?.ParentEntities == null)
                {
                    return(null);
                }

                if (_imagePreviewPopup == null)
                {
                    _imagePreviewPopup = new ImagePreviewPopup();
                }

                _imagePreviewPopup.Images     = mediaEntity.ParentEntities.Media.Where(x => x.Type == "Image").ToList();
                _imagePreviewPopup.ImageIndex = _imagePreviewPopup.Images.IndexOf(mediaEntity);

                _imagePreviewPopup.ImageRefresh();

                _imagePreviewPopup.Show();

                PopupList.Insert(0, _imagePreviewPopup);
                break;

            case "VideoPreview":
                var videoEntity = notification.Content as MediaEntity;

                if (_videoPreviewPopup == null)
                {
                    _videoPreviewPopup = new VideoPreviewPopup();
                }

                _videoPreviewPopup.Id                = videoEntity.VideoInfo.VideoId;
                _videoPreviewPopup.VideoWebUrl       = videoEntity.ExpandedUrl;
                _videoPreviewPopup.VideoThumbnailUrl = videoEntity.MediaThumbnailUrl;
                _videoPreviewPopup.VideoType         = videoEntity.VideoInfo.VideoType;
                _videoPreviewPopup.VideoContentType  = videoEntity.VideoInfo.VideoContentType;
                _videoPreviewPopup.VideoChanged();

                _videoPreviewPopup.Show();
                PopupList.Insert(0, _videoPreviewPopup);
                break;

            case "Search":
                if (_settingsFlyoutList.Count(x => x.IsOpen) > 0)
                {
                    break;
                }

                settingsFlyoutList = _settingsFlyoutList.Where(x => x is SearchSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new SearchSettingsFlyout();
                    ((SearchSettingsFlyout)settingsFlyout).ViewModel   = new SearchSettingsFlyoutViewModel();
                    ((SearchSettingsFlyout)settingsFlyout).DataContext =
                        ((SearchSettingsFlyout)settingsFlyout).ViewModel;
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((SearchSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((SearchSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((SearchSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((SearchSettingsFlyout)settingsFlyout).ViewModel.StatusSearchWords.Value =
                    notification.Content as string;

                settingsFlyout.Show();

                if (!string.IsNullOrWhiteSpace(notification.Content as string))
                {
                    ((SearchSettingsFlyout)settingsFlyout).ViewModel.UpdateStatusSearchCommand.Execute();
                }
                else
                {
                    ((SearchSettingsFlyout)settingsFlyout).FocusToStatusSearchBox();
                }

                PopupList.Insert(0, settingsFlyout);
                break;

            case "UserProfile":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is UserProfileSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new UserProfileSettingsFlyout();
                    ((UserProfileSettingsFlyout)settingsFlyout).ViewModel =
                        new UserProfileSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((UserProfileSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((UserProfileSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((UserProfileSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                if (notification.Content is long)
                {
                    ((UserProfileSettingsFlyout)settingsFlyout).ViewModel.UserId.Value =
                        (long)notification.Content;
                }
                else
                {
                    ((UserProfileSettingsFlyout)settingsFlyout).ViewModel.ScreenName.Value =
                        notification.Content as string;
                }

                ((UserProfileSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "Conversation":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is ConversationSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new ConversationSettingsFlyout();
                    ((ConversationSettingsFlyout)settingsFlyout).ViewModel =
                        new ConversationSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((ConversationSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((ConversationSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((ConversationSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((ConversationSettingsFlyout)settingsFlyout).ViewModel.ConversationStatus.Value =
                    notification.Content as Status;

                ((ConversationSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "StatusDetail":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is StatusDetailSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new StatusDetailSettingsFlyout();
                    ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel =
                        new StatusDetailSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                if (notification.Content is Status)
                {
                    var status = notification.Content as Status;
                    ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel.Model.Status   = status;
                    ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel.StatusId.Value = status.Id;
                }
                else if (notification.Content is long)
                {
                    var statusId = (long)notification.Content;
                    ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel.StatusId.Value = statusId;
                    ((StatusDetailSettingsFlyout)settingsFlyout).ViewModel.UpdateStatusCommand.Execute();
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "DirectMessageConversation":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is DirectMessageConversationSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new DirectMessageConversationSettingsFlyout();
                    ((DirectMessageConversationSettingsFlyout)settingsFlyout).ViewModel =
                        new DirectMessageConversationSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((DirectMessageConversationSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value =
                    notification.UserIcon;
                ((DirectMessageConversationSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value =
                    notification.Tokens;

                ((DirectMessageConversationSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((DirectMessageConversationSettingsFlyout)settingsFlyout).ViewModel.UserId.Value = (long)notification.Content;

                ((DirectMessageConversationSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((DirectMessageConversationSettingsFlyout)settingsFlyout).DataContext =
                    ((DirectMessageConversationSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "UserLists":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is UserListsSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new UserListsSettingsFlyout();
                    ((UserListsSettingsFlyout)settingsFlyout).ViewModel = new UserListsSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((UserListsSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((UserListsSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((UserListsSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((UserListsSettingsFlyout)settingsFlyout).ViewModel.UserId.Value =
                    (long)notification.Content;

                ((UserListsSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((UserListsSettingsFlyout)settingsFlyout).DataContext =
                    ((UserListsSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "UserCollections":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is UserCollectionsSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new UserCollectionsSettingsFlyout();
                    ((UserCollectionsSettingsFlyout)settingsFlyout).ViewModel =
                        new UserCollectionsSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((UserCollectionsSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((UserCollectionsSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((UserCollectionsSettingsFlyout)settingsFlyout).ViewModel.UserId.Value =
                    (long)notification.Content;

                ((UserCollectionsSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((UserCollectionsSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((UserCollectionsSettingsFlyout)settingsFlyout).DataContext =
                    ((UserCollectionsSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "ListStatuses":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is ListStatusesSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new ListStatusesSettingsFlyout();
                    ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel =
                        new ListStatusesSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel.Id.Value       = ((List)notification.Content).Id;
                ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel.FullName.Value =
                    ((List)notification.Content).FullName;

                ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((ListStatusesSettingsFlyout)settingsFlyout).DataContext =
                    ((ListStatusesSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "ListMembers":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is ListMembersSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new ListMembersSettingsFlyout();
                    ((ListMembersSettingsFlyout)settingsFlyout).ViewModel =
                        new ListMembersSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((ListMembersSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((ListMembersSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((ListMembersSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((ListMembersSettingsFlyout)settingsFlyout).ViewModel.Id.Value = ((List)notification.Content).Id;

                ((ListMembersSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((ListMembersSettingsFlyout)settingsFlyout).DataContext =
                    ((ListMembersSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "CollectionStatuses":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is CollectionStatusesSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new CollectionStatusesSettingsFlyout();
                    ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel =
                        new CollectionStatusesSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value =
                    notification.UserIcon;
                ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value = notification.Tokens;

                ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel.Id.Value =
                    ((Collection)notification.Content).Id;
                ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel.Name.Value =
                    ((Collection)notification.Content).Name + " - @" +
                    ((Collection)notification.Content).User.ScreenName;

                ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((CollectionStatusesSettingsFlyout)settingsFlyout).DataContext =
                    ((CollectionStatusesSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "Retweeters":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is RetweetersSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new RetweetersSettingsFlyout();
                    ((RetweetersSettingsFlyout)settingsFlyout).ViewModel = new RetweetersSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((RetweetersSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((RetweetersSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((RetweetersSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((RetweetersSettingsFlyout)settingsFlyout).ViewModel.Id.Value = ((Status)notification.Content).Id;

                ((RetweetersSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((RetweetersSettingsFlyout)settingsFlyout).DataContext =
                    ((RetweetersSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "RetweetsOfMe":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is RetweetsOfMeSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new RetweetsOfMeSettingsFlyout();
                    ((RetweetsOfMeSettingsFlyout)settingsFlyout).ViewModel =
                        new RetweetsOfMeSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((RetweetsOfMeSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((RetweetsOfMeSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((RetweetsOfMeSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();
                ((RetweetsOfMeSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((RetweetsOfMeSettingsFlyout)settingsFlyout).DataContext =
                    ((RetweetsOfMeSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "UserFollowInfo":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is UserFollowInfoSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new UserFollowInfoSettingsFlyout();
                    ((UserFollowInfoSettingsFlyout)settingsFlyout).ViewModel =
                        new UserFollowInfoSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((UserFollowInfoSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((UserFollowInfoSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((UserFollowInfoSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();
                ((UserFollowInfoSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((UserFollowInfoSettingsFlyout)settingsFlyout).DataContext =
                    ((UserFollowInfoSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "PublicTimeline":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is PublicTimelineSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new PublicTimelineSettingsFlyout();
                    ((PublicTimelineSettingsFlyout)settingsFlyout).ViewModel =
                        new PublicTimelineSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((PublicTimelineSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value = notification.UserIcon;
                ((PublicTimelineSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value     = notification.Tokens;

                ((PublicTimelineSettingsFlyout)settingsFlyout).ViewModel.Type.Value =
                    (string)notification.Content;

                ((PublicTimelineSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();
                ((PublicTimelineSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((PublicTimelineSettingsFlyout)settingsFlyout).DataContext =
                    ((PublicTimelineSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "AddToCollection":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is AddStatusToCollectionSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new AddStatusToCollectionSettingsFlyout();
                    ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel =
                        new AddStatusToCollectionSettingsFlyoutViewModel();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel.IconSource.Value =
                    notification.UserIcon;
                ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel.Tokens.Value = notification.Tokens;

                ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel.ClearCommand.Execute();

                ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel.UserId.Value =
                    notification.Tokens.UserId;
                ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel.Status.Value =
                    (Status)notification.Content;

                ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel.UpdateCommand.Execute();

                ((AddStatusToCollectionSettingsFlyout)settingsFlyout).DataContext =
                    ((AddStatusToCollectionSettingsFlyout)settingsFlyout).ViewModel;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "MainSetting":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is MainSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new MainSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "BehaviorSetting":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is BehaviorSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new BehaviorSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "PostingSetting":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is PostingSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new PostingSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "DisplaySetting":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is DisplaySettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new DisplaySettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "NotificationSetting":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is NotificationSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new NotificationSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "MuteSetting":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is MuteSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new MuteSettingSettingsFlyout();
                    ((MuteSettingSettingsFlyout)settingsFlyout).ViewModel =
                        new MuteSettingSettingsFlyoutViewModel();
                    settingsFlyout.DataContext = ((MuteSettingSettingsFlyout)settingsFlyout).ViewModel;
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((MuteSettingSettingsFlyout)settingsFlyout).ViewModel.MuteFilter.Value =
                    SettingService.Setting.MuteFilter;
                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "DatabaseSetting":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is DatabaseSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new DatabaseSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "AccountsSetting":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is AccountsSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new AccountsSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "AccountSetting":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is AccountSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new AccountSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((AccountSettingSettingsFlyout)settingsFlyout).ViewModel = notification.Content as AccountSetting;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "AdvancedSetting":
                settingsFlyoutList =
                    _settingsFlyoutList.Where(x => x is AdvancedSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new AdvancedSettingSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "ColumnSetting":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is ColumnSettingSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new ColumnSettingSettingsFlyout();
                    ((ColumnSettingSettingsFlyout)settingsFlyout).ViewModel =
                        new ColumnSettingSettingsFlyoutViewModel();
                    settingsFlyout.DataContext = ((ColumnSettingSettingsFlyout)settingsFlyout).ViewModel;
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                ((ColumnSettingSettingsFlyout)settingsFlyout).ViewModel.ColumnSetting.Value =
                    notification.Content as ColumnSetting;

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "AppInfo":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is AppInfoSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new AppInfoSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;

            case "AccountChange":
                settingsFlyoutList = _settingsFlyoutList.Where(x => x is AccountChangeSettingsFlyout && !x.IsOpen);
                if (settingsFlyoutList.Any())
                {
                    settingsFlyout = settingsFlyoutList.First();
                }
                else
                {
                    settingsFlyout = new AccountChangeSettingsFlyout();
                    _settingsFlyoutList.Add(settingsFlyout);
                }

                settingsFlyout.Show();

                PopupList.Insert(0, settingsFlyout);
                break;
            }

            PopupList = PopupList.Where(x => x.IsOpen).Distinct().ToList();

            return(null);
        }
Beispiel #21
0
 public ListItemEventArgs(PopupList item)
 {
     this.MyItem = item;
 }