def rect(w, h, widget): rect = Rectangle() rect.Fill = SolidColorBrush(Colors.Red) rect.Width = w rect.Height = h rect.SetValue(widget.LeftProperty, 10.0) rect.SetValue(widget.TopProperty, 50.0) widget.Children.Add(rect)
def generate_rect_image(self): rect = Rectangle() rect.Width = 16 rect.Height = 16 rect.RadiusX = 2 rect.RadiusY = 2 rect.Fill = SolidColorBrush( ColorConverter.ConvertFromString(self.fill_color)) self.img_drawing = rect
def AddItem(self, item, width=1, expand=False, border=False): if expand: length = GridLength(width, GridUnitType.Star) else: length = GridLength(width, GridUnitType.Auto) self.ctrl.ColumnDefinitions.Add(ColumnDefinition(Width=length)) Grid.SetColumn(item, self.cols) if border: rect = Rectangle() rect.Stroke = Brushes.Gray rect.Fill = Brushes.Transparent Grid.SetColumn(rect, self.cols) self.ctrl.Children.Add(rect) self.ctrl.Children.Add(item) self.cols = self.cols + 1
def AddItem(self, item, height=1, expand=False, border=False): if expand: length = GridLength(height, GridUnitType.Star) else: length = GridLength(height, GridUnitType.Auto) self.ctrl.RowDefinitions.Add(RowDefinition(Height=length)) Grid.SetRow(item, self.rows) if border: rect = Rectangle() rect.Stroke = Brushes.Gray rect.Fill = Brushes.Transparent Grid.SetRow(rect, self.rows) self.ctrl.Children.Add(rect) self.ctrl.Children.Add(item) self.rows = self.rows + 1
def AddItem(self,item,attr=None,width=1): if attr and attr.get('expand'): length = GridLength(width, GridUnitType.Star) else: length = GridLength(width, GridUnitType.Auto) self.ctrl.ColumnDefinitions.Add(ColumnDefinition(Width = length)) Grid.SetColumn(item, self.cols); if attr and attr.get('group'): group = GroupBox() group.Header = attr['group'] group.AddChild(item) Grid.SetColumn(group, self.cols); self.ctrl.Children.Add(group) else: if attr and attr.get('border') and attr['border']: rect = Rectangle() rect.Stroke = Brushes.Gray rect.Fill = Brushes.Transparent Grid.SetColumn(rect, self.cols); self.ctrl.Children.Add(rect) self.ctrl.Children.Add(item) self.cols = self.cols + 1
def AddItem(self,item,attr=None,height=1): if attr and attr.get('expand'): length = GridLength(height, GridUnitType.Star) else: length = GridLength(height, GridUnitType.Auto) self.ctrl.RowDefinitions.Add(RowDefinition(Height = length)) Grid.SetRow(item, self.rows); if attr and attr.get('group'): group = GroupBox() group.Header = attr['group'] group.AddChild(item) Grid.SetRow(group, self.rows); self.ctrl.Children.Add(group) else: if attr and attr.get('border') and attr['border']: rect = Rectangle() rect.Stroke = Brushes.Gray rect.Fill = Brushes.Transparent Grid.SetRow(rect, self.rows); self.ctrl.Children.Add(rect) self.ctrl.Children.Add(item) self.rows = self.rows + 1
def createScrollViewer(self, grid): scroll = ScrollViewer() scroll.Height = 200 scroll.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto scroll.HorizontalAlignment = HorizontalAlignment.Stretch scroll.VerticalAlignment = VerticalAlignment.Stretch panel = StackPanel() text = TextBlock() text.TextWrapping = TextWrapping.Wrap text.Margin = Thickness(0, 0, 0, 20) text.Text = "A ScrollViewer.\r\n\r\nScrollbars appear as and when they are needed...\r\n" rect = Rectangle() rect.Fill = GetLinearGradientBrush() rect.Width = 500 rect.Height = 500 panel.Children.Add(text) panel.Children.Add(rect) scroll.Content = panel; SetGridChild(grid, scroll, 1, 2, "ScrollViewer")
def onCompleted(task): global idList if task.Result.Key.Count > 0: sequenceList = List[Sequence]() for sequence in Script.Instance.Sequences: if sequence.Name.Equals("Weather"): sequenceList.Add(sequence) for s in task.Result.Key: Script.Instance.TryEnqueue(Script.Instance.Prepare(sequenceList, s)) if Application.Current.MainWindow.IsVisible and task.Result.Value.Value.Value.Value.Count > 0 and not Enumerable.SequenceEqual[Double](idList, task.Result.Value.Value.Value.Key): width = 128 height = 128 max = 4 window = Window() contentControl = ContentControl() grid = Grid() storyboard = Storyboard() def onCurrentStateInvalidated(sender, args): if sender.CurrentState == ClockState.Filling: window.Close() storyboard.CurrentStateInvalidated += onCurrentStateInvalidated def onLoaded(sender, args): time = 0 speed = task.Result.Value.Value.Key.Key * 1000 / 60 / 60 contentControl.Width = contentControl.ActualWidth * 1.5 if contentControl.ActualWidth > contentControl.ActualHeight else contentControl.ActualHeight * 1.5 contentControl.Height = contentControl.ActualWidth * 1.5 if contentControl.ActualWidth > contentControl.ActualHeight else contentControl.ActualHeight * 1.5 contentControl.RenderTransform.CenterX = contentControl.Width / 2 contentControl.RenderTransform.CenterY = contentControl.Height / 2 doubleAnimation1 = DoubleAnimation(contentControl.Opacity, 1, TimeSpan.FromMilliseconds(500)) doubleAnimation2 = DoubleAnimation(1.5, 1, TimeSpan.FromMilliseconds(500)) doubleAnimation3 = DoubleAnimation(1.5, 1, TimeSpan.FromMilliseconds(500)) doubleAnimation4 = DoubleAnimation(1, 0, TimeSpan.FromMilliseconds(500)) doubleAnimation5 = DoubleAnimation(1, 1.5, TimeSpan.FromMilliseconds(500)) doubleAnimation6 = DoubleAnimation(1, 1.5, TimeSpan.FromMilliseconds(500)) sineEase1 = SineEase() sineEase2 = SineEase() sineEase1.EasingMode = EasingMode.EaseOut sineEase2.EasingMode = EasingMode.EaseIn doubleAnimation1.EasingFunction = doubleAnimation2.EasingFunction = doubleAnimation3.EasingFunction = sineEase1 doubleAnimation4.EasingFunction = doubleAnimation5.EasingFunction = doubleAnimation6.EasingFunction = sineEase2 doubleAnimation4.BeginTime = Nullable[TimeSpan](TimeSpan.FromMilliseconds((250 * (max - 1) * 2 + 1000 + 3000) * task.Result.Value.Value.Value.Value.Count - 500)) doubleAnimation5.BeginTime = Nullable[TimeSpan](TimeSpan.FromMilliseconds((250 * (max - 1) * 2 + 1000 + 3000) * task.Result.Value.Value.Value.Value.Count - 500)) doubleAnimation6.BeginTime = Nullable[TimeSpan](TimeSpan.FromMilliseconds((250 * (max - 1) * 2 + 1000 + 3000) * task.Result.Value.Value.Value.Value.Count - 500)) storyboard.Children.Add(doubleAnimation1) storyboard.Children.Add(doubleAnimation2) storyboard.Children.Add(doubleAnimation3) storyboard.Children.Add(doubleAnimation4) storyboard.Children.Add(doubleAnimation5) storyboard.Children.Add(doubleAnimation6) Storyboard.SetTarget(doubleAnimation1, contentControl) Storyboard.SetTarget(doubleAnimation2, contentControl) Storyboard.SetTarget(doubleAnimation3, contentControl) Storyboard.SetTarget(doubleAnimation4, contentControl) Storyboard.SetTarget(doubleAnimation5, contentControl) Storyboard.SetTarget(doubleAnimation6, contentControl) Storyboard.SetTargetProperty(doubleAnimation1, PropertyPath(ContentControl.OpacityProperty)) Storyboard.SetTargetProperty(doubleAnimation2, PropertyPath("(0).(1)", ContentControl.RenderTransformProperty, ScaleTransform.ScaleXProperty)) Storyboard.SetTargetProperty(doubleAnimation3, PropertyPath("(0).(1)", ContentControl.RenderTransformProperty, ScaleTransform.ScaleYProperty)) Storyboard.SetTargetProperty(doubleAnimation4, PropertyPath(ContentControl.OpacityProperty)) Storyboard.SetTargetProperty(doubleAnimation5, PropertyPath("(0).(1)", ContentControl.RenderTransformProperty, ScaleTransform.ScaleXProperty)) Storyboard.SetTargetProperty(doubleAnimation6, PropertyPath("(0).(1)", ContentControl.RenderTransformProperty, ScaleTransform.ScaleYProperty)) for element1 in grid.Children: for element2 in element1.Children: w = element2.Width / 2 if speed > 15 else element2.Width / 2 * speed / 15; da1 = DoubleAnimation(element2.Opacity, 1, TimeSpan.FromMilliseconds(1000)) da2 = DoubleAnimation(-w if Convert.ToInt32(task.Result.Value.Value.Key.Value / 180) % 2 == 0 else w, 0, TimeSpan.FromMilliseconds(1000)) da3 = DoubleAnimation(1, 0, TimeSpan.FromMilliseconds(1000)) da4 = DoubleAnimation(0, w if Convert.ToInt32(task.Result.Value.Value.Key.Value / 180) % 2 == 0 else -w, TimeSpan.FromMilliseconds(1000)) se1 = SineEase() se2 = SineEase() da1.BeginTime = Nullable[TimeSpan](TimeSpan.FromMilliseconds(time + 250 * element2.Tag)) da2.BeginTime = Nullable[TimeSpan](TimeSpan.FromMilliseconds(time + 250 * element2.Tag)) da3.BeginTime = Nullable[TimeSpan](TimeSpan.FromMilliseconds(time + 250 * element2.Tag * 2 + 250 * (max - 1) - 250 * element2.Tag + 3000)) da4.BeginTime = Nullable[TimeSpan](TimeSpan.FromMilliseconds(time + 250 * element2.Tag * 2 + 250 * (max - 1) - 250 * element2.Tag + 3000)) se1.EasingMode = EasingMode.EaseOut se2.EasingMode = EasingMode.EaseIn da1.EasingFunction = da2.EasingFunction = se1 da3.EasingFunction = da4.EasingFunction = se2 storyboard.Children.Add(da1) storyboard.Children.Add(da2) storyboard.Children.Add(da3) storyboard.Children.Add(da4) Storyboard.SetTarget(da1, element2) Storyboard.SetTarget(da2, element2) Storyboard.SetTarget(da3, element2) Storyboard.SetTarget(da4, element2) Storyboard.SetTargetProperty(da1, PropertyPath(Rectangle.OpacityProperty)) Storyboard.SetTargetProperty(da2, PropertyPath("(0).(1)", Rectangle.RenderTransformProperty, TranslateTransform.XProperty)) Storyboard.SetTargetProperty(da3, PropertyPath(Rectangle.OpacityProperty)) Storyboard.SetTargetProperty(da4, PropertyPath("(0).(1)", Rectangle.RenderTransformProperty, TranslateTransform.XProperty)) time += 250 * (max - 1) + 1000 + 3000 storyboard.Begin() fs = None bi = BitmapImage() try: fs = FileStream("Assets\\Background-Popup.png", FileMode.Open, FileAccess.Read, FileShare.Read) bi.BeginInit() bi.StreamSource = fs bi.CacheOption = BitmapCacheOption.OnLoad bi.CreateOptions = BitmapCreateOptions.None bi.EndInit() finally: if fs is not None: fs.Close() window.Owner = Application.Current.MainWindow window.Title = Application.Current.MainWindow.Title window.WindowStartupLocation = WindowStartupLocation.CenterOwner window.AllowsTransparency = True window.WindowStyle = WindowStyle.None window.ResizeMode = ResizeMode.NoResize window.ShowActivated = False window.ShowInTaskbar = Application.Current.MainWindow.ContextMenu.Items[5].IsChecked window.Topmost = True window.SizeToContent = SizeToContent.WidthAndHeight window.Background = Brushes.Transparent window.Loaded += onLoaded contentControl.UseLayoutRounding = True contentControl.HorizontalAlignment = HorizontalAlignment.Stretch contentControl.VerticalAlignment = VerticalAlignment.Stretch contentControl.Opacity = 0 contentControl.RenderTransform = ScaleTransform(1, 1) window.Content = contentControl imageBrush = ImageBrush(bi) imageBrush.TileMode = TileMode.None imageBrush.Stretch = Stretch.Fill imageBrush.ViewboxUnits = BrushMappingMode.Absolute imageBrush.Viewbox = Rect(0, 0, bi.Width, bi.Height) imageBrush.AlignmentX = AlignmentX.Left imageBrush.AlignmentY = AlignmentY.Top imageBrush.Opacity = 0.5 dg = DrawingGroup() dc = dg.Open() dc.DrawRectangle(SolidColorBrush(Color.FromArgb(Byte.MaxValue * 50 / 100, 0, 0, 0)), None, Rect(0, 0, bi.Width, bi.Height)) dc.DrawRectangle(imageBrush, None, Rect(0, 0, bi.Width, bi.Height)) dc.Close() backgroundBrush = ImageBrush(DrawingImage(dg)) backgroundBrush.TileMode = TileMode.Tile backgroundBrush.ViewportUnits = BrushMappingMode.Absolute backgroundBrush.Viewport = Rect(0, 0, bi.Width, bi.Height) backgroundBrush.Stretch = Stretch.None if backgroundBrush.CanFreeze: backgroundBrush.Freeze() grid.HorizontalAlignment = HorizontalAlignment.Stretch grid.VerticalAlignment = VerticalAlignment.Stretch grid.Background = backgroundBrush grid.Width = 150 grid.Height = 150 grid.Clip = EllipseGeometry(Rect(0, 0, 150, 150)) dropShadowEffect = DropShadowEffect() dropShadowEffect.BlurRadius = 1 dropShadowEffect.Color = Colors.Black dropShadowEffect.Direction = 270 dropShadowEffect.Opacity = 0.5 dropShadowEffect.ShadowDepth = 1 if dropShadowEffect.CanFreeze: dropShadowEffect.Freeze() grid.Effect = dropShadowEffect contentControl.Content = grid solidColorBrush = SolidColorBrush(colorFromAhsb(Byte.MaxValue, 60, 1.0, 1.0) if task.Result.Value.Key < 0 else colorFromAhsb(Byte.MaxValue, 0, 1.0, 0.4) if task.Result.Value.Key > 37 else colorFromAhsb(Byte.MaxValue, 60 - 60 * task.Result.Value.Key / 37, 1.0, 0.4 + 0.6 * Math.Pow(Math.E, (37 / 5 - task.Result.Value.Key) - 37 / 5) if task.Result.Value.Key < 37 / 5 else 0.4)) if solidColorBrush.CanFreeze: solidColorBrush.Freeze() for stream in task.Result.Value.Value.Value.Value: try: bi = BitmapImage() bi.BeginInit() bi.StreamSource = stream bi.CacheOption = BitmapCacheOption.OnLoad bi.CreateOptions = BitmapCreateOptions.None bi.EndInit() finally: stream.Close() imageBrush = ImageBrush(bi) imageBrush.TileMode = TileMode.None imageBrush.ViewportUnits = BrushMappingMode.Absolute imageBrush.Viewport = Rect(0, 0, width, height) imageBrush.Stretch = Stretch.Uniform if imageBrush.CanFreeze: imageBrush.Freeze() g = Grid() g.HorizontalAlignment = HorizontalAlignment.Center g.VerticalAlignment = VerticalAlignment.Center g.Background = Brushes.Transparent g.Width = width g.Height = height grid.Children.Add(g) for i in range(max): rectangle = Rectangle() rectangle.HorizontalAlignment = HorizontalAlignment.Left rectangle.VerticalAlignment = VerticalAlignment.Top rectangle.Width = width rectangle.Height = height rectangle.Fill = solidColorBrush rectangle.Opacity = 0 rectangle.OpacityMask = imageBrush rectangle.Clip = RectangleGeometry(Rect(0, height / max * i, width, height / max)) rectangle.RenderTransform = TranslateTransform(0, 0) rectangle.Tag = i g.Children.Add(rectangle) window.Show() idList.Clear() idList.AddRange(task.Result.Value.Value.Value.Key)