/** * Gets a cursor with search suggestions. * * @param searchable Information about how to get the suggestions. * @param query The search text entered (so far). * @return a cursor with suggestions, or <code>null</null> the suggestion query failed. * * @hide because SearchableInfo is not part of the API. */ ECode CSearchManager::GetSuggestions( /* [in] */ ISearchableInfo *searchable, /* [in] */ const String &query, /* [out] */ ICursor **cursor) { return GetSuggestions(searchable, query, -1, cursor); }
void VHTMLSyntax::InsertChar( ICodeEditorDocument* inDocument, UniChar inUnichar, sLONG inLineIndex, sLONG inPosition, ITipInfoArray *outSuggestions, sLONG& outStartOffset ) { if ( inUnichar == '/' ) { int htmlNbLines = inDocument->GetNbLines(); VString str; inDocument->GetLine(inLineIndex,str); if (inPosition>1 && str[inPosition-2]=='<' ) { GetSuggestions( inDocument, inLineIndex, inPosition, outSuggestions, outStartOffset, false ); } } else if ( inUnichar == '<' ) { inDocument->InsertText( VString( (UniChar) 62 ) ); // 62 is > sLONG startloc = 0; sLONG endloc = 0; sLONG atline = 0; inDocument->GetSelection(startloc,endloc,atline,atline); if ( startloc>0 ) { inDocument->Select(startloc-1,endloc-1,atline,atline); } GetSuggestions( inDocument, inLineIndex, startloc - 1, outSuggestions, outStartOffset, false ); } else if ( inUnichar == '=' ) { inDocument->InsertText( CVSTR( "\"\"" ) ); sLONG startloc = 0; sLONG endloc = 0; sLONG atline = 0; inDocument->GetSelection(startloc,endloc,atline,atline); if ( startloc>0 ) { inDocument->Select(startloc-1,endloc-1,atline,atline); } } else if ( inUnichar == '\'' ) { inDocument->InsertText( VString( (UniChar) 39 ) ); // 39 is ' sLONG startloc = 0; sLONG endloc = 0; sLONG atline = 0; inDocument->GetSelection(startloc,endloc,atline,atline); if ( startloc>0 ) { inDocument->Select(startloc-1,endloc-1,atline,atline); } } else if ( inUnichar == '!' ) { VString strtemp = ""; inDocument->GetLine( inLineIndex,strtemp ); if ( inPosition >= 2 && strtemp[inPosition-2] == '<' ) { inDocument->InsertText( "----"); //insert spaces 39 is ' sLONG startloc = 0; sLONG endloc = 0; sLONG atline = 0; inDocument->GetSelection(startloc,endloc,atline,atline); if ( startloc>0 ) { inDocument->Select(startloc-2,endloc-2,atline,atline); } } } else if ( inUnichar == '#' ) { VString strtemp = ""; inDocument->GetLine( inLineIndex,strtemp ); if ( inPosition >= 5 && strtemp[inPosition-2] == '-' && strtemp[inPosition-3] == '-' && strtemp[inPosition-4] == '!' && strtemp[inPosition-5] == '<') { outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DVAR", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DHTMLVAR", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DSCRIPT", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DINCLUDE", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DIF", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DENDIF", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DELSE", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DLOOP", vcol_blue ) ); outSuggestions->AddTip( new VCodeEditorTipInfo( inDocument, "4DENDLOOP", vcol_blue ) ); } } }