public void AddTag(object sender, ImageListItem item, Tag tag) { if (item.DenshaImage.AddTag(tag)) { item.UpdateTagLayout(); imageList.CloseTextBox(); } }
public TagBox(ImageListItem listItem) { _listItem = listItem; _needUpdateTagLayout = true; if (sf == null) { sf = new StringFormat(); sf.Alignment = StringAlignment.Near; sf.LineAlignment = StringAlignment.Center; sf.Trimming = StringTrimming.EllipsisCharacter; } }
private MouseEventArgs convertMouseEvent(MouseEventArgs e, ImageListItem target) { MouseEventArgs oe = new MouseEventArgs(e.Button, e.Clicks, e.X - target.X, e.Y - (target.Y - vScrollBar.Value), e.Delta); return oe; }
protected override void OnMouseWheel(MouseEventArgs e) { base.OnMouseWheel(e); int delta = (int)(e.Delta / 2.0) * _lineNum; if (vScrollBar.Value - delta < vScrollBar.Minimum) { vScrollBar.Value = vScrollBar.Minimum; } else if (vScrollBar.Value - delta > vScrollBar.Maximum - vScrollBar.LargeChange) { int v = vScrollBar.Maximum - vScrollBar.LargeChange; if (v < vScrollBar.Minimum) vScrollBar.Value = vScrollBar.Minimum; else if (v > vScrollBar.Maximum) vScrollBar.Value = vScrollBar.Maximum; else vScrollBar.Value = v; } else { vScrollBar.Value -= delta; } LayoutImages(); ImageListItem hit = HitTest(e.Location, 0, vScrollBar.Value); if (hit != null) { MouseEventArgs oe = convertMouseEvent(e, hit); hit.OnMouseEnter(oe); } if (_prevHitItem != null && _prevHitItem != hit) { MouseEventArgs oe = convertMouseEvent(e, _prevHitItem); _prevHitItem.OnMouseLeave(oe); } Invalidate(); _prevHitItem = hit; }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); ImageListItem hit = HitTest(e.Location, 0, vScrollBar.Value); if (hit != null) { MouseEventArgs oe = convertMouseEvent(e, hit); hit.OnMouseUp(oe); } if (_prevHitItem != null && _prevHitItem != hit) { MouseEventArgs oe = convertMouseEvent(e, _prevHitItem); _prevHitItem.OnMouseLeave(oe); } Invalidate(); _prevHitItem = hit; }
protected override void OnMouseLeave(EventArgs e) { base.OnMouseLeave(e); if (_prevHitItem != null) { _prevHitItem.OnMouseLeave(e); } Invalidate(); _prevHitItem = null; }
protected override void OnMouseEnter(EventArgs e) { base.OnMouseEnter(e); Invalidate(); _prevHitItem = null; }
protected override void OnMouseClick(MouseEventArgs e) { base.OnMouseClick(e); ImageListItem hit = HitTest(e.Location, 0, vScrollBar.Value); if (hit != null) { MouseEventArgs oe = convertMouseEvent(e, hit); if (!hit.OnMouseClick(oe)) { int hitIdx = _items.FindIndex(delegate(ImageListItem item) { return item.DenshaImage.Id == hit.DenshaImage.Id; }); if (hitIdx >= 0) { // 処理されなかったクリック CloseTextBox(); // 選択処理 _focusIdx = hitIdx; if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) { SelectImages(); } else if ((Control.ModifierKeys & Keys.Control) == Keys.Control) { _selectStartIdx = hitIdx; ToggleSelectImage(); } else { _selectStartIdx = hitIdx; SelectImage(); } } } } else { CloseTextBox(); DeselectAllImages(); } if (_prevHitItem != null && _prevHitItem != hit) { MouseEventArgs oe = convertMouseEvent(e, _prevHitItem); _prevHitItem.OnMouseLeave(oe); } Invalidate(); _prevHitItem = hit; }
public void ShowTextBox(ImageListItem item, Rectangle rect) { if (_showingTextBox) { CloseTextBox(); } _recitalBox.ListItem = item; _recitalBox.TextBox.Text = item.DenshaImage.Recital; _recitalBox.TextBox.Left = rect.X + item.X; _recitalBox.TextBox.Top = rect.Top + item.Y - vScrollBar.Value; _recitalBox.TextBox.Width = rect.Width; if (_recitalBox.TextBox.Text.Length > 0) { _recitalBox.TextBox.SelectAll(); } if (!_showingTextBox) { this.Controls.Add(_recitalBox.TextBox); _showingTextBox = true; } _recitalBox.TextBox.Focus(); }
public void SelectTimeCluster(ImageListItem item) { int idx = _items.IndexOf(item); if (idx >= 0) { SelectTimeCluster(idx); } }
private void setProjectWorker_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker bgWorker = (BackgroundWorker)sender; bgWorker.ReportProgress(0, "set project"); lock (imageList.Items) { imageList.Items.Clear(); if (Project != null) { int imgCount = Project.Images.Count; int i = 0; foreach (DenshaImage img in Project.Images) { ImageListItem item = new ImageListItem(img); imageList.Items.Add(item); bgWorker.ReportProgress((int)(++i * 100 / (double)imgCount), "set image"); } } } if (Project != null) { Project.PropertyChanged += new PropertyChangedEventHandler(_project_PropertyChanged); } }