Beispiel #1
0
        /// <summary>
        /// Add new seriespanel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void addbutton_Click(object sender, EventArgs e)
        {
            Button   but = (Button)sender;
            GroupBox gb  = (GroupBox)(but.Parent);

            int    heigh = gb.Height;
            string day   = "";

            switch (gb.Text)
            {
            case "Hétfő": day = "Monday"; break;

            case "Kedd": day = "Tuesday"; break;

            case "Szerda": day = "Wednesday"; break;

            case "Csütörtök": day = "Thursday"; break;

            case "Péntek": day = "Friday"; break;

            case "Szombat": day = "Saturday"; break;

            case "Vasárnap": day = "Sunday"; break;
            }

            SeriesPanel sp = new SeriesPanel(day);

            sp.Location  = new Point(5, heigh - 40 + 20);
            sp.Disposed += new EventHandler(SeriesPanel_Disposed);
            sp.Click    += new EventHandler(SeriesPanel_Click);
            gb.Controls.Add(sp);
        }
Beispiel #2
0
        //public IList<object> Datasource
        //{
        //    get { return (IList<object>)GetValue(DatasourceProperty); }
        //    set { SetValue(DatasourceProperty, value); }
        //}

        //// Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
        //public static readonly DependencyProperty DatasourceProperty =
        //    DependencyProperty.Register("Datasource", typeof(IList<object>), typeof(WTChart), new PropertyMetadata(new List<string>()));

        protected override void OnApplyTemplate()
        {
            chartPanel  = GetTemplateChild("ChartPanel") as BoxPanel;
            Chartheight = chartPanel.Height;
            Chartwidth  = chartPanel.Width;
            gridPanel   = GetTemplateChild("GridPanel") as GridPanel;
            seriesPanel = GetTemplateChild("SeriesPanel") as SeriesPanel;
            //chartPanel.Itemsource = Datasource;
            base.OnApplyTemplate();
        }
Beispiel #3
0
 protected override void OnApplyTemplate()
 {
     chartPanel  = GetTemplateChild("ChartPanel") as ChartPanel;
     gridPanel   = GetTemplateChild("GridPanel") as GridPanel;
     seriesPanel = GetTemplateChild("SeriesPanel") as SeriesPanel;
     base.OnApplyTemplate();
     ApplyDataSource();
     ApplyModelCollection();
     ApplySettings();
 }
        protected override void OnPointerReleased(PointerRoutedEventArgs e)
        {
            if (EnableSegmentDragging)
            {
                OnChartDragEnd(e.GetCurrentPoint(SeriesPanel).Position, e.OriginalSource);
                SeriesPanel.ReleasePointerCapture(e.Pointer);
            }

            base.OnPointerReleased(e);
        }
Beispiel #5
0
 protected override void OnPointerPressed(PointerRoutedEventArgs e)
 {
     if (EnableSeriesDragging)
     {
         SeriesPanel.CapturePointer(e.Pointer);
         OnChartDragStart(e.GetCurrentPoint(SeriesPanel).Position, e.OriginalSource);
     }
     else
     {
         base.OnPointerPressed(e);
     }
 }
Beispiel #6
0
        /// <summary>
        /// Save title by click or close(collapse) the groupbox
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SeriesPanel_Click(object sender, EventArgs e)
        {
            SeriesPanel sp = (SeriesPanel)sender;

            if (sp.IsTextBoxEditing)
            {
                sp.SaveTitle();
                return;
            }
            GroupBox gb;

            switch (sp.Day)
            {
            case "Monday": gb = this.groupBox1; break;

            case "Tuesday": gb = this.groupBox2; break;

            case "Wednesday": gb = this.groupBox3; break;

            case "Thursday": gb = this.groupBox4; break;

            case "Friday": gb = this.groupBox5; break;

            case "Saturday": gb = this.groupBox6; break;

            case "Sunday": gb = this.groupBox7; break;

            default: gb = new GroupBox(); break;
            }

            foreach (Control c in gb.Controls)
            {
                if (c == gb.Controls[0])
                {
                    continue;
                }
                SeriesPanel spc = c as SeriesPanel;
                if (spc.IsTextBoxEditing)
                {
                    return;
                }
            }

            groupBox_MouseCaptureChanged(gb, e);
        }
