Ejemplo n.º 1
0
 private void MouseLeftButtonDownHandler(object sender, MouseButtonEventArgs e)
 {
     if (ActiveModel != null)
     {
         PluginChangedEventArgs args = new PluginChangedEventArgs(ActiveModel.Plugin, ActiveModel.GetName(), DisplayPluginMode.Normal);
         MyEditor.onSelectedPluginChanged(args);
         e.Handled = true;
     }
     return;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Selected Plugin changed by View
 /// </summary>
 /// <param name="args"></param>
 public void onSelectedPluginChanged(PluginChangedEventArgs args)
 {
     if (OnSelectedPluginChanged != null)
     {
         try
         {
             OnSelectedPluginChanged(this, args);
         }
         catch
         {
             //wtf ?
         }
     }
 }
Ejemplo n.º 3
0
        private static void OnSelectedTypeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            Slot      slot = (Slot)d;
            SlaveType type;
            PluginChangedEventArgs args;

            ConnectorModel model = slot.element.ConnectorModel;

            if (slot.loading)
            {
                return;
            }

            if ((e.OldValue != null || e.NewValue == null) && slot.ActiveModel != null)
            {
                model.WorkspaceModel.ModifyModel(new DeletePluginModelOperation(slot.ActiveModel));
                model.WorkspaceModel.ModifyModel(new DeleteConnectionModelOperation(slot.activeConnectionModel));
                args = new PluginChangedEventArgs(slot.ActiveModel.Plugin, slot.ActiveModel.GetName(), DisplayPluginMode.Normal);
                slot.MyEditor.onSelectedPluginChanged(args);
                slot.ActiveModel = null;
            }

            if (e.OldValue != null && e.NewValue != null)
            {
                if (((SlaveType)e.OldValue).Type.IsAssignableFrom(((SlaveType)e.NewValue).Type))
                {
                    return;
                }
            }

            if (e.NewValue == null)
            {
                return;
            }

            type = e.NewValue as SlaveType;
            var v = (PluginModel)model.WorkspaceModel.ModifyModel(new NewPluginModelOperation(new Point(0, 0), (double)0, (double)0, type.Type));

            slot.ActiveModel = v;
            var f = v.GetInputConnectors().Single(a => a.ConnectorType.IsAssignableFrom(slot.element.ConnectorModel.ConnectorType));

            slot.activeConnectionModel = (ConnectionModel)model.WorkspaceModel.ModifyModel(new NewConnectionModelOperation(model, f, f.ConnectorType));

            args = new PluginChangedEventArgs(slot.ActiveModel.Plugin, slot.ActiveModel.GetName(), DisplayPluginMode.Normal);
            slot.MyEditor.onSelectedPluginChanged(args);
        }