Example #1
0
 public void AddTag(object sender, ImageListItem item, Tag tag)
 {
     if (item.DenshaImage.AddTag(tag))
     {
         item.UpdateTagLayout();
         imageList.CloseTextBox();
     }
 }
Example #2
0
            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;
                }
            }
Example #3
0
 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;
 }
Example #4
0
        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;
        }
Example #5
0
 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;
 }
Example #6
0
 protected override void OnMouseLeave(EventArgs e)
 {
     base.OnMouseLeave(e);
     if (_prevHitItem != null)
     {
         _prevHitItem.OnMouseLeave(e);
     }
     Invalidate();
     _prevHitItem = null;
 }
Example #7
0
 protected override void OnMouseEnter(EventArgs e)
 {
     base.OnMouseEnter(e);
     Invalidate();
     _prevHitItem = null;
 }
Example #8
0
        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;
        }
Example #9
0
 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();
 }
Example #10
0
 public void SelectTimeCluster(ImageListItem item)
 {
     int idx = _items.IndexOf(item);
     if (idx >= 0)
     {
         SelectTimeCluster(idx);
     }
 }
Example #11
0
        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);
            }
        }