Changeset 763


Ignore:
Timestamp:
Oct 21, 2009, 8:25:22 PM (12 years ago)
Author:
weyers
Message:

BoolButton und BoolInput gemergt!

Location:
trunk/CrypPlugins/BooleanOperators
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/BooleanOperators/BoolButton.cs

    r760 r763  
    77using System.ComponentModel;
    88using System.Windows.Input;
     9using System.Windows.Media;
    910
    1011using Cryptool;
     
    2829    public class BoolButton : IInput
    2930    {
     31       
     32        private Boolean output = true;
    3033        private BoolButtonSettings settings;
    31         private Boolean output = true;
    3234        private ButtonInputPresentation myButton;
    33        
     35        private Boolean setorbut = false;
     36
     37
    3438        public BoolButton()
    3539        {
     
    3842            Presentation = myButton;
    3943            myButton.StatusChanged += new EventHandler(myButton_StatusChanged);
     44            this.settings.PropertyChanged += settings_OnPropertyChange;
    4045       }
    41 
     46        private void settings_OnPropertyChange(object sender, PropertyChangedEventArgs e)
     47        {
     48            setorbut = true;
     49            Execute();
     50        }
    4251        private void myButton_StatusChanged(object sender, EventArgs e)
    4352        {
     53            setorbut = false;
    4454            Execute();
    4555        }
     
    7181        public void Execute()
    7282        {
    73            
    74             if (myButton.Value)
    75             {
    76                 settings_OnPluginStatusChanged(this, new StatusEventArgs(StatusChangedMode.ImageUpdate, 0));
    77             }
    78             if (!myButton.Value)
    79             {               
    80                 settings_OnPluginStatusChanged(this, new StatusEventArgs(StatusChangedMode.ImageUpdate, 1));
    81             }
    82 
    83             Output = myButton.Value;
     83            if (!setorbut)
     84            {
     85                Output = myButton.Value;
     86                if (myButton.Value)
     87                {
     88                    settings_OnPluginStatusChanged(this, new StatusEventArgs(StatusChangedMode.ImageUpdate, 1));
     89                    settings.Value = 1;
     90                }
     91                if (!myButton.Value)
     92                {
     93                    settings_OnPluginStatusChanged(this, new StatusEventArgs(StatusChangedMode.ImageUpdate, 0));
     94                    settings.Value = 0;
     95                }
     96            }
     97            if (setorbut)
     98            {
     99                Output = (settings.Value == 1);
     100               
     101                if (settings.Value == 1)
     102                {
     103                   
     104                    settings_OnPluginStatusChanged(this, new StatusEventArgs(StatusChangedMode.ImageUpdate, 1));
     105                    myButton.Value = true;
     106                    myButton.update();
     107                }
     108                if (settings.Value == 0)
     109                {
     110                    settings_OnPluginStatusChanged(this, new StatusEventArgs(StatusChangedMode.ImageUpdate, 0));
     111                    myButton.Value = false;
     112                    myButton.update();
     113                }
     114            }
     115       
    84116            ProgressChanged(1, 1);
    85117        }
  • trunk/CrypPlugins/BooleanOperators/BoolButtonSettings.cs

    r759 r763  
    1919    {
    2020       #region ISettings Members
     21
     22        private bool hasChanges = false;
     23        private int bool_value = 0; //0 false; 1 true
     24
    2125       
    22        public bool hasChanges = false;
    23        
    24      
    25        public bool HasChanges
     26
     27        [ContextMenu("Value", "Set the boolean value", 1, DisplayLevel.Beginner, ContextMenuControlType.ComboBox, new int[] { 0, 1 }, "False", "True")]
     28        [TaskPane("Value", "Set the boolean value", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "False", "True" })]
     29        public int Value
     30        {
     31            get { return this.bool_value; }
     32            set
     33            {
     34                if ((value) != bool_value) hasChanges = true;
     35                this.bool_value = value;
     36                OnPropertyChanged("Value");
     37
     38                // icon update is handled by BooleanInput
     39            }
     40        }
     41
     42        public bool HasChanges
    2643        {
    2744            get
     
    3350                hasChanges = value;
    3451            }
    35         } 
     52        }
    3653
    3754        #endregion
     
    4360        #endregion
    4461
    45        
     62        protected void OnPropertyChanged(string name)
     63        {
     64            if (PropertyChanged != null)
     65            {
     66                PropertyChanged(this, new PropertyChangedEventArgs(name));
     67            }
     68        }
     69
     70        public event StatusChangedEventHandler OnPluginStatusChanged;
    4671    }
    4772}
     73
  • trunk/CrypPlugins/BooleanOperators/ButtonInputPresentation.xaml

    r760 r763  
    33    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    44    Height="70" Width="70">
    5     <Button Name="myButton" Height="50" Width="50" Click="ExecuteThisMethodWhenButtonIsClicked">
    6         <Image Name="myButtonPic" Source="icons\true.png"/>
     5    <Button Name="myButton" Content="False" Height="50" Width="50" Click="ExecuteThisMethodWhenButtonIsClicked">
     6       
    77    </Button>
     8   
     9   
     10</UserControl>
    811
    9 </UserControl>
     12
     13   
  • trunk/CrypPlugins/BooleanOperators/ButtonInputPresentation.xaml.cs

    r760 r763  
    2323        public event EventHandler StatusChanged;
    2424
     25
     26
    2527        public ButtonInputPresentation()
    2628        {
     
    3133        /// </summary>
    3234        public Boolean Value { get; set; }
    33 
    34 
     35        public void update()
     36        {
     37            try
     38            { this.myButton.Content = Value; }
     39            catch { }
     40        }
    3541        public void ExecuteThisMethodWhenButtonIsClicked(object sender, EventArgs e)
    3642        {
     
    3945            {
    4046
    41                 this.myButton.Background = Brushes.Green;
    42                 this.myButton.Content = "true";
     47                this.myButton.Background = Brushes.Tomato;
     48                this.myButton.Content = Value;
    4349                Value = false;
    44 
    45                
    4650
    4751            }
     
    4953            else
    5054            {
    51                 this.myButton.Background = Brushes.Red;
    52                 this.myButton.Content = "false";
     55                this.myButton.Background = Brushes.LawnGreen;
     56                this.myButton.Content = Value;
    5357                Value = true;
    5458            }
Note: See TracChangeset for help on using the changeset viewer.