コード例 #1
0
		public PolylinePropertiesViewModel(ElementPolyline element, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Линия";
			_elementPolyline = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);
			CopyProperties();
		}
コード例 #2
0
ファイル: Painter.cs プロジェクト: xbadcode/Rubezh
		public Painter(CommonDesignerCanvas designerCanvas, ElementCamera elementCamera)
			: base(designerCanvas, elementCamera)
		{
			_elementCamera = elementCamera;
			_toolTip = new ImageTextTooltipViewModel();
			_toolTip.ImageSource = "/Controls;component/Images/BVideo.png";
		}
コード例 #3
0
		/// <summary>
		/// Creates Painter for specified Primitive.
		/// </summary>
		/// <param name="canvas">Canvase to create Painter for.</param>
		/// <param name="element">Element to create Painter for.</param>
		/// <returns>Created Painter Instance.</returns>
		public static IPainter CreatePainter(CommonDesignerCanvas canvas, ElementBase element)
		{
			if (canvas == null)
				throw new ArgumentNullException("canvas");
			if (element == null)
				throw new ArgumentNullException("element");
			IPrimitive primitive = element as IPrimitive;
			if (primitive == null)
				throw new ArgumentException("Element must be a Primitive", "element");

			Func<CommonDesignerCanvas, ElementBase, IPainter> factoryMethod = null;
			if (factoryMethods.TryGetValue(primitive.Primitive, out factoryMethod))
			{
				// The following Object contains a Tooltip Flag to be copied from Source Element to determine Visibility:
				ToolTipFlagContainer tooltipFlag = new ToolTipFlagContainer();
				ElementBase.Copy(element, tooltipFlag);

				IPainter wrappedPainter = factoryMethod(canvas, element);
				PrimitiveToolTipViewModel tooltip = new PrimitiveToolTipViewModel()
				{
					Name = element.PresentationName,
				};
				return new PrimitivePainter(wrappedPainter)
				{
					ToolTip = tooltipFlag.ShowTooltip ? tooltip : null,
				};
			}
			else
				throw new InvalidOperationException("Unknown Primitive Type");
		}
コード例 #4
0
		public PassCardImagePropertyViewModel(ElementPassCardImageProperty element, CommonDesignerCanvas designerCanvas)
			: base(element, designerCanvas)
		{
			Title = "Свойства фигуры: Графическое свойство";
			PropertyTypes = new ObservableCollection<PassCardImagePropertyType>(Enum.GetValues(typeof(PassCardImagePropertyType)).Cast<PassCardImagePropertyType>());
			StretchTypes = new ObservableCollection<Stretch>(Enum.GetValues(typeof(Stretch)).Cast<Stretch>());
		}
コード例 #5
0
		public PassCardTextPropertyViewModel(ElementPassCardTextProperty element, CommonDesignerCanvas designerCanvas)
			: base(element, designerCanvas)
		{
			Title = "Свойства фигуры: Текстовое свойство";
			PropertyTypes = new ObservableCollection<PassCardTextPropertyType>(Enum.GetValues(typeof(PassCardTextPropertyType)).Cast<PassCardTextPropertyType>());
			_organisationUID = element.OrganisationUID;
		}
コード例 #6
0
		public SubPlanPropertiesViewModel(IElementSubPlan element, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Ссылка на план";
			_elementSubPlan = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(_elementSubPlan as ElementBase, designerCanvas);
			Initialize();
		}
コード例 #7
0
ファイル: GKDoorPainter.cs プロジェクト: xbadcode/Rubezh
		public GKDoorPainter(CommonDesignerCanvas designerCanvas, ElementGKDoor elementGKDoor)
			: base(designerCanvas, elementGKDoor)
		{
			_elementGKDoor = elementGKDoor;
			_toolTip = new ImageTextTooltipViewModel();
			_toolTip.ImageSource = "/Controls;component/Images/Door.png";
		}
