Changeset 1755


Ignore:
Timestamp:
Aug 3, 2010, 3:21:35 PM (11 years ago)
Author:
kopal
Message:
  • some bug fixing
  • title bar now shows the file name after new, load, save - operations
  • some more code comments added
Location:
trunk/CrypPlugins/WorkspaceManager
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/Execution/ExecutionEngine.cs

    r1753 r1755  
    228228                    if (pluginModel.GuiNeedsUpdate)
    229229                    {
    230                         //executionEngine.GuiLogMessage("UpdateGui for \"" + pluginModel.Name + "\"", NotificationLevel.Debug);
    231230                        pluginModel.GuiNeedsUpdate = false;
    232231                        pluginModel.paint();
     
    327326            while (this.executionEngine.IsRunning)
    328327            {
    329                 yield return Receive<MessageExecution>(null, this.HandleExecute);
    330                 //yield return Parallel(1,new PluginWaitReceiver()) & Receive<MessageExecution>(null, this.HandleExecute);
    331                 //yield return new PluginWaitReceiver() + Receive<MessageExecution>(null, this.HandleExecute);
    332                 //yield return Parallel(1,new PluginWaitReceiver()) + Receive<MessageExecution>(null, this.HandleExecute);
     328                yield return Receive<MessageExecution>(null, this.HandleExecute);               
    333329            }
    334330        }
     
    390386    }
    391387
     388    /// <summary>
     389    /// Gears4Net Scheduler. The scheduler only runs protocols which do not have a waiting
     390    /// plugin on the protocol plugins outputs
     391    /// </summary>
    392392    public class WorkspaceManagerScheduler : Scheduler
    393393    {
     
    458458                                        this.waitingProtocols.Enqueue(protocol);
    459459                                        donotrun = true;
    460                                     }
    461                                  
     460                                    }                                 
    462461                                }
    463462                            }               
    464463                        }
    465 
    466464                    }
    467465
     
    493491        }
    494492
     493        /// <summary>
     494        /// Removes a protocol from the internal queue
     495        /// </summary>
     496        /// <param name="protocol"></param>
    495497        public override void RemoveProtocol(ProtocolBase protocol)
    496498        {
     
    503505        }
    504506
     507        /// <summary>
     508        /// Adds a protocol to the internal queue
     509        /// </summary>
     510        /// <param name="protocol"></param>
    505511        public override void AddProtocol(ProtocolBase protocol)
    506512        {
     
    511517        }
    512518
     519        /// <summary>
     520        /// Wakeup this scheduler
     521        /// </summary>
     522        /// <param name="protocol"></param>
    513523        public override void Wakeup(ProtocolBase protocol)
    514524        {
     
    521531        }
    522532
     533        /// <summary>
     534        /// Terminates the scheduler
     535        /// </summary>
    523536        public override void Shutdown()
    524537        {
  • trunk/CrypPlugins/WorkspaceManager/Model/ConnectionModel.cs

    r1740 r1755  
    2929    public class ConnectionModel : VisualElementModel
    3030    {
     31
     32        #region private members
     33
     34        /// <summary>
     35        /// Name of the Connection type
     36        /// </summary>
     37        private string ConnectionTypeName = null;
     38
     39        /// <summary>
     40        /// Name of the Connection assembly
     41        /// </summary>
     42        private string ConnectionTypeAssemblyName = null;
     43
     44        #endregion
     45
     46        #region public members
     47
    3148        /// <summary>
    3249        /// The starting Point of this Connection Model
     
    4360        /// </summary>       
    4461        public bool Active { get; set; }
    45      
    46         /// <summary>
    47         /// Name of the Connection type
    48         /// </summary>
    49         private string ConnectionTypeName = null;
    50         /// <summary>
    51         /// Name of the Connection assembly
    52         /// </summary>
    53         private string ConnectionTypeAssemblyName = null;
    5462
    5563        /// <summary>
     
    8391        /// </summary>
    8492        public WorkspaceModel WorkspaceModel { get; set; }
     93
     94        #endregion
     95
    8596    }
    8697}
  • trunk/CrypPlugins/WorkspaceManager/Model/ConnectorModel.cs

    r1753 r1755  
    3131    [Serializable]
    3232    public class ConnectorModel : VisualElementModel
    33     {       
     33    {
     34        #region private members
     35
     36        /// <summary>
     37        /// Does this Connector Model has actually data?
     38        /// </summary>
    3439        [NonSerialized]
    3540        private bool hasData = false;
    3641
    3742        /// <summary>
     43        /// Name of the Connector type
     44        /// </summary>
     45        private string ConnectorTypeName = null;
     46        /// <summary>
     47        /// Name of the Connector assembly
     48        /// </summary>
     49        private string ConnectorTypeAssemblyName = null;
     50
     51        #endregion
     52
     53        #region public members
     54
     55        /// <summary>
    3856        /// The PluginModel this Connector belongs to
    3957        /// </summary>
    4058        public PluginModel PluginModel { get; set; }
    41 
    42         /// <summary>
    43         /// Name of the Connector type
    44         /// </summary>
    45         private string ConnectorTypeName = null;
    46         /// <summary>
    47         /// Name of the Connector assembly
    48         /// </summary>
    49         private string ConnectorTypeAssemblyName = null;
    5059
    5160        /// <summary>
     
    100109        {
    101110            this.InputConnections = new List<ConnectionModel>();
    102             this.OutputConnections = new List<ConnectionModel>();           
     111            this.OutputConnections = new List<ConnectionModel>();
    103112        }
    104113
     
    151160        public bool HasData
    152161        {
    153             get {
    154                     return hasData;
    155             }
    156 
    157             set
    158             {   
    159                 hasData = value;
     162            get
     163            {
     164                return hasData;
     165            }
     166
     167            set
     168            {
     169                hasData = value;
    160170            }
    161171        }
     
    166176        [NonSerialized]
    167177        public object Data = null;
    168        
     178
    169179        /// <summary>
    170180        /// Name of the represented Property of the IPlugin of this ConnectorModel
    171181        /// </summary>
    172         public string PropertyName{get;set;}
     182        public string PropertyName { get; set; }
    173183
    174184        /// <summary>
     
    184194        public void PropertyChangedOnPlugin(Object sender, PropertyChangedEventArgs propertyChangedEventArgs)
    185195        {
    186             if(sender == this.PluginModel.Plugin &&
    187                 propertyChangedEventArgs.PropertyName.Equals(PropertyName) &&
    188                 Outgoing){
    189                
     196            if (sender == this.PluginModel.Plugin &&
     197                propertyChangedEventArgs.PropertyName.Equals(PropertyName) &&
     198                Outgoing)
     199            {
     200
    190201                foreach (ConnectionModel connectionModel in this.OutputConnections)
    191202                {
     
    198209                        connectionModel.To.Data = sender.GetType().GetProperty(propertyChangedEventArgs.PropertyName).GetValue(sender, null);
    199210                    }
    200                     connectionModel.To.HasData = true;   
     211                    connectionModel.To.HasData = true;
    201212                    connectionModel.Active = true;
    202213                    connectionModel.GuiNeedsUpdate = true;
    203214                }
    204215
    205                //We changed an input on the PluginModels where "To"s are belonging to so
     216                //We changed an input on the PluginModels where "To"s are belonging to so
    206217                //we have to check if there are executable now
    207218                foreach (ConnectionModel connectionModel in this.OutputConnections)
     
    209220                    connectionModel.To.PluginModel.checkExecutable(connectionModel.To.PluginModel.PluginProtocol);
    210221                }
    211             }                       
    212         }
    213 
    214         /// <summary>
    215         /// Orientation of this Connecor
    216         /// </summary>
    217         public ConnectorOrientation ConnectorOrientation { get; set; }
     222            }
     223        }
    218224
    219225        /// <summary>
     
    226232            foreach (DynamicProperty dynamicProperty in dictionary.Values)
    227233            {
    228                
     234
    229235                if (this.PropertyName == dynamicProperty.Name)
    230236                {
    231                     foreach(ConnectionModel connectionModel in new List<ConnectionModel>(InputConnections)){
     237                    foreach (ConnectionModel connectionModel in new List<ConnectionModel>(InputConnections))
     238                    {
    232239                        this.WorkspaceModel.deleteConnectionModel(connectionModel);
    233240                    }
    234                     foreach(ConnectionModel connectionModel in new List<ConnectionModel>(this.OutputConnections))
     241                    foreach (ConnectionModel connectionModel in new List<ConnectionModel>(this.OutputConnections))
    235242                    {
    236243                        this.WorkspaceModel.deleteConnectionModel(connectionModel);
     
    244251            }
    245252        }
    246     }
    247 
    248     /// <summary>
    249     /// Enumeration for connector orientation:
    250     ///
    251     ///        North
    252     ///       --------
    253     ///       |      |
    254     /// West  |      |  East
    255     ///       |      |
    256     ///       --------
    257     ///        South
    258     /// </summary>
    259     public enum ConnectorOrientation
    260     {
    261         North,
    262         East,
    263         South,
    264         West
     253
     254        #endregion
     255               
    265256    }
    266257}
  • trunk/CrypPlugins/WorkspaceManager/Model/ModelPersistance.cs

    r1753 r1755  
    4444            workspacemodel.WorkspaceManagerEditor = workspaceManagerEditor;
    4545
     46            //restore all settings of each plugin
    4647            foreach (PersistantPlugin persistantPlugin in persistantModel.PersistantPluginList)
    4748            {
     
    8788            }
    8889
     90            //connect all listener for plugins/plugin models
    8991            foreach (PluginModel pluginModel in workspacemodel.AllPluginModels)
    9092            {
    9193                pluginModel.Plugin.OnGuiLogNotificationOccured += workspaceManagerEditor.GuiLogNotificationOccured;
     94                pluginModel.Plugin.OnGuiLogNotificationOccured += pluginModel.GuiLogNotificationOccured;
    9295                pluginModel.Plugin.OnPluginProgressChanged += pluginModel.PluginProgressChanged;
    9396                pluginModel.Plugin.OnPluginStatusChanged += pluginModel.PluginStatusChanged;
    9497            }
    9598               
     99            //connect all listeners for connectors
    96100            foreach (ConnectorModel connectorModel in workspacemodel.AllConnectorModels)
    97101            {
     
    182186    }
    183187
     188    /// <summary>
     189    /// Class for persisting a workspace model
     190    /// stores the model and a list of persistant plugin models
     191    /// </summary>
    184192    [Serializable]
    185193    public class PersistantModel{
     
    188196    }
    189197
     198    /// <summary>
     199    /// Class for persisting a plugin model
     200    /// stores the plugin model and a list of settings
     201    /// </summary>
    190202    [Serializable]
    191203    public class PersistantPlugin
     
    195207    }
    196208
     209    /// <summary>
     210    /// Class for persisting settings
     211    /// stores the name, the type and the value of the setting
     212    /// </summary>
    197213    [Serializable]
    198214    public class PersistantSetting
  • trunk/CrypPlugins/WorkspaceManager/Model/PluginModel.cs

    r1753 r1755  
    3737    public class PluginModel : VisualElementModel
    3838    {
    39         #region privates
     39        #region private members
     40
    4041        [NonSerialized]
    4142        private PluginProtocol pluginProtocol;
     
    4344        private IPlugin plugin;         
    4445        private int imageIndex = 0;
    45         private PluginModelState state = PluginModelState.Normal;       
    46         #endregion privates
     46        private PluginModelState state = PluginModelState.Normal;
     47
     48        /// <summary>
     49        /// Name of the wrapped Plugins type
     50        /// </summary>
     51        private string PluginTypeName = null;
     52        /// <summary>
     53        /// Name of the wrapped Plugins assembly
     54        /// </summary>
     55        private string PluginTypeAssemblyName = null;
     56       
     57        #endregion
     58
     59        #region public members
    4760
    4861        /// <summary>
     
    87100
    88101        /// <summary>
    89         /// Name of the wrapped Plugins type
    90         /// </summary>
    91         private string PluginTypeName = null;
    92         /// <summary>
    93         /// Name of the wrapped Plugins assembly
    94         /// </summary>
    95         private string PluginTypeAssemblyName = null;
    96 
    97         /// <summary>
    98102        /// The Type of the Wrapped IPlugin of this PluginModel
    99103        /// Depending on this the Plugin of this PluginModel will be instanciated
     
    166170                        connectorModel.Name = propertyInfoAttribute.PropertyName;
    167171                        connectorModel.ToolTip = propertyInfoAttribute.ToolTip;
    168                         connectorModel.ConnectorOrientation = ConnectorOrientation.West;
    169172                        connectorModel.IControl = false;
    170173                        InputConnectors.Add(connectorModel);
     
    181184                        connectorModel.Name = propertyInfoAttribute.PropertyName;
    182185                        connectorModel.ToolTip = propertyInfoAttribute.ToolTip;
    183                         connectorModel.ConnectorOrientation = ConnectorOrientation.West;
    184186                        connectorModel.IControl = true;
    185187                        InputConnectors.Add(connectorModel);
     
    196198                        connectorModel.Name = propertyInfoAttribute.PropertyName;
    197199                        connectorModel.ToolTip = propertyInfoAttribute.ToolTip;
    198                         connectorModel.ConnectorOrientation = ConnectorOrientation.East;
    199200                        connectorModel.Outgoing = true;
    200201                        connectorModel.IControl = false;
     
    213214                        connectorModel.Name = propertyInfoAttribute.PropertyName;
    214215                        connectorModel.ToolTip = propertyInfoAttribute.ToolTip;
    215                         connectorModel.ConnectorOrientation = ConnectorOrientation.East;
    216216                        connectorModel.Outgoing = true;
    217217                        connectorModel.IControl = true;
     
    239239                            connectorModel.Name = dynamicProperty.Name;
    240240                            connectorModel.ToolTip = dynamicProperty.PInfo.ToolTip;
    241                             connectorModel.ConnectorOrientation = ConnectorOrientation.West;
    242                             EventInfo eventinfo = Plugin.GetType().GetEvent(dynamicPropertyInfoAttribute.UpdateDynamicPropertiesEvent);
     241                           EventInfo eventinfo = Plugin.GetType().GetEvent(dynamicPropertyInfoAttribute.UpdateDynamicPropertiesEvent);
    243242                            connectorModel.IsDynamic = true;
    244243                            connectorModel.DynamicGetterName = dynamicPropertyInfoAttribute.MethodGetValue;
     
    258257                            connectorModel.Name = dynamicProperty.Name;
    259258                            connectorModel.ToolTip = dynamicProperty.PInfo.ToolTip;
    260                             connectorModel.ConnectorOrientation = ConnectorOrientation.East;
    261                             EventInfo eventinfo = Plugin.GetType().GetEvent(dynamicPropertyInfoAttribute.UpdateDynamicPropertiesEvent);
     259                             EventInfo eventinfo = Plugin.GetType().GetEvent(dynamicPropertyInfoAttribute.UpdateDynamicPropertiesEvent);
    262260                            eventinfo.AddEventHandler(Plugin, new DynamicPropertiesChanged(connectorModel.PropertyTypeChangedOnPlugin));
    263261                            connectorModel.IsDynamic = true;
     
    310308        /// </summary>
    311309        public void checkExecutable(ProtocolBase protocolBase)
    312         {                     
     310        {
     311            if (!this.WorkspaceModel.WorkspaceManagerEditor.isExecuting())
     312            {
     313                return;
     314            }
     315
    313316            MessageExecution msg;           
    314317            foreach (ConnectorModel connectorModel in this.InputConnectors)
     
    389392            set { pluginProtocol = value;}
    390393        }
     394
     395        /// <summary>
     396        /// All occured log events of this plugin
     397        /// </summary>
     398        [NonSerialized]
     399        public List<GuiLogEventArgs> GuiLogEvents = new List<GuiLogEventArgs>();
     400
     401        /// <summary>
     402        /// GuiLogNotificationOccured
     403        /// saves the plugins log events and tells the gui that it needs
     404        /// an update
     405        /// </summary>
     406        /// <param name="sender"></param>
     407        /// <param name="args"></param>
     408        public void GuiLogNotificationOccured(IPlugin sender, GuiLogEventArgs args)
     409        {
     410            if (sender == this.plugin)
     411            {
     412                this.GuiLogEvents.Add(args);
     413                this.GuiNeedsUpdate = true;
     414            }
     415        }
     416
     417        #endregion
    391418    }
    392419
     420    /// <summary>
     421    /// The internal state of a Plugin Model
     422    /// </summary>
    393423    public enum PluginModelState{
    394424        Normal,
  • trunk/CrypPlugins/WorkspaceManager/Model/WorkspaceModel.cs

    r1753 r1755  
    9292            pluginModel.generateConnectors();
    9393            pluginModel.Plugin.OnGuiLogNotificationOccured += this.WorkspaceManagerEditor.GuiLogNotificationOccured;
     94            pluginModel.Plugin.OnGuiLogNotificationOccured += pluginModel.GuiLogNotificationOccured;
    9495            pluginModel.Plugin.OnPluginProgressChanged += pluginModel.PluginProgressChanged;
    9596            pluginModel.Plugin.OnPluginStatusChanged += pluginModel.PluginStatusChanged;
     
    239240        /// <summary>
    240241        /// Sets all Connections and Connectors to state nonActive/noData
     242        ///      all plugins to state Normal
     243        ///      deletes all stored log events
    241244        /// </summary>
    242245        public void resetStates()
     
    245248            {
    246249                pluginModel.State = PluginModelState.Normal;
     250                pluginModel.GuiLogEvents.Clear();
    247251            }
    248252            foreach (ConnectionModel connection in this.AllConnectionModels)
  • trunk/CrypPlugins/WorkspaceManager/WorkspaceManager.cs

    r1718 r1755  
    122122            }
    123123            this.HasChanges = false;
     124            this.OnProjectTitleChanged.BeginInvoke(this, "unnamed project", null, null);
    124125        }
    125126
     
    138139                WorkspaceSpaceEditorView.Load(WorkspaceModel);
    139140                HasChanges = false;
     141                this.OnProjectTitleChanged.BeginInvoke(this, fileName, null, null);
    140142            }
    141143            catch (Exception ex)
     
    157159                ModelPersistance.saveModel(this.WorkspaceModel, fileName);
    158160                HasChanges = false;
     161                this.OnProjectTitleChanged.BeginInvoke(this, fileName, null, null);
    159162            }
    160163            catch (Exception ex)
Note: See TracChangeset for help on using the changeset viewer.