2010-03-03 01:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/THbQtUI.prg
! A massive effort to stream-line GPF at exit.
At least now I know that it is caused by the way
QLayout has relation with parent and children both.
To some extent I am been able to cover it, but not
completely, at least till now.
* contrib/hbxbp/xbptreeview.prg
+ Implemented tooltip and changed the way context menu is fired.
- contrib/hbide/projects/hbide.hbi
! Totally abandoned .hbi project protocol.
* contrib/hbide/resources/environments.ui
* contrib/hbide/resources/environments.uic
* contrib/hbide/resources/projectpropertiesex.ui
* contrib/hbide/resources/projectpropertiesex.uic
* contrib/hbide/resources/themesex.ui
* contrib/hbide/resources/themesex.uic
! Simplified layouts to cover GPFs at exit.
* contrib/hbide/hbide.hbp
+ Added ideenviron.prg.
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
+ contrib/hbide/ideenviron.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesources.prg
* contrib/hbide/idethemes.prg
+ Restructured project management.
+ Implemented: .hbp as project definition protocol.
Exploited -3rd= token to keep hbIDE specific data.
Now you can open any existing .hbp and build it
out of the box. You must have set the build env
beforehand OR take use of hbIDE's .env protocol.
+ Implemented: relative paths. The relative paths are
are computed downwards and from .hbp location.
Upper level paths still remain absolute. If your
projects structure is well thought of, then this
feature means this project tree is transferable
across different OS's and drives.
The relative paths posed many difficulties. The
facts had to be resolved while search operations,
while opening the files from Project Tree, and more.
Now all are in perfect syncronization.
+ Managed: .hbp filters on source level and are
handelled transparently. In Project Tree source
is shown without filters. Search operations are
also transparent. So, an entry like:
{msvc|bcc}vouch/scandocument.prg
is respected by hbIDE.
! The other changes:
- Project Properties dialogs contents.
It is now very simple to understand and manage.
- Concept of meta-data is eliminated.
- The output executable is automatically recognized
from linker output. So "Destination folder" is
kept for only "Launch" option which, in fact, does
not know where executable is located. "Build & Launch"
and "Rebuild & Launch" options do not look for
"Destination folder" at all.
- Project location is always pulled from .hbp file.
It is not retained anywhere to make the project
portable.
- Many more facts I cannot recollect at present.
; TODO: {hbmk2} slot in hbide.env protocol to pass
command-line parameters.
; NOTE: delete hbide.ini, idesettings.ini, all .hbi's
and start with clean state.
Regression is highly possible and I am eager
to hear from you. This commit is just for
stramlining project management, though there
few other features implemented less important
to mention.
This commit is contained in:
@@ -17,6 +17,102 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-03-03 01:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
* contrib/hbqt/hbqt_garbage.h
|
||||
* contrib/hbqt/THbQtUI.prg
|
||||
! A massive effort to stream-line GPF at exit.
|
||||
At least now I know that it is caused by the way
|
||||
QLayout has relation with parent and children both.
|
||||
To some extent I am been able to cover it, but not
|
||||
completely, at least till now.
|
||||
|
||||
* contrib/hbxbp/xbptreeview.prg
|
||||
+ Implemented tooltip and changed the way context menu is fired.
|
||||
|
||||
- contrib/hbide/projects/hbide.hbi
|
||||
! Totally abandoned .hbi project protocol.
|
||||
|
||||
* contrib/hbide/resources/environments.ui
|
||||
* contrib/hbide/resources/environments.uic
|
||||
* contrib/hbide/resources/projectpropertiesex.ui
|
||||
* contrib/hbide/resources/projectpropertiesex.uic
|
||||
* contrib/hbide/resources/themesex.ui
|
||||
* contrib/hbide/resources/themesex.uic
|
||||
! Simplified layouts to cover GPFs at exit.
|
||||
|
||||
* contrib/hbide/hbide.hbp
|
||||
+ Added ideenviron.prg.
|
||||
|
||||
* contrib/hbide/hbide.prg
|
||||
* contrib/hbide/idedocks.prg
|
||||
* contrib/hbide/ideeditor.prg
|
||||
+ contrib/hbide/ideenviron.prg
|
||||
* contrib/hbide/idefindreplace.prg
|
||||
* contrib/hbide/ideharbourhelp.prg
|
||||
* contrib/hbide/idemisc.prg
|
||||
* contrib/hbide/ideobject.prg
|
||||
* contrib/hbide/ideprojmanager.prg
|
||||
* contrib/hbide/idesources.prg
|
||||
* contrib/hbide/idethemes.prg
|
||||
|
||||
+ Restructured project management.
|
||||
|
||||
+ Implemented: .hbp as project definition protocol.
|
||||
Exploited -3rd= token to keep hbIDE specific data.
|
||||
Now you can open any existing .hbp and build it
|
||||
out of the box. You must have set the build env
|
||||
beforehand OR take use of hbIDE's .env protocol.
|
||||
|
||||
+ Implemented: relative paths. The relative paths are
|
||||
are computed downwards and from .hbp location.
|
||||
Upper level paths still remain absolute. If your
|
||||
projects structure is well thought of, then this
|
||||
feature means this project tree is transferable
|
||||
across different OS's and drives.
|
||||
|
||||
The relative paths posed many difficulties. The
|
||||
facts had to be resolved while search operations,
|
||||
while opening the files from Project Tree, and more.
|
||||
Now all are in perfect syncronization.
|
||||
|
||||
+ Managed: .hbp filters on source level and are
|
||||
handelled transparently. In Project Tree source
|
||||
is shown without filters. Search operations are
|
||||
also transparent. So, an entry like:
|
||||
{msvc|bcc}vouch/scandocument.prg
|
||||
is respected by hbIDE.
|
||||
|
||||
! The other changes:
|
||||
- Project Properties dialogs contents.
|
||||
It is now very simple to understand and manage.
|
||||
|
||||
- Concept of meta-data is eliminated.
|
||||
|
||||
- The output executable is automatically recognized
|
||||
from linker output. So "Destination folder" is
|
||||
kept for only "Launch" option which, in fact, does
|
||||
not know where executable is located. "Build & Launch"
|
||||
and "Rebuild & Launch" options do not look for
|
||||
"Destination folder" at all.
|
||||
|
||||
- Project location is always pulled from .hbp file.
|
||||
It is not retained anywhere to make the project
|
||||
portable.
|
||||
|
||||
- Many more facts I cannot recollect at present.
|
||||
|
||||
; TODO: {hbmk2} slot in hbide.env protocol to pass
|
||||
command-line parameters.
|
||||
|
||||
; NOTE: delete hbide.ini, idesettings.ini, all .hbi's
|
||||
and start with clean state.
|
||||
|
||||
Regression is highly possible and I am eager
|
||||
to hear from you. This commit is just for
|
||||
stramlining project management, though there
|
||||
few other features implemented less important
|
||||
to mention.
|
||||
|
||||
2010-03-03 03:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* contrib/hbmisc/hbeditc.c
|
||||
! One fix to prev right away. (in former strcpy)
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
../hbxbp/hbxbp.hbc
|
||||
|
||||
-inc
|
||||
|
||||
-w3 -es2 -gc3
|
||||
|
||||
-w3
|
||||
-es2
|
||||
-gc3
|
||||
-ohbide
|
||||
|
||||
# Trick to make QT 4.6 link using default Harbour build
|
||||
-ldflag={msvc}-nodefaultlib:msvcrt.lib
|
||||
-ldflag={msvc}-defaultlib:libcmt.lib
|
||||
|
||||
|
||||
../hbxbp/hbxbp.hbc
|
||||
hbide.prg
|
||||
ideobject.prg
|
||||
idestylesheets.prg
|
||||
@@ -29,5 +23,8 @@ idethemes.prg
|
||||
ideprojmanager.prg
|
||||
idesources.prg
|
||||
ideharbourhelp.prg
|
||||
ideenviron.prg
|
||||
|
||||
ideparseexpr.c
|
||||
|
||||
|
||||
|
||||
@@ -79,6 +79,8 @@
|
||||
|
||||
#define UNU( x ) HB_SYMBOL_UNUSED( x )
|
||||
|
||||
#define __HBIDE_DEBUG__
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
REQUEST HB_QT
|
||||
@@ -91,6 +93,11 @@ STATIC s_pathSep
|
||||
PROCEDURE Main( cProjIni )
|
||||
LOCAL oIde
|
||||
|
||||
#ifdef __HBIDE_DEBUG__
|
||||
hb_setEnv( "HB_TR_DEBUG" , "HB_TR_ALWAYS" )
|
||||
hb_setEnv( "HB_TR_WINOUT", "YES" )
|
||||
#endif
|
||||
|
||||
/* Testing paths */
|
||||
#ifdef __TESTING_PATHS__
|
||||
hbide_dbg( hbmk2_PathMakeRelative( "C:\dev_projects", "C:\dev_sources\vouch\myfile.prg", .f. ) )
|
||||
@@ -132,6 +139,7 @@ CLASS HbIde
|
||||
DATA oSkeltnDock
|
||||
DATA oSkeltnUI
|
||||
DATA oFindDock
|
||||
DATA oHL
|
||||
|
||||
DATA oUI
|
||||
|
||||
@@ -179,6 +187,7 @@ CLASS HbIde
|
||||
DATA oMenu
|
||||
DATA oTBar
|
||||
DATA oStackedWidget
|
||||
DATA oStackedWidgetMisc
|
||||
DATA oFont
|
||||
DATA oProjTree
|
||||
DATA oEditTree
|
||||
@@ -279,6 +288,15 @@ CLASS HbIde
|
||||
METHOD execEditorAction( cKey )
|
||||
METHOD execWindowsAction( cKey )
|
||||
|
||||
/* Methods to be evaluated as macros */
|
||||
METHOD getWord( lSelect )
|
||||
METHOD getLine( lSelect )
|
||||
METHOD getText()
|
||||
//
|
||||
METHOD evalMacro( cString )
|
||||
METHOD fetchAndExecMacro()
|
||||
METHOD showApplicationCursor( nCursor )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -301,6 +319,21 @@ METHOD HbIde:new( cProjIni )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbIde:showApplicationCursor( nCursor )
|
||||
|
||||
STATIC qCrs
|
||||
|
||||
IF empty( nCursor )
|
||||
QApplication():restoreOverrideCursor()
|
||||
ELSE
|
||||
qCrs := QCursor():new( nCursor )
|
||||
QApplication():setOverrideCursor( qCrs )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbIde:create( cProjIni )
|
||||
#if 1
|
||||
LOCAL qPixmap, qSplash, nStart
|
||||
@@ -310,6 +343,7 @@ METHOD HbIde:create( cProjIni )
|
||||
qSplash:setWindowFlags( hb_bitOr( Qt_WindowStaysOnTopHint, qSplash:windowFlags() ) )
|
||||
qSplash:setPixmap( qPixmap )
|
||||
qSplash:show()
|
||||
::showApplicationCursor( Qt_BusyCursor )
|
||||
QApplication():processEvents()
|
||||
#endif
|
||||
|
||||
@@ -348,12 +382,15 @@ METHOD HbIde:create( cProjIni )
|
||||
/* Load IDE|User defined Themes */
|
||||
hbide_loadThemes( Self )
|
||||
|
||||
/* Harbour Help Object */
|
||||
::oHL := ideHarbourHelp():new():create( Self )
|
||||
|
||||
/* DOCKing windows and ancilliary windows */
|
||||
::oDK := IdeDocks():new():create( Self )
|
||||
/* IDE's Main Window */
|
||||
::oDK:buildDialog()
|
||||
/* Actions */
|
||||
::oAC := IdeActions():new( Self ):create()
|
||||
::oAC := IdeActions():new():create( Self )
|
||||
/* Docking Widgets */
|
||||
::oDK:buildDockWidgets()
|
||||
/* Toolbar */
|
||||
@@ -425,6 +462,7 @@ METHOD HbIde:create( cProjIni )
|
||||
DO WHILE .t.
|
||||
QApplication():processEvents()
|
||||
IF seconds()-nStart > 5
|
||||
::showApplicationCursor()
|
||||
qSplash:close()
|
||||
qSplash := NIL
|
||||
EXIT
|
||||
@@ -493,6 +531,8 @@ METHOD HbIde:create( cProjIni )
|
||||
hbide_dbg( "Before ::oDlg:destroy()", memory( 1001 ), hbqt_getMemUsed() )
|
||||
hbide_dbg( " " )
|
||||
|
||||
::oHL:destroy()
|
||||
::oThemes:destroy()
|
||||
::oFindInFiles:destroy()
|
||||
::oFR:destroy()
|
||||
::oPM:destroy()
|
||||
@@ -593,6 +633,9 @@ METHOD HbIde:execAction( cKey )
|
||||
CASE "Help"
|
||||
::oHelpDock:show()
|
||||
EXIT
|
||||
CASE "CommandPrompt"
|
||||
::fetchAndExecMacro()
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
::manageFocusInEditor()
|
||||
@@ -922,6 +965,7 @@ METHOD HbIde:updateProjectTree( aPrj )
|
||||
LOCAL oProject, n, oSource, oItem, nProjExists, oP, oParent, cPath
|
||||
|
||||
oProject := IdeProject():new( Self, aPrj )
|
||||
|
||||
IF empty( oProject:title )
|
||||
RETURN Self
|
||||
ENDIF
|
||||
@@ -966,7 +1010,6 @@ METHOD HbIde:updateProjectTree( aPrj )
|
||||
/* Reassign all children nodes */
|
||||
FOR EACH cPath IN oProject:hPaths
|
||||
oItem := oParent:addItem( cPath:__enumKey() )
|
||||
oItem:oWidget:setTooltip( cPath:__enumKey() )
|
||||
aadd( ::aProjData, { oItem, "Path", oParent, cPath:__enumKey(), oProject:title, oProject } )
|
||||
NEXT
|
||||
/* Souces */
|
||||
@@ -977,7 +1020,6 @@ METHOD HbIde:updateProjectTree( aPrj )
|
||||
IF n > 0
|
||||
oP := ::aProjData[ n, TRE_OITEM ]
|
||||
oItem := oP:addItem( oSource:file + oSource:ext )
|
||||
oItem:oWidget:setTooltip( oSource:file + oSource:ext )
|
||||
aadd( ::aProjData, { oItem, "Source File", oP, oSource:original, oProject:title } )
|
||||
ENDIF
|
||||
NEXT
|
||||
@@ -987,7 +1029,7 @@ METHOD HbIde:updateProjectTree( aPrj )
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbIde:manageItemSelected( oXbpTreeItem )
|
||||
LOCAL n, cHbi, aPrj
|
||||
LOCAL n, cHbp, aPrj
|
||||
|
||||
IF oXbpTreeItem == ::oProjRoot
|
||||
n := -1
|
||||
@@ -1004,13 +1046,13 @@ METHOD HbIde:manageItemSelected( oXbpTreeItem )
|
||||
CASE ::aProjData[ n, TRE_TYPE ] == "Project Name"
|
||||
aPrj := ::aProjData[ n, 5 ]
|
||||
|
||||
cHbi := hbide_pathToOSPath( aPrj[ PRJ_PRP_PROPERTIES, 2, PRJ_PRP_LOCATION ] + s_pathSep + ;
|
||||
aPrj[ PRJ_PRP_PROPERTIES, 2, PRJ_PRP_OUTPUT ] + ".hbi" )
|
||||
cHbp := hbide_pathToOSPath( aPrj[ PRJ_PRP_PROPERTIES, 2, PRJ_PRP_LOCATION ] + s_pathSep + ;
|
||||
aPrj[ PRJ_PRP_PROPERTIES, 2, PRJ_PRP_OUTPUT ] + ".hbp" )
|
||||
|
||||
::oPM:loadProperties( cHbi, .f., .t., .f. )
|
||||
::oPM:loadProperties( cHbp, .f., .t., .f. )
|
||||
|
||||
CASE ::aProjData[ n, TRE_TYPE ] == "Source File"
|
||||
::oSM:editSource( ::aProjData[ n, TRE_ORIGINAL ] )
|
||||
::oSM:editSource( hbide_stripFilter( ::aProjData[ n, TRE_ORIGINAL ] ) )
|
||||
|
||||
CASE ::aProjData[ n, TRE_TYPE ] == "Opened Source"
|
||||
::oEM:setSourceVisible( ::aProjData[ n, TRE_DATA ] )
|
||||
@@ -1044,9 +1086,9 @@ METHOD HbIde:manageProjectContext( mp1, mp2, oXbpTreeItem )
|
||||
CASE n == 0 // Source File - nothing to do
|
||||
CASE n == -2 // "Files"
|
||||
CASE n == -1 // Project Root
|
||||
aadd( aPops, { "New Project" , {|| ::oPM:loadProperties( , .t., .t., .t. ) } } )
|
||||
aadd( aPops, { "New Project" , {|| ::oPM:loadProperties( NIL, .t., .t., .t. ) } } )
|
||||
aadd( aPops, { "" } )
|
||||
aadd( aPops, { "Load Project" , {|| ::oPM:loadProperties( , .f., .f., .t. ) } } )
|
||||
aadd( aPops, { "Load Project" , {|| ::oPM:loadProperties( NIL, .f., .f., .t. ) } } )
|
||||
aadd( aPops, { "" } )
|
||||
//
|
||||
IF !empty( ::oEV:getNames() )
|
||||
@@ -1062,7 +1104,7 @@ METHOD HbIde:manageProjectContext( mp1, mp2, oXbpTreeItem )
|
||||
CASE ::aProjData[ n, TRE_TYPE ] == "Project Name"
|
||||
aPrj := ::aProjData[ n, TRE_DATA ]
|
||||
cHbi := aPrj[ PRJ_PRP_PROPERTIES, 2, PRJ_PRP_LOCATION ] + s_pathSep + ;
|
||||
aPrj[ PRJ_PRP_PROPERTIES, 2, PRJ_PRP_OUTPUT ] + ".hbi"
|
||||
aPrj[ PRJ_PRP_PROPERTIES, 2, PRJ_PRP_OUTPUT ] + ".hbp"
|
||||
cHbi := hbide_pathToOSPath( cHbi )
|
||||
//
|
||||
IF Alltrim( Upper( ::cWrkProject ) ) != Alltrim( Upper( oXbpTreeItem:caption ) )
|
||||
@@ -1261,13 +1303,59 @@ METHOD HbIde:setCodec( cCodec )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
// Macro Compilable Methods
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION testPaths()
|
||||
METHOD HbIde:getWord( lSelect )
|
||||
RETURN ::oEM:getWord( lSelect )
|
||||
|
||||
hbide_dbg( hbide_pathProc( "C:\dev_sources\vouch\abc.prg", "C:\harbour\contrib\hbide\projects\hbide.hbi" ) )
|
||||
hbide_dbg( hbide_pathProc( "C:\harbour\contrib\hbide\projects\vouch\abc.prg", "C:\harbour\contrib\hbide\projects\hbide.hbi" ) )
|
||||
METHOD HbIde:getLine( lSelect )
|
||||
RETURN ::oEM:getLine( lSelect )
|
||||
|
||||
RETURN NIL
|
||||
METHOD HbIde:getText()
|
||||
RETURN ::oEM:getText()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbIde:fetchAndExecMacro()
|
||||
LOCAL cStr
|
||||
|
||||
cStr := hbide_fetchAString( ::oDlg:oWidget, "", "Macro", "Compilation" )
|
||||
IF !empty( cStr )
|
||||
::evalMacro( cStr )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbIde:evalMacro( cString )
|
||||
LOCAL bError := ErrorBlock( {|o| break( o ) } )
|
||||
LOCAL oErr, bBlock, n, cBlock, cParam
|
||||
|
||||
IF ( n := at( "|", cString ) ) > 0
|
||||
cString := substr( cString, n + 1 )
|
||||
IF ( n := at( "|", cString ) ) == 0
|
||||
RETURN Self
|
||||
ENDIF
|
||||
cParam := substr( cString, 1, n - 1 )
|
||||
cString := substr( cString, n + 1 )
|
||||
cBlock := "{|o," + cParam + "|" + cString + " }"
|
||||
ELSE
|
||||
cBlock := "{|o| " + cString + " }"
|
||||
ENDIF
|
||||
cBlock := strtran( cBlock, "::", "o:" )
|
||||
|
||||
bBlock := &( cBlock )
|
||||
|
||||
hbide_dbg( cBlock )
|
||||
BEGIN SEQUENCE
|
||||
eval( bBlock, self )
|
||||
RECOVER USING oErr
|
||||
MsgBox( "Wrongly defined block. Syntax is |var| method_call( var ) --- " + oErr:description )
|
||||
END SEQUENCE
|
||||
|
||||
ErrorBlock( bError )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -151,6 +151,23 @@ METHOD IdeDocks:destroy()
|
||||
LOCAL oUI := ::oIde:oSkeltnUI
|
||||
LOCAL qTBtn
|
||||
|
||||
::disconnect( ::oOutputResult:oWidget , "copyAvailable(bool)" )
|
||||
|
||||
::disconnect( ::oEnvironDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oPropertiesDock:oWidget, "visibilityChanged(bool)" )
|
||||
::disconnect( ::oThemesDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDocViewDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFindDock:oWidget , "visibilityChanged(bool)" )
|
||||
#if 0 /* Not Implemented */
|
||||
::disconnect( ::oHelpDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockPT:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockED:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockB2:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFuncDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oSkeltnDock:oWidget , "visibilityChanged(bool)" )
|
||||
#endif
|
||||
|
||||
/* ?? */
|
||||
::disconnect( oUI:q_buttonNew , "clicked()" )
|
||||
::disconnect( oUI:q_buttonRename, "clicked()" )
|
||||
::disconnect( oUI:q_buttonDelete, "clicked()" )
|
||||
@@ -170,6 +187,10 @@ METHOD IdeDocks:destroy()
|
||||
qTBtn := NIL
|
||||
NEXT
|
||||
|
||||
FOR EACH qTBtn IN ::oIde:aMarkTBtns
|
||||
::disconnect( qTBtn, "clicked()" )
|
||||
NEXT
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -271,7 +292,7 @@ METHOD IdeDocks:execEvent( nMode, p )
|
||||
|
||||
CASE nMode == dockDocViewer_visibilityChanged
|
||||
IF p
|
||||
::oDocViewDock:qtObject:show()
|
||||
::oHL:show()
|
||||
ENDIF
|
||||
|
||||
CASE nMode == dockProperties_visibilityChanged
|
||||
@@ -281,7 +302,7 @@ METHOD IdeDocks:execEvent( nMode, p )
|
||||
|
||||
CASE nMode == docEnvironments_visibilityChanged
|
||||
IF p
|
||||
::oPM:manageEnvironments()
|
||||
::oEV:show()
|
||||
ENDIF
|
||||
|
||||
CASE nMode == dockFindInFiles_visibilityChanged
|
||||
@@ -675,11 +696,6 @@ METHOD IdeDocks:buildProjectTree()
|
||||
/* Add dock widget to Main Window */
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_LeftDockWidgetArea, ::oDockPT:oWidget, Qt_Vertical )
|
||||
|
||||
IF ::oIde:aIni[ INI_HBIDE, ProjectTreeVisible ] == "NO"
|
||||
::oIde:lProjTreeVisible := .f.
|
||||
::oDockPT:hide()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -718,11 +734,6 @@ METHOD IdeDocks:buildEditorTree()
|
||||
/* Add dock widget to Main Window */
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_LeftDockWidgetArea, ::oDockED:oWidget, Qt_Vertical )
|
||||
|
||||
IF ::oIde:aIni[ INI_HBIDE, ProjectTreeVisible ] == "NO"
|
||||
::oIde:lProjTreeVisible := .f.
|
||||
::oDockED:hide()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -932,14 +943,23 @@ METHOD IdeDocks:buildDocViewer()
|
||||
::oIde:oDocViewDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockDocViewer", "Harbour Documentation", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDocViewDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::oDocViewDock:qtObject := ideHarbourHelp():new():create( ::oIde )
|
||||
|
||||
::connect( ::oDocViewDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockDocViewer_visibilityChanged, p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildEnvironDock()
|
||||
|
||||
::oIde:oEnvironDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockEnvironments", "Compiler Environments", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oEnvironDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oEnvironDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docEnvironments_visibilityChanged, p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildSkeletonWidget()
|
||||
LOCAL oUI
|
||||
|
||||
@@ -1146,13 +1166,3 @@ METHOD IdeDocks:toggleBottomDocks()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildEnvironDock()
|
||||
|
||||
::oIde:oEnvironDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockEnvironments", "Compiler Environments", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oEnvironDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oEnvironDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docEnvironments_visibilityChanged, p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -146,6 +146,10 @@ CLASS IdeEditsManager INHERIT IdeObject
|
||||
METHOD toggleSelectionMode()
|
||||
METHOD toggleLineNumbers()
|
||||
|
||||
METHOD getText()
|
||||
METHOD getWord( lSelect )
|
||||
METHOD getLine( lSelect )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -601,6 +605,39 @@ METHOD IdeEditsManager:toggleLineNumbers()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEditsManager:getText()
|
||||
LOCAL oEdit, cText := ""
|
||||
|
||||
IF !empty( oEdit := ::getEditObjectCurrent() )
|
||||
cText := oEdit:getText()
|
||||
ENDIF
|
||||
|
||||
RETURN cText
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEditsManager:getWord( lSelect )
|
||||
LOCAL oEdit, cText := ""
|
||||
|
||||
IF !empty( oEdit := ::getEditObjectCurrent() )
|
||||
cText := oEdit:getWord( lSelect )
|
||||
ENDIF
|
||||
|
||||
RETURN cText
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEditsManager:getLine( lSelect )
|
||||
LOCAL oEdit, cText := ""
|
||||
|
||||
IF !empty( oEdit := ::getEditObjectCurrent() )
|
||||
cText := oEdit:getLine( lSelect )
|
||||
ENDIF
|
||||
|
||||
RETURN cText
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEditsManager:convertSelection( cKey )
|
||||
LOCAL oEdit
|
||||
|
||||
@@ -1093,7 +1130,7 @@ METHOD IdeEditor:create( oIde, cSourceFile, nPos, nHPos, nVPos, cTheme, cView )
|
||||
METHOD IdeEditor:destroy()
|
||||
LOCAL n, oEdit
|
||||
|
||||
hbide_dbg( "IdeEditor:destroy()", 0, ::sourceFile )
|
||||
//hbide_dbg( "IdeEditor:destroy()", 0, ::sourceFile )
|
||||
|
||||
::qHiliter := NIL
|
||||
|
||||
@@ -1136,7 +1173,7 @@ hbide_dbg( "IdeEditor:destroy()", 0, ::sourceFile )
|
||||
::oIde:lDockRVisible := .f.
|
||||
ENDIF
|
||||
ENDIF
|
||||
hbide_dbg( "IdeEditor:destroy()", 1, "-------------------------------------" )
|
||||
//hbide_dbg( "IdeEditor:destroy()", 1, "-------------------------------------" )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1394,8 +1431,13 @@ CLASS IdeEdit INHERIT IdeObject
|
||||
METHOD handleCurrentIndent()
|
||||
METHOD handlePreviousWord( lUpdatePrevWord )
|
||||
METHOD loadFuncHelp()
|
||||
METHOD clickFuncHelp()
|
||||
METHOD toggleLineNumbers()
|
||||
|
||||
METHOD getWord( lSelect )
|
||||
METHOD getLine( lSelect )
|
||||
METHOD getText()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1544,7 +1586,7 @@ METHOD IdeEdit:execEvent( nMode, oEdit, p, p1 )
|
||||
EXIT
|
||||
|
||||
CASE selectionChanged
|
||||
hbide_dbg( "selectionChanged()" )
|
||||
//hbide_dbg( "selectionChanged()" )
|
||||
::oEditor:qCqEdit := qEdit
|
||||
::oEditor:qCoEdit := oEdit
|
||||
|
||||
@@ -1698,6 +1740,7 @@ METHOD IdeEdit:execKeyEvent( nMode, nEvent, p )
|
||||
CASE 1001
|
||||
IF p == QEvent_MouseButtonDblClick
|
||||
::lCopyWhenDblClicked := .t.
|
||||
::clickFuncHelp()
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
@@ -1867,6 +1910,60 @@ METHOD IdeEdit:caseInvert()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:getText()
|
||||
LOCAL qCursor := QTextCursor():configure( ::qEdit:textCursor() )
|
||||
|
||||
RETURN qCursor:selectedText()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:getWord( lSelect )
|
||||
LOCAL cText
|
||||
LOCAL qCursor := QTextCursor():configure( ::qEdit:textCursor() )
|
||||
|
||||
DEFAULT lSelect TO .F.
|
||||
|
||||
qCursor:select( QTextCursor_WordUnderCursor )
|
||||
cText := qCursor:selectedText()
|
||||
|
||||
IF lSelect
|
||||
::qEdit:setTextCursor( qCursor )
|
||||
ENDIF
|
||||
|
||||
RETURN cText
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:getLine( lSelect )
|
||||
LOCAL cText
|
||||
LOCAL qCursor := QTextCursor():configure( ::qEdit:textCursor() )
|
||||
|
||||
DEFAULT lSelect TO .F.
|
||||
|
||||
qCursor:select( QTextCursor_LineUnderCursor )
|
||||
cText := qCursor:selectedText()
|
||||
|
||||
IF lSelect
|
||||
::qEdit:setTextCursor( qCursor )
|
||||
ENDIF
|
||||
|
||||
RETURN cText
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:clickFuncHelp()
|
||||
LOCAL cWord
|
||||
|
||||
IF !empty( cWord := ::getWord( .f. ) )
|
||||
IF !empty( ::oDocViewDock:qtObject )
|
||||
::oDocViewDock:qtObject:jumpToFunction( cWord )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:loadFuncHelp()
|
||||
LOCAL qEdit, qCursor, qTextBlock, cText, cWord, nCol
|
||||
|
||||
@@ -1877,7 +1974,7 @@ METHOD IdeEdit:loadFuncHelp()
|
||||
cText := qTextBlock:text()
|
||||
nCol := qCursor:columnNumber()
|
||||
cWord := hbide_getPreviousWord( cText, nCol )
|
||||
hbide_dbg( "IdeEdit:loadFuncHelp()", cWord )
|
||||
|
||||
IF !empty( cWord )
|
||||
IF !empty( ::oDocViewDock:qtObject )
|
||||
::oDocViewDock:qtObject:jumpToFunction( cWord )
|
||||
|
||||
284
harbour/contrib/hbide/ideenviron.prg
Normal file
284
harbour/contrib/hbide/ideenviron.prg
Normal file
@@ -0,0 +1,284 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2009-2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*
|
||||
* EkOnkar
|
||||
* ( The LORD is ONE )
|
||||
*
|
||||
* Harbour-Qt IDE
|
||||
*
|
||||
* Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* 01Mar2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "hbqt.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
//
|
||||
// Class IdeEnvironments
|
||||
//
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeEnvironments INHERIT IdeObject
|
||||
|
||||
DATA cEnvFile
|
||||
DATA aNames INIT {}
|
||||
DATA aEnvrns INIT {}
|
||||
DATA aShellContents INIT {}
|
||||
DATA aCommons INIT {}
|
||||
|
||||
METHOD new( oIDE, cEnvFile )
|
||||
METHOD create( oIDE, cEnvFile )
|
||||
METHOD destroy()
|
||||
METHOD parse( cEnvFile )
|
||||
METHOD prepareBatch( cEnvName )
|
||||
METHOD getNames() INLINE ::aNames
|
||||
METHOD saveEnv()
|
||||
METHOD show()
|
||||
METHOD execEnv( nMode, p )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:new( oIDE, cEnvFile )
|
||||
|
||||
::oIDE := oIDE
|
||||
::cEnvFile := cEnvFile
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:create( oIDE, cEnvFile )
|
||||
|
||||
DEFAULT oIDE TO ::oIDE
|
||||
DEFAULT cEnvFile TO ::cEnvFile
|
||||
|
||||
::oIDE := oIDE
|
||||
::cEnvFile := cEnvFile
|
||||
|
||||
IF !empty( ::cEnvFile ) .AND. hb_fileExists( ::cEnvFile )
|
||||
::parse( ::cEnvFile )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:destroy()
|
||||
hbide_dbg(" ,,,,,, IdeEnvironments:destroy()", 0 )
|
||||
IF !empty( ::oUI )
|
||||
hbide_dbg("IdeEnvironments:destroy()", 1 )
|
||||
::oUI:destroy()
|
||||
hbide_dbg("IdeEnvironments:destroy()", 2 )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:parse( cEnvFile )
|
||||
LOCAL s, cPart, cEnv, a_, cKey, cVal
|
||||
LOCAL aContents := hbide_readSource( cEnvFile )
|
||||
|
||||
::aNames := {}
|
||||
::aEnvrns := {}
|
||||
a_ := {}
|
||||
cEnv := ""
|
||||
|
||||
FOR EACH s IN aContents
|
||||
s := alltrim( s )
|
||||
IF empty( s ) .OR. left( s, 1 ) == "#" /* Remark */
|
||||
LOOP
|
||||
ENDIF
|
||||
IF left( s, 1 ) == "["
|
||||
s := alltrim( strtran( s, "[", "" ) )
|
||||
s := alltrim( strtran( s, "]", "" ) )
|
||||
IF lower( s ) == "common"
|
||||
cPart := "common"
|
||||
ELSE
|
||||
cPart := "environment"
|
||||
IF ( s != cEnv ) .AND. !empty( cEnv )
|
||||
aadd( ::aNames, cEnv )
|
||||
aadd( ::aEnvrns, { cEnv, a_ } )
|
||||
ENDIF
|
||||
cEnv := s
|
||||
a_:= {}
|
||||
ENDIF
|
||||
ELSE
|
||||
IF cPart == "common"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aCommons, { lower( cKey ), cVal } ) /* Format Later */
|
||||
ENDIF
|
||||
ELSEIF cPart == "environment"
|
||||
IF hbide_parseFilter( s, @cKey, @cVal )
|
||||
aadd( a_, { lower( cKey ), cVal } )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
IF !empty( cEnv ) .AND. !empty( a_ )
|
||||
aadd( ::aNames, cEnv )
|
||||
aadd( ::aEnvrns, { cKey, a_ } )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:prepareBatch( cEnvName )
|
||||
LOCAL n, s, a_, aCmd
|
||||
LOCAL cFile := space( 255 )
|
||||
|
||||
IF ( n := ascan( ::aEnvrns, {|e_| e_[ 1 ] == cEnvName } ) ) > 0
|
||||
aCmd := {}
|
||||
FOR EACH a_ IN ::aEnvrns[ n, 2 ]
|
||||
s := a_[ 1 ]
|
||||
IF s == "content"
|
||||
aadd( aCmd, a_[ 2 ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
cFile := hbide_getShellCommandsTempFile( aCmd )
|
||||
ENDIF
|
||||
|
||||
RETURN cFile
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:show()
|
||||
|
||||
IF empty( ::oUI )
|
||||
::oUI := HbQtUI():new( hbide_uic( "environments" ), ::oEnvironDock:oWidget ):build()
|
||||
::oEnvironDock:qtObject := Self //::oUI
|
||||
::oEnvironDock:oWidget:setWidget( ::oUI )
|
||||
|
||||
::oUI:q_buttonPathMk2:setIcon( hbide_image( "folder" ) )
|
||||
::oUI:q_buttonPathEnv:setIcon( hbide_image( "folder" ) )
|
||||
|
||||
::oUI:signal( "buttonCn" , "clicked()", {|| ::oEnvironDock:hide() } )
|
||||
::oUI:signal( "buttonSave" , "clicked()", {|| ::saveEnv() } )
|
||||
::oUI:signal( "buttonSaveExit", "clicked()", {|| ::saveEnv(), ::oEnvironDock:hide() } )
|
||||
::oUI:signal( "buttonPathMk2" , "clicked()", {|| ::execEnv( 1 ) } )
|
||||
::oUI:signal( "buttonPathEnv" , "clicked()", {|| ::execEnv( 2 ) } )
|
||||
ENDIF
|
||||
|
||||
::oUI:q_editPathMk2 :setText( ::aINI[ INI_HBIDE, PathMk2 ] )
|
||||
::oUI:q_editPathEnv :setText( ::aINI[ INI_HBIDE, PathEnv ] )
|
||||
::oUI:q_editCompilers:setPlainText( hb_memoread( hbide_pathFile( ::aINI[ INI_HBIDE, PathEnv ], "hbide.env" ) ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:execEnv( nMode, p )
|
||||
LOCAL cPath, cP
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
DO CASE
|
||||
CASE nMode == 1
|
||||
cPath := hbide_fetchAFile( ::oDlg, "Select location of hbmk2", ;
|
||||
{ { "Harbour Projects Builder - hbmk2", "*.exe" } }, ::cWrkPathMK2 )
|
||||
IF !empty( cPath )
|
||||
hb_fNameSplit( cPath, @cP )
|
||||
::cWrkPathMK2 := cP
|
||||
::oUI:q_editPathMk2:setText( hbide_pathStripLastSlash( cP ) )
|
||||
ENDIF
|
||||
|
||||
CASE nMode == 2
|
||||
cPath := hbide_fetchAFile( ::oDlg, "Select location of hbide.env", ;
|
||||
{ { "Harbour Projects", "*.env" } }, ::cWrkPathEnv )
|
||||
IF !empty( cPath )
|
||||
hb_fNameSplit( cPath, @cP )
|
||||
::oIDE:cWrkPathEnv := cP
|
||||
::oUI:q_editPathEnv:setText( hbide_pathStripLastSlash( cP ) )
|
||||
|
||||
::oUI:q_editCompilers:setPlainText( ;
|
||||
hb_memoread( hbide_pathFile( ::oUI:q_editPathEnv:text(), "hbide.env" ) ) )
|
||||
ENDIF
|
||||
|
||||
ENDCASE
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:saveEnv()
|
||||
LOCAL cText, cPathMk2, cPathEnv, cEnvFile
|
||||
LOCAL oUIEnv := ::oUI
|
||||
|
||||
cPathMk2 := oUIEnv:q_editPathMk2:text()
|
||||
cPathEnv := oUIEnv:q_editPathEnv:text()
|
||||
|
||||
::oIDE:aINI[ INI_HBIDE, PathMk2 ] := cPathMk2
|
||||
::oIDE:aINI[ INI_HBIDE, PathEnv ] := cPathEnv
|
||||
//
|
||||
::oIDE:cWrkPathMk2 := cPathMk2
|
||||
::oIDE:cWrkPathEnv := cPathEnv
|
||||
|
||||
IF !empty( cText := oUIEnv:q_editCompilers:toPlainText() )
|
||||
cEnvFile := hbide_pathFile( cPathEnv, "hbide.env" )
|
||||
hb_MemoWrit( cEnvFile, cText )
|
||||
|
||||
::parse( cEnvFile )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -683,7 +683,6 @@ METHOD IdeFindInFiles:buildUI()
|
||||
::oUI:q_comboExpr:setFocus()
|
||||
|
||||
/* Attach all signals */
|
||||
::connect( ::oUI:oWidget, "rejected()", {|| ::execEvent( "buttonClose" ) } )
|
||||
//
|
||||
::oUI:signal( "buttonClose" , "clicked()" , {| | ::execEvent( "buttonClose" ) } )
|
||||
::oUI:signal( "buttonFolder" , "clicked()" , {| | ::execEvent( "buttonFolder" ) } )
|
||||
@@ -709,14 +708,6 @@ METHOD IdeFindInFiles:execEvent( cEvent, p )
|
||||
|
||||
CASE "buttonClose"
|
||||
::oFindDock:hide()
|
||||
#if 0
|
||||
IF ::lInDockWindow
|
||||
::oFindDock:hide()
|
||||
ELSE
|
||||
::oIde:aIni[ INI_HBIDE, FindInFilesDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget )
|
||||
::destroy()
|
||||
ENDIF
|
||||
#endif
|
||||
EXIT
|
||||
|
||||
CASE "comboFind"
|
||||
@@ -900,7 +891,7 @@ METHOD IdeFindInFiles:show()
|
||||
|
||||
METHOD IdeFindInFiles:find()
|
||||
LOCAL lPrg, lC, lCpp, lH, lCh, lRc, a_
|
||||
LOCAL lTabs, lSubF, lSubP, cFolder, qItem, aFilter, cExt, cMask, cWrkFolder
|
||||
LOCAL lTabs, lSubF, lSubP, cFolder, qItem, aFilter, cExt, cMask, cWrkFolder, cProjPath
|
||||
LOCAL nStart, nEnd, cSource, aDir, cProjTitle, aProjFiles
|
||||
LOCAL aOpenSrc := {}
|
||||
LOCAL aFolderSrc := {}
|
||||
@@ -977,9 +968,10 @@ METHOD IdeFindInFiles:find()
|
||||
FOR EACH cProjTitle IN aProjs
|
||||
a_:= {}
|
||||
IF !empty( aProjFiles := ::oPM:getSourcesByProjectTitle( cProjTitle ) )
|
||||
cProjPath := ::oPM:getProjectPathFromTitle( cProjTitle )
|
||||
FOR EACH cSource IN aProjFiles
|
||||
IF hbide_isSourceOfType( cSource, aFilter )
|
||||
aadd( a_, cSource )
|
||||
aadd( a_, hbide_syncProjPath( cProjPath, hbide_stripFilter( cSource ) ) )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
@@ -219,7 +219,7 @@ METHOD IdeHarbourHelp:create( oIde )
|
||||
METHOD IdeHarbourHelp:show()
|
||||
|
||||
IF empty( ::oUI )
|
||||
::oUI := HbQtUI():new( ::resPath + "docviewgenerator.uic", ::oDlg:oWidget ):build()
|
||||
::oUI := HbQtUI():new( hbide_uic( "docviewgenerator" ) ):build()
|
||||
|
||||
::oDocViewDock:oWidget:setWidget( ::oUI )
|
||||
|
||||
@@ -239,14 +239,12 @@ METHOD IdeHarbourHelp:show()
|
||||
|
||||
METHOD IdeHarbourHelp:destroy()
|
||||
|
||||
IF empty( ::oUI )
|
||||
RETURN Self
|
||||
IF !empty( ::oUI )
|
||||
::destroyTrees()
|
||||
|
||||
::oUI:destroy()
|
||||
ENDIF
|
||||
|
||||
::destroyTrees()
|
||||
|
||||
::oUI:destroy()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -592,6 +590,8 @@ METHOD IdeHarbourHelp:refreshDocTree()
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
::showApplicationCursor( Qt_BusyCursor )
|
||||
|
||||
/* Clean Environment */
|
||||
::destroyTrees()
|
||||
::oUI:q_treeDoc:clear()
|
||||
@@ -654,6 +654,8 @@ METHOD IdeHarbourHelp:refreshDocTree()
|
||||
|
||||
::oUI:q_treeDoc:expandItem( oRoot )
|
||||
|
||||
::showApplicationCursor()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -713,20 +715,6 @@ STATIC FUNCTION hbide_buildPathFromSubs( aSubs, nUpto )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_stripRoot( cRoot, cPath )
|
||||
LOCAL cLRoot, cLPath, cP
|
||||
|
||||
cLRoot := hbide_pathNormalized( cRoot, .t. )
|
||||
cLPath := hbide_pathNormalized( cPath, .t. )
|
||||
IF left( cLPath, len( cLRoot ) ) == cLRoot
|
||||
cP := substr( cLPath, len( cRoot ) + 1 )
|
||||
RETURN cP
|
||||
ENDIF
|
||||
|
||||
RETURN cPath
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHarbourHelp:populateIndex()
|
||||
LOCAL a_, qItem, oFunc, oParent, n
|
||||
LOCAL aUnq := {}
|
||||
|
||||
@@ -350,35 +350,53 @@ FUNCTION hbide_fetchHbiStructFromFile( cProject )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_strip3rd( s )
|
||||
LOCAL n
|
||||
IF ( n := at( "-3rd=", s ) ) > 0
|
||||
RETURN substr( s, n + 5 )
|
||||
ENDIF
|
||||
RETURN s
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_pullHbiStruct( a_ )
|
||||
LOCAL n, s, nPart, cKey, cVal, ss
|
||||
LOCAL n, s, nPart, cKey, cVal, ss, c3rd
|
||||
LOCAL aPrp := { "Type", "Title", "Location", "WorkingFolder", "DestinationFolder", ;
|
||||
"Output", "LaunchParams", "LaunchProgram", "BackupFolder" }
|
||||
|
||||
LOCAL a1_0 := afill( array( PRJ_PRP_PRP_VRBLS ), "" )
|
||||
LOCAL a1_1 := {}
|
||||
local a2_0 := {}
|
||||
local a2_1 := {}
|
||||
local a3_0 := {}
|
||||
local a3_1 := {}
|
||||
local a4_0 := {}
|
||||
local a4_1 := {}
|
||||
LOCAL a2_0 := {}
|
||||
LOCAL a2_1 := {}
|
||||
LOCAL a3_0 := {}
|
||||
LOCAL a3_1 := {}
|
||||
LOCAL a4_0 := {}
|
||||
LOCAL a4_1 := {}
|
||||
|
||||
IF ascan( a_, {|e| "-3rd=[ HBIDEVERSION ]" $ e } ) == 0
|
||||
c3rd := ""
|
||||
ELSE
|
||||
c3rd := "-3rd="
|
||||
ENDIF
|
||||
|
||||
IF .t.
|
||||
FOR EACH ss IN a_
|
||||
s := alltrim( ss )
|
||||
|
||||
IF !empty( s )
|
||||
DO CASE
|
||||
CASE s == "[ PROPERTIES ]"
|
||||
CASE s == c3rd + "[ HBIDEVERSION ]"
|
||||
nPart := 0
|
||||
* nPart := PRJ_PRP_VERSION
|
||||
CASE s == c3rd + "[ PROPERTIES ]"
|
||||
nPart := PRJ_PRP_PROPERTIES
|
||||
CASE s == "[ FLAGS ]"
|
||||
CASE s == c3rd + "[ FLAGS ]"
|
||||
nPart := PRJ_PRP_FLAGS
|
||||
CASE s == "[ SOURCES ]"
|
||||
CASE s == c3rd + "[ SOURCES ]"
|
||||
nPart := PRJ_PRP_SOURCES
|
||||
CASE s == "[ METADATA ]"
|
||||
CASE s == c3rd + "[ METADATA ]"
|
||||
nPart := PRJ_PRP_METADATA
|
||||
OTHERWISE
|
||||
s := hbide_strip3rd( s )
|
||||
DO CASE
|
||||
CASE nPart == PRJ_PRP_PROPERTIES
|
||||
IF ( n := at( "=", s ) ) > 0
|
||||
@@ -395,6 +413,9 @@ STATIC FUNCTION hbide_pullHbiStruct( a_ )
|
||||
aadd( a3_0, s )
|
||||
|
||||
CASE nPart == PRJ_PRP_METADATA
|
||||
IF !empty( c3rd )
|
||||
s := strtran( s, c3rd, "" )
|
||||
ENDIF
|
||||
aadd( a4_0, s )
|
||||
IF !( "#" == left( s,1 ) )
|
||||
IF ( n := at( "=", s ) ) > 0
|
||||
@@ -646,10 +667,15 @@ FUNCTION hbide_pathStripLastSlash( cPath )
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_pathToOSPath( cPath )
|
||||
LOCAL n
|
||||
|
||||
cPath := strtran( cPath, "/" , hb_osPathSeparator() )
|
||||
cPath := strtran( cPath, "\" , hb_osPathSeparator() )
|
||||
|
||||
IF ( n := at( ":", cPath ) ) > 0
|
||||
cPath := upper( substr( cPath, 1, n - 1 ) ) + substr( cPath, n )
|
||||
ENDIF
|
||||
|
||||
RETURN cPath
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1270,10 +1296,6 @@ FUNCTION hbide_fetchHbpData( cHBPFileName )
|
||||
|
||||
aParamList := hbide_HBPGetParamList( cHBPFileName )
|
||||
|
||||
hbide_dbg( "hbmk2 files" ) ; AEval( hbide_HBPParamListFilter( aParamList, HBIDE_HBP_PTYPE_FILES ), {| tmp | hbide_dbg( tmp ) } )
|
||||
hbide_dbg( "hbmk2 options" ) ; AEval( hbide_HBPParamListFilter( aParamList, HBIDE_HBP_PTYPE_OPTIONS ), {| tmp | hbide_dbg( tmp ) } )
|
||||
hbide_dbg( "hbide comments" ) ; AEval( hbide_HBPParamListFilter( aParamList, HBIDE_HBP_PTYPE_HBIDEPARAMS ), {| tmp | hbide_dbg( tmp ) } )
|
||||
|
||||
RETURN { hbide_HBPParamListFilter( aParamList, HBIDE_HBP_PTYPE_OPTIONS ), ;
|
||||
hbide_HBPParamListFilter( aParamList, HBIDE_HBP_PTYPE_FILES ) }
|
||||
|
||||
@@ -1621,3 +1643,82 @@ FUNCTION hbide_isPrevParent( cRoot, cPath )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_space2amp( cStr )
|
||||
RETURN strtran( cStr, " ", chr( 38 ) )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_amp2space( cStr )
|
||||
RETURN strtran( cStr, chr( 38 ), " " )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_stripFilter( cSrc )
|
||||
LOCAL n, n1
|
||||
|
||||
DO WHILE .t.
|
||||
IF ( n := at( "{", cSrc ) ) == 0
|
||||
EXIT
|
||||
ENDIF
|
||||
IF ( n1 := at( "}", cSrc ) ) == 0
|
||||
EXIT
|
||||
ENDIF
|
||||
cSrc := substr( cSrc, 1, n - 1 ) + substr( cSrc, n1 + 1 )
|
||||
ENDDO
|
||||
|
||||
RETURN cSrc
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_stripRoot( cRoot, cPath )
|
||||
LOCAL cLRoot, cLPath, cP
|
||||
|
||||
IF !empty( cRoot ) .AND. ! ( right( cRoot, 1 ) $ "/\" )
|
||||
cRoot += "/"
|
||||
ENDIF
|
||||
|
||||
cLRoot := hbide_pathNormalized( cRoot, .t. )
|
||||
cLPath := hbide_pathNormalized( cPath, .t. )
|
||||
IF left( cLPath, len( cLRoot ) ) == cLRoot
|
||||
cP := substr( cLPath, len( cRoot ) + 1 )
|
||||
RETURN cP
|
||||
ENDIF
|
||||
|
||||
RETURN cPath
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_syncRoot( cRoot, cPath )
|
||||
LOCAL cPth, cFile, cExt
|
||||
LOCAL cPathProc := hbide_pathProc( cRoot, cPath )
|
||||
|
||||
hb_fNameSplit( cPath, @cPth, @cFile, @cExt )
|
||||
|
||||
//hbide_dbg( "hbide_syncRoot( cRoot, cPath )", cPathProc, hbide_pathToOSpath( cPathProc + "/" + cFile + cExt ) )
|
||||
|
||||
RETURN hbide_pathToOSpath( cPathProc + "/" + cFile + cExt )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_array2cmdParams( aHbp )
|
||||
LOCAL cCmd := " "
|
||||
|
||||
aeval( aHbp, {|e| cCmd += e + " " } )
|
||||
|
||||
RETURN cCmd
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_syncProjPath( cRoot, cSource )
|
||||
|
||||
IF left( cSource, 1 ) $ "./\" .OR. substr( cSource, 2, 1 ) == ":"
|
||||
RETURN cSource
|
||||
ENDIF
|
||||
|
||||
IF !empty( cRoot ) .AND. ! ( right( cRoot, 1 ) $ "/\" )
|
||||
cRoot += "/"
|
||||
ENDIF
|
||||
|
||||
RETURN cRoot + cSource
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -90,6 +90,7 @@ CLASS IdeObject
|
||||
ACCESS oAC INLINE ::oIde:oAC
|
||||
ACCESS oSM INLINE ::oIde:oSM
|
||||
ACCESS oEV INLINE ::oIde:oEV
|
||||
ACCESS oHL INLINE ::oIde:oHL
|
||||
|
||||
ACCESS oFindDock INLINE ::oIde:oFindDock
|
||||
ACCESS oFindInFiles INLINE ::oIde:oFindInFiles
|
||||
@@ -163,6 +164,7 @@ CLASS IdeObject
|
||||
ACCESS oDockB2 INLINE ::oIde:oDockB2
|
||||
ACCESS oOutputResult INLINE ::oIde:oOutputResult
|
||||
ACCESS oStackedWidget INLINE ::oIde:oStackedWidget
|
||||
ACCESS oStackedWidgetMisc INLINE ::oIde:oStackedWidgetMisc
|
||||
ACCESS oFrame INLINE ::oIde:oFrame
|
||||
ACCESS oHelpDock INLINE ::oIde:oHelpDock
|
||||
ACCESS oSkeltnDock INLINE ::oIde:oSkeltnDock
|
||||
@@ -203,6 +205,7 @@ CLASS IdeObject
|
||||
METHOD manageFocusInEditor( ... ) INLINE ::oIde:manageFocusInEditor( ... )
|
||||
METHOD setCodec( ... ) INLINE ::oIde:setCodec( ... )
|
||||
METHOD updateTitleBar( ... ) INLINE ::oIde:updateTitleBar( ... )
|
||||
METHOD showApplicationCursor( ... ) INLINE ::oIde:showApplicationCursor( ... )
|
||||
|
||||
METHOD editSource( ... ) INLINE ::oSM:editSource( ... )
|
||||
METHOD getEditorByIndex( ... ) INLINE ::oSM:getEditorByIndex( ... )
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -248,7 +248,7 @@ METHOD IdeSourcesManager:closeSource( nTab, lCanCancel, lCanceled )
|
||||
LOCAL lSave, n, oEditor
|
||||
|
||||
DEFAULT nTab TO ::oEM:getTabCurrent()
|
||||
hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 0 )
|
||||
//hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 0 )
|
||||
IF !empty( oEditor := ::oEM:getEditorByTabPosition( nTab ) )
|
||||
|
||||
DEFAULT lCanCancel TO .F.
|
||||
@@ -275,9 +275,9 @@ hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 0 )
|
||||
RETURN .F.
|
||||
ENDIF
|
||||
ENDIF
|
||||
hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 1, "before: oEditor:destroy()" )
|
||||
//hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 1, "before: oEditor:destroy()" )
|
||||
oEditor:destroy()
|
||||
hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 2, "after: oEditor:destroy()" )
|
||||
//hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 2, "after: oEditor:destroy()" )
|
||||
::oIde:updateTitleBar()
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -218,7 +218,10 @@ METHOD IdeThemes:create( oIde, cIniFile )
|
||||
METHOD IdeThemes:destroy()
|
||||
LOCAL qAct
|
||||
|
||||
IF !empty( ::oThemes )
|
||||
IF !empty( ::oUI )
|
||||
::qHiliter := NIL
|
||||
::qEdit := NIL
|
||||
|
||||
FOR EACH qAct IN ::aApplyAct
|
||||
::disconnect( qAct, "triggered(bool)" )
|
||||
qAct := NIL
|
||||
@@ -226,7 +229,12 @@ METHOD IdeThemes:destroy()
|
||||
::qMenuApply := NIL
|
||||
::aApplyAct := NIL
|
||||
|
||||
::oUI:destroy()
|
||||
::oThemesDock:oWidget:setWidget( QWidget():new() )
|
||||
hbide_dbg( 0,1,"IdeThemes:destroy()" )
|
||||
IF !empty( ::oUI )
|
||||
::oUI:destroy()
|
||||
hbide_dbg( 1,1,"IdeThemes:destroy()" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
@@ -424,7 +432,7 @@ METHOD IdeThemes:setSyntaxHilighting( qEdit, cTheme, lNew )
|
||||
|
||||
::setForeBackGround( qEdit, cTheme )
|
||||
|
||||
qHiliter := HBQSyntaxHighlighter():new()// qEdit:document() )
|
||||
qHiliter := HBQSyntaxHighlighter():new()
|
||||
|
||||
FOR EACH a_ IN ::aPatterns
|
||||
IF !empty( aAttr := ::getThemeAttribute( a_[ 1 ], cTheme ) )
|
||||
@@ -442,14 +450,17 @@ METHOD IdeThemes:setSyntaxHilighting( qEdit, cTheme, lNew )
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeThemes:show()
|
||||
#if 0
|
||||
LOCAL qAct
|
||||
#endif
|
||||
|
||||
IF empty( ::oUI )
|
||||
::lCreating := .t.
|
||||
|
||||
::oUI := HbQtUI():new( ::oIde:resPath + "themesex.uic", ::oThemesDock:oWidget ):build()
|
||||
//::oUI := HbQtUI():new( hbide_uic( "themesex" ), ::oThemesDock:oWidget ):build()
|
||||
::oUI := HbQtUI():new( hbide_uic( "themesex" ) ):build()
|
||||
|
||||
::oThemesDock:qtObject := ::oUI
|
||||
//::oThemesDock:qtObject := Self
|
||||
::oThemesDock:oWidget:setWidget( ::oUI )
|
||||
|
||||
::oUI:signal( "comboThemes" , "currentIndexChanged(int)", {|i| ::nCurTheme := i+1, ::setTheme( i ) } )
|
||||
@@ -466,12 +477,11 @@ METHOD IdeThemes:show()
|
||||
|
||||
::oUI:signal( "buttonClose" , "clicked()" , {|| ::oThemesDock:hide() } )
|
||||
|
||||
* ::oIde:setPosAndSizeByIni( ::oUI:oWidget, ThemesDialogGeometry )
|
||||
|
||||
/* Fill Themes Dialog Values */
|
||||
#if 0
|
||||
::oUI:setWindowTitle( GetKeyValue( ::aControls, "dialogTitle" ) )
|
||||
//
|
||||
::oUI:qObj[ "labelItem" ]:setText( GetKeyValue( ::aControls, "labelItem" , "Item" ) )
|
||||
::oUI:qObj[ "labelItems" ]:setText( GetKeyValue( ::aControls, "labelItems" , "Items" ) )
|
||||
::oUI:qObj[ "labelTheme" ]:setText( GetKeyValue( ::aControls, "labelTheme" , "Theme" ) )
|
||||
//
|
||||
::oUI:qObj[ "checkItalic" ]:setText( GetKeyValue( ::aControls, "checkItalic" , "Italic" ) )
|
||||
@@ -483,7 +493,9 @@ METHOD IdeThemes:show()
|
||||
::oUI:qObj[ "buttonSaveAs" ]:setText( GetKeyValue( ::aControls, "buttonSaveAs" , "SaveAs" ) )
|
||||
::oUI:qObj[ "buttonClose" ]:setText( GetKeyValue( ::aControls, "buttonClose" , "Close" ) )
|
||||
::oUI:qObj[ "buttonCopy" ]:setText( GetKeyValue( ::aControls, "buttonCopy" , "Copy" ) )
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
::qMenuApply := QMenu():new()
|
||||
//
|
||||
qAct := QAction():new( ::qMenuApply )
|
||||
@@ -502,11 +514,12 @@ METHOD IdeThemes:show()
|
||||
aadd( ::aApplyAct, qAct )
|
||||
//
|
||||
::oUI:q_buttonApply:setMenu( ::qMenuApply )
|
||||
#endif
|
||||
|
||||
aeval( ::aThemes, {|e_| ::oUI:qObj[ "comboThemes" ]:addItem( e_[ 1 ] ) } )
|
||||
aeval( ::aItems , {|e_| ::oUI:qObj[ "comboItems" ]:addItem( e_[ 2 ] ) } )
|
||||
aeval( ::aThemes, {|e_| ::oUI:q_comboThemes:addItem( e_[ 1 ] ) } )
|
||||
aeval( ::aItems , {|e_| ::oUI:q_comboItems:addItem( e_[ 2 ] ) } )
|
||||
|
||||
::qEdit := ::oUI:qObj[ "plainThemeText" ]
|
||||
::qEdit := ::oUI:q_plainThemeText
|
||||
::qEdit:setPlainText( GetSource() )
|
||||
::qEdit:setLineWrapMode( QTextEdit_NoWrap )
|
||||
::qEdit:setFont( ::oIde:oFont:oWidget )
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
[ PROPERTIES ]
|
||||
Type = Executable
|
||||
Title = Harbour-Qt IDE
|
||||
Location = <IdeSrc>projects
|
||||
WorkingFolder = <IdeSrc>projects
|
||||
DestinationFolder = <IdeSrc>projects
|
||||
Output = hbide
|
||||
LaunchParams =
|
||||
LaunchProgram =
|
||||
BackupFolder =
|
||||
|
||||
[ FLAGS ]
|
||||
../../hbxbp/hbxbp.hbc
|
||||
-inc
|
||||
-w3
|
||||
-es2
|
||||
-workdir=<IdeSrc>projects/${hb_plat}/${hb_comp}/hbide
|
||||
|
||||
[ SOURCES ]
|
||||
#
|
||||
<IdeSrc>hbide.prg
|
||||
<IdeSrc>ideobject.prg
|
||||
<IdeSrc>idestylesheets.prg
|
||||
<IdeSrc>idetags.prg
|
||||
<IdeSrc>idemisc.prg
|
||||
<IdeSrc>ideactions.prg
|
||||
<IdeSrc>ideeditor.prg
|
||||
<IdeSrc>idefindreplace.prg
|
||||
<IdeSrc>idedocks.prg
|
||||
<IdeSrc>idesaveload.prg
|
||||
<IdeSrc>iderequests.prg
|
||||
<IdeSrc>idethemes.prg
|
||||
<IdeSrc>ideprojmanager.prg
|
||||
<IdeSrc>idesources.prg
|
||||
#
|
||||
<IdeSrc>ideparseexpr.c
|
||||
#
|
||||
<IdeSrc>hbide.ch
|
||||
<IdeSrc>hbide.ini
|
||||
|
||||
[ METADATA ]
|
||||
#
|
||||
IdeSrc = hb_dirBase()
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QTabWidget" name="tabWidgetEnv">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
@@ -23,8 +23,72 @@
|
||||
<attribute name="title">
|
||||
<string>Environments</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="2" column="1">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelPathMk2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Path to hbmk2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="editPathMk2"/>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QToolButton" name="buttonPathMk2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelPathEnv">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Path to hbide.env</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="editPathEnv"/>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QToolButton" name="buttonPathEnv">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="3">
|
||||
<widget class="QPlainTextEdit" name="editCompilers">
|
||||
<property name="toolTip">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
@@ -45,115 +109,39 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutHbmk2">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelPathHbmk2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Path to hbmk2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editPathMk2"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonPathMk2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutEnv">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelPathEnv">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Path to hbIDE.env</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editPathEnv"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonPathEnv">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutEnvButtons">
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSaveExit">
|
||||
<property name="text">
|
||||
<string>Save and Exit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSave">
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonCn">
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="buttonSaveExit">
|
||||
<property name="text">
|
||||
<string>Save and Exit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="buttonSave">
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="buttonCn">
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading ui file 'environments.ui'
|
||||
**
|
||||
** Created: Wed Feb 24 16:25:24 2010
|
||||
** Created: Mon Mar 1 13:02:17 2010
|
||||
** by: Qt User Interface Compiler version 4.5.2
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
||||
@@ -15,7 +15,6 @@
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
#include <QtGui/QGridLayout>
|
||||
#include <QtGui/QHBoxLayout>
|
||||
#include <QtGui/QHeaderView>
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QLineEdit>
|
||||
@@ -23,7 +22,6 @@
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QTabWidget>
|
||||
#include <QtGui/QToolButton>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -31,20 +29,17 @@ QT_BEGIN_NAMESPACE
|
||||
class Ui_FormEnvironments
|
||||
{
|
||||
public:
|
||||
QVBoxLayout *verticalLayout;
|
||||
QGridLayout *gridLayout_2;
|
||||
QTabWidget *tabWidgetEnv;
|
||||
QWidget *tabCompilers;
|
||||
QGridLayout *gridLayout_5;
|
||||
QPlainTextEdit *editCompilers;
|
||||
QHBoxLayout *horizontalLayoutHbmk2;
|
||||
QLabel *labelPathHbmk2;
|
||||
QGridLayout *gridLayout;
|
||||
QLabel *labelPathMk2;
|
||||
QLineEdit *editPathMk2;
|
||||
QToolButton *buttonPathMk2;
|
||||
QHBoxLayout *horizontalLayoutEnv;
|
||||
QLabel *labelPathEnv;
|
||||
QLineEdit *editPathEnv;
|
||||
QToolButton *buttonPathEnv;
|
||||
QHBoxLayout *horizontalLayoutEnvButtons;
|
||||
QPlainTextEdit *editCompilers;
|
||||
QPushButton *buttonSaveExit;
|
||||
QPushButton *buttonSave;
|
||||
QPushButton *buttonCn;
|
||||
@@ -54,91 +49,76 @@ public:
|
||||
if (FormEnvironments->objectName().isEmpty())
|
||||
FormEnvironments->setObjectName(QString::fromUtf8("FormEnvironments"));
|
||||
FormEnvironments->resize(367, 519);
|
||||
verticalLayout = new QVBoxLayout(FormEnvironments);
|
||||
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
|
||||
gridLayout_2 = new QGridLayout(FormEnvironments);
|
||||
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
|
||||
tabWidgetEnv = new QTabWidget(FormEnvironments);
|
||||
tabWidgetEnv->setObjectName(QString::fromUtf8("tabWidgetEnv"));
|
||||
tabCompilers = new QWidget();
|
||||
tabCompilers->setObjectName(QString::fromUtf8("tabCompilers"));
|
||||
gridLayout_5 = new QGridLayout(tabCompilers);
|
||||
gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
|
||||
editCompilers = new QPlainTextEdit(tabCompilers);
|
||||
editCompilers->setObjectName(QString::fromUtf8("editCompilers"));
|
||||
editCompilers->setLineWrapMode(QPlainTextEdit::NoWrap);
|
||||
gridLayout = new QGridLayout(tabCompilers);
|
||||
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
|
||||
labelPathMk2 = new QLabel(tabCompilers);
|
||||
labelPathMk2->setObjectName(QString::fromUtf8("labelPathMk2"));
|
||||
labelPathMk2->setMinimumSize(QSize(100, 0));
|
||||
labelPathMk2->setMaximumSize(QSize(100, 16777215));
|
||||
|
||||
gridLayout_5->addWidget(editCompilers, 2, 1, 1, 1);
|
||||
|
||||
horizontalLayoutHbmk2 = new QHBoxLayout();
|
||||
horizontalLayoutHbmk2->setObjectName(QString::fromUtf8("horizontalLayoutHbmk2"));
|
||||
labelPathHbmk2 = new QLabel(tabCompilers);
|
||||
labelPathHbmk2->setObjectName(QString::fromUtf8("labelPathHbmk2"));
|
||||
labelPathHbmk2->setMinimumSize(QSize(100, 0));
|
||||
labelPathHbmk2->setMaximumSize(QSize(100, 16777215));
|
||||
|
||||
horizontalLayoutHbmk2->addWidget(labelPathHbmk2);
|
||||
gridLayout->addWidget(labelPathMk2, 0, 0, 1, 1);
|
||||
|
||||
editPathMk2 = new QLineEdit(tabCompilers);
|
||||
editPathMk2->setObjectName(QString::fromUtf8("editPathMk2"));
|
||||
|
||||
horizontalLayoutHbmk2->addWidget(editPathMk2);
|
||||
gridLayout->addWidget(editPathMk2, 0, 1, 1, 1);
|
||||
|
||||
buttonPathMk2 = new QToolButton(tabCompilers);
|
||||
buttonPathMk2->setObjectName(QString::fromUtf8("buttonPathMk2"));
|
||||
buttonPathMk2->setMinimumSize(QSize(0, 0));
|
||||
|
||||
horizontalLayoutHbmk2->addWidget(buttonPathMk2);
|
||||
gridLayout->addWidget(buttonPathMk2, 0, 2, 1, 1);
|
||||
|
||||
|
||||
gridLayout_5->addLayout(horizontalLayoutHbmk2, 0, 1, 1, 1);
|
||||
|
||||
horizontalLayoutEnv = new QHBoxLayout();
|
||||
horizontalLayoutEnv->setObjectName(QString::fromUtf8("horizontalLayoutEnv"));
|
||||
labelPathEnv = new QLabel(tabCompilers);
|
||||
labelPathEnv->setObjectName(QString::fromUtf8("labelPathEnv"));
|
||||
labelPathEnv->setMinimumSize(QSize(100, 0));
|
||||
labelPathEnv->setMaximumSize(QSize(100, 16777215));
|
||||
|
||||
horizontalLayoutEnv->addWidget(labelPathEnv);
|
||||
gridLayout->addWidget(labelPathEnv, 1, 0, 1, 1);
|
||||
|
||||
editPathEnv = new QLineEdit(tabCompilers);
|
||||
editPathEnv->setObjectName(QString::fromUtf8("editPathEnv"));
|
||||
|
||||
horizontalLayoutEnv->addWidget(editPathEnv);
|
||||
gridLayout->addWidget(editPathEnv, 1, 1, 1, 1);
|
||||
|
||||
buttonPathEnv = new QToolButton(tabCompilers);
|
||||
buttonPathEnv->setObjectName(QString::fromUtf8("buttonPathEnv"));
|
||||
|
||||
horizontalLayoutEnv->addWidget(buttonPathEnv);
|
||||
gridLayout->addWidget(buttonPathEnv, 1, 2, 1, 1);
|
||||
|
||||
editCompilers = new QPlainTextEdit(tabCompilers);
|
||||
editCompilers->setObjectName(QString::fromUtf8("editCompilers"));
|
||||
editCompilers->setLineWrapMode(QPlainTextEdit::NoWrap);
|
||||
|
||||
gridLayout_5->addLayout(horizontalLayoutEnv, 1, 1, 1, 1);
|
||||
gridLayout->addWidget(editCompilers, 2, 0, 1, 3);
|
||||
|
||||
tabWidgetEnv->addTab(tabCompilers, QString());
|
||||
|
||||
verticalLayout->addWidget(tabWidgetEnv);
|
||||
gridLayout_2->addWidget(tabWidgetEnv, 0, 0, 1, 3);
|
||||
|
||||
horizontalLayoutEnvButtons = new QHBoxLayout();
|
||||
horizontalLayoutEnvButtons->setObjectName(QString::fromUtf8("horizontalLayoutEnvButtons"));
|
||||
buttonSaveExit = new QPushButton(FormEnvironments);
|
||||
buttonSaveExit->setObjectName(QString::fromUtf8("buttonSaveExit"));
|
||||
|
||||
horizontalLayoutEnvButtons->addWidget(buttonSaveExit);
|
||||
gridLayout_2->addWidget(buttonSaveExit, 1, 0, 1, 1);
|
||||
|
||||
buttonSave = new QPushButton(FormEnvironments);
|
||||
buttonSave->setObjectName(QString::fromUtf8("buttonSave"));
|
||||
buttonSave->setAutoDefault(false);
|
||||
buttonSave->setDefault(true);
|
||||
|
||||
horizontalLayoutEnvButtons->addWidget(buttonSave);
|
||||
gridLayout_2->addWidget(buttonSave, 1, 1, 1, 1);
|
||||
|
||||
buttonCn = new QPushButton(FormEnvironments);
|
||||
buttonCn->setObjectName(QString::fromUtf8("buttonCn"));
|
||||
buttonCn->setAutoDefault(false);
|
||||
|
||||
horizontalLayoutEnvButtons->addWidget(buttonCn);
|
||||
|
||||
|
||||
verticalLayout->addLayout(horizontalLayoutEnvButtons);
|
||||
gridLayout_2->addWidget(buttonCn, 1, 2, 1, 1);
|
||||
|
||||
|
||||
retranslateUi(FormEnvironments);
|
||||
@@ -152,6 +132,10 @@ public:
|
||||
void retranslateUi(QWidget *FormEnvironments)
|
||||
{
|
||||
FormEnvironments->setWindowTitle(QApplication::translate("FormEnvironments", "Form", 0, QApplication::UnicodeUTF8));
|
||||
labelPathMk2->setText(QApplication::translate("FormEnvironments", "Path to hbmk2", 0, QApplication::UnicodeUTF8));
|
||||
buttonPathMk2->setText(QString());
|
||||
labelPathEnv->setText(QApplication::translate("FormEnvironments", "Path to hbide.env", 0, QApplication::UnicodeUTF8));
|
||||
buttonPathEnv->setText(QString());
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
editCompilers->setToolTip(QApplication::translate("FormEnvironments", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
@@ -165,10 +149,6 @@ public:
|
||||
"<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>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
editCompilers->setStyleSheet(QString());
|
||||
labelPathHbmk2->setText(QApplication::translate("FormEnvironments", "Path to hbmk2", 0, QApplication::UnicodeUTF8));
|
||||
buttonPathMk2->setText(QString());
|
||||
labelPathEnv->setText(QApplication::translate("FormEnvironments", "Path to hbIDE.env", 0, QApplication::UnicodeUTF8));
|
||||
buttonPathEnv->setText(QString());
|
||||
tabWidgetEnv->setTabText(tabWidgetEnv->indexOf(tabCompilers), QApplication::translate("FormEnvironments", "Environments", 0, QApplication::UnicodeUTF8));
|
||||
buttonSaveExit->setText(QApplication::translate("FormEnvironments", "Save and Exit", 0, QApplication::UnicodeUTF8));
|
||||
buttonSave->setText(QApplication::translate("FormEnvironments", "Save", 0, QApplication::UnicodeUTF8));
|
||||
|
||||
@@ -96,27 +96,6 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Working Folder:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QLineEdit" name="editWrkFolder">
|
||||
<property name="toolTip">
|
||||
<string><!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></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
@@ -139,33 +118,6 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>Compile/Link Flags:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="editFlags">
|
||||
<property name="toolTip">
|
||||
<string><!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></string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
@@ -247,37 +199,8 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QToolButton" name="buttonChooseWd">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonHbp">
|
||||
<property name="toolTip">
|
||||
<string><!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;">Loading a .hbp project file is essentially a </p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">task of redefining its flow and contents order.</p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">hbIDE rewrites the existing .hbp file if the </p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">"Project Location" points to same folder </p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">where your such loaded .hbp resides.</p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">So</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-weight:600;">take care to change the "Project Location"</span></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">to different folder than home folder of .hbp.</p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is done at the time of "Build" process.</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonXmate">
|
||||
<property name="toolTip">
|
||||
@@ -311,6 +234,73 @@ p, li { white-space: pre-wrap; }
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="12" column="1">
|
||||
<widget class="QLineEdit" name="editWrkFolder">
|
||||
<property name="toolTip">
|
||||
<string><!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></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="0">
|
||||
<widget class="QLabel" name="labelInitFolder">
|
||||
<property name="text">
|
||||
<string>Start In:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="2">
|
||||
<widget class="QToolButton" name="buttonChooseWd">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="13" column="1">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabFiles">
|
||||
@@ -380,48 +370,13 @@ p, li { white-space: pre-wrap; }
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabMeta">
|
||||
<widget class="QWidget" name="tabFlags">
|
||||
<attribute name="title">
|
||||
<string>Meta Data</string>
|
||||
<string>Flags</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QPlainTextEdit" name="editMetaHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string>background-color: rgb(171, 171, 171);</string>
|
||||
</property>
|
||||
<property name="tabChangesFocus">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="plainText">
|
||||
<string>HBIDE will employ the concept of meta-data which will be used to parse the paths or other info supplied to the interface.
|
||||
|
||||
Usually meta-key is enclosed in curly braces, but due to the fact that HBMK2 already exploits it, HBIDE will recognize meta-key in angled brackets.
|
||||
|
||||
Please enter meta-keys and their values like :
|
||||
MySourcePath = c:/dev_sources/vouch
|
||||
in the QTextEdit below. Then whereever you will supply any key anywhere in the input fields of HBIDE interface, just enclose it in angled brackets like :
|
||||
<MySourcePath>/vouch.prg.
|
||||
Note that keys are case sensitive. So MySourcePath <> MYSOURCEPath.
|
||||
|
||||
HBIDE internally employs few keys which are shown below and are always include in the project. These accompany the value as its relevance and not as literal.
|
||||
|
||||
Enjoy
|
||||
Pritpal Bedi</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPlainTextEdit" name="editMetaData">
|
||||
<widget class="QPlainTextEdit" name="editFlags">
|
||||
<property name="toolTip">
|
||||
<string><!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">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading ui file 'projectpropertiesex.ui'
|
||||
**
|
||||
** Created: Wed Feb 24 16:25:25 2010
|
||||
** Created: Mon Mar 1 01:10:15 2010
|
||||
** by: Qt User Interface Compiler version 4.5.2
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
||||
@@ -43,12 +43,8 @@ public:
|
||||
QLineEdit *editPrjTitle;
|
||||
QLabel *label_3;
|
||||
QLineEdit *editPrjLoctn;
|
||||
QLabel *label_4;
|
||||
QLineEdit *editWrkFolder;
|
||||
QLabel *label_5;
|
||||
QLineEdit *editDstFolder;
|
||||
QLabel *label_9;
|
||||
QPlainTextEdit *editFlags;
|
||||
QLabel *label_7;
|
||||
QLineEdit *editLaunchParams;
|
||||
QLabel *label_8;
|
||||
@@ -60,11 +56,15 @@ public:
|
||||
QToolButton *buttonChoosePrjLoc;
|
||||
QToolButton *buttonBackup;
|
||||
QToolButton *buttonChooseDest;
|
||||
QToolButton *buttonChooseWd;
|
||||
QHBoxLayout *horizontalLayout_7;
|
||||
QToolButton *buttonHbp;
|
||||
QToolButton *buttonXmate;
|
||||
QSpacerItem *horizontalSpacer;
|
||||
QSpacerItem *verticalSpacer;
|
||||
QLineEdit *editWrkFolder;
|
||||
QLabel *labelInitFolder;
|
||||
QToolButton *buttonChooseWd;
|
||||
QSpacerItem *verticalSpacer_2;
|
||||
QSpacerItem *verticalSpacer_3;
|
||||
QWidget *tabFiles;
|
||||
QGridLayout *gridLayout_2;
|
||||
QPlainTextEdit *editSources;
|
||||
@@ -72,10 +72,9 @@ public:
|
||||
QToolButton *buttonSort;
|
||||
QToolButton *buttonSortZA;
|
||||
QToolButton *buttonSortOrg;
|
||||
QWidget *tabMeta;
|
||||
QWidget *tabFlags;
|
||||
QGridLayout *gridLayout_3;
|
||||
QPlainTextEdit *editMetaHelp;
|
||||
QPlainTextEdit *editMetaData;
|
||||
QPlainTextEdit *editFlags;
|
||||
QWidget *tabHbp;
|
||||
QGridLayout *gridLayout_4;
|
||||
QPlainTextEdit *editHbp;
|
||||
@@ -135,17 +134,6 @@ public:
|
||||
|
||||
gridLayout->addWidget(editPrjLoctn, 3, 1, 1, 1);
|
||||
|
||||
label_4 = new QLabel(tabGeneral);
|
||||
label_4->setObjectName(QString::fromUtf8("label_4"));
|
||||
label_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||
|
||||
gridLayout->addWidget(label_4, 5, 0, 1, 1);
|
||||
|
||||
editWrkFolder = new QLineEdit(tabGeneral);
|
||||
editWrkFolder->setObjectName(QString::fromUtf8("editWrkFolder"));
|
||||
|
||||
gridLayout->addWidget(editWrkFolder, 5, 1, 1, 1);
|
||||
|
||||
label_5 = new QLabel(tabGeneral);
|
||||
label_5->setObjectName(QString::fromUtf8("label_5"));
|
||||
label_5->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||
@@ -157,18 +145,6 @@ public:
|
||||
|
||||
gridLayout->addWidget(editDstFolder, 6, 1, 1, 1);
|
||||
|
||||
label_9 = new QLabel(tabGeneral);
|
||||
label_9->setObjectName(QString::fromUtf8("label_9"));
|
||||
label_9->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||
|
||||
gridLayout->addWidget(label_9, 9, 0, 1, 1);
|
||||
|
||||
editFlags = new QPlainTextEdit(tabGeneral);
|
||||
editFlags->setObjectName(QString::fromUtf8("editFlags"));
|
||||
editFlags->setLineWrapMode(QPlainTextEdit::NoWrap);
|
||||
|
||||
gridLayout->addWidget(editFlags, 9, 1, 1, 2);
|
||||
|
||||
label_7 = new QLabel(tabGeneral);
|
||||
label_7->setObjectName(QString::fromUtf8("label_7"));
|
||||
label_7->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||
@@ -228,18 +204,8 @@ public:
|
||||
|
||||
gridLayout->addWidget(buttonChooseDest, 6, 2, 1, 1);
|
||||
|
||||
buttonChooseWd = new QToolButton(tabGeneral);
|
||||
buttonChooseWd->setObjectName(QString::fromUtf8("buttonChooseWd"));
|
||||
|
||||
gridLayout->addWidget(buttonChooseWd, 5, 2, 1, 1);
|
||||
|
||||
horizontalLayout_7 = new QHBoxLayout();
|
||||
horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
|
||||
buttonHbp = new QToolButton(tabGeneral);
|
||||
buttonHbp->setObjectName(QString::fromUtf8("buttonHbp"));
|
||||
|
||||
horizontalLayout_7->addWidget(buttonHbp);
|
||||
|
||||
buttonXmate = new QToolButton(tabGeneral);
|
||||
buttonXmate->setObjectName(QString::fromUtf8("buttonXmate"));
|
||||
|
||||
@@ -252,6 +218,34 @@ public:
|
||||
|
||||
gridLayout->addLayout(horizontalLayout_7, 0, 1, 1, 1);
|
||||
|
||||
verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||
|
||||
gridLayout->addItem(verticalSpacer, 9, 1, 1, 1);
|
||||
|
||||
editWrkFolder = new QLineEdit(tabGeneral);
|
||||
editWrkFolder->setObjectName(QString::fromUtf8("editWrkFolder"));
|
||||
|
||||
gridLayout->addWidget(editWrkFolder, 12, 1, 1, 1);
|
||||
|
||||
labelInitFolder = new QLabel(tabGeneral);
|
||||
labelInitFolder->setObjectName(QString::fromUtf8("labelInitFolder"));
|
||||
labelInitFolder->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||
|
||||
gridLayout->addWidget(labelInitFolder, 12, 0, 1, 1);
|
||||
|
||||
buttonChooseWd = new QToolButton(tabGeneral);
|
||||
buttonChooseWd->setObjectName(QString::fromUtf8("buttonChooseWd"));
|
||||
|
||||
gridLayout->addWidget(buttonChooseWd, 12, 2, 1, 1);
|
||||
|
||||
verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||
|
||||
gridLayout->addItem(verticalSpacer_2, 5, 1, 1, 1);
|
||||
|
||||
verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||
|
||||
gridLayout->addItem(verticalSpacer_3, 13, 1, 1, 1);
|
||||
|
||||
tabWidget->addTab(tabGeneral, QString());
|
||||
tabFiles = new QWidget();
|
||||
tabFiles->setObjectName(QString::fromUtf8("tabFiles"));
|
||||
@@ -284,29 +278,17 @@ public:
|
||||
gridLayout_2->addWidget(buttonSortOrg, 0, 4, 1, 1);
|
||||
|
||||
tabWidget->addTab(tabFiles, QString());
|
||||
tabMeta = new QWidget();
|
||||
tabMeta->setObjectName(QString::fromUtf8("tabMeta"));
|
||||
gridLayout_3 = new QGridLayout(tabMeta);
|
||||
tabFlags = new QWidget();
|
||||
tabFlags->setObjectName(QString::fromUtf8("tabFlags"));
|
||||
gridLayout_3 = new QGridLayout(tabFlags);
|
||||
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
|
||||
editMetaHelp = new QPlainTextEdit(tabMeta);
|
||||
editMetaHelp->setObjectName(QString::fromUtf8("editMetaHelp"));
|
||||
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
sizePolicy.setHorizontalStretch(0);
|
||||
sizePolicy.setVerticalStretch(0);
|
||||
sizePolicy.setHeightForWidth(editMetaHelp->sizePolicy().hasHeightForWidth());
|
||||
editMetaHelp->setSizePolicy(sizePolicy);
|
||||
editMetaHelp->setTabChangesFocus(true);
|
||||
editMetaHelp->setReadOnly(true);
|
||||
editFlags = new QPlainTextEdit(tabFlags);
|
||||
editFlags->setObjectName(QString::fromUtf8("editFlags"));
|
||||
editFlags->setLineWrapMode(QPlainTextEdit::NoWrap);
|
||||
|
||||
gridLayout_3->addWidget(editMetaHelp, 0, 0, 1, 1);
|
||||
gridLayout_3->addWidget(editFlags, 0, 0, 1, 1);
|
||||
|
||||
editMetaData = new QPlainTextEdit(tabMeta);
|
||||
editMetaData->setObjectName(QString::fromUtf8("editMetaData"));
|
||||
editMetaData->setLineWrapMode(QPlainTextEdit::NoWrap);
|
||||
|
||||
gridLayout_3->addWidget(editMetaData, 1, 0, 1, 1);
|
||||
|
||||
tabWidget->addTab(tabMeta, QString());
|
||||
tabWidget->addTab(tabFlags, QString());
|
||||
tabHbp = new QWidget();
|
||||
tabHbp->setObjectName(QString::fromUtf8("tabHbp"));
|
||||
gridLayout_4 = new QGridLayout(tabHbp);
|
||||
@@ -380,14 +362,6 @@ public:
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<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. <Project Location> plus <Output Name> will comprise the full file name with .hbp extension.</span></p></body></html>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
label_4->setText(QApplication::translate("FormProjectPropEx", "Working Folder:", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
editWrkFolder->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<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;\"><Output Name></span><span style=\" font-size:8pt;\"> plus </span><span style=\" font-size:8pt; font-weight:600;\"><hbp></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>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
label_5->setText(QApplication::translate("FormProjectPropEx", "Destination Folder:", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
@@ -398,15 +372,6 @@ public:
|
||||
"<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 <Output> .exe .a .lib. </p>\n"
|
||||
"<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>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
label_9->setText(QApplication::translate("FormProjectPropEx", "Compile/Link Flags:", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
editFlags->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<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>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
editFlags->setStyleSheet(QString());
|
||||
label_7->setText(QApplication::translate("FormProjectPropEx", "Launch Parameters:", 0, QApplication::UnicodeUTF8));
|
||||
label_8->setText(QApplication::translate("FormProjectPropEx", "Launch Program:", 0, QApplication::UnicodeUTF8));
|
||||
label_13->setText(QApplication::translate("FormProjectPropEx", "Backup Location:", 0, QApplication::UnicodeUTF8));
|
||||
@@ -421,25 +386,6 @@ public:
|
||||
buttonChoosePrjLoc->setText(QApplication::translate("FormProjectPropEx", "...", 0, QApplication::UnicodeUTF8));
|
||||
buttonBackup->setText(QApplication::translate("FormProjectPropEx", "...", 0, QApplication::UnicodeUTF8));
|
||||
buttonChooseDest->setText(QApplication::translate("FormProjectPropEx", "...", 0, QApplication::UnicodeUTF8));
|
||||
buttonChooseWd->setText(QApplication::translate("FormProjectPropEx", "...", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
buttonHbp->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Loading a .hbp project file is essentially a </p>\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">task of redefining its flow and contents order.</p>\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">hbIDE rewrites the existing .hbp file if the </p>\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-"
|
||||
"block-indent:0; text-indent:0px;\">\"Project Location\" points to same folder </p>\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">where your such loaded .hbp resides.</p>\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">So</p>\n"
|
||||
"<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-weight:600;\">take care to change the \"Project Location\"</span></p>\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">to different folder than home folder of .hbp.</p>\n"
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This is done at the time of \"Build\" proces"
|
||||
"s.</p></body></html>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
buttonHbp->setText(QApplication::translate("FormProjectPropEx", "...", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
buttonXmate->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
@@ -453,6 +399,15 @@ public:
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">So you may need manual editing.</p></body></html>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
buttonXmate->setText(QApplication::translate("FormProjectPropEx", "...", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
editWrkFolder->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<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;\"><Output Name></span><span style=\" font-size:8pt;\"> plus </span><span style=\" font-size:8pt; font-weight:600;\"><hbp></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>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
labelInitFolder->setText(QApplication::translate("FormProjectPropEx", "Start In:", 0, QApplication::UnicodeUTF8));
|
||||
buttonChooseWd->setText(QApplication::translate("FormProjectPropEx", "...", 0, QApplication::UnicodeUTF8));
|
||||
tabWidget->setTabText(tabWidget->indexOf(tabGeneral), QApplication::translate("FormProjectPropEx", "General", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
editSources->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
@@ -483,23 +438,8 @@ public:
|
||||
#endif // QT_NO_TOOLTIP
|
||||
buttonSortOrg->setText(QString());
|
||||
tabWidget->setTabText(tabWidget->indexOf(tabFiles), QApplication::translate("FormProjectPropEx", "Sources", 0, QApplication::UnicodeUTF8));
|
||||
editMetaHelp->setStyleSheet(QApplication::translate("FormProjectPropEx", "background-color: rgb(171, 171, 171);", 0, QApplication::UnicodeUTF8));
|
||||
editMetaHelp->setPlainText(QApplication::translate("FormProjectPropEx", "HBIDE will employ the concept of meta-data which will be used to parse the paths or other info supplied to the interface.\n"
|
||||
"\n"
|
||||
"Usually meta-key is enclosed in curly braces, but due to the fact that HBMK2 already exploits it, HBIDE will recognize meta-key in angled brackets.\n"
|
||||
"\n"
|
||||
"Please enter meta-keys and their values like :\n"
|
||||
" MySourcePath = c:/dev_sources/vouch\n"
|
||||
"in the QTextEdit below. Then whereever you will supply any key anywhere in the input fields of HBIDE interface, just enclose it in angled brackets like :\n"
|
||||
" <MySourcePath>/vouch.prg.\n"
|
||||
"Note that keys are case sensitive. So MySourcePath <> MYSOURCEPath.\n"
|
||||
"\n"
|
||||
"HBIDE internally employs few keys which are shown below and are always include in the project. These accompany the value as its relevance and not as literal.\n"
|
||||
"\n"
|
||||
"Enjoy\n"
|
||||
"Pritpal Bedi", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
editMetaData->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
editFlags->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
|
||||
@@ -508,8 +448,8 @@ public:
|
||||
"ent:0px;\"></p>\n"
|
||||
"<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>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
editMetaData->setStyleSheet(QString());
|
||||
tabWidget->setTabText(tabWidget->indexOf(tabMeta), QApplication::translate("FormProjectPropEx", "Meta Data", 0, QApplication::UnicodeUTF8));
|
||||
editFlags->setStyleSheet(QString());
|
||||
tabWidget->setTabText(tabWidget->indexOf(tabFlags), QApplication::translate("FormProjectPropEx", "Flags", 0, QApplication::UnicodeUTF8));
|
||||
#ifndef QT_NO_TOOLTIP
|
||||
editHbp->setToolTip(QApplication::translate("FormProjectPropEx", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormThemesEx</class>
|
||||
<widget class="QWidget" name="FormThemesEx">
|
||||
<class>FormThemes</class>
|
||||
<widget class="QWidget" name="FormThemes">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>437</width>
|
||||
<height>403</height>
|
||||
<width>438</width>
|
||||
<height>402</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -15,187 +15,147 @@
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,0,0,0">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
<widget class="QLabel" name="labelTheme">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<property name="spacing">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelTheme">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Theme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboThemes"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QPlainTextEdit" name="plainThemeText"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<property name="spacing">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelItem">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Item</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboItems"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonColor">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBold">
|
||||
<property name="text">
|
||||
<string>Bold</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkItalic">
|
||||
<property name="text">
|
||||
<string>Italic</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkUnderline">
|
||||
<property name="text">
|
||||
<string>Underline</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="Line" name="lineSep">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSave">
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSaveAs">
|
||||
<property name="text">
|
||||
<string>Save As</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonCopy">
|
||||
<property name="text">
|
||||
<string>Copy</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonApply">
|
||||
<property name="text">
|
||||
<string>Action</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonClose">
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
<property name="text">
|
||||
<string>Theme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="8">
|
||||
<widget class="QComboBox" name="comboThemes"/>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="9">
|
||||
<widget class="QPlainTextEdit" name="plainThemeText"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labelItems">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Items:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="6">
|
||||
<widget class="QComboBox" name="comboItems"/>
|
||||
</item>
|
||||
<item row="2" column="7" colspan="2">
|
||||
<widget class="QPushButton" name="buttonColor">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="3" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBold">
|
||||
<property name="text">
|
||||
<string>Bold</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3" colspan="2">
|
||||
<widget class="QCheckBox" name="checkItalic">
|
||||
<property name="text">
|
||||
<string>Italic</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="5" colspan="2">
|
||||
<widget class="QCheckBox" name="checkUnderline">
|
||||
<property name="text">
|
||||
<string>Underline</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="7" colspan="2">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="9">
|
||||
<widget class="Line" name="lineSep">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="buttonSave">
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2" colspan="2">
|
||||
<widget class="QPushButton" name="buttonSaveAs">
|
||||
<property name="text">
|
||||
<string>Save As</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="4" colspan="2">
|
||||
<widget class="QPushButton" name="buttonCopy">
|
||||
<property name="text">
|
||||
<string>Copy</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="6" colspan="2">
|
||||
<widget class="QPushButton" name="buttonApply">
|
||||
<property name="text">
|
||||
<string>Action</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="8">
|
||||
<widget class="QPushButton" name="buttonClose">
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading ui file 'themesex.ui'
|
||||
**
|
||||
** Created: Wed Feb 24 21:34:08 2010
|
||||
** by: Qt User Interface Compiler version 4.5.2
|
||||
** Created: Tue Mar 2 16:06:43 2010
|
||||
** by: Qt User Interface Compiler version 4.5.3
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
||||
********************************************************************************/
|
||||
@@ -18,208 +18,159 @@
|
||||
#include <QtGui/QComboBox>
|
||||
#include <QtGui/QFrame>
|
||||
#include <QtGui/QGridLayout>
|
||||
#include <QtGui/QHBoxLayout>
|
||||
#include <QtGui/QHeaderView>
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QPlainTextEdit>
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QSpacerItem>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_FormThemesEx
|
||||
class Ui_FormThemes
|
||||
{
|
||||
public:
|
||||
QGridLayout *gridLayout;
|
||||
QVBoxLayout *verticalLayout;
|
||||
QHBoxLayout *horizontalLayout_6;
|
||||
QLabel *labelTheme;
|
||||
QComboBox *comboThemes;
|
||||
QHBoxLayout *horizontalLayout_5;
|
||||
QPlainTextEdit *plainThemeText;
|
||||
QHBoxLayout *horizontalLayout_4;
|
||||
QLabel *labelItem;
|
||||
QLabel *labelItems;
|
||||
QComboBox *comboItems;
|
||||
QPushButton *buttonColor;
|
||||
QHBoxLayout *horizontalLayout_3;
|
||||
QSpacerItem *horizontalSpacer;
|
||||
QCheckBox *checkBold;
|
||||
QCheckBox *checkItalic;
|
||||
QCheckBox *checkUnderline;
|
||||
QSpacerItem *horizontalSpacer_2;
|
||||
QHBoxLayout *horizontalLayout_2;
|
||||
QFrame *lineSep;
|
||||
QHBoxLayout *horizontalLayout;
|
||||
QPushButton *buttonSave;
|
||||
QPushButton *buttonSaveAs;
|
||||
QPushButton *buttonCopy;
|
||||
QPushButton *buttonApply;
|
||||
QPushButton *buttonClose;
|
||||
|
||||
void setupUi(QWidget *FormThemesEx)
|
||||
void setupUi(QWidget *FormThemes)
|
||||
{
|
||||
if (FormThemesEx->objectName().isEmpty())
|
||||
FormThemesEx->setObjectName(QString::fromUtf8("FormThemesEx"));
|
||||
FormThemesEx->resize(437, 403);
|
||||
gridLayout = new QGridLayout(FormThemesEx);
|
||||
if (FormThemes->objectName().isEmpty())
|
||||
FormThemes->setObjectName(QString::fromUtf8("FormThemes"));
|
||||
FormThemes->resize(438, 402);
|
||||
gridLayout = new QGridLayout(FormThemes);
|
||||
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
|
||||
verticalLayout = new QVBoxLayout();
|
||||
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
|
||||
verticalLayout->setSizeConstraint(QLayout::SetDefaultConstraint);
|
||||
horizontalLayout_6 = new QHBoxLayout();
|
||||
horizontalLayout_6->setSpacing(10);
|
||||
horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6"));
|
||||
labelTheme = new QLabel(FormThemesEx);
|
||||
labelTheme = new QLabel(FormThemes);
|
||||
labelTheme->setObjectName(QString::fromUtf8("labelTheme"));
|
||||
labelTheme->setMaximumSize(QSize(40, 16777215));
|
||||
|
||||
horizontalLayout_6->addWidget(labelTheme);
|
||||
gridLayout->addWidget(labelTheme, 0, 0, 1, 1);
|
||||
|
||||
comboThemes = new QComboBox(FormThemesEx);
|
||||
comboThemes = new QComboBox(FormThemes);
|
||||
comboThemes->setObjectName(QString::fromUtf8("comboThemes"));
|
||||
|
||||
horizontalLayout_6->addWidget(comboThemes);
|
||||
gridLayout->addWidget(comboThemes, 0, 1, 1, 8);
|
||||
|
||||
|
||||
verticalLayout->addLayout(horizontalLayout_6);
|
||||
|
||||
horizontalLayout_5 = new QHBoxLayout();
|
||||
horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
|
||||
plainThemeText = new QPlainTextEdit(FormThemesEx);
|
||||
plainThemeText = new QPlainTextEdit(FormThemes);
|
||||
plainThemeText->setObjectName(QString::fromUtf8("plainThemeText"));
|
||||
|
||||
horizontalLayout_5->addWidget(plainThemeText);
|
||||
gridLayout->addWidget(plainThemeText, 1, 0, 1, 9);
|
||||
|
||||
labelItems = new QLabel(FormThemes);
|
||||
labelItems->setObjectName(QString::fromUtf8("labelItems"));
|
||||
labelItems->setMaximumSize(QSize(40, 16777215));
|
||||
|
||||
verticalLayout->addLayout(horizontalLayout_5);
|
||||
gridLayout->addWidget(labelItems, 2, 0, 1, 1);
|
||||
|
||||
horizontalLayout_4 = new QHBoxLayout();
|
||||
horizontalLayout_4->setSpacing(10);
|
||||
horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
|
||||
labelItem = new QLabel(FormThemesEx);
|
||||
labelItem->setObjectName(QString::fromUtf8("labelItem"));
|
||||
labelItem->setMaximumSize(QSize(40, 16777215));
|
||||
|
||||
horizontalLayout_4->addWidget(labelItem);
|
||||
|
||||
comboItems = new QComboBox(FormThemesEx);
|
||||
comboItems = new QComboBox(FormThemes);
|
||||
comboItems->setObjectName(QString::fromUtf8("comboItems"));
|
||||
|
||||
horizontalLayout_4->addWidget(comboItems);
|
||||
gridLayout->addWidget(comboItems, 2, 1, 1, 6);
|
||||
|
||||
buttonColor = new QPushButton(FormThemesEx);
|
||||
buttonColor = new QPushButton(FormThemes);
|
||||
buttonColor->setObjectName(QString::fromUtf8("buttonColor"));
|
||||
buttonColor->setMaximumSize(QSize(120, 16777215));
|
||||
|
||||
horizontalLayout_4->addWidget(buttonColor);
|
||||
gridLayout->addWidget(buttonColor, 2, 7, 1, 2);
|
||||
|
||||
|
||||
verticalLayout->addLayout(horizontalLayout_4);
|
||||
|
||||
horizontalLayout_3 = new QHBoxLayout();
|
||||
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
|
||||
horizontalSpacer = new QSpacerItem(50, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
|
||||
|
||||
horizontalLayout_3->addItem(horizontalSpacer);
|
||||
gridLayout->addItem(horizontalSpacer, 3, 0, 1, 1);
|
||||
|
||||
checkBold = new QCheckBox(FormThemesEx);
|
||||
checkBold = new QCheckBox(FormThemes);
|
||||
checkBold->setObjectName(QString::fromUtf8("checkBold"));
|
||||
|
||||
horizontalLayout_3->addWidget(checkBold);
|
||||
gridLayout->addWidget(checkBold, 3, 1, 1, 2);
|
||||
|
||||
checkItalic = new QCheckBox(FormThemesEx);
|
||||
checkItalic = new QCheckBox(FormThemes);
|
||||
checkItalic->setObjectName(QString::fromUtf8("checkItalic"));
|
||||
|
||||
horizontalLayout_3->addWidget(checkItalic);
|
||||
gridLayout->addWidget(checkItalic, 3, 3, 1, 2);
|
||||
|
||||
checkUnderline = new QCheckBox(FormThemesEx);
|
||||
checkUnderline = new QCheckBox(FormThemes);
|
||||
checkUnderline->setObjectName(QString::fromUtf8("checkUnderline"));
|
||||
|
||||
horizontalLayout_3->addWidget(checkUnderline);
|
||||
gridLayout->addWidget(checkUnderline, 3, 5, 1, 2);
|
||||
|
||||
horizontalSpacer_2 = new QSpacerItem(120, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
|
||||
|
||||
horizontalLayout_3->addItem(horizontalSpacer_2);
|
||||
gridLayout->addItem(horizontalSpacer_2, 3, 7, 1, 2);
|
||||
|
||||
|
||||
verticalLayout->addLayout(horizontalLayout_3);
|
||||
|
||||
horizontalLayout_2 = new QHBoxLayout();
|
||||
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
|
||||
lineSep = new QFrame(FormThemesEx);
|
||||
lineSep = new QFrame(FormThemes);
|
||||
lineSep->setObjectName(QString::fromUtf8("lineSep"));
|
||||
lineSep->setFrameShape(QFrame::HLine);
|
||||
lineSep->setFrameShadow(QFrame::Sunken);
|
||||
|
||||
horizontalLayout_2->addWidget(lineSep);
|
||||
gridLayout->addWidget(lineSep, 4, 0, 1, 9);
|
||||
|
||||
|
||||
verticalLayout->addLayout(horizontalLayout_2);
|
||||
|
||||
horizontalLayout = new QHBoxLayout();
|
||||
horizontalLayout->setSpacing(10);
|
||||
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
|
||||
buttonSave = new QPushButton(FormThemesEx);
|
||||
buttonSave = new QPushButton(FormThemes);
|
||||
buttonSave->setObjectName(QString::fromUtf8("buttonSave"));
|
||||
|
||||
horizontalLayout->addWidget(buttonSave);
|
||||
gridLayout->addWidget(buttonSave, 5, 0, 1, 2);
|
||||
|
||||
buttonSaveAs = new QPushButton(FormThemesEx);
|
||||
buttonSaveAs = new QPushButton(FormThemes);
|
||||
buttonSaveAs->setObjectName(QString::fromUtf8("buttonSaveAs"));
|
||||
|
||||
horizontalLayout->addWidget(buttonSaveAs);
|
||||
gridLayout->addWidget(buttonSaveAs, 5, 2, 1, 2);
|
||||
|
||||
buttonCopy = new QPushButton(FormThemesEx);
|
||||
buttonCopy = new QPushButton(FormThemes);
|
||||
buttonCopy->setObjectName(QString::fromUtf8("buttonCopy"));
|
||||
|
||||
horizontalLayout->addWidget(buttonCopy);
|
||||
gridLayout->addWidget(buttonCopy, 5, 4, 1, 2);
|
||||
|
||||
buttonApply = new QPushButton(FormThemesEx);
|
||||
buttonApply = new QPushButton(FormThemes);
|
||||
buttonApply->setObjectName(QString::fromUtf8("buttonApply"));
|
||||
|
||||
horizontalLayout->addWidget(buttonApply);
|
||||
gridLayout->addWidget(buttonApply, 5, 6, 1, 2);
|
||||
|
||||
buttonClose = new QPushButton(FormThemesEx);
|
||||
buttonClose = new QPushButton(FormThemes);
|
||||
buttonClose->setObjectName(QString::fromUtf8("buttonClose"));
|
||||
|
||||
horizontalLayout->addWidget(buttonClose);
|
||||
gridLayout->addWidget(buttonClose, 5, 8, 1, 1);
|
||||
|
||||
|
||||
verticalLayout->addLayout(horizontalLayout);
|
||||
retranslateUi(FormThemes);
|
||||
|
||||
verticalLayout->setStretch(1, 1);
|
||||
|
||||
gridLayout->addLayout(verticalLayout, 0, 0, 1, 1);
|
||||
|
||||
|
||||
retranslateUi(FormThemesEx);
|
||||
|
||||
QMetaObject::connectSlotsByName(FormThemesEx);
|
||||
QMetaObject::connectSlotsByName(FormThemes);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QWidget *FormThemesEx)
|
||||
void retranslateUi(QWidget *FormThemes)
|
||||
{
|
||||
FormThemesEx->setWindowTitle(QApplication::translate("FormThemesEx", "Form", 0, QApplication::UnicodeUTF8));
|
||||
labelTheme->setText(QApplication::translate("FormThemesEx", "Theme", 0, QApplication::UnicodeUTF8));
|
||||
labelItem->setText(QApplication::translate("FormThemesEx", "Item", 0, QApplication::UnicodeUTF8));
|
||||
buttonColor->setText(QApplication::translate("FormThemesEx", "Color", 0, QApplication::UnicodeUTF8));
|
||||
checkBold->setText(QApplication::translate("FormThemesEx", "Bold", 0, QApplication::UnicodeUTF8));
|
||||
checkItalic->setText(QApplication::translate("FormThemesEx", "Italic", 0, QApplication::UnicodeUTF8));
|
||||
checkUnderline->setText(QApplication::translate("FormThemesEx", "Underline", 0, QApplication::UnicodeUTF8));
|
||||
buttonSave->setText(QApplication::translate("FormThemesEx", "Save", 0, QApplication::UnicodeUTF8));
|
||||
buttonSaveAs->setText(QApplication::translate("FormThemesEx", "Save As", 0, QApplication::UnicodeUTF8));
|
||||
buttonCopy->setText(QApplication::translate("FormThemesEx", "Copy", 0, QApplication::UnicodeUTF8));
|
||||
buttonApply->setText(QApplication::translate("FormThemesEx", "Action", 0, QApplication::UnicodeUTF8));
|
||||
buttonClose->setText(QApplication::translate("FormThemesEx", "Close", 0, QApplication::UnicodeUTF8));
|
||||
Q_UNUSED(FormThemesEx);
|
||||
FormThemes->setWindowTitle(QApplication::translate("FormThemes", "Form", 0, QApplication::UnicodeUTF8));
|
||||
labelTheme->setText(QApplication::translate("FormThemes", "Theme", 0, QApplication::UnicodeUTF8));
|
||||
labelItems->setText(QApplication::translate("FormThemes", "Items:", 0, QApplication::UnicodeUTF8));
|
||||
buttonColor->setText(QApplication::translate("FormThemes", "Color", 0, QApplication::UnicodeUTF8));
|
||||
checkBold->setText(QApplication::translate("FormThemes", "Bold", 0, QApplication::UnicodeUTF8));
|
||||
checkItalic->setText(QApplication::translate("FormThemes", "Italic", 0, QApplication::UnicodeUTF8));
|
||||
checkUnderline->setText(QApplication::translate("FormThemes", "Underline", 0, QApplication::UnicodeUTF8));
|
||||
buttonSave->setText(QApplication::translate("FormThemes", "Save", 0, QApplication::UnicodeUTF8));
|
||||
buttonSaveAs->setText(QApplication::translate("FormThemes", "Save As", 0, QApplication::UnicodeUTF8));
|
||||
buttonCopy->setText(QApplication::translate("FormThemes", "Copy", 0, QApplication::UnicodeUTF8));
|
||||
buttonApply->setText(QApplication::translate("FormThemes", "Action", 0, QApplication::UnicodeUTF8));
|
||||
buttonClose->setText(QApplication::translate("FormThemes", "Close", 0, QApplication::UnicodeUTF8));
|
||||
Q_UNUSED(FormThemes);
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class FormThemesEx: public Ui_FormThemesEx {};
|
||||
class FormThemes: public Ui_FormThemes {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
@@ -77,9 +77,13 @@ CLASS HbQtUI
|
||||
DATA qParent
|
||||
|
||||
DATA pSlots
|
||||
DATA pEvents
|
||||
DATA oWidget
|
||||
DATA cMainWidgetName
|
||||
|
||||
DATA qObj INIT hb_hash()
|
||||
DATA widgets INIT {}
|
||||
DATA aCommands INIT {}
|
||||
|
||||
DATA aSignals INIT {}
|
||||
DATA aEvents INIT {}
|
||||
@@ -140,40 +144,83 @@ METHOD HbQtUI:create( cFile, qParent )
|
||||
|
||||
METHOD HbQtUI:destroy()
|
||||
LOCAL a_, i
|
||||
//LOCAL cNam, cCmd, cWdg, n
|
||||
|
||||
::oWidget:hide()
|
||||
|
||||
FOR EACH a_ IN ::aSignals
|
||||
Qt_Slots_disConnect( ::pSlots, a_[ 1 ], a_[ 2 ] )
|
||||
i := Qt_Slots_disConnect( ::pSlots, a_[ 1 ], a_[ 2 ] )
|
||||
//hbq_dbg( 300, i, "Qt_Slots_disConnect", a_[ 2 ] )
|
||||
a_:= NIL
|
||||
NEXT
|
||||
::pSlots := NIL
|
||||
FOR EACH a_ IN ::aEvents
|
||||
Qt_Events_disConnect( ::pEvents, a_[ 1 ], a_[ 2 ] )
|
||||
NEXT
|
||||
::pEvents := NIL
|
||||
|
||||
#if 0
|
||||
FOR EACH a_ IN ::aCommands
|
||||
IF a_[ 1 ] $ ::qObj
|
||||
IF ! "splitter" $ lower( a_[ 1 ] )
|
||||
cNam := a_[ 1 ] ; cCmd := a_[ 2 ]
|
||||
IF ( "addWidget" $ cCmd ) .OR. ( "addWidget" $ cCmd )
|
||||
IF ( n := at( "(o[ ", cCmd ) ) > 0
|
||||
cWdg := substr( cCmd, n + 5 )
|
||||
IF ( n := at( '"', cWdg ) ) > 0
|
||||
cWdg := substr( cWdg, 1, n - 1 )
|
||||
IF "addWidget" $ cCmd
|
||||
hbide_dbg( 200, cNam, cWdg )
|
||||
::qObj[ cNam ]:removeWidget( ::qObj[ cWdg ] )
|
||||
ELSEIF "addLayout" $ cCmd
|
||||
hbide_dbg( 205, cNam, cWdg )
|
||||
::qObj[ cNam ]:removeLayout( ::qObj[ cWdg ] )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
#endif
|
||||
|
||||
FOR EACH a_ IN ::widgets DESCEND
|
||||
IF ( i := a_:__enumIndex() ) > 1
|
||||
IF type( a_[ 3 ] ) == "UI" .AND. !( a_[ 1 ] $ "QHBoxLayout,QVBoxLayout,QGridLayout" )
|
||||
hbide_dbg( "HbQtUI:destroy( 0 )", pad( a_[ 1 ], 20 ), pad( a_[ 2 ], 20 ), iif( i > 1, pad( ::widgets[ i - 1, 1 ],20 ), NIL ), i, len( ::widgets ) )
|
||||
::qObj[ a_[ 2 ] ] := NIL
|
||||
IF type( a_[ 3 ] ) == "UI"
|
||||
IF !( a_[ 1 ] $ "QHBoxLayout,QVBoxLayout,QGridLayout" )
|
||||
//hbq_dbg( 400, i, pad( a_[ 1 ], 20 ), pad( a_[ 2 ], 20 ), iif( i > 1, pad( ::widgets[ i - 1, 1 ],20 ), NIL ), i, len( ::widgets ) )
|
||||
::qObj[ a_[ 2 ] ] := NIL
|
||||
ENDIF
|
||||
ELSEIF type( a_[ 3 ] ) != "UI"
|
||||
//hbq_dbg( 500, 0, pad( a_[ 1 ], 20 ), pad( a_[ 2 ], 20 ), iif( i > 1, pad( ::widgets[ i - 1, 1 ],20 ), NIL ), i, len( ::widgets ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
#if 1
|
||||
FOR EACH a_ IN ::widgets DESCEND
|
||||
IF a_:__enumIndex() > 1
|
||||
IF ( i := a_:__enumIndex() ) > 1
|
||||
IF type( a_[ 3 ] ) == "UI" .AND. ( a_[ 1 ] $ "QHBoxLayout,QVBoxLayout,QGridLayout" )
|
||||
hbide_dbg( "HbQtUI:destroy( 1 )", pad( a_[ 1 ], 20 ), pad( a_[ 2 ], 20 ), iif( i > 1, pad( ::widgets[ i - 1, 1 ],20 ), NIL ), i, len( ::widgets ) )
|
||||
::qObj[ a_[ 2 ] ] := NIL
|
||||
IF i > 2
|
||||
//hbq_dbg( 600, i, pad( a_[ 1 ], 20 ), pad( a_[ 2 ], 20 ), iif( i > 1, pad( ::widgets[ i - 1, 1 ],20 ), NIL ), i, len( ::widgets ) )
|
||||
::qObj[ a_[ 2 ] ] := NIL
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
#endif
|
||||
|
||||
::oWidget:close()
|
||||
|
||||
::oWidget := NIL
|
||||
::qObj[ ::cMainWidgetName ] := NIL
|
||||
::widgets[ 1, 2 ] := NIL
|
||||
::aEvents := NIL
|
||||
::aSignals := NIL
|
||||
|
||||
//hbq_dbg( 101 )
|
||||
aeval( ::aSignals, {|e_| iif( ! empty( e_ ), hbide_dbg( e_[ 2 ] ), NIL ) } )// := NIL
|
||||
::oWidget:close()
|
||||
//hbq_dbg( 102 )
|
||||
::oWidget := NIL
|
||||
//hbq_dbg( 103 )
|
||||
hbide_justACall( i )
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -344,14 +391,14 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
IF n == 0
|
||||
RETURN Self
|
||||
ENDIF
|
||||
s := alltrim( ::org[ n ] )
|
||||
n := at( "*", s )
|
||||
s := alltrim( ::org[ n ] )
|
||||
n := at( "*", s )
|
||||
cMCls := alltrim( substr( s, 1, n - 1 ) )
|
||||
cMNam := alltrim( substr( s, n + 1 ) )
|
||||
hbq_stripFront( @cMCls, "(" )
|
||||
hbq_stripRear( @cMNam, ")" )
|
||||
//
|
||||
hbq_dbg( "Widget ", pad( cMNam, 20 ), pad( cMCls, 20 ), cMCls+"():new()" )
|
||||
// hbq_dbg( "Widget ", pad( cMNam, 20 ), pad( cMCls, 20 ), cMCls+"():new()" )
|
||||
// Validator Constructor
|
||||
aadd( ::widgets, { cMCls, cMNam, cMCls+"()", cMCls+"():new()" } )
|
||||
|
||||
@@ -391,12 +438,12 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
cNam := substr( s, 1, n - 1 )
|
||||
aadd( ::widgets, { cCls, cNam, cCls+"()", cCls+"():new"+substr( s, n ) } )
|
||||
//
|
||||
hbq_dbg( "Object ", pad( cNam, 20 ), pad( cCls, 20 ), cCls+"():new"+substr( s, n ) )
|
||||
* hbq_dbg( "Object ", pad( cNam, 20 ), pad( cCls, 20 ), cCls+"():new"+substr( s, n ) )
|
||||
ELSE
|
||||
cNam := s
|
||||
aadd( ::widgets, { cCls, cNam, cCls+"()", cCls+"():new()" } )
|
||||
//
|
||||
hbq_dbg( "Object ", pad( cNam, 20 ), pad( cCls,20 ), cCls+"():new()" )
|
||||
* hbq_dbg( "Object ", pad( cNam, 20 ), pad( cCls,20 ), cCls+"():new()" )
|
||||
ENDIF
|
||||
|
||||
ELSEIF hbq_isObjectNameSet( s )
|
||||
@@ -408,7 +455,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
cCmd := ::formatCommand( substr( cText, n + 2 ), .t. )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
* hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
|
||||
ELSEIF !empty( cText := hbq_pullText( ::org, s:__enumIndex() ) )
|
||||
n := at( "->", cText )
|
||||
@@ -416,7 +463,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
cCmd := ::formatCommand( substr( cText, n + 2 ), .t. )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
* hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
|
||||
ELSEIF hbq_isValidCmdLine( s ) .AND. !( "->" $ s ) .AND. ( ( n := at( ".", s ) ) > 0 ) /* Assignment to objects on stack */
|
||||
cNam := substr( s, 1, n - 1 )
|
||||
@@ -426,7 +473,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
* hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
|
||||
ELSEIF !( left( s, 1 ) $ '#/*"' ) .AND. ; /* Assignment with properties from objects */
|
||||
( ( n := at( ".", s ) ) > 0 ) .AND. ;
|
||||
@@ -438,7 +485,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
* hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
|
||||
ELSEIF ( n := at( "->", s ) ) > 0 /* Assignments or calls to objects on heap */
|
||||
cNam := substr( s, 1, n - 1 )
|
||||
@@ -446,7 +493,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
* hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
|
||||
ELSEIF ( n := at( "= new", s ) ) > 0
|
||||
IF ( n1 := at( "*", s ) ) > 0 .AND. n1 < n
|
||||
@@ -459,13 +506,15 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
n := at( "(", cCmd )
|
||||
cCls := substr( cCmd, 1, n - 1 )
|
||||
aadd( ::widgets, { cCls, cNam, cCls+"()", cCls+"():new"+substr(cCmd,n) } )
|
||||
hbq_dbg( "new ", pad( cNam, 20 ), cCmd )
|
||||
* hbq_dbg( "new ", pad( cNam, 20 ), cCmd )
|
||||
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
/* Platform is ready */
|
||||
|
||||
::cMainWidgetName := cMNam
|
||||
|
||||
SWITCH cMCls
|
||||
CASE "QDialog"
|
||||
::oWidget := QDialog():new( ::qParent )
|
||||
@@ -481,12 +530,12 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
|
||||
::qObj[ cMNam ] := ::oWidget
|
||||
|
||||
hbq_dbg( "------------------------------------------------------------" )
|
||||
//hbq_dbg( "------------------------------------------------------------" )
|
||||
FOR EACH a_ IN ::widgets
|
||||
IF a_:__enumIndex() > 1
|
||||
IF type( a_[ 3 ] ) == "UI"
|
||||
cBlock := "{|o| " + a_[ 4 ] + "}"
|
||||
hbq_dbg( "Constr ", pad( a_[ 2 ], 20 ), cBlock )
|
||||
//hbq_dbg( "Constr ", pad( a_[ 2 ], 20 ), cBlock )
|
||||
bBlock := &( cBlock )
|
||||
|
||||
x := eval( bBlock, ::qObj )
|
||||
@@ -494,11 +543,13 @@ hbq_dbg( "Constr ", pad( a_[ 2 ], 20 ), cBlock )
|
||||
::qObj[ a_[ 2 ] ] := x
|
||||
ENDIF
|
||||
ELSE
|
||||
hbq_dbg( "----------------------------", a_[ 3 ] )
|
||||
//hbq_dbg( "----------------------------", a_[ 3 ] )
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
hbq_dbg( "------------------------------------------------------------" )
|
||||
//hbq_dbg( "------------------------------------------------------------" )
|
||||
|
||||
::aCommands := aCommands
|
||||
|
||||
FOR EACH a_ IN aCommands
|
||||
IF a_[ 1 ] $ ::qObj
|
||||
@@ -539,7 +590,7 @@ hbq_dbg( "------------------------------------------------------------" )
|
||||
|
||||
ELSE
|
||||
cBlock := "{|o,v| o[v]:" + cCmd + "}"
|
||||
hbq_dbg( pad( a_[ 1 ], 20 ), cBlock )
|
||||
//hbq_dbg( pad( a_[ 1 ], 20 ), cBlock )
|
||||
bBlock := &( cBlock )
|
||||
eval( bBlock, ::qObj, cNam )
|
||||
|
||||
@@ -878,3 +929,4 @@ STATIC FUNCTION hbq_getConstants()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
@@ -99,7 +99,6 @@ extern QT_G_FUNC( hbqt_gcRelease_QHttpHeader );
|
||||
extern QT_G_FUNC( hbqt_gcRelease_QHttpRequestHeader );
|
||||
extern QT_G_FUNC( hbqt_gcRelease_QHttpResponseHeader );
|
||||
extern QT_G_FUNC( hbqt_gcRelease_QIcon );
|
||||
extern QT_G_FUNC( hbqt_gcRelease_QInputContext );
|
||||
extern QT_G_FUNC( hbqt_gcRelease_QInputMethodEvent );
|
||||
extern QT_G_FUNC( hbqt_gcRelease_QImage );
|
||||
extern QT_G_FUNC( hbqt_gcRelease_QImageReader );
|
||||
@@ -386,7 +385,6 @@ extern void * hbqt_gcAllocate_QHttpHeader( void * pObj, bool bNew );
|
||||
extern void * hbqt_gcAllocate_QHttpRequestHeader( void * pObj, bool bNew );
|
||||
extern void * hbqt_gcAllocate_QHttpResponseHeader( void * pObj, bool bNew );
|
||||
extern void * hbqt_gcAllocate_QIcon( void * pObj, bool bNew );
|
||||
extern void * hbqt_gcAllocate_QInputContext( void * pObj, bool bNew );
|
||||
extern void * hbqt_gcAllocate_QInputMethodEvent( void * pObj, bool bNew );
|
||||
extern void * hbqt_gcAllocate_QImage( void * pObj, bool bNew );
|
||||
extern void * hbqt_gcAllocate_QImageReader( void * pObj, bool bNew );
|
||||
|
||||
@@ -145,8 +145,10 @@ METHOD XbpTreeView:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::xbpWindow:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::oWidget := QTreeWidget():new( ::pParent )
|
||||
::oWidget:setMouseTracking( .t. )
|
||||
::oWidget:setColumnCount( 1 )
|
||||
::oWidget:setHeaderHidden( .t. )
|
||||
::oWidget:setContextMenuPolicy( Qt_CustomContextMenu )
|
||||
|
||||
|
||||
#if 0
|
||||
@@ -169,20 +171,17 @@ METHOD XbpTreeView:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
oW:pPtr := ::oWidget:invisibleRootItem()
|
||||
::oRootItem:oWidget := oW
|
||||
|
||||
/* Window Events */
|
||||
::oWidget:installEventFilter( ::pEvents )
|
||||
::connectEvent( ::pWidget, QEvent_ContextMenu, {|e| ::grabEvent( QEvent_ContextMenu, e ) } )
|
||||
|
||||
* ::connect( ::pWidget, "currentItemChanged(QTWItem)" , {|p1,p2| ::exeBlock( 1, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemActivated(QTWItem)" , {|p1,p2| ::exeBlock( 2, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemChanged(QTWItem)" , {|p1,p2| ::exeBlock( 3, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemClicked(QTWItem)" , {|p1,p2| ::exeBlock( 4, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemCollapsed(QTWItem)" , {|p1,p2| ::exeBlock( 5, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemDoubleClicked(QTWItem)" , {|p1,p2| ::exeBlock( 6, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemEntered(QTWItem)" , {|p1,p2| ::exeBlock( 7, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemExpanded(QTWItem)" , {|p1,p2| ::exeBlock( 8, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemPressed(QTWItem)" , {|p1,p2| ::exeBlock( 9, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemSelectionChanged()" , {|p1,p2| ::exeBlock( 10, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "currentItemChanged(QTWItem)" , {|p1,p2| ::exeBlock( 1, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemActivated(QTWItem)" , {|p1,p2| ::exeBlock( 2, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemChanged(QTWItem)" , {|p1,p2| ::exeBlock( 3, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemClicked(QTWItem)" , {|p1,p2| ::exeBlock( 4, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemCollapsed(QTWItem)" , {|p1,p2| ::exeBlock( 5, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemDoubleClicked(QTWItem)" , {|p1,p2| ::exeBlock( 6, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemEntered(QTWItem)" , {|p1,p2| ::exeBlock( 7, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemExpanded(QTWItem)" , {|p1,p2| ::exeBlock( 8, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemPressed(QTWItem)" , {|p1,p2| ::exeBlock( 9, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemSelectionChanged()" , {|p1,p2| ::exeBlock( 10, p1, p2 ) } )
|
||||
::connect( ::pWidget, "customContextMenuRequested(QPoint)", {|p1 | ::exeBlock( 21, p1 ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -208,7 +207,7 @@ METHOD XbpTreeView:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams,
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTreeView:ExeBlock( nMsg, p1, p2 )
|
||||
LOCAL oItem, n
|
||||
LOCAL oItem, n, qPt
|
||||
|
||||
HB_SYMBOL_UNUSED( nMsg )
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
@@ -237,6 +236,8 @@ METHOD XbpTreeView:ExeBlock( nMsg, p1, p2 )
|
||||
eval( ::sl_itemSelected, oItem, {0,0,0,0}, self )
|
||||
ENDIF
|
||||
CASE nMsg == 7 // "itemEntered(QTWItem)"
|
||||
::oWidget:setToolTip( oItem:caption )
|
||||
|
||||
CASE nMsg == 8 // "itemExpanded(QTWItem)"
|
||||
IF hb_isBlock( ::sl_itemExpanded )
|
||||
eval( ::sl_itemExpanded, oItem, {0,0,0,0}, self )
|
||||
@@ -244,6 +245,10 @@ METHOD XbpTreeView:ExeBlock( nMsg, p1, p2 )
|
||||
CASE nMsg == 9 // "itemPressed(QTWItem)"
|
||||
CASE nMsg == 10 // "itemSelectionChanged()"
|
||||
|
||||
CASE nMsg == 21 // "contextmenu"
|
||||
qPt := QPoint():from( ::oWidget:mapToGlobal( p1 ) )
|
||||
::hbContextMenu( { qPt:x(), qPt:y() } )
|
||||
|
||||
ENDCASE
|
||||
|
||||
RETURN .f.
|
||||
@@ -266,8 +271,6 @@ METHOD XbpTreeView:destroy()
|
||||
::disconnect()
|
||||
|
||||
FOR i := len( ::aItems ) TO 1 step -1
|
||||
// aeval( ::aItems[ i ]:aChilds, {|e,j| e := e, ::aItems[ i ]:aChilds[ j ] := NIL } )
|
||||
// ::aItems[ i ]:oWidget:pPtr := NIL
|
||||
::aItems[ i ]:destroy()
|
||||
NEXT
|
||||
::aItems := NIL
|
||||
|
||||
Reference in New Issue
Block a user