Changeset 1991


Ignore:
Timestamp:
Oct 19, 2010, 11:07:42 AM (11 years ago)
Author:
matkovic
Message:

-fixed pathfinding
-fixed line drawing
-added Colorpicker
-fixed lock/unlock at TextInputWrapper
-feature: Background and TextForeground in TextInputWrapper added
-fixed a issue With loading and such
-WorkspaceModel doesn't throw exception anymore (Samples functional again)
-fixed some Styles
-Startable implemented and loaded right
-Startable Logo moved

Location:
trunk/CrypPlugins/WorkspaceManager
Files:
6 added
15 edited

Legend:

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

    r1895 r1991  
    5757        /// Minimum Width of this VisualElementModel
    5858        /// </summary>
    59         public double MinWidth = 150;
     59        public double MinWidth = 250;
    6060       
    6161        /// <summary>
    6262        /// Minimum Height of this VisualElementModel
    6363        /// </summary>     
    64         public double MinHeight = 150;
     64        public double MinHeight = 200;
    6565
    6666        /// <summary>
  • trunk/CrypPlugins/WorkspaceManager/Model/WorkspaceModel.cs

    r1895 r1991  
    9898            pluginModel.Startable = pluginType.GetPluginInfoAttribute().Startable;
    9999            pluginModel.Position = position;
    100             pluginModel.Width = width;
    101             pluginModel.Height = height;
     100            //pluginModel.Width = width;
     101            //pluginModel.Height = height;
    102102            pluginModel.PluginType = pluginType;           
    103103            pluginModel.Name = pluginType.Name;
  • trunk/CrypPlugins/WorkspaceManager/View/Container/PluginContainerView.xaml

    r1970 r1991  
    2020            <z:BlurViewStateConverter x:Key="BlurViewStateConverter"></z:BlurViewStateConverter>
    2121            <z:ViewStateIconConverter x:Key="ViewStateIconConverter"></z:ViewStateIconConverter>
    22 
    23             <Button x:Key="SettingButton" Name="SettingButton" ToolTip="Settings" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
     22            <z:DragDeltaViewStateConverter x:Key="DragDeltaViewStateConverter"></z:DragDeltaViewStateConverter>
     23
     24            <Button x:Key="SettingButton" Name="SettingButton" ToolTip="Settings" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
    2425                <Image Source="/WorkspaceManager;component/View/Image/setting.png" HorizontalAlignment="Center" SnapsToDevicePixels="True">
    2526                    <Image.Effect>
     
    2930            </Button>
    3031
    31             <Button x:Key="LogButton" Name="LogButton" ToolTip="Notification" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
     32            <Button x:Key="LogButton" Name="LogButton" ToolTip="Notification" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
    3233                <Image Source="/WorkspaceManager;component/View/Image/log.png" HorizontalAlignment="Center" SnapsToDevicePixels="True">
    3334                    <Image.Effect>
     
    3738            </Button>
    3839
    39             <Button x:Key="MaxButton" Name="MaxButton" ToolTip="Full View" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=Fullscreen}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
     40            <Button x:Key="MaxButton" Name="MaxButton" ToolTip="Full View" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=ViewStateConverter}, ConverterParameter=Fullscreen}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
    4041                <Image Source="/WorkspaceManager;component/View/Image/max.png" HorizontalAlignment="Center" SnapsToDevicePixels="True">
    4142                    <Image.Effect>
     
    4546            </Button>
    4647
    47             <Button x:Key="DataButton" Name="DataButton" ToolTip="Data" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
     48            <Button x:Key="DataButton" Name="DataButton" ToolTip="Data" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
    4849                <Image Source="/WorkspaceManager;component/View/Image/data.png" HorizontalAlignment="Center" SnapsToDevicePixels="True">
    4950                    <Image.Effect>
     
    5354            </Button>
    5455
    55             <Button x:Key="PresentationButton" Name="PresentationButton" ToolTip="Presentation" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
     56            <Button x:Key="PresentationButton" Name="PresentationButton" ToolTip="Presentation" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
    5657                <Image Source="/WorkspaceManager;component/View/Image/presentation.png" HorizontalAlignment="Center" SnapsToDevicePixels="True">
    5758                    <Image.Effect>
     
    6162            </Button>
    6263
    63             <Button x:Key="MinimizeButton" ToolTip="Minimize" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
     64            <Button x:Key="MinimizeButton" ToolTip="Minimize" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" MouseEnter="SettingButton_MouseEnter" Height="30" Width="30" Click="OptionChooseHandler">
    6465                <Image Source="/WorkspaceManager;component/View/Image/minimize.png" HorizontalAlignment="Center" SnapsToDevicePixels="True">
    6566                    <Image.Effect>
     
    7273    <DockPanel Name="Root" LastChildFill="True">
    7374       
    74         <DockPanel x:Name="PluginBase" DockPanel.Dock="Left" VerticalAlignment="Top" MinHeight="115" MinWidth="100" Width="100" Height="115">
     75        <DockPanel x:Name="PluginBase" DockPanel.Dock="Left" VerticalAlignment="Top" MinHeight="125" MinWidth="110" Width="100" Height="115">
    7576            <DockPanel.Background>
    7677                <SolidColorBrush Opacity="0.01" Color="#444444"></SolidColorBrush>
     
    7980            <Grid DockPanel.Dock="Top">
    8081                <StackPanel Name="ControlPanel" Visibility="Visible" Opacity="0" Orientation="Horizontal" HorizontalAlignment="Right">
     82
     83                    <Button x:Name="play" Height="20" Width="20" Margin="3" VerticalAlignment="Bottom" HorizontalAlignment="Left" Style="{StaticResource ResourceKey=DeletePluginContainerButtonStyle}" Click="Button_Click">
     84                        <Button.LayoutTransform>
     85                            <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
     86                        </Button.LayoutTransform>
     87                        <Image x:Name="playimg" Source="/WorkspaceManager;component/View/Image/play.png" RenderOptions.ClearTypeHint="Enabled" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
     88                    </Button>
    8189
    8290                    <Button Name="MinimizeButton" Height="20" Width="20" ToolTip="Minimize" Style="{StaticResource ResourceKey=OptionPluginContainerButtonStyle}" Click="OptionChooseHandler">
     
    107115            </Border>-->
    108116
    109             <Grid Name="MainGrid">
     117            <Grid Name="MainGrid" Margin="5.5">
    110118                <Grid Name="ConnectorPanel" Panel.ZIndex="11111111">
    111119                    <StackPanel x:Name="West" Panel.ZIndex="1111" Background="{StaticResource ResourceKey=CheatBrush}" Orientation="Vertical" HorizontalAlignment="Left" Width="20" Height="{Binding ElementName=Window, Path=ActualHeight}" Margin="5,0,0,0"></StackPanel>
     
    123131                    </StackPanel>
    124132
    125                     <Thumb Panel.ZIndex="2000" Name="BottomRightDelta" Style="{StaticResource ResourceKey=ImageWrapperThumbStyle}" IsEnabled="False" Background="Transparent" Opacity="0.6" HorizontalAlignment="Right" VerticalAlignment="Bottom" Cursor="SizeNWSE" Height="15" Width="15" DragDelta="Thumb_DragDelta" Margin="0,0,17,17"></Thumb>
     133                    <Thumb Panel.ZIndex="2000" Name="BottomRightDelta" Visibility="{Binding Path=ViewState, Converter={StaticResource ResourceKey=DragDeltaViewStateConverter}, ConverterParameter=Visibility}" Style="{StaticResource ResourceKey=ImageWrapperThumbStyle}" IsEnabled="{Binding Path=ViewState, Converter={StaticResource ResourceKey=DragDeltaViewStateConverter}, ConverterParameter=IsEnabled}" Background="Transparent" Opacity="0.6" HorizontalAlignment="Right" VerticalAlignment="Bottom" Cursor="SizeNWSE" Height="15" Width="15" DragDelta="Thumb_DragDelta" Margin="0,0,19,19"></Thumb>
    126134                </Grid>
    127135                <Grid Margin="3">
     
    250258                                            </Grid>
    251259                                        </Grid>
    252                                         <Button x:Name="play" Height="25" Width="25" Margin="5" VerticalAlignment="Top" HorizontalAlignment="Right" Style="{StaticResource ResourceKey=DeletePluginContainerButtonStyle}" Click="Button_Click">
    253                                             <Button.LayoutTransform>
    254                                                 <ScaleTransform ScaleX="0.8" ScaleY="0.8"></ScaleTransform>
    255                                             </Button.LayoutTransform>
    256                                             <Image x:Name="playimg" Source="/WorkspaceManager;component/View/Image/play.png" RenderOptions.ClearTypeHint="Enabled" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="1,1,1,1"/>
    257                                         </Button>
    258260                                    </Grid>
    259261                                   
  • trunk/CrypPlugins/WorkspaceManager/View/Container/PluginContainerView.xaml.cs

    r1970 r1991  
    141141
    142142                    case PluginViewState.Setting:
    143 
     143                        PluginBase.Width = Model.Width;
     144                        PluginBase.Height = Model.Height;
     145                        ViewPanel.Visibility = Visibility.Visible;
     146                        break;
     147
     148                    case PluginViewState.Description:
     149                        PluginBase.Width = Model.Width;
     150                        PluginBase.Height = Model.Height;
     151                        ViewPanel.Visibility = Visibility.Visible;
    144152                        break;
    145153                }
    146154
    147                 if((PluginViewState)value != PluginViewState.Min)
    148                 {
    149                     //BottomDelta.IsEnabled = true;
    150                     //RightDelta.IsEnabled = true;
    151                     BottomRightDelta.IsEnabled = true;
    152                     BottomRightDelta.Visibility = Visibility.Visible;
    153                 }
    154                 else
    155                 {
    156                     //BottomDelta.IsEnabled = false;
    157                     //RightDelta.IsEnabled = false;
    158                     BottomRightDelta.IsEnabled = false;
    159                     BottomRightDelta.Visibility = Visibility.Collapsed;
    160                 }
    161155                base.SetValue(ViewStateProperty, value);
    162156                this.Model.ViewState = value;
     
    211205            DataContext = this;
    212206
    213             this.ViewState = Model.ViewState;
    214 
    215207            West.PreviewDrop += new DragEventHandler(Connector_Drop);
    216208            East.PreviewDrop += new DragEventHandler(Connector_Drop);
     
    218210            South.PreviewDrop += new DragEventHandler(Connector_Drop);
    219211
     212            handleStartable();
     213
    220214            LogPanel.Child = new LogPresentation();
    221215            PresentationPanel.Child = Model.PluginPresentation;
    222             SettingsPanel.Child = null;
     216            TaskPaneCtrl Settings = new TaskPaneCtrl();
     217            SettingsPanel.Child = Settings;
     218            Settings.DisplayPluginSettings(Model.Plugin, Model.Plugin.GetPluginInfoAttribute().Caption, Cryptool.PluginBase.DisplayPluginMode.Normal);
    223219
    224220            foreach (ConnectorModel ConnectorModel in model.InputConnectors)
     
    234230                AddConnectorView(connector);
    235231                DataPanel.Children.Add(new DataPresentation(connector));
     232            }
     233            this.ViewState = Model.ViewState;
     234        }
     235
     236        private void handleStartable()
     237        {
     238            if (Model.Startable)
     239                play.Visibility = Visibility.Visible;
     240            else
     241                play.Visibility = Visibility.Collapsed;
     242
     243            if (model.RepeatStart)
     244            {
     245                model.RepeatStart = false;
     246                playimg.Source = new BitmapImage(new Uri("../Image/play.png", UriKind.RelativeOrAbsolute));
     247            }
     248            else
     249            {
     250                model.RepeatStart = true;
     251                playimg.Source = new BitmapImage(new Uri("../Image/pause.png", UriKind.RelativeOrAbsolute));
    236252            }
    237253        }
     
    461477        void PluginContainerView_Loaded(object sender, RoutedEventArgs e)
    462478        {
    463             TaskPaneCtrl Settings = new TaskPaneCtrl();
    464             SettingsPanel.Child = Settings;
    465             Settings.DisplayPluginSettings(Model.Plugin, Model.Plugin.GetPluginInfoAttribute().Caption, Cryptool.PluginBase.DisplayPluginMode.Normal);
    466479
    467480
     
    598611        {
    599612            this.ViewPanelParent.Children.Clear();
    600             this.OptPanelParent.Children.Clear();
     613            this.OptPanelParent.Children.Remove(OptionPanel);
    601614            this.ProgressbarRoot.Children.Clear();
    602615            this.ProgressPercentageRoot.Children.Clear();
     
    661674            if (t.Cursor == Cursors.SizeWE)
    662675            {
    663                 if ((PluginBase.ActualWidth + e.HorizontalChange) > 0)
     676                if ((PluginBase.ActualWidth + e.HorizontalChange) > Model.MinWidth)
    664677                    PluginBase.Width = PluginBase.ActualWidth + e.HorizontalChange;
    665678            }
     
    667680            if (t.Cursor == Cursors.SizeNS)
    668681            {
    669                 if ((PluginBase.ActualHeight + e.VerticalChange) > 0)
     682                if ((PluginBase.ActualHeight + e.VerticalChange) > Model.MinHeight)
    670683                    PluginBase.Height = PluginBase.ActualHeight + e.VerticalChange;
    671684            }
     
    673686            if (t.Cursor == Cursors.SizeNWSE)
    674687            {
    675                 if ((PluginBase.ActualHeight + e.VerticalChange) > 0)
     688                if ((PluginBase.ActualHeight + e.VerticalChange) > Model.MinHeight)
    676689                    PluginBase.Height = PluginBase.ActualHeight + e.VerticalChange;
    677690
    678                 if ((PluginBase.ActualWidth + e.HorizontalChange) > 0)
     691                if ((PluginBase.ActualWidth + e.HorizontalChange) > Model.MinWidth)
    679692                    PluginBase.Width = PluginBase.ActualWidth + e.HorizontalChange;
    680693            }
     
    759772                    if (PresentationPanel.Child == null)
    760773                    {
    761                         ViewPanel.Visibility = Visibility.Collapsed;
    762774                        ViewState = PluginViewState.Min;
    763775                        break;
    764776                    }
    765                     ViewPanel.Visibility = Visibility.Visible;
    766777                    ViewState = PluginViewState.Presentation;
    767778                    break;
     
    770781                    ViewState = PluginViewState.Data;
    771782                    break;
     783
    772784                case "LogButton":
    773785                    ViewState = PluginViewState.Log;
    774 
    775                     break;
     786                    break;
     787
    776788                case "MinimizeButton":
    777789                    if(ViewState == PluginViewState.Min)
     
    784796                    ViewState = PluginViewState.Setting;
    785797                    break;
     798
    786799                case "MaxButton":
    787800                    showFullScreen();
  • trunk/CrypPlugins/WorkspaceManager/View/Container/WorkSpaceEditorView.xaml.cs

    r1970 r1991  
    130130                ConnectionModel connectionModel = this.Model.newConnectionModel(((ConnectorView)source).Model, ((ConnectorView)target).Model, ((ConnectorView)source).Model.ConnectorType);
    131131                CryptoLineView conn = new CryptoLineView(connectionModel);
     132                conn.StartPointSource = source;
     133                conn.EndPointSource = target;
    132134                connectionModel.UpdateableView = conn;
    133135                connectionModel.OnDelete += DeleteConnection;
     
    370372                        {
    371373                            if (connModel.From == connector.Model)
     374                            {
     375                                conn.StartPointSource = connector;
    372376                                conn.SetBinding(CryptoLineView.StartPointProperty, CreateConnectorBinding(connector));
     377                            }
    373378                            else if (connModel.To == connector.Model)
     379                            {
     380                                conn.EndPointSource = connector;
    374381                                conn.SetBinding(CryptoLineView.EndPointProperty, CreateConnectorBinding(connector));
     382                            }
    375383                        }
    376384                    }
  • trunk/CrypPlugins/WorkspaceManager/View/Converter/ConnectorBindingConverter.cs

    r1970 r1991  
    2525            {
    2626                case ConnectorOrientation.West:
    27                     return new Point(X-8 , Y + Height / 2);
     27                    return new Point(X , Y + Height / 2);
    2828                case ConnectorOrientation.East:
    29                     return new Point(X + Width +8, Y + Height / 2);
     29                    return new Point(X + Width, Y + Height / 2);
    3030                case ConnectorOrientation.North:
    31                     return new Point(X + Width / 2, Y-8);
     31                    return new Point(X + Width / 2, Y);
    3232                case ConnectorOrientation.South:
    33                     return new Point(X + Width / 2, Y + Height+8);
     33                    return new Point(X + Width / 2, Y + Height);
    3434            }
    3535
  • trunk/CrypPlugins/WorkspaceManager/View/Converter/SelectedContentBrushConverter.cs

    r1892 r1991  
    1414            bool b = (bool) value;
    1515            if (b)
    16                 return 1;
     16                return 0.4;
    1717
    1818            return 0;
  • trunk/CrypPlugins/WorkspaceManager/View/Converter/ViewStateConverter.cs

    r1834 r1991  
    1818                return Visibility.Visible;
    1919
    20             if (caption == "PresentationOption" && state == PluginViewState.Presentation)
    21                 return Visibility.Collapsed;
    22             else if (caption == "PresentationOption" && state != PluginViewState.Presentation)
    23                 return Visibility.Visible;
     20            //if (caption == "PresentationOption" && state == PluginViewState.Presentation)
     21            //    return Visibility.Collapsed;
     22            //else if (caption == "PresentationOption" && state != PluginViewState.Presentation)
     23            //    return Visibility.Visible;
    2424
    2525            if (caption == "SettingsPanel" && state == PluginViewState.Setting)
     
    3232                return Visibility.Visible;
    3333
    34             if(caption == "OptionPanel" && state == PluginViewState.Min)
    35                 return Visibility.Collapsed;
    36             else if(caption == "OptionPanel" && state != PluginViewState.Min)
     34            if(caption == "OptionPanel" && state != PluginViewState.Min)
    3735                return Visibility.Visible;
    3836
    39             if (caption == null && state == PluginViewState.Min)
    40                 return Visibility.Visible;
     37            //if (caption == null && state == PluginViewState.Min)
     38            //    return Visibility.Visible;
    4139
    4240            return Visibility.Collapsed;
  • trunk/CrypPlugins/WorkspaceManager/View/Resource/Brushes.xaml

    r1892 r1991  
    127127    </LinearGradientBrush>
    128128
     129    <LinearGradientBrush x:Key="ToolBarBrush" StartPoint="0,0" EndPoint="0,1">
     130        <GradientBrush.GradientStops>
     131            <GradientStopCollection>
     132                <GradientStop Color="#ddd" Offset="0.0"/>
     133                <GradientStop Color="#aaa" Offset="1.0"/>
     134            </GradientStopCollection>
     135        </GradientBrush.GradientStops>
     136    </LinearGradientBrush>
    129137
     138    <VisualBrush x:Key="transparent">
     139        <VisualBrush.Visual>
     140            <Canvas Name="canvas" Height="25"  Width="25">
     141                <Path Stroke="Red" StrokeThickness="2">
     142                    <Path.Data>
     143                        <PathGeometry>
     144                            <PathGeometry.Figures>
     145                                <PathFigure StartPoint="0,0">
     146                                    <LineSegment Point="25,25"/>
     147                                </PathFigure>
     148                                <PathFigure StartPoint="0,25">
     149                                    <LineSegment Point="25,0"/>
     150                                </PathFigure>
     151                            </PathGeometry.Figures>
     152                        </PathGeometry>
     153                    </Path.Data>
     154                </Path>
     155            </Canvas>
     156        </VisualBrush.Visual>
     157    </VisualBrush>
     158
     159    <LinearGradientBrush x:Key="AddTextBrush" StartPoint="0,0" EndPoint="0,1">
     160        <GradientBrush.GradientStops>
     161            <GradientStopCollection>
     162                <GradientStop Color="#92d60e" Offset="0.0"/>
     163                <GradientStop Color="#05a339" Offset="1.0"/>
     164            </GradientStopCollection>
     165        </GradientBrush.GradientStops>
     166    </LinearGradientBrush>
     167
     168    <LinearGradientBrush x:Key="AddImageBrush" StartPoint="0,0" EndPoint="0,1">
     169        <GradientBrush.GradientStops>
     170            <GradientStopCollection>
     171                <GradientStop Color="#10548f" Offset="1.0"/>
     172                <GradientStop Color="#239fcf" Offset="0.0"/>
     173            </GradientStopCollection>
     174        </GradientBrush.GradientStops>
     175    </LinearGradientBrush>
    130176</ResourceDictionary>
  • trunk/CrypPlugins/WorkspaceManager/View/Resource/Styles.xaml

    r1970 r1991  
    108108                                <RotateTransform Angle="180"></RotateTransform>
    109109                            </StackPanel.LayoutTransform>
    110                             <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#333333" StrokeThickness="1"></Ellipse>
     110                            <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#666666" StrokeThickness="1"></Ellipse>
    111111                        </StackPanel>
    112112                        <StackPanel Orientation="Horizontal">
     
    114114                                <RotateTransform Angle="180"></RotateTransform>
    115115                            </StackPanel.LayoutTransform>
    116                             <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#333333" StrokeThickness="1"></Ellipse>
    117                             <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#333333" StrokeThickness="1"></Ellipse>
     116                            <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#666666" StrokeThickness="1"></Ellipse>
     117                            <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#666666" StrokeThickness="1"></Ellipse>
    118118                        </StackPanel>
    119119                        <StackPanel Orientation="Horizontal">
     
    121121                                <RotateTransform Angle="180"></RotateTransform>
    122122                            </StackPanel.LayoutTransform>
    123                             <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#333333" StrokeThickness="1"></Ellipse>
    124                             <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#333333" StrokeThickness="1"></Ellipse>
    125                             <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#333333" StrokeThickness="1"></Ellipse>
     123                            <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#666666" StrokeThickness="1"></Ellipse>
     124                            <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#666666" StrokeThickness="1"></Ellipse>
     125                            <Ellipse Width="5" Height="5" Fill="WhiteSmoke" Stroke="#666666" StrokeThickness="1"></Ellipse>
    126126                        </StackPanel>
    127127
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/BottomBox.xaml

    r1892 r1991  
    3939                    </StackPanel>
    4040                </Border>
    41                 <Button Margin="5,0,0,0" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Name="ADDIMG" Click="Button_Click" Foreground="WhiteSmoke" Padding="10">
    42                     <StackPanel Orientation="Horizontal">
    43                         <Image VerticalAlignment="Center" Source="/WorkspaceManager;component/View/Image/add.png" Height="27"></Image>
    44                         <TextBlock Text="Add Image" VerticalAlignment="Center"></TextBlock>
    45                     </StackPanel>
     41                <Button Margin="5,0,0,0" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Name="ADDIMG" Click="Button_Click" Foreground="WhiteSmoke">
     42                    <Border CornerRadius="12" Background="{StaticResource ResourceKey=AddTextBrush}" Height="27" BorderBrush="Black" BorderThickness="1">
     43                        <!--<Image VerticalAlignment="Center" Source="/WorkspaceManager;component/View/Image/add.png" Height="27"></Image>-->
     44                        <TextBlock Text="+Image" VerticalAlignment="Center" Margin="10,0,10,0" FontSize="12" FontWeight="Bold"></TextBlock>
     45                    </Border>
    4646                </Button>
    4747
    48                 <Button Margin="5,0,0,0" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Name="ADDTXT" Click="Button_Click" Foreground="WhiteSmoke" Padding="10">
    49                     <StackPanel Orientation="Horizontal">
    50                         <Image VerticalAlignment="Center" Source="/WorkspaceManager;component/View/Image/anno.png" Height="27"></Image>
    51                         <TextBlock Text="Add Text Attachment" VerticalAlignment="Center"></TextBlock>
    52                     </StackPanel>
     48                <Button Margin="5,0,0,0" Style="{StaticResource ResourceKey=BottomBoxBtnStyle}" Name="ADDTXT" Click="Button_Click" Foreground="WhiteSmoke">
     49                    <Border CornerRadius="12" Background="{StaticResource ResourceKey=AddImageBrush}" Height="27" BorderBrush="Black" BorderThickness="1">
     50                        <!--<Image VerticalAlignment="Center" Source="/WorkspaceManager;component/View/Image/add.png" Height="27"></Image>-->
     51                        <TextBlock Text="+Text" VerticalAlignment="Center" Margin="18,0,18,0" FontSize="12" FontWeight="Bold"></TextBlock>
     52                    </Border>
    5353                </Button>
    5454            </StackPanel>
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/CryptoLineView/CryptoLineView.cs

    r1970 r1991  
    4141        public static readonly DependencyProperty StartPointProperty = DependencyProperty.Register("StartPoint", typeof(Point), typeof(CryptoLineView), new FrameworkPropertyMetadata(new Point(0, 0), FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure));
    4242        public static readonly DependencyProperty EndPointProperty = DependencyProperty.Register("EndPoint", typeof(Point), typeof(CryptoLineView), new FrameworkPropertyMetadata(new Point(0, 0), FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure));
     43        private ConnectionModel connectionModel;
     44        private ConnectorView source;
     45        private ConnectorView target;
    4346
    4447                #endregion
     
    103106            Stroke = new SolidColorBrush(color);
    104107            StrokeThickness = 2;
     108        }
     109
     110        public CryptoLineView(ConnectionModel connectionModel, ConnectorView source, ConnectorView target)
     111        {
     112            // TODO: Complete member initialization
     113            this.connectionModel = connectionModel;
     114            this.source = source;
     115            this.target = target;
    105116        }
    106117
     
    244255                                else if (interPoint.Mode == IntersectPointMode.InnerIntersect)
    245256                                {
    246                                     context.LineTo(new Point(interPoint.Point.X - 4, interPoint.Point.Y), true, true);
    247                                     context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - 5), new Point(interPoint.Point.X + 4, interPoint.Point.Y), true, true);
    248                                     context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y + 5), new Point(interPoint.Point.X - 4, interPoint.Point.Y), true, true);
     257                                    context.LineTo(new Point(interPoint.Point.X - 2.5, interPoint.Point.Y), true, true);
     258                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - 3.5), new Point(interPoint.Point.X + 2.5, interPoint.Point.Y), true, true);
     259                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y + 3.5), new Point(interPoint.Point.X - 2.5, interPoint.Point.Y), true, true);
    249260                                }
    250261                                break;
     
    257268                                else if (interPoint.Mode == IntersectPointMode.InnerIntersect)
    258269                                {
    259                                     context.LineTo(new Point(interPoint.Point.X + 4, interPoint.Point.Y), true, true);
    260                                     context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - 5), new Point(interPoint.Point.X - 4, interPoint.Point.Y), true, true);
    261                                     context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y + 5), new Point(interPoint.Point.X + 4, interPoint.Point.Y), true, true);
     270                                    context.LineTo(new Point(interPoint.Point.X + 2.5, interPoint.Point.Y), true, true);
     271                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - 3.5), new Point(interPoint.Point.X - 2.5, interPoint.Point.Y), true, true);
     272                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y + 3.5), new Point(interPoint.Point.X + 2.5, interPoint.Point.Y), true, true);
    262273                                }
    263274                                break;
     
    408419        private void makeOrthogonalPoints()
    409420        {
    410             List<Node> nodeList = new List<Node>();
    411             Panel parent = (Parent as Panel);
    412 
    413             // add start and end. Index will be 0 and 1
    414             Node startNode = new Node() { Point = StartPoint },
    415                 endNode = new Node() { Point = EndPoint };
    416             nodeList.Add(startNode);
    417             nodeList.Add(endNode);
    418 
    419             float actualWidth =(float) parent.ActualWidth, actualHeight =(float) parent.ActualWidth;
    420             //Consider zoom factor
    421             QuadTreeLib.QuadTree<FakeNode> quadTree = new QuadTreeLib.QuadTree<FakeNode>
    422                 (new System.Drawing.RectangleF(-actualWidth, -actualHeight, actualWidth*5, actualHeight*5));
    423 
    424             //foreach (var element in parent.Children)
    425             //{
    426             //    if (element is PluginContainerView)
    427             //    {
    428             //        PluginContainerView p1 = element as PluginContainerView;
    429             //        foreach (var routPoint in p1.RoutingPoints)
    430             //        {
    431             //            nodeList.Add(new Node() { Point = routPoint });
    432             //        }
    433             //        quadTree.Insert(new FakeNode() { Rectangle = new System.Drawing.RectangleF((float)(p1.RenderTransform as TranslateTransform).X,
    434             //                                                                                    (float)(p1.RenderTransform as TranslateTransform).Y,
    435             //                                                                                    (float)p1.ActualWidth,
    436             //                                                                                    (float)p1.ActualHeight)});
    437             //    }
    438             //}
    439             for (int routPoint = 0; routPoint < 4; ++routPoint)
    440             {
    441                 foreach (var element in parent.Children)
    442                 {
    443                     if (element is PluginContainerView)
    444                     {
    445                         PluginContainerView p1 = element as PluginContainerView;
    446                         nodeList.Add(new Node() { Point = p1.GetRoutingPoint(routPoint) });
    447                         if (routPoint == 0)
     421            if (StartPointSource != null && EndPointSource != null)
     422            {
     423                List<Node> nodeList = new List<Node>();
     424                Panel parent = (Parent as Panel);
     425
     426                // add start and end. Index will be 0 and 1
     427                Node startNode = new Node() { Point = cheat42(StartPoint , StartPointSource, 1)},
     428                    endNode = new Node() { Point = cheat42(EndPoint, EndPointSource, -1) };
     429                nodeList.Add(startNode);
     430                nodeList.Add(endNode);
     431
     432                float actualWidth = (float)parent.ActualWidth, actualHeight = (float)parent.ActualWidth;
     433                //Consider zoom factor
     434                QuadTreeLib.QuadTree<FakeNode> quadTree = new QuadTreeLib.QuadTree<FakeNode>
     435                    (new System.Drawing.RectangleF(-actualWidth, -actualHeight, actualWidth * 5, actualHeight * 5));
     436
     437                //foreach (var element in parent.Children)
     438                //{
     439                //    if (element is PluginContainerView)
     440                //    {
     441                //        PluginContainerView p1 = element as PluginContainerView;
     442                //        foreach (var routPoint in p1.RoutingPoints)
     443                //        {
     444                //            nodeList.Add(new Node() { Point = routPoint });
     445                //        }
     446                //        quadTree.Insert(new FakeNode() { Rectangle = new System.Drawing.RectangleF((float)(p1.RenderTransform as TranslateTransform).X,
     447                //                                                                                    (float)(p1.RenderTransform as TranslateTransform).Y,
     448                //                                                                                    (float)p1.ActualWidth,
     449                //                                                                                    (float)p1.ActualHeight)});
     450                //    }
     451                //}
     452                for (int routPoint = 0; routPoint < 4; ++routPoint)
     453                {
     454                    foreach (var element in parent.Children)
     455                    {
     456                        if (element is PluginContainerView)
    448457                        {
    449                             quadTree.Insert(new FakeNode()
     458                            PluginContainerView p1 = element as PluginContainerView;
     459                            nodeList.Add(new Node() { Point = p1.GetRoutingPoint(routPoint) });
     460                            if (routPoint == 0)
    450461                            {
    451                                 Rectangle = new System.Drawing.RectangleF((float)(p1.RenderTransform as TranslateTransform).X,
    452                                                                            (float)(p1.RenderTransform as TranslateTransform).Y,
    453                                                                            (float)p1.ActualWidth,
    454                                                                            (float)p1.ActualHeight)
    455                             });
     462                                quadTree.Insert(new FakeNode()
     463                                {
     464                                    Rectangle = new System.Drawing.RectangleF((float)(p1.RenderTransform as TranslateTransform).X,
     465                                                                               (float)(p1.RenderTransform as TranslateTransform).Y + (float)p1.ControlPanel.ActualHeight,
     466                                                                               (float)p1.ActualWidth,
     467                                                                               (float)p1.ActualHeight - (float)p1.ControlPanel.ActualHeight)
     468                                });
     469                            }
    456470                        }
    457471                    }
    458472                }
    459             }
    460 
    461             // connect points
    462             int loopCount = nodeList.Count;
    463             const int performanceTradeoffAt = 10;
    464 
    465             LinkedList<Node> path = null;
    466 
    467             for(int i=0; i<loopCount; ++i)
    468             {
    469                 if (performanceTradeoffAt != 0 &&
    470                        i == performanceTradeoffAt)
     473
     474                // connect points
     475                int loopCount = nodeList.Count;
     476                const int performanceTradeoffAt = 10;
     477
     478                LinkedList<Node> path = null;
     479
     480                for (int i = 0; i < loopCount; ++i)
     481                {
     482                    if (performanceTradeoffAt != 0 &&
     483                           i == performanceTradeoffAt)
     484                    {
     485                        StackFrameDijkstra.Dijkstra<Node> dijkstra = new StackFrameDijkstra.Dijkstra<Node>();
     486                        path = dijkstra.findPath(nodeList, startNode, endNode);
     487                        if (path != null)
     488                        {
     489                            break;
     490                        }
     491                    }
     492
     493                    var p1 = nodeList[i];
     494                    // TODO: inner loop restriction! n²-n!
     495                    // is k=i instead of k=0 correct?
     496                    for (int k = i; k < loopCount; ++k)
     497                    {
     498
     499
     500                        var p2 = nodeList[k];
     501                        if (p1 == p2)
     502                            continue;
     503                        if (p1.Vertices.Contains(p2))
     504                            continue;
     505
     506                        // no helping point required?
     507                        if (p1.Point.X == p2.Point.X ||
     508                            p1.Point.Y == p2.Point.Y)
     509                        {
     510                            performOrthogonalPointConnection(p1, p2, quadTree);
     511                        }
     512                        else
     513                        {
     514                            Point help = new Point(p1.Point.X, p2.Point.Y);
     515
     516                            if (!performOrthogonalPointConnection(p1, help, p2, nodeList, quadTree))
     517                            {
     518                                help = new Point(p2.Point.X, p1.Point.Y);
     519                                if (!performOrthogonalPointConnection(p1, help, p2, nodeList, quadTree))
     520                                {
     521                                    // optional todo: double edge helping routes
     522                                }
     523                            }
     524
     525                        }
     526                    }
     527                }
     528
     529                if (path == null)
    471530                {
    472531                    StackFrameDijkstra.Dijkstra<Node> dijkstra = new StackFrameDijkstra.Dijkstra<Node>();
    473532                    path = dijkstra.findPath(nodeList, startNode, endNode);
    474                     if (path != null)
    475                     {
    476                         break;
    477                     }
    478                 }
    479 
    480                 var p1 = nodeList[i];
    481                 // TODO: inner loop restriction! n²-n!
    482                 // is k=i instead of k=0 correct?
    483                 for(int k=i; k<loopCount; ++k)
    484                 {
    485                    
    486 
    487                     var p2 = nodeList[k];
    488                     if (p1 == p2)
    489                         continue;
    490                     if (p1.Vertices.Contains(p2))
    491                         continue;
    492 
    493                     // no helping point required?
    494                     if (p1.Point.X == p2.Point.X ||
    495                         p1.Point.Y == p2.Point.Y)
    496                     {
    497                         performOrthogonalPointConnection(p1, p2, quadTree);
    498                     }
    499                     else
    500                     {
    501                         Point help = new Point(p1.Point.X, p2.Point.Y);
    502 
    503                         if (!performOrthogonalPointConnection(p1, help, p2, nodeList, quadTree ))
    504                         {
    505                             help = new Point(p2.Point.X, p1.Point.Y);
    506                             if (!performOrthogonalPointConnection(p1, help, p2, nodeList, quadTree))
    507                             {
    508                                 // optional todo: double edge helping routes
    509                             }
    510                         }
    511                        
    512                     }
    513                 }
    514             }
    515 
    516             if (path == null)
    517             {
    518                 StackFrameDijkstra.Dijkstra<Node> dijkstra = new StackFrameDijkstra.Dijkstra<Node>();
    519                 path = dijkstra.findPath(nodeList, startNode, endNode);
    520             }
    521 
    522             if (path != null)
    523             {
    524                 pointList.Clear();
    525                 Point prevPoint = StartPoint;
    526 
    527                 foreach (var i in path)
    528                 {
    529                     Point thisPoint = i.Point;
    530                     this.pointList.Add(new FromTo(prevPoint, thisPoint));
    531                     prevPoint = thisPoint;
    532                 }
    533             }
    534                 //Failsafe
    535             else if (StartPoint.X < EndPoint.X)
     533                }
     534
     535                if (path != null)
     536                {
     537                    pointList.Clear();
     538                    Point prevPoint = StartPoint;
     539
     540                    foreach (var i in path)
     541                    {
     542                        Point thisPoint = i.Point;
     543                        this.pointList.Add(new FromTo(prevPoint, thisPoint));
     544                        prevPoint = thisPoint;
     545                    }
     546                    this.pointList.Add(new FromTo(prevPoint, EndPoint));
     547                    return;
     548                }
     549            }
     550            //Failsafe
     551            if (StartPoint.X < EndPoint.X)
    536552            {
    537553                pointList.Clear();
     
    551567            }
    552568        }
     569
     570        private static Point cheat42(Point EndPoint, ConnectorView EndPointSource, int flipper)
     571        {
     572            double xoffset = 0;
     573            double yoffset = 0;
     574            double baseoffset = 15;
     575            switch (EndPointSource.Orientation)
     576            {
     577                case ConnectorOrientation.East:
     578                    xoffset = baseoffset;
     579                    break;
     580                case ConnectorOrientation.West:
     581                    xoffset = -baseoffset;
     582                    break;
     583                case ConnectorOrientation.North:
     584                    yoffset = -baseoffset;
     585                    break;
     586                case ConnectorOrientation.South:
     587                    yoffset = baseoffset;
     588                    break;
     589            }
     590            //xoffset *= flipper;
     591            //yoffset *= flipper;
     592            return new Point(EndPoint.X + xoffset, EndPoint.Y + yoffset);
     593        }
    553594               
    554595                #endregion
     
    568609            Stroke = new SolidColorBrush(color);
    569610        }
     611
     612        public ConnectorView StartPointSource { get; set; }
     613
     614        public ConnectorView EndPointSource { get; set; }
    570615    }
    571616}
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/TextInputWrapper.xaml

    r1892 r1991  
    1818            <z:ContextMenuFixUnfixConverter x:Key="ContextMenuFixUnfixConverter"></z:ContextMenuFixUnfixConverter>
    1919            <z:ToolbarVisibilityConverter x:Key="ToolbarVisibilityConverter"></z:ToolbarVisibilityConverter>
     20            <z:TransparentColorConverter x:Key="TransparentColorConverter"></z:TransparentColorConverter>
     21            <z:MenuItemHeaderFixedConverter x:Key="MenuItemHeaderFixedConverter"></z:MenuItemHeaderFixedConverter>
    2022        </ResourceDictionary>
    2123    </UserControl.Resources>
     
    2325        <ContextMenu x:Name="ContextMenu">
    2426            <MenuItem x:Name="DeleteMenuItem" Header="Delete" Click="MenuItem_Click"></MenuItem>
    25             <MenuItem x:Name="FixUnfixMenuItem" Click="MenuItem_Click_1"></MenuItem>
     27            <MenuItem x:Name="FixUnfixMenuItem" Click="MenuItem_Click_1" Header="{Binding Path=IsFixed, Converter={StaticResource ResourceKey=MenuItemHeaderFixedConverter}, FallbackValue=Error}"></MenuItem>
    2628        </ContextMenu>
    2729    </UserControl.ContextMenu>
     
    4244        </Grid.Resources>
    4345
    44         <Grid x:Name="ParentPanel" Panel.ZIndex="201" IsEnabledChanged="IsEnabledChanged">
     46        <Grid x:Name="ParentPanel" Panel.ZIndex="201">
    4547            <Thumb x:Name="OverLayingControl" Opacity="0.01" DragDelta="OverLayingControl_DragDelta_Move" IsEnabled="{Binding Path=IsSelected}"></Thumb>
    4648            <Grid x:Name="root" Margin="10">
     
    4850
    4951                    <!-- This tool bar contains all the editing buttons. -->
    50                     <ToolBar Name="mainToolBar" Height="30" DockPanel.Dock="Top" Visibility="{Binding Path=IsSelected, Converter={StaticResource ResourceKey=ToolbarVisibilityConverter}}">
     52                    <ToolBar Foreground="Black" Name="mainToolBar" Background="{StaticResource ResourceKey=ToolBarBrush}" Height="30" DockPanel.Dock="Top" Visibility="{Binding Path=IsSelected, Converter={StaticResource ResourceKey=ToolbarVisibilityConverter}}">
     53                        <StackPanel Orientation="Horizontal">
     54                            <TextBlock Text="BG" VerticalAlignment="Center" FontSize="11"></TextBlock>
     55                            <Rectangle x:Name="BGColor" Fill="White" Margin="5,0,5,0" Width="23" Height="20" Stroke="#555" StrokeThickness="0.8" MouseLeftButtonDown="BGColor_MouseLeftButtonDown"></Rectangle>
     56                        </StackPanel>
     57
     58                        <StackPanel Orientation="Horizontal">
     59                            <TextBlock Text="Font" VerticalAlignment="Center" FontSize="11"></TextBlock>
     60                            <Rectangle x:Name="FontColor" Fill="Black" Margin="5,0,5,0" Width="23" Height="20" Stroke="#555" StrokeThickness="0.8" MouseLeftButtonDown="FontColor_MouseLeftButtonDown"></Rectangle>
     61                        </StackPanel>
     62
    5163
    5264                        <Button Style="{StaticResource formatImageStyle}" Command="ApplicationCommands.Cut" ToolTip="Cut">
     
    111123                    <!-- By default pressing tab moves focus to the next control. Setting AcceptsTab to true allows the
    112124           RichTextBox to accept tab characters. -->
    113                     <RichTextBox x:Name="mainRTB" AcceptsTab="True"></RichTextBox>
     125                    <RichTextBox x:Name="mainRTB" Foreground="{Binding ElementName=FontColor, Path=Fill, Converter={StaticResource ResourceKey=TransparentColorConverter}}" AcceptsTab="True" OverridesDefaultStyle="True" BorderBrush="Transparent" BorderThickness="0" Background="{Binding ElementName=BGColor, Path=Fill, Converter={StaticResource ResourceKey=TransparentColorConverter}}" Margin="3"></RichTextBox>
    114126                </DockPanel>
    115127            </Grid>
    116             <Border x:Name="Border" Margin="4.5" BorderBrush="WhiteSmoke" BorderThickness="{Binding Path=IsSelected, Converter={StaticResource ResourceKey=SelectedContentBrushConverter}, FallbackValue=1}"></Border>
     128            <Border x:Name="Border" Margin="4.5"></Border>
     129            <!--<Border x:Name="Border" Margin="4.5" BorderBrush="WhiteSmoke" BorderThickness="{Binding Path=IsSelected, Converter={StaticResource ResourceKey=SelectedContentBrushConverter}, FallbackValue=1}"></Border>-->
    117130            <Thumb Margin="15" Panel.ZIndex="200" Style="{StaticResource ResourceKey=ImageWrapperThumbStyle}" Name="BottomRightDelta" Opacity="1" Visibility="{Binding Path=IsSelected, Converter={StaticResource ResourceKey=SContentVisibilityConverter}, FallbackValue=Visible}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Cursor="SizeNWSE" DragDelta="Thumb_DragDelta">
    118131                <Thumb.Background>
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/TextInputWrapper.xaml.cs

    r1895 r1991  
    3737        }
    3838
     39        public static readonly DependencyProperty IsFixedProperty = DependencyProperty.Register("IsFixed", typeof(bool), typeof(TextInputWrapper));
     40        public bool IsFixed
     41        {
     42            get
     43            {
     44                return (bool)base.GetValue(IsFixedProperty);
     45            }
     46            set
     47            {
     48                if (value)
     49                {
     50                    this.ParentPanel.IsEnabled = false;
     51                    this.Model.IsEnabled = false;
     52                    this.ContentParent.SelectedItem = null;
     53                }
     54                else
     55                {
     56                    this.ParentPanel.IsEnabled = true;
     57                    this.Model.IsEnabled = true;
     58                    this.ContentParent.SelectedItem = this;
     59                }
     60                base.SetValue(IsFixedProperty, value);
     61            }
     62        }
     63
    3964        public TextModel Model { get; set; }
    4065        public Point Position { get; set; }
    4166
     67        private ColorPickPopUp pop1 = new ColorPickPopUp();
     68        private ColorPickPopUp pop2 = new ColorPickPopUp();
    4269        private UserContentWrapper ContentParent;
    4370
     
    5986            this.Position = point;
    6087            this.ContentParent = userContentWrapper;
    61             this.RenderTransform = new TranslateTransform(point.X, point.Y);           
     88            this.RenderTransform = new TranslateTransform(point.X, point.Y);
     89            this.IsFixed = false;
    6290        }
    6391
     
    103131        private void MenuItem_Click_1(object sender, RoutedEventArgs e)
    104132        {
    105             MenuItem item = sender as MenuItem;
    106             if (this.ParentPanel.IsEnabled == true)
    107             {
    108                 this.ParentPanel.IsEnabled = false;
    109                 this.Model.IsEnabled = false;
    110                 this.ContentParent.SelectedItem = null;
    111                 return;
    112             }
    113 
    114             if (this.ParentPanel.IsEnabled == false)
    115             {
    116                 this.ParentPanel.IsEnabled = true;
    117                 this.Model.IsEnabled = true;
    118                 this.ContentParent.SelectedItem = this;
    119                 return;
     133            if (IsFixed)
     134            {
     135                IsFixed = false;
     136            }
     137            else
     138            {
     139                IsFixed = true;
    120140            }
    121141        }
     
    164184                Model.Width = this.ActualWidth;
    165185            }
     186        }
     187
     188        private void BGColor_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
     189        {
     190            pop1.IsOpen = false;
     191            pop1 = new ColorPickPopUp(sender as Rectangle) { IsOpen = true };
     192        }
     193
     194        private void FontColor_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
     195        {
     196            pop1.IsOpen = false;
     197            pop1 = new ColorPickPopUp(sender as Rectangle) { IsOpen = true };
    166198        }       
    167199    }
  • trunk/CrypPlugins/WorkspaceManager/WorkspaceManager.csproj

    r1970 r1991  
    121121    <Compile Include="View\Converter\ConnectorBindingConverter.cs" />
    122122    <Compile Include="View\Converter\ContextMenuFixUnfixConverter.cs" />
     123    <Compile Include="View\Converter\DragDeltaViewStateConverter.cs" />
    123124    <Compile Include="View\Converter\DragDropDataObjectToPluginConverter.cs" />
    124125    <Compile Include="View\Converter\IconPanelVisibilityConverter.cs" />
    125126    <Compile Include="View\Converter\InputOutputConverter.cs" />
     127    <Compile Include="View\Converter\MenuItemHeaderFixedConverter.cs" />
    126128    <Compile Include="View\Converter\NotificationLevelConverter.cs" />
    127129    <Compile Include="View\Converter\OptionTextCaptionConverter.cs" />
     
    131133    <Compile Include="View\Converter\SelectedContentVisibilityConverter.cs" />
    132134    <Compile Include="View\Converter\ToolbarVisibilityConverter.cs" />
     135    <Compile Include="View\Converter\TransparentColorConverter.cs" />
    133136    <Compile Include="View\Converter\ViewStateConverter.cs" />
    134137    <Compile Include="View\Converter\ViewStateIconConverter.cs" />
     
    139142    <Compile Include="View\VisualComponents\CircularProgressBar.xaml.cs">
    140143      <DependentUpon>CircularProgressBar.xaml</DependentUpon>
     144    </Compile>
     145    <Compile Include="View\VisualComponents\ColorPickPopUp.xaml.cs">
     146      <SubType>Code</SubType>
     147      <DependentUpon>ColorPickPopUp.xaml</DependentUpon>
    141148    </Compile>
    142149    <Compile Include="View\VisualComponents\CryptoLineView\CryptoLineView.cs" />
     
    238245      <SubType>Designer</SubType>
    239246    </Page>
     247    <Page Include="View\Resource\PublicResources.xaml">
     248      <Generator>MSBuild:Compile</Generator>
     249      <SubType>Designer</SubType>
     250    </Page>
    240251    <Page Include="View\Resource\Styles.xaml">
    241252      <Generator>MSBuild:Compile</Generator>
     
    249260      <SubType>Designer</SubType>
    250261      <Generator>MSBuild:Compile</Generator>
     262    </Page>
     263    <Page Include="View\VisualComponents\ColorPickPopUp.xaml">
     264      <Generator>MSBuild:Compile</Generator>
     265      <SubType>Designer</SubType>
    251266    </Page>
    252267    <Page Include="View\VisualComponents\DataPresentation.xaml">
Note: See TracChangeset for help on using the changeset viewer.