Skip to content

Commit

Permalink
Promote ElementSetTool from @Alpha to @public for editing application…
Browse files Browse the repository at this point in the history
…s. (iTwin#6924)
  • Loading branch information
bbastings authored Jul 2, 2024
1 parent dda32b7 commit fb8ffe9
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 13 deletions.
8 changes: 4 additions & 4 deletions common/api/core-frontend.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3241,7 +3241,7 @@ export namespace EditManipulator {
// @internal (undocumented)
export const ELEMENT_MARKED_FOR_REMOVAL: unique symbol;

// @alpha
// @public
export class ElementAgenda {
constructor(iModel: IModelConnection);
add(arg: Id64Arg): boolean;
Expand Down Expand Up @@ -3327,7 +3327,7 @@ export class ElementPicker {
viewport?: Viewport;
}

// @alpha
// @public
export abstract class ElementSetTool extends PrimitiveTool {
protected get agenda(): ElementAgenda;
protected get allowDragSelect(): boolean;
Expand Down Expand Up @@ -5735,7 +5735,7 @@ export interface GroundPlaneDecorations {
readonly belowParams: GraphicParams;
}

// @alpha (undocumented)
// @public
export interface GroupMark {
// (undocumented)
source: ModifyElementSource;
Expand Down Expand Up @@ -9791,7 +9791,7 @@ export class ModelState extends EntityState implements ModelProps {
// @public
export type ModelSubCategoryHiliteMode = "union" | "intersection";

// @alpha (undocumented)
// @public
export enum ModifyElementSource {
DragSelect = 3,
Selected = 1,
Expand Down
8 changes: 4 additions & 4 deletions common/api/summary/core-frontend.exports.csv
Original file line number Diff line number Diff line change
Expand Up @@ -201,10 +201,10 @@ internal;EdgeTableInfo
internal;EditCommandHandler
public;EditManipulator
internal;ELEMENT_MARKED_FOR_REMOVAL: unique symbol
alpha;ElementAgenda
public;ElementAgenda
public;ElementLocateManager
public;ElementPicker
alpha;class ElementSetTool
public;class ElementSetTool
public;ElementState
public;EllipsoidTerrainProvider
public;EmphasizeElements
Expand Down Expand Up @@ -370,7 +370,7 @@ public;GraphicShape2d
public;GraphicSolidPrimitive
public;GraphicType
internal;GroundPlaneDecorations
alpha;GroupMark
public;GroupMark
internal;headersIncludeAuthMethod(headers: Headers, query: string[]): boolean
internal;Hilites
public;HiliteSet
Expand Down Expand Up @@ -589,7 +589,7 @@ internal;ModelMapLayerTileTreeReference
public;ModelSelectorState
public;ModelState
public;ModelSubCategoryHiliteMode = "union" | "intersection"
alpha;ModifyElementSource
public;ModifyElementSource
public;MutableChangeFlags
public;NativeApp
internal;NativeAppLogger
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@itwin/core-bentley",
"comment": "",
"type": "none"
}
],
"packageName": "@itwin/core-bentley"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@itwin/core-frontend",
"comment": "",
"type": "none"
}
],
"packageName": "@itwin/core-frontend"
}
2 changes: 1 addition & 1 deletion core/bentley/src/CompressedId64Set.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export namespace CompressedId64Set { // eslint-disable-line @typescript-eslint/n
}

/** Create a sorted array from `ids`, then return a compact string representation of those Ids.
* @see [[compressIds]] if `ids` is known to already be sorted.
* @see [[CompressedId64Set.compressIds]] if `ids` is known to already be sorted.
*/
export function sortAndCompress(ids: Iterable<Id64String>): CompressedId64Set {
// `string` is an Iterable<string>. In that case assume caller passed a single Id64String.
Expand Down
12 changes: 8 additions & 4 deletions core/frontend/src/tools/ElementSetTool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ import { SelectionMethod } from "./SelectTool";
import { BeButton, BeButtonEvent, BeModifierKeys, CoreTools, EventHandled } from "./Tool";
import { ToolAssistance, ToolAssistanceImage, ToolAssistanceInputMethod, ToolAssistanceInstruction, ToolAssistanceSection } from "./ToolAssistance";

/** @alpha */
/** Identifies the source of the elements in the agenda.
* @public
*/
export enum ModifyElementSource {
/** The source for the element is unknown - not caused by a modification command. */
Unknown = 0,
Expand All @@ -37,7 +39,9 @@ export enum ModifyElementSource {
DragSelect = 3,
}

/** @alpha */
/** Identifies groups of elements added to agenda along with the source.
* @public
*/
export interface GroupMark {
start: number;
source: ModifyElementSource;
Expand All @@ -46,7 +50,7 @@ export interface GroupMark {
/** The ElementAgenda class is used by [[ElementSetTool]] to hold the collection of elements it will operate on
* and to manage their hilite state.
* @see [[ElementSetTool]]
* @alpha
* @public
*/
export class ElementAgenda {
/** The IDs of the elements in this agenda.
Expand Down Expand Up @@ -280,7 +284,7 @@ export class ElementAgenda {
* - Immediately apply operation.
* - Restart.
* Sub-classes are required to opt-in to additional element sources, dynamics, AccuSnap, additional input, etc.
* @alpha
* @public
*/
export abstract class ElementSetTool extends PrimitiveTool {
private _agenda?: ElementAgenda;
Expand Down

0 comments on commit fb8ffe9

Please sign in to comment.