Beispiel #7
0
        private void AttachPanelEventListeners()
        {
            // attaches event listeners for search series panel
            SearchSeriesPanel searchSeriesPanel = (SearchSeriesPanel)panelsMap[PanelId.SearchSeries].Panel;

            searchSeriesPanel.Search      += SearchSeriesPanel_Search;
            searchSeriesPanel.SeriesClick += SearchSeriesPanel_SeriesClick;

            // attaches event listeners for saved shows panel
            SavedShowsPanel savedShowsPanel = (SavedShowsPanel)panelsMap[PanelId.SavedShows].Panel;

            savedShowsPanel.SeriesClick += SavedShowsPanel_SeriesClick;

            // attaches event listeners for series panel
            SeriesPanel seriesPanel = (SeriesPanel)panelsMap[PanelId.Series].Panel;

            seriesPanel.WatchEpisodeButtonClick += SeriesPanel_WatchEpisodeButtonClick;

            // Don't forget to attach event listeners for new panels as well!
        }
Beispiel #8
0
        /// <summary>
        /// Delete seriespanel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SeriesPanel_Disposed(object sender, EventArgs e)
        {
            SeriesPanel sp = (SeriesPanel)sender;

            GroupBox gb;

            switch (sp.Day)
            {
            case "Monday": gb = this.groupBox1; break;

            case "Tuesday": gb = this.groupBox2; break;

            case "Wednesday": gb = this.groupBox3; break;

            case "Thursday": gb = this.groupBox4; break;

            case "Friday": gb = this.groupBox5; break;

            case "Saturday": gb = this.groupBox6; break;

            case "Sunday": gb = this.groupBox7; break;

            default: gb = new GroupBox(); break;
            }

            int heigh = 60;

            foreach (Control c in gb.Controls)
            {
                if (c == gb.Controls[0])
                {
                    continue;
                }
                c.Location = new Point(5, heigh - 40 + 20);
                heigh     += scale;
            }
        }
Beispiel #9
0
 protected override void OnPointerMoved(PointerRoutedEventArgs e)
 {
     if ((EnableSegmentDragging || EnableSeriesDragging) && PreviewSeries == null && DraggingSegment == null && e.Pointer.PointerDeviceType == PointerDeviceType.Touch)
     {
         SeriesPanel.CapturePointer(e.Pointer);
         var mousePos = e.GetCurrentPoint(SeriesPanel).Position;
         var element  = e.OriginalSource as FrameworkElement;
         if (element != null && element.Tag is ChartSegment)
         {
             if (Math.Abs(mousePos.X - mousePos.X) < 20 && Math.Abs(mousePos.Y - mousePos.Y) < 20)
             {
                 ActivateDragging(mousePos, e.OriginalSource);
             }
         }
     }
     else if (EnableSeriesDragging)
     {
         OnChartDragDelta(e.GetCurrentPoint(SeriesPanel).Position, e.OriginalSource);
     }
     else
     {
         base.OnPointerMoved(e);
     }
 }
Beispiel #10
0
        /// <summary>
        ///
        /// </summary>
        private void LoadDataFromXMLFile()
        {
            if (!File.Exists(XML_FILE))
            {
                this.CreateXMLFile();
            }

            try
            {
                XPathDocument     doc = new XPathDocument(XML_FILE);
                XPathNavigator    nav = doc.CreateNavigator();
                string            expression;
                XPathExpression   expr;
                XPathNodeIterator iterator;

                foreach (string day in daysOfWeek)
                {
                    Console.WriteLine("Loading {0}", day);
                    expression = @"/schedule/day[@name='" + day + "']/title";
                    expr       = nav.Compile(expression);
                    iterator   = nav.Select(expr);

                    GroupBox gb;
                    switch (day)
                    {
                    case "Monday": gb = this.groupBox1; break;

                    case "Tuesday": gb = this.groupBox2; break;

                    case "Wednesday": gb = this.groupBox3; break;

                    case "Thursday": gb = this.groupBox4; break;

                    case "Friday": gb = this.groupBox5; break;

                    case "Saturday": gb = this.groupBox6; break;

                    case "Sunday": gb = this.groupBox7; break;

                    default: gb = new GroupBox(); break;
                    }

                    int heigh = gb.Height;

                    while (iterator.MoveNext())
                    {
                        XPathNavigator nav2 = iterator.Current.Clone();
                        SeriesPanel    sp   = new SeriesPanel(day, nav2.Value);
                        sp.Location  = new Point(5, heigh - 40 + 20);
                        sp.Disposed += new EventHandler(SeriesPanel_Disposed);
                        sp.Click    += new EventHandler(SeriesPanel_Click);
                        gb.Controls.Add(sp);
                        heigh += scale;
                    }

                    foreach (Control c in gb.Controls)
                    {
                        c.Visible = false;
                    }
                    gb.AutoSize = false;
                    gb.Height   = 60;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception: {0}", ex.ToString());
            }
        }