Exemplo n.º 1
0
 public void PositionControl(ScintillaControl sci)
 {
     // compute control location
     Point p = new Point(sci.PointXFromPosition(memberPos), sci.PointYFromPosition(memberPos));
     p = ((Form)PluginBase.MainForm).PointToClient(((Control)sci).PointToScreen(p));
     toolTip.Left = p.X + sci.Left;
     bool hasListUp = !CompletionList.Active || CompletionList.listUp;
     if (currentLine > sci.LineFromPosition(memberPos) || !hasListUp) toolTip.Top = p.Y - toolTip.Height + sci.Top;
     else toolTip.Top = p.Y + UITools.Manager.LineHeight(sci) + sci.Top;
     // Keep on control area
     if (toolTip.Right > ((Form)PluginBase.MainForm).ClientRectangle.Right)
     {
         toolTip.Left = ((Form)PluginBase.MainForm).ClientRectangle.Right - toolTip.Width;
     }
     toolTip.Show();
     toolTip.BringToFront();
 }
Exemplo n.º 2
0
		static public void CallTipShow(ScintillaControl sci, int position, string text)
		{
			toolTip.Visible = false;
			isActive = true;
			Text = text;
			AutoSize();
			// position
			startPos = position+text.IndexOf('(')+1;
			currentPos = sci.CurrentPos;
			currentLine = sci.LineFromPosition(currentPos);
			Point p = new Point(sci.PointXFromPosition(position), sci.PointYFromPosition(position));
			p = ((Form)UITools.MainForm).PointToClient(((Control)sci).PointToScreen(p));
			toolTip.Left = p.X + sci.Left;
			if (currentLine > sci.LineFromPosition(position)) toolTip.Top = p.Y-toolTip.Height + sci.Top;
			else toolTip.Top = p.Y+UITools.LineHeight(sci) + sci.Top;
			toolTip.Show();
			toolTip.BringToFront();
			UITools.LockControl(sci); // lock keys
		}