Esempio n. 1
0
        private void AssembleFile(AssemblyCommandParams asmParams)
        {
            AssemblyFileViewModel assembledFile = GetViewModelByFilePath(asmParams.InputFileName);

            if (assembledFile.AssembleFile(m_Assembler, asmParams.OutputFileName))
            {
                var fileAssembledMsg = new FileAssembledMessage(asmParams.OutputFileName);
                BroadcastMessage(fileAssembledMsg);
            }
        }
Esempio n. 2
0
        private void AssembleActiveFileAction(OutputTypes outputType)
        {
            AssemblyFileViewModel viewModel = m_EditorVm.ActiveFile;
            bool continueAssembling         = true;

            if (!viewModel.IsFileBackedPhysically)
            {
                SaveFileAction();

                // if this is still false, the user may have backed out of the save box.
                if (!viewModel.IsFileBackedPhysically)
                {
                    continueAssembling = false;
                }
            }
            else if (viewModel.AreAnyChangedUnsaved)
            {
                string       fileNameNoAsterisk = viewModel.FileName.Substring(0, viewModel.FileName.LastIndexOf('*'));
                DialogResult dr = MessageBox.Show(fileNameNoAsterisk + " has unsaved changes. Do you wish to save before running assembler?",
                                                  "Unsaved Changes",
                                                  MessageBoxButtons.YesNoCancel,
                                                  MessageBoxIcon.Question);

                switch (dr)
                {
                case DialogResult.Yes:
                {
                    SaveFileAction();
                    break;
                }

                case DialogResult.Cancel:
                {
                    continueAssembling = false;
                    break;
                }
                }
            }

            if (continueAssembling)
            {
                Cursor.Current = Cursors.WaitCursor;
                AssemblyCommandParams cmdParams = default(AssemblyCommandParams);
                cmdParams.InputFileName = viewModel.FilePath;
                string fileNoExt = viewModel.FilePath.Substring(0, viewModel.FilePath.LastIndexOf('.'));
                switch (outputType)
                {
                case OutputTypes.DirectBinary:
                {
                    cmdParams.OutputFileName = fileNoExt + ".jef";
                    break;
                }

                case OutputTypes.ELF:
                {
                    cmdParams.OutputFileName = fileNoExt + ".o";
                    break;
                }

                default:
                    System.Diagnostics.Debug.Assert(false);
                    break;
                }

                m_EditorVm.AssembleFileCmd.Execute(cmdParams);
                Cursor.Current = Cursors.Default;
            }
        }