@itwin/core-frontend 5.0.0-dev.24 → 5.0.0-dev.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@ import { StandardViewId } from "./StandardView";
10
10
  import { BeButtonEvent } from "./tools/Tool";
11
11
  import { DecorateContext } from "./ViewContext";
12
12
  import { ScreenViewport, Viewport } from "./Viewport";
13
- import { ParserSpec } from "@itwin/core-quantity";
13
+ import { FormatterSpec, ParserSpec } from "@itwin/core-quantity";
14
14
  /** @internal */
15
15
  export declare enum AccuDrawFlags {
16
16
  None = 0,
@@ -189,7 +189,9 @@ export declare class AccuDraw {
189
189
  /** Current AccuDraw state */
190
190
  get currentState(): CurrentState;
191
191
  set currentState(state: CurrentState);
192
+ /** The current compass mode */
192
193
  compassMode: CompassMode;
194
+ /** The current compass rotation */
193
195
  rotationMode: RotationMode;
194
196
  /** @internal */
195
197
  currentView?: ScreenViewport;
@@ -266,30 +268,47 @@ export declare class AccuDraw {
266
268
  protected readonly _frameColorNoFocus: ColorDef;
267
269
  /** @internal */
268
270
  protected readonly _fillColorNoFocus: ColorDef;
271
+ /** When true improve behavior for +/- input when cursor switches side and try to automatically manage focus */
269
272
  smartKeyin: boolean;
273
+ /** When true the compass follows the origin hint as opposed to remaining at a fixed location */
270
274
  floatingOrigin: boolean;
275
+ /** When true the z input field will remain locked with it's current value after a data button */
271
276
  stickyZLock: boolean;
277
+ /** When true the compass is always active and on screen instead of following the current tools request to activate */
272
278
  alwaysShowCompass: boolean;
279
+ /** When true all tool hints are applied as opposed to only selected hints */
273
280
  contextSensitive: boolean;
281
+ /** When true the current point is adjusted to the x and y axes when within a close tolerance */
274
282
  axisIndexing: boolean;
283
+ /** When true the current point is adjusted to the last locked distance value when within a close tolerance */
275
284
  distanceIndexing: boolean;
285
+ /** When true locking the angle also moves focus to the angle input field */
276
286
  autoFocusFields: boolean;
287
+ /** When true fully specifying a point by entering both distance and angle in polar mode or XY[Z] in rectangular mode, the point is automatically accepted */
277
288
  autoPointPlacement: boolean;
278
289
  private static _tempRot;
279
290
  /** @internal */
280
291
  onInitialized(): void;
281
292
  /** @internal */
282
293
  getRotation(rMatrix?: Matrix3d): Matrix3d;
283
- get isActive(): boolean;
294
+ /** When true AccuDraw is enabled by the application and can be used by interactive tools */
284
295
  get isEnabled(): boolean;
296
+ /** When true the compass is displayed and adjusting input points for the current interactive tool */
297
+ get isActive(): boolean;
298
+ /** When true the compass is not displayed or adjusting points, but it can be automatically activated by the current interactive tool or via shortcuts */
285
299
  get isInactive(): boolean;
300
+ /** When true the compass is not displayed or adjusting points, the current interactive tool has disabled automatic activation, but can still be enabled via shortcuts */
286
301
  get isDeactivated(): boolean;
287
302
  /** Get the current lock state for the supplied input field */
288
303
  getFieldLock(index: ItemField): boolean;
289
304
  /** @internal */
290
305
  getKeyinStatus(index: ItemField): KeyinStatus;
291
- /** Implement this method to set focus to the AccuDraw UI. */
306
+ /** Get whether AccuDraw currently has input focus */
307
+ get hasInputFocus(): boolean;
308
+ /** Called to request input focus be set to AccuDraw. Focus is managed by AccuDraw UI. */
292
309
  grabInputFocus(): void;
310
+ /** Get default focus item for the current compass mode */
311
+ defaultFocusItem(): ItemField;
293
312
  /** @internal */
294
313
  activate(): void;
295
314
  /** @internal */
@@ -347,12 +366,25 @@ export declare class AccuDraw {
347
366
  private updateVector;
348
367
  /** Allow the AccuDraw user interface to supply the distance parser */
349
368
  getLengthParser(): ParserSpec | undefined;
369
+ /** Allow the AccuDraw user interface to supply the distance parser */
370
+ getLengthFormatter(): FormatterSpec | undefined;
350
371
  private stringToDistance;
372
+ private stringFromDistance;
351
373
  /** Allow the AccuDraw user interface to specify bearing */
352
374
  get isBearingMode(): boolean;
375
+ /** Allow the AccuDraw user interface to specify bearing directions are always in xy plane */
376
+ get bearingFixedToPlane2d(): boolean;
377
+ set bearingFixedToPlane2d(enable: boolean);
353
378
  /** Allow the AccuDraw user interface to supply the angle/direction parser */
354
379
  getAngleParser(): ParserSpec | undefined;
380
+ /** Allow the AccuDraw user interface to supply the angle/direction formatter */
381
+ getAngleFormatter(): FormatterSpec | undefined;
355
382
  private stringToAngle;
383
+ private stringFromAngle;
384
+ /** Can be called by sub-classes to get a formatted value to display for an AccuDraw input field
385
+ * @see [[onFieldValueChange]]
386
+ */
387
+ getFormattedValueByIndex(index: ItemField): string;
356
388
  private updateFieldValue;
357
389
  /** @internal */
358
390
  unlockAllFields(): void;
@@ -429,9 +461,7 @@ export declare class AccuDraw {
429
461
  onFieldLockChange(_index: ItemField): void;
430
462
  /** Called after input field value changes */
431
463
  onFieldValueChange(_index: ItemField): void;
432
- /** Whether AccuDraw currently has input focus */
433
- get hasInputFocus(): boolean;
434
- /** Set focus to the specified input field */
464
+ /** Called to request focus change to the specified input field */
435
465
  setFocusItem(_index: ItemField): void;
436
466
  private static getMinPolarMag;
437
467
  /** projects cursor onto plane in view, or returns an error */
@@ -458,9 +488,17 @@ export declare class AccuDraw {
458
488
  onBeginDynamics(): boolean;
459
489
  /** @internal */
460
490
  onEndDynamics(): boolean;
491
+ /** Can be called by sub-classes as the default implementation of onMotion.
492
+ * @see [[onMotion]]
493
+ * @note Input fields are expected to call [[AccuDrawShortcuts.itemFieldNewInput]] when the user enters a value that is not a shortcut
494
+ * and call [[AccuDrawShortcuts.itemFieldCompletedInput]] when a value is accepted, such as when focusing out of the field. This is
495
+ * required for processMotion to correctly handle updating dynamic field values to reflect the current cursor location.
496
+ */
497
+ processMotion(): void;
461
498
  /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.
462
499
  * Should also choose active x or y input field in rectangular mode based on cursor position when
463
500
  * axis isn't locked to support "smart lock".
501
+ * @see [[processMotion]]
464
502
  */
465
503
  onMotion(_ev: BeButtonEvent): void;
466
504
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDraw.d.ts","sourceRoot":"","sources":["../../src/AccuDraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccuDraw.d.ts","sourceRoot":"","sources":["../../src/AccuDraw.ts"],"names":[],"mappings":"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"}
@@ -253,8 +253,10 @@ exports.ThreeAxes = ThreeAxes;
253
253
  class AccuDraw {
254
254
  constructor() {
255
255
  this._currentState = CurrentState.NotEnabled;
256
- this.compassMode = CompassMode.Rectangular; // Compass mode
257
- this.rotationMode = RotationMode.View; // Compass rotation
256
+ /** The current compass mode */
257
+ this.compassMode = CompassMode.Rectangular;
258
+ /** The current compass rotation */
259
+ this.rotationMode = RotationMode.View;
258
260
  /** @internal */
259
261
  this.published = new AccudrawData(); // Staging area for hints
260
262
  /** @internal */
@@ -273,8 +275,8 @@ class AccuDraw {
273
275
  this._angleRoundOff = new RoundOff(); // angle round off enabled and unit
274
276
  /** @internal */
275
277
  this.flags = new Flags(); // current state flags
276
- this._fieldLocked = []; // locked state of fields
277
- this._keyinStatus = []; // state of input field
278
+ this._fieldLocked = [false, false, false, false, false]; // locked state of fields
279
+ this._keyinStatus = [KeyinStatus.Dynamic, KeyinStatus.Dynamic, KeyinStatus.Dynamic, KeyinStatus.Dynamic, KeyinStatus.Dynamic]; // state of input field
278
280
  /** @internal */
279
281
  this.savedStateViewTool = new SavedState(); // Restore point for shortcuts/tools...
280
282
  /** @internal */
@@ -327,15 +329,23 @@ class AccuDraw {
327
329
  this._frameColorNoFocus = core_common_1.ColorDef.create(core_common_1.ColorByName.darkGrey);
328
330
  /** @internal */
329
331
  this._fillColorNoFocus = core_common_1.ColorDef.create(core_common_1.ColorByName.lightGrey);
330
- // User Preference Settings...
332
+ /** When true improve behavior for +/- input when cursor switches side and try to automatically manage focus */
331
333
  this.smartKeyin = true;
334
+ /** When true the compass follows the origin hint as opposed to remaining at a fixed location */
332
335
  this.floatingOrigin = true;
336
+ /** When true the z input field will remain locked with it's current value after a data button */
333
337
  this.stickyZLock = false;
338
+ /** When true the compass is always active and on screen instead of following the current tools request to activate */
334
339
  this.alwaysShowCompass = false;
340
+ /** When true all tool hints are applied as opposed to only selected hints */
335
341
  this.contextSensitive = true;
342
+ /** When true the current point is adjusted to the x and y axes when within a close tolerance */
336
343
  this.axisIndexing = true;
344
+ /** When true the current point is adjusted to the last locked distance value when within a close tolerance */
337
345
  this.distanceIndexing = true;
346
+ /** When true locking the angle also moves focus to the angle input field */
338
347
  this.autoFocusFields = true;
348
+ /** When true fully specifying a point by entering both distance and angle in polar mode or XY[Z] in rectangular mode, the point is automatically accepted */
339
349
  this.autoPointPlacement = false;
340
350
  }
341
351
  /** Current AccuDraw state */
@@ -357,16 +367,24 @@ class AccuDraw {
357
367
  core_geometry_1.Matrix3d.createRows(this.axes.x, this.axes.y, this.axes.z, rMatrix);
358
368
  return rMatrix;
359
369
  }
360
- get isActive() { return CurrentState.Active === this.currentState; }
370
+ /** When true AccuDraw is enabled by the application and can be used by interactive tools */
361
371
  get isEnabled() { return (this.currentState > CurrentState.NotEnabled); }
372
+ /** When true the compass is displayed and adjusting input points for the current interactive tool */
373
+ get isActive() { return CurrentState.Active === this.currentState; }
374
+ /** When true the compass is not displayed or adjusting points, but it can be automatically activated by the current interactive tool or via shortcuts */
362
375
  get isInactive() { return (CurrentState.Inactive === this.currentState); }
376
+ /** When true the compass is not displayed or adjusting points, the current interactive tool has disabled automatic activation, but can still be enabled via shortcuts */
363
377
  get isDeactivated() { return (CurrentState.Deactivated === this.currentState); }
364
378
  /** Get the current lock state for the supplied input field */
365
379
  getFieldLock(index) { return this._fieldLocked[index]; }
366
380
  /** @internal */
367
381
  getKeyinStatus(index) { return this._keyinStatus[index]; }
368
- /** Implement this method to set focus to the AccuDraw UI. */
382
+ /** Get whether AccuDraw currently has input focus */
383
+ get hasInputFocus() { return true; }
384
+ /** Called to request input focus be set to AccuDraw. Focus is managed by AccuDraw UI. */
369
385
  grabInputFocus() { }
386
+ /** Get default focus item for the current compass mode */
387
+ defaultFocusItem() { return (CompassMode.Polar === this.compassMode ? ItemField.DIST_Item : this.newFocus); }
370
388
  /** @internal */
371
389
  activate() {
372
390
  // Upgrade state to inactive so upgradeToActiveState knows it is ok to move to active...
@@ -925,25 +943,66 @@ class AccuDraw {
925
943
  getLengthParser() {
926
944
  return IModelApp_1.IModelApp.quantityFormatter.findParserSpecByQuantityType(QuantityFormatter_1.QuantityType.Length);
927
945
  }
946
+ /** Allow the AccuDraw user interface to supply the distance parser */
947
+ getLengthFormatter() {
948
+ return IModelApp_1.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(QuantityFormatter_1.QuantityType.Length);
949
+ }
928
950
  stringToDistance(str) {
929
951
  const parserSpec = this.getLengthParser();
930
952
  if (parserSpec)
931
953
  return parserSpec.parseToQuantityValue(str);
932
954
  return { ok: false, error: core_quantity_1.ParseError.InvalidParserSpec };
933
955
  }
956
+ stringFromDistance(distance) {
957
+ const formatterSpec = this.getLengthFormatter();
958
+ let formattedValue = distance.toString();
959
+ if (formatterSpec)
960
+ formattedValue = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(distance, formatterSpec);
961
+ return formattedValue;
962
+ }
934
963
  /** Allow the AccuDraw user interface to specify bearing */
935
- get isBearingMode() { return false; }
964
+ get isBearingMode() { return this.getAngleParser()?.format.type === core_quantity_1.FormatType.Bearing; }
965
+ /** Allow the AccuDraw user interface to specify bearing directions are always in xy plane */
966
+ get bearingFixedToPlane2d() { return this.flags.bearingFixToPlane2D; }
967
+ set bearingFixedToPlane2d(enable) { this.flags.bearingFixToPlane2D = enable; }
936
968
  /** Allow the AccuDraw user interface to supply the angle/direction parser */
937
969
  getAngleParser() {
938
- // TODO: Use QuantityType.Angle when isBearingMode=false and "Bearing" for isBearingMode=true.
939
970
  return IModelApp_1.IModelApp.quantityFormatter.findParserSpecByQuantityType(QuantityFormatter_1.QuantityType.Angle);
940
971
  }
972
+ /** Allow the AccuDraw user interface to supply the angle/direction formatter */
973
+ getAngleFormatter() {
974
+ return IModelApp_1.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(QuantityFormatter_1.QuantityType.Angle);
975
+ }
941
976
  stringToAngle(inString) {
942
977
  const parserSpec = this.getAngleParser();
943
978
  if (parserSpec)
944
979
  return parserSpec.parseToQuantityValue(inString);
945
980
  return { ok: false, error: core_quantity_1.ParseError.InvalidParserSpec };
946
981
  }
982
+ stringFromAngle(angle) {
983
+ if (this.isBearingMode && this.flags.bearingFixToPlane2D) {
984
+ const point = core_geometry_1.Vector3d.create(this.axes.x.x, this.axes.x.y, 0.0);
985
+ point.normalizeInPlace();
986
+ let adjustment = Math.acos(point.x);
987
+ if (point.y < 0.0)
988
+ adjustment = -adjustment;
989
+ angle += adjustment;
990
+ }
991
+ const formatterSpec = this.getAngleFormatter();
992
+ let formattedValue = angle.toString();
993
+ if (formatterSpec)
994
+ formattedValue = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(angle, formatterSpec);
995
+ return formattedValue;
996
+ }
997
+ /** Can be called by sub-classes to get a formatted value to display for an AccuDraw input field
998
+ * @see [[onFieldValueChange]]
999
+ */
1000
+ getFormattedValueByIndex(index) {
1001
+ const value = IModelApp_1.IModelApp.accuDraw.getValueByIndex(index);
1002
+ if (ItemField.ANGLE_Item === index)
1003
+ return this.stringFromAngle(value);
1004
+ return this.stringFromDistance(value);
1005
+ }
947
1006
  updateFieldValue(index, input) {
948
1007
  if (input.length === 0)
949
1008
  return core_bentley_1.BentleyStatus.ERROR;
@@ -1007,7 +1066,8 @@ class AccuDraw {
1007
1066
  }
1008
1067
  /** @internal */
1009
1068
  unlockAllFields() {
1010
- this.locked = 0;
1069
+ this.locked = LockedStates.NONE_LOCKED;
1070
+ ;
1011
1071
  if (CompassMode.Polar === this.compassMode) {
1012
1072
  if (this._fieldLocked[ItemField.DIST_Item])
1013
1073
  this.setFieldLock(ItemField.DIST_Item, false);
@@ -1337,6 +1397,7 @@ class AccuDraw {
1337
1397
  }
1338
1398
  /** @internal */
1339
1399
  changeCompassMode(animate = false) {
1400
+ this.unlockAllFields(); // Clear locks for the current mode and send change notifications...
1340
1401
  this.setCompassMode(CompassMode.Polar === this.compassMode ? CompassMode.Rectangular : CompassMode.Polar);
1341
1402
  const viewport = this.currentView;
1342
1403
  if (!animate || !viewport)
@@ -1916,9 +1977,7 @@ class AccuDraw {
1916
1977
  onFieldLockChange(_index) { }
1917
1978
  /** Called after input field value changes */
1918
1979
  onFieldValueChange(_index) { }
1919
- /** Whether AccuDraw currently has input focus */
1920
- get hasInputFocus() { return true; }
1921
- /** Set focus to the specified input field */
1980
+ /** Called to request focus change to the specified input field */
1922
1981
  setFocusItem(_index) { }
1923
1982
  static getMinPolarMag(origin) {
1924
1983
  return (1.0e-12 * (1.0 + origin.magnitude()));
@@ -2452,9 +2511,35 @@ class AccuDraw {
2452
2511
  onBeginDynamics() { return this.upgradeToActiveState(); }
2453
2512
  /** @internal */
2454
2513
  onEndDynamics() { return this.downgradeInactiveState(); }
2514
+ /** Can be called by sub-classes as the default implementation of onMotion.
2515
+ * @see [[onMotion]]
2516
+ * @note Input fields are expected to call [[AccuDrawShortcuts.itemFieldNewInput]] when the user enters a value that is not a shortcut
2517
+ * and call [[AccuDrawShortcuts.itemFieldCompletedInput]] when a value is accepted, such as when focusing out of the field. This is
2518
+ * required for processMotion to correctly handle updating dynamic field values to reflect the current cursor location.
2519
+ */
2520
+ processMotion() {
2521
+ if (this.flags.dialogNeedsUpdate || !this.isActive) {
2522
+ if (this.isActive && this.smartKeyin) {
2523
+ // NOTE: fixPointRectangular sets newFocus to either x or y based on which axis is closer to the input point...
2524
+ if (CompassMode.Rectangular === this.compassMode && !this.dontMoveFocus && !this.getFieldLock(this.newFocus))
2525
+ this.setFocusItem(this.newFocus);
2526
+ }
2527
+ const sendDynamicFieldValueChange = (item) => {
2528
+ if (KeyinStatus.Dynamic === this.getKeyinStatus(item))
2529
+ this.onFieldValueChange(item);
2530
+ };
2531
+ // NOTE: Shows the current deltas for rectangular mode when active and current coordinate when not active...
2532
+ sendDynamicFieldValueChange(ItemField.X_Item);
2533
+ sendDynamicFieldValueChange(ItemField.Y_Item);
2534
+ sendDynamicFieldValueChange(ItemField.Z_Item);
2535
+ sendDynamicFieldValueChange(ItemField.ANGLE_Item);
2536
+ sendDynamicFieldValueChange(ItemField.DIST_Item);
2537
+ }
2538
+ }
2455
2539
  /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.
2456
2540
  * Should also choose active x or y input field in rectangular mode based on cursor position when
2457
2541
  * axis isn't locked to support "smart lock".
2542
+ * @see [[processMotion]]
2458
2543
  */
2459
2544
  onMotion(_ev) { }
2460
2545
  /** @internal */