diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 5f53f876df..d0a1c06c41 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,23 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-03 23:24 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + * contrib/hbide/hbide.ch + + contrib/hbide/hbide.env + * contrib/hbide/hbide.prg + * contrib/hbide/idemisc.prg + * contrib/hbide/projects/hbide.hbi + * contrib/hbide/resources/projectproperties.ui + + Started the possibility to switch to any compiler while building a project. + ! Implemented tooltips on dialog components. + + Added one more tab which holds the contents of hbide.env + residing alongside hbide.exe. + + NOTE: hbide.env is an experimental feature and as such name and location + of this file may change in future. + + ! Few more artifacts corrected. + 2009-12-05 01:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg + Added Harbour lib dir autodetection when Harbour installed diff --git a/harbour/contrib/hbide/hbide.ch b/harbour/contrib/hbide/hbide.ch index 2e3d17638b..293a35682f 100644 --- a/harbour/contrib/hbide/hbide.ch +++ b/harbour/contrib/hbide/hbide.ch @@ -105,6 +105,7 @@ #define E_oPrjSrc 10 #define E_oPrjMta 11 #define E_oPrjHbp 12 +#define E_oPrjCmp 13 diff --git a/harbour/contrib/hbide/hbide.env b/harbour/contrib/hbide/hbide.env new file mode 100644 index 0000000000..41e789e11e --- /dev/null +++ b/harbour/contrib/hbide/hbide.env @@ -0,0 +1,27 @@ +[ MinGW 4.4.1 ] +SET PATH=e:\harbour;e:\harbour\bin;c:\harbour-11\mingw\bin;c:\qt\2009.01\qt\bin;%PATH% + +set HB_ARCHITECTURE=win +set HB_COMPILER=mingw + +set HB_INSTALL_PREFIX=e:\harbour +set HB_INC_QT=c:\qt\2009.01\qt\include + +set HB_USER_PRGFLAGS=-gc3 -d__HB_WINDEBUG__ -d__HB_DEBUG__ +set HB_USER_CFLAGS=-D__HB_WINDEBUG__ -D__HB_DEBUG__ -DHB_FM_STATISTICS + + +[ Visual Studio 8 ] +call "%ProgramFiles%\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86 + +set PATH=e:\harbour;e:\harbour\bin;c:\harbour-11\mingw\bin;c:\qt\2009.01\qt\bin;%PATH% + +set HB_ARCHITECTURE=win +set HB_COMPILER=msvc +set HB_INSTALL_PREFIX=e:\harbour +set HB_INC_QT=c:\qt\2009.01\qt\include + +set HB_USER_PRGFLAGS=-gc3 +set HB_USER_CFLAGS=-DHB_FM_STATISTICS + + \ No newline at end of file diff --git a/harbour/contrib/hbide/hbide.prg b/harbour/contrib/hbide/hbide.prg index f844b2c6df..2707cae820 100644 --- a/harbour/contrib/hbide/hbide.prg +++ b/harbour/contrib/hbide/hbide.prg @@ -1461,8 +1461,8 @@ METHOD HbIde:loadProjectProperties( cProject, lNew, lFetch ) /*----------------------------------------------------------------------*/ METHOD HbIde:fetchProjectProperties() - LOCAL qPrpDlg, qPrjType, oPrjTtl, oPBOk, oPBCn, pPrpDlg, oTabWidget - LOCAL oPrjLoc, oPrjWrk, oPrjDst, oPrjOut, oPrjInc, oPrjLau, oPrjLEx, oPrjSrc, oPrjMta, oPrjHbp + LOCAL qPrpDlg, qPrjType, oPrjTtl, oPBOk, oPBCn, pPrpDlg, oTabWidget, oPBSv + LOCAL oPrjLoc, oPrjWrk, oPrjDst, oPrjOut, oPrjInc, oPrjLau, oPrjLEx, oPrjSrc, oPrjMta, oPrjHbp, oPrjCmp LOCAL cPrjLoc := hb_dirBase() + "projects" LOCAL aPrjProps := ::aPrjProps @@ -1485,13 +1485,16 @@ METHOD HbIde:fetchProjectProperties() oPrjSrc := QTextEdit():configure( Qt_FindChild( pPrpDlg, "editSources" ) ) oPrjMta := QTextEdit():configure( Qt_FindChild( pPrpDlg, "editMetaData" ) ) oPrjHbp := QTextEdit():configure( Qt_FindChild( pPrpDlg, "editHbp" ) ) + oPrjCmp := QTextEdit():configure( Qt_FindChild( pPrpDlg, "editCompilers" ) ) - ::aPrpObjs := { qPrjType, oPrjTtl, oPrjLoc, oPrjWrk, oPrjDst, oPrjOut, oPrjLau, oPrjLEx, oPrjInc, oPrjSrc, oPrjMta, oPrjHbp } + ::aPrpObjs := { qPrjType, oPrjTtl, oPrjLoc, oPrjWrk, oPrjDst, oPrjOut, oPrjLau, oPrjLEx, oPrjInc, oPrjSrc, oPrjMta, oPrjHbp, oPrjCmp } - oPBOk := XbpPushButton():new():createFromQtPtr( , , , , , , Qt_findChild( pPrpDlg, "buttonOk" ) ) - oPBOk:activate := {|| ::saveProject(), qPrpDlg:close() } oPBCn := XbpPushButton():new():createFromQtPtr( , , , , , , Qt_findChild( pPrpDlg, "buttonCn" ) ) oPBCn:activate := {|| qPrpDlg:close() } + oPBSv := XbpPushButton():new():createFromQtPtr( , , , , , , Qt_findChild( pPrpDlg, "buttonSave" ) ) + oPBSv:activate := {|| ::saveProject() } + oPBOk := XbpPushButton():new():createFromQtPtr( , , , , , , Qt_findChild( pPrpDlg, "buttonSaveExit" ) ) + oPBOk:activate := {|| ::saveProject(), qPrpDlg:close() } oTabWidget := QTabWidget():configure( Qt_FindChild( pPrpDlg, "tabWidget" ) ) Qt_Connect_Signal( QT_PTROF( oTabWidget ), "currentChanged(int)", {|o,p| ::updateHbp( p, o ) } ) @@ -1513,6 +1516,7 @@ METHOD HbIde:fetchProjectProperties() oPrjInc:setPlainText( ArrayToMemo( aPrjProps[ PRJ_PRP_FLAGS , 1 ] ) ) oPrjSrc:setPlainText( ArrayToMemo( aPrjProps[ PRJ_PRP_SOURCES , 1 ] ) ) oPrjMta:setPlainText( ArrayToMemo( aPrjProps[ PRJ_PRP_METADATA, 1 ] ) ) + oPrjCmp:setPlainText( memoread( hb_dirBase() + "hbide.env" ) ) ENDIF @@ -1527,6 +1531,7 @@ METHOD HbIde:fetchProjectProperties() METHOD HbIde:updateHbp( iIndex ) LOCAL a_, a4_1, o_, txt_, s + LOCAL cExt IF iIndex != 3 RETURN nil @@ -1539,26 +1544,35 @@ METHOD HbIde:updateHbp( iIndex ) a4_1 := SetupMetaKeys( a_ ) txt_:= {} - aadd( txt_, "# " ) - aadd( txt_, "# HBMK2 Project File" ) - aadd( txt_, "# " ) - aadd( txt_, "# " + ParseWithMetaData( o_[ E_oPrjWrk ]:text(), a4_1 ) + s_pathSep + ; - ParseWithMetaData( o_[ E_oPrjOut ]:text(), a4_1 ) + ".hbp" ) - aadd( txt_, " " ) - a_:= hb_atokens( o_[ E_oPrjInc ]:toPlainText(), _EOL ) - aeval( a_, {|e| aadd( txt_, ParseWithMetaData( e, a4_1 ) ) } ) + /* This block will be absent when submitting to hbmk engine */ + aadd( txt_, "# " + ParseWithMetaData( o_[ E_oPrjWrk ]:text(), a4_1 ) + s_pathSep + ; + ParseWithMetaData( o_[ E_oPrjOut ]:text(), a4_1 ) + ".hbp" ) aadd( txt_, " " ) - a_:= hb_atokens( o_[ E_oPrjSrc ]:toPlainText(), _EOL ) + /* Flags */ + a_:= hb_atokens( o_[ E_oPrjInc ]:toPlainText(), _EOL ) FOR EACH s IN a_ s := alltrim( s ) - IF !( "#" == left( s,1 ) ) + IF !( "#" == left( s,1 ) ) .and. !empty( s ) s := ParseWithMetaData( s, a4_1 ) + aadd( txt_, s ) ENDIF - aadd( txt_, s ) NEXT aadd( txt_, " " ) + /* Sources */ + a_:= hb_atokens( o_[ E_oPrjSrc ]:toPlainText(), _EOL ) + FOR EACH s IN a_ + s := alltrim( s ) + IF !( "#" == left( s,1 ) ) .and. !empty( s ) + s := ParseWithMetaData( s, a4_1 ) + hb_FNameSplit( s, , , @cExt ) + IF lower( cExt ) $ ".c,.cpp,.prg,.rc,.res" + aadd( txt_, s ) + ENDIF + ENDIF + NEXT + aadd( txt_, " " ) /* Final assault */ ::aPrpObjs[ E_oPrjHbp ]:setPlainText( ArrayToMemo( txt_ ) ) @@ -1568,7 +1582,7 @@ METHOD HbIde:updateHbp( iIndex ) /*----------------------------------------------------------------------*/ METHOD HbIde:saveProject() - LOCAL txt_, a_, a4_1, o_ + LOCAL txt_, a_, a4_1, o_//, s, b_, i, j LOCAL typ_:= { "Executable", "Lib", "Dll" } IF empty( o_:= ::aPrpObjs ) @@ -1589,14 +1603,11 @@ METHOD HbIde:saveProject() aadd( txt_, " " ) aadd( txt_, "[ FLAGS ]" ) - a_:= hb_atokens( o_[ E_oPrjInc ]:toPlainText(), _EOL ); aeval( a_, {|e| aadd( txt_, e ) } ) - aadd( txt_, " " ) + a_:= MemoToArray( o_[ E_oPrjInc ]:toPlainText() ); aeval( a_, {|e| aadd( txt_, e ) } ) ; aadd( txt_, " " ) aadd( txt_, "[ SOURCES ]" ) - a_:= hb_atokens( o_[ E_oPrjSrc ]:toPlainText(), _EOL ); aeval( a_, {|e| aadd( txt_, e ) } ) - aadd( txt_, " " ) + a_:= MemoToArray( o_[ E_oPrjSrc ]:toPlainText() ); aeval( a_, {|e| aadd( txt_, e ) } ) ; aadd( txt_, " " ) aadd( txt_, "[ METADATA ]" ) - a_:= hb_atokens( o_[ E_oPrjMta ]:toPlainText(), _EOL ); aeval( a_, {|e| aadd( txt_, e ) } ) - aadd( txt_, " " ) + a_:= MemoToArray( o_[ E_oPrjMta ]:toPlainText() ); aeval( a_, {|e| aadd( txt_, e ) } ) ; aadd( txt_, " " ) /* Setup Meta Keys */ a4_1 := SetupMetaKeys( a_ ) @@ -1607,6 +1618,7 @@ METHOD HbIde:saveProject() ".hbi" CreateTarget( ::cSaveTo, txt_ ) + MemoWrit( hb_dirBase() + "hbide.env", o_[ E_oPrjCmp ]:toPlainText() ) RETURN Nil diff --git a/harbour/contrib/hbide/idemisc.prg b/harbour/contrib/hbide/idemisc.prg index 9be15c0a0e..f43395c7eb 100644 --- a/harbour/contrib/hbide/idemisc.prg +++ b/harbour/contrib/hbide/idemisc.prg @@ -180,7 +180,7 @@ FUNCTION ReadSource( cTxtFile ) do WHILE ( hb_fReadLine( nHandle, @cLine ) == 0 ) aadd( aTxt, cLine ) enddo - aadd( aTxt, cLine ) + //aadd( aTxt, cLine ) fclose( nHandle ) endif @@ -349,6 +349,32 @@ FUNCTION ArrayToMemo( a_ ) aeval( a_, {|e| s += e + CRLF } ) + s += CRLF + RETURN s /*----------------------------------------------------------------------*/ + +FUNCTION MemoToArray( s ) + LOCAL a_, b_, i, j + + b_:={} + + s := trim( s ) + s := strtran( s, CRLF, _EOL ) + a_:= hb_atokens( s, _EOL ) + + FOR i := len( a_ ) TO 1 step -1 + IF !empty( a_[ i ] ) + EXIT + ENDIF + NEXT + IF i < len( a_ ) + FOR j := 1 TO i + aadd( b_, a_[ j ] ) + NEXT + ENDIF + + RETURN b_ + +/*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbide/projects/hbide.hbi b/harbour/contrib/hbide/projects/hbide.hbi index 7c8c985ffc..776aee5fda 100644 --- a/harbour/contrib/hbide/projects/hbide.hbi +++ b/harbour/contrib/hbide/projects/hbide.hbi @@ -19,8 +19,6 @@ LaunchProgram = # So you can exploit this feature to visualize project source files # in a graspable way. # -# .PRG Sources -# hbide.prg ideactions.prg idemisc.prg @@ -28,14 +26,12 @@ LaunchProgram = idestylesheets.prg idetags.prg -hbide.ch - freadlin.c -# Here and there -# -hbide.ini +hbide.ch +hbide.ini + [ METADATA ] # Meta Key/Value pair accepts any valid Harbour defined # function call returning a string value, thus making meta-data @@ -46,3 +42,4 @@ LaunchProgram = # IdeSrc = hb_dirBase() {/} = hb_osPathSeparator() + diff --git a/harbour/contrib/hbide/resources/projectproperties.ui b/harbour/contrib/hbide/resources/projectproperties.ui index fe07168f08..5333b9ca2b 100644 --- a/harbour/contrib/hbide/resources/projectproperties.ui +++ b/harbour/contrib/hbide/resources/projectproperties.ui @@ -44,6 +44,13 @@ 22 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">A project may be of type Executable|Library|Dll.</span></p></body></html> + false @@ -79,6 +86,13 @@ 20 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Title will be shown as a node in project tree.</span></p></body></html> + @@ -121,6 +135,13 @@ 20 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Project location is the folder where project definition file .hbi will be stored. &lt;Project Location&gt; plus &lt;Output Name&gt; will comprise the full file name with .hbp extension.</span></p></body></html> + @@ -147,6 +168,13 @@ 20 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Working folder will be used to host HBMK2 compliant </span><span style=" font-size:8pt; font-weight:600;">&lt;Output Name&gt;</span><span style=" font-size:8pt;"> plus </span><span style=" font-size:8pt; font-weight:600;">&lt;.hbp&gt;</span><span style=" font-size:8pt;"> and will be designated as current folder when </span><span style=" font-size:8pt; font-weight:600;">HBMK2</span><span style=" font-size:8pt;"> will be invoked.</span></p></body></html> + @@ -173,6 +201,14 @@ 20 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Destination folder is a compatibility slot and is reserved to place the &lt;Output&gt; .exe .a .lib. </p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">But currently this functionality will be achieved through the -o compiler flag.</p></body></html> + @@ -199,6 +235,13 @@ 20 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output name is used as final name for .hbi .hbp .exe .lib .a and will be added to the paths retrieved via &lt;Project Location&gt;, &lt;Working Folder&gt;, &lt;Destination Folder&gt;, etc. So this is a very important component.</p></body></html> + @@ -261,6 +304,16 @@ 109 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Compiler/Linker flags may include all commands except the source files list. Additional libraries can be included here.</span></p></body></html> + + + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(128, 170, 165, 255), stop:1 rgba(255, 255, 255, 255)); + QPlainTextEdit::NoWrap @@ -321,6 +374,19 @@ 345 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You can include hereunder any type of file which can be edited via plain text editor. One file per line. You can use meta-keys to define your source paths to make your projects location independant. </p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">NOTE:</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Only .prg .c .cpp .rc .res files will be supplied to the HBMK2. All other files will be made visible for editing in &lt;Project Tree&gt;.</p></body></html> + + + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(214, 219, 198, 255), stop:1 rgba(255, 255, 255, 255)); + QPlainTextEdit::NoWrap @@ -339,6 +405,18 @@ 265 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Meta-keys are a special way of keeping generic information which is of repeated and/or of dynamic nature. HBIDE implements meta key/value pair more comprehensively. It allows you to write an expression for the value part which get evaluated at the time project is loaded. The only point to take into consideration is that value returned by such expression must be of type character.</p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The expression is evaluated only once and keeps its value until the HBIDE interface is closed. In case of any error, the expression string itself is returned.</p></body></html> + + + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255, 206, 170, 255), stop:1 rgba(255, 255, 255, 255)); + QPlainTextEdit::NoWrap @@ -352,6 +430,9 @@ 93 + + background-color: rgb(171, 171, 171); + true @@ -389,6 +470,18 @@ Pritpal Bedi 373 + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Here you can view in real-time the resultant .hbp output which will be supplied to HBMK2. This view may give you insight about your source layout and many other facts.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600; text-decoration: underline;">Enjoy</span></p></body></html> + + + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(191, 234, 255, 255), stop:1 rgba(255, 255, 255, 255)); + QPlainTextEdit::NoWrap @@ -397,6 +490,38 @@ Pritpal Bedi + + + Compilers + + + + + 12 + 12 + 341 + 373 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">HBIDE employes the concept of keeping everything tied together. It means all complier specific environments are kept together in a convinient way and applied as per need.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">So here you view/edit all the environments you employ in your applications. At the time you will build the project, a list of stated environments will be presented to choose from.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This opens up the possibility to experiment with different compilers without re-opening the IDE or setting up the envvars manually.</span></p></body></html> + + + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255, 255, 191, 255), stop:1 rgba(255, 255, 255, 255)); + + + QPlainTextEdit::NoWrap + + + @@ -414,17 +539,17 @@ Pritpal Bedi false - + 140 444 - 241 + 117 24 - OK + Save false @@ -433,6 +558,19 @@ Pritpal Bedi true + + + + 264 + 444 + 117 + 24 + + + + Save_Exit + +