コード例 #1
0
        public void ShowParameterInfo(ParameterDataProvider provider, int overload, int _currentParam, int maxSize)
        {
            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }
            int numParams    = System.Math.Max(0, provider.GetParameterCount(overload));
            var currentParam = System.Math.Min(_currentParam, numParams - 1);

            if (numParams > 0 && currentParam < 0)
            {
                currentParam = 0;
            }
            if (lastParam == currentParam)
            {
                return;
            }

            lastParam = currentParam;
            ClearDescriptions();
            var o = provider.CreateTooltipInformation(overload, currentParam, false);

            Theme.NumPages    = provider.Count;
            Theme.CurrentPage = overload;
            if (provider.Count > 1)
            {
                Theme.DrawPager     = true;
                Theme.PagerVertical = true;
            }

            headlabel.Markup  = o.SignatureMarkup;
            headlabel.Visible = true;
            if (Theme.DrawPager)
            {
                headlabel.WidthRequest = headlabel.RealWidth + 70;
            }

            foreach (var cat in o.Categories)
            {
                descriptionBox.PackStart(CreateCategory(cat.Item1, cat.Item2), true, true, 4);
            }

            if (!string.IsNullOrEmpty(o.SummaryMarkup))
            {
                descriptionBox.PackStart(CreateCategory(GettextCatalog.GetString("Summary"), o.SummaryMarkup), true, true, 4);
            }
            descriptionBox.ShowAll();
            QueueResize();
        }
コード例 #2
0
        public static void ShowWindow(CompletionTextEditorExtension ext, ICompletionWidget widget, CodeCompletionContext ctx, ParameterDataProvider provider)
        {
            if (provider.Count == 0)
            {
                return;
            }

            // There can be several method parameter lists open at the same time, so
            // they have to be queued. The last one of queue is the one being shown
            // in the information window.

            MethodData md = new MethodData();

            md.MethodProvider    = provider;
            md.CurrentOverload   = 0;
            md.CompletionContext = ctx;
            methods.Add(md);
            UpdateOverload(ext, widget);
            UpdateWindow(ext, widget);
        }
コード例 #3
0
		public void ShowParameterInfo (ParameterDataProvider provider, int overload, int _currentParam, int maxSize)
		{
			if (provider == null)
				throw new ArgumentNullException ("provider");
			int numParams = System.Math.Max (0, provider.GetParameterCount (overload));
			var currentParam = System.Math.Min (_currentParam, numParams - 1);
			if (numParams > 0 && currentParam < 0)
				currentParam = 0;
			if (lastParam == currentParam) {
				return;
			}

			lastParam = currentParam;
			ClearDescriptions ();
			var o = provider.CreateTooltipInformation (overload, currentParam, false);

			Theme.NumPages = provider.Count;
			Theme.CurrentPage = overload;
			if (provider.Count > 1) {
				Theme.DrawPager = true;
				Theme.PagerVertical = true;
			}

			headlabel.Markup = o.SignatureMarkup;
			headlabel.Visible = true;
			if (Theme.DrawPager)
				headlabel.WidthRequest = headlabel.RealWidth + 70;
			
			foreach (var cat in o.Categories) {
				descriptionBox.PackStart (CreateCategory (cat.Item1, cat.Item2), true, true, 4);
			}
			
			if (!string.IsNullOrEmpty (o.SummaryMarkup)) {
				descriptionBox.PackStart (CreateCategory (GettextCatalog.GetString ("Summary"), o.SummaryMarkup), true, true, 4);
			}
			descriptionBox.ShowAll ();
			QueueResize ();
		}
		public static void ShowWindow (CompletionTextEditorExtension ext, ICompletionWidget widget, CodeCompletionContext ctx, ParameterDataProvider provider)
		{
			if (provider.Count == 0)
				return;
			
			// There can be several method parameter lists open at the same time, so
			// they have to be queued. The last one of queue is the one being shown
			// in the information window.
			
			MethodData md = new MethodData ();
			md.MethodProvider = provider;
			md.CurrentOverload = 0;
			md.CompletionContext = ctx;
			methods.Add (md);
			UpdateOverload (ext, widget);
			UpdateWindow (ext, widget);
		}