Ignore:
Timestamp:
Aug 2, 2010, 8:52:02 PM (11 years ago)
Author:
kopal
Message:

added first support for connecting IControl Connections

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/Model/PluginModel.cs

    r1740 r1753  
    167167                        connectorModel.ToolTip = propertyInfoAttribute.ToolTip;
    168168                        connectorModel.ConnectorOrientation = ConnectorOrientation.West;
     169                        connectorModel.IControl = false;
     170                        InputConnectors.Add(connectorModel);
     171                        WorkspaceModel.AllConnectorModels.Add(connectorModel);
     172                    }
     173                    else if (propertyInfoAttribute.Direction.Equals(Direction.ControlSlave))
     174                    {
     175                        ConnectorModel connectorModel = new ConnectorModel();
     176                        connectorModel.ConnectorType = propertyInfoAttribute.PropertyInfo.PropertyType;
     177                        connectorModel.WorkspaceModel = WorkspaceModel;
     178                        connectorModel.PluginModel = this;
     179                        connectorModel.IsMandatory = propertyInfoAttribute.Mandatory;
     180                        connectorModel.PropertyName = propertyInfoAttribute.PropertyName;
     181                        connectorModel.Name = propertyInfoAttribute.PropertyName;
     182                        connectorModel.ToolTip = propertyInfoAttribute.ToolTip;
     183                        connectorModel.ConnectorOrientation = ConnectorOrientation.West;
     184                        connectorModel.IControl = true;
    169185                        InputConnectors.Add(connectorModel);
    170186                        WorkspaceModel.AllConnectorModels.Add(connectorModel);
     
    182198                        connectorModel.ConnectorOrientation = ConnectorOrientation.East;
    183199                        connectorModel.Outgoing = true;
     200                        connectorModel.IControl = false;
     201                        Plugin.PropertyChanged += connectorModel.PropertyChangedOnPlugin;
     202                        OutputConnectors.Add(connectorModel);
     203                        WorkspaceModel.AllConnectorModels.Add(connectorModel);
     204                    }
     205                    else if (propertyInfoAttribute.Direction.Equals(Direction.ControlMaster))
     206                    {
     207                        ConnectorModel connectorModel = new ConnectorModel();
     208                        connectorModel.ConnectorType = propertyInfoAttribute.PropertyInfo.PropertyType;
     209                        connectorModel.WorkspaceModel = WorkspaceModel;
     210                        connectorModel.PluginModel = this;
     211                        connectorModel.IsMandatory = propertyInfoAttribute.Mandatory;
     212                        connectorModel.PropertyName = propertyInfoAttribute.PropertyName;
     213                        connectorModel.Name = propertyInfoAttribute.PropertyName;
     214                        connectorModel.ToolTip = propertyInfoAttribute.ToolTip;
     215                        connectorModel.ConnectorOrientation = ConnectorOrientation.East;
     216                        connectorModel.Outgoing = true;
     217                        connectorModel.IControl = true;
    184218                        Plugin.PropertyChanged += connectorModel.PropertyChangedOnPlugin;
    185219                        OutputConnectors.Add(connectorModel);
     
    280314            foreach (ConnectorModel connectorModel in this.InputConnectors)
    281315            {
    282                 if ((connectorModel.IsMandatory || connectorModel.InputConnections.Count > 0) && !connectorModel.HasData)
     316                if (!connectorModel.IControl && (connectorModel.IsMandatory || connectorModel.InputConnections.Count > 0) && !connectorModel.HasData)
    283317                {
    284318                    foreach (ConnectionModel connectionModel in connectorModel.InputConnections)
Note: See TracChangeset for help on using the changeset viewer.