Banshee.Sources.Gui.SourceRowRenderer.InExpander C# (CSharp) Method

InExpander() public method

public InExpander ( int x ) : bool
x int
return bool
        public bool InExpander (int x)
        {
            return x < expander_right_x;
        }

Usage Example

Beispiel #1
0
        protected override bool OnButtonPressEvent(Gdk.EventButton press)
        {
            TreePath       path;
            TreeViewColumn column;

            if (press.Button == 1)
            {
                ResetHighlight();
            }

            // If there is not a row at the click position let the base handler take care of the press
            if (!GetPathAtPos((int)press.X, (int)press.Y, out path, out column))
            {
                return(base.OnButtonPressEvent(press));
            }

            Source source = store.GetSource(path);

            if (source == null || source is SourceManager.GroupSource)
            {
                return(false);
            }

            // From F-Spot's SaneTreeView class
            if (source_renderer.InExpander((int)press.X))
            {
                if (!source.Expanded)
                {
                    ExpandRow(path, false);
                }
                else
                {
                    CollapseRow(path);
                }

                // If the active source is a child of this source, and we are about to collapse it, switch
                // the active source to the parent.
                if (source == ServiceManager.SourceManager.ActiveSource.Parent && GetRowExpanded(path))
                {
                    ServiceManager.SourceManager.SetActiveSource(source);
                }
                return(true);
            }

            // For Sources that can't be activated, when they're clicked just
            // expand or collapse them and return.
            if (press.Button == 1 && !source.CanActivate)
            {
                if (!source.Expanded)
                {
                    ExpandRow(path, false);
                }
                else
                {
                    CollapseRow(path);
                }
                return(false);
            }

            if (press.Button == 3)
            {
                TreeIter iter;
                if (Model.GetIter(out iter, path))
                {
                    HighlightIter(iter);
                    OnPopupMenu();
                    return(true);
                }
            }

            if (!source.CanActivate)
            {
                return(false);
            }


            if (press.Button == 1)
            {
                if (ServiceManager.SourceManager.ActiveSource != source)
                {
                    ServiceManager.SourceManager.SetActiveSource(source);
                }
            }

            if ((press.State & Gdk.ModifierType.ControlMask) != 0)
            {
                if (press.Type == Gdk.EventType.TwoButtonPress && press.Button == 1)
                {
                    ActivateRow(path, null);
                }
                return(true);
            }

            return(base.OnButtonPressEvent(press));
        }