Ejemplo n.º 1
0
 private void pnLedNode_MouseClick(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         pnLedNode.Select();
         if (curNode != null)
         {
             curNode.Choosed = false;
             CurNode = null;
             CurIndex = new LedNodeIndex(-1, -1);
             NotifyChange("CurIndex");
         }
         foreach (LedNodeView c in selectedList)
         {
             c.Choosed = false;
         }
         selectedList.Clear();
         //selectedList.Clear();
     }
     else if (e.Button == MouseButtons.Right)
     {
         Point pt = pnLedNode.PointToScreen(e.Location);
         ctMenu.Show(pt);
     }
 }
Ejemplo n.º 2
0
 private void pnLedNode_MouseMove(object sender, MouseEventArgs e)
 {
     if (dragFlag)
     {
         if (curNode != null)
         {
             curNode.Choosed = false;
             CurNode = null;
             CurIndex = new LedNodeIndex(-1, -1);
             NotifyChange("CurIndex");
         }
         foreach (LedNodeView c in selectedList)
         {
             c.Choosed = false;
         }
         selectedList.Clear();
         newLocation = pnLedNode.PointToClient(Cursor.Position);
         curRect = new Rectangle(Math.Min(oldLocation.X, newLocation.X), Math.Min(oldLocation.Y, newLocation.Y), Math.Abs(newLocation.X - oldLocation.X), Math.Abs(newLocation.Y - oldLocation.Y));
         g.FillRectangle(bgBrush, pnLedNode.Bounds);
         g.DrawRectangle(pen, curRect);
         foreach (Control c in pnLedNode.Controls)
         {
             if (c is LedNodeView)
             {
                 LedNodeView node = (LedNodeView)c;
                 if (node.Type == Constants.StateType.Data)
                 {
                     if (curRect.IntersectsWith(c.Bounds))
                     {
                         node.Choosed = true;
                     }
                     else
                     {
                         node.Choosed = false;
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 3
0
 public int SetBright(LedNodeIndex index, int newBright)
 {
     int updateBright = ledData.SetBright(index.stateIndex, index.ledIndex, newBright);
     return updateBright;
 }
Ejemplo n.º 4
0
        private void view_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            PropertyChangedExtendedEventArgs<int> eventArgs;
            switch (e.PropertyName)
            {

                case "CurIndex":
                    ViewIndex = view.CurIndex;
                    commandHub.ReceiveCommand("SelectNode");
                    break;
                case "Bright":
                    eventArgs = (PropertyChangedExtendedEventArgs<int>)e;
                    int updateBright = model.SetBright(viewIndex,eventArgs.NewValue);
                    if (updateBright >= 0)
                    {
                        view.Bright = updateBright;
                    }
                    break;
                case "StateCommonValue":
                    eventArgs = (PropertyChangedExtendedEventArgs<int>)e;
                    int updateStateInfo=model.SetStateInfo(viewIndex.stateIndex, eventArgs.NewValue);
                    if (updateStateInfo > -1)
                    {
                        view.StateCommonInfo = updateStateInfo;
                    }
                    break;
                case "NodeSelectedChange":
                    commandHub.ReceiveCommand("NodeSelectedChange");
                    break;
            }
        }
Ejemplo n.º 5
0
 public int GetBright(LedNodeIndex index)
 {
     int updateBright = ledData.GetBright(index.stateIndex, index.ledIndex);
     return updateBright;
 }
Ejemplo n.º 6
0
 void removeStateCommand_Called(object sender, EventArgs e)
 {
     if (model.StateNumber > 1)
     {
         if (model.RemoveState(ViewIndex.stateIndex))
         {
             int newStateIndex = ViewIndex.stateIndex;
             int newLedIndex = ViewIndex.ledIndex;
             if (newStateIndex > 1)
             {
                 newStateIndex--;
             }
             if (model.GetStateType(ViewIndex.stateIndex) != Constants.StateType.Data)
             {
                 //This is StartFor or EndFor state, so the cur_led_index must be 0
                 newLedIndex = 0;
             }
             view.LedData = model.LedData;
             ViewIndex = new LedNodeIndex(newStateIndex, newLedIndex);
             commandHub.ReceiveCommand("RemoveState");
         }
     }
 }
Ejemplo n.º 7
0
 void revertEffectCommand_Called(object sender, EventArgs e)
 {
     List<LedNodeView> selectedNode = (List<LedNodeView>)sender;
     foreach (LedNodeView c in selectedNode)
     {
         LedNodeIndex curIndex = new LedNodeIndex(c.StateIndex, c.LedIndex);
         int updateBright = model.SetBright(curIndex, Constants.MAX_BRIGHT - c.Value);
         if (updateBright != -1)
         {
             c.Value = updateBright;
         }
     }
 }
Ejemplo n.º 8
0
 void fireBallEffectCommand_Called(object sender, EventArgs e)
 {
     List<LedNodeView> selectedNode = (List<LedNodeView>)sender;
     //Find max and min index of selected node
     LedNodeIndex maxIndex = new LedNodeIndex(-1, -1);
     LedNodeIndex minIndex = new LedNodeIndex(selectedNode.Count, selectedNode.Count);
     foreach (LedNodeView c in selectedNode)
     {
         LedNodeIndex curIndex = new LedNodeIndex(c.StateIndex, c.LedIndex);
         if (curIndex.stateIndex > maxIndex.stateIndex)
         {
             maxIndex.stateIndex = curIndex.stateIndex;
         }
         if (curIndex.ledIndex > maxIndex.ledIndex)
         {
             maxIndex.ledIndex = curIndex.ledIndex;
         }
         if (curIndex.stateIndex < minIndex.stateIndex)
         {
             minIndex.stateIndex = curIndex.stateIndex;
         }
         if (curIndex.ledIndex < minIndex.ledIndex)
         {
             minIndex.ledIndex = curIndex.ledIndex;
         }
     }
     //Set bright for selected nodes
     int brightStep = (Constants.MAX_BRIGHT - Constants.DEFAULT_BRIGHT) / (maxIndex.ledIndex - minIndex.ledIndex);
     for (int stateIndex = minIndex.stateIndex; stateIndex <= maxIndex.stateIndex; stateIndex++)
     {
         int curBright = Constants.DEFAULT_BRIGHT;
         for (int ledIndex = minIndex.ledIndex; ledIndex <= maxIndex.ledIndex; ledIndex++)
         {
             LedNodeIndex curIndex = new LedNodeIndex(stateIndex, ledIndex);
             foreach (LedNodeView c in selectedNode)
             {
                 if ((c.LedIndex == ledIndex) && (c.StateIndex == stateIndex))
                 {
                     int updateBright = model.SetBright(curIndex, curBright);
                     if (updateBright != -1)
                     {
                         c.Value = curBright;
                         curBright += brightStep;
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 9
0
 void removeLedCommand_Called(object sender, EventArgs e)
 {
     if (model.LedNumber > 1)
     {
         if (model.RemoveLed(ViewIndex.ledIndex))
         {
             view.LedData = model.LedData;
             ViewIndex.ledIndex--;
             ViewIndex = new LedNodeIndex(ViewIndex.stateIndex, ViewIndex.ledIndex - 1);
             commandHub.ReceiveCommand("RemoveLed");
         }
     }
 }
Ejemplo n.º 10
0
 void fileOpenCommand_Called(object sender, EventArgs e)
 {
     openFileDialog.ShowDialog();
     string filePath = openFileDialog.FileName;
     if (model.ReadFile("bin", filePath))
     {
         view.LedData = model.LedData;
         ViewIndex = new LedNodeIndex(0, 0);
         commandHub.ReceiveCommand("FileOpen");
     }
 }
Ejemplo n.º 11
0
 void fileNewCommand_Called(object sender, EventArgs e)
 {
     if (model.NewFile())
     {
         view.LedData = model.LedData;
         ViewIndex = new LedNodeIndex(0, 0);
         commandHub.ReceiveCommand("FileNew");
     }
 }
Ejemplo n.º 12
0
 void clearAllEffectCommand_Called(object sender, EventArgs e)
 {
     List<LedNodeView> selectedNode = (List<LedNodeView>)sender;
     foreach (LedNodeView c in selectedNode)
     {
         LedNodeIndex curIndex = new LedNodeIndex(c.StateIndex, c.LedIndex);
         int updateBright = model.SetBright(curIndex, 0);
         if (updateBright != -1)
         {
             c.Value = updateBright;
         }
     }
 }
Ejemplo n.º 13
0
 void addStateAboveCommand_Called(object sender, EventArgs e)
 {
     if (model.AddStateAbove(ViewIndex.stateIndex))
     {
         //TODO:Update view and curIndex
         ViewIndex = new LedNodeIndex(viewIndex.stateIndex++, viewIndex.ledIndex);
         view.LedData = model.LedData;
         commandHub.ReceiveCommand("AddStateAbove");
     }
 }
Ejemplo n.º 14
0
 void addStartForCommand_Called(object sender, EventArgs e)
 {
     if (model.AddStartFor(ViewIndex.stateIndex))
     {
         int newStateIndex=ViewIndex.stateIndex+1;
         view.LedData = model.LedData;
         ViewIndex = new LedNodeIndex(newStateIndex, ViewIndex.ledIndex);
         commandHub.ReceiveCommand("AddStartFor");
     }
 }