Changeset 2118


Ignore:
Timestamp:
Nov 21, 2010, 12:38:17 PM (11 years ago)
Author:
matkovic
Message:

-LogPresentation completely new designed
-Usability improved
-Style Changed

Location:
trunk/CrypPlugins/WorkspaceManager
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/View/Container/ConnectorView.xaml.cs

    r2067 r2118  
    3333    public partial class ConnectorView : UserControl, IConnectable, IUpdateableView
    3434    {
    35         public static readonly DependencyProperty X = DependencyProperty.Register("PositionOnWorkSpaceX", typeof(double), typeof(ConnectorView), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure));
    36         public static readonly DependencyProperty Y = DependencyProperty.Register("PositionOnWorkSpaceY", typeof(double), typeof(ConnectorView), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure));
    3735
    3836        public event EventHandler<ConnectorViewEventArgs> OnConnectorMouseLeftButtonDown;
     
    4240            get { return model; }
    4341            private set { model = value; }
    44         }
    45 
    46         [TypeConverter(typeof(LengthConverter))]
    47         public double PositionOnWorkSpaceX
    48         {
    49             get { return (double)base.GetValue(X); }
    50             set
    51             {
    52                 base.SetValue(X, value);
    53             }
    54         }
    55 
    56         [TypeConverter(typeof(LengthConverter))]
    57         public double PositionOnWorkSpaceY
    58         {
    59             get { return (double)base.GetValue(Y); }
    60             set
    61             {
    62                 base.SetValue(Y, value);
    63             }
    6442        }
    6543
     
    10684        }
    10785
     86        public PluginContainerView Parent { get; set; }
     87
    10888        public ConnectorView()
    10989        {
     
    11191        }
    11292
    113         public ConnectorView(ConnectorModel Model)
     93        public ConnectorView(ConnectorModel Model, PluginContainerView Parent)
    11494        {
    11595            InitializeComponent();
    11696            setBaseControl(Model);
     97            this.Parent = Parent;
    11798
    11899            if (Model.IsMandatory)
     
    132113            this.ConnectorRep.Fill = new SolidColorBrush(Color.FromArgb(color.A, color.R, color.G, color.B));
    133114            this.ConnectorRep.ToolTip = Model.ToolTip;
     115        }
     116
     117        public Point GetPositionOnWorkspace()
     118        {
     119            GeneralTransform gTransform, gTransformSec;
     120            Point point, relativePoint;
     121            StackPanel currentSp = null;
     122
     123            if (Parent.West.Children.Contains(this))
     124                currentSp = Parent.West;
     125            if (Parent.East.Children.Contains(this))
     126                currentSp = Parent.East;
     127            if (Parent.North.Children.Contains(this))
     128                currentSp = Parent.North;
     129            if (Parent.South.Children.Contains(this))
     130                currentSp = Parent.South;
     131
     132            gTransform = currentSp.TransformToVisual(Parent);
     133            gTransformSec = this.TransformToVisual(currentSp);
     134
     135            point = gTransform.Transform(new Point(0, 0));
     136            relativePoint = gTransformSec.Transform(new Point(0, 0));
     137            Point result = new Point(Parent.GetPosition().X + point.X + relativePoint.X, Parent.GetPosition().Y + point.Y + relativePoint.Y);
     138            return result;
    134139        }
    135140
  • trunk/CrypPlugins/WorkspaceManager/View/Container/IControlContainer.xaml.cs

    r1905 r2118  
    102102            multiBinding.ConverterParameter = connectable;
    103103
    104             Binding binding = new Binding();
    105             binding.Source = connectable;
    106             binding.Path = new PropertyPath(ConnectorView.X);
    107             multiBinding.Bindings.Add(binding);
    108 
    109             binding = new Binding();
    110             binding.Source = connectable;
    111             binding.Path = new PropertyPath(ConnectorView.Y);
    112             multiBinding.Bindings.Add(binding);
    113 
    114             binding = new Binding();
    115             binding.Source = connectable;
    116             binding.Path = new PropertyPath(FrameworkElement.ActualHeightProperty);
    117             multiBinding.Bindings.Add(binding);
    118 
    119             binding = new Binding();
    120             binding.Source = connectable;
    121             binding.Path = new PropertyPath(FrameworkElement.ActualWidthProperty);
    122             multiBinding.Bindings.Add(binding);
     104            //Binding binding = new Binding();
     105            //binding.Source = connectable;
     106            //binding.Path = new PropertyPath(ConnectorView.X);
     107            //multiBinding.Bindings.Add(binding);
     108
     109            //binding = new Binding();
     110            //binding.Source = connectable;
     111            //binding.Path = new PropertyPath(ConnectorView.Y);
     112            //multiBinding.Bindings.Add(binding);
     113
     114            //binding = new Binding();
     115            //binding.Source = connectable;
     116            //binding.Path = new PropertyPath(FrameworkElement.ActualHeightProperty);
     117            //multiBinding.Bindings.Add(binding);
     118
     119            //binding = new Binding();
     120            //binding.Source = connectable;
     121            //binding.Path = new PropertyPath(FrameworkElement.ActualWidthProperty);
     122            //multiBinding.Bindings.Add(binding);
    123123
    124124
  • trunk/CrypPlugins/WorkspaceManager/View/Container/PluginContainerView.xaml

    r2072 r2118  
    2222            <z:DragDeltaViewStateConverter x:Key="DragDeltaViewStateConverter"></z:DragDeltaViewStateConverter>
    2323            <z:ConnectorPanelHeightWidthConverter x:Key="ConnectorPanelHeightWidthConverter"></z:ConnectorPanelHeightWidthConverter>
     24            <z:CaptionWidthConverter x:Key="CaptionWidthConverter"></z:CaptionWidthConverter>
    2425
    2526            <Button x:Key="SettingButton" Name="SettingButton" ToolTip="Settings" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Height="30" Width="30" MouseEnter="SettingButton_MouseEnter" Click="OptionChooseHandler">
     
    165166                            </Grid>
    166167                            <DockPanel Name="InnerWindow" LastChildFill="True" Margin="5">
    167                                 <Border CornerRadius="5,5,5,5" BorderThickness="1.2">
    168                                     <Border.Background>
    169                                         <LinearGradientBrush Opacity="1" StartPoint="0,0" EndPoint="0,1">
    170                                             <GradientBrush.GradientStops>
    171                                                 <GradientStopCollection>
    172                                                     <GradientStop x:Name="BorderGradientStop" Offset="0.0"/>
    173                                                     <GradientStop x:Name="BorderGradientStopSecond" Offset="0.1"/>
    174                                                 </GradientStopCollection>
    175                                             </GradientBrush.GradientStops>
    176                                         </LinearGradientBrush>
    177                                     </Border.Background>
    178                                     <Border Panel.ZIndex="-1" Name="Window2" CornerRadius="5,5,5,5" BorderThickness="0.8" MinWidth="50">
    179                                         <!--<Border.Effect>
    180                                             <DropShadowEffect BlurRadius="10" Direction="0" Color="Black" RenderingBias="Quality" ShadowDepth="0" ></DropShadowEffect>
    181                                         </Border.Effect>-->
    182                                         <Grid x:Name="BG" Background="{StaticResource ResourceKey=NormalBrush2}" Margin="2">
    183                                             <StackPanel Orientation="Vertical">
    184                                                 <StackPanel.LayoutTransform>
    185                                                     <ScaleTransform ScaleX="0.9" ScaleY="0.9"></ScaleTransform>
    186                                                 </StackPanel.LayoutTransform>
    187                                                 <Grid DockPanel.Dock="Top">
    188                                                     <Grid.Background>
    189                                                         <SolidColorBrush Color="{Binding ElementName=BorderGradientStop, Path=Color}" Opacity="0.7"></SolidColorBrush>
    190                                                     </Grid.Background>
    191                                                     <StackPanel Name="ControlPanel" Visibility="Visible" Opacity="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="3">
    192 
    193                                                         <Button x:Name="play" Height="20" Width="20"  VerticalAlignment="Bottom" HorizontalAlignment="Left" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Click="Button_Click">
    194                                                             <Button.LayoutTransform>
    195                                                                 <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
    196                                                             </Button.LayoutTransform>
    197                                                             <Image x:Name="playimg" Source="/WorkspaceManager;component/View/Image/play.png" RenderOptions.ClearTypeHint="Enabled" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    198                                                         </Button>
    199 
    200                                                         <Button Name="MinimizeButton" Height="20" Width="20" ToolTip="Minimize" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Click="OptionChooseHandler">
    201                                                             <Button.LayoutTransform>
    202                                                                 <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
    203                                                             </Button.LayoutTransform>
    204                                                             <Image Source="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateIconConverter}}" HorizontalAlignment="Center" SnapsToDevicePixels="True">
    205                                                                 <Image.Effect>
    206                                                                     <DropShadowEffect Color="Black" ShadowDepth="0"></DropShadowEffect>
    207                                                                 </Image.Effect>
    208                                                             </Image>
    209                                                         </Button>
    210 
    211                                                         <Button x:Name="del" Height="20" Width="20" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Click="Button_Click">
    212                                                             <Button.LayoutTransform>
    213                                                                 <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
    214                                                             </Button.LayoutTransform>
    215                                                             <Image Source="/WorkspaceManager;component/View/Image/delete.png" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    216                                                         </Button>
    217                                                     </StackPanel>
    218                                                 </Grid>
     168                                <Border CornerRadius="5,5,5,5" BorderThickness="0.9" BorderBrush="#444444">
     169                                    <Border CornerRadius="5,5,5,5" BorderThickness="1.2">
     170                                        <Border.Background>
     171                                            <LinearGradientBrush Opacity="1" StartPoint="0,0" EndPoint="0,1">
     172                                                <GradientBrush.GradientStops>
     173                                                    <GradientStopCollection>
     174                                                        <GradientStop x:Name="BorderGradientStop" Offset="0.0"/>
     175                                                        <GradientStop x:Name="BorderGradientStopSecond" Offset="0.1"/>
     176                                                    </GradientStopCollection>
     177                                                </GradientBrush.GradientStops>
     178                                            </LinearGradientBrush>
     179                                        </Border.Background>
     180                                        <Border Panel.ZIndex="-1" Name="Window2" CornerRadius="5,5,5,5" BorderThickness="0.8" MinWidth="50">
     181                                            <!--<Border.Effect>
     182                                                <DropShadowEffect BlurRadius="10" Direction="0" Color="Black" RenderingBias="Quality" ShadowDepth="0" ></DropShadowEffect>
     183                                            </Border.Effect>-->
     184                                            <Grid x:Name="BG" Background="{StaticResource ResourceKey=NormalBrush2}" Width="auto" Height="auto" Margin="2">
     185                                                <DockPanel LastChildFill="True">
     186                                                    <DockPanel.LayoutTransform>
     187                                                        <ScaleTransform ScaleX="0.9" ScaleY="0.9"></ScaleTransform>
     188                                                    </DockPanel.LayoutTransform>
     189                                                    <Grid DockPanel.Dock="Top">
     190                                                        <Grid.Background>
     191                                                            <SolidColorBrush Color="{Binding ElementName=BorderGradientStop, Path=Color}" Opacity="0.7"></SolidColorBrush>
     192                                                        </Grid.Background>
     193                                                        <DockPanel x:Name="WindowBar">
     194                                                            <StackPanel DockPanel.Dock="Right" Name="ControlPanel" Visibility="Visible" Opacity="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="3">
     195
     196                                                                <Button x:Name="play" Height="20" Width="20"  VerticalAlignment="Bottom" HorizontalAlignment="Left" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Click="Button_Click">
     197                                                                    <Button.LayoutTransform>
     198                                                                        <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
     199                                                                    </Button.LayoutTransform>
     200                                                                    <Image x:Name="playimg" Source="/WorkspaceManager;component/View/Image/play.png" RenderOptions.ClearTypeHint="Enabled" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
     201                                                                </Button>
     202
     203                                                                <Button Name="MinimizeButton" Height="20" Width="20" ToolTip="Minimize" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Click="OptionChooseHandler">
     204                                                                    <Button.LayoutTransform>
     205                                                                        <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
     206                                                                    </Button.LayoutTransform>
     207                                                                    <Image Source="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateIconConverter}}" HorizontalAlignment="Center" SnapsToDevicePixels="True">
     208                                                                        <Image.Effect>
     209                                                                            <DropShadowEffect Color="Black" ShadowDepth="0"></DropShadowEffect>
     210                                                                        </Image.Effect>
     211                                                                    </Image>
     212                                                                </Button>
     213
     214                                                                <Button x:Name="del" Height="20" Width="20" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Click="Button_Click">
     215                                                                    <Button.LayoutTransform>
     216                                                                        <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
     217                                                                    </Button.LayoutTransform>
     218                                                                    <Image Source="/WorkspaceManager;component/View/Image/delete.png" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
     219                                                                </Button>
     220                                                            </StackPanel>
     221                                                        </DockPanel>
     222                                                        <Thumb DragDelta="Thumb_DragDelta_1" Style="{StaticResource ResourceKey=NormalThumbStyle}" Panel.ZIndex="-100"/>
     223                                                        <TextBlock x:Name="PluginName" DockPanel.Dock="Left" TextTrimming="CharacterEllipsis" HorizontalAlignment="Left" Foreground="#555555" Text="N/A" Panel.ZIndex="-101">
     224                                                                <TextBlock.Width>
     225                                                                    <MultiBinding Converter="{StaticResource CaptionWidthConverter}"  ConverterParameter="W">
     226                                                                        <Binding ElementName="ControlPanel" Path="ActualWidth"/>
     227                                                                        <Binding ElementName="WindowBar" Path="ActualWidth"/>
     228                                                                    </MultiBinding>
     229                                                                </TextBlock.Width>
     230                                                        </TextBlock>
     231                                                        <Border Background="#22888888" Panel.ZIndex="-1001"/>
     232                                                    </Grid>
    219233                                       
    220                                                 <Grid>
    221                                                     <Grid.RowDefinitions>
    222                                                         <RowDefinition Height="67"/>
    223                                                         <RowDefinition Height="*"/>
    224                                                     </Grid.RowDefinitions>
    225                                                     <Grid x:Name="OptPanelParent" Grid.Row="0">
    226                                                         <Border Margin="2" x:Name="IconPanel" Visibility="{Binding ElementName=ViewPanel, Path=Visibility, Converter={StaticResource ResourceKey=VisibilityConverter}}" ></Border>
    227                                                         <Thumb DragDelta="Thumb_DragDelta_1" Style="{StaticResource ResourceKey=NormalThumbStyle}"/>
    228                                                         <Grid x:Name="OptionPanel" Height="50" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=OptionPanel}">
    229                                                             <Grid.Background>
    230                                                                 <SolidColorBrush Color="Black" Opacity="0.3"></SolidColorBrush>
    231                                                             </Grid.Background>
     234                                                    <DockPanel DockPanel.Dock="Top" LastChildFill="True">
     235                                                        <Grid x:Name="OptPanelParent" DockPanel.Dock="Top">
     236                                                            <Border Margin="0,10,0,0" x:Name="IconPanel" Visibility="{Binding ElementName=ViewPanel, Path=Visibility, Converter={StaticResource ResourceKey=VisibilityConverter}}" ></Border>
     237                                                            <Thumb DragDelta="Thumb_DragDelta_1" Style="{StaticResource ResourceKey=NormalThumbStyle}"/>
     238                                                            <Grid x:Name="OptionPanel" Height="40" VerticalAlignment="Top" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=OptionPanel}">
     239                                                                <Grid.Background>
     240                                                                    <SolidColorBrush Color="Black" Opacity="0.3"></SolidColorBrush>
     241                                                                </Grid.Background>
    232242                                               
    233                                                             <!---->
     243                                                                <Border Height="13" VerticalAlignment="Bottom">
     244                                                                    <Border.Background>
     245                                                                        <SolidColorBrush Color="Black" Opacity="0.1"></SolidColorBrush>
     246                                                                    </Border.Background>
     247
     248                                                                    <TextBlock Name="OptionCaption" Foreground="WhiteSmoke" FontWeight="Bold" FontSize="8" HorizontalAlignment="Center" Margin="0,0,10,0">
     249                                                                        <TextBlock.RenderTransform>
     250                                                                            <ScaleTransform ScaleX="1.2" ScaleY="1.2"></ScaleTransform>
     251                                                                        </TextBlock.RenderTransform>
     252                                                                    </TextBlock>
    234253                                                   
    235                                                             <!-->-->
    236                                                
    237                                                             <Border Height="13" VerticalAlignment="Bottom">
    238                                                                 <Border.Background>
    239                                                                     <SolidColorBrush Color="Black" Opacity="0.1"></SolidColorBrush>
    240                                                                 </Border.Background>
    241 
    242                                                                 <TextBlock Name="OptionCaption" Foreground="WhiteSmoke" FontWeight="Bold" FontSize="8" HorizontalAlignment="Center" Margin="0,0,10,0">
    243                                                                     <TextBlock.RenderTransform>
    244                                                                         <ScaleTransform ScaleX="1.2" ScaleY="1.2"></ScaleTransform>
    245                                                                     </TextBlock.RenderTransform>
    246                                                                 </TextBlock>
     254                                                                </Border>
     255                                                                <Thumb DragDelta="Thumb_DragDelta_1" Style="{StaticResource ResourceKey=NormalThumbStyle}"/>
     256                                                                <StackPanel x:Name="Options" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center" Height="32.25" Visibility="{Binding ElementName=OptionPanel, Path=Visibility}" Margin="1">
     257                                                                    <StackPanel.LayoutTransform>
     258                                                                        <ScaleTransform ScaleY="0.75" ScaleX="0.75"></ScaleTransform>
     259                                                                    </StackPanel.LayoutTransform>
     260                                                                    <Border x:Name="SlotOne">
     261                                                                        <Border.Effect>
     262                                                                            <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
     263                                                                        </Border.Effect>
     264                                                       
     265                                                                    </Border>
     266                                                                    <Border x:Name="SlotTwo">
     267                                                                        <Border.Effect>
     268                                                                            <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
     269                                                                        </Border.Effect>
     270
     271                                                                    </Border>
    247272                                                   
    248                                                             </Border>
    249                                                             <Thumb DragDelta="Thumb_DragDelta_1" Style="{StaticResource ResourceKey=NormalThumbStyle}"/>
    250                                                             <StackPanel x:Name="Options" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center" Height="43" Visibility="{Binding ElementName=OptionPanel, Path=Visibility}">
    251                                                                 <Border x:Name="SlotOne">
    252                                                                     <Border.Effect>
    253                                                                         <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
    254                                                                     </Border.Effect>
    255                                                        
     273                                                                    <Border x:Name="SlotThree">
     274
     275                                                                    </Border>
     276                                                   
     277                                                                    <Border x:Name="SlotFour">
     278                                                                        <Border.Effect>
     279                                                                            <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
     280                                                                        </Border.Effect>
     281
     282                                                                    </Border>
     283                                                                    <Border x:Name="SlotFive">
     284                                                                        <Border.Effect>
     285                                                                            <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
     286                                                                        </Border.Effect>
     287
     288                                                                    </Border>
     289                                                                </StackPanel>
     290                                                                <!--<Border x:Name="Options" VerticalAlignment="Top" HorizontalAlignment="Center" Height="39" Visibility="{Binding ElementName=OptionPanel, Path=Visibility}"></Border>-->
     291                                                                <DockPanel HorizontalAlignment="Center" Height="43" VerticalAlignment="Top" LastChildFill="True">
     292                                                                    <!--<DockPanel.LayoutTransform>
     293                                                                        <ScaleTransform ScaleX="0.7" ScaleY="0.7"></ScaleTransform>
     294                                                                    </DockPanel.LayoutTransform>-->
     295                                                                    <Button DockPanel.Dock="Left" x:Name="Left" Click="OptionClickHandler" Width="20" Height="20" Margin="0,0,10,0" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}}" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
     296                                                                        <Image Source="/WorkspaceManager;component/View/Image/left.png" Opacity="0.6"  HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
     297                                                                    </Button>
     298
     299                                                                    <Button DockPanel.Dock="Right" x:Name="Right" Click="OptionClickHandler" Width="20" Height="20" Margin="10,0,0,0" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}}" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
     300                                                                        <Image Source="/WorkspaceManager;component/View/Image/right.png" Opacity="0.6" HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
     301                                                                    </Button>
     302                                                                    <Grid></Grid>
     303                                                                </DockPanel>
     304                                                            </Grid>
     305                                                        </Grid>
     306                       
     307                                                        <Grid x:Name="ViewPanelParent" Margin="3">
     308                                                            <Grid Name="ViewPanel" Width="Auto" Height="Auto" Visibility="Collapsed" Margin="5,5,5,5" >
     309                                                                <Border x:Name="SettingsPanel" Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=SettingsPanel}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=SettingsPanel}"></Border>
     310                                                                <Border x:Name="PresentationPanel" Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=PresentationPanel}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=PresentationPanel}">
     311                                                   
    256312                                                                </Border>
    257                                                                 <Border x:Name="SlotTwo">
    258                                                                     <Border.Effect>
    259                                                                         <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
    260                                                                     </Border.Effect>
    261 
     313                                                                <Border x:Name="LogPanel" Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=LogPanel}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=LogPanel}">
     314                                                                    <e:LogPresentation></e:LogPresentation>
    262315                                                                </Border>
    263                                                    
    264                                                                 <Border x:Name="SlotThree">
    265 
    266                                                                 </Border>
    267                                                    
    268                                                                 <Border x:Name="SlotFour">
    269                                                                     <Border.Effect>
    270                                                                         <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
    271                                                                     </Border.Effect>
    272 
    273                                                                 </Border>
    274                                                                 <Border x:Name="SlotFive">
    275                                                                     <Border.Effect>
    276                                                                         <BlurEffect Radius="{Binding Path=ViewState, Converter={StaticResource ResourceKey=BlurViewStateConverter}}"></BlurEffect>
    277                                                                     </Border.Effect>
    278 
    279                                                                 </Border>
    280                                                             </StackPanel>
    281                                                             <!--<Border x:Name="Options" VerticalAlignment="Top" HorizontalAlignment="Center" Height="39" Visibility="{Binding ElementName=OptionPanel, Path=Visibility}"></Border>-->
    282                                                             <DockPanel HorizontalAlignment="Center" Height="43" VerticalAlignment="Top" LastChildFill="True">
    283                                                                 <!--<DockPanel.LayoutTransform>
    284                                                                     <ScaleTransform ScaleX="0.7" ScaleY="0.7"></ScaleTransform>
    285                                                                 </DockPanel.LayoutTransform>-->
    286                                                                 <Button DockPanel.Dock="Left" x:Name="Left" Click="OptionClickHandler" Width="20" Height="20" Margin="0,0,10,0" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}}" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
    287                                                                     <Image Source="/WorkspaceManager;component/View/Image/left.png" Opacity="0.6"  HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
    288                                                                 </Button>
    289 
    290                                                                 <Button DockPanel.Dock="Right" x:Name="Right" Click="OptionClickHandler" Width="20" Height="20" Margin="10,0,0,0" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}}" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
    291                                                                     <Image Source="/WorkspaceManager;component/View/Image/right.png" Opacity="0.6" HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
    292                                                                 </Button>
    293                                                                 <Grid></Grid>
    294                                                             </DockPanel>
     316                                                                <ScrollViewer Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=DataPanel}" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
     317                                                                    <StackPanel Orientation="Vertical" x:Name="DataPanel" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=DataPanel}"></StackPanel>
     318                                                                </ScrollViewer>
     319                                                            </Grid>
    295320                                                        </Grid>
    296                                                     </Grid>
    297 
    298                                                     <Grid x:Name="ViewPanelParent" Grid.Row="1" Margin="3" Background="{StaticResource ResourceKey=NormalBrush2}">
    299                                                         <Grid Name="ViewPanel" Width="Auto" Height="Auto" Visibility="Collapsed" Margin="5,5,5,5">
    300                                                             <Border x:Name="SettingsPanel" Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=SettingsPanel}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=SettingsPanel}"></Border>
    301                                                             <Border x:Name="PresentationPanel" Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=PresentationPanel}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=PresentationPanel}">
    302                                                    
    303                                                             </Border>
    304                                                             <Border x:Name="LogPanel" Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=LogPanel}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=LogPanel}">
    305                                                                 <e:LogPresentation></e:LogPresentation>
    306                                                             </Border>
    307                                                             <ScrollViewer Panel.ZIndex="{Binding Path=ViewState, Converter={StaticResource ResourceKey=OverlapConverter}, ConverterParameter=DataPanel}" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
    308                                                                 <StackPanel Orientation="Vertical" x:Name="DataPanel" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=DataPanel}"></StackPanel>
    309                                                             </ScrollViewer>
    310                                                         </Grid>
    311                                                     </Grid>
    312                                                 </Grid>
    313                                             </StackPanel>
    314                                         </Grid>
     321                                                    </DockPanel>
     322                                                </DockPanel>
     323                                            </Grid>
     324                                        </Border>
    315325                                    </Border>
    316326                                </Border>
  • trunk/CrypPlugins/WorkspaceManager/View/Container/PluginContainerView.xaml.cs

    r2072 r2118  
    2121using System.Threading;
    2222using Cryptool.PluginBase;
     23using System.ComponentModel;
    2324namespace WorkspaceManager.View.Container
    2425{
     
    5253
    5354        #region Properties
     55
     56        public static readonly DependencyProperty X = DependencyProperty.Register("PositionOnWorkSpaceX", typeof(double), typeof(ConnectorView), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure));
     57        public static readonly DependencyProperty Y = DependencyProperty.Register("PositionOnWorkSpaceY", typeof(double), typeof(ConnectorView), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure));
     58
     59        [TypeConverter(typeof(LengthConverter))]
     60        public double PositionOnWorkSpaceX
     61        {
     62            get { return (double)base.GetValue(X); }
     63            set
     64            {
     65                base.SetValue(X, value);
     66            }
     67        }
     68
     69        [TypeConverter(typeof(LengthConverter))]
     70        public double PositionOnWorkSpaceY
     71        {
     72            get { return (double)base.GetValue(Y); }
     73            set
     74            {
     75                base.SetValue(Y, value);
     76            }
     77        }
    5478
    5579        internal Point GetRoutingPoint(int routPoint)
     
    155179                base.SetValue(ViewStateProperty, value);
    156180                this.Model.ViewState = value;
     181                this.UpdateLayout();
    157182            }
    158183        }
     
    235260            foreach (ConnectorModel ConnectorModel in model.InputConnectors)
    236261            {
    237                 ConnectorView connector = new ConnectorView(ConnectorModel);
     262                ConnectorView connector = new ConnectorView(ConnectorModel, this);
    238263                AddConnectorView(connector);
    239264                DataPanel.Children.Add(new DataPresentation(connector));
     
    242267            foreach (ConnectorModel ConnectorModel in model.OutputConnectors)
    243268            {
    244                 ConnectorView connector = new ConnectorView(ConnectorModel);
     269                ConnectorView connector = new ConnectorView(ConnectorModel, this);
    245270                AddConnectorView(connector);
    246271                DataPanel.Children.Add(new DataPresentation(connector));
     
    288313                {
    289314                    ConnectorView connector = e.Data.GetData("connector") as ConnectorView;
    290                     if (panel.Children.Contains(connector))
     315                    if (panel.Children.Contains(connector) || connector.Parent != this)
    291316                        return;
    292317
     
    334359            finally
    335360            {
    336                 SetAllConnectorPositionX();
    337361                panel.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00100000"));
    338362
     
    407431                Canvas.SetLeft(this, value.X);
    408432
    409             //ResetPopUp();
    410             Model.Position = GetPosition();
    411             SetAllConnectorPositionX();
     433            Point p = GetPosition();
     434            Model.Position = p;
     435            PositionOnWorkSpaceX = p.X;
     436            PositionOnWorkSpaceY = p.Y;
    412437        }
    413438
     
    432457            this.RenderTransform = new TranslateTransform();
    433458            this.Icon = this.Model.getImage();
     459            this.PluginName.Text = model.Plugin.GetPluginInfoAttribute().Caption;
    434460        }
    435461
     
    454480        }
    455481
    456         private void SetAllConnectorPositionX()
    457         {
    458             try
    459             {
    460                 GeneralTransform gTransform, gTransformSec;
    461                 Point point, relativePoint;
    462                 double x, y;
    463 
    464                 foreach (ConnectorView conn in West.Children)
    465                 {
    466                     gTransform = this.West.TransformToVisual(this);
    467                     gTransformSec = conn.TransformToVisual(this.West);
    468 
    469                     point = gTransform.Transform(new Point(0, 0));
    470                     relativePoint = gTransformSec.Transform(new Point(0, 0));
    471 
    472                     x = GetPosition().X + point.X + relativePoint.X;
    473                     y = GetPosition().Y + point.Y + relativePoint.Y;
    474 
    475                     conn.PositionOnWorkSpaceX = x;
    476                     conn.PositionOnWorkSpaceY = y;
    477                 }
    478 
    479                 foreach (ConnectorView conn in East.Children)
    480                 {
    481                     gTransform = this.East.TransformToVisual(this);
    482                     gTransformSec = conn.TransformToVisual(this.East);
    483 
    484                     point = gTransform.Transform(new Point(0, 0));
    485                     relativePoint = gTransformSec.Transform(new Point(0, 0));
    486 
    487                     x = GetPosition().X + point.X + relativePoint.X;
    488                     y = GetPosition().Y + point.Y + relativePoint.Y;
    489 
    490                     conn.PositionOnWorkSpaceX = x;
    491                     conn.PositionOnWorkSpaceY = y;
    492                 }
    493 
    494                 foreach (ConnectorView conn in North.Children)
    495                 {
    496                     gTransform = this.North.TransformToVisual(this);
    497                     gTransformSec = conn.TransformToVisual(this.North);
    498 
    499                     point = gTransform.Transform(new Point(0, 0));
    500                     relativePoint = gTransformSec.Transform(new Point(0, 0));
    501 
    502                     x = GetPosition().X + point.X + relativePoint.X;
    503                     y = GetPosition().Y + point.Y + relativePoint.Y;
    504 
    505                     conn.PositionOnWorkSpaceX = x;
    506                     conn.PositionOnWorkSpaceY = y;
    507                 }
    508 
    509                 foreach (ConnectorView conn in South.Children)
    510                 {
    511                     gTransform = this.South.TransformToVisual(this);
    512                     gTransformSec = conn.TransformToVisual(this.South);
    513 
    514                     point = gTransform.Transform(new Point(0, 0));
    515                     relativePoint = gTransformSec.Transform(new Point(0, 0));
    516 
    517                     x = GetPosition().X + point.X + relativePoint.X;
    518                     y = GetPosition().Y + point.Y + relativePoint.Y;
    519 
    520                     conn.PositionOnWorkSpaceX = x;
    521                     conn.PositionOnWorkSpaceY = y;
    522                 }
    523             }
    524             catch (Exception e)
    525             {
    526                 Console.Out.WriteLine(e.ToString());
    527             }
    528         }
    529482        #endregion
    530483
     
    534487        {
    535488            Color clr = ColorHelper.GetColor(this.Model.PluginType);
    536             System.Drawing.Color clr2 = System.Windows.Forms.ControlPaint.Dark(System.Drawing.Color.FromArgb(clr.A, clr.R, clr.G, clr.B));
     489            System.Drawing.Color clr2 = System.Drawing.Color.FromArgb(clr.A, clr.R, clr.G, clr.B);
    537490            clr = Color.FromArgb(clr2.A, clr2.R, clr2.G, clr2.B);
    538491            BorderGradientStop.Color = clr;
    539492            BorderGradientStopSecond.Color = clr;
    540             clr2 = System.Windows.Forms.ControlPaint.LightLight(System.Windows.Forms.ControlPaint.LightLight(System.Drawing.Color.FromArgb(clr.A, clr.R, clr.G, clr.B)));
     493            clr2 = System.Windows.Forms.ControlPaint.Light(System.Windows.Forms.ControlPaint.LightLight(System.Drawing.Color.FromArgb(clr.A, clr.R, clr.G, clr.B)));
    541494            clr = Color.FromArgb(clr2.A, clr2.R, clr2.G, clr2.B);
    542495            BG.Background = new SolidColorBrush(clr);
     
    569522            LogPresentation LogView = LogPanel.Child as LogPresentation;
    570523            LogView.LogUpdated += new EventHandler<LogUpdated>(LogView_LogUpdated);
    571 
    572             SetAllConnectorPositionX();
    573524           
    574525        }
     
    734685        private void MinMaxBorder_MouseLeftButtonDown(object sender, RoutedEventArgs e)
    735686        {
    736             this.SetAllConnectorPositionX();
     687           
    737688        }
    738689
  • trunk/CrypPlugins/WorkspaceManager/View/Container/WorkSpaceEditorView.xaml.cs

    r2072 r2118  
    3333    public partial class WorkSpaceEditorView : UserControl
    3434    {
    35         private double prevX = 0, prevY = 0;
    36         private bool IsDragStarted;
    3735        private Point previousDragPoint = new Point();
    3836        private ConnectorView selectedConnector;
    3937        private PluginContainerView selectedPluginContainer;
    4038        private CryptoLineView dummyLine = new CryptoLineView();
    41         private Point point;
    4239        private PluginContainerView currentFullViewContainer;
    4340        private Panel root { get { return (this.ViewBox.Content as Panel); } }
     
    205202
    206203            Binding binding = new Binding();
    207             binding.Source = connectable;
    208             binding.Path = new PropertyPath(ConnectorView.X);
    209             multiBinding.Bindings.Add(binding);
    210 
    211             binding = new Binding();
    212             binding.Source = connectable;
    213             binding.Path = new PropertyPath(ConnectorView.Y);
     204            binding.Source = connectable.Parent;
     205            binding.Path = new PropertyPath(PluginContainerView.X);
     206            multiBinding.Bindings.Add(binding);
     207
     208            binding = new Binding();
     209            binding.Source = connectable.Parent;
     210            binding.Path = new PropertyPath(PluginContainerView.Y);
    214211            multiBinding.Bindings.Add(binding);
    215212
     
    224221            multiBinding.Bindings.Add(binding);
    225222
     223            binding = new Binding();
     224            binding.Source = connectable.Parent.West;
     225            binding.Path = new PropertyPath(FrameworkElement.ActualHeightProperty);
     226            multiBinding.Bindings.Add(binding);
     227
     228            binding = new Binding();
     229            binding.Source = connectable.Parent.East;
     230            binding.Path = new PropertyPath(FrameworkElement.ActualHeightProperty);
     231            multiBinding.Bindings.Add(binding);
     232
     233            binding = new Binding();
     234            binding.Source = connectable.Parent.North;
     235            binding.Path = new PropertyPath(FrameworkElement.ActualWidthProperty);
     236            multiBinding.Bindings.Add(binding);
     237
     238            binding = new Binding();
     239            binding.Source = connectable.Parent.South;
     240            binding.Path = new PropertyPath(FrameworkElement.ActualWidthProperty);
     241            multiBinding.Bindings.Add(binding);
    226242
    227243            return multiBinding;
  • trunk/CrypPlugins/WorkspaceManager/View/Converter/ConnectorBindingConverter.cs

    r1991 r2118  
    1717        {
    1818            ConnectorView connector = (ConnectorView)parameter;
    19             double X = System.Convert.ToDouble(values[0]);
    20             double Y = System.Convert.ToDouble(values[1]);
     19            Point p = connector.GetPositionOnWorkspace();
     20            double X = p.X;
     21            double Y = p.Y;
    2122            double Height = System.Convert.ToDouble(values[2]);
    2223            double Width = System.Convert.ToDouble(values[3]);
    23 
    2424            switch (connector.Orientation)
    2525            {
  • trunk/CrypPlugins/WorkspaceManager/View/Resource/Brushes.xaml

    r2072 r2118  
    182182
    183183
    184     <RadialGradientBrush x:Key="NormalBrush" RadiusX="1" RadiusY="2.8" Center="0.524,1.2" GradientOrigin="0.524,1.2">
    185         <GradientStop Color="#96c4ec" Offset="1.0" />
    186         <GradientStop Color="#FFF" Offset="0" />
     184    <RadialGradientBrush x:Key="NormalBrush" RadiusX="1.1" RadiusY="2.8" Center="0.524,1.2" GradientOrigin="0.524,1.2">
     185        <GradientStop Color="#add3f5" Offset="0.0" />
     186        <GradientStop Color="#293955" Offset="1" />
    187187    </RadialGradientBrush>
    188188
    189     <RadialGradientBrush x:Key="NormalBrush2" RadiusX="1.5" RadiusY="2.8" Center="0.524,1.2" GradientOrigin="0.524,1.2">
    190         <GradientStop Color="#DDD" Offset="1.0" />
    191         <GradientStop Color="#FFF" Offset="0" />
    192     </RadialGradientBrush>
     189    <LinearGradientBrush x:Key="NormalBrush2" StartPoint="0,0" EndPoint="0,1">
     190        <GradientBrush.GradientStops>
     191            <GradientStopCollection>
     192                <GradientStop Color="#77EEEEEE" Offset="1.0"/>
     193                <GradientStop Color="#77CCCCCC" Offset="0.0"/>
     194            </GradientStopCollection>
     195        </GradientBrush.GradientStops>
     196    </LinearGradientBrush>
    193197
    194198</ResourceDictionary>
  • trunk/CrypPlugins/WorkspaceManager/View/Resource/Styles.xaml

    r2067 r2118  
    5050                    <ControlTemplate.Triggers>
    5151                        <Trigger Property="IsMouseOver" Value="true">
    52                             <Setter Property="Background" Value="#5586cede" TargetName="Border" />
    53                             <Setter Property="BorderBrush" Value="#aa86cede" TargetName="Border" />
     52                            <Setter Property="Background" Value="#55222222" TargetName="Border" />
     53                            <Setter Property="BorderBrush" Value="#aa222222" TargetName="Border" />
    5454                        </Trigger>
    5555                        <Trigger Property="IsPressed" Value="true">
    56                             <Setter Property="Background" Value="#7786cede" TargetName="Border" />
    57                             <Setter Property="BorderBrush" Value="#cc86cede" TargetName="Border" />
     56                            <Setter Property="Background" Value="#77222222" TargetName="Border" />
     57                            <Setter Property="BorderBrush" Value="#cc222222" TargetName="Border" />
    5858                        </Trigger>
    5959                    </ControlTemplate.Triggers>
     
    404404        <Setter Property="BorderBrush">
    405405            <Setter.Value>
    406                 <SolidColorBrush Color="#555555"></SolidColorBrush>
     406                <SolidColorBrush Color="#55FFFFFF"></SolidColorBrush>
    407407            </Setter.Value>
    408408        </Setter>
     
    415415                    <GradientBrush.GradientStops>
    416416                        <GradientStopCollection>
    417                             <GradientStop Color="#88222222" Offset="1.0"/>
    418                             <GradientStop Color="#88444444" Offset="0.5"/>
     417                            <GradientStop Color="#11555555" Offset="0.0"/>
     418                            <GradientStop Color="#55444444" Offset="1"/>
    419419                        </GradientStopCollection>
    420420                    </GradientBrush.GradientStops>
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/LogPresentation.xaml

    r2067 r2118  
    77             xmlns:z="clr-namespace:WorkspaceManager.View.Converter"
    88             mc:Ignorable="d"
    9              d:DesignHeight="300" d:DesignWidth="300">
     9             d:DesignHeight="300" d:DesignWidth="700" Background="Transparent">
    1010    <UserControl.Resources>
    1111        <ResourceDictionary>
     
    1919    <Grid>
    2020        <Grid.RowDefinitions>
    21             <RowDefinition Height="26" />
     21            <RowDefinition Height="45" />
    2222            <RowDefinition Height="*" />
    2323        </Grid.RowDefinitions>
    24         <!--<ToolBar Grid.Row="0" Height="26" Name="toolBarListViewFilter" VerticalAlignment="Top" Background="Transparent">
    25             <ToggleButton IsChecked="True" Height="20" HorizontalAlignment="Left" Name="buttonError" VerticalAlignment="Center" ClickMode="Press" Click="buttonError_Click" Padding="0" ToolTip="Hide Errors">
    26                 <Grid>
    27                     <Grid.ColumnDefinitions>
    28                         <ColumnDefinition Width="16" />
     24        <ToolBar BorderBrush="#999" BorderThickness="1" Grid.Row="0" Height="45" Name="toolBarListViewFilter" VerticalAlignment="Top" Background="{StaticResource ResourceKey=NormalBrush2}">
     25            <ToggleButton IsChecked="True" Height="30" HorizontalAlignment="Left" Name="buttonError" VerticalAlignment="Center" ClickMode="Press" Click="buttonError_Click" Padding="0" ToolTip="Hide Errors">
     26                <Grid>
     27                    <Grid.ColumnDefinitions>
     28                        <ColumnDefinition Width="30" />
    2929                        <ColumnDefinition Width="Auto" />
    3030                        <ColumnDefinition Width="*" />
    3131                    </Grid.ColumnDefinitions>
    32                    
     32                    <Image Grid.Column="0" Source="/WorkspaceManager;component/View/Image/error2.png" Height="30" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    3333                    <TextBlock Name="textBlockErrosCount" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="4, 0, 4, 0">0</TextBlock>
    3434                    <TextBlock Grid.Column="2" VerticalAlignment="Center" Margin="0,0,5,0">Errors</TextBlock>
     
    3636            </ToggleButton>
    3737            <Separator/>
    38             <ToggleButton IsChecked="True" Height="20" HorizontalAlignment="Left" Name="buttonWarning" VerticalAlignment="Center" ClickMode="Press" Click="buttonWarning_Click" Padding="0" ToolTip="Hide Warnings">
    39                 <Grid>
    40                     <Grid.ColumnDefinitions>
    41                         <ColumnDefinition Width="16" />
     38            <ToggleButton IsChecked="True" Height="30" HorizontalAlignment="Left" Name="buttonWarning" VerticalAlignment="Center" ClickMode="Press" Click="buttonWarning_Click" Padding="0" ToolTip="Hide Warnings">
     39                <Grid>
     40                    <Grid.ColumnDefinitions>
     41                        <ColumnDefinition Width="30" />
    4242                        <ColumnDefinition Width="Auto" />
    4343                        <ColumnDefinition Width="*" />
    4444                    </Grid.ColumnDefinitions>
    45                    
     45                    <Image Grid.Column="0" Source="/WorkspaceManager;component/View/Image/warn.png" Height="30" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    4646                    <TextBlock Name="textBlockWarningsCount" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="4, 0, 4, 0">0</TextBlock>
    4747                    <TextBlock Grid.Column="2" VerticalAlignment="Center" Margin="0,0,5,0">Warnings</TextBlock>
     
    4949            </ToggleButton>
    5050            <Separator/>
    51             <ToggleButton IsChecked="True" Height="20" HorizontalAlignment="Left" Name="buttonInfo" VerticalAlignment="Center" ClickMode="Press" Click="buttonInfo_Click" Padding="0" ToolTip="Hide Infos">
    52                 <Grid>
    53                     <Grid.ColumnDefinitions>
    54                         <ColumnDefinition Width="16" />
     51            <ToggleButton IsChecked="True" Height="30" HorizontalAlignment="Left" Name="buttonInfo" VerticalAlignment="Center" ClickMode="Press" Click="buttonInfo_Click" Padding="0" ToolTip="Hide Infos">
     52                <Grid>
     53                    <Grid.ColumnDefinitions>
     54                        <ColumnDefinition Width="30" />
    5555                        <ColumnDefinition Width="Auto"/>
    5656                        <ColumnDefinition Width="*" />
    5757                    </Grid.ColumnDefinitions>
    58                    
     58                    <Image Grid.Column="0" Source="/WorkspaceManager;component/View/Image/Info.png" Height="30" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    5959                    <TextBlock Name="textBlockInfosCount" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="4, 0, 4, 0">0</TextBlock>
    6060                    <TextBlock Grid.Column="2" VerticalAlignment="Center" Margin="0,0,5,0">Infos</TextBlock>
     
    6262            </ToggleButton>
    6363            <Separator/>
    64             <ToggleButton IsChecked="False" Height="20" HorizontalAlignment="Left" Name="buttonDebug" VerticalAlignment="Center" ClickMode="Press" Click="buttonDebug_Click" Padding="0" ToolTip="Show Debugs">
    65                 <Grid>
    66                     <Grid.ColumnDefinitions>
    67                         <ColumnDefinition Width="16" />
     64            <ToggleButton IsChecked="False" Height="30" HorizontalAlignment="Left" Name="buttonDebug" VerticalAlignment="Center" ClickMode="Press" Click="buttonDebug_Click" Padding="0" ToolTip="Show Debugs">
     65                <Grid>
     66                    <Grid.ColumnDefinitions>
     67                        <ColumnDefinition Width="30" />
    6868                        <ColumnDefinition Width="Auto" />
    6969                        <ColumnDefinition Width="*" />
    7070                    </Grid.ColumnDefinitions>
    71                    
     71                    <Image Grid.Column="0" Source="/WorkspaceManager;component/View/Image/debug.png" Height="25" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    7272                    <TextBlock Name="textBlockDebugsCount" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="4, 0, 4, 0">0</TextBlock>
    7373                    <TextBlock Grid.Column="2" VerticalAlignment="Center" Margin="0,0,5,0">Debugs</TextBlock>
     
    7575            </ToggleButton>
    7676            <Separator/>
    77             <Button Height="20" Click="ButtonDeleteMessages_Click" ToolTip="Clear LogWindow">
    78                 <Grid>
    79                     <Grid.ColumnDefinitions>
    80                         <ColumnDefinition Width="16" />
    81                         <ColumnDefinition Width="*" />
    82                     </Grid.ColumnDefinitions>
    83                    
     77            <Button Height="30" Click="ButtonDeleteMessages_Click" ToolTip="Clear LogWindow">
     78                <Grid>
     79                    <Grid.ColumnDefinitions>
     80                        <ColumnDefinition Width="30" />
     81                        <ColumnDefinition Width="*" />
     82                    </Grid.ColumnDefinitions>
     83                    <Image Grid.Column="0" Source="/WorkspaceManager;component/View/Image/delete.png" Height="21" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    8484                    <TextBlock Grid.Column="2" VerticalAlignment="Center" Margin="5,0,5,0">Delete all messages</TextBlock>
    8585                </Grid>
    8686            </Button>
    8787            <Separator/>
    88             <Button Height="20" Click="ButtonExportToHTML_Click" ToolTip="Export to HTML">
    89                 <Grid>
    90                     <Grid.ColumnDefinitions>
    91                         <ColumnDefinition Width="16" />
    92                         <ColumnDefinition Width="*" />
    93                     </Grid.ColumnDefinitions>
    94                    
    95                     <TextBlock Grid.Column="2" VerticalAlignment="Center" Margin="5,0,5,0">Export to HTML</TextBlock>
    96                 </Grid>
    97             </Button>
    98         </ToolBar>-->
    99         <ListView Name="listViewLogList" Grid.Row="1"
    100                           ItemsSource="{Binding}" Style="{StaticResource ListBoxStyle}">
     88        </ToolBar>
     89        <ListView Name="listViewLogList" Grid.Row="1" ItemsSource="{Binding}" Style="{StaticResource ListBoxStyle}">
    10190            <ListBox.ItemTemplate>
    10291                <DataTemplate>
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/LogPresentation.xaml.cs

    r2067 r2118  
    1515using Cryptool.PluginBase;
    1616using WorkspaceManager.Model;
     17using System.ComponentModel;
     18using System.Windows.Controls.Primitives;
    1719
    1820namespace WorkspaceManager.View.VisualComponents
    1921{
    20     public class CollectionElement
    21     {
    22         private GuiLogEventArgs element;
    23 
    24         public String Message { get; set; }
    25         public NotificationLevel Level { get; set; }
    26         public String Date { get; set; }
    27         public String ID { get; set; }
    28 
    29         public CollectionElement(GuiLogEventArgs element)
    30         {
    31             Message = element.Message;
    32             Level = element.NotificationLevel;
    33             Date = element.DateTime.ToString("dd.MM.yyyy, H:mm:ss");
    34         }
    35     }
    3622    /// <summary>
    3723    /// Interaction logic for LogPresentation.xaml
     
    4733        }
    4834
     35        private List<NotificationLevel> listFilter;
     36
    4937        public int ErrorCount { get; set; }
    5038
     
    5846
    5947        public LogPresentation()
     48        {
     49            InitializeComponent();
     50            valueCollection = new ObservableCollection<CollectionElement>();
     51            listViewLogList.DataContext = ValueCollection;
     52            DataContext = this;
     53            listFilter = new List<NotificationLevel>();
     54            listFilter.Add(NotificationLevel.Info);
     55            listFilter.Add(NotificationLevel.Warning);
     56            listFilter.Add(NotificationLevel.Error);
     57            valueCollection.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(valueCollection_CollectionChanged);
     58        }
     59
     60        void valueCollection_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
    6061        {
    6162            ErrorCount = 0;
     
    6364            DebugCount = 0;
    6465            InfoCount = 0;
    65             valueCollection = new ObservableCollection<CollectionElement>();
    66             DataContext = ValueCollection;
    67             InitializeComponent();
     66            foreach (CollectionElement element in ValueCollection)
     67            {
     68                if (element.Level == NotificationLevel.Debug)
     69                    DebugCount++;
     70                if (element.Level == NotificationLevel.Info)
     71                    InfoCount++;
     72                if (element.Level == NotificationLevel.Error)
     73                    ErrorCount++;
     74                if (element.Level == NotificationLevel.Warning)
     75                    WarningCount++;
     76            }
     77
     78            textBlockDebugsCount.Text = DebugCount.ToString();
     79            textBlockErrosCount.Text = ErrorCount.ToString();
     80            textBlockInfosCount.Text = InfoCount.ToString();
     81            textBlockWarningsCount.Text = WarningCount.ToString();
     82           
    6883        }
    6984
    7085        public void AddLogList(List<GuiLogEventArgs> list)
    71         {
    72            
     86        {   
    7387            try
    7488            {
    7589                foreach (GuiLogEventArgs element in list)
    7690                {
    77                     if (element.NotificationLevel == NotificationLevel.Error)
    78                         ErrorCount++;
    79 
    80                     if (element.NotificationLevel == NotificationLevel.Warning)
    81                         WarningCount++;
    82 
    83                     if (element.NotificationLevel == NotificationLevel.Info)
    84                         InfoCount++;
    85 
    86                     if (element.NotificationLevel == NotificationLevel.Debug)
    87                         DebugCount++;
    88 
    8991                    ValueCollection.Add(new CollectionElement(element));
    9092
     
    99101            }
    100102        }
     103
     104        private bool FilterCallback(object item)
     105        {
     106            return listFilter.Contains(((CollectionElement)item).Level);
     107        }
     108
     109        private void buttonError_Click(object sender, RoutedEventArgs e)
     110        {
     111            ICollectionView view = CollectionViewSource.GetDefaultView(listViewLogList.ItemsSource);
     112            if (listFilter.Contains(NotificationLevel.Error)) listFilter.Remove(NotificationLevel.Error);
     113            else listFilter.Add(NotificationLevel.Error);
     114            view.Filter = new Predicate<object>(FilterCallback);
     115
     116            ToggleButton tb = sender as ToggleButton;
     117            if (tb != null)
     118            {
     119                if (tb.IsChecked == true) tb.ToolTip = "Hide Errors";
     120                else tb.ToolTip = "Show Errors";
     121            }
     122        }
     123
     124        private void buttonWarning_Click(object sender, RoutedEventArgs e)
     125        {
     126            ICollectionView view = CollectionViewSource.GetDefaultView(listViewLogList.ItemsSource);
     127            if (listFilter.Contains(NotificationLevel.Warning)) listFilter.Remove(NotificationLevel.Warning);
     128            else listFilter.Add(NotificationLevel.Warning);
     129            view.Filter = new Predicate<object>(FilterCallback);
     130
     131            ToggleButton tb = sender as ToggleButton;
     132            if (tb != null)
     133            {
     134                if (tb.IsChecked == true) tb.ToolTip = "Hide Warnings";
     135                else tb.ToolTip = "Show Warnings";
     136            }
     137        }
     138
     139        private void buttonInfo_Click(object sender, RoutedEventArgs e)
     140        {
     141            ICollectionView view = CollectionViewSource.GetDefaultView(listViewLogList.ItemsSource);
     142            if (listFilter.Contains(NotificationLevel.Info)) listFilter.Remove(NotificationLevel.Info);
     143            else listFilter.Add(NotificationLevel.Info);
     144            view.Filter = new Predicate<object>(FilterCallback);
     145
     146            ToggleButton tb = sender as ToggleButton;
     147            if (tb != null)
     148            {
     149                if (tb.IsChecked == true) tb.ToolTip = "Hide Infos";
     150                else tb.ToolTip = "Show Infos";
     151            }
     152        }
     153
     154        private void buttonDebug_Click(object sender, RoutedEventArgs e)
     155        {
     156            ICollectionView view = CollectionViewSource.GetDefaultView(listViewLogList.ItemsSource);
     157            if (listFilter.Contains(NotificationLevel.Debug)) listFilter.Remove(NotificationLevel.Debug);
     158            else listFilter.Add(NotificationLevel.Debug);
     159            view.Filter = new Predicate<object>(FilterCallback);
     160
     161            ToggleButton tb = sender as ToggleButton;
     162            if (tb != null)
     163            {
     164                if (tb.IsChecked == true) tb.ToolTip = "Hide Debugs";
     165                else tb.ToolTip = "Show Debugs";
     166            }
     167        }
     168
     169        private void buttonBalloon_Click(object sender, RoutedEventArgs e)
     170        {
     171            ICollectionView view = CollectionViewSource.GetDefaultView(listViewLogList.ItemsSource);
     172            if (listFilter.Contains(NotificationLevel.Balloon)) listFilter.Remove(NotificationLevel.Balloon);
     173            else listFilter.Add(NotificationLevel.Balloon);
     174            view.Filter = new Predicate<object>(FilterCallback);
     175
     176            ToggleButton tb = sender as ToggleButton;
     177            if (tb != null)
     178            {
     179                if (tb.IsChecked == true) tb.ToolTip = "Hide Balloons";
     180                else tb.ToolTip = "Show Balloons";
     181            }
     182        }
     183
     184        public class CollectionElement
     185        {
     186            private GuiLogEventArgs element;
     187
     188            public String Message { get; set; }
     189            public NotificationLevel Level { get; set; }
     190            public String Date { get; set; }
     191            public String ID { get; set; }
     192
     193            public CollectionElement(GuiLogEventArgs element)
     194            {
     195                Message = element.Message;
     196                Level = element.NotificationLevel;
     197                Date = element.DateTime.ToString("dd.MM.yyyy, H:mm:ss");
     198            }
     199        }
     200
     201        private void ButtonDeleteMessages_Click(object sender, RoutedEventArgs e)
     202        {
     203            valueCollection.Clear();
     204        }
    101205    }
    102206}
  • trunk/CrypPlugins/WorkspaceManager/WorkspaceManager.csproj

    r2067 r2118  
    118118    <Compile Include="View\Converter\BlurIconConverter.cs" />
    119119    <Compile Include="View\Converter\BlurViewStateConverter.cs" />
     120    <Compile Include="View\Converter\CaptionWidthConverter.cs" />
    120121    <Compile Include="View\Converter\ConnectorPanelHeightWidthConverter.cs" />
    121122    <Compile Include="View\Converter\ConnectorToColorConverter.cs" />
Note: See TracChangeset for help on using the changeset viewer.