diff options
| author | nyamatongwe <unknown> | 2003-04-05 03:38:03 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2003-04-05 03:38:03 +0000 | 
| commit | ea7e17dd06127bc50740eb0a3af6e713d73d6d10 (patch) | |
| tree | be4d30c53a42be0cb8390c965aad59e2a0db3364 /src | |
| parent | 47c84f2b148b82bc39900177404b2bd81c4b89cc (diff) | |
| download | scintilla-mirror-ea7e17dd06127bc50740eb0a3af6e713d73d6d10.tar.gz | |
Moved calltip showing into method.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ScintillaBase.cxx | 51 | ||||
| -rw-r--r-- | src/ScintillaBase.h | 1 | 
2 files changed, 27 insertions, 25 deletions
| diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 27179bcdc..d2927fa9d 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -345,6 +345,29 @@ void ScintillaBase::AutoCompleteCompleted() {  	pdoc->EndUndoAction();  } +void ScintillaBase::CallTipShow(Point pt, const char *defn) { +	AutoCompleteCancel(); +	pt.y += vs.lineHeight; +	PRectangle rc = ct.CallTipStart(currentPos, pt, +									defn, +									vs.styles[STYLE_DEFAULT].fontName, +									vs.styles[STYLE_DEFAULT].sizeZoomed, +									IsUnicodeMode(), +									wMain); +	// If the call-tip window would be out of the client +	// space, adjust so it displays above the text. +	PRectangle rcClient = GetClientRectangle(); +	if (rc.bottom > rcClient.bottom) { +		int offset = vs.lineHeight + rc.Height(); +		rc.top -= offset; +		rc.bottom -= offset; +	} +	// Now display the window. +	CreateCallTipWindow(rc); +	ct.wCallTip.SetPositionRelative(rc, wMain); +	ct.wCallTip.Show(); +} +  void ScintillaBase::CallTipClick() {  	SCNotification scn;  	scn.nmhdr.code = SCN_CALLTIPCLICK; @@ -533,31 +556,9 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara  	case SCI_AUTOCGETTYPESEPARATOR:  		return ac.GetTypesep(); -	case SCI_CALLTIPSHOW: { -			AutoCompleteCancel(); -			//if (!ct.wCallTip.Created()) { -				Point pt = LocationFromPosition(wParam); -				pt.y += vs.lineHeight; -				PRectangle rc = ct.CallTipStart(currentPos, pt, -				                                reinterpret_cast<char *>(lParam), -				                                vs.styles[STYLE_DEFAULT].fontName, -				                                vs.styles[STYLE_DEFAULT].sizeZoomed, -				                                IsUnicodeMode(), -				                                wMain); -				// If the call-tip window would be out of the client -				// space, adjust so it displays above the text. -				PRectangle rcClient = GetClientRectangle(); -				if (rc.bottom > rcClient.bottom) { -					int offset = vs.lineHeight + rc.Height(); -					rc.top -= offset; -					rc.bottom -= offset; -				} -				// Now display the window. -				CreateCallTipWindow(rc); -				ct.wCallTip.SetPositionRelative(rc, wMain); -				ct.wCallTip.Show(); -			//} -		} +	case SCI_CALLTIPSHOW: +		CallTipShow(LocationFromPosition(wParam),  +			reinterpret_cast<const char *>(lParam));  		break;  	case SCI_CALLTIPCANCEL: diff --git a/src/ScintillaBase.h b/src/ScintillaBase.h index 152d49f53..bf0b92d57 100644 --- a/src/ScintillaBase.h +++ b/src/ScintillaBase.h @@ -72,6 +72,7 @@ protected:  	static void AutoCompleteDoubleClick(void* p);  	void CallTipClick(); +	void CallTipShow(Point pt, const char *defn);  	virtual void CreateCallTipWindow(PRectangle rc) = 0;  	virtual void AddToPopUp(const char *label, int cmd=0, bool enabled=true) = 0; | 