コード例 #8
0
		public PolygonPropertiesViewModel(ElementPolygon elementPolygon, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Полигон";
			_elementPolygon = elementPolygon;
			PositionSettingsViewModel = new PositionSettingsViewModel(_elementPolygon as ElementBase, designerCanvas);
			ImagePropertiesViewModel = new ImagePropertiesViewModel(_elementPolygon);
			CopyProperties();
		}
コード例 #9
0
		public EllipsePropertiesViewModel(ElementEllipse element, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Эллипс";
			_elementEllipse = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);
			ImagePropertiesViewModel = new ImagePropertiesViewModel(_elementEllipse);
			CopyProperties();
		}
コード例 #10
0
		public CameraPropertiesViewModel(ElementCamera element, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Камера";
			_elementCamera = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);

			Initialize();
			Rotation = element.Rotation;
		}
コード例 #11
0
		public RectanglePropertiesViewModel(ElementRectangle element, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Прямоугольник";
			ElementRectangle = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);
			ImagePropertiesViewModel = new ImagePropertiesViewModel(ElementRectangle);
			BindStrokeThicknessCommand = new RelayCommand(OnBindStrokeThickness);
			CopyProperties();
		}
コード例 #12
0
ファイル: DesignerSurface.cs プロジェクト: xbadcode/Rubezh
		public DesignerSurface(CommonDesignerCanvas designerCanvas)
		{
			_designerCanvas = designerCanvas;
			_isDragging = false;
			_visuals = new List<CommonDesignerItem>();
			_isZIndexValid = true;
			ToolTipService.SetIsEnabled(this, false);
			IsVisibleChanged += (s, e) => Update(IsVisible);
		}
コード例 #13
0
		public DevicePropertiesViewModel(ElementGKDevice elementDevice, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Устройство ГК";
			_elementGKDevice = elementDevice;
			PositionSettingsViewModel = new PositionSettingsViewModel(_elementGKDevice as ElementBase, designerCanvas);

			RootDevice = AddDeviceInternal(GKManager.DeviceConfiguration.RootDevice, null);
			if (SelectedDevice != null)
				SelectedDevice.ExpandToThis();
		}
コード例 #14
0
		public PositionSettingsViewModel(ElementBase element, CommonDesignerCanvas designerCanvas)
		{
			ElementBase = element;
			DesignerCanvas = designerCanvas;
			var rectangle = ElementBase.GetRectangle();
			Left = Math.Round(rectangle.X, 3).ToString();
			Top = Math.Round(rectangle.Y, 3).ToString();
			ElementWidth = rectangle.Width;
			ElementHeight = rectangle.Height;
		}
コード例 #15
0
		public ProcedurePropertiesViewModel(ElementProcedure element, ProceduresViewModel proceduresViewModel, CommonDesignerCanvas designerCanvas)
			: base(element, designerCanvas)
		{
			Procedures = proceduresViewModel.Procedures;
			_element = element;
			ElementBaseRectangle = element as ElementBaseRectangle;
			Title = "Свойства фигуры: Процедура";
			if (element.ProcedureUID != Guid.Empty)
				SelectedProcedure = Procedures.FirstOrDefault(x => x.Procedure.Uid == element.ProcedureUID);
		}
コード例 #16
0
ファイル: PainterFactory.cs プロジェクト: xbadcode/Rubezh
		public static IPainter Create(CommonDesignerCanvas designerCanvas, ElementBase element)
		{
			Type type = element.GetType();
			var primitive = element as IPrimitive;
			if (primitive != null && primitive.Primitive != Primitive.NotPrimitive)
				return (IPainter)Activator.CreateInstance(_painters[primitive.Primitive], designerCanvas, element);
			var args = new PainterFactoryEventArgs(designerCanvas, element);
			EventService.EventAggregator.GetEvent<PainterFactoryEvent>().Publish(args);
			return args.Painter ?? new DefaultPainter(designerCanvas, element);
		}
