NormalOperation class Null safety
A "normal" calculator operation that doesn't take any keyboard arguments. Generally, they perform some kind of calculation, or otherwise manipulate the model.
- Inheritance
-
- Object
- ProgramOperation
- Operation
- NoArgOperation
- NormalOperation
- Implemented types
- Implementers
Constructors
-
NormalOperation({void pressed(ActiveState)?, StackLift? stackLift, required void calc(Model<
ProgramOperation> m)?, required String name, bool endsDigitEntry = true, int maxOneByteOpcodes = 9999}) -
NormalOperation.differentFloatAndInt({void pressed(ActiveState)?, StackLift? stackLift, required void intCalc(Model<
ProgramOperation> ), required void floatCalc(Model<ProgramOperation> ), void complexCalc(Model<ProgramOperation> )?, required String name, bool endsDigitEntry = true, int maxOneByteOpcodes = 9999}) -
NormalOperation.floatOnly({void pressed(ActiveState)?, StackLift? stackLift, required void floatCalc(Model<
ProgramOperation> ), void complexCalc(Model<ProgramOperation> )?, required String name, bool endsDigitEntry = true, int maxOneByteOpcodes = 9999}) -
NormalOperation.intOnly({void pressed(ActiveState)?, StackLift? stackLift, required void intCalc(Model<
ProgramOperation> ), required String name, bool endsDigitEntry = true})
Properties
- arg → Arg
-
A description of this arguments operation, or ArgDone if there is none.
For example, the STO operation has an argument to indicate which register
to store to.
read-onlyinherited
- argShift → ProgramOperation?
-
If used as an argument, the shift key needed for that argument.
Rare: sto g
and rcl g do this. read-onlyinherited -
complexCalc
→ (void Function(Model<
ProgramOperation> m)?) -
The calculation performed when the calculator is in complex mode.
final
- debugLogId ↔ int
-
latefinalinherited
- endsDigitEntry → bool
-
final
-
floatCalc
→ (void Function(Model<
ProgramOperation> m)?) -
The calculation performed when the calculator is in floating-point mode.
final
- hashCode → int
-
The hash code for this object.
read-onlyinherited
-
intCalc
→ (void Function(Model<
ProgramOperation> m)?) -
The calculation performed when the calculator is in integer mode.
final
- isShift → bool
-
Is this the f or g shift key?
read-onlyinherited
- maxOneByteOpcodes → int
-
final
- name → String
-
Human-readable name for program listing
finalinherited
- numericValue → int?
-
Give the numeric value of a number key, or one of the 15C's
letters (which are 20..24).
cf. tests.dart, SelfTests.testNumbers().
read-onlyinherited
- opcode ↔ int
-
latefinalinherited
- programDisplay ↔ String
-
latefinalinherited
- programListing ↔ String
-
latefinalinherited
- programListingArgName → String?
-
Name for this key as an arg in the program listing, if other than the
default.
read-onlyinherited
- rcName ↔ String
-
The row/column "name", which for digits looks like " 1".
latefinalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
Methods
-
beforeCalculate(
Resting resting) → void -
inherited
-
calcDisabled(
Controller controller) → bool -
By default, operations, if present, work for all kinds of controllers,
but cf. BranchingOperation
inherited
-
getCalculation<
T extends ProgramOperation> (Model< ProgramOperation> m, DisplayModeSelector<(void Function(Model< selector) → (void Function(Model<ProgramOperation> )?), T>ProgramOperation> )?) -
override
-
handleOpBeforeCalculate(
Model< ProgramOperation> m, void opBeforeCalculate()) → void -
Execute the beforeCalculate function of the operation. Normally it
just executes, but some 15C operations can be deferred; this method
can be overridden to do that.
inherited
-
init(
int registerBase, {required OpInitFunction f, required ProgramOperation? shift, required bool argDot, required ProgramOperation? arg, required bool userMode}) → void -
inherited
-
liftStackIfEnabled(
Model< ProgramOperation> m) → bool -
override
-
makeInputState(
Arg arg, Controller c, LimitedState fromState) → ControllerState -
inherited
-
matches(
ProgramOperation key, bool userMode) → Arg? -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited
-
possiblyAlterStackLift(
Controller c) → void -
Either enable or disable stack lift, if appropriate, after this
operation's calculation is done. This will not be called if this
operation doesn't have a calculation (intCalc or floatCalc on itself,
or on its argument).
inherited
-
pressed(
LimitedState arg) → void -
What to do when the key is pressed.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited