Esempio n. 1
0
        /// <summary>
        /// Metoda wywoływana w celu zaktualizowaniu zawartości tekstowej wpisu (Content),
        /// w oparciu o wartości posczególnych właściowości bieżącego obiektu.
        /// </summary>
        protected override void UpdateContent()
        {
            StringBuilder content = new StringBuilder();

            content.Append(Format.ToString());
            content.Append(": ");
            content.Append(Layer.ToString());
            content.Append(",");
            content.Append(GetFormattedTiming(TimingStart));
            content.Append(",");
            content.Append(GetFormattedTiming(TimingEnd));
            content.Append(",");
            content.Append(Style);
            content.Append(",");
            content.Append(Name);
            content.Append(",");
            content.Append(MarginL.ToString(marginFormat));
            content.Append(",");
            content.Append(MarginR.ToString(marginFormat));
            content.Append(",");
            content.Append(MarginV.ToString(marginFormat));
            content.Append(",");
            content.Append(Effect);
            content.Append(",");
            content.Append(Text);

            Content = content.ToString();
        }
Esempio n. 2
0
 /// <summary>
 /// Funkcja haszująca.
 /// </summary>
 /// <returns></returns>
 public override int GetHashCode()
 {
     return(Format.GetHashCode() +
            Layer.GetHashCode() +
            Style.GetHashCode() +
            Name.GetHashCode() +
            MarginL.GetHashCode() +
            MarginR.GetHashCode() +
            MarginV.GetHashCode() +
            Effect.GetHashCode() +
            Text.GetHashCode() +
            base.GetHashCode());
 }
Esempio n. 3
0
        // PRZESUWANIE KOMPONENTU
        private new void MouseMove(object sender, MouseEventArgs e)
        {
            // JEŚLI WCIŚNIĘTY LEWY PRZYCISK MYSZY NA JAKIMŚ KOMPONENCIE
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                if (MovingObject is FrameworkElement tmp)
                {
                    bool isMargin = false;
                    if (tmp.Name.Contains("Margin"))
                    {
                        isMargin = true;
                    }

                    var mainCanvasPos = e.GetPosition(MainCanvas);

                    var xNewPosition = mainCanvasPos.X - FirstXPos;
                    var yNewPosition = mainCanvasPos.Y - FirstYPos;

                    var lMargin = tmp.Name.Contains("MarginL");
                    var rMargin = tmp.Name.Contains("MarginR");
                    var tMargin = tmp.Name.Contains("MarginT");
                    var bMargin = tmp.Name.Contains("MarginB");

                    // JEŚLI PRZESÓWAMY MARGINESY TO SideLimit = POZYCJE MARGINESU W PRZECIWNYM WYPADKU SideLimit = POZYCJE BOCZNE CANVASU
                    var LSideLimit = lMargin ? 0 : (double)MarginL.GetValue(Canvas.LeftProperty);
                    var RSideLimit = rMargin ? MainCanvas.ActualWidth : (double)MarginR.GetValue(Canvas.LeftProperty);

                    var TopLimit = tMargin ? 0 : (double)MarginT.GetValue(Canvas.TopProperty);
                    var BotLimit = bMargin ? MainCanvas.ActualHeight : (double)MarginB.GetValue(Canvas.TopProperty);

                    if (MainVM.HiedeMargins)
                    {
                        LSideLimit = 0;
                        RSideLimit = MainCanvas.ActualWidth;
                        TopLimit   = 0;
                        BotLimit   = MainCanvas.ActualHeight;
                    }

                    // PRZESÓWANIE PO OSI X - LEWO, PRAWO - OGRANICZENIE DO ROZMIARÓW CANVASA LUB MARGINESÓW
                    if (xNewPosition >= LSideLimit)
                    {
                        if (xNewPosition + tmp.ActualWidth <= RSideLimit)
                        {
                            // PRZESUNIĘCIE KOMPONENTU W POZIOMIE ZGODNIE Z RUCHEM MYSZKI
                            tmp.SetValue(Canvas.LeftProperty, xNewPosition);
                        }
                        else
                        {
                            // POPRAWIA PROBLEM NIEDOCIĄGNIĘCIA KOMPONENTU DO PRAWEGO MARGINESU PRZY SZYBKIM PRZESUNIĘCIU MYSZKĄ
                            if (tMargin || bMargin)
                            {
                                ;
                            }
                            else
                            {
                                tmp.SetValue(Canvas.LeftProperty, RSideLimit - tmp.ActualWidth);
                            }
                        }
                    }
                    else
                    {
                        // POPRAWIA PROBLEM NIEDOCIĄGNIĘCIA KOMPONENTU DO LEWWEGO MARGINESU PRZY SZYBKIM PRZESUNIĘCIU MYSZKĄ
                        if (tMargin || bMargin)
                        {
                            ;
                        }
                        else
                        {
                            tmp.SetValue(Canvas.LeftProperty, LSideLimit);
                        }
                    }

                    // PRZESÓWANIE PO OSI Y - GÓRA, DÓŁ - OGRANICZENIE DO ROZMIARÓW CANVASA LUB MARGINESÓW
                    if (yNewPosition >= TopLimit)
                    {
                        if (yNewPosition + tmp.ActualHeight <= BotLimit)
                        {
                            // PRZESUNIĘCIE KOMPONENTU W PIONIE ZGODNIE Z RUCHEM MYSZKI
                            tmp.SetValue(Canvas.TopProperty, yNewPosition);
                        }
                        else
                        {
                            if (isMargin)
                            {
                                return;
                            }
                            // POPRAWIENIE DOCIĄGNIĘCIA DO DOLNEGO MARGINESU
                            tmp.SetValue(Canvas.TopProperty, BotLimit - tmp.ActualHeight);
                        }
                    }
                    else
                    {
                        if (isMargin)
                        {
                            return;
                        }
                        // POPRAWIENIE DOCIĄGNIĘCIA DO GÓRNEGO MARGINESU
                        tmp.SetValue(Canvas.TopProperty, TopLimit);
                    }
                }
            }
        }