コード例 #17
0
ファイル: MoveAdorner.cs プロジェクト: saeednazari/Rubezh
		public MoveAdorner(CommonDesignerCanvas designerCanvas)
			: base(designerCanvas)
		{
			_designerCanvas = designerCanvas;
			Cursor = Cursors.SizeAll;
			_transform = new TranslateTransform();
			_drawingVisual = new DrawingVisual();
			_drawingVisual.Transform = _transform;
			AddVisualChild(_drawingVisual);
		}
コード例 #18
0
		public MPTPropertiesViewModel(IElementMPT element, CommonDesignerCanvas designerCanvas)
		{
			IElementMPT = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);
			CreateCommand = new RelayCommand(OnCreate);
			EditCommand = new RelayCommand(OnEdit, CanEdit);
			Title = "Свойства фигуры: МПТ";
			MPTs = new ObservableCollection<GKMPT>(GKManager.MPTs);
			if (IElementMPT.MPTUID != Guid.Empty)
				SelectedMPT = MPTs.FirstOrDefault(x => x.UID == IElementMPT.MPTUID);
		}
コード例 #19
0
		public GuardZonePropertiesViewModel(IElementZone element, CommonDesignerCanvas designerCanvas)
		{
			IElementZone = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);
			CreateCommand = new RelayCommand(OnCreate);
			EditCommand = new RelayCommand(OnEdit, CanEdit);
			Title = "Свойства фигуры: Охранная зона";
			Zones = new ObservableCollection<GKGuardZone>(GKManager.GuardZones);
			if (element.ZoneUID != Guid.Empty)
				SelectedZone = Zones.FirstOrDefault(x => x.UID == element.ZoneUID);
		}
コード例 #20
0
		public GKDoorPropertiesViewModel(ElementGKDoor elementGKDoor, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Точка доступа";
			_elementGKDoor = elementGKDoor;
			PositionSettingsViewModel = new PositionSettingsViewModel(_elementGKDoor as ElementBase, designerCanvas);
			CreateCommand = new RelayCommand(OnCreate);
			EditCommand = new RelayCommand(OnEdit, CanEdit);
			GKDoors = new ObservableCollection<GKDoor>(GKManager.Doors);
			if (elementGKDoor.DoorUID != Guid.Empty)
				SelectedGKDoor = GKDoors.FirstOrDefault(door => door.UID == elementGKDoor.DoorUID);

		}
コード例 #21
0
		public InstrumentAdorner(CommonDesignerCanvas designerCanvas)
			: base(designerCanvas)
		{
			DesignerCanvas = designerCanvas;

			AdornerCanvas = new Canvas()
			{
				Background = Brushes.Transparent
			};
			visuals = new VisualCollection(this);
			visuals.Add(AdornerCanvas);
		}
コード例 #22
0
		public DirectionPropertiesViewModel(IElementDirection element, CommonDesignerCanvas designerCanvas)
		{
			IElementDirection = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);
			Title = "Свойства фигуры: Направление";
			CreateCommand = new RelayCommand(OnCreate);
			EditCommand = new RelayCommand(OnEdit, CanEdit);

			Directions = new ObservableCollection<GKDirection>(GKManager.Directions);
			if (IElementDirection.DirectionUID != Guid.Empty)
				SelectedDirection = Directions.FirstOrDefault(x => x.UID == IElementDirection.DirectionUID);

			ShowState = element.ShowState;
			ShowDelay = element.ShowDelay;
		}
コード例 #23
0
		public DelayPropertiesViewModel(IElementDelay element, CommonDesignerCanvas designerCanvas)
		{
			IElementDelay = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);
			Title = "Свойства фигуры: Задержка";
			CreateCommand = new RelayCommand(OnCreate);
			EditCommand = new RelayCommand(OnEdit, CanEdit);

			ShowState = element.ShowState;
			ShowDelay = element.ShowDelay;

			Delays = new ObservableCollection<GKDelay>(GKManager.Delays);
			if (element.DelayUID != Guid.Empty)
				SelectedDelay = Delays
					.Where(delay => delay.UID == element.DelayUID)
					.FirstOrDefault();
		}
