Changeset 753


Ignore:
Timestamp:
Oct 20, 2009, 1:23:26 PM (12 years ago)
Author:
nolte
Message:

Rearranged order and created regions for this plug-in so it can be read more comfortable...(idea Nils K)
spread comments over the code as well

Location:
trunk/CrypPlugins/BigNumber
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/BigNumber/BigNumberOperation.cs

    r750 r753  
    2828    {
    2929
     30        #region private variable
     31
     32        private BigInteger input1 = null;
     33        private BigInteger input2 = null;
     34        private BigInteger mod = null;
     35        private BigInteger output = null;
     36        private BigNumberOperationSettings settings = new BigNumberOperationSettings();
     37
     38        #endregion
     39
     40        #region event
     41
     42        public event Cryptool.PluginBase.StatusChangedEventHandler OnPluginStatusChanged;
     43
     44        public event Cryptool.PluginBase.GuiLogNotificationEventHandler OnGuiLogNotificationOccured;     
     45
     46        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     47
     48        public event Cryptool.PluginBase.PluginProgressChangedEventHandler OnPluginProgressChanged;
     49
     50        #endregion
     51
     52        #region public
     53
    3054        public BigNumberOperation()
    3155        {
     
    3357        }
    3458
    35         #region Properties
    36 
    37         private BigInteger input1 = null;
    38         [PropertyInfo(Direction.InputData, "x Input", "Number Input 1", "", true, false, DisplayLevel.Beginner, QuickWatchFormat.None, null)]
     59        /// <summary>
     60        /// The inputs are defined.
     61        /// Only BigInteger are accepted.
     62        /// </summary>
     63        [PropertyInfo(Direction.InputData, "x Input", "Number input 1", "", true, false, DisplayLevel.Beginner, QuickWatchFormat.None, null)]
    3964        public BigInteger Input1
    4065        {
     
    5075        }
    5176
    52         private BigInteger input2 = null;
    53         [PropertyInfo(Direction.InputData, "y Input", "Number Input 2", "", true, false, DisplayLevel.Beginner, QuickWatchFormat.None, null)]
     77       
     78        [PropertyInfo(Direction.InputData, "y Input", "Number input 2", "", true, false, DisplayLevel.Beginner, QuickWatchFormat.None, null)]
    5479        public BigInteger Input2
    5580        {
     
    6590        }
    6691
    67         private BigInteger mod = null;
    68         [PropertyInfo(Direction.InputData, "Modulo", "Modulo Input", "", DisplayLevel.Beginner)]
     92       
     93        [PropertyInfo(Direction.InputData, "Modulo", "Modulo input", "", DisplayLevel.Beginner)]
    6994        public BigInteger Mod
    7095        {
     
    80105        }
    81106
    82         private BigInteger output = null;
    83         [PropertyInfo(Direction.OutputData, "Output", "Number Output", "", DisplayLevel.Beginner)]
     107        /// <summary>
     108        /// The output is defined.
     109        /// </summary>
     110        [PropertyInfo(Direction.OutputData, "Output", "Number output", "", DisplayLevel.Beginner)]
    84111        public BigInteger Output
    85112        {
     
    95122        }
    96123
    97         #endregion
    98 
    99         #region IPlugin Members
    100 
    101         public event Cryptool.PluginBase.StatusChangedEventHandler OnPluginStatusChanged;
    102 
    103         public event Cryptool.PluginBase.GuiLogNotificationEventHandler OnGuiLogNotificationOccured;
    104 
    105         private void GuiLogMessage(string p, NotificationLevel notificationLevel)
    106         {
    107             EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(p, this, notificationLevel));
    108         }
    109 
    110         public event Cryptool.PluginBase.PluginProgressChangedEventHandler OnPluginProgressChanged;
    111 
     124       
     125        /// <summary>
     126        /// Showing the progress change while plug-in is working
     127        /// </summary>
     128        /// <param name="value">Value of current process progress</param>
     129        /// <param name="max">Max value for the current progress</param>
    112130        private void ProgressChanged(double value, double max)
    113131        {
     
    115133        }
    116134
    117         private BigNumberOperationSettings settings = new BigNumberOperationSettings();
     135       
    118136        public ISettings Settings
    119137        {
     
    121139            set { settings = (BigNumberOperationSettings)value; }
    122140        }
     141
    123142
    124143        public System.Windows.Controls.UserControl Presentation
     
    139158        }
    140159
     160        /// <summary>
     161        /// Main method
     162        /// </summary>
    141163        public void Execute()
    142164        {
     165            //First checks if both inputs are set
    143166            if (input1 != null && input2 != null)
    144167            {
     
    146169                try
    147170                {
     171                    //As the user changes the operation different outputs are calculated.
    148172                    switch (settings.Operat)
    149173                    {
     174                        // x + y
    150175                        case 0:
    151176                            if (Mod is object)
     
    154179                                Output = Input1 + Input2;
    155180                            break;
     181                        // x - y
    156182                        case 1:
    157183                            if (Mod is object)
     
    160186                                Output = Input1 - Input2;
    161187                            break;
     188                        //x * y
    162189                        case 2:
    163190                            if (Mod is object)
     
    166193                                Output = Input1 * Input2;
    167194                            break;
     195                        // x / y
    168196                        case 3:
    169197                            if (Mod is object)
     
    172200                                Output = Input1 / Input2;
    173201                            break;
     202                        // x ^ y
    174203                        case 4:
    175204                            if (Mod is object)
     
    187216                            }
    188217                            break;
     218                        // gcd(x,y)
    189219                        case 5:
    190220                                Output = Input1.gcd(Input2);
     
    223253        #endregion
    224254
    225         #region INotifyPropertyChanged Members
    226 
    227         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     255        #region private       
    228256
    229257        private void OnPropertyChanged(string p)
     
    232260        }
    233261
    234         #endregion
     262        private void GuiLogMessage(string p, NotificationLevel notificationLevel)
     263        {
     264            EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(p, this, notificationLevel));
     265        }
    235266
    236267        private void settings_OnPluginStatusChanged(IPlugin sender, StatusEventArgs args)
     
    238269            if (OnPluginStatusChanged != null) OnPluginStatusChanged(this, args);
    239270        }
     271
     272        #endregion
    240273    }
    241274}
  • trunk/CrypPlugins/BigNumber/BigNumberOperationSettings.cs

    r750 r753  
    3232        #endregion
    3333        #region taskpane
     34
     35        /// <summary>
     36        /// The checkbox with its options.
     37        ///
     38        /// Based on the option chosen, the icon for this plug-in will also change.
     39        /// </summary>
    3440        [TaskPane("Operat", "Choose the operator.", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "x+y","x-y","x*y","x/y","x^y","GCD"})]
    3541        public int Operat
     
    4652                    switch (operat)
    4753                    {
     54                        //x+y
    4855                        case 0:
    4956                            ChangePluginIcon(0);
    5057                            break;
     58                        //x-y
    5159                        case 1:
    5260                            ChangePluginIcon(1);
    5361                            break;
     62                        //x*y
    5463                        case 2:
    5564                            ChangePluginIcon(2);
    5665                            break;
     66                        //x/y
    5767                        case 3:
    5868                            ChangePluginIcon(3);
    5969                            break;
     70                        //x^y
    6071                        case 4:
    6172                            ChangePluginIcon(4);
    6273                            break;
     74                        //gcd(x,y)
    6375                        case 5:
    6476                            ChangePluginIcon(5);
Note: See TracChangeset for help on using the changeset viewer.