Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramDesigner/ViewModels/IDiagramViewModel.cs
2022-12-04 23:07:20 +08:00

73 lines
2.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Media;
using System.ComponentModel;
namespace AIStudio.Wpf.DiagramDesigner
{
public interface IDiagramViewModel
{
string Name { get; set; }
List<SelectableDesignerItemViewModelBase> SelectedItems { get; }
ObservableCollection<SelectableDesignerItemViewModelBase> Items { get; }
SelectionService SelectionService { get; }
SimpleCommand CreateNewDiagramCommand { get; }
SimpleCommand DirectAddItemCommand { get; }
SimpleCommand AddItemCommand { get; }
SimpleCommand RemoveItemCommand { get; }
SimpleCommand DirectRemoveItemCommand { get; }
SimpleCommand ClearSelectedItemsCommand { get; }
SimpleCommand AlignTopCommand { get; }
SimpleCommand AlignVerticalCentersCommand { get; }
SimpleCommand AlignBottomCommand { get; }
SimpleCommand AlignLeftCommand { get; }
SimpleCommand AlignHorizontalCentersCommand { get; }
SimpleCommand AlignRightCommand { get; }
SimpleCommand BringForwardCommand { get; }
SimpleCommand BringToFrontCommand { get; }
SimpleCommand SendBackwardCommand { get; }
SimpleCommand SendToBackCommand { get; }
SimpleCommand DistributeHorizontalCommand { get; }
SimpleCommand DistributeVerticalCommand { get; }
SimpleCommand SelectAllCommand { get; }
SimpleCommand UndoCommand { get; }
SimpleCommand RedoCommand { get; }
Func<SelectableDesignerItemViewModelBase, bool> OutAddVerify { get; set; }
void ClearSelectedItems();
bool BelongToSameGroup(IGroupable item1, IGroupable item2);
Rect GetBoundingRectangle(IEnumerable<DesignerItemViewModelBase> items);
void UpdateZIndex();
bool IsReadOnly{ get; set; }
Size PageSize { get; set; }
PageSizeType PageSizeType { get; set; }
bool ShowGrid { get; set; }
Size GridCellSize { get; set; }
PageSizeOrientation PageSizeOrientation { get; set; }
CellHorizontalAlignment CellHorizontalAlignment { get; set; }
CellVerticalAlignment CellVerticalAlignment { get; set; }
double GridMargin { get; set; }
Color GridColor { get; set; }
DiagramType DiagramType { get; set; }
Point CurrentPoint { get; set; }
Color CurrentColor { get; set; }
//如果这个赋值了,优先用这个的
DrawMode? VectorLineDrawMode { get; set; }
//用于wpf大小与物理像素之间转换
double ScreenScale { get; set; }
void SetScreenScale();
event PropertyChangedEventHandler PropertyChanged;
}
}