コード例 #24
0
ファイル: PolygonZonePainter.cs プロジェクト: xbadcode/Rubezh
		public PolygonZonePainter(CommonDesignerCanvas designerCanvas, ElementBase element)
			: base(designerCanvas, element)
		{
			_toolTip = new ImageTextTooltipViewModel();
			if (element is ElementPolygonGKZone)
				_toolTip.ImageSource = "/Controls;component/Images/Zone.png";
			else if (element is ElementPolygonGKSKDZone)
				_toolTip.ImageSource = "/Controls;component/Images/SKDZone.png";
			else if (element is ElementPolygonGKGuardZone)
				_toolTip.ImageSource = "/Controls;component/Images/GuardZone.png";
			else if (element is ElementPolygonGKDirection)
				_toolTip.ImageSource = "/Controls;component/Images/BDirection.png";
			else if (element is ElementPolygonGKMPT)
				_toolTip.ImageSource = "/Controls;component/Images/BMPT.png";
			else if (element is ElementPolygonGKPumpStation)
				_toolTip.ImageSource = "/Controls;component/Images/BPumpStation.png";
			else if (element is ElementPolygonGKDelay)
				_toolTip.ImageSource = "/Controls;component/Images/Delay.png";
		}
コード例 #25
0
		public PassCardImagePropertyPainter(CommonDesignerCanvas designerCanvas, ElementPassCardImageProperty element, byte[] data)
			: base(designerCanvas, element)
		{
			if (data != null)
				using (var imageStream = new MemoryStream(data))
				{
					BitmapImage bitmapImage = new BitmapImage();
					bitmapImage.BeginInit();
					bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
					bitmapImage.StreamSource = imageStream;
					bitmapImage.EndInit();
					_brush = new ImageBrush(bitmapImage)
					{
						Stretch = element.Stretch.ToWindowsStretch(),
					};
					_brush.Freeze();
				}
			else
				_brush = null;

		}
コード例 #26
0
		public TextBlockPropertiesViewModel(IElementTextBlock element, CommonDesignerCanvas designerCanvas)
		{
			Title = "Свойства фигуры: Надпись";
			ElementTextBlock = element;
			PositionSettingsViewModel = new PositionSettingsViewModel(element as ElementBase, designerCanvas);

			CopyProperties();

			Fonts = new List<string>();
			foreach (var fontfamily in System.Drawing.FontFamily.Families)
				Fonts.Add(fontfamily.Name);
			TextAlignments = new List<string>()
			{
				"По левому краю",
				"По правому краю",
				"По центру",
			};
			VerticalAlignments = new List<string>()
			{
				"По верхнему краю",
				"По середине",
				"По нижнему краю",
			};
		}
コード例 #27
0
		public DelayRectangleAdorner(CommonDesignerCanvas designerCanvas)
			: base(designerCanvas)
		{
		}
コード例 #28
0
ファイル: Painter.cs プロジェクト: xbadcode/Rubezh
		public Painter(CommonDesignerCanvas designerCanvas, ElementGKDevice elementGKDevice)
			: base(designerCanvas, elementGKDevice)
		{
			_elementGKDevice = elementGKDevice;
			_toolTip = new ImageTextTooltipViewModel();
		}
コード例 #29
0
		public PassCardTextPropertyAdorner(CommonDesignerCanvas designerCanvas, Guid organisationUID)
			: base(designerCanvas)
		{
			_organisationUID = organisationUID;
		}
コード例 #30
0
ファイル: TextBlockPainter.cs プロジェクト: xbadcode/Rubezh
		public TextBlockPainter(CommonDesignerCanvas designerCanvas, ElementBase element)
			: base(designerCanvas, element)
		{
			_textDrawing = new GeometryDrawing(null, null, null);
		}