public bool SetVarName(string name) { System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9_\\.\\[\\]]"); if (reg.IsMatch(name)) { return(false); } if (name.IndexOfAny(new char[] { '.', '[', ']' }) != -1) { this.global = true; } foreach (Panel p in Derma.GetPanels()) { if (p.varname == name) { return(false); } } varname = name; Derma.RefreshProperties(); return(true); }
private void Form1_KeyDown(object sender, KeyEventArgs e) { if (Derma.GetSelected() == null) { return; } if (e.KeyValue == (int)Keys.Delete) { Derma.GetSelected().Remove(); Derma.prop.propertyGrid.SelectedObject = null; return; } int dist; if ((e.Modifiers & Keys.Shift) == Keys.Shift) { dist = 10; } else { dist = 1; } switch (e.KeyValue) { case (int)Keys.Up: if (GUI.Grid.DrawGrid && !VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_TAB)) { dist = Derma.GetSelected().y % GUI.Grid.GridSize; if (dist == 0) { dist = GUI.Grid.GridSize; } if (VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_SHIFT)) { dist += GUI.Grid.GridSize; } } Derma.GetSelected().ModifyPos(0, -dist); break; case (int)Keys.Left: if (GUI.Grid.DrawGrid && !VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_TAB)) { dist = Derma.GetSelected().x % GUI.Grid.GridSize; if (dist == 0) { dist = GUI.Grid.GridSize; } if (VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_SHIFT)) { dist += GUI.Grid.GridSize; } } Derma.GetSelected().ModifyPos(-dist, 0); break; case (int)Keys.Right: if (GUI.Grid.DrawGrid && !VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_TAB)) { dist = Derma.GetSelected().x % GUI.Grid.GridSize; if (dist == 0) { dist = GUI.Grid.GridSize; } if (VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_SHIFT)) { dist += GUI.Grid.GridSize; } } Derma.GetSelected().ModifyPos(dist, 0); break; case (int)Keys.Down: if (GUI.Grid.DrawGrid && !VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_TAB)) { dist = Derma.GetSelected().y % GUI.Grid.GridSize; if (dist == 0) { dist = GUI.Grid.GridSize; } if (VirtualKeys.IsKeyPressed(VirtualKeyStates.VK_SHIFT)) { dist += GUI.Grid.GridSize; } } Derma.GetSelected().ModifyPos(0, dist); break; } Derma.RefreshProperties(); }
public static void Resize_MouseMove(object sender, MouseEventArgs e) { if (resizing && resizinga) { Point newsize; if (host.centered) { newsize = new Point((e.X - mouseOrigin.X) * 2, (e.Y - mouseOrigin.Y) * 2); } else { newsize = new Point(e.X - mouseOrigin.X, e.Y - mouseOrigin.Y); } if (host.PreResize(host.width + newsize.X, host.height + newsize.Y) && host.width + newsize.X > 10 && host.height + newsize.Y > 10) { if (GUI.Grid.DrawGrid && Math.Abs(mouseOrigin.X - e.X) > GUI.Grid.GridSize || Math.Abs(mouseOrigin.Y - e.Y) > GUI.Grid.GridSize) { host.ModifySize(newsize.X, newsize.Y, true); mouseOrigin.X = e.X; mouseOrigin.Y = e.Y; } else if (!GUI.Grid.DrawGrid) { host.ModifySize(newsize.X, newsize.Y, true); mouseOrigin.X = e.X; mouseOrigin.Y = e.Y; } host.PostResize(); Derma.RefreshProperties(); Derma.Repaint(); } } else if (resizing && resizingx) { Point newsize; if (host.centered) { newsize = new Point((e.X - mouseOrigin.X) * 2, (mouseOrigin.Y) * 2); } else { newsize = new Point(e.X - mouseOrigin.X, mouseOrigin.Y); } if (host.PreResize(host.width + newsize.X, host.height + newsize.Y) && host.width + newsize.X > 10 && host.height + newsize.Y > 10) { if (GUI.Grid.DrawGrid && Math.Abs(mouseOrigin.X - e.X) >= GUI.Grid.GridSize) { host.ModifySize(newsize.X, 0, true); mouseOrigin.X = e.X; } else if (!GUI.Grid.DrawGrid) { host.ModifySize(newsize.X, 0, true); mouseOrigin.X = e.X; } host.PostResize(); Derma.RefreshProperties(); Derma.Repaint(); } } else if (resizing && resizingy) { Point newsize; if (host.centered) { newsize = new Point((mouseOrigin.X) * 2, (e.Y - mouseOrigin.Y) * 2); } else { newsize = new Point(mouseOrigin.X, e.Y - mouseOrigin.Y); } if (host.PreResize(host.width + newsize.X, host.height + newsize.Y) && host.width + newsize.X > 10 && host.height + newsize.Y > 10) { if (GUI.Grid.DrawGrid && Math.Abs(mouseOrigin.Y - e.Y) >= GUI.Grid.GridSize) { host.ModifySize(0, newsize.Y, true); mouseOrigin.Y = e.Y; } else if (!GUI.Grid.DrawGrid) { host.ModifySize(0, newsize.Y, true); mouseOrigin.Y = e.Y; } host.PostResize(); Derma.RefreshProperties(); Derma.Repaint(); } } }