protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates cellState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts) { base.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState, "", "", errorText, cellStyle, advancedBorderStyle, paintParts); TimelineActivity activity = (TimelineActivity)value; TimelineController controller = ((TimeLeftColumn)OwningColumn).Controller; { double timeTillStart = activity.TimeFromStart - controller.CurrentTime; float timeTillStartF = (float)timeTillStart; float durationF = (float)activity.Duration; if (durationF < 0.1F) { durationF = 0.1F; } PaintBar(graphics, cellBounds, timeTillStartF, durationF); } { double timeTillEnd = activity.EndTime - controller.CurrentTime; string text = timeTillEnd > 0 ? timeTillEnd.ToString("0") : "ACTION!"; PaintText(graphics, cellBounds, text); } }
public OverlayButtonsForm(TimelineController controller_) { controller = controller_; InitializeComponent(); this.ShowInTaskbar = false; // Force set small window size below OS minimum. controller.PausedUpdate += controller_PausedUpdate; controller_PausedUpdate(null, EventArgs.Empty); }
public TimelineView(TimelineController controller_) { this.soundPlayProcess = new ACT.Process.SoundPlayProcess(); controller = controller_; controller.TimelineUpdate += controller_TimelineUpdate; controller.CurrentTimeUpdate += controller_CurrentTimeUpdate; textWidth = 100; barWidth = 100; SetupUI(); this.MouseDown += TimelineView_MouseDown; this.VisibleChanged += TimelineView_VisibleChanged; this.Move += TimelineView_Move; this.FormClosing += TimelineView_FormClosing; typeof(DataGridView). GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic). SetValue(dataGridView, true, null); dataGridView.SelectionChanged += (object sender, EventArgs args) => dataGridView.ClearSelection(); dataGridView.AutoGenerateColumns = false; dataGridView.Columns.Add(textColumn = new DataGridViewTextBoxColumn { DataPropertyName = "Name", AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill }); dataGridView.Columns.Add(timeLeftColumn = new TimeLeftColumn { Controller = controller_ }); MyOpacity = 0.8; NumberOfRowsToDisplay = 3; MoveByDrag = true; ShowOverlayButtons = true; UpdateLayout(); soundplayer = new CachedSoundPlayer(); TimelineFont = new Font(FontFamily.GenericSansSerif, 12, FontStyle.Bold); }