void ActivateTSEditorMode(EnumPolyEditMode mode) { tsImgMove.BackgroundImage = Resources.imgMove; tsImgRotate.BackgroundImage = Resources.imgRotate; tsImgScale.BackgroundImage = Resources.imgScale; tsPolyDelete.BackgroundImage = Resources.DelPoint; tsPolyMove.BackgroundImage = Resources.MovPoint; tsPolyNewPoinInLine.BackgroundImage = Resources.NewPointInLine; tsPolyNewPoint.BackgroundImage = Resources.NewPoint; switch (mode) { case EnumPolyEditMode.DelVert: tsPolyDelete.BackgroundImage = Resources.o_DelPoint; break; case EnumPolyEditMode.MoveVertorPoly: tsPolyMove.BackgroundImage = Resources.o_MovPoint; break; case EnumPolyEditMode.NewVert: tsPolyNewPoint.BackgroundImage = Resources.o_NewPoint; break; case EnumPolyEditMode.NewVertInLine: tsPolyNewPoinInLine.BackgroundImage = Resources.o_NewPointInLine; break; case EnumPolyEditMode.MoveImage: tsImgMove.BackgroundImage = Resources.o_imgMove; break; case EnumPolyEditMode.ScaleImage: tsImgScale.BackgroundImage = Resources.o_imgScale; break; case EnumPolyEditMode.RotateImage: tsImgRotate.BackgroundImage = Resources.o_imgRotate; break; } Overlay.Refresh(); }
public FrmGraphicsEditor() { InitializeComponent(); PolyEditMode = EnumPolyEditMode.MoveImage; Overlay = new GraphicalOverlay() { Owner = pbDrawSpace }; Overlay.Paint += Overlay_Paint; InitTSEvents(); InitPbDrawSpace(); btnNewTTImage.Click += BtnTTImageNew_Click; btnDelTTImage.Click += (_, __) => { if (lbTTImages.SelectedItem != null) { selectedScene.TTImages.RemoveAt(lbTTImages.SelectedIndex); RefreshTTImages(); Overlay.Refresh(); } }; btnMoveUpTTImage.Click += (_, __) => { if (lbTTImages.SelectedIndex > 0) { SwapImages(lbTTImages.SelectedIndex, lbTTImages.SelectedIndex - 1); RefreshTTImages(); Overlay.Refresh(); } }; btnMoveDownTTImage.Click += (_, __) => { if (lbTTImages.SelectedIndex < lbTTImages.Items.Count - 1) { SwapImages(lbTTImages.SelectedIndex, lbTTImages.SelectedIndex + 1); RefreshTTImages(); Overlay.Refresh(); } }; var SceneContext = new ContextMenu(); SceneContext.MenuItems.Add("New", (_, __) => { if (MainForm.Project == null) { return; } using (var f = new frmScene(MainForm.Project.Scenes.ToArray())) { if (f.ShowDialog() == DialogResult.OK) { MainForm.Project.Scenes.Add(f.Result); RefreshScenes(); lbScenes.SelectedIndex = lbScenes.Items.Count - 1; } } }); SceneContext.MenuItems.Add("Edit", (_, __) => { if (MainForm.Project == null || lbScenes.SelectedItem == null) { return; } using (var f = new frmScene(MainForm.Project.Scenes.ToArray(), MainForm.Project.Scenes[lbScenes.SelectedIndex])) { if (f.ShowDialog() == DialogResult.OK) { var s = MainForm.Project.Scenes[lbScenes.SelectedIndex]; s.Name = f.Result.Name; s.ResolutionDPI = f.Result.ResolutionDPI; s.CanvasSize = f.Result.CanvasSize; RefreshScenes(); } } }); lbScenes.ContextMenu = SceneContext; lbOids.SelectedIndexChanged += LbOids_SelectedIndexChanged; lbScenes.SelectedIndexChanged += LB_Scenes_SelectedIndexChanged; tsPolygons.SelectedIndexChanged += (_, __) => { if (selectedSceneOid != null) { int i = tsPolygons.SelectedIndex; if (i > -1 && selectedSceneOid.Polygons.Count > 0) { selectedpolygon = selectedSceneOid.Polygons[i]; Overlay.Refresh(); } } }; btnOnSwitchOid.Click += (_, __) => { if (selectedScene == null) { return; } lbOids.SelectedIndex = -1; tsPolygons.Items.Clear(); if (selectedScene.StartOid == null) { selectedScene.StartOid = new SceneOid("os_start"); selectedSceneOid = selectedScene.StartOid; } if (selectedScene.StartOid.Polygons == null || selectedScene.StartOid.Polygons.Count == 0) { selectedSceneOid = selectedScene.StartOid; tsAddPoly.PerformClick(); } selectedSceneOid = selectedScene.StartOid; tsPolygons.Items.AddRange(selectedSceneOid.Polygons.ToArray()); if (tsPolygons.Items.Count > 0) { tsPolygons.SelectedIndex = 0; } }; RefreshScenes(); RefreshNodes(); tsImgMove.PerformClick(); }