mirror of
https://github.com/fadden/6502bench.git
synced 2024-12-02 13:51:36 +00:00
Minor tweak to instruction operand editor
If you put a value in the "symbol" field of an instruction with an address operand, you're establishing a symbolic reference to a label that may be at a different address than the numeric value of the operand. But if you then hit the "edit label" button, you'll edit the label at the *numeric* reference address, which can be confusing. We now disable the create/edit label button when the format has been set to "symbol". The button is just a short-cut, so disabling it doesn't prevent the user from doing anything.
This commit is contained in:
parent
5ee01ee8a4
commit
d7dbd8d012
@ -169,7 +169,7 @@ limitations under the License.
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Button Width="150" Margin="0,8,0,0" HorizontalAlignment="Left"
|
<Button Width="150" Margin="0,8,0,0" HorizontalAlignment="Left"
|
||||||
Content="{Binding CreateEditLabelText, FallbackValue=Diddle Label}"
|
Content="{Binding CreateEditLabelText, FallbackValue=Diddle Label}"
|
||||||
Click="EditLabel_Click"/>
|
IsEnabled="{Binding IsDiddleLabelEnabled}" Click="EditLabel_Click"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<StackPanel Visibility="{Binding ShowNarExternalSymbol, Converter={StaticResource BoolToVis}}">
|
<StackPanel Visibility="{Binding ShowNarExternalSymbol, Converter={StaticResource BoolToVis}}">
|
||||||
|
@ -308,6 +308,12 @@ namespace SourceGen.WpfGui {
|
|||||||
SymbolValueHex = SYMBOL_NOT_USED;
|
SymbolValueHex = SYMBOL_NOT_USED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We want to disable the create/edit label button if a symbol has been
|
||||||
|
// specified, because the label being edited is the one that the numeric
|
||||||
|
// reference points to, not the one the symbol points to.
|
||||||
|
// TODO(maybe): leave it enabled if the symbolic ref matches the numeric ref.
|
||||||
|
IsDiddleLabelEnabled = !FormatSymbol;
|
||||||
|
|
||||||
UpdatePreview();
|
UpdatePreview();
|
||||||
UpdateCopyToOperand();
|
UpdateCopyToOperand();
|
||||||
}
|
}
|
||||||
@ -857,6 +863,12 @@ namespace SourceGen.WpfGui {
|
|||||||
}
|
}
|
||||||
private bool mIsCopyToOperandEnabled;
|
private bool mIsCopyToOperandEnabled;
|
||||||
|
|
||||||
|
public bool IsDiddleLabelEnabled {
|
||||||
|
get { return mIsDiddleLabelEnabled; }
|
||||||
|
set { mIsDiddleLabelEnabled = value; OnPropertyChanged(); }
|
||||||
|
}
|
||||||
|
private bool mIsDiddleLabelEnabled;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Edited label value. Will be null if the label hasn't been created, or has been
|
/// Edited label value. Will be null if the label hasn't been created, or has been
|
||||||
/// deleted (by entering a blank string in the label edit box).
|
/// deleted (by entering a blank string in the label edit box).
|
||||||
@ -889,7 +901,7 @@ namespace SourceGen.WpfGui {
|
|||||||
private DefSymbol mEditedProjectSymbol;
|
private DefSymbol mEditedProjectSymbol;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configures the UI in the local variables box at load time.
|
/// Configures the UI in the Numeric Address Reference box at load time.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void NumericReferences_Loaded() {
|
private void NumericReferences_Loaded() {
|
||||||
SymbolEditOffsetResult = -1;
|
SymbolEditOffsetResult = -1;
|
||||||
@ -1121,7 +1133,7 @@ namespace SourceGen.WpfGui {
|
|||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configures the UI in the local variables box at load time.
|
/// Configures the UI in the Local Variable box at load time.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void LocalVariables_Loaded() {
|
private void LocalVariables_Loaded() {
|
||||||
if (!mOpDef.IsDirectPageInstruction && !mOpDef.IsStackRelInstruction) {
|
if (!mOpDef.IsDirectPageInstruction && !mOpDef.IsStackRelInstruction) {
|
||||||
|
Loading…
Reference in New Issue
Block a user