/// <summary>
 /// Compares two ModuleLoadInfos to determine they are pretty much the same or not
 /// </summary>
 /// <param name="mli"></param>
 /// <returns></returns>
 public bool Same(ModuleLoadInfo mli)
 {
     return(ViewName == mli.ViewName &&
            LoadCommand == mli.LoadCommand &&
            ((LoadParameter == null && mli.LoadParameter == null) ||
             (LoadParameter != null && LoadParameter.Equals(mli.LoadParameter))));
 }
 /// <summary>
 /// Compares two ModuleLoadInfos to determine they are pretty much the same or not
 /// </summary>
 /// <param name="mli"></param>
 /// <returns></returns>
 public bool Same(ModuleLoadInfo mli)
 {
     return (ViewName == mli.ViewName
             && LoadCommand == mli.LoadCommand
             && ((LoadParameter == null && mli.LoadParameter == null)
                 || (LoadParameter != null && LoadParameter.Equals(mli.LoadParameter))));
 }
        private void ExecuteOpenInHexViewerCommand(object cmdParam)
        {
            GpdFile gpd = SelectedFile.Name == _profile.TitleId.ToHex() + ".gpd"
                              ? _profile.ProfileInfo as GpdFile
                              : _profile.GetGameFile(SelectedFile.Name);

            if (gpd != null)
            {
                var mli = new ModuleLoadInfo
                              {
                                  ModuleName = "HexViewer",
                                  Title = SelectedFile.Name,
                                  LoadCommand = LoadCommand.Load,
                                  LoadParameter = new Tuple<byte[], BinMap>(gpd.Binary.ReadAll(), gpd.BinMap)
                              };
                EventAggregator.GetEvent<ModuleOpenEvent>().Publish(new ModuleOpenEventArgs(mli));
            }
        }