Flutter web app replacing legacy WPF CCTV surveillance keyboard controller. Includes wall overview, section view with monitor grid, camera input, PTZ control, alarm/lock/sequence BLoCs, and legacy-matching UI styling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
766 B
Dart
38 lines
766 B
Dart
import 'package:equatable/equatable.dart';
|
|
|
|
abstract class CameraEvent extends Equatable {
|
|
const CameraEvent();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
/// Select a camera for viewing/control
|
|
class SelectCamera extends CameraEvent {
|
|
final int cameraId;
|
|
|
|
const SelectCamera(this.cameraId);
|
|
|
|
@override
|
|
List<Object?> get props => [cameraId];
|
|
}
|
|
|
|
/// Connect selected camera to a monitor
|
|
class ConnectCameraToMonitor extends CameraEvent {
|
|
final int cameraId;
|
|
final int monitorId;
|
|
|
|
const ConnectCameraToMonitor({
|
|
required this.cameraId,
|
|
required this.monitorId,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [cameraId, monitorId];
|
|
}
|
|
|
|
/// Clear selection
|
|
class ClearCameraSelection extends CameraEvent {
|
|
const ClearCameraSelection();
|
|
}
|