2010-09-07 16:22 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idetools.prg
+ Added: Tools & Utilities - new macros:
"source_name_less_ext"
Current editing instance's source file's name part only.
hb_fNameSplit( cSource, , @cName ) => cName
"project_title"
Last compiled project's title. If no project is yet compiled
in current session of hbIDE, then project title of current
set project is used. If no current project is set, empty
string is substituted.
"project_path"
Last compiled project's path. Rest per "project_title" above.
"project_output_path"
Last compiled project's output path. If no project has been
compiled under current session, null string is substituted.
Here no assumption is taken from current set project.
Macros added per requested by Maurizio.
This commit is contained in:
@@ -16,6 +16,28 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2010-09-07 16:22 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbide/idemisc.prg
|
||||
* contrib/hbide/ideprojmanager.prg
|
||||
* contrib/hbide/idetools.prg
|
||||
+ Added: Tools & Utilities - new macros:
|
||||
"source_name_less_ext"
|
||||
Current editing instance's source file's name part only.
|
||||
hb_fNameSplit( cSource, , @cName ) => cName
|
||||
"project_title"
|
||||
Last compiled project's title. If no project is yet compiled
|
||||
in current session of hbIDE, then project title of current
|
||||
set project is used. If no current project is set, empty
|
||||
string is substituted.
|
||||
"project_path"
|
||||
Last compiled project's path. Rest per "project_title" above.
|
||||
"project_output_path"
|
||||
Last compiled project's output path. If no project has been
|
||||
compiled under current session, null string is substituted.
|
||||
Here no assumption is taken from current set project.
|
||||
|
||||
Macros added per requested by Maurizio.
|
||||
|
||||
2010-09-08 00:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/rtl/sha1.c
|
||||
* src/rtl/sha1.h
|
||||
|
||||
@@ -104,6 +104,39 @@ FUNCTION hbide_setIde( oIde )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_setProjectOutputPath( cPath )
|
||||
LOCAL oldProjPath
|
||||
|
||||
STATIC cProjPath := ""
|
||||
|
||||
oldProjPath := cProjPath
|
||||
|
||||
IF hb_isChar( cPath )
|
||||
cProjPath := cPath
|
||||
ENDIF
|
||||
|
||||
RETURN oldProjPath
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_setProjectTitle( cTitle )
|
||||
LOCAL oldProjTitle
|
||||
|
||||
STATIC cProjTitle
|
||||
|
||||
IF empty( cProjTitle )
|
||||
cProjTitle := hbide_setIde():oPM:getCurrentProjectTitle()
|
||||
ENDIF
|
||||
oldProjTitle := cProjTitle
|
||||
|
||||
IF hb_isChar( cTitle )
|
||||
cProjTitle := cTitle
|
||||
ENDIF
|
||||
|
||||
RETURN oldProjTitle
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_execPopup( aPops, aqPos, qParent )
|
||||
LOCAL i, qPop, qPoint, qAct, cAct, xRet, pAct, a_, qSub, b_
|
||||
LOCAL qSub_:={}
|
||||
|
||||
@@ -243,6 +243,7 @@ CLASS IdeProjManager INHERIT IdeObject
|
||||
METHOD selectCurrentProject()
|
||||
|
||||
METHOD getCurrentProject( lAlert )
|
||||
METHOD getCurrentProjectTitle()
|
||||
METHOD getProjectProperties( cProjectTitle )
|
||||
|
||||
METHOD getProjectByFile( cProjectFile )
|
||||
@@ -1025,6 +1026,23 @@ METHOD IdeProjManager:setCurrentProject( cProjectName )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeProjManager:getCurrentProjectTitle()
|
||||
|
||||
IF Empty( ::aProjects )
|
||||
RETURN ""
|
||||
ENDIF
|
||||
IF ! Empty( ::cWrkProject )
|
||||
RETURN ::cWrkProject
|
||||
ENDIF
|
||||
IF Len( ::aProjects ) == 1
|
||||
::setCurrentProject( ::aProjects[ 1, 3, PRJ_PRP_PROPERTIES, 2, E_oPrjTtl ] )
|
||||
RETURN ::aProjects[ 1, 3, PRJ_PRP_PROPERTIES, 2, E_oPrjTtl ]
|
||||
ENDIF
|
||||
|
||||
RETURN ""
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeProjManager:getCurrentProject( lAlert )
|
||||
|
||||
DEFAULT lAlert TO .t.
|
||||
@@ -1363,6 +1381,9 @@ METHOD IdeProjManager:buildProject( cProject, lLaunch, lRebuild, lPPO, lViaQt )
|
||||
lRebuild := .t.
|
||||
ENDIF
|
||||
|
||||
/* Make Macros happy */
|
||||
hbide_setProjectTitle( cProject )
|
||||
|
||||
::oProject := ::getProjectByTitle( cProject )
|
||||
// attempt to save the sources if are open in editors should it be controlled by some option ?
|
||||
IF ::oINI:lSaveSourceWhenComp
|
||||
@@ -1513,30 +1534,35 @@ METHOD IdeProjManager:finished( nExitCode, nExitStatus, oProcess )
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
cTmp := ::oOutputResult:oWidget:toPlainText()
|
||||
cExe := ""
|
||||
IF empty( cExe )
|
||||
cTkn := "hbmk2: Linking... "
|
||||
IF ( n := at( cTkn, cTmp ) ) > 0
|
||||
n1 := hb_at( Chr( 10 ), cTmp, n + len( cTkn ) )
|
||||
cExe := StrTran( substr( cTmp, n + len( cTkn ), n1 - n - len( cTkn ) ), Chr( 13 ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
IF empty( cExe )
|
||||
cTkn := "hbmk2: Target up to date: "
|
||||
IF ( n := at( cTkn, cTmp ) ) > 0
|
||||
n1 := hb_at( Chr( 10 ), cTmp, n + len( cTkn ) )
|
||||
cExe := StrTran( substr( cTmp, n + len( cTkn ), n1 - n - len( cTkn ) ), Chr( 13 ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF hb_isObject( ::cargo )
|
||||
cExe := hbide_PathProc( cExe, hbide_pathToOSPath( ::cargo:cPath ) )
|
||||
ELSE
|
||||
cExe := hbide_PathProc( cExe, hbide_pathToOSPath( ::oProject:location ) )
|
||||
ENDIF
|
||||
|
||||
IF !empty( cExe )
|
||||
hb_fNameSplit( cExe, @cTmp )
|
||||
hbide_setProjectOutputPath( cTmp )
|
||||
ENDIF
|
||||
|
||||
IF ::lLaunch
|
||||
cTmp := ::oOutputResult:oWidget:toPlainText()
|
||||
cExe := ""
|
||||
IF empty( cExe )
|
||||
cTkn := "hbmk2: Linking... "
|
||||
IF ( n := at( cTkn, cTmp ) ) > 0
|
||||
n1 := hb_at( Chr( 10 ), cTmp, n + len( cTkn ) )
|
||||
cExe := StrTran( substr( cTmp, n + len( cTkn ), n1 - n - len( cTkn ) ), Chr( 13 ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
IF empty( cExe )
|
||||
cTkn := "hbmk2: Target up to date: "
|
||||
IF ( n := at( cTkn, cTmp ) ) > 0
|
||||
n1 := hb_at( Chr( 10 ), cTmp, n + len( cTkn ) )
|
||||
cExe := StrTran( substr( cTmp, n + len( cTkn ), n1 - n - len( cTkn ) ), Chr( 13 ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF hb_isObject( ::cargo )
|
||||
cExe := hbide_PathProc( cExe, hbide_pathToOSPath( ::cargo:cPath ) )
|
||||
ELSE
|
||||
cExe := hbide_PathProc( cExe, hbide_pathToOSPath( ::oProject:location ) )
|
||||
ENDIF
|
||||
|
||||
::outputText( " " )
|
||||
IF empty( cExe )
|
||||
::outputText( "<font color=red>" + "Executable could not been detected from linker output!" + "</font>" )
|
||||
|
||||
@@ -856,9 +856,21 @@ METHOD IdeToolsManager:macro2value( cMacro )
|
||||
CASE cMacroL == "source_name"
|
||||
cVal := cFile + cExt
|
||||
|
||||
CASE cMacroL == "source_name_less_ext"
|
||||
cVal := cFile
|
||||
|
||||
CASE cMacroL == "source_ext"
|
||||
cVal := cExt
|
||||
|
||||
CASE cMacroL == "project_title"
|
||||
cVal := hbide_setProjectTitle()
|
||||
|
||||
CASE cMacroL == "project_path"
|
||||
cVal := ::oPM:getProjectPathFromTitle( hbide_setProjectTitle() )
|
||||
|
||||
CASE cMacroL == "project_output_path"
|
||||
cVal := hbide_setProjectOutputPath()
|
||||
|
||||
OTHERWISE
|
||||
cVal := hb_GetEnv( cMacro )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user