diff --git a/harbour/ChangeLog b/harbour/ChangeLog
index 09fe7e493e..de3cd9567b 100644
--- a/harbour/ChangeLog
+++ b/harbour/ChangeLog
@@ -16,6 +16,35 @@
The license applies to all entries newer than 2009-04-28.
*/
+2012-08-07 18:10 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ + contrib/hbide/hbfunc.txt
+ * contrib/hbide/hbide.qrc
+ + Added: Harbour core's functions list with proper capitalization.
+ Please review and add/delete/change as per set standards.
+
+ * contrib/hbide/edit.prg
+ * contrib/hbide/editor.prg
+ * contrib/hbide/saveload.prg
+ + Implemented: auto case conversion of Harbour functions as per
+ disctionary which is contained inside HbIDE executable as a
+ resource.
+
+ + Implemented: auto-tab placement based on the Harbour keyword.
+ So if you start typing a keyword, say at col 4, and tab-spaces
+ are set to 3, then that keyword will automatically placed at
+ column 3.
+
+ + Implemented: logical text operators to be converted to uppercase.
+ These are .OR. .AND. .NOT. .F. .T.
+
+ NOTE: this commit also improves the speed of editing, plus corrects
+ the function names as per Harbour standards. So if a Harbour
+ function is called you need not to pay attention in which way
+ you are writing. You simply need to remember that opening brace
+ must follow the end of function which triggers the corrective
+ action. Regression is possible to some extent, please report.
+ You can also forward suggessions to improve the editing part.
+
2012-08-06 17:09 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/sources.prg
% Remoded: redundant code parts and organized with more options.
diff --git a/harbour/contrib/hbide/edit.prg b/harbour/contrib/hbide/edit.prg
index b8e1994f96..2183bdd185 100644
--- a/harbour/contrib/hbide/edit.prg
+++ b/harbour/contrib/hbide/edit.prg
@@ -137,6 +137,7 @@ CLASS IdeEdit INHERIT IdeObject
DATA lReadOnly INIT .F.
DATA isHighLighted INIT .f.
DATA cLastWord, cCurWord
+ DATA hLogicals
METHOD new( oIde, oEditor, nMode )
METHOD create( oIde, oEditor, nMode )
@@ -270,6 +271,10 @@ METHOD IdeEdit:new( oIde, oEditor, nMode )
::pointSize := ::oINI:nPointSize
::currentPointSize := ::oINI:nPointSize
+ ::hLogicals := {=>}
+ hb_hCaseMatch( ::hLogicals, .F. )
+ ::hLogicals := { "t" => NIL, "f" => NIL, "or" => NIL, "and" => NIL, "not" => NIL }
+
RETURN Self
/*----------------------------------------------------------------------*/
@@ -2226,20 +2231,130 @@ METHOD IdeEdit:insertText( cText )
METHOD IdeEdit:reformatLine( nPos, nAdded, nDeleted )
LOCAL cProto, nRows, nCols
- //LOCAL cWord, nColumn
- //LOCAL qCursor := ::qEdit:textCursor()
- //LOCAL cLine := ::getLine()
- HB_SYMBOL_UNUSED( nPos )
- HB_SYMBOL_UNUSED( nAdded )
- HB_SYMBOL_UNUSED( nDeleted )
+#if 1
+ LOCAL cPWord, cPPWord, nPostn, nLine, nLPrev, nLPrevPrev, nCPrev, nCPrevPrev, nOff, cCased, cCWord
+ LOCAL qCursor := ::qEdit:textCursor()
- //nColumn := qCursor:columnNumber() + 1
- //cWord := ::getWord()
+ nPostn := qCursor:position()
+ nLine := qCursor:blockNumber()
- //HB_TRACE( HB_TR_ALWAYS, nPos, nAdded, nDeleted, nColumn, len( cWord ), cWord )
+ IF qCursor:columnNumber() > 0
+ qCursor:movePosition( QTextCursor_Left, QTextCursor_KeepAnchor, 1 )
+ cCWord := qCursor:selectedText()
+ qCursor:clearSelection()
+ qCursor:setPosition( nPostn )
+ ELSE
+ cCWord := ""
+ ENDIF
+
+ qCursor:movePosition( QTextCursor_PreviousWord, QTextCursor_MoveAnchor, 1 )
+ nLPrev := qCursor:blockNumber()
+ IF nLPrev == nLine
+ nCPrev := qCursor:columnNumber()
+ qCursor:select( QTextCursor_WordUnderCursor )
+ cPWord := qCursor:selectedText()
+ //
+ qCursor:movePosition( QTextCursor_PreviousWord, QTextCursor_MoveAnchor, 2 )
+ nLPrevPrev := qCursor:blockNumber()
+ IF nLPrevPrev == nLine
+ nCPrevPrev := qCursor:columnNumber()
+ qCursor:select( QTextCursor_WordUnderCursor )
+ cPPWord := qCursor:selectedText()
+ ELSE
+ nCPrevPrev := -1
+ cPPWord := ""
+ ENDIF
+
+// HB_TRACE( HB_TR_ALWAYS, "PP", cPPWord, "P", cPWord, len( cPPWord ), len( cPWord ), cCWord, len( cCWord ) )
+
+ qCursor:clearSelection()
+ qCursor:setPosition( nPostn )
+
+ IF cPWord == "." .AND. cPPWord $ ::hLogicals
+ IF ::oEditor:lIsPRG .AND. ! ::oINI:lSupressHbKWordsToUpper
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_PreviousWord, QTextCursor_MoveAnchor, 2 )
+ qCursor:select( QTextCursor_WordUnderCursor )
+ qCursor:removeSelectedText()
+ qCursor:insertText( upper( cPPWord ) )
+ qCursor:endEditBlock()
+ ENDIF
+
+ ELSEIF cPWord == "(" .AND. hbide_isHarbourFunction( cPPWord, @cCased )
+ IF ::oEditor:lIsPRG
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_PreviousWord, QTextCursor_MoveAnchor, 2 )
+ qCursor:select( QTextCursor_WordUnderCursor )
+ qCursor:removeSelectedText()
+ qCursor:insertText( cCased )
+ qCursor:endEditBlock()
+ ENDIF
+
+ ELSEIF cCWord == " " .AND. cPPWord != "#" .AND. hbide_isHarbourKeyword( cPWord )
+ IF ::oEditor:lIsPRG .AND. ! ::oINI:lSupressHbKWordsToUpper
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_PreviousWord, QTextCursor_MoveAnchor, 1 )
+ qCursor:select( QTextCursor_WordUnderCursor )
+ qCursor:removeSelectedText()
+ qCursor:insertText( upper( cPWord ) )
+ qCursor:endEditBlock()
+ ENDIF
+#if 0
+ ELSEIF nLPrevPrev == nLine .AND. hbide_isHarbourKeyword( cPPWord )
+ IF ::oEditor:lIsPRG .AND. ! ::oINI:lSupressHbKWordsToUpper
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_PreviousWord, QTextCursor_MoveAnchor, 2 )
+ qCursor:select( QTextCursor_WordUnderCursor )
+ qCursor:removeSelectedText()
+ qCursor:insertText( upper( cPPWord ) )
+ qCursor:endEditBlock()
+ ENDIF
+#endif
+ ENDIF
+
+ IF ::oEditor:lIsPRG .AND. empty( cPPWord ) .AND. cCWord == " " /* Operational on PRG sources only */
+ IF hbide_isStartingKeyword( cPWord, ::oIde )
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_StartOfBlock )
+ qCursor:movePosition( QTextCursor_NextCharacter, QTextCursor_KeepAnchor, nCPrev )
+ qCursor:removeSelectedText()
+ qCursor:endEditBlock()
+
+ ELSEIF hbide_isMinimumIndentableKeyword( cPWord, ::oIde ) .AND. ::oINI:lAutoIndent
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_StartOfBlock )
+ qCursor:movePosition( QTextCursor_NextCharacter, QTextCursor_KeepAnchor, nCPrev )
+ qCursor:removeSelectedText()
+ qCursor:insertText( space( ::nTabSpaces ) )
+ qCursor:endEditBlock()
+
+ ELSEIF hbide_isIndentableKeyword( cPWord, ::oIde ) .AND. ::oINI:lAutoIndent
+ IF nCPrev < ::nTabSpaces
+ nOff := ::nTabSpaces - nCPrev
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_StartOfBlock )
+ qCursor:insertText( space( nOff ) )
+ qCursor:endEditBlock()
+ ELSEIF ( nOff := nCPrev % ::nTabSpaces ) > 0
+ qCursor:beginEditBlock()
+ qCursor:movePosition( QTextCursor_StartOfBlock )
+ qCursor:movePosition( QTextCursor_NextCharacter, QTextCursor_KeepAnchor, nOff )
+ qCursor:removeSelectedText()
+ qCursor:endEditBlock()
+ ENDIF
+ ENDIF
+ ENDIF
+ ENDIF
+ HB_SYMBOL_UNUSED( nCPrevPrev )
+
+#else
::handlePreviousWord( ::lUpdatePrevWord )
+
+#endif
+
+
::handleCurrentIndent()
IF ::nProtoLine != -1
@@ -2253,6 +2368,10 @@ METHOD IdeEdit:reformatLine( nPos, nAdded, nDeleted )
ENDIF
ENDIF
+ HB_SYMBOL_UNUSED( nPos )
+ HB_SYMBOL_UNUSED( nAdded )
+ HB_SYMBOL_UNUSED( nDeleted )
+
RETURN Self
/*----------------------------------------------------------------------*/
@@ -2272,7 +2391,7 @@ METHOD IdeEdit:handlePreviousWord( lUpdatePrevWord )
cText := qTextBlock:text()
nCol := qCursor:columnNumber()
IF ( substr( cText, nCol - 1, 1 ) == " " )
- RETURN nil
+ RETURN NIL
ENDIF
nSpace := iif( substr( cText, nCol, 1 ) == " ", 1, 0 )
cWord := hbide_getPreviousWord( cText, nCol + 1 )
@@ -2597,6 +2716,96 @@ FUNCTION hbide_getFrontSpacesAndWord( cText, cWord )
/*----------------------------------------------------------------------*/
+FUNCTION hbide_formatProto_1( cProto, cText, nProtoCol, nCurCol, nRows, nCols )
+ LOCAL s, nArgs, cArgs, aArgs, cArg, n, n1, i, nnn, cPro, cFunc
+
+ IF nCurCol > nProtoCol
+ n := at( "(", cProto ) ; n1 := at( ")", cProto )
+ IF n > 0 .AND. n1 > 0 .AND. "," $ cProto
+ cProto := substr( cProto, 1, n1 )
+
+ s := substr( cText, nProtoCol, nCurCol - nProtoCol )
+ nArgs := 1
+ FOR i := 1 TO Len( s )
+ IF substr( s, i, 1 ) == ","
+ nArgs++
+ ENDIF
+ NEXT
+
+ nRows := 1; nCols := 0
+
+ IF nArgs > 0
+ n := at( "(", cProto ) ; n1 := at( ")", cProto )
+
+ cFunc := substr( cProto, 1, n - 1 )
+ cArgs := substr( cProto, n + 1, n1 - n - 1 )
+ aArgs := hb_aTokens( cArgs, "," )
+ cArgs := ""
+ nCols := Len( cFunc ) + 1
+ FOR EACH cArg IN aArgs
+ cArg := alltrim( cArg )
+
+ nRows++
+ nCols := max( nCols, Len( cArg ) + 3 )
+
+ cArg := StrTran( cArg, "<", "<" )
+ cArg := StrTran( cArg, ">", ">" )
+
+ nnn := cArg:__enumIndex()
+ IF nnn == nArgs
+ cArg := "" + cArg + ""
+ ENDIF
+ IF nnn == Len( aArgs )
+ cArgs += "
" + " " + cArg
+ ELSE
+ cArgs += "
" + " " + cArg + "" + "," + ""
+ ENDIF
+ NEXT
+ nCols += iif( nCols <= Len( cFunc ), 0, 1 )
+
+ //cPro := "
" + "" + cFunc + "" + ; + cPro := "
" + "" + cFunc + "" + ; + "" + "(" + "" + ; + cArgs + ; + "" + ")" + "" + "
" + ENDIF + ENDIF + ENDIF + + RETURN cPro + +/*------------------------------------------------------------------------*/ + +FUNCTION hbide_formatProto( cProto ) + LOCAL n, n1, cArgs + + cProto := StrTran( cProto, "<", "<" ) + cProto := StrTran( cProto, ">", ">" ) + + n := at( "(", cProto ) + n1 := at( ")", cProto ) + + IF n > 0 .AND. n1 > 0 + cArgs := substr( cProto, n + 1, n1 - n - 1 ) + cArgs := strtran( cArgs, ",", "" + "," + "" ) + cProto := "" + "" + substr( cProto, 1, n - 1 ) + "" + ; + "" + "(" + "" + ; + cArgs + ; + "" + ")" + "" + "
" + ENDIF + RETURN cProto + +/*----------------------------------------------------------------------*/ + +STATIC FUNCTION hbide_normalizeRect( aCord, nT, nL, nB, nR ) + nT := iif( aCord[ 1 ] > aCord[ 3 ], aCord[ 3 ], aCord[ 1 ] ) + nB := iif( aCord[ 1 ] > aCord[ 3 ], aCord[ 1 ], aCord[ 3 ] ) + nL := iif( aCord[ 2 ] > aCord[ 4 ], aCord[ 4 ], aCord[ 2 ] ) + nR := iif( aCord[ 2 ] > aCord[ 4 ], aCord[ 2 ], aCord[ 4 ] ) + RETURN NIL + +/*----------------------------------------------------------------------*/ + FUNCTION hbide_isStartingKeyword( cWord, oIde ) LOCAL s_b_ @@ -2726,11 +2935,7 @@ FUNCTION hbide_harbourKeywords() 'handler' => NIL,; 'loop' => NIL,; 'in' => NIL,; - 'nil' => NIL,; - 'or' => NIL,; - 'not' => NIL,; - 'and' => NIL } - + 'nil' => NIL } RETURN s_b_ /*----------------------------------------------------------------------*/ @@ -2743,93 +2948,29 @@ FUNCTION hbide_isHarbourKeyword( cWord, oIde ) /*----------------------------------------------------------------------*/ -FUNCTION hbide_formatProto_1( cProto, cText, nProtoCol, nCurCol, nRows, nCols ) - LOCAL s, nArgs, cArgs, aArgs, cArg, n, n1, i, nnn, cPro, cFunc +FUNCTION hbide_isHarbourFunction( cWord, cCased ) + LOCAL s, a_ - IF nCurCol > nProtoCol - n := at( "(", cProto ) ; n1 := at( ")", cProto ) - IF n > 0 .AND. n1 > 0 .AND. "," $ cProto - cProto := substr( cProto, 1, n1 ) + STATIC s_b_ - s := substr( cText, nProtoCol, nCurCol - nProtoCol ) - nArgs := 1 - FOR i := 1 TO Len( s ) - IF substr( s, i, 1 ) == "," - nArgs++ - ENDIF - NEXT - - nRows := 1; nCols := 0 - - IF nArgs > 0 - n := at( "(", cProto ) ; n1 := at( ")", cProto ) - - cFunc := substr( cProto, 1, n - 1 ) - cArgs := substr( cProto, n + 1, n1 - n - 1 ) - aArgs := hb_aTokens( cArgs, "," ) - cArgs := "" - nCols := Len( cFunc ) + 1 - FOR EACH cArg IN aArgs - cArg := alltrim( cArg ) - - nRows++ - nCols := max( nCols, Len( cArg ) + 3 ) - - cArg := StrTran( cArg, "<", "<" ) - cArg := StrTran( cArg, ">", ">" ) - - nnn := cArg:__enumIndex() - IF nnn == nArgs - cArg := "" + cArg + "" - ENDIF - IF nnn == Len( aArgs ) - cArgs += "" + "" + cFunc + "" + ; - cPro := "
" + "" + cFunc + "" + ; - "" + "(" + "" + ; - cArgs + ; - "" + ")" + "" + "
" + IF empty( s_b_ ) + s_b_:= {=>} + hb_hCaseMatch( s_b_, .f. ) + a_:= hb_aTokens( strtran( hbide_getFileContentsFromResource( "hbfunc.txt" ), chr( 13 ) + chr( 10 ), chr( 10 ) ), chr( 10 ) ) + FOR EACH s IN a_ + IF ! empty( s ) + s := alltrim( s ) + s_b_[ s ] := s ENDIF - ENDIF + NEXT ENDIF - RETURN cPro - -/*------------------------------------------------------------------------*/ - -FUNCTION hbide_formatProto( cProto ) - LOCAL n, n1, cArgs - - cProto := StrTran( cProto, "<", "<" ) - cProto := StrTran( cProto, ">", ">" ) - - n := at( "(", cProto ) - n1 := at( ")", cProto ) - - IF n > 0 .AND. n1 > 0 - cArgs := substr( cProto, n + 1, n1 - n - 1 ) - cArgs := strtran( cArgs, ",", "" + "," + "" ) - cProto := "" + "" + substr( cProto, 1, n - 1 ) + "" + ; - "" + "(" + "" + ; - cArgs + ; - "" + ")" + "" + "
" + IF cWord $ s_b_ + cCased := s_b_[ cWord ] + RETURN .T. ENDIF - RETURN cProto - -/*----------------------------------------------------------------------*/ - -STATIC FUNCTION hbide_normalizeRect( aCord, nT, nL, nB, nR ) - nT := iif( aCord[ 1 ] > aCord[ 3 ], aCord[ 3 ], aCord[ 1 ] ) - nB := iif( aCord[ 1 ] > aCord[ 3 ], aCord[ 1 ], aCord[ 3 ] ) - nL := iif( aCord[ 2 ] > aCord[ 4 ], aCord[ 4 ], aCord[ 2 ] ) - nR := iif( aCord[ 2 ] > aCord[ 4 ], aCord[ 2 ], aCord[ 4 ] ) - RETURN NIL + + RETURN .f. /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbide/editor.prg b/harbour/contrib/hbide/editor.prg index cd4828faaa..33c469a165 100644 --- a/harbour/contrib/hbide/editor.prg +++ b/harbour/contrib/hbide/editor.prg @@ -1275,6 +1275,8 @@ CLASS IdeEditor INHERIT IdeObject DATA nSplOrient INIT -1 DATA qSplitter + DATA lIsPRG INIT .t. + METHOD new( oIde, cSourceFile, nPos, nHPos, nVPos, cTheme, cView ) METHOD create( oIde, cSourceFile, nPos, nHPos, nVPos, cTheme, cView, aBookMarks ) METHOD split( nOrient, oEditP ) @@ -1367,6 +1369,8 @@ METHOD IdeEditor:create( oIde, cSourceFile, nPos, nHPos, nVPos, cTheme, cView, a ::cType := upper( strtran( ::cExt, ".", "" ) ) ::cType := iif( ::cType $ "PRG,C,CPP,H,CH,PPO,HBS", ::cType, "U" ) + ::lIsPRG := ::cType $ "PRG,HB" + ::buildTabPage( ::sourceFile ) ::qLayout := QBoxLayout( Qt_Vertical ) diff --git a/harbour/contrib/hbide/hbfunc.txt b/harbour/contrib/hbide/hbfunc.txt new file mode 100644 index 0000000000..d7004a40b6 --- /dev/null +++ b/harbour/contrib/hbide/hbfunc.txt @@ -0,0 +1,415 @@ +AAdd +Abs +AChoice +AClone +ACopy +ADel +ADir +AEval +AFields +AFill +AIns +Alert +Alias +AllTrim +AltD +Array +Asc +AScan +ASize +ASort +At +ATail +Bin2W +Bin2I +Bin2L +Bin2U +I2Bin +W2Bin +L2Bin +U2Bin +Bof +Break +Browse +CDoW +Chr +CMonth +Col +ColorSelect +CToD +CurDir +Date +Day +DBAppend +DBClearFilter +DBClearIndex +DBClearRelation +DBCloseAll +DBCloseArea +DBCommit +DBCommitAll +DBCreate +DBCreateIndex +DBDelete +DBEdit +DBEval +Dbf +DBFilter +DBGoBottom +DBGoTo +DBGoTop +DBRecall +DBReindex +DBRelation +DBRSelect +DBSeek +DBSelectArea +DBSetDriver +DBSetFilter +DBSetIndex +DBSetOrder +DBSetRelation +DBSkip +DBStruct +DBUnlock +DBUnlockAll +DBUseArea +Deleted +Descend +DevOut +DevOutPict +DevPos +Directory +DiskSpace +DispBegin +DispBox +DispCount +DispEnd +DispOut +DOSError +DoW +DToC +DToS +Empty +Eof +ErrorBlock +ErrorLevel +Eval +Exp +FClose +FCount +FCreate +FErase +FError +Field +FieldBlock +FieldGet +FieldName +FieldPos +FieldPut +FieldWBlock +File +FKLabel +FKMax +FLock +FOpen +Found +FRead +FReadStr +FRename +FSeek +FWrite +GetEnv +HardCR +Header +I2Bin +IIf +IndexExt +IndexKey +IndexOrd +Inkey +Int +IsAlpha +IsColor +IsColour +IsDigit +IsLower +IsPrinter +IsUpper +L2Bin +LastKey +LastRec +Left +Len +Log +Lower +LTrim +LUpdate +Max +MaxCol +MaxRow +MemoEdit +MemoLine +MemoRead +Memory +MemoTran +MemoWrit +MemvarBlock +Min +MLCount +MLCToPos +MLPos +Mod +Month +MPosToLC +NetErr +NetName +NextKey +NoSnow +OS +OutErr +OutStd +Pad +PadC +PadL +PadR +PCol +PCount +ProcLine +ProcName +ProcFile +PRow +QOut +QQOut +RAt +ReadExit +ReadInsert +ReadKey +ReadModal +ReadVar +RecCount +RecNo +RecSize +Replicate +RestScreen +Right +RLock +Round +Row +RTrim +SaveScreen +Scroll +Seconds +Select +Set +SetBlink +SetCancel +SetColor +SetCursor +SetKey +SetMode +SetPos +SetPrc +SoundEx +Space +Sqrt +Str +StrTran +Stuff +SubStr +Time +Tone +Transform +Trim +Type +Updated +Upper +Used +Val +ValType +Version +Word +Year + + +DbSkipper +ElapTime +Secs +hb_diskSpace +ReName +hb_fEoF +DirRemove +DirChange +MakeDir +IsDisk + +hb_gcAll +hb_hash +hb_hHasKey +hb_hPos +hb_hGet +hb_hGetDef +hb_hSet +hb_hDel +hb_hKeyAt +hb_hValueAt +hb_hPairAt +hb_hDelAt +hb_hKeys +hb_hValues +hb_hFill +hb_hClone +hb_hCopy +hb_hMerge +hb_hEval +hb_hScan +hb_hSort +hb_hCaseMatch +hb_hBinary +hb_hAutoAdd +hb_hAllocate +hb_hDefault +hb_hSetAutoAdd +hb_hsetCaseMatch +hb_hSetBinary + +hb_inetInit +hb_inetCleanUp +hb_inetCreate +hb_inetClose +hb_inetFD +hb_inetStatus +hb_inetErrorCode +hb_inetErrorDesc +hb_inetClearError +hb_inetCount +hb_inetAddress +hb_inetPort +hb_inetTimeOut +hb_inetClearTimeOut +hb_inetTimeLimit +hb_inetClearTimeLimit +hb_inetPeriodCallback +hb_inetClearPeriodCallback +hb_inetGetSndBufSize +hb_inetGetRcvBufSize +hb_inetSetSndBufSize +hb_inetSetRcvBufSize +hb_inetRecv +hb_inetRecvAll +hb_inetRecvLine +hb_inetRecvEndBlock +hb_inetDataReady +hb_inetSend +hb_inetSendAll +hb_inetGetHosts +hb_inetGetAlias +hb_inetServer +hb_inetAccept +hb_inetConnect +hb_inetConnectTIP +hb_inetDGram +hb_inetDGramBind +hb_inetDGramSend +hb_inetDGramRecv +hb_inetCrLf +hb_inetIsSocket + +hb_pValue +hb_idleAdd +hb_idleDel +hb_idleState +__keyBoard +hb_keyPut +MRow +MCol + +hb_langErrMsg +hb_langMessage +hb_langName +hb_langSelect +hb_cdpSelect +hb_Translate +hb_setMacro + +hb_mathErMode +hb_mathErBlock + +__atPrompt +__menuTo +OS +Version +hb_getEnv +__run +IsAffirm +IsNegative + +__objHasData +__objHasMethod +__objGetMsgList +__objGetMethodList +__objGetValueList +__objSetValueList +__objAddMethod +__objAddInline +__objAddData +__objModMethod +__objModInline +__objDelMethod +__objDelInline +__objDelData +__objDerivedFrom + +OrdBagExt +OrdBagName +OrdCondSet +OrdCreate +OrdDestroy +OrdFor +OrdKey + +__setCentury +__setFunction + +hb_setKeyGet +hb_setKeySave +hb_setKeyCheck + +SetTypeAhead +StrZero + +hb_valToStr +hb_ansiToOem +hb_oemToAnsi + +__xSaveScreen +__xRestScreen +__noNoAlert + + +hb_eol +hb_colorIndex + + +__input +__textSave +__textRestore +__wait + +OutErr + +__mvPublic +__mvPrivate +__mvxRelease +__mvRelease +__mvScope +__mvClear +__mvDbgInfo +__mvExist +__mvGet +__mvPut + +MemVarBlock +FieldWBlock +hb_isByRef + diff --git a/harbour/contrib/hbide/hbide.qrc b/harbour/contrib/hbide/hbide.qrc index cbf13dc242..90cdc59eee 100644 --- a/harbour/contrib/hbide/hbide.qrc +++ b/harbour/contrib/hbide/hbide.qrc @@ -321,5 +321,6 @@