Changeset 1831


Ignore:
Timestamp:
Aug 18, 2010, 7:53:37 AM (11 years ago)
Author:
matkovic
Message:

-LogInfo now pops up
-Added new icon for NotificationLevels
-Several style changes on LogPresentation

Location:
trunk/CrypPlugins/WorkspaceManager
Files:
2 added
9 edited

Legend:

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

    r1809 r1831  
    3333{
    3434    /// <summary>
     35    /// Log updated event
     36    /// </summary>
     37    public class LogUpdated : EventArgs
     38    {}
     39
     40    /// <summary>
    3541    /// Class to represent and wrap a IPlugin in our model graph
    3642    /// </summary>
     
    5359
    5460        #region public members
     61
     62        public event EventHandler<LogUpdated> LogUpdated;
    5563
    5664        /// <summary>
     
    363371        /// GuiLogNotificationOccured
    364372        /// saves the plugins log events and tells the gui that it needs
    365         /// an update
     373        /// an update. If the Workspace is not executing and eve
    366374        /// </summary>
    367375        /// <param name="sender"></param>
     
    373381                this.GuiLogEvents.Add(args);
    374382                this.GuiNeedsUpdate = true;
     383            }
     384
     385            if (this.LogUpdated != null)
     386            {
     387                if(!this.WorkspaceModel.WorkspaceManagerEditor.isExecuting())
     388                    this.LogUpdated.Invoke(this, new LogUpdated {});
    375389            }
    376390        }
  • trunk/CrypPlugins/WorkspaceManager/View/Container/ConnectorView.xaml.cs

    r1807 r1831  
    178178        {
    179179            Random random = new Random();
    180             BubblePopup.PlacementRectangle = new Rect(new Point(random.NextDouble() / 1000, 0), new Size(75, 25));
     180            BubblePopup.PlacementRectangle = new Rect(new Point(random.NextDouble() / 1000, 0), new Size(0, 0));
    181181        }
    182182
  • trunk/CrypPlugins/WorkspaceManager/View/Container/PluginContainerView.xaml

    r1814 r1831  
    6161    </UserControl.Resources>
    6262    <DockPanel Name="Root" LastChildFill="True">
     63       
    6364        <DockPanel x:Name="PluginBase" DockPanel.Dock="Left" VerticalAlignment="Top" MinHeight="105" MinWidth="90" Width="90" Height="105">
    6465            <DockPanel.Background>
    6566                <SolidColorBrush Opacity="0.01" Color="#444444"></SolidColorBrush>
    6667            </DockPanel.Background>
     68           
    6769            <StackPanel DockPanel.Dock="Top" Name="ControlPanel" Visibility="Visible" Opacity="0" Orientation="Horizontal" HorizontalAlignment="Right">
    6870                <Button x:Name="play" Height="20" Width="20" Style="{StaticResource ResourceKey=DeletePluginContainerButtonStyle}" Margin="0,0,0,5" Click="Button_Click">
     
    109111                </Grid>
    110112                <Grid Margin="3">
    111                    
    112                     <Canvas Width="auto" Height="auto">
    113                         <Popup PlacementTarget="{Binding ElementName=MainGrid}" Placement="Left" x:Name="ProgressPopup" Width="45" Height="45" StaysOpen="True" IsOpen="True" AllowsTransparency="True">
    114                            
    115                         </Popup>
    116                     </Canvas>
    117113                    <Border Name="Window" BorderThickness="0" BorderBrush="Transparent" Margin="8">
    118114                        <Grid>
     
    146142
    147143                                            </Border>
    148                                             <Grid Height="15" VerticalAlignment="Bottom">
    149                                                 <ProgressBar VerticalAlignment="Bottom" x:Name="ProgressBar" Height="6" Background="White" Margin="3,0,3,3" Opacity="0.7" Foreground="ForestGreen" Maximum="1"></ProgressBar>
    150                                                 <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    151                                                     <TextBlock x:Name="Percentage" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" Text="{Binding ElementName=ProgressBar, Path=Value, Converter={StaticResource ResourceKey=PercentageConverter}, FallbackValue=error}" />
    152                                                     <TextBlock FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" Text="%"/>
    153                                                 </StackPanel>
    154                                             </Grid>
    155144                                            <Grid x:Name="OptionPanel" Height="50" Visibility="Collapsed">
    156145                                                <Grid.Background>
     
    174163                                                    </StackPanel.LayoutTransform>
    175164                                                    <Button x:Name="Left" Click="OptionClickHandler" Width="20" Height="20" Margin="0,0,5,0" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
    176                                                         <Image Source="/WorkspaceManager;component/View/Image/left.png" HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
     165                                                        <Image Source="/WorkspaceManager;component/View/Image/left.png" Opacity="0.6"  HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
    177166                                                    </Button>
    178167                                                    <Border x:Name="Options" Visibility="{Binding ElementName=OptionPanel, Path=Visibility}">
     
    180169                                                    </Border>
    181170                                                    <Button x:Name="Right" Click="OptionClickHandler" Width="20" Height="20" Margin="5,0,0,0" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
    182                                                         <Image Source="/WorkspaceManager;component/View/Image/right.png" HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
     171                                                        <Image Source="/WorkspaceManager;component/View/Image/right.png" Opacity="0.6" HorizontalAlignment="Center" SnapsToDevicePixels="True"/>
    183172                                                    </Button>
    184173                                                </StackPanel>
     
    186175                                        </Grid>
    187176                                       
    188                                         <Grid Name="ViewPanel" Width="Auto" Height="Auto" Grid.Row="1" Visibility="Collapsed" Margin="5,0,5,5">
     177                                        <Grid Name="ViewPanel" Width="Auto" Height="Auto" Grid.Row="1" Visibility="Collapsed" Margin="5,5,5,5">
    189178                                            <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>
    190179                                            <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}"></Border>
     
    202191                        </Grid>
    203192                    </Border>
    204 
    205                     <Popup x:Name="BubblePopup" PopupAnimation="Fade" HorizontalOffset="-21" VerticalOffset="8" PlacementTarget="{Binding ElementName=ShowAllButton}" Placement="Top" StaysOpen="False" AllowsTransparency="True" Width="65" Height="65">
    206                         <Grid x:Name="BubbleGrid" Margin="2">
    207                             <Grid.Effect>
    208                                 <DropShadowEffect Opacity="0.8"></DropShadowEffect>
    209                             </Grid.Effect>
    210                             <Grid.LayoutTransform>
    211                                 <ScaleTransform ScaleX="0.6" ScaleY="0.6"></ScaleTransform>
    212                             </Grid.LayoutTransform>
    213                             <Grid.RowDefinitions>
    214                                 <RowDefinition Height="*"/>
    215                                 <RowDefinition Height="40"/>
    216                             </Grid.RowDefinitions>
    217                             <Border Background="{StaticResource ResourceKey=BubblePopupLinearBrush}" BorderBrush="#f8f692" CornerRadius="10" >
    218                                 <Grid Margin="6">
    219                                     <ScrollViewer>
    220                                         <TextBlock x:Name="Content" Foreground="#444444" FontSize="16"
    221                                            Text="When the Placement  property is set to Custom, the Popup  calls a defined instance of the CustomPopupPlacementCallback  delegate. This delegate returns a set of possible points that are relative to the top left corner of the target area and the top left corner of the Popup. The Popup  placement occurs at the point that provides the best visibility." TextWrapping="Wrap"></TextBlock>
    222                                     </ScrollViewer>
    223                                 </Grid>
    224                             </Border>
    225                             <Path Fill="#ffffec" Stretch="Fill" Stroke="#f8f692" HorizontalAlignment="Left" Margin="30,-1.35,0,0" Width="25" Grid.Row="1" Data="M18,154.45381 L29.999666,187.66699 40.791059,154.54395">
    226                                 <Path.RenderTransform>
    227                                     <ScaleTransform ScaleY="0.5"></ScaleTransform>
    228                                 </Path.RenderTransform>
    229                             </Path>
    230                         </Grid>
    231                     </Popup>
    232193                </Grid>
    233194            </Grid>
    234195        </DockPanel>
     196        <Popup x:Name="BubblePopup" PopupAnimation="Fade" HorizontalOffset="70" VerticalOffset="25" PlacementTarget="{Binding ElementName=ControlPanel}" Placement="Top" StaysOpen="False" AllowsTransparency="True" Width="130" Height="70">
     197            <Grid x:Name="BubbleGrid" Margin="2">
     198                <Grid.Effect>
     199                    <DropShadowEffect Opacity="0.8"></DropShadowEffect>
     200                </Grid.Effect>
     201                <Grid.LayoutTransform>
     202                    <ScaleTransform ScaleX="0.6" ScaleY="0.6"></ScaleTransform>
     203                </Grid.LayoutTransform>
     204                <Grid.RowDefinitions>
     205                    <RowDefinition Height="30*"/>
     206                    <RowDefinition Height="40"/>
     207                </Grid.RowDefinitions>
     208                <Border Grid.Row="0" Background="{StaticResource ResourceKey=BubblePopupLinearBrush}" BorderBrush="#f8f692" HorizontalAlignment="Center" CornerRadius="10" >
     209                    <StackPanel Orientation="Horizontal" Margin="6">
     210                        <StackPanel.LayoutTransform>
     211                            <ScaleTransform ScaleX="1.6" ScaleY="1.6"></ScaleTransform>
     212                        </StackPanel.LayoutTransform>
     213                        <Button Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
     214                            <StackPanel Orientation="Horizontal">
     215                                <Image Source="/WorkspaceManager;component/View/Image/error2.png" SnapsToDevicePixels="True" Height="20" Width="20">
     216                                    <Image.Effect>
     217                                        <DropShadowEffect Color="Black" ShadowDepth="0"></DropShadowEffect>
     218                                    </Image.Effect>
     219                                </Image>
     220                                <TextBlock x:Name="ErrorCount" VerticalAlignment="Center" FontWeight="Bold"></TextBlock>
     221                            </StackPanel>
     222                        </Button>
     223
     224                        <Button Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
     225                            <StackPanel Orientation="Horizontal">
     226                                <Image Source="/WorkspaceManager;component/View/Image/warn.png" SnapsToDevicePixels="True" Height="15" Width="15">
     227                                    <Image.Effect>
     228                                        <DropShadowEffect Color="Black" ShadowDepth="0"></DropShadowEffect>
     229                                    </Image.Effect>
     230                                </Image>
     231                                <TextBlock x:Name="WarningCount" VerticalAlignment="Center" FontWeight="Bold"></TextBlock>
     232                            </StackPanel>
     233                        </Button>
     234
     235                        <Button Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
     236                            <StackPanel Orientation="Horizontal">
     237                                <Image Source="/WorkspaceManager;component/View/Image/debug.png" SnapsToDevicePixels="True" Height="15" Width="15">
     238                                    <Image.Effect>
     239                                        <DropShadowEffect Color="Black" ShadowDepth="0"></DropShadowEffect>
     240                                    </Image.Effect>
     241                                </Image>
     242                                <TextBlock x:Name="DebugCount" VerticalAlignment="Center" FontWeight="Bold"></TextBlock>
     243                            </StackPanel>
     244                        </Button>
     245
     246                        <Button Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}">
     247                            <StackPanel Orientation="Horizontal">
     248                                <Image Source="/WorkspaceManager;component/View/Image/info.png" SnapsToDevicePixels="True" Height="15" Width="15">
     249                                    <Image.Effect>
     250                                        <DropShadowEffect Color="Black" ShadowDepth="0"></DropShadowEffect>
     251                                    </Image.Effect>
     252                                </Image>
     253                                <TextBlock x:Name="InfoCount" VerticalAlignment="Center" FontWeight="Bold"></TextBlock>
     254                            </StackPanel>
     255                        </Button>
     256
     257                    </StackPanel>
     258                </Border>
     259                <Path Fill="#ffffec" Stretch="Fill" Stroke="#f8f692" HorizontalAlignment="Left" Margin="30,-1.35,0,0" Width="25" Grid.Row="1" Data="M18,154.45381 L29.999666,187.66699 40.791059,154.54395">
     260                    <Path.RenderTransform>
     261                        <ScaleTransform ScaleY="0.5"></ScaleTransform>
     262                    </Path.RenderTransform>
     263                </Path>
     264            </Grid>
     265        </Popup>
     266
     267        <!--<Popup x:Name="ProgressPopup" PopupAnimation="Fade" HorizontalOffset="20" VerticalOffset="25" PlacementTarget="{Binding ElementName=ControlPanel}" Placement="Top" StaysOpen="True" AllowsTransparency="True" Width="70" Height="55">
     268            <Grid Margin="2">
     269                <Grid.Effect>
     270                    <DropShadowEffect Opacity="0.8"></DropShadowEffect>
     271                </Grid.Effect>
     272                <Grid.LayoutTransform>
     273                    <ScaleTransform ScaleX="0.6" ScaleY="0.6"></ScaleTransform>
     274                </Grid.LayoutTransform>
     275                <Grid.RowDefinitions>
     276                    <RowDefinition Height="15*"/>
     277                    <RowDefinition Height="40"/>
     278                </Grid.RowDefinitions>
     279                <Border Grid.Row="0" Background="{StaticResource ResourceKey=BubblePopupLinearBrush}" BorderBrush="#f8f692" CornerRadius="10">
     280                    <Grid Height="15" VerticalAlignment="Center">
     281                        <Grid.LayoutTransform>
     282                            <ScaleTransform ScaleX="1.3" ScaleY="1.3"></ScaleTransform>
     283                        </Grid.LayoutTransform>
     284                        <ProgressBar VerticalAlignment="Bottom" x:Name="ProgressBar" Height="15" Width="45" Background="White" Opacity="1" Foreground="ForestGreen" Maximum="1"></ProgressBar>
     285                        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
     286                            <TextBlock x:Name="Percentage" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" Text="{Binding ElementName=ProgressBar, Path=Value, Converter={StaticResource ResourceKey=PercentageConverter}, FallbackValue=error}" />
     287                            <TextBlock FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" Text="%"/>
     288                        </StackPanel>
     289                    </Grid>
     290                </Border>
     291                <Path Fill="#ffffec" Stretch="Fill" Stroke="#f8f692" HorizontalAlignment="Left" Margin="100,-1.35,0,0" Width="25" Grid.Row="1" Data="M18,154.45381 L29.999666,187.66699 40.791059,154.54395">
     292                    <Path.RenderTransform>
     293                        <ScaleTransform ScaleY="0.5"></ScaleTransform>
     294                    </Path.RenderTransform>
     295                </Path>
     296            </Grid>
     297        </Popup>-->
    235298    </DockPanel>
    236299</UserControl>
  • trunk/CrypPlugins/WorkspaceManager/View/Container/PluginContainerView.xaml.cs

    r1814 r1831  
    1818using System.Windows.Media.Animation;
    1919using WorkspaceManager;
     20using System.Windows.Threading;
     21using System.Threading;
    2022
    2123namespace WorkspaceManager.View.Container
     
    245247        }
    246248
     249
     250
     251        public void ResetPopUp()
     252        {
     253            Random random = new Random();
     254            BubblePopup.PlacementRectangle = new Rect(new Point(random.NextDouble() / 1000, 0), new Size(0, 0));
     255            //ProgressPopup.PlacementRectangle = new Rect(new Point(random.NextDouble() / 1000, 0), new Size(0, 0));
     256        }
     257
    247258        public void SetPosition(Point value)
    248259        {
     
    250261            pos.X = value.X;
    251262            pos.Y = value.Y;
    252             this.Model.Position = new Point(pos.X, pos.Y);
    253             this.SetAllConnectorPositionX();
     263            ResetPopUp();
     264            Model.Position = new Point(pos.X, pos.Y);
     265            SetAllConnectorPositionX();
    254266        }
    255267
     
    270282            this.Model = model;
    271283            this.Model.UpdateableView = this;
     284            this.Model.LogUpdated += new EventHandler<LogUpdated>(Model_LogUpdated);
    272285            this.DataContext = Model;
    273286            this.ConnectorViewList = new List<ConnectorView>();
     
    276289        }
    277290
     291        void Model_LogUpdated(object sender, LogUpdated e)
     292        {
     293            LogPresentation log = LogPanel.Child as LogPresentation;
     294            log.AddLogList(Model.GuiLogEvents);
     295        }
     296
    278297        private void SetAllConnectorPositionX()
    279298        {
     
    356375        {
    357376           
    358             this.BorderGradientStop.Color = ColorHelper.GetColor(this.Model.PluginType);
    359             this.BorderGradientStopSecond.Color = Color.FromArgb(100, this.BorderGradientStop.Color.R, this.BorderGradientStop.Color.G, this.BorderGradientStop.Color.B);
     377            BorderGradientStop.Color = ColorHelper.GetColor(this.Model.PluginType);
     378            BorderGradientStopSecond.Color = Color.FromArgb(100, this.BorderGradientStop.Color.R, this.BorderGradientStop.Color.G, this.BorderGradientStop.Color.B);
    360379
    361380            optionList.Add(Resources["PresentationButton"] as UIElement);
     
    367386            OptionCaption.Text = (optionList.ElementAt(optionPointer) as Button).ToolTip as String;
    368387
     388            LogPresentation LogView = LogPanel.Child as LogPresentation;
     389            LogView.LogUpdated += new EventHandler<LogUpdated>(LogView_LogUpdated);
     390
    369391            SetAllConnectorPositionX();
    370392           
     393        }
     394
     395        void LogView_LogUpdated(object sender, LogUpdated e)
     396        {
     397            LogPresentation logView = sender as LogPresentation;
     398            ErrorCount.Text = logView.ErrorCount.ToString();
     399            WarningCount.Text = logView.WarningCount.ToString();
     400            DebugCount.Text = logView.DebugCount.ToString();
     401            InfoCount.Text = logView.InfoCount.ToString();
     402            BubblePopup.IsOpen = true;
    371403        }
    372404
     
    462494        }
    463495
    464         private void ShowAllButton_Click(object sender, RoutedEventArgs e)
    465         {
    466 
    467         }
    468496        #endregion
    469497
     
    472500        public void update()
    473501        {
    474             ProgressBar.Value = Model.PercentageFinished;
     502
     503                //ProgressPopup.IsOpen = true;
     504            //ProgressBar.Value = Model.PercentageFinished;
    475505
    476506            if (ViewState == PluginViewState.Data)
     
    483513            }
    484514
    485             if (ViewState == PluginViewState.Log)
     515            if (Model.GuiLogEvents.Count != 0)
    486516            {
    487517                LogPresentation log = LogPanel.Child as LogPresentation;
  • trunk/CrypPlugins/WorkspaceManager/View/Converter/NotificationLevelConverter.cs

    r1807 r1831  
    2525                    break;
    2626                case NotificationLevel.Info:
    27                     image = new BitmapImage(new Uri("../Image/warn.png", UriKind.RelativeOrAbsolute));
     27                    image = new BitmapImage(new Uri("../Image/info.png", UriKind.RelativeOrAbsolute));
     28                    break;
     29                case NotificationLevel.Debug:
     30                    image = new BitmapImage(new Uri("../Image/debug.png", UriKind.RelativeOrAbsolute));
    2831                    break;
    2932            }
  • trunk/CrypPlugins/WorkspaceManager/View/Resource/Styles.xaml

    r1807 r1831  
    262262        <Setter Property="BorderBrush">
    263263            <Setter.Value>
    264                 <SolidColorBrush Color="Transparent"></SolidColorBrush>
     264                <SolidColorBrush Color="#555555"></SolidColorBrush>
    265265            </Setter.Value>
    266266        </Setter>
     
    270270        <Setter Property="Background">
    271271            <Setter.Value>
    272                 <SolidColorBrush Color="Transparent"></SolidColorBrush>
     272                <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
     273                    <GradientBrush.GradientStops>
     274                        <GradientStopCollection>
     275                            <GradientStop Color="#88222222" Offset="1.0"/>
     276                            <GradientStop Color="#88444444" Offset="0.5"/>
     277                        </GradientStopCollection>
     278                    </GradientBrush.GradientStops>
     279                </LinearGradientBrush>
    273280            </Setter.Value>
    274281        </Setter>
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/LogPresentation.xaml

    r1807 r1831  
    1717        </ResourceDictionary>
    1818    </UserControl.Resources>
    19     <Grid>
     19    <DockPanel LastChildFill="True">
     20        <DockPanel.RenderTransform>
     21            <TranslateTransform Y="-15"></TranslateTransform>
     22        </DockPanel.RenderTransform>
     23        <TextBlock DockPanel.Dock="Top" Text="Messages" FontSize="16" Foreground="WhiteSmoke" Padding="5" Panel.ZIndex="10000">
     24            <TextBlock.RenderTransform>
     25                <TranslateTransform Y="15"></TranslateTransform>
     26            </TextBlock.RenderTransform>
     27            <TextBlock.Effect>
     28                <DropShadowEffect BlurRadius="3" ShadowDepth="0"></DropShadowEffect>
     29            </TextBlock.Effect>
     30        </TextBlock>
    2031        <ListBox ItemsSource="{Binding}" Style="{StaticResource ListBoxStyle}">
    2132            <ListBox.ItemTemplate>
     
    3344                        <SolidColorBrush x:Key="Transparent" Color="Transparent"></SolidColorBrush>
    3445                    </DataTemplate.Resources>
    35                     <StackPanel Orientation="Vertical" Margin="5,5,5,5">
    36                         <Grid Height="1" Background="#444444" Opacity="0.5"></Grid>
    37                         <DockPanel Name="ItemEntry" HorizontalAlignment="Stretch" LastChildFill="True">
    38                             <Grid DockPanel.Dock="Left" VerticalAlignment="Center">
    39                                 <Image Source="{Binding Path=Level, Converter={StaticResource ResourceKey=LevelConverter}, FallbackValue=!}" Width="35" Height="35"></Image>
    40                             </Grid>
    41                             <Grid>
    42                                 <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" VerticalAlignment="Center">
    43                                     <TextBlock LineStackingStrategy="BlockLineHeight"  LineHeight="11.5" FontSize="10" FontFamily="Lucida Sans Unicode" Foreground="WhiteSmoke" Text="{Binding Path=Message}" Width="300" TextWrapping="Wrap"></TextBlock>
    44                                 </ScrollViewer>
    45                             </Grid>
    46                         </DockPanel>
    47                     </StackPanel>
     46                    <Border BorderThickness="2">
     47                        <Border.Background>
     48                            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
     49                                <GradientBrush.GradientStops>
     50                                    <GradientStopCollection>
     51                                        <GradientStop Color="#88444444" Offset="1.0"/>
     52                                        <GradientStop Color="#88222222" Offset="0.5"/>
     53                                    </GradientStopCollection>
     54                                </GradientBrush.GradientStops>
     55                            </LinearGradientBrush>
     56                        </Border.Background>
     57                        <StackPanel Orientation="Vertical" Margin="5,5,5,5">
     58                            <StackPanel.Background>
     59                                <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
     60                                    <GradientBrush.GradientStops>
     61                                        <GradientStopCollection>
     62                                            <GradientStop Color="#88222222" Offset="1.0"/>
     63                                            <GradientStop Color="#88444444" Offset="0.5"/>
     64                                        </GradientStopCollection>
     65                                    </GradientBrush.GradientStops>
     66                                </LinearGradientBrush>
     67                            </StackPanel.Background>
     68                            <Grid Height="1" Background="#444444" Opacity="0.5"></Grid>
     69                            <DockPanel Name="ItemEntry" HorizontalAlignment="Stretch" LastChildFill="True">
     70                                <Grid DockPanel.Dock="Left" VerticalAlignment="Center" Margin="3">
     71                                    <Image Source="{Binding Path=Level, Converter={StaticResource ResourceKey=LevelConverter}, FallbackValue=!}" Width="35" Height="35"></Image>
     72                                </Grid>
     73                                <Grid DockPanel.Dock="Bottom" HorizontalAlignment="Left">
     74                                    <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" VerticalAlignment="Center" HorizontalAlignment="Right">
     75                                        <TextBlock LineStackingStrategy="BlockLineHeight"  LineHeight="11.5" FontSize="9" FontFamily="Lucida Sans Unicode" Foreground="#999999" Text="{Binding Path=Date}" TextWrapping="Wrap"></TextBlock>
     76                                    </ScrollViewer>
     77                                </Grid>
     78                                <Grid>
     79                                    <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" HorizontalAlignment="Left">
     80                                        <TextBlock LineStackingStrategy="BlockLineHeight"  LineHeight="11.5" FontSize="11" FontFamily="Lucida Sans Unicode" Foreground="WhiteSmoke" Text="{Binding Path=Message}" TextWrapping="Wrap"></TextBlock>
     81                                    </ScrollViewer>
     82                                </Grid>
     83                            </DockPanel>
     84                        </StackPanel>
     85                    </Border>
    4886
    4987                    <DataTemplate.Triggers>
     
    5896            </ListBox.ItemTemplate>
    5997        </ListBox>
    60     </Grid>
     98    </DockPanel>
    6199</UserControl>
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/LogPresentation.xaml.cs

    r1807 r1831  
    1414using System.Collections.ObjectModel;
    1515using Cryptool.PluginBase;
     16using WorkspaceManager.Model;
    1617
    1718namespace WorkspaceManager.View.VisualComponents
     
    2324        public String Message { get; set; }
    2425        public NotificationLevel Level { get; set; }
    25         public DateTime Date { get; set; }
     26        public String Date { get; set; }
     27        public String ID { get; set; }
    2628
    2729        public CollectionElement(GuiLogEventArgs element)
     
    2931            Message = element.Message;
    3032            Level = element.NotificationLevel;
    31             Date = element.DateTime;
     33            Date = element.DateTime.ToString("dd.MM.yyyy, H:mm:ss");
    3234        }
    3335    }
     
    4547        }
    4648
     49        public int ErrorCount { get; set; }
     50
     51        public int WarningCount { get; set; }
     52
     53        public int DebugCount { get; set; }
     54
     55        public int InfoCount { get; set; }
     56
     57        public event EventHandler<LogUpdated> LogUpdated;
     58
    4759        public LogPresentation()
    4860        {
     61            ErrorCount = 0;
     62            WarningCount = 0;
     63            DebugCount = 0;
     64            InfoCount = 0;
    4965            valueCollection = new ObservableCollection<CollectionElement>();
    5066            DataContext = ValueCollection;
    5167            InitializeComponent();
    52 
    53             ValueCollection.Add(new CollectionElement(new GuiLogEventArgs("Unterstützen Sie Ihr Team im Firefox Cup . Nutzen Sie das Persona Ihrer Mannschaft, verfolgen Sie die Ergebnisse, bleiben Sie am Ball!", null, NotificationLevel.Error)));
    54             ValueCollection.Add(new CollectionElement(new GuiLogEventArgs("By matching you with Diggers like you, the Recommendation Engine helps you Digg up the next big thing!", null, NotificationLevel.Error)));
    55             ValueCollection.Add(new CollectionElement(new GuiLogEventArgs("Zeit, persönlich zu werden. Es gibt tausende völlig freie Möglichkeiten, Ihren Firefox anzupassen, so dass er genau zu dem passt, was Sie im Internet tun möchten.", null, NotificationLevel.Warning)));
    5668        }
    5769
    5870        public void AddLogList(List<GuiLogEventArgs> list)
    5971        {
    60             foreach (GuiLogEventArgs element in list)
     72            try
    6173            {
    62                 ValueCollection.Add(new CollectionElement(element));
     74                foreach (GuiLogEventArgs element in list)
     75                {
     76                    if (element.NotificationLevel == NotificationLevel.Error)
     77                        ErrorCount++;
     78
     79                    if (element.NotificationLevel == NotificationLevel.Warning)
     80                        WarningCount++;
     81
     82                    if (element.NotificationLevel == NotificationLevel.Info)
     83                        InfoCount++;
     84
     85                    if (element.NotificationLevel == NotificationLevel.Debug)
     86                        DebugCount++;
     87
     88                    ValueCollection.Add(new CollectionElement(element));
     89
     90                    if (this.LogUpdated != null)
     91                        this.LogUpdated.Invoke(this, new LogUpdated { });
     92                }
     93                list.Clear();
    6394            }
    64 
    65             list.Clear();
     95            catch (Exception e)
     96            {
     97                Console.Out.WriteLine(e.ToString());
     98            }
    6699        }
    67100    }
  • trunk/CrypPlugins/WorkspaceManager/WorkspaceManager.csproj

    r1814 r1831  
    264264    <Resource Include="View\Image\play.png" />
    265265  </ItemGroup>
     266  <ItemGroup>
     267    <Resource Include="View\Image\debug.png" />
     268    <Resource Include="View\Image\info.png" />
     269  </ItemGroup>
    266270  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    267271  <!--<PropertyGroup>
Note: See TracChangeset for help on using the changeset viewer.