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.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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 := "<font color=red><b>" + cArg + "</b></font>"
|
||||
ENDIF
|
||||
IF nnn == Len( aArgs )
|
||||
cArgs += "<br>" + " " + cArg
|
||||
ELSE
|
||||
cArgs += "<br>" + " " + cArg + "<font color=red><b>" + "," + "</b></font>"
|
||||
ENDIF
|
||||
NEXT
|
||||
nCols += iif( nCols <= Len( cFunc ), 0, 1 )
|
||||
|
||||
//cPro := "<p style='white-space:pre'>" + "<font color=darkgreen><b>" + cFunc + "</b></font>" + ;
|
||||
cPro := "<p style='white-space:pre'>" + "<b>" + cFunc + "</b>" + ;
|
||||
"<font color=red><b>" + "(" + "</b></font>" + ;
|
||||
cArgs + ;
|
||||
"<font color=red><b>" + ")" + "</font>" + "</b></p>"
|
||||
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, ",", "<font color=red><b>" + "," + "</b></font>" )
|
||||
cProto := "<p style='white-space:pre'>" + "<b>" + substr( cProto, 1, n - 1 ) + "</b>" + ;
|
||||
"<font color=red><b>" + "(" + "</b></font>" + ;
|
||||
cArgs + ;
|
||||
"<font color=red><b>" + ")" + "</font>" + "</b></p>"
|
||||
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 := "<font color=red><b>" + cArg + "</b></font>"
|
||||
ENDIF
|
||||
IF nnn == Len( aArgs )
|
||||
cArgs += "<br>" + " " + cArg
|
||||
ELSE
|
||||
cArgs += "<br>" + " " + cArg + "<font color=red><b>" + "," + "</b></font>"
|
||||
ENDIF
|
||||
NEXT
|
||||
nCols += iif( nCols <= Len( cFunc ), 0, 1 )
|
||||
|
||||
//cPro := "<p style='white-space:pre'>" + "<font color=darkgreen><b>" + cFunc + "</b></font>" + ;
|
||||
cPro := "<p style='white-space:pre'>" + "<b>" + cFunc + "</b>" + ;
|
||||
"<font color=red><b>" + "(" + "</b></font>" + ;
|
||||
cArgs + ;
|
||||
"<font color=red><b>" + ")" + "</font>" + "</b></p>"
|
||||
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, ",", "<font color=red><b>" + "," + "</b></font>" )
|
||||
cProto := "<p style='white-space:pre'>" + "<b>" + substr( cProto, 1, n - 1 ) + "</b>" + ;
|
||||
"<font color=red><b>" + "(" + "</b></font>" + ;
|
||||
cArgs + ;
|
||||
"<font color=red><b>" + ")" + "</font>" + "</b></p>"
|
||||
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.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
@@ -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 )
|
||||
|
||||
415
harbour/contrib/hbide/hbfunc.txt
Normal file
415
harbour/contrib/hbide/hbfunc.txt
Normal file
@@ -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
|
||||
|
||||
@@ -321,5 +321,6 @@
|
||||
<file>resources/split_h.png</file>
|
||||
<file>resources/split_v.png</file>
|
||||
<file>docs/faq.htm</file>
|
||||
<file>hbfunc.txt</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -2323,3 +2323,8 @@ FUNCTION hbide_restEnvironment_byResource( oIde, cFile )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_getFileContentsFromResource( cFile )
|
||||
|
||||
RETURN QResource( ":/" + cFile ):data()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
Reference in New Issue
Block a user