chart-0714
Version:
Professional trading chart library with advanced customization for trading journal apps
86 lines (85 loc) • 3.37 kB
TypeScript
import { DrawingObject, DrawingToolType, ChartPoint } from '../types/drawing';
import { Marker } from '../types/marker';
import { StopLossLine, StopLossOptions } from '../types/stopLoss';
import { LineSeriesData } from '../types/lineSeries';
import { DrawingManager } from './DrawingManager';
import { MarkerManager } from './MarkerManager';
import { StopLossManager } from './StopLossManager';
import { LineSeriesManager } from './LineSeriesManager';
/**
* 사용자 인터랙션 관련 기능을 통합 관리하는 매니저
* - 드로잉 도구
* - 마커
* - 스톱로스 라인
* - 라인 시리즈
*/
export declare class InteractionManager {
drawingManager: DrawingManager;
markerManager: MarkerManager;
stopLossManager: StopLossManager;
lineSeriesManager: LineSeriesManager;
constructor();
setActiveTool(tool: DrawingToolType | null): void;
getActiveTool(): DrawingToolType | null;
addDrawing(drawing: DrawingObject): void;
removeDrawing(id: string): void;
getAllDrawings(): DrawingObject[];
clearDrawings(): void;
startDrawing(x: number, y: number, time: number, price: number): void;
updateDrawing(x: number, y: number, time: number, price: number): void;
endDrawing(): DrawingObject | null;
isDrawing(): boolean;
getDrawingById(id: string): DrawingObject | undefined;
updateDrawingById(id: string, updates: Partial<DrawingObject>): void;
setMagneticMode(enabled: boolean): void;
getMagneticMode(): boolean;
exportDrawings(): string;
importDrawings(jsonData: string): void;
setDefaultDrawingStyle(style: {
color?: string;
lineWidth?: number;
opacity?: number;
}): void;
setTextDefaults(textDefaults: any): void;
addMarker(marker: Marker): string;
setMarkers(markers: Marker[]): void;
removeMarker(id: string): void;
getMarkers(): Marker[];
getMarkerById(id: string): Marker | undefined;
clearMarkers(): void;
addStopLossLine(price: number, options?: StopLossOptions): string;
removeStopLossLine(id: string): boolean;
updateStopLossLine(id: string, updates: Partial<StopLossOptions & {
price?: number;
}>): boolean;
getStopLossLines(): StopLossLine[];
clearStopLossLines(): void;
addLineSeries(options: any): string;
removeLineSeries(id: string): void;
updateLineSeries(id: string, data: Array<{
time: number;
value: number;
}>): void;
toggleLineSeriesVisibility(id: string): void;
updateLineSeriesStyle(id: string, style: {
color?: string;
lineWidth?: number;
}): void;
getLineSeries(id: string): LineSeriesData | undefined;
getAllLineSeries(): LineSeriesData[];
getVisibleSeries(): LineSeriesData[];
setSeriesVisibility(id: string, visible: boolean): void;
clearLineSeries(): void;
setDataManager(_dataManager: any): void;
setSnapManager(_snapManager: any): void;
setSnapChangeCallback(callback: ((snapPoint: any) => void) | null): void;
setMeasureChangeCallback(callback: ((start: any, end: any, fixed: boolean) => void) | null): void;
cancelMeasure(): void;
isMeasureMode(): boolean;
cancelDrawing(): void;
createHorizontalLineImmediate(point: ChartPoint): void;
undo(): boolean;
redo(): boolean;
deleteSelectedDrawing(): boolean;
dispose(): void;
}