コード例 #1
0
ファイル: Panel.cs プロジェクト: meharryp/dermadesignerb
        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);
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: meharryp/dermadesignerb
        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();
        }
コード例 #3
0
 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();
         }
     }
 }