Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramDesigner/ViewModels/Interface/IDiagramViewModel.cs
2023-06-28 22:11:24 +08:00

396 lines
7.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Xml.Serialization;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface IDiagramViewModel
{
string Name
{
get; set;
}
List<SelectableDesignerItemViewModelBase> SelectedItems
{
get;
}
SelectableDesignerItemViewModelBase SelectedItem
{
get;
}
ObservableCollection<SelectableDesignerItemViewModelBase> Items
{
get;
}
DiagramSelectionService SelectionService
{
get;
}
ICommand ClearCommand
{
get;
}
ICommand ClearSelectedItemsCommand
{
get;
}
ICommand NextCommand
{
get;
}
ICommand AlignTopCommand
{
get;
}
ICommand AlignVerticalCentersCommand
{
get;
}
ICommand AlignBottomCommand
{
get;
}
ICommand AlignLeftCommand
{
get;
}
ICommand AlignHorizontalCentersCommand
{
get;
}
ICommand AlignRightCommand
{
get;
}
ICommand BringForwardCommand
{
get;
}
ICommand BringToFrontCommand
{
get;
}
ICommand SendBackwardCommand
{
get;
}
ICommand SendToBackCommand
{
get;
}
ICommand DistributeHorizontalCommand
{
get;
}
ICommand DistributeVerticalCommand
{
get;
}
ICommand SelectAllCommand
{
get;
}
ICommand SelectInverseCommand
{
get;
}
ICommand SelectItemCommand
{
get;
}
ICommand AddCommand
{
get;
}
ICommand DeleteCommand
{
get;
}
ICommand CopyCommand
{
get;
}
ICommand PasteCommand
{
get;
}
ICommand CutCommand
{
get;
}
ICommand LeftMoveCommand
{
get;
}
ICommand RightMoveCommand
{
get;
}
ICommand UpMoveCommand
{
get;
}
ICommand DownMoveCommand
{
get;
}
ICommand CenterMoveCommand
{
get;
}
ICommand SameSizeCommand
{
get;
}
ICommand SameWidthCommand
{
get;
}
ICommand SameHeightCommand
{
get;
}
ICommand SameAngleCommand
{
get;
}
ICommand FitAutoCommand
{
get;
}
ICommand FitWidthCommand
{
get;
}
ICommand FitHeightCommand
{
get;
}
ICommand GroupCommand
{
get;
}
ICommand UngroupCommand
{
get;
}
ICommand LockCommand
{
get;
}
ICommand UnlockCommand
{
get;
}
ICommand EditCommand
{
get;
}
ICommand UndoCommand
{
get;
}
ICommand RedoCommand
{
get;
}
ICommand ResetLayoutCommand
{
get;
}
ICommand ShowSearchCommand
{
get;
}
ICommand CloseSearchCommand
{
get;
}
ICommand SearchDownCommand
{
get;
}
ICommand SearchUpCommand
{
get;
}
ICommand ReplaceCommand
{
get;
}
ICommand ReplaceAllCommand
{
get;
}
DiagramType DiagramType
{
get;set;
}
event DiagramEventHandler Event;
bool IsReadOnly
{
get; set;
}
bool IsLoading
{
get; set;
}
double ZoomValue
{
get; set;
}
double MaximumZoomValue
{
get; set;
}
double MinimumZoomValue
{
get; set;
}
bool DefaultZoomBox
{
get; set;
}
System.Windows.Point CurrentPoint
{
get; set;
}
Color CurrentColor
{
get; set;
}
bool ShowSearch
{
get; set;
}
string SearchText
{
get; set;
}
string ReplaceText
{
get; set;
}
string SearchInfo
{
get; set;
}
bool SearchCaseMatch
{
get; set;
}
bool SearchWholeWordMatch
{
get; set;
}
Brush Thumbnail
{
get; set;
}
#region
IDrawModeViewModel DrawModeViewModel
{
get; set;
}
IColorViewModel ColorViewModel
{
get; set;
}
IFontViewModel FontViewModel
{
get; set;
}
IShapeViewModel ShapeViewModel
{
get; set;
}
IAnimationViewModel AnimationViewModel
{
get; set;
}
#endregion
DoCommandManager DoCommandManager
{
get;
}
#region
DiagramOption DiagramOption
{
get; set;
}
#endregion
#region
void Init(DiagramItem diagramItem);
void Init(bool initNew);
void Add(object parameter, bool? isSelected = false);
void Delete(object parameter);
void ClearSelectedItems();
bool ExecuteShortcut(KeyEventArgs e);
void SaveThumbnail();
#endregion
#region
void SetPropertyValue(SelectableDesignerItemViewModelBase selectable, string propertyName, List<SelectableDesignerItemViewModelBase> items);
void SetFont(IFontViewModel fontViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items);
void SetColor(IColorViewModel colorViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items);
void SetSharp(IShapeViewModel shapeViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items);
void SetAnimation(IAnimationViewModel animationViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items);
void SetQuickItem(IQuickThemeViewModel quickThemeViewModel, string propertyName, List<SelectableDesignerItemViewModelBase> items);
void LockAction(LockObject lockObject, string propertyName, List<SelectableDesignerItemViewModelBase> items);
#endregion
event PropertyChangedEventHandler PropertyChanged;
}
public delegate void DiagramEventHandler(object sender, DiagramEventArgs e);
public class DiagramEventArgs : PropertyChangedEventArgs
{
public DiagramEventArgs(string propertyName, object oldValue, object newValue, Guid? id) : base(propertyName)
{
OldValue = oldValue;
NewValue = newValue;
Id = id;
}
public object OldValue
{
get; set;
}
public object NewValue
{
get; set;
}
public Guid? Id
{
get; set;
}
}
}