Ejemplo n.º 1
0
        private void ConfigureComboBox(ComboBox cb)
        {
            // Show the Name field.
            cb.DisplayMember = "Name";

            cb.Items.Clear();
            IEnumerator <AssemblerInfo> iter = AssemblerInfo.GetInfoEnumerator();
            bool foundMatch = false;

            while (iter.MoveNext())
            {
                AssemblerInfo info = iter.Current;
                AsmComboItem  item = new AsmComboItem(info);
                cb.Items.Add(item);
                if (item.AssemblerId == mInitialAsmId)
                {
                    cb.SelectedItem = item;
                    foundMatch      = true;
                }
            }
            if (!foundMatch)
            {
                // Need to do this or box will show empty.
                cb.SelectedIndex = 0;
            }
        }
Ejemplo n.º 2
0
        private void pseudoOpSetButton_Click(object sender, EventArgs e)
        {
            AsmComboItem item = (AsmComboItem)pseudoOpQuickComboBox.SelectedItem;

            AssemblerInfo.Id  asmId = item.AssemblerId;
            AsmGen.IGenerator gen   = AssemblerInfo.GetGenerator(asmId);

            PseudoOp.PseudoOpNames       opNames;
            Asm65.Formatter.FormatConfig formatConfig;
            gen.GetDefaultDisplayFormat(out opNames, out formatConfig);
            ImportPseudoOpNames(opNames);

            // dirty flag set by change watchers if one or more fields have changed
        }
Ejemplo n.º 3
0
        private void displayFmtSetButton_Click(object sender, EventArgs e)
        {
            AsmComboItem item = (AsmComboItem)displayFmtQuickComboBox.SelectedItem;

            AssemblerInfo.Id  asmId = item.AssemblerId;
            AsmGen.IGenerator gen   = AssemblerInfo.GetGenerator(asmId);

            PseudoOp.PseudoOpNames       opNames;
            Asm65.Formatter.FormatConfig formatConfig;
            gen.GetDefaultDisplayFormat(out opNames, out formatConfig);

            SetWidthDisamSettings(formatConfig.mForceAbsOpcodeSuffix,
                                  formatConfig.mForceLongOpcodeSuffix,
                                  formatConfig.mForceAbsOperandPrefix,
                                  formatConfig.mForceLongOperandPrefix);
            SetExpressionStyle(formatConfig.mExpressionMode);
            // dirty flag set by change watchers if one or more fields have changed
        }
Ejemplo n.º 4
0
        private void asmExeBrowseButton_Click(object sender, EventArgs e)
        {
            AsmComboItem item = (AsmComboItem)asmConfigComboBox.SelectedItem;

            AssemblerInfo.Id asmId = item.AssemblerId;

            // Figure out what we're looking for.  For example, cc65 needs "cl65".
            AsmGen.IAssembler asm = AssemblerInfo.GetAssembler(asmId);
            asm.GetExeIdentifiers(out string humanName, out string exeName);

            // Ask the user to find it.
            string pathName = BrowseForExecutable(humanName, exeName);

            if (pathName != null)
            {
                asmExePathTextBox.Text = pathName;
                AssemblerConfig.SetConfig(mSettings, asmId, GetAsmConfigFromUi());
                SetDirty(true);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Populates the UI elements from the asm config item in the settings.  If that doesn't
        /// exist, use the default config.
        /// </summary>
        private void PopulateAsmConfigItems()
        {
            AsmComboItem item = (AsmComboItem)asmConfigComboBox.SelectedItem;

            AssemblerInfo.Id asmId = item.AssemblerId;

            AssemblerConfig config = AssemblerConfig.GetConfig(mSettings, asmId);

            if (config == null)
            {
                AsmGen.IAssembler asm = AssemblerInfo.GetAssembler(asmId);
                config = asm.GetDefaultConfig();
            }

            asmExePathTextBox.Text         = config.ExecutablePath;
            asmLabelColWidthTextBox.Text   = config.ColumnWidths[0].ToString();
            asmOpcodeColWidthTextBox.Text  = config.ColumnWidths[1].ToString();
            asmOperandColWidthTextBox.Text = config.ColumnWidths[2].ToString();
            asmCommentColWidthTextBox.Text = config.ColumnWidths[3].ToString();
        }
Ejemplo n.º 6
0
 public AsmComboItem(AssemblerInfo info)
 {
     AssemblerId = info.AssemblerId;
     Name        = info.Name;
 }