public ResourceContextMenuStrip(IResourceView irv) { this.irv = irv; // Set the 'enabled' properties ItemInsert.Enabled = irv.CanInsert; ItemDuplicate.Enabled = irv.CanDuplicate; ItemInsertGroup.Enabled = irv.CanInsertGroup; ItemSortByName.Enabled = irv.CanSort; ItemDelete.Enabled = irv.CanDelete; ItemRename.Enabled = irv.CanRename; ItemProperties.Enabled = irv.CanEdit; // Set custom icons and text if (!string.IsNullOrEmpty(irv.InsertString)) { ItemInsert.Text = irv.InsertString; } if (irv.HasSpecialAction) { ItemSpecial.Image = irv.SpecialActionImage; ItemSpecial.Text = irv.SpecialActionName; } if (!string.IsNullOrEmpty(irv.InsertGroupString)) { ItemInsertGroup.Text = irv.InsertGroupString; } // More images ItemInsert.Image = Properties.Resources.Add; ItemDuplicate.Image = Properties.Resources.Copy; ItemInsertGroup.Image = Properties.Resources.CreateFolder; ItemDelete.Image = Properties.Resources.Delete; ItemRename.Image = Properties.Resources.Rename; ItemProperties.Image = Properties.Resources.Preferences; // Set the events for the items ItemInsert.Click += new EventHandler(ItemInsert_Click); ItemDuplicate.Click += new EventHandler(ItemDuplicate_Click); ItemSpecial.Click += new EventHandler(ItemSpecial_Click); ItemInsertGroup.Click += new EventHandler(ItemInsertGroup_Click); ItemSortByName.Click += new EventHandler(ItemSortByName_Click); ItemDelete.Click += new EventHandler(ItemDelete_Click); ItemRename.Click += new EventHandler(ItemRename_Click); ItemProperties.Click += new EventHandler(ItemProperties_Click); // Add the items Items.Add(ItemInsert); Items.Add(ItemDuplicate); Items.Add(new ToolStripSeparator()); if (irv.HasSpecialAction) { Items.Add(ItemSpecial); Items.Add(new ToolStripSeparator()); } Items.Add(ItemInsertGroup); Items.Add(new ToolStripSeparator()); Items.Add(ItemSortByName); Items.Add(new ToolStripSeparator()); Items.Add(ItemDelete); Items.Add(new ToolStripSeparator()); Items.Add(ItemRename); Items.Add(new ToolStripSeparator()); Items.Add(ItemProperties); }
void item_Click(object sender, EventArgs e) { IResourceView res = (sender as ToolStripMenuItem).Tag as IResourceView; action.AppliesTo = (int)res.ResourceID; label1.Text = res.Name; }
public void Dispose() { _view = null; foreach (var disposable in _disposables) { disposable.Dispose(); } }
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) { IResourceView res = (IResourceView)((TreeNode)e.Item).Tag; if (!string.IsNullOrEmpty(res.DragDropFormat)) { DoDragDrop(new ResourceViewDataObject(res.DragDropFormat, res), DragDropEffects.All); } }
public ResourceContextMenuStrip(IResourceView irv) { this.irv = irv; // Set the 'enabled' properties ItemInsert.Enabled = irv.CanInsert; ItemDuplicate.Enabled = irv.CanDuplicate; ItemInsertGroup.Enabled = irv.CanInsertGroup; ItemSortByName.Enabled = irv.CanSort; ItemDelete.Enabled = irv.CanDelete; ItemRename.Enabled = irv.CanRename; ItemProperties.Enabled = irv.CanEdit; // Set custom icons and text if (!string.IsNullOrEmpty(irv.InsertString)) ItemInsert.Text = irv.InsertString; if (irv.HasSpecialAction) { ItemSpecial.Image = irv.SpecialActionImage; ItemSpecial.Text = irv.SpecialActionName; } if (!string.IsNullOrEmpty(irv.InsertGroupString)) ItemInsertGroup.Text = irv.InsertGroupString; // More images ItemInsert.Image = Properties.Resources.Add; ItemDuplicate.Image = Properties.Resources.Copy; ItemInsertGroup.Image = Properties.Resources.CreateFolder; ItemDelete.Image = Properties.Resources.Delete; ItemRename.Image = Properties.Resources.Rename; ItemProperties.Image = Properties.Resources.Preferences; // Set the events for the items ItemInsert.Click += new EventHandler(ItemInsert_Click); ItemDuplicate.Click += new EventHandler(ItemDuplicate_Click); ItemSpecial.Click += new EventHandler(ItemSpecial_Click); ItemInsertGroup.Click += new EventHandler(ItemInsertGroup_Click); ItemSortByName.Click += new EventHandler(ItemSortByName_Click); ItemDelete.Click += new EventHandler(ItemDelete_Click); ItemRename.Click += new EventHandler(ItemRename_Click); ItemProperties.Click += new EventHandler(ItemProperties_Click); // Add the items Items.Add(ItemInsert); Items.Add(ItemDuplicate); Items.Add(new ToolStripSeparator()); if (irv.HasSpecialAction) { Items.Add(ItemSpecial); Items.Add(new ToolStripSeparator()); } Items.Add(ItemInsertGroup); Items.Add(new ToolStripSeparator()); Items.Add(ItemSortByName); Items.Add(new ToolStripSeparator()); Items.Add(ItemDelete); Items.Add(new ToolStripSeparator()); Items.Add(ItemRename); Items.Add(new ToolStripSeparator()); Items.Add(ItemProperties); }
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { IResourceView irv = (IResourceView)e.Node.Tag; if (irv.CanEdit) { irv.Edit(); } }
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { IResourceView irv = (IResourceView)e.Node.Tag; if (e.Button == MouseButtons.Right) { treeView1.SelectedNode = e.Node; ResourceContextMenuStrip rc = new ResourceContextMenuStrip(irv); rc.Show(treeView1, e.Location, ToolStripDropDownDirection.Default); } }
public void DealDamage(IResourceView obj, float damage) { currentHealth -= damage; healthBar.SetDamage(currentHealth / maxHealth); if (currentHealth <= 0) { itemPooler.SendScore(this, (int)maxHealth); itemPooler.InitResource(this); healthBar.ResetBarView(); } }
ToolStripMenuItem CreateItem(IResourceView res) { ToolStripMenuItem item = new ToolStripMenuItem(res.Name); if (res.ImageKey != null) item.Image = Program.IDE.ResourceImageList.Images[res.ImageKey]; if (res.CanEdit) item.Click += new EventHandler(item_Click); item.Tag = res; foreach (TreeNode n in res.Node.Nodes) item.DropDownItems.Add(CreateItem(n.Tag as IResourceView)); return item; }
internal void MoveResource(TreeNode newparent, IResourceView res, int treeIndex) { res.Node.Remove(); res.Node.Collapse(); if (treeIndex == -1) { newparent.Nodes.Add(res.Node); } else { newparent.Nodes.Insert(treeIndex, res.Node); } res.Node.EnsureVisible(); treeView1.SelectedNode = res.Node; }
private void treeView1_DragOver(object sender, DragEventArgs e) { e.Effect = DragDropEffects.None; TreeNode tn = treeView1.GetNodeAt(treeView1.PointToClient(new Point(e.X, e.Y))); if (tn != null) { IResourceView res = (IResourceView)tn.Tag; if (res.AcceptsResource(e.Data)) { treeView1.SelectedNode = res.Node; e.Effect = DragDropEffects.Move; } } }
void ShowView(Control viewer) { // remove old view if there is one if (panel.Controls.Count == 1) { Control control = panel.Controls[0]; panel.Controls.Remove(control); control.Dispose(); } if (viewer != null) { viewer.Dock = DockStyle.Fill; panel.Controls.Add(viewer); currentView = (IResourceView)viewer; currentView.WriteProtected = resourceList.WriteProtected; currentView.ResourceChanged += ViewResourceChanged; } }
ToolStripMenuItem CreateItem(IResourceView res) { ToolStripMenuItem item = new ToolStripMenuItem(res.Name); if (res.ImageKey != null) { item.Image = Program.IDE.ResourceImageList.Images[res.ImageKey]; } if (res.CanEdit) { item.Click += new EventHandler(item_Click); } item.Tag = res; foreach (TreeNode n in res.Node.Nodes) { item.DropDownItems.Add(CreateItem(n.Tag as IResourceView)); } return(item); }
internal void AddResource(TreeNode parent, IResourceView res, string name, int treeIndex, bool ensureVisible, bool rename, bool edit) { if (!string.IsNullOrEmpty(name)) { res.Name = name; } TreeNode tn = new TreeNode(res.Name); res.Node = tn; tn.Name = tn.Text; tn.ImageKey = res.ImageKey; tn.SelectedImageKey = res.ImageKey; tn.Tag = res; if (parent == null) { tn.NodeFont = new Font(treeView1.Font, FontStyle.Regular); } TreeNodeCollection tnc = parent == null ? treeView1.Nodes : parent.Nodes; if (treeIndex == -1) { tnc.Add(tn); } else { tnc.Insert(treeIndex, tn); } if (ensureVisible) { tn.EnsureVisible(); treeView1.SelectedNode = tn; } if (edit) { res.Edit(); } if (rename) { tn.BeginEdit(); } }
private ToolStripItem CreateResourceMenuItem(TreeNode n, EventHandler click, object dropDownTag) { ToolStripMenuItem item = new ToolStripMenuItem(n.Name); IResourceView res = n.Tag as IResourceView; if (res.ImageKey != null) { item.Image = Program.IDE.ResourceImageList.Images[res.ImageKey]; } if (res.CanEdit) { item.Click += click; } item.Tag = res; item.DropDown.Tag = dropDownTag; foreach (TreeNode tn in res.Node.Nodes) { item.DropDownItems.Add(CreateResourceMenuItem(tn, click, dropDownTag)); } return(item); }
void NewGame() { if (Program.GameModified) { switch (MessageBox.Show("Game has been changed. Save changes?", "Confirm", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)) { case DialogResult.Yes: /* Save the game */ break; case DialogResult.Cancel: // don't start a new project, return return; } } Program.SpriteIncremental = 0; Program.SoundIncremental = 0; Program.BackgroundIncremental = 0; Program.PathIncremental = 0; Program.ScriptIncremental = 0; Program.FontIncremental = 0; Program.DataFileIncremental = 0; Program.TimeLineIncremental = 0; Program.ObjectIncremental = 0; Program.RoomIncremental = 0; IResourceView[] reslist = new IResourceView[] { Sprites, Sounds, Backgrounds, Paths, Scripts, Fonts, DataFiles, TimeLines, Rooms, Objects }; foreach (IResourceView res in reslist) { foreach (TreeNode tn in res.Node.Nodes) { (tn.Tag as IDeletable).DoDelete(false); } } treeView1.BeginUpdate(); treeView1.Nodes.Clear(); PopulateNewResourceTree(); treeView1.EndUpdate(); Program.GameModified = false; }
void NewGame() { if (Program.GameModified) { switch (MessageBox.Show("Game has been changed. Save changes?", "Confirm", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)) { case DialogResult.Yes: /* Save the game */ break; case DialogResult.Cancel: // don't start a new project, return return; } } Program.SpriteIncremental = 0; Program.SoundIncremental = 0; Program.BackgroundIncremental = 0; Program.PathIncremental = 0; Program.ScriptIncremental = 0; Program.FontIncremental = 0; Program.DataFileIncremental = 0; Program.TimeLineIncremental = 0; Program.ObjectIncremental = 0; Program.RoomIncremental = 0; IResourceView[] reslist = new IResourceView[] { Sprites, Sounds, Backgrounds, Paths, Scripts, Fonts, DataFiles, TimeLines, Rooms, Objects }; foreach (IResourceView res in reslist) foreach (TreeNode tn in res.Node.Nodes) (tn.Tag as IDeletable).DoDelete(false); treeView1.BeginUpdate(); treeView1.Nodes.Clear(); PopulateNewResourceTree(); treeView1.EndUpdate(); Program.GameModified = false; }
internal void AddResource(TreeNode parent, IResourceView res, string name, int treeIndex, bool ensureVisible, bool rename, bool edit) { if (!string.IsNullOrEmpty(name)) res.Name = name; TreeNode tn = new TreeNode(res.Name); res.Node = tn; tn.Name = tn.Text; tn.ImageKey = res.ImageKey; tn.SelectedImageKey = res.ImageKey; tn.Tag = res; if (parent == null) tn.NodeFont = new Font(treeView1.Font, FontStyle.Regular); TreeNodeCollection tnc = parent == null ? treeView1.Nodes : parent.Nodes; if (treeIndex == -1) tnc.Add(tn); else tnc.Insert(treeIndex, tn); if (ensureVisible) { tn.EnsureVisible(); treeView1.SelectedNode = tn; } if (edit) res.Edit(); if (rename) tn.BeginEdit(); }
internal void MoveResource(TreeNode newparent, IResourceView res, int treeIndex) { res.Node.Remove(); res.Node.Collapse(); if (treeIndex == -1) newparent.Nodes.Add(res.Node); else newparent.Nodes.Insert(treeIndex, res.Node); res.Node.EnsureVisible(); treeView1.SelectedNode = res.Node; }
public void SetView(IResourceView view) { _view = view; _view.InitView(this); }
public void SetData(string format, bool autoConvert, object data) { res = (IResourceView)data; }
public void SetData(string format, object data) { res = (IResourceView)data; }
public void SetData(string format, object data) { res = (IResourceView)data; }
public void SetData(object data) { res = (IResourceView)data; }
private void argument_Click(object sender, EventArgs e) { int i = (int)(sender as Control).Tag; ContextMenuStrip menu = new ContextMenuStrip(); menu.Tag = (sender as Control).Tag; IResourceView res = null; int col; // color string defstr = null; switch (action.Kind.Arguments[i].Type) { case ActionArgumentType.Menu: foreach (string s in action.Kind.Arguments[i].Menu.Split('|')) { menu.Items.Add(s).Click += new EventHandler(argCustomMenuItem_Click); } break; case ActionArgumentType.Background: res = Program.IDE.Backgrounds; defstr = "No background"; break; case ActionArgumentType.Font: res = Program.IDE.Fonts; defstr = "No font"; break; case ActionArgumentType.Object: res = Program.IDE.Objects; defstr = "No object"; break; case ActionArgumentType.Path: res = Program.IDE.Paths; defstr = "No path"; break; case ActionArgumentType.Room: res = Program.IDE.Rooms; defstr = "No room"; break; case ActionArgumentType.Script: res = Program.IDE.Scripts; defstr = "No script"; break; case ActionArgumentType.Sound: res = Program.IDE.Sounds; defstr = "No sound"; break; case ActionArgumentType.Sprite: res = Program.IDE.Sprites; defstr = "No sprite"; break; case ActionArgumentType.Timeline: res = Program.IDE.TimeLines; defstr = "No timeline"; break; case ActionArgumentType.Boolean: menu.Items.Add("True").Click += new EventHandler(true_Click); menu.Items.Add("False").Click += new EventHandler(false_Click); break; case ActionArgumentType.Color: ColorDialog d = new ColorDialog(); col = int.Parse(action.Arguments[i]); d.Color = Color.FromArgb(255, col & 255, (col >> 8) & 255, (col >> 16) & 255); if (d.ShowDialog() == DialogResult.OK) { ArgTextBoxes[i].BackColor = d.Color; action.Arguments[i] = ((int)d.Color.R | ((int)d.Color.G << 8) | ((int)d.Color.B << 16)).ToString(); } break; case ActionArgumentType.FontString: FontDialog dialog = new FontDialog(); dialog.ShowColor = true; string[] sl = action.Arguments[i].Split(','); col = int.Parse(sl[2]); dialog.Color = Color.FromArgb(255, col & 255, (col >> 8) & 255, (col >> 16) & 255); FontStyle fs = FontStyle.Regular; if (sl[3] == "1") { fs |= FontStyle.Bold; } if (sl[4] == "1") { fs |= FontStyle.Italic; } if (sl[5] == "1") { fs |= FontStyle.Underline; } if (sl[6] == "1") { fs |= FontStyle.Strikeout; } dialog.Font = new Font(sl[0].Replace("\"", string.Empty), float.Parse(sl[1]), fs, GraphicsUnit.Point); if (dialog.ShowDialog() == DialogResult.OK) { action.Arguments[i] = string.Format( "\"{0}\",{1},{2},{3},{4},{5},{6}", dialog.Font.Name, (int)Math.Round(dialog.Font.SizeInPoints), ((int)dialog.Color.R | ((int)dialog.Color.G << 8) | ((int)dialog.Color.B << 16)).ToString(), dialog.Font.Bold ? "1" : "0", dialog.Font.Italic ? "1" : "0", dialog.Font.Underline ? "1" : "0", dialog.Font.Strikeout ? "1" : "0" ); ArgTextBoxes[i].Font = dialog.Font; ArgTextBoxes[i].ForeColor = dialog.Color; } break; } if (res != null) { menu.Items.Add(defstr).Click += new EventHandler(defaultItem_Click); foreach (TreeNode n in res.Node.Nodes) { menu.Items.Add(CreateResourceMenuItem(n, new EventHandler(resItem_Click), menu.Tag)); } } menu.Show(MousePosition); }
internal ResourcePresenter(IResourceView view) { _view = view; }
void showView(Control viewer) { // remvoe old view if there is one if(panel.Controls.Count == 1) { Control control = panel.Controls[0]; panel.Controls.Remove(control); control.Dispose(); } if(viewer != null) { viewer.Dock = DockStyle.Fill; panel.Controls.Add(viewer); currentView = (IResourceView)viewer; currentView.WriteProtected = resourceList.WriteProtected; currentView.ResourceChanged += new ResourceChangedEventHandler(viewResourceChanged); } }
public ResourceViewDataObject(string fmt, IResourceView data) { format = fmt; res = data; }
public ResourceViewDataObject(string fmt, IResourceView data) { format = fmt; res = data; }
public void SetData(Type format, object data) { res = (IResourceView)data; }
public void SetData(object data) { res = (IResourceView)data; }
public void SetData(string format, bool autoConvert, object data) { res = (IResourceView)data; }
public void SetData(Type format, object data) { res = (IResourceView)data; }