Exemple #1
0
        private void SetLimits()
        {
            Days      = new _Day[m_NumDays];
            TimeSlots = new TimeSlot[m_NumTimeIntervals];

            CellMatrix = new Cell[NumDays, NumTimeIntervals];

            //Create Cells
            for (int i = 0; i < NumDays; ++i)
            {
                for (int j = 0; j < NumTimeIntervals; ++j)
                {
                    CellMatrix[i, j] = new Cell(i, j);
                }
            }

            // Create TimeSlots
            for (int j = 0; j < NumTimeIntervals; ++j)
            {
                TimeSlots[j] = new TimeSlot(j);
            }

            // Create Days
            for (int i = 0; i < NumDays; ++i)
            {
                Days[i] = new _Day(i);
            }
        }
Exemple #2
0
        private void DrawDays(Graphics g)
        {
            Font font = new Font(Control.DefaultFont.FontFamily, FindEmSize(g, Days[0].Bounds));

            for (int i = 0; i < NumDays; ++i)
            {
                _Day  d  = Days[i];
                SizeF sf = g.MeasureString(d.DOW.ToString(), font);
                if (d.Highlighted)
                {
                    g.FillRectangle(m_sbHotTrack, d.Bounds);
                }
                g.DrawString(d.DOW.ToString(), font, m_sbForeColor, CenterRectangle(d.Bounds, sf).Location);
            }
        }
Exemple #3
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            ClearToolTopState();
            TimeFrameObject tfo = GetTimeFrameObject(e);

            if (e.Button == MouseButtons.Left)
            {
                if (tfo is Cell)
                {
                    Cell cellNewSelected = (Cell)tfo;

                    if (tfoLastSelected is Cell)
                    {
                        Cell cellLastSelected = (Cell)tfoLastSelected;

                        if (cellLastSelected != cellNewSelected)
                        {
                            SelectCellBlock(cellLastSelected, cellNewSelected);
                        }
                    }
                }
                else if (tfo is TimeSlot)
                {
                    TimeSlot tsNewSelected = (TimeSlot)tfo;

                    if (tfoLastSelected is TimeSlot)
                    {
                        TimeSlot tsLastSelected = (TimeSlot)tfoLastSelected;

                        if (tsLastSelected != tsNewSelected)
                        {
                            if (tsNewSelected.Column > tsLastSelected.Column)
                            {
                                for (int j = tsLastSelected.Column; j < tsNewSelected.Column; ++j)
                                {
                                    TimeSlots[j].Selected = tsLastSelected.Selected;
                                }
                            }
                            else if (tsNewSelected.Column < tsLastSelected.Column)
                            {
                                for (int j = tsNewSelected.Column; j < tsLastSelected.Column; ++j)
                                {
                                    TimeSlots[j].Selected = tsLastSelected.Selected;
                                }
                            }
                        }
                    }
                }
                else if (tfo is _Day)
                {
                    _Day dNewSelected = (_Day)tfo;

                    if (tfoLastSelected is _Day)
                    {
                        _Day dLastSelected = (_Day)tfoLastSelected;

                        if (dLastSelected != dNewSelected)
                        {
                            if (dNewSelected.Row > dLastSelected.Row)
                            {
                                for (int i = dLastSelected.Row; i < dNewSelected.Row; ++i)
                                {
                                    Days[i].Selected = dLastSelected.Selected;
                                }
                            }
                            else if (dNewSelected.Row < dLastSelected.Row)
                            {
                                for (int i = dNewSelected.Row; i < dLastSelected.Row; ++i)
                                {
                                    Days[i].Selected = dLastSelected.Selected;
                                }
                            }
                        }
                    }
                }
            }

            if (tfoLastHighlighted != null)
            {
                tfoLastHighlighted.Highlighted = false;
            }
            if (tfo != null)
            {
                tfo.Highlighted    = true;
                tfoLastHighlighted = tfo;
            }

            if (e.Button == MouseButtons.None)
            {
                if (Grid.Contains(e.X, e.Y))
                {
                    LastMouseHover = e;
                    HoverTimerStart.Start();
                }
            }

            this.Invalidate(true);
        }