예제 #1
0
        private void ListViewContextMenu_Opening(object sender, CancelEventArgs e)
        {
            var indexes = WatchListView.SelectedIndices;

            EditContextMenuItem.Visible                   =
                RemoveContextMenuItem.Visible             =
                    DuplicateContextMenuItem.Visible      =
                        PokeContextMenuItem.Visible       =
                            FreezeContextMenuItem.Visible =
                                Separator4.Visible        =
                                    ReadBreakpointContextMenuItem.Visible      =
                                        WriteBreakpointContextMenuItem.Visible =
                                            Separator6.Visible =
                                                InsertSeperatorContextMenuItem.Visible            =
                                                    MoveUpContextMenuItem.Visible                 =
                                                        MoveDownContextMenuItem.Visible           =
                                                            MoveTopContextMenuItem.Visible        =
                                                                MoveBottomContextMenuItem.Visible =
                                                                    indexes.Count > 0;

            ReadBreakpointContextMenuItem.Visible      =
                WriteBreakpointContextMenuItem.Visible =
                    Separator6.Visible =
                        SelectedWatches.Any() &&
                        Debuggable != null &&
                        Debuggable.MemoryCallbacksAvailable() &&
                        SelectedWatches.All(w => w.Domain.Name == (MemoryDomains != null ? MemoryDomains.SystemBus.Name : ""));

            PokeContextMenuItem.Enabled       =
                FreezeContextMenuItem.Visible =
                    SelectedIndices.Any() &&
                    SelectedWatches.All(w => w.Domain.CanPoke());

            var allCheats = SelectedWatches.All(x => Global.CheatList.IsActive(x.Domain, x.Address));

            if (allCheats)
            {
                FreezeContextMenuItem.Text  = "&Unfreeze Address";
                FreezeContextMenuItem.Image = Properties.Resources.Unfreeze;
            }
            else
            {
                FreezeContextMenuItem.Text  = "&Freeze Address";
                FreezeContextMenuItem.Image = Properties.Resources.Freeze;
            }

            UnfreezeAllContextMenuItem.Visible = Global.CheatList.ActiveCount > 0;

            ViewInHexEditorContextMenuItem.Visible = SelectedWatches.Count() == 1;

            newToolStripMenuItem.Visible = indexes.Count == 0;
        }
예제 #2
0
        private void ListViewContextMenu_Opening(object sender, CancelEventArgs e)
        {
            var indexes = WatchListView.SelectedIndices;

            EditContextMenuItem.Visible                   =
                RemoveContextMenuItem.Visible             =
                    DuplicateContextMenuItem.Visible      =
                        PokeContextMenuItem.Visible       =
                            FreezeContextMenuItem.Visible =
                                Separator6.Visible        =
                                    InsertSeperatorContextMenuItem.Visible      =
                                        MoveUpContextMenuItem.Visible           =
                                            MoveDownContextMenuItem.Visible     =
                                                Separator6.Visible              =
                                                    toolStripSeparator4.Visible =
                                                        indexes.Count > 0;

            var allCheats = _watches.All(x => Global.CheatList.IsActive(x.Domain, x.Address ?? 0));

            if (allCheats)
            {
                FreezeContextMenuItem.Text  = "&Unfreeze Address";
                FreezeContextMenuItem.Image = Properties.Resources.Unfreeze;
            }
            else
            {
                FreezeContextMenuItem.Text  = "&Freeze Address";
                FreezeContextMenuItem.Image = Properties.Resources.Freeze;
            }

            ShowChangeCountsContextMenuItem.Text  = Global.Config.RamWatchShowChangeColumn ? "Hide change counts" : "Show change counts";
            ShowPreviousValueContextMenuItem.Text = Global.Config.RamWatchShowPrevColumn ? "Hide previous value" : "Show previous value";
            ShowDiffContextMenuItem.Text          = Global.Config.RamWatchShowDiffColumn ? "Hide difference value" : "Show difference value";
            ShowDomainContextMenuItem.Text        = Global.Config.RamWatchShowDomainColumn ? "Hide domain" : "Show domain";

            UnfreezeAllContextMenuItem.Visible = Global.CheatList.ActiveCount > 0;

            ViewInHexEditorContextMenuItem.Visible = SelectedWatches.Count() == 1;
        }