2012-09-27 12:11 UTC+0200 Viktor Szakats (vszakats syenar.net)
- contrib/hbide
- contrib/hbqt
- contrib/hbxbp
- deleted hbqt, hbxbp, hbide as final step of contrib
split to separate project.
find them in this (temporary) repository:
http://sourceforge.net/projects/hbqt/
or checkout from Harbour repository using:
svn co -r 18153 https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
@@ -16,6 +16,17 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2012-09-27 12:11 UTC+0200 Viktor Szakats (vszakats syenar.net)
|
||||
- contrib/hbide
|
||||
- contrib/hbqt
|
||||
- contrib/hbxbp
|
||||
- deleted hbqt, hbxbp, hbide as final step of contrib
|
||||
split to separate project.
|
||||
find them in this (temporary) repository:
|
||||
http://sourceforge.net/projects/hbqt/
|
||||
or checkout from Harbour repository using:
|
||||
svn co -r 18153 https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
|
||||
|
||||
2012-09-27 01:59 UTC+0200 Viktor Szakats (harbour syenar.net)
|
||||
* contrib/hbnf/*
|
||||
% deleted original filename embedded in headers
|
||||
|
||||
@@ -1,508 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2011 Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* www - http://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 <bedipritpal@hotmail.com>
|
||||
* 25May2011
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqtgui.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define __editChangelog_textChanged__ 2001
|
||||
#define __editUser_textChanged__ 2002
|
||||
#define __buttonOpen_clicked__ 2003
|
||||
#define __buttonNew_clicked__ 2004
|
||||
#define __buttonTitle_clicked__ 2005
|
||||
#define __buttonSource_clicked__ 2006
|
||||
#define __buttonDesc_clicked__ 2007
|
||||
#define __buttonSrcDesc_clicked__ 2008
|
||||
#define __buttonClearDesc_clicked__ 2009
|
||||
#define __buttonCancel_clicked__ 2010
|
||||
#define __buttonSave_clicked__ 2011
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeChangeLog INHERIT IdeObject
|
||||
|
||||
DATA nCntr INIT 0
|
||||
DATA qHiliter
|
||||
DATA oEdit
|
||||
DATA qEdit
|
||||
DATA oTheme
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD show()
|
||||
METHOD execEvent( nEvent, p )
|
||||
METHOD updateLog()
|
||||
METHOD refresh()
|
||||
METHOD addToLog( aLog )
|
||||
METHOD getLogEntry()
|
||||
METHOD buildLogEntry()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:new( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:destroy()
|
||||
|
||||
IF !empty( ::oUI )
|
||||
::oUI:buttonNew :disconnect( "clicked()" )
|
||||
|
||||
::oUI:destroy()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:show()
|
||||
|
||||
IF empty( ::oUI )
|
||||
::oUI := hbide_getUI( "changelog", ::oDlg:oWidget )
|
||||
::oUI:setWindowFlags( Qt_Sheet )
|
||||
::oUI:setWindowIcon( QIcon( hbide_image( "hbide" ) ) )
|
||||
|
||||
::oUI:buttonOpen :setIcon( QIcon( hbide_image( "dc_folder" ) ) )
|
||||
::oUI:buttonNew :setIcon( QIcon( hbide_image( "new" ) ) )
|
||||
::oUI:buttonTitle :setIcon( QIcon( hbide_image( "dc_plus" ) ) )
|
||||
::oUI:buttonSource :setIcon( QIcon( hbide_image( "dc_plus" ) ) )
|
||||
::oUI:buttonDesc :setIcon( QIcon( hbide_image( "dc_plus" ) ) )
|
||||
::oUI:buttonSrcDesc :setIcon( QIcon( hbide_image( "dc_plus" ) ) )
|
||||
|
||||
::oUI:buttonOpen :setToolTip( "Open a ChangeLog" )
|
||||
::oUI:buttonNew :setToolTip( "Create Empty ChangeLog" )
|
||||
::oUI:buttonTitle :setToolTip( "Add Title in current entry" )
|
||||
::oUI:buttonSource :setToolTip( "Add Source in current entry" )
|
||||
::oUI:buttonDesc :setToolTip( "Add Action_Description in current entry" )
|
||||
::oUI:buttonSrcDesc :setToolTip( "Add Source_Action_Description in current entry" )
|
||||
|
||||
::oUI:buttonOpen :connect( "clicked()", {|| ::execEvent( __buttonOpen_clicked__ ) } )
|
||||
::oUI:buttonNew :connect( "clicked()", {|| ::execEvent( __buttonNew_clicked__ ) } )
|
||||
|
||||
::oUI:buttonTitle :connect( "clicked()", {|| ::execEvent( __buttonTitle_clicked__ ) } )
|
||||
::oUI:buttonSource :connect( "clicked()", {|| ::execEvent( __buttonSource_clicked__ ) } )
|
||||
::oUI:buttonDesc :connect( "clicked()", {|| ::execEvent( __buttonDesc_clicked__ ) } )
|
||||
::oUI:buttonSrcDesc :connect( "clicked()", {|| ::execEvent( __buttonSrcDesc_clicked__ ) } )
|
||||
::oUI:buttonClearDesc :connect( "clicked()", {|| ::execEvent( __buttonClearDesc_clicked__ ) } )
|
||||
|
||||
::oUI:buttonCancel :connect( "clicked()", {|| ::execEvent( __buttonCancel_clicked__ ) } )
|
||||
::oUI:buttonSave :connect( "clicked()", {|| ::execEvent( __buttonSave_clicked__ ) } )
|
||||
|
||||
::oUI:editChangelog :connect( "textChanged(QString)", {|p| ::execEvent( __editChangelog_textChanged__, p ) } )
|
||||
::oUI:editUser :connect( "textChanged(QString)", {|p| ::execEvent( __editUser_textChanged__ , p ) } )
|
||||
|
||||
::oUI:comboAction :addItem( "! Fixed : " )
|
||||
::oUI:comboAction :addItem( "* Changed: " )
|
||||
::oUI:comboAction :addItem( "% Optimzd: " )
|
||||
::oUI:comboAction :addItem( "+ Added : " )
|
||||
::oUI:comboAction :addItem( "- Removed: " )
|
||||
::oUI:comboAction :addItem( "; Comment: " )
|
||||
::oUI:comboAction :addItem( "@ TODO : " )
|
||||
::oUI:comboAction :addItem( "| Moved : " )
|
||||
|
||||
IF empty( ::oINI:cUserChangeLog )
|
||||
::oINI:cUserChangeLog := hbide_fetchAString( ::oDlg:oWidget, ::oINI:cUserChangeLog, , "Developer Name" )
|
||||
ENDIF
|
||||
|
||||
aeval( ::oINI:aLogTitle , {|e| ::oUI:comboTitle:insertItem( 0,e ) } )
|
||||
aeval( ::oINI:aLogSources, {|e| ::oUI:comboSources:insertItem( 0,e ) } )
|
||||
|
||||
::oUI:comboTitle:setCurrentIndex( -1 )
|
||||
::oUI:comboSources:setCurrentIndex( -1 )
|
||||
|
||||
::oUI:plainChangelog :setFont( ::oFont:oWidget )
|
||||
::oUI:plainLogEntry :setFont( ::oFont:oWidget )
|
||||
::oUI:plainCurrentLog :setFont( ::oFont:oWidget )
|
||||
|
||||
::oUI:plainLogEntry :ensureCursorVisible()
|
||||
|
||||
::oUI:editUser:setText( ::oINI:cUserChangeLog )
|
||||
::oUI:setWindowTitle( "Manage ChangeLog(s)" )
|
||||
|
||||
::oEdit := IdeEdit():new( ::oIde )
|
||||
::qEdit := ::oUI:plainChangelog
|
||||
::oEdit:qEdit := ::qEdit
|
||||
::qEdit:setFocusPolicy( Qt_NoFocus )
|
||||
::qEdit:hbHorzRulerVisible( .f. )
|
||||
|
||||
::oTheme := IdeThemes():new( ::oIde ):create()
|
||||
::qHiliter := ::oTheme:setSyntaxHilighting( ::qEdit, , .t., .t. )
|
||||
::qHiliter:hbSetType( 1 )
|
||||
|
||||
::oUI:editChangelog :setText( ::oINI:cChangeLog )
|
||||
|
||||
::oUI:oWidget:connect( QEvent_Close, {|| ::oIde:oINI:cChangelogDialogGeometry := hbide_posAndSize( ::oUI:oWidget ) } )
|
||||
ENDIF
|
||||
|
||||
::oIde:setPosAndSizeByIniEx( ::oUI:oWidget, ::oINI:cChangelogDialogGeometry )
|
||||
::oUI:show()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_eol()
|
||||
RETURN hb_eol() // chr( 13 ) + chr( 10 )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_getLogCounter( cBuffer )
|
||||
LOCAL n, n1, nCntr := 0
|
||||
|
||||
IF ( n := at( "$<", cBuffer ) ) > 0
|
||||
n1 := at( ">", cBuffer )
|
||||
nCntr := val( substr( cBuffer, n + 2, n1 - n - 2 ) )
|
||||
ENDIF
|
||||
|
||||
RETURN nCntr + 1
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:execEvent( nEvent, p )
|
||||
LOCAL cTmp, cTmp1, s, n
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
IF ::lQuitting
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
SWITCH nEvent
|
||||
|
||||
CASE __buttonTitle_clicked__
|
||||
IF ! empty( cTmp := ::oUI:comboTitle:currentText() )
|
||||
::addToLog( { "Title", cTmp, "" } )
|
||||
::refresh()
|
||||
IF ascan( ::oINI:aLogTitle, {|e| upper( e ) == upper( cTmp ) } ) == 0
|
||||
aadd( ::oINI:aLogTitle, cTmp )
|
||||
::oUI:comboTitle:insertItem( 0,cTmp )
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __buttonSource_clicked__
|
||||
IF ! empty( cTmp := ::oUI:comboSources:currentText() )
|
||||
::addToLog( { "Source", cTmp, "" } )
|
||||
::refresh()
|
||||
IF ascan( ::oINI:aLogSources, {|e| upper( e ) == upper( cTmp ) } ) == 0
|
||||
aadd( ::oINI:aLogSources, cTmp )
|
||||
::oUI:comboSources:insertItem( 0,cTmp )
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __buttonDesc_clicked__
|
||||
IF ! empty( cTmp := ::oUI:plainCurrentLog:toPlainText() )
|
||||
::addToLog( { "Desc", ::oUI:comboAction:currentText(), cTmp } )
|
||||
::oUI:plainCurrentLog:clear()
|
||||
::refresh()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __buttonSrcDesc_clicked__
|
||||
IF ! empty( cTmp := ::oUI:comboSources:currentText() )
|
||||
::addToLog( { "Source", cTmp, "" } )
|
||||
ENDIF
|
||||
IF ! empty( cTmp := ::oUI:plainCurrentLog:toPlainText() )
|
||||
::addToLog( { "Desc", ::oUI:comboAction:currentText(), cTmp } )
|
||||
::oUI:plainCurrentLog:clear()
|
||||
ENDIF
|
||||
::refresh()
|
||||
EXIT
|
||||
CASE __buttonClearDesc_clicked__
|
||||
::oUI:plainCurrentLog:clear()
|
||||
EXIT
|
||||
CASE __buttonSave_clicked__
|
||||
IF ! empty( cTmp := ::buildLogEntry() )
|
||||
cTmp1 := hb_memoread( ::oINI:cChangeLog )
|
||||
::nCntr := hbide_getLogCounter( cTmp1 )
|
||||
s := "$<" + strzero( ::nCntr, 6 ) + "> " + hbide_dtosFmt() + " " + left( time(), 5 ) + " " + ::oINI:cUserChangeLog
|
||||
|
||||
IF ( n := at( "$<", cTmp1 ) ) > 0
|
||||
//cTmp1 := substr( cTmp1, 1, n - 1 ) + s + hbide_eol() + cTmp + hbide_eol() + substr( cTmp1, n )
|
||||
cTmp1 := substr( cTmp1, 1, n - 1 ) + s + hbide_eol() + cTmp + substr( cTmp1, n )
|
||||
ELSE
|
||||
cTmp1 += hbide_eol() + s + hbide_eol() + cTmp1 + hbide_eol()
|
||||
ENDIF
|
||||
hb_memowrit( ::oINI:cChangeLog, cTmp1 ) /* TODO: put it under locking protocol */
|
||||
::updateLog()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __buttonCancel_clicked__
|
||||
::oUI:plainLogEntry:clear()
|
||||
EXIT
|
||||
CASE __buttonOpen_clicked__
|
||||
cTmp := hbide_fetchAFile( ::oDlg, "Select a ChangeLog File" )
|
||||
IF ! empty( cTmp ) .AND. hb_fileExists( cTmp )
|
||||
::oINI:cChangeLog := cTmp
|
||||
::oUI:editChangelog:setText( ::oINI:cChangeLog )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __buttonNew_clicked__
|
||||
cTmp := hbide_saveAFile( ::oDlg, "New ChangeLog File" )
|
||||
IF ! empty( cTmp )
|
||||
::oINI:cChangeLog := cTmp
|
||||
|
||||
s := "" + hbide_eol()
|
||||
s += "$<000000> " + hbide_dtosFmt( date() ) + " " + left( time(),5 ) + " hbIDE" + hbide_eol()
|
||||
s += " # Initialized by hbIDE" + hbide_eol()
|
||||
|
||||
hb_memowrit( ::oINI:cChangeLog, s )
|
||||
|
||||
::oUI:editChangelog:setText( ::oINI:cChangeLog )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __editUser_textChanged__
|
||||
IF !empty( p )
|
||||
::oINI:cUserChangeLog := p
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __editChangelog_textChanged__
|
||||
IF ! empty( p ) .AND. hb_fileExists( p )
|
||||
::oINI:cChangeLog := p
|
||||
::oUI:editChangelog:setStyleSheet( "" )
|
||||
::updateLog()
|
||||
ELSE
|
||||
::oUI:editChangelog:setStyleSheet( "background-color: rgba( 240,120,120,255 );" )
|
||||
::oUI:plainChangelog:clear()
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:updateLog()
|
||||
|
||||
::oUI:plainLogEntry:clear()
|
||||
::oUI:plainCurrentLog:clear()
|
||||
::oUI:plainChangelog:clear()
|
||||
|
||||
::oUI:plainChangelog:setPlainText( hb_memoread( ::oINI:cChangeLog ) )
|
||||
|
||||
::refresh()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_dtosFmt( dDate )
|
||||
LOCAL s
|
||||
|
||||
DEFAULT dDate TO date()
|
||||
|
||||
s := dtos( dDate )
|
||||
|
||||
RETURN substr( s, 1, 4 ) + "-" + substr( s, 5, 2 ) + "-" + substr( s, 7, 2 )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:refresh()
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:addToLog( aLog )
|
||||
LOCAL k, e
|
||||
LOCAL a_:= ::getLogEntry()
|
||||
|
||||
DO CASE
|
||||
CASE aLog[ 1 ] == "Title"
|
||||
aadd( a_, " # " + aLog[ 2 ] )
|
||||
CASE aLog[ 1 ] == "Source"
|
||||
aadd( a_, " * " + aLog[ 2 ] )
|
||||
CASE aLog[ 1 ] == "Desc"
|
||||
k := hbide_memoToArray( aLog[ 3 ] )
|
||||
FOR EACH e IN k
|
||||
IF e:__enumIndex() == 1
|
||||
aadd( a_, " " + aLog[ 2 ] + e )
|
||||
ELSE
|
||||
aadd( a_, " " + space( 11 ) + e )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDCASE
|
||||
|
||||
::oUI:plainLogEntry:setPlainText( hbide_arrayToMemo( a_ ) )
|
||||
QApplication():sendEvent( ::oUI:plainLogEntry, QKeyEvent( QEvent_KeyPress, Qt_Key_End, Qt_ControlModifier ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:getLogEntry()
|
||||
LOCAL e, n, f, s_:={}, lHandelled
|
||||
LOCAL a_:= hbide_memoToArray( ::oUI:plainLogEntry:toPlainText() )
|
||||
|
||||
FOR EACH e IN a_
|
||||
lHandelled := .f.
|
||||
f := ltrim( e )
|
||||
|
||||
SWITCH left( f, 1 )
|
||||
CASE "#"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
EXIT
|
||||
CASE "*"
|
||||
IF substr( f,3,7 ) == "Changed"
|
||||
aadd( s_, " " + f )
|
||||
ELSE
|
||||
aadd( s_, " " + f )
|
||||
ENDIF
|
||||
lHandelled := .t.
|
||||
EXIT
|
||||
CASE "!"
|
||||
IF substr( f,3,5 ) == "Fixed"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "%"
|
||||
IF substr( f,3,7 ) == "Optimzd"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "+"
|
||||
IF substr( f,3,5 ) == "Added"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "-"
|
||||
IF substr( f,3,7 ) == "Removed"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE ";"
|
||||
IF substr( f,3,7 ) == "Comment"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "@"
|
||||
IF substr( f,3,4 ) == "TODO"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "|"
|
||||
IF substr( f,3,5 ) == "Moved"
|
||||
aadd( s_, " " + f )
|
||||
lHandelled := .t.
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
IF ! lHandelled
|
||||
n := hbide_howManyPreSpaces( e )
|
||||
IF n >= 15
|
||||
aadd( s_, e )
|
||||
ELSE
|
||||
aadd( s_, space( 15 ) + f )
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
RETURN s_
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeChangeLog:buildLogEntry()
|
||||
RETURN hbide_arrayToMemo( ::getLogEntry() )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_howManyPreSpaces( cStr )
|
||||
LOCAL i, n := 0
|
||||
|
||||
FOR i := 1 TO Len( cStr )
|
||||
IF ! ( substr( cStr, i, 1 ) == " " )
|
||||
EXIT
|
||||
ENDIF
|
||||
n++
|
||||
NEXT
|
||||
RETURN n
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,286 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormChangelog</class>
|
||||
<widget class="QWidget" name="FormChangelog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>454</width>
|
||||
<height>674</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Manage ChangeLog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>ChangeLog File</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editChangelog"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonOpen">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonNew">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>User:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editUser"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>180</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> Build Log Entry</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Title</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" colspan="3">
|
||||
<widget class="QComboBox" name="comboTitle">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="insertPolicy">
|
||||
<enum>QComboBox::InsertAlphabetically</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Source:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Action:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QComboBox" name="comboAction"/>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="4">
|
||||
<widget class="QPlainTextEdit" name="plainCurrentLog">
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="4">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonTitle">
|
||||
<property name="text">
|
||||
<string>Title</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSource">
|
||||
<property name="text">
|
||||
<string>Source</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonDesc">
|
||||
<property name="text">
|
||||
<string>Description</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSrcDesc">
|
||||
<property name="text">
|
||||
<string>Source + Desc</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonClearDesc">
|
||||
<property name="text">
|
||||
<string>Clear Desc</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="comboSources">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="insertPolicy">
|
||||
<enum>QComboBox::InsertAlphabetically</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>200</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Current Log Entry</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPlainTextEdit" name="plainLogEntry">
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonCancel">
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSave">
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="title">
|
||||
<string>ChangeLog Contents</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="HBQPlainTextEdit" name="plainChangelog">
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>HBQPlainTextEdit</class>
|
||||
<extends>QPlainTextEdit</extends>
|
||||
<header>hbqplaintextedit.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,447 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2009-2010 Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* www - http://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 <bedipritpal@hotmail.com>
|
||||
* 11Jun2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqtgui.ch"
|
||||
#include "hbide.ch"
|
||||
#include "xbp.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define __checkDictToPrg_stateChanged__ 2056
|
||||
#define __checkDictToC_stateChanged__ 2057
|
||||
#define __checkDictToCpp_stateChanged__ 2058
|
||||
#define __checkDictToCh_stateChanged__ 2059
|
||||
#define __checkDictToH_stateChanged__ 2060
|
||||
#define __checkDictToIni_stateChanged__ 2061
|
||||
#define __checkDictToTxt_stateChanged__ 2062
|
||||
#define __checkDictToHbp_stateChanged__ 2063
|
||||
#define __checkDictActive_stateChanged__ 2064
|
||||
#define __checkDictCaseSens_stateChanged__ 2065
|
||||
#define __checkDictBold_stateChanged__ 2066
|
||||
#define __checkDictItalic_stateChanged__ 2067
|
||||
#define __checkDictULine_stateChanged__ 2068
|
||||
#define __checkDictColorText_stateChanged__ 2069
|
||||
#define __checkDictColorBack_stateChanged__ 2070
|
||||
#define __radioDictConvNone_clicked__ 2071
|
||||
#define __radioDictToLower_clicked__ 2072
|
||||
#define __radioDictToUpper_clicked__ 2073
|
||||
#define __radioDictAsIn_clicked__ 2074
|
||||
|
||||
#define DIC_FILENAME 1
|
||||
#define DIC_ACTIVE 2
|
||||
#define DIC_APPLYTO 3
|
||||
#define DIC_CONVMODE 4
|
||||
#define DIC_CASESENSTITIVE 5
|
||||
#define DIC_BOLD 6
|
||||
#define DIC_ITALIC 7
|
||||
#define DIC_UNDERLINE 8
|
||||
#define DIC_TXTCOLOR 9
|
||||
#define DIC_BGCOLOR 10
|
||||
|
||||
#define DIC_NUM_VRBLS 10
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_loadUserDictionaries( oIde )
|
||||
LOCAL aDict := oIde:oINI:aDictionaries
|
||||
LOCAL oDict, i
|
||||
|
||||
FOR i := 1 TO Len( aDict )
|
||||
oDict := IdeDictionary():new( oIde ):create()
|
||||
oDict:load( aDict[ i ] )
|
||||
aadd( oIde:aUserDict, oDict )
|
||||
NEXT
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeDictionary INHERIT IdeObject
|
||||
|
||||
DATA cDictInfo INIT ""
|
||||
DATA cFilename INIT ""
|
||||
DATA lActive INIT .T.
|
||||
DATA cApplyTo INIT ""
|
||||
DATA lToPrg INIT .T.
|
||||
DATA lToC INIT .F.
|
||||
DATA lToCPP INIT .F.
|
||||
DATA lToCH INIT .F.
|
||||
DATA lToH INIT .F.
|
||||
DATA lToIni INIT .F.
|
||||
DATA lToTxt INIT .F.
|
||||
DATA lToHbp INIT .F.
|
||||
DATA cConvMode INIT "ASIS"
|
||||
DATA lCaseSens INIT .F.
|
||||
DATA lBold INIT .F.
|
||||
DATA lItalic INIT .F.
|
||||
DATA lULine INIT .F.
|
||||
DATA lTxtColor INIT .F.
|
||||
DATA lBgColor INIT .F.
|
||||
DATA cTxtColor INIT ""
|
||||
DATA cBgColor INIT ""
|
||||
DATA aRawLines INIT {}
|
||||
|
||||
DATA hItems INIT {=>}
|
||||
|
||||
DATA aTxtRGB INIT {}
|
||||
DATA aBgRGB INIT {}
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy() VIRTUAL
|
||||
METHOD load( cDict )
|
||||
METHOD toString()
|
||||
METHOD populateUI( oUI )
|
||||
METHOD execColorDialog( oUI, cMode )
|
||||
METHOD setButtonColors( oUI )
|
||||
METHOD checkStateChanged( oUI, p, p1 )
|
||||
METHOD radioButtonClicked( oUI, p )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:new( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
hb_HCaseMatch( ::hItems, .F. )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:create( oIde )
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:load( cDict )
|
||||
LOCAL a_:= hb_aTokens( cDict, ";" )
|
||||
LOCAL s, b_, n, n1, cKeyword, cSyntax, cDesc, c_
|
||||
|
||||
IF !empty( a_ ) .AND. HB_ISARRAY( a_ )
|
||||
asize( a_, DIC_NUM_VRBLS )
|
||||
|
||||
DEFAULT a_[ DIC_FILENAME ] TO ""
|
||||
DEFAULT a_[ DIC_ACTIVE ] TO "YES"
|
||||
DEFAULT a_[ DIC_APPLYTO ] TO ".PRG"
|
||||
DEFAULT a_[ DIC_CONVMODE ] TO "ASIS"
|
||||
DEFAULT a_[ DIC_CASESENSTITIVE ] TO "NO"
|
||||
DEFAULT a_[ DIC_BOLD ] TO "NO"
|
||||
DEFAULT a_[ DIC_ITALIC ] TO "NO"
|
||||
DEFAULT a_[ DIC_UNDERLINE ] TO "NO"
|
||||
DEFAULT a_[ DIC_TXTCOLOR ] TO ""
|
||||
DEFAULT a_[ DIC_BGCOLOR ] TO ""
|
||||
|
||||
|
||||
::cDictInfo := cDict
|
||||
::cFilename := a_[ DIC_FILENAME ]
|
||||
::lActive := a_[ DIC_ACTIVE ] == "YES"
|
||||
::cApplyTo := a_[ DIC_APPLYTO ]
|
||||
::lToPRG := ".PRG" $ a_[ DIC_APPLYTO ]
|
||||
::lToC := ".C" $ a_[ DIC_APPLYTO ]
|
||||
::lToCPP := ".CPP" $ a_[ DIC_APPLYTO ]
|
||||
::lToCH := ".CH" $ a_[ DIC_APPLYTO ]
|
||||
::lToH := ".H" $ a_[ DIC_APPLYTO ]
|
||||
::lToIni := ".INI" $ a_[ DIC_APPLYTO ]
|
||||
::lToTxt := ".TXT" $ a_[ DIC_APPLYTO ]
|
||||
::lToHbp := ".HBP" $ a_[ DIC_APPLYTO ]
|
||||
::cConvMode := a_[ DIC_CONVMODE ]
|
||||
::lCaseSens := a_[ DIC_CASESENSTITIVE ] == "YES"
|
||||
::lBold := a_[ DIC_BOLD ] == "YES"
|
||||
::lItalic := a_[ DIC_ITALIC ] == "YES"
|
||||
::lULine := a_[ DIC_UNDERLINE ] == "YES"
|
||||
::lTxtColor := ! Empty( a_[ DIC_TXTCOLOR ] )
|
||||
::lBgColor := ! Empty( a_[ DIC_BGCOLOR ] )
|
||||
::cTxtColor := a_[ DIC_TXTCOLOR ]
|
||||
::cBgColor := a_[ DIC_BGCOLOR ]
|
||||
|
||||
IF ! Empty( ::cTxtColor )
|
||||
c_:= hbide_evalAsIs( ::cTxtColor )
|
||||
IF HB_ISARRAY( c_ ) .AND. Len( c_ ) == 3
|
||||
::aTxtRGB := AClone( c_ )
|
||||
ENDIF
|
||||
ENDIF
|
||||
IF ! Empty( ::cBgColor )
|
||||
c_:= hbide_evalAsIs( ::cBgColor )
|
||||
IF HB_ISARRAY( c_ ) .AND. Len( c_ ) == 3
|
||||
::aBgRGB := AClone( c_ )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF !empty( ::cFilename ) .AND. hb_fileExists( ::cFilename )
|
||||
IF Lower( hb_FNameExt( ::cFilename ) ) == ".hbx"
|
||||
b_:= hbide_getHbxFunctions( hb_MemoRead( ::cFilename ) )
|
||||
ELSEIF Lower( hb_FNameExt( ::cFilename ) ) == ".tag"
|
||||
c_:= hb_deserialize( hb_memoRead( ::cFilename ) )
|
||||
IF Empty( c_ ) .OR. ! HB_ISARRAY( c_ )
|
||||
c_:= {}
|
||||
ENDIF
|
||||
b_:= {}
|
||||
FOR EACH s IN c_
|
||||
AAdd( b_, s[ 5 ] )
|
||||
NEXT
|
||||
ELSE
|
||||
b_:= hbide_readSource( ::cFilename )
|
||||
ENDIF
|
||||
::aRawLines := b_
|
||||
FOR EACH s IN b_
|
||||
s := alltrim( s )
|
||||
IF empty( s )
|
||||
LOOP
|
||||
ENDIF
|
||||
cKeyword := ""
|
||||
cSyntax := ""
|
||||
cDesc := ""
|
||||
IF ( n := at( "(", s ) ) > 0
|
||||
IF ( n1 := at( ")", s ) ) > 0
|
||||
cKeyword := alltrim( substr( s, 1, n - 1 ) )
|
||||
cSyntax := strtran( substr( s, 1, n1 ), " (", "(" )
|
||||
cDesc := alltrim( substr( s, n1 + 1 ) )
|
||||
ENDIF
|
||||
ELSE
|
||||
cKeyword := s
|
||||
ENDIF
|
||||
|
||||
IF !empty( cKeyword )
|
||||
::hItems[ cKeyword ] := { cKeyword, cSyntax, cDesc }
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:toString()
|
||||
|
||||
::cDictInfo := ::cFilename + ";" + ;
|
||||
iif( ::lActive , "YES", "NO" ) + ";" + ;
|
||||
iif( ::lToPRG , ".PRG", "" ) + ;
|
||||
iif( ::lToC , ".C" , "" ) + ;
|
||||
iif( ::lToCPP , ".CPP", "" ) + ;
|
||||
iif( ::lToCH , ".CPP", "" ) + ;
|
||||
iif( ::lToH , ".H" , "" ) + ;
|
||||
iif( ::lToIni , ".INI", "" ) + ;
|
||||
iif( ::lToTxt , ".TXT", "" ) + ;
|
||||
iif( ::lToHbp , ".HBP", "" ) + ";" + ;
|
||||
::cConvMode + ";" + ;
|
||||
iif( ::lCaseSens, "YES", "NO" ) + ";" + ;
|
||||
iif( ::lBold , "YES", "NO" ) + ";" + ;
|
||||
iif( ::lItalic , "YES", "NO" ) + ";" + ;
|
||||
iif( ::lULine , "YES", "NO" ) + ";" + ;
|
||||
::cTxtColor + ";" + ;
|
||||
::cBgColor + ";"
|
||||
|
||||
RETURN ::cDictInfo
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:populateUI( oUI )
|
||||
|
||||
oUI:checkDictToPrg : setChecked( ".PRG" $ ::cApplyTo )
|
||||
oUI:checkDictToC : setChecked( ".C" $ ::cApplyTo )
|
||||
oUI:checkDictToCpp : setChecked( ".CPP" $ ::cApplyTo )
|
||||
oUI:checkDictToCh : setChecked( ".CH" $ ::cApplyTo )
|
||||
oUI:checkDictToh : setChecked( ".H" $ ::cApplyTo )
|
||||
oUI:checkDictToIni : setChecked( ".INI" $ ::cApplyTo )
|
||||
oUI:checkDictToTxt : setChecked( ".TXT" $ ::cApplyTo )
|
||||
oUI:checkDictToHbp : setChecked( ".HBP" $ ::cApplyTo )
|
||||
|
||||
oUI:checkDictActive : setChecked( ::lActive )
|
||||
oUI:checkDictCaseSens : setChecked( ::lCaseSens )
|
||||
oUI:checkDictBold : setChecked( ::lBold )
|
||||
oUI:checkDictItalic : setChecked( ::lItalic )
|
||||
oUI:checkDictULine : setChecked( ::lULine )
|
||||
oUI:checkDictColorText : setChecked( ! Empty( ::cTxtColor ) )
|
||||
oUI:checkDictColorBack : setChecked( ! Empty( ::cBgColor ) )
|
||||
|
||||
oUI:radioDictConvNone : setChecked( ::cConvMode == "NONE" )
|
||||
oUI:radioDictToLower : setChecked( ::cConvMode == "LOWER" )
|
||||
oUI:radioDictToUpper : setChecked( ::cConvMode == "UPPER" )
|
||||
oUI:radioDictAsIn : setChecked( ::cConvMode == "ASIS" )
|
||||
|
||||
oUI:plainKeywords : clear()
|
||||
oUI:plainKeywords : setPlainText( hbide_arrayToMemo( ::aRawLines ) )
|
||||
|
||||
::setButtonColors( oUI )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:setButtonColors( oUI )
|
||||
|
||||
oUI:btnDictColorText:setStyleSheet( "" )
|
||||
oUI:btnDictColorBack:setStyleSheet( "" )
|
||||
IF ! Empty( ::aTxtRGB )
|
||||
oUI:btnDictColorText: setStyleSheet( "background-color: rgb(" + hb_ntos( ::aTxtRGB[ 1 ] ) + "," + hb_ntos( ::aTxtRGB[ 2 ] ) + "," + hb_ntos( ::aTxtRGB[ 3 ] ) + ");" )
|
||||
ENDIF
|
||||
IF ! Empty( ::aBgRGB )
|
||||
oUI:btnDictColorBack: setStyleSheet( "background-color: rgb(" + hb_ntos( ::aBgRGB[ 1 ] ) + "," + hb_ntos( ::aBgRGB[ 2 ] ) + "," + hb_ntos( ::aBgRGB[ 3 ] ) + ");" )
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:execColorDialog( oUI, cMode )
|
||||
LOCAL qColorDlg := QColorDialog( oUI:oWidget )
|
||||
LOCAL nRet, qColor
|
||||
|
||||
IF cMode == "back" .AND. ! Empty( ::aBgRGB )
|
||||
qColorDlg:SetCurrentColor( QColor( ::aBgRGB[ 1 ], ::aBgRGB[ 2 ], ::aBgRGB[ 3 ] ) )
|
||||
ELSEIF cMode == "text" .AND. ! Empty( ::aTxtRGB )
|
||||
qColorDlg:SetCurrentColor( QColor( ::aTxtRGB[ 1 ], ::aTxtRGB[ 2 ], ::aTxtRGB[ 3 ] ) )
|
||||
ENDIF
|
||||
|
||||
nRet := qColorDlg:exec()
|
||||
|
||||
IF nRet == QDialog_Accepted
|
||||
qColor := qColorDlg:selectedColor()
|
||||
IF cMode == "back"
|
||||
::aBgRGB := Array( 3 )
|
||||
::aBgRGB[ 1 ] := qColor:red()
|
||||
::aBgRGB[ 2 ] := qColor:green()
|
||||
::aBgRGB[ 3 ] := qColor:blue()
|
||||
::cBgColor := "{" + hb_ntos( ::aBgRGB[ 1 ] ) + "," + hb_ntos( ::aBgRGB[ 2 ] ) + "," + hb_ntos( ::aBgRGB[ 3 ] ) + "}"
|
||||
::lBgColor := .T.
|
||||
oUI:checkDictColorBack : setChecked( ! Empty( ::cBgColor ) )
|
||||
ELSE
|
||||
::aTxtRGB := Array( 3 )
|
||||
::aTxtRGB[ 1 ] := qColor:red()
|
||||
::aTxtRGB[ 2 ] := qColor:green()
|
||||
::aTxtRGB[ 3 ] := qColor:blue()
|
||||
::cTxtColor := "{" + hb_ntos( ::aTxtRGB[ 1 ] ) + "," + hb_ntos( ::aTxtRGB[ 2 ] ) + "," + hb_ntos( ::aTxtRGB[ 3 ] ) + "}"
|
||||
::lTxtColor := .T.
|
||||
oUI:checkDictColorText : setChecked( ! Empty( ::cTxtColor ) )
|
||||
ENDIF
|
||||
::setButtonColors( oUI )
|
||||
ENDIF
|
||||
qColorDlg:setParent( QWidget() )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:checkStateChanged( oUI, p, p1 )
|
||||
LOCAL lChecked := p1 != 0
|
||||
|
||||
SWITCH p
|
||||
CASE __checkDictActive_stateChanged__ ; ::lActive := lChecked ; EXIT
|
||||
CASE __checkDictToPrg_stateChanged__ ; ::lToPrg := lChecked ; EXIT
|
||||
CASE __checkDictToC_stateChanged__ ; ::lToC := lChecked ; EXIT
|
||||
CASE __checkDictToCpp_stateChanged__ ; ::lToCPP := lChecked ; EXIT
|
||||
CASE __checkDictToCh_stateChanged__ ; ::lToCH := lChecked ; EXIT
|
||||
CASE __checkDictToH_stateChanged__ ; ::lToH := lChecked ; EXIT
|
||||
CASE __checkDictToIni_stateChanged__ ; ::lToIni := lChecked ; EXIT
|
||||
CASE __checkDictToTxt_stateChanged__ ; ::lToTxt := lChecked ; EXIT
|
||||
CASE __checkDictToHbp_stateChanged__ ; ::lToHbp := lChecked ; EXIT
|
||||
CASE __checkDictActive_stateChanged__ ; ::lActive := lChecked ; EXIT
|
||||
CASE __checkDictCaseSens_stateChanged__ ; ::lCaseSens := lChecked ; EXIT
|
||||
CASE __checkDictBold_stateChanged__ ; ::lBold := lChecked ; EXIT
|
||||
CASE __checkDictItalic_stateChanged__ ; ::lItalic := lChecked ; EXIT
|
||||
CASE __checkDictULine_stateChanged__ ; ::lULine := lChecked ; EXIT
|
||||
CASE __checkDictColorText_stateChanged__ ; ::lTxtColor := lChecked ; EXIT
|
||||
CASE __checkDictColorBack_stateChanged__ ; ::lBgColor := lChecked ; EXIT
|
||||
ENDSWITCH
|
||||
|
||||
IF ! ::lTxtColor
|
||||
::aTxtRGB := {}
|
||||
::cTxtColor := ""
|
||||
ENDIF
|
||||
IF ! ::lBgColor
|
||||
::aBgRGB := {}
|
||||
::cBgColor := ""
|
||||
ENDIF
|
||||
::setButtonColors( oUI )
|
||||
|
||||
::toString()
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:radioButtonClicked( oUI, p )
|
||||
|
||||
SWITCH p
|
||||
CASE __radioDictConvNone_clicked__ ; ::cConvMode := "NONE" ; EXIT
|
||||
CASE __radioDictToLower_clicked__ ; ::cConvMode := "LOWER" ; EXIT
|
||||
CASE __radioDictToUpper_clicked__ ; ::cConvMode := "UPPER" ; EXIT
|
||||
CASE __radioDictAsIn_clicked__ ; ::cConvMode := "ASIS" ; EXIT
|
||||
ENDSWITCH
|
||||
|
||||
::toString( oUI )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,131 +0,0 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<title>Does HbIDE support editing of sa</title>
|
||||
<style>
|
||||
<!--
|
||||
|
||||
p { white-space: pre-wrap; }
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table border="0" style="margin: 0px" align="center" width="95%" cellspacing="2" cellpadding="0" id="table1">
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: large; color: #ff0000">Does HbIDE support
|
||||
editing of same source at more than one place simultaneously ?</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: medium; color: #000000">Yes. HbIDE provides for
|
||||
splitting an editing window, horizontally and vertically, both ways.
|
||||
Right-click anywhere in the editor, point to "Split..." and then click
|
||||
on required option.</span> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: large; color: #ff0000">Does HbIDE support
|
||||
session management ?</span> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: medium; color: #000000">Yes. And in a unique
|
||||
way. It provides to construct n number of "Panels" where you can spread
|
||||
sources. Each panel is given a name as well as corresponding button on
|
||||
the left-toolbar, a colored circle, to bring it forward. New panel can
|
||||
be created from selecting "New..." from drop-down list on top-toolbar
|
||||
and providing a name in the editing dialog. For this reason you will
|
||||
never need to exit HbIDE and reenter again. It is a big productivity
|
||||
boost.</span> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: large; color: #ff0000">Does HbIDE allows to
|
||||
compile a project for different compilers and/or environments ?</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: medium; color: #000000">Yes. Infact this feature
|
||||
had been the one of the main reasons of HbIDEs existance. All you have
|
||||
to do is to enter different environment settings in _ONE_ hbide.env file
|
||||
which resides alongside hbide.ini. HbIDE provides the interface to
|
||||
manipulate this .env settings which can be invoked from right-toolbar
|
||||
icon "Compiler Environments". Follow the input fields. A template is
|
||||
provided in "hbide.env", inspect it and you are through. Once hbide.env
|
||||
is ready, you will simply need to switch over the other environment
|
||||
which can be invoked via right-click on a project node in "Projects"
|
||||
tree and point to "Select an environment" and click on listed options.
|
||||
Next step is just to build the project.</span> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: large; color: #ff0000">Can we keep any other
|
||||
content in hbide.ini ?</span> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: medium; color: #000000">No. hbide.ini is always
|
||||
re-written at the time HbIDE exits. Also this action is executed several
|
||||
times depending upon the underlying needs. However, you can alter the
|
||||
contents in some sections, i.e., [Files], [Projects], etc., but only
|
||||
before running HbIDE. At exit, it will re-write it again.</span> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: large; color: #ff0000">Does HbIDE provides "intellisense"
|
||||
? If yes, in what aspects ?</span> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 0px">
|
||||
<span style="font-size: medium; color: #000000">Yes. Not so powerful
|
||||
yet, but "yes". HbIDE embeds two components as the basis of this
|
||||
intellisense, 1. Harbour Documentation, and 2. Project(s) Prototype
|
||||
Tagging. Both these components can be pressed in servive simultaneously
|
||||
and as per need. Both are loaded only when requested. Prototype Tagging
|
||||
extends one step forward as to offer to load only those projects which a
|
||||
developer will be working on during that session. Both components can be
|
||||
aligned on the side corners to provide always-on view of the actual
|
||||
contents. The moment you press "(" HbIDE examines the contents of these
|
||||
components, if the function is available in Harbour Docs, its details
|
||||
are dumped into the viewer, otherwise if the function is contained in
|
||||
the tagged prototypes, it is made current in the list, and a html
|
||||
formatted prototype is displayed as tooltip beneth the current caret
|
||||
position. Code completion tool is almost done with, and probably will
|
||||
make up its presence in the HbIDE soon. </span></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,16 +0,0 @@
|
||||
<!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:14pt; font-weight:600; text-decoration: underline; color:#00aa00;">hbIDE Help</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600; text-decoration: underline;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This effort may not bring desired results but hopefully solve some of the issues supporting the project.</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="interfaceelements.html"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">Interface Elements</span></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;"><a href="multiviews.html"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">Multi Views</span></a></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt; text-decoration: underline; color:#0000ff;"></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Please bear with me if things appear to be simple.</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Pritpal Bedi</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html>
|
||||
@@ -1,15 +0,0 @@
|
||||
<!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:14pt;">Interface Elements</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600; text-decoration: underline;"></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">hbIDE interface contains</span></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p 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;">1. Main Frame</span></p>
|
||||
<p 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;">2. Menubar</span></p>
|
||||
<p 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;">3. Toolbar</span></p>
|
||||
<p 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;">4. Statusbar</span></p>
|
||||
<p 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;">5. Left docking Project Tree</span></p>
|
||||
<p 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;">6. Left docking Tabs Tree</span></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html>
|
||||
@@ -1,10 +0,0 @@
|
||||
<!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:14pt; color:#00aa7f;">Multi Views</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600; text-decoration: underline;"></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">hbIDE interface provides multiple views to organize your sources in a convenient way. The creation of a panel is a few clicks away. Switching is even simple.</span></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html>
|
||||
@@ -1,841 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormDocViewer</class>
|
||||
<widget class="QWidget" name="FormDocViewer">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>645</width>
|
||||
<height>557</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonHome">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonBackward">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonForward">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonUp">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonRefresh">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonPrint">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonPdf">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonPdfAll">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonExit">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelInstall">
|
||||
<property name="text">
|
||||
<string>Harbour Installation Root:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editInstall"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonInstall">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelDocPrefix">
|
||||
<property name="text">
|
||||
<string>Doc folder prefix:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editDocPrefix">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<widget class="QTabWidget" name="tabWidgetContents">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>185</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="documentMode">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="tabContents">
|
||||
<attribute name="title">
|
||||
<string>Topics</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTreeWidget" name="treeDoc">
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabByName">
|
||||
<attribute name="title">
|
||||
<string>Index</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editIndex"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListWidget" name="listIndex"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabByCategory">
|
||||
<attribute name="title">
|
||||
<string>Category</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QTreeWidget" name="treeCategory">
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QTabWidget" name="tabWidgetElements">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tabView">
|
||||
<attribute name="title">
|
||||
<string>View</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTextBrowser" name="browserView"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabTests">
|
||||
<attribute name="title">
|
||||
<string>Write</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_12">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QFrame" name="frameButtons">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Panel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonLoadFromCurFunc">
|
||||
<property name="toolTip">
|
||||
<string>Load from current function</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonLoadFromDocFile">
|
||||
<property name="toolTip">
|
||||
<string>Load from .txt file</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonLoadFromSource">
|
||||
<property name="toolTip">
|
||||
<string>Load from source ( .prg,.c,.c++ ) file</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonArgs">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Arguments Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonDesc">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Descriptions Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonExamples">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Examples Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonTests">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Tests Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonSave">
|
||||
<property name="toolTip">
|
||||
<string>Save written/updated documentation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>414</width>
|
||||
<height>665</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="handleWidth">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QFrame" name="frameGeneral">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>268</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<property name="topMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelTemplate">
|
||||
<property name="text">
|
||||
<string>Template:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="labelVersion">
|
||||
<property name="text">
|
||||
<string>Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="labelStatus">
|
||||
<property name="text">
|
||||
<string>Status:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Compliance:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QComboBox" name="comboTemplate"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="editVersion">
|
||||
<property name="toolTip">
|
||||
<string>Version of this document contents</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLineEdit" name="editStatus">
|
||||
<property name="toolTip">
|
||||
<string>Status should usually be described as one character</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLineEdit" name="editCompliance">
|
||||
<property name="toolTip">
|
||||
<string>Describe comatibility with other language</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QLabel" name="labelCategory">
|
||||
<property name="text">
|
||||
<string>Category:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2" colspan="2">
|
||||
<widget class="QLabel" name="labelSubCategory">
|
||||
<property name="text">
|
||||
<string>Sub-category:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QLineEdit" name="editCategory">
|
||||
<property name="toolTip">
|
||||
<string>Category should describe main area this function belongs to</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" colspan="2">
|
||||
<widget class="QLineEdit" name="editSubCategory"/>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QLabel" name="labelName">
|
||||
<property name="text">
|
||||
<string>Name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2" colspan="2">
|
||||
<widget class="QLabel" name="labelExtLink">
|
||||
<property name="text">
|
||||
<string>External Link:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QLineEdit" name="editName">
|
||||
<property name="toolTip">
|
||||
<string>Name of the function, and if appropriate, with open/close parenthis.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2" colspan="2">
|
||||
<widget class="QLineEdit" name="editExtLink">
|
||||
<property name="toolTip">
|
||||
<string>External link, i.e., http://www.trolltech.com/</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelOneLiner">
|
||||
<property name="text">
|
||||
<string>One Liner:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editOneLiner">
|
||||
<property name="toolTip">
|
||||
<string>A brief description this function accomlishes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelSyntax">
|
||||
<property name="text">
|
||||
<string>Syntax:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editSyntax">
|
||||
<property name="toolTip">
|
||||
<string>Syntax, or prototype as to how this function will be called</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelReturns">
|
||||
<property name="text">
|
||||
<string>Returns:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editReturns">
|
||||
<property name="toolTip">
|
||||
<string>Variable name with hungarian notation with brief description as what this function returns</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelSeeAlso">
|
||||
<property name="text">
|
||||
<string>See Also:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editSeeAlso">
|
||||
<property name="toolTip">
|
||||
<string>A comma separated list of related functions/keywords </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameArgs">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelArgs">
|
||||
<property name="text">
|
||||
<string>Arguments:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseArgs">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainArgs">
|
||||
<property name="toolTip">
|
||||
<string>One argument per line in the form - argName description</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameDesc">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_9">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelDesc">
|
||||
<property name="text">
|
||||
<string>Description:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseDesc">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainDesc">
|
||||
<property name="toolTip">
|
||||
<string>Detailed description as musch as possible to convey to the user what should be kept in mind when this function is called.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameExamples">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_10">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelExamples">
|
||||
<property name="text">
|
||||
<string>Examples:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseExamples">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainExamples">
|
||||
<property name="toolTip">
|
||||
<string>A real-time source code which could be compiled out of this box.</string>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameTests">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_11">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelTests">
|
||||
<property name="text">
|
||||
<string>Tests:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseTests">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainTests">
|
||||
<property name="toolTip">
|
||||
<string>Compilable code out of the box which could be used to test this function</string>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,730 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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 <bedipritpal@hotmail.com>
|
||||
* 14Mar2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqtgui.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define buttonArgs_clicked 101
|
||||
#define buttonDesc_clicked 102
|
||||
#define buttonExample_clicked 103
|
||||
#define buttonTests_clicked 104
|
||||
|
||||
#define buttonCloseArgs_clicked 111
|
||||
#define buttonCloseDesc_clicked 112
|
||||
#define buttonCloseExample_clicked 113
|
||||
#define buttonCloseTests_clicked 114
|
||||
|
||||
#define buttonLoadFromCurFunc_clicked 115
|
||||
|
||||
#define buttonClear_clicked 116
|
||||
#define buttonSaveInFunc_clicked 117
|
||||
#define buttonSave_clicked 118
|
||||
|
||||
|
||||
#define qqTemplate 1
|
||||
#define qqVersion 2
|
||||
#define qqStatus 3
|
||||
#define qqCompliance 4
|
||||
#define qqCategory 5
|
||||
#define qqSubCategory 6
|
||||
#define qqName 7
|
||||
#define qqExtLink 8
|
||||
#define qqOneLiner 9
|
||||
#define qqSyntax 10
|
||||
#define qqReturns 11
|
||||
#define qqSeeAlso 12
|
||||
#define qqFiles 13
|
||||
#define qqArgs 14
|
||||
#define qqDesc 15
|
||||
#define qqExamples 16
|
||||
#define qqTests 17
|
||||
|
||||
#define qqNumVrbls 17
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_getSVNHeader()
|
||||
|
||||
RETURN "/* " + hb_eol() + " * $Id:" + hb_eol() + " */" + hb_eol() + hb_eol()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_populateParam( txt_, cToken, cParam )
|
||||
LOCAL a_
|
||||
IF !empty( cParam )
|
||||
aadd( txt_, cToken )
|
||||
a_:= hbide_memoToArray( cParam )
|
||||
aeval( a_, {|e| aadd( txt_, " * " + strtran( strtran( e, chr( 13 ), "" ), chr( 10 ), "" ) ) } )
|
||||
ENDIF
|
||||
RETURN nil
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_ar2paramList( aArg )
|
||||
LOCAL s, cList := ""
|
||||
FOR EACH s IN aArg
|
||||
s := alltrim( s )
|
||||
cList += s + iif( s:__enumIndex() < Len( aArg ), ", ", "" )
|
||||
NEXT
|
||||
RETURN cList
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_arg2memo( aArg )
|
||||
LOCAL s, cMemo := ""
|
||||
|
||||
FOR EACH s IN aArg
|
||||
cMemo += "<" + s + ">" + iif( s:__enumIndex() < Len( aArg ), hb_eol(), "" )
|
||||
NEXT
|
||||
|
||||
RETURN cMemo
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeDocWriter INHERIT IdeObject
|
||||
|
||||
DATA qHiliter
|
||||
DATA qHiliter1
|
||||
|
||||
DATA oEdit
|
||||
DATA cFuncPtoto INIT ""
|
||||
DATA nFuncLine INIT 0
|
||||
DATA nTagsIndex INIT 0
|
||||
DATA cSourceFile INIT ""
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD show()
|
||||
METHOD execEvent( nMode, p )
|
||||
METHOD setImages()
|
||||
METHOD installSignals()
|
||||
METHOD setParameters()
|
||||
METHOD loadCurrentFuncDoc()
|
||||
METHOD parsePrototype( cProto )
|
||||
METHOD clear()
|
||||
METHOD fillForm( aFacts )
|
||||
METHOD fillFormByObject( oFunc )
|
||||
METHOD buildDocument()
|
||||
METHOD saveInFunction()
|
||||
METHOD saveInFile()
|
||||
METHOD pullDocFromSource( nLineFrom, oEdit )
|
||||
METHOD removeDocHelp( nLineFrom, oEdit )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:new( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:destroy()
|
||||
|
||||
::oEdit := NIL
|
||||
|
||||
IF !empty( ::oUI )
|
||||
::oUI:destroy()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:show()
|
||||
|
||||
IF empty( ::oUI )
|
||||
::oUI := hbide_getUI( "docwriter" )
|
||||
|
||||
::oDocWriteDock:oWidget:setWidget( ::oUI:oWidget )
|
||||
|
||||
::setImages()
|
||||
::installSignals()
|
||||
::setParameters()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:setImages()
|
||||
|
||||
::oUI:buttonLoadFromDocFile :setIcon( QIcon( hbide_image( "load_3" ) ) )
|
||||
::oUI:buttonLoadFromSource :setIcon( QIcon( hbide_image( "load_2" ) ) )
|
||||
::oUI:buttonLoadFromCurFunc :setIcon( QIcon( hbide_image( "load_1" ) ) )
|
||||
|
||||
::oUI:buttonArgs :setIcon( QIcon( hbide_image( "arguments" ) ) )
|
||||
::oUI:buttonDesc :setIcon( QIcon( hbide_image( "description" ) ) )
|
||||
::oUI:buttonExamples :setIcon( QIcon( hbide_image( "example" ) ) )
|
||||
::oUI:buttonTests :setIcon( QIcon( hbide_image( "tests" ) ) )
|
||||
|
||||
::oUI:buttonClear :setIcon( QIcon( hbide_image( "clean" ) ) )
|
||||
::oUI:buttonSaveInFunc :setIcon( QIcon( hbide_image( "unload_1" ) ) )
|
||||
::oUI:buttonSave :setIcon( QIcon( hbide_image( "helpdoc" ) ) )
|
||||
|
||||
::oUI:buttonCloseArgs :setIcon( QIcon( hbide_image( "closetab" ) ) )
|
||||
::oUI:buttonCloseDesc :setIcon( QIcon( hbide_image( "closetab" ) ) )
|
||||
::oUI:buttonCloseExamples :setIcon( QIcon( hbide_image( "closetab" ) ) )
|
||||
::oUI:buttonCloseTests :setIcon( QIcon( hbide_image( "closetab" ) ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:installSignals()
|
||||
|
||||
::oUI:buttonArgs :connect( "toggled(bool)", {|p| ::execEvent( buttonArgs_clicked , p ) } )
|
||||
::oUI:buttonDesc :connect( "toggled(bool)", {|p| ::execEvent( buttonDesc_clicked , p ) } )
|
||||
::oUI:buttonExamples :connect( "toggled(bool)", {|p| ::execEvent( buttonExample_clicked , p ) } )
|
||||
::oUI:buttonTests :connect( "toggled(bool)", {|p| ::execEvent( buttonTests_clicked , p ) } )
|
||||
::oUI:buttonCloseArgs :connect( "clicked()" , {| | ::execEvent( buttonCloseArgs_clicked ) } )
|
||||
::oUI:buttonCloseDesc :connect( "clicked()" , {| | ::execEvent( buttonCloseDesc_clicked ) } )
|
||||
::oUI:buttonCloseExamples :connect( "clicked()" , {| | ::execEvent( buttonCloseExample_clicked ) } )
|
||||
::oUI:buttonCloseTests :connect( "clicked()" , {| | ::execEvent( buttonCloseTests_clicked ) } )
|
||||
::oUI:buttonClear :connect( "clicked()" , {| | ::execEvent( buttonClear_clicked ) } )
|
||||
::oUI:buttonSaveInFunc :connect( "clicked()" , {| | ::execEvent( buttonSaveInFunc_clicked ) } )
|
||||
::oUI:buttonSave :connect( "clicked()" , {| | ::execEvent( buttonSave_clicked ) } )
|
||||
::oUI:buttonLoadFromCurFunc:connect( "clicked()" , {|| ::execEvent( buttonLoadFromCurFunc_clicked ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:setParameters()
|
||||
|
||||
::oUI:buttonArgs :setCheckable( .t. )
|
||||
::oUI:buttonDesc :setCheckable( .t. )
|
||||
::oUI:buttonExamples:setCheckable( .t. )
|
||||
::oUI:buttonTests :setCheckable( .t. )
|
||||
|
||||
::oUI:buttonArgs :setChecked( .t. )
|
||||
::oUI:buttonDesc :setChecked( .t. )
|
||||
::oUI:buttonExamples:setChecked( .f. )
|
||||
::oUI:buttonTests :setChecked( .f. )
|
||||
|
||||
::oUI:frameTests:hide()
|
||||
::oUI:frameExamples:hide()
|
||||
|
||||
::oUI:comboTemplate:addItem( "Function" )
|
||||
::oUI:comboTemplate:addItem( "Procedure" )
|
||||
::oUI:comboTemplate:addItem( "Class" )
|
||||
|
||||
::qHiliter := ::oTH:SetSyntaxHilighting( ::oUI:plainExamples, "Pritpal's Favourite" )
|
||||
::qHiliter1 := ::oTH:SetSyntaxHilighting( ::oUI:plainTests , "Evening Glamour" )
|
||||
|
||||
::oUI:plainExamples:setFont( ::oFont:oWidget )
|
||||
::oUI:plainTests:setFont( ::oFont:oWidget )
|
||||
|
||||
::oUI:frameGeneral:setSizePolicy( QSizePolicy_Preferred, QSizePolicy_Fixed )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:execEvent( nMode, p )
|
||||
|
||||
IF ::lQuitting
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
SWITCH nMode
|
||||
CASE buttonArgs_clicked
|
||||
IF p
|
||||
::oUI:frameArgs:show()
|
||||
ELSE
|
||||
::oUI:frameArgs:hide()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonDesc_clicked
|
||||
IF p
|
||||
::oUI:frameDesc:show()
|
||||
ELSE
|
||||
::oUI:frameDesc:hide()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonExample_clicked
|
||||
IF p
|
||||
::oUI:frameExamples:show()
|
||||
ELSE
|
||||
::oUI:frameExamples:hide()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonTests_clicked
|
||||
IF p
|
||||
::oUI:frameTests:show()
|
||||
ELSE
|
||||
::oUI:frameTests:hide()
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
CASE buttonCloseArgs_clicked
|
||||
::oUI:buttonArgs:setChecked( .f. )
|
||||
EXIT
|
||||
CASE buttonCloseDesc_clicked
|
||||
::oUI:buttonDesc:setChecked( .f. )
|
||||
EXIT
|
||||
CASE buttonCloseExample_clicked
|
||||
::oUI:buttonExamples:setChecked( .f. )
|
||||
EXIT
|
||||
CASE buttonCloseTests_clicked
|
||||
::oUI:buttonTests:setChecked( .f. )
|
||||
EXIT
|
||||
|
||||
CASE buttonLoadFromCurFunc_clicked
|
||||
::loadCurrentFuncDoc()
|
||||
EXIT
|
||||
CASE buttonClear_clicked
|
||||
::clear()
|
||||
EXIT
|
||||
CASE buttonSaveInFunc_clicked
|
||||
::saveInFunction()
|
||||
EXIT
|
||||
CASE buttonSave_clicked
|
||||
::saveInFile()
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:clear()
|
||||
|
||||
::oEdit := NIL
|
||||
::cFuncPtoto := ""
|
||||
::nFuncLine := 0
|
||||
::nTagsIndex := 0
|
||||
::cSourceFile := ""
|
||||
|
||||
::fillForm( afill( array( qqNumVrbls ), "" ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:fillForm( aFacts )
|
||||
|
||||
::oUI:editVersion :setText ( aFacts[ qqVersion ] )
|
||||
::oUI:editStatus :setText ( aFacts[ qqStatus ] )
|
||||
::oUI:editCompliance :setText ( aFacts[ qqCompliance ] )
|
||||
::oUI:editCategory :setText ( aFacts[ qqCategory ] )
|
||||
::oUI:editSubCategory :setText ( aFacts[ qqSubCategory ] )
|
||||
::oUI:editName :setText ( aFacts[ qqName ] )
|
||||
::oUI:editExtLink :setText ( aFacts[ qqExtLink ] )
|
||||
::oUI:editOneLiner :setText ( aFacts[ qqOneLiner ] )
|
||||
::oUI:editSyntax :setText ( aFacts[ qqSyntax ] )
|
||||
::oUI:editReturns :setText ( aFacts[ qqReturns ] )
|
||||
::oUI:editSeeAlso :setText ( aFacts[ qqSeeAlso ] )
|
||||
::oUI:editFiles :setText ( aFacts[ qqFiles ] )
|
||||
::oUI:plainArgs :setPlainText ( aFacts[ qqArgs ] )
|
||||
::oUI:plainDesc :setPlainText ( aFacts[ qqDesc ] )
|
||||
::oUI:plainExamples :setPlainText ( aFacts[ qqExamples ] )
|
||||
::oUI:plainTests :setPlainText ( aFacts[ qqTests ] )
|
||||
|
||||
::oUI:comboTemplate:setCurrentIndex( iif( aFacts[ qqVersion ] == "Procedure", 1, ;
|
||||
iif( aFacts[ qqVersion ] == "Class", 2, 0 ) ) )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:fillFormByObject( oFunc )
|
||||
|
||||
::oUI:editVersion :setText ( oFunc:cVersion )
|
||||
::oUI:editStatus :setText ( oFunc:cStatus )
|
||||
::oUI:editCompliance :setText ( oFunc:cPlatForms )
|
||||
::oUI:editCategory :setText ( oFunc:cCategory )
|
||||
::oUI:editSubCategory :setText ( oFunc:cSubCategory )
|
||||
::oUI:editName :setText ( oFunc:cName )
|
||||
::oUI:editExtLink :setText ( oFunc:cExternalLink )
|
||||
::oUI:editOneLiner :setText ( oFunc:cOneLiner )
|
||||
::oUI:editSyntax :setText ( hbide_ar2delString( oFunc:aSyntax , "; " ) )
|
||||
::oUI:editReturns :setText ( hbide_ar2delString( oFunc:aReturns, "; " ) )
|
||||
::oUI:editSeeAlso :setText ( oFunc:cSeeAlso )
|
||||
::oUI:editFiles :setText ( hbide_ar2delString( oFunc:aFiles , "; " ) )
|
||||
::oUI:plainArgs :setPlainText ( hbide_arrayTOmemo( oFunc:aArguments ) )
|
||||
::oUI:plainDesc :setPlainText ( hbide_arrayTOmemo( oFunc:aDescription ) )
|
||||
::oUI:plainExamples :setPlainText ( hbide_arrayTOmemo( oFunc:aExamples ) )
|
||||
::oUI:plainTests :setPlainText ( hbide_arrayTOmemo( oFunc:aTests ) )
|
||||
|
||||
::oUI:comboTemplate:setCurrentIndex( iif( oFunc:cTemplate == "Procedure", 1, ;
|
||||
iif( oFunc:cTemplate == "Class", 2, 0 ) ) )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:removeDocHelp( nLineFrom, oEdit )
|
||||
LOCAL i, cLine, n, lExists, lDone, nFrom, nTo
|
||||
|
||||
n := 0
|
||||
lExists := .f.
|
||||
lDone := .f.
|
||||
|
||||
FOR i := ( nLineFrom - 1 ) TO 1 STEP -1
|
||||
cLine := oEdit:getLine( i )
|
||||
|
||||
IF "$END$" $ cLine
|
||||
nTo := i + 1
|
||||
lExists := .t.
|
||||
ENDIF
|
||||
IF "$DOC$" $ cLine
|
||||
lDone := .t.
|
||||
nFrom := i
|
||||
ENDIF
|
||||
IF ++n > 4 .AND. ! lExists
|
||||
EXIT
|
||||
ENDIF
|
||||
IF lDone
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
IF !empty( nFrom ) .AND. !empty( nTo )
|
||||
oEdit:goto( nFrom )
|
||||
FOR i := 1 TO ( nTo - nFrom + 1 )
|
||||
oEdit:deleteLine()
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:pullDocFromSource( nLineFrom, oEdit )
|
||||
LOCAL aDoc, i, cLine, n, lExists, lDone, a_
|
||||
|
||||
aDoc := {}
|
||||
n := 0
|
||||
lExists := .f.
|
||||
lDone := .f.
|
||||
|
||||
FOR i := ( nLineFrom - 1 ) TO 1 STEP -1
|
||||
cLine := oEdit:getLine( i )
|
||||
|
||||
IF "$END$" $ cLine
|
||||
lExists := .t.
|
||||
ENDIF
|
||||
IF "$DOC$" $ cLine
|
||||
lDone := .t.
|
||||
ENDIF
|
||||
|
||||
IF lExists
|
||||
aadd( aDoc, cLine )
|
||||
ENDIF
|
||||
|
||||
IF ++n > 4 .AND. ! lExists /* Search must terminate after 4 lines if document is not in sight */
|
||||
EXIT
|
||||
ENDIF
|
||||
IF lDone
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
a_:={}
|
||||
IF lDone
|
||||
FOR i := Len( aDoc ) TO 1 STEP -1
|
||||
aadd( a_, aDoc[ i ] )
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
RETURN a_
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:loadCurrentFuncDoc()
|
||||
LOCAL oEdit, nCurLine, n, cProto, nProtoLine, aFacts, aDoc, oFunc
|
||||
|
||||
IF !empty( oEdit := ::oEM:getEditObjectCurrent() )
|
||||
IF oEdit:isModified()
|
||||
MsgBox( oEdit:oEditor:sourceFile + " is modified.", "Please save the source first" )
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
IF !empty( ::aTags )
|
||||
nCurLine := oEdit:getLineNo()
|
||||
IF Len( ::aTags ) == 1
|
||||
n := 1
|
||||
ELSEIF ( n := ascan( ::aTags, {|e_| e_[ 3 ] >= nCurLine } ) ) == 0
|
||||
n := Len( ::aTags )
|
||||
ELSEIF n > 0
|
||||
n--
|
||||
ENDIF
|
||||
IF n > 0
|
||||
nProtoLine := ::aTags[ n, 3 ]
|
||||
cProto := oEdit:getLine( nProtoLine )
|
||||
|
||||
IF !empty( aFacts := ::parsePrototype( cProto ) )
|
||||
::clear()
|
||||
::oEdit := oEdit
|
||||
::cFuncPtoto := cProto
|
||||
::nFuncLine := nProtoLine
|
||||
::nTagsIndex := n
|
||||
::cSourceFile := oEdit:oEditor:sourceFile
|
||||
IF empty( aDoc := ::pullDocFromSource( nProtoLine, oEdit ) )
|
||||
::fillForm( aFacts )
|
||||
ELSE
|
||||
IF !empty( oFunc := ::oHL:getDocFunction( aDoc ) )
|
||||
::fillFormByObject( oFunc )
|
||||
ELSE
|
||||
::fillForm( aFacts )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:parsePrototype( cProto )
|
||||
LOCAL aFacts, n, n1, cPre, cArg, aArg, cSyn, cTpl, cFun, s
|
||||
|
||||
IF ( n := at( "(", cProto ) ) > 0
|
||||
IF ( n1 := at( ")", cProto ) ) > 0
|
||||
cPre := alltrim( substr( cProto, 1, n - 1 ) )
|
||||
cArg := alltrim( substr( cProto, n + 1, n1 - n - 1 ) )
|
||||
aArg := hb_aTokens( cArg, "," )
|
||||
FOR EACH s IN aArg
|
||||
s := alltrim( s )
|
||||
NEXT
|
||||
n := rat( " ", cPre ) /* and it must be */
|
||||
cTpl := alltrim( substr( cPre, 1, n - 1 ) )
|
||||
cFun := alltrim( substr( cPre, n + 1 ) )
|
||||
|
||||
cSyn := cFun + "( " + hbide_ar2paramList( aArg ) + " )"
|
||||
cSyn := strtran( cSyn, "( )", "()" )
|
||||
|
||||
aFacts := afill( array( qqNumVrbls ), "" )
|
||||
cTpl := lower( cTpl )
|
||||
aFacts[ qqTemplate ] := iif( "func" $ cTpl, "Function" , ;
|
||||
iif( "proc" $ cTpl, "Procedure", ;
|
||||
iif( "class" $ cTpl, "Class" , "Function" ) ) )
|
||||
|
||||
aFacts[ qqVersion ] := ""
|
||||
aFacts[ qqStatus ] := ""
|
||||
aFacts[ qqCompliance ] := ""
|
||||
aFacts[ qqCategory ] := ""
|
||||
aFacts[ qqSubCategory ] := ""
|
||||
aFacts[ qqName ] := upper( cFun ) + "()"
|
||||
aFacts[ qqExtLink ] := ""
|
||||
aFacts[ qqOneLiner ] := ""
|
||||
aFacts[ qqSyntax ] := cSyn
|
||||
aFacts[ qqReturns ] := ""
|
||||
aFacts[ qqSeeAlso ] := ""
|
||||
aFacts[ qqFiles ] := ""
|
||||
aFacts[ qqArgs ] := hbide_arg2memo( aArg )
|
||||
aFacts[ qqDesc ] := ""
|
||||
aFacts[ qqExamples ] := ""
|
||||
aFacts[ qqTests ] := ""
|
||||
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN aFacts
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:saveInFile()
|
||||
LOCAL cFile, cBuffer
|
||||
LOCAL txt_ := ::buildDocument()
|
||||
LOCAL n := ::oUI:comboTemplate:currentIndex()
|
||||
LOCAL cPrefix := iif( n == 0, "fun_", iif( n == 1, "proc_", "class_" ) )
|
||||
LOCAL cName := lower( ::oUI:editName:text() )
|
||||
|
||||
cName := strtran( cName, "(", "" )
|
||||
cName := strtran( cName, ")", "" )
|
||||
cFile := cPrefix + alltrim( cName ) + ".txt"
|
||||
|
||||
cFile := hbide_saveAFile( ::oDlg, "Provide filename to save documentation", ;
|
||||
{ { "Harbour Documentation File", "*.txt" } }, cFile, "txt" )
|
||||
IF !empty( cFile )
|
||||
cBuffer := hb_memoread( cFile )
|
||||
cBuffer := iif( "$Id:" $ cBuffer, cBuffer, hbide_getSVNHeader() + cBuffer )
|
||||
cBuffer += hb_eol()
|
||||
cBuffer += hbide_arrayToMemo( txt_ )
|
||||
|
||||
hb_memowrit( cFile, cBuffer )
|
||||
MsgBox( cFile + " : is saved", "Save File Alert" )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:saveInFunction()
|
||||
LOCAL nCurLine, oEdit, qCursor, a_
|
||||
|
||||
/* Bring it on top and make it current */
|
||||
::oSM:editSource( ::cSourceFile, , , , , , .f. )
|
||||
|
||||
IF !empty( oEdit := ::oEM:getEditObjectCurrent() )
|
||||
IF oEdit:lReadOnly
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
IF oEdit:isModified()
|
||||
MsgBox( oEdit:oEditor:sourceFile + " is modified.", "Please save the source first!" )
|
||||
RETURN Self
|
||||
ENDIF
|
||||
IF oEdit:find( ::cFuncPtoto, 0 )
|
||||
nCurLine := oEdit:getLineNo()
|
||||
IF nCurLine != ::nFuncLine
|
||||
// This is possible user might have edited the source; just issue warning
|
||||
MsgBox( "Source is modified, anyway proceeding.", "Documentation Save Alert" )
|
||||
ENDIF
|
||||
|
||||
qCursor := oEdit:qEdit:textCursor()
|
||||
qCursor:beginEditBlock()
|
||||
|
||||
::removeDocHelp( nCurLine, oEdit )
|
||||
|
||||
a_:= ::buildDocument()
|
||||
|
||||
oEdit:home()
|
||||
oEdit:insertText( a_ )
|
||||
|
||||
qCursor:endEditBlock()
|
||||
oEdit:qEdit:setTextCursor( qCursor )
|
||||
oEdit:qEdit:centerCursor()
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocWriter:buildDocument()
|
||||
LOCAL s
|
||||
LOCAL nIndex := ::oUI:comboTemplate:currentIndex()
|
||||
|
||||
LOCAL hEntry := { => }
|
||||
|
||||
hb_HKeepOrder( hEntry, .T. )
|
||||
|
||||
hEntry[ "TEMPLATE" ] := iif( nIndex == 2, "Class", iif( nIndex == 1, "Procedure", "Function" ) )
|
||||
IF !empty( s := ::oUI:editName:text() )
|
||||
hEntry[ "NAME" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editCategory:text() )
|
||||
hEntry[ "CATEGORY" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editSubCategory:text() )
|
||||
hEntry[ "SUBCATEGORY" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editExtLink:text() )
|
||||
hEntry[ "EXTERNALLINK" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editOneLiner:text() )
|
||||
hEntry[ "ONELINER" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editSyntax:text() )
|
||||
hEntry[ "SYNTAX" ] := s
|
||||
ENDIF
|
||||
hEntry[ "ARGUMENTS" ] := ::oUI:plainArgs:toPlainText()
|
||||
IF !empty( s := ::oUI:editReturns:text() )
|
||||
hEntry[ "RETURNS" ] := s
|
||||
ENDIF
|
||||
hEntry[ "DESCRIPTION" ] := ::oUI:plainDesc:toPlainText()
|
||||
hEntry[ "EXAMPLES" ] := ::oUI:plainExamples:toPlainText()
|
||||
hEntry[ "TESTS" ] := ::oUI:plainTests:toPlainText()
|
||||
IF !empty( s := ::oUI:editStatus:text() )
|
||||
hEntry[ "STATUS" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editCompliance:text() )
|
||||
hEntry[ "PLATFORMS" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editVersion:text() )
|
||||
hEntry[ "VERSION" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editFiles:text() )
|
||||
hEntry[ "FILES" ] := s
|
||||
ENDIF
|
||||
IF !empty( s := ::oUI:editSeeAlso:text() )
|
||||
hEntry[ "SEEALSO" ] := s
|
||||
ENDIF
|
||||
|
||||
RETURN __hbdoc_ToSource( { hEntry } )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,688 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormDocWriter</class>
|
||||
<widget class="QWidget" name="FormDocWriter">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>445</width>
|
||||
<height>584</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="1" column="0" rowspan="2">
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-78</y>
|
||||
<width>423</width>
|
||||
<height>657</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="handleWidth">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QFrame" name="frameGeneral">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>300</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>300</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="topMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelTemplate">
|
||||
<property name="text">
|
||||
<string>Template:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="labelVersion">
|
||||
<property name="text">
|
||||
<string>Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="labelStatus">
|
||||
<property name="text">
|
||||
<string>Status:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Compliance:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QComboBox" name="comboTemplate"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="editVersion">
|
||||
<property name="toolTip">
|
||||
<string>Version of this document contents</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLineEdit" name="editStatus">
|
||||
<property name="toolTip">
|
||||
<string>Status should usually be described as one character</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLineEdit" name="editCompliance">
|
||||
<property name="toolTip">
|
||||
<string>Describe comatibility with other language</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QLabel" name="labelCategory">
|
||||
<property name="text">
|
||||
<string>Category:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2" colspan="2">
|
||||
<widget class="QLabel" name="labelSubCategory">
|
||||
<property name="text">
|
||||
<string>Sub-category:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QLineEdit" name="editCategory">
|
||||
<property name="toolTip">
|
||||
<string>Category should describe main area this function belongs to</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" colspan="2">
|
||||
<widget class="QLineEdit" name="editSubCategory"/>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QLabel" name="labelName">
|
||||
<property name="text">
|
||||
<string>Name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2" colspan="2">
|
||||
<widget class="QLabel" name="labelExtLink">
|
||||
<property name="text">
|
||||
<string>External Link:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QLineEdit" name="editName">
|
||||
<property name="toolTip">
|
||||
<string>Name of the function, and if appropriate, with open/close parenthis.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2" colspan="2">
|
||||
<widget class="QLineEdit" name="editExtLink">
|
||||
<property name="toolTip">
|
||||
<string>External link, i.e., http://www.trolltech.com/</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelOneLiner">
|
||||
<property name="text">
|
||||
<string>One Liner:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editOneLiner">
|
||||
<property name="toolTip">
|
||||
<string>A brief description this function accomlishes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelSyntax">
|
||||
<property name="text">
|
||||
<string>Syntax:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editSyntax">
|
||||
<property name="toolTip">
|
||||
<string>Syntax, or prototype as to how this function will be called</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelReturns">
|
||||
<property name="text">
|
||||
<string>Returns:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editReturns">
|
||||
<property name="toolTip">
|
||||
<string>Variable name with hungarian notation with brief description as what this function returns</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelSeeAlso">
|
||||
<property name="text">
|
||||
<string>See Also:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editSeeAlso">
|
||||
<property name="toolTip">
|
||||
<string>A comma separated list of related functions/keywords </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="0" colspan="4">
|
||||
<widget class="QLabel" name="labelFiles">
|
||||
<property name="text">
|
||||
<string>Files:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="15" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="editFiles">
|
||||
<property name="toolTip">
|
||||
<string>A comma separated list of relevant files, i.e., hbrtl.lib, hbqt.lib.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameArgs">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelArgs">
|
||||
<property name="text">
|
||||
<string>Arguments:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseArgs">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainArgs">
|
||||
<property name="toolTip">
|
||||
<string>One argument per line in the form - argName description</string>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameDesc">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelDesc">
|
||||
<property name="text">
|
||||
<string>Description:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseDesc">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainDesc">
|
||||
<property name="toolTip">
|
||||
<string>Detailed description as musch as possible to convey to the user what should be kept in mind when this function is called.</string>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameExamples">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelExamples">
|
||||
<property name="text">
|
||||
<string>Examples:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseExamples">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainExamples">
|
||||
<property name="toolTip">
|
||||
<string>A real-time source code which could be compiled out of this box.</string>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frameTests">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelTests">
|
||||
<property name="text">
|
||||
<string>Tests:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonCloseTests">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QPlainTextEdit" name="plainTests">
|
||||
<property name="toolTip">
|
||||
<string>Compilable code out of the box which could be used to test this function</string>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QFrame" name="frameButtons">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Panel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonLoadFromCurFunc">
|
||||
<property name="toolTip">
|
||||
<string>Load from current function</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonLoadFromDocFile">
|
||||
<property name="toolTip">
|
||||
<string>Load from .txt file</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonLoadFromSource">
|
||||
<property name="toolTip">
|
||||
<string>Load from source ( .prg,.c,.c++ ) file</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonArgs">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Arguments Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonDesc">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Descriptions Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonExamples">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Examples Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonTests">
|
||||
<property name="toolTip">
|
||||
<string>Toggle Tests Section</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonClear">
|
||||
<property name="toolTip">
|
||||
<string>Clear form - note that it will not save current document.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonSave">
|
||||
<property name="toolTip">
|
||||
<string>Save written/updated documentation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonSaveInFunc">
|
||||
<property name="toolTip">
|
||||
<string>Save the documentation with function in source</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,89 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>413</width>
|
||||
<height>522</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Editor</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="8">
|
||||
<widget class="QPlainTextEdit" name="plainText"/>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="4">
|
||||
<widget class="QLineEdit" name="ediSearch"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QToolButton" name="buttonNext">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QToolButton" name="buttonPrev">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QToolButton" name="buttonFirst">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QToolButton" name="buttonLast">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="7">
|
||||
<widget class="QPushButton" name="buttonClose">
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="6">
|
||||
<widget class="QPushButton" name="buttonSave">
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="5">
|
||||
<widget class="QPushButton" name="buttonSaveAs">
|
||||
<property name="text">
|
||||
<string>SaveAs</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
2
harbour/contrib/hbide/env/pritpalsfav.ide
vendored
@@ -1,2 +0,0 @@
|
||||
[General]
|
||||
hbidesettings="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x3\0\0\0\0\0\0\0\x87\0\0\x2\x9c\xfc\x2\0\0\0\x3\xfb\0\0\0\x1e\0\x64\0o\0\x63\0k\0P\0r\0o\0j\0\x65\0\x63\0t\0T\0r\0\x65\0\x65\x1\0\0\0\x15\0\0\x1\x93\0\0\0]\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0\x45\0\x64\0i\0t\0o\0r\0T\0\x61\0\x62\0s\x1\0\0\x1\xac\0\0\0\xa4\0\0\0]\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0S\0k\0l\0t\0n\0s\0T\0r\0\x65\0\x65\x1\0\0\x2T\0\0\0]\0\0\0]\0\xff\xff\xff\0\0\0\x1\0\0\x1\xd5\0\0\x2\x9c\xfc\x1\0\0\0\x2\xfb\0\0\0\x10\0\x64\0o\0\x63\0k\0H\0\x65\0l\0p\0\0\0\x3\x94\0\0\x1\xd5\0\0\0P\0\xff\xff\xff\xfc\0\0\x3u\0\0\x1\xd5\0\0\0\0\0\xff\xff\xff\xfa\xff\xff\xff\xff\x1\0\0\0\xf\xfb\0\0\0\x1a\0\x64\0o\0\x63\0k\0\x44\0o\0\x63\0V\0i\0\x65\0w\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x8e\0\xff\xff\xff\xfb\0\0\0\x18\0\x64\0o\0\x63\0k\0\x46\0u\0n\0\x63\0L\0i\0s\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1a\0\x64\0o\0\x63\0k\0\x46\0u\0n\0\x63\0t\0i\0o\0n\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0P\0r\0o\0p\0\x65\0r\0t\0i\0\x65\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0 \0\x64\0o\0\x63\0k\0\x45\0n\0v\0i\0r\0o\0n\0m\0\x65\0n\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x6\0\xff\xff\xff\xfb\0\0\0\x18\0\x64\0o\0\x63\0k\0S\0k\0\x65\0l\0\x65\0t\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x14\0\x64\0o\0\x63\0k\0T\0h\0\x65\0m\0\x65\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1e\0\x64\0o\0\x63\0k\0\x46\0i\0n\0\x64\0I\0n\0\x46\0i\0l\0\x65\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1a\0\x64\0o\0\x63\0k\0\x44\0o\0\x63\0W\0r\0i\0t\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1,\0\xff\xff\xff\xfb\0\0\0&\0\x64\0o\0\x63\0k\0S\0o\0u\0r\0\x63\0\x65\0T\0h\0u\0m\0\x62\0n\0\x61\0i\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0Q\0S\0\x63\0i\0n\0t\0i\0l\0l\0\x61\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xb8\0\xff\xff\xff\xfb\0\0\0$\0\x64\0o\0\x63\0k\0R\0\x65\0p\0o\0r\0t\0\x44\0\x65\0s\0i\0g\0n\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x34\0\xff\xff\xff\xfb\0\0\0\x14\0\x64\0o\0\x63\0k\0\x46\0o\0r\0m\0\x61\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x12\0\x64\0o\0\x63\0k\0\x43\0u\0i\0\x45\0\x64\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x12\0\x64\0o\0\x63\0k\0U\0I\0S\0r\0\x63\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\0\0\0\x3\0\0\x4\xc8\0\0\0]\xfc\x1\0\0\0\x1\xfc\0\0\0\xa1\0\0\x4\xc8\0\0\0\0\0\xff\xff\xff\xfa\xff\xff\xff\xff\x1\0\0\0\x3\xfb\0\0\0$\0\x64\0o\0\x63\0k\0\x43\0o\0m\0p\0i\0l\0\x65\0R\0\x65\0s\0u\0l\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0G\0\xff\xff\xff\xfb\0\0\0\x1e\0\x64\0o\0\x63\0k\0L\0i\0n\0k\0R\0\x65\0s\0u\0l\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0G\0\xff\xff\xff\xfb\0\0\0\"\0\x64\0o\0\x63\0k\0O\0u\0t\0p\0u\0t\0R\0\x65\0s\0u\0l\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0G\0\xff\xff\xff\0\0\x4\xb3\0\0\x2\x9c\0\0\0\x4\0\0\0\x4\0\0\0\x1\0\0\0\x2\xfc\0\0\0\x3\0\0\0\0\0\0\0\x1\0\0\0\x1c\0X\0\x42\0P\0T\0O\0O\0L\0\x42\0\x41\0R\0M\0\x41\0I\0N\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\x1a\0T\0o\0o\0l\0\x42\0\x61\0r\0_\0\x44\0o\0\x63\0k\0s\x2\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\0)"
|
||||
@@ -1,268 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2009-2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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 "hbqtgui.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
//
|
||||
// Class IdeEnvironments
|
||||
//
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeEnvironments INHERIT IdeObject
|
||||
|
||||
DATA aNames INIT {}
|
||||
DATA aEnvrns INIT {}
|
||||
DATA aShellContents INIT {}
|
||||
DATA aCommons INIT {}
|
||||
DATA oUI_1
|
||||
|
||||
METHOD new( oIDE )
|
||||
METHOD create( oIDE )
|
||||
METHOD destroy()
|
||||
METHOD parse( cEnvFile )
|
||||
METHOD prepareBatch( cEnvName )
|
||||
METHOD getNames() INLINE ::aNames
|
||||
METHOD saveEnv()
|
||||
METHOD show()
|
||||
METHOD fetchNew()
|
||||
METHOD getHbmk2Commands( cEnvName )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:new( oIde )
|
||||
::oIde := oIde
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
IF hb_fileExists( ::oINI:getEnvFile() )
|
||||
::parse( ::oINI:getEnvFile() )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:destroy()
|
||||
|
||||
IF !empty( ::oUI )
|
||||
::oUI:destroy()
|
||||
ENDIF
|
||||
IF !empty( ::oUI_1 )
|
||||
::oUI_1:destroy()
|
||||
ENDIF
|
||||
|
||||
::aNames := NIL
|
||||
::aEnvrns := NIL
|
||||
::aShellContents := NIL
|
||||
::aCommons := NIL
|
||||
|
||||
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:getHbmk2Commands( cEnvName )
|
||||
LOCAL n, s, a_, aCmd := {}
|
||||
|
||||
IF ( n := ascan( ::aEnvrns, {|e_| e_[ 1 ] == cEnvName } ) ) > 0
|
||||
FOR EACH a_ IN ::aEnvrns[ n, 2 ]
|
||||
s := a_[ 1 ]
|
||||
IF s == "hbmk2"
|
||||
aadd( aCmd, a_[ 2 ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
RETURN aCmd
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:prepareBatch( cEnvName )
|
||||
LOCAL cPath, n, s, a_, aCmd := {}
|
||||
|
||||
IF ( n := ascan( ::aEnvrns, {|e_| e_[ 1 ] == cEnvName } ) ) > 0
|
||||
FOR EACH a_ IN ::aEnvrns[ n, 2 ]
|
||||
s := lower( a_[ 1 ] )
|
||||
IF s == "content" .OR. s == "contents"
|
||||
aadd( aCmd, a_[ 2 ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
ELSE
|
||||
IF ! empty( cPath := ::oINI:getHarbourPath() )
|
||||
aadd( aCmd, "SET PATH=" + cPath + "bin" + ";%PATH%" )
|
||||
ELSE
|
||||
aadd( aCmd, "SET PATH=%PATH%" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN hbide_getShellCommandsTempFile( aCmd )
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:show()
|
||||
|
||||
IF empty( ::oUI )
|
||||
::oUI := hbide_getUI( "environments" )
|
||||
|
||||
::oEnvironDock:oWidget:setWidget( ::oUI:oWidget )
|
||||
|
||||
::oUI:buttonCn :connect( "clicked()", {|| ::oEnvironDock:hide() } )
|
||||
::oUI:buttonSave :connect( "clicked()", {|| ::saveEnv() } )
|
||||
::oUI:buttonSaveExit:connect( "clicked()", {|| ::saveEnv(), ::oEnvironDock:hide() } )
|
||||
|
||||
::oUI:editCompilers:setFont( ::oFont:oWidget )
|
||||
ENDIF
|
||||
::oUI:editCompilers:setPlainText( hb_memoread( ::oINI:getEnvFile() ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:saveEnv()
|
||||
LOCAL cText
|
||||
|
||||
IF !empty( cText := ::oUI:editCompilers:toPlainText() )
|
||||
hb_MemoWrit( ::oINI:getEnvFile(), cText )
|
||||
::parse( ::oINI:getEnvFile() )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
// New Interface to Environments : TODO
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEnvironments:fetchNew()
|
||||
|
||||
IF empty( ::oUI_1 )
|
||||
::oUI_1 := hbide_getUI( "environ" )
|
||||
::oUI_1:setWindowFlags( Qt_Sheet )
|
||||
ENDIF
|
||||
::oUI_1:show()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
@@ -1,804 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>EnvForm</class>
|
||||
<widget class="QWidget" name="EnvForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>554</width>
|
||||
<height>488</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Environment</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>10</y>
|
||||
<width>39</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>28</y>
|
||||
<width>197</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>430</x>
|
||||
<y>28</y>
|
||||
<width>51</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Copy</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>28</y>
|
||||
<width>51</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Paste</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>56</y>
|
||||
<width>431</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Batch Commands: will be executed before any of the compiler/linker command is invoked.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>74</y>
|
||||
<width>531</width>
|
||||
<height>53</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>236</x>
|
||||
<y>10</y>
|
||||
<width>46</width>
|
||||
<height>14</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>234</x>
|
||||
<y>28</y>
|
||||
<width>109</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>370</x>
|
||||
<y>28</y>
|
||||
<width>51</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>New</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>140</y>
|
||||
<width>533</width>
|
||||
<height>303</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>PRG Compiler</string>
|
||||
</attribute>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>11</y>
|
||||
<width>31</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Exe:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>38</x>
|
||||
<y>10</y>
|
||||
<width>119</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<y>12</y>
|
||||
<width>67</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Install Path:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>234</x>
|
||||
<y>10</y>
|
||||
<width>239</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="toolButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>492</x>
|
||||
<y>10</y>
|
||||
<width>25</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>38</y>
|
||||
<width>191</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-a Automatic memvar declaration</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>62</y>
|
||||
<width>173</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-b Include debug info</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>86</y>
|
||||
<width>173</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-l No line numbers </string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>110</y>
|
||||
<width>175</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-v Variables are assumed (m->)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>134</y>
|
||||
<width>193</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-z Supress short-cut optimizations</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>174</y>
|
||||
<width>465</width>
|
||||
<height>93</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>156</y>
|
||||
<width>463</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>More Options</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>288</x>
|
||||
<y>38</y>
|
||||
<width>109</width>
|
||||
<height>13</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-w Warning level:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>288</x>
|
||||
<y>62</y>
|
||||
<width>119</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-es Exit severity level:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>288</x>
|
||||
<y>86</y>
|
||||
<width>119</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-m No start procedure:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>288</x>
|
||||
<y>110</y>
|
||||
<width>113</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-g Output type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>416</x>
|
||||
<y>38</y>
|
||||
<width>57</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>416</x>
|
||||
<y>62</y>
|
||||
<width>57</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>416</x>
|
||||
<y>86</y>
|
||||
<width>57</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>416</x>
|
||||
<y>110</y>
|
||||
<width>57</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>288</x>
|
||||
<y>134</y>
|
||||
<width>115</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-k Compatibility mode:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>416</x>
|
||||
<y>134</y>
|
||||
<width>57</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>C Compiler</string>
|
||||
</attribute>
|
||||
<widget class="QLineEdit" name="lineEdit_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>38</x>
|
||||
<y>10</y>
|
||||
<width>119</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="toolButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>492</x>
|
||||
<y>12</y>
|
||||
<width>25</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>234</x>
|
||||
<y>12</y>
|
||||
<width>239</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>12</y>
|
||||
<width>31</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Exe:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<y>12</y>
|
||||
<width>67</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Install Path:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>58</y>
|
||||
<width>465</width>
|
||||
<height>211</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>38</y>
|
||||
<width>463</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Compiler commands - write each one on separate line.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>Linker</string>
|
||||
</attribute>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>68</x>
|
||||
<y>10</y>
|
||||
<width>449</width>
|
||||
<height>59</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>34</y>
|
||||
<width>46</width>
|
||||
<height>14</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>EXE</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>68</x>
|
||||
<y>76</y>
|
||||
<width>449</width>
|
||||
<height>59</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>68</x>
|
||||
<y>142</y>
|
||||
<width>449</width>
|
||||
<height>59</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>68</x>
|
||||
<y>210</y>
|
||||
<width>449</width>
|
||||
<height>59</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>98</y>
|
||||
<width>46</width>
|
||||
<height>14</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>LIB</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>166</y>
|
||||
<width>46</width>
|
||||
<height>14</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>DLL</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_18">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>234</y>
|
||||
<width>46</width>
|
||||
<height>14</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RES</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_4">
|
||||
<attribute name="title">
|
||||
<string>EXE Defaults</string>
|
||||
</attribute>
|
||||
<widget class="QLabel" name="label_19">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Runtime static default files ( libraries ) - each entry on separate line.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>32</y>
|
||||
<width>511</width>
|
||||
<height>237</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_5">
|
||||
<attribute name="title">
|
||||
<string>DLL Defaults</string>
|
||||
</attribute>
|
||||
<widget class="QLabel" name="label_20">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>DLL import default files ( libraries ) - each entry on separate line.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>32</y>
|
||||
<width>511</width>
|
||||
<height>237</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_6">
|
||||
<attribute name="title">
|
||||
<string>User Cmds</string>
|
||||
</attribute>
|
||||
<widget class="QLabel" name="label_21">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>10</y>
|
||||
<width>509</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>EXEcutable Projects</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>28</y>
|
||||
<width>511</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>118</y>
|
||||
<width>511</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_22">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>100</y>
|
||||
<width>509</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>LIBrary Projects</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>208</y>
|
||||
<width>511</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_23">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>190</y>
|
||||
<width>509</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>DLL Projects </string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_7">
|
||||
<attribute name="title">
|
||||
<string>Info</string>
|
||||
</attribute>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>259</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>456</y>
|
||||
<width>75</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>468</x>
|
||||
<y>456</y>
|
||||
<width>75</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,75 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormEnvironments</class>
|
||||
<widget class="QWidget" name="FormEnvironments">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>367</width>
|
||||
<height>519</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0" colspan="4">
|
||||
<widget class="QPlainTextEdit" name="editCompilers">
|
||||
<property name="toolTip">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<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 style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">HBIDE employes the concept of keeping everything tied together. It means all complier specific environments are kept together in a convinient way and applied as per need.</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">So here you view/edit all the environments you employ in your applications. At the time you will build the project, a list of stated environments will be presented to choose from.</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This opens up the possibility to experiment with different compilers without re-opening the IDE or setting up the envvars manually.</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2" colspan="2">
|
||||
<widget class="QPushButton" name="buttonCn">
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="buttonSaveExit">
|
||||
<property name="text">
|
||||
<string>Save and Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" 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>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DialogDate</class>
|
||||
<widget class="QDialog" name="DialogDate">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>194</width>
|
||||
<height>104</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Fetch a date</string>
|
||||
</property>
|
||||
<widget class="QDateEdit" name="editDate">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>30</y>
|
||||
<width>161</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="calendarPopup">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="buttonOk">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>68</y>
|
||||
<width>75</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="buttonCancel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>102</x>
|
||||
<y>68</y>
|
||||
<width>75</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="labelPrompt">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>8</y>
|
||||
<width>159</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Select a date</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,259 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DialogFind</class>
|
||||
<widget class="QDialog" name="DialogFind">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>333</width>
|
||||
<height>155</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Find and Replace</string>
|
||||
</property>
|
||||
<widget class="QPushButton" name="buttonFind">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>272</x>
|
||||
<y>6</y>
|
||||
<width>51</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Find</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="buttonReplace">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>272</x>
|
||||
<y>98</y>
|
||||
<width>51</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Replace</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="buttonClose">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>272</x>
|
||||
<y>124</y>
|
||||
<width>51</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboReplaceWith">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<width>253</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkGlobal">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>128</y>
|
||||
<width>71</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Global</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkNoPrompting">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>132</x>
|
||||
<y>128</y>
|
||||
<width>89</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>No prompting</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>52</y>
|
||||
<width>161</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QRadioButton" name="radioFromCursor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>4</y>
|
||||
<width>141</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Start from cursor position</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioEntire">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>20</y>
|
||||
<width>141</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Entire file</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>180</x>
|
||||
<y>52</y>
|
||||
<width>81</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QRadioButton" name="radioUp">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>4</y>
|
||||
<width>41</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>up</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioDown">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>51</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Down</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkMatchCase">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>32</y>
|
||||
<width>81</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Match case</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkListOnly">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>132</x>
|
||||
<y>32</y>
|
||||
<width>71</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>List only</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboFindWhat">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>8</y>
|
||||
<width>253</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,348 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FindReplInFiles</class>
|
||||
<widget class="QDialog" name="FindReplInFiles">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>422</width>
|
||||
<height>472</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Find & Replace in Files</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labelProjects">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>52</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Projects:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" rowspan="2" colspan="4">
|
||||
<widget class="QListWidget" name="listProjects">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::MultiSelection</enum>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="0" colspan="5">
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="0">
|
||||
<widget class="QLabel" name="labelExpr">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>52</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Expression</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="1" colspan="4">
|
||||
<widget class="QComboBox" name="comboExpr">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="checkRegEx">
|
||||
<property name="text">
|
||||
<string>RegEx</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="4">
|
||||
<widget class="QCheckBox" name="checkListOnly">
|
||||
<property name="text">
|
||||
<string>List only</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="15" column="0">
|
||||
<widget class="QLabel" name="labelRepl">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>52</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Replace:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="15" column="1" colspan="4">
|
||||
<widget class="QComboBox" name="comboRepl">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="0" colspan="5">
|
||||
<widget class="Line" name="line_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="3">
|
||||
<widget class="QCheckBox" name="checkMatchCase">
|
||||
<property name="text">
|
||||
<string>Match case</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="5">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>52</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>52</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>File types:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkAll">
|
||||
<property name="text">
|
||||
<string>all</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkPrg">
|
||||
<property name="text">
|
||||
<string>.prg</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkC">
|
||||
<property name="text">
|
||||
<string>.c</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkCpp">
|
||||
<property name="text">
|
||||
<string>.c++</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkCh">
|
||||
<property name="text">
|
||||
<string>.ch</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkH">
|
||||
<property name="text">
|
||||
<string>.h</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkRc">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>33</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>.rc</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="5">
|
||||
<widget class="Line" name="line_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="4">
|
||||
<widget class="QCheckBox" name="checkOpenTabs">
|
||||
<property name="text">
|
||||
<string>Include open tabs </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="4">
|
||||
<widget class="QCheckBox" name="checkSubProjects">
|
||||
<property name="text">
|
||||
<string>Include sub-projects</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<widget class="QCheckBox" name="checkSubFolders">
|
||||
<property name="text">
|
||||
<string>Include sub-folders</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="17" column="1" colspan="4">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonFind">
|
||||
<property name="text">
|
||||
<string>Find</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonRepl">
|
||||
<property name="text">
|
||||
<string>Replace</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonStop">
|
||||
<property name="text">
|
||||
<string>Stop</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonClose">
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="19" column="0" colspan="5">
|
||||
<widget class="QTextEdit" name="editResults">
|
||||
<property name="lineWrapMode">
|
||||
<enum>QTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="5">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelFolder">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>52</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Folder:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboFolder">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="buttonFolder">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="20" column="0" colspan="5">
|
||||
<widget class="QLabel" name="labelStatus">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Panel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QCheckBox" name="checkFolders">
|
||||
<property name="text">
|
||||
<string>Include folders</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,414 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormFindInFiles</class>
|
||||
<widget class="QWidget" name="FormFindInFiles">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>404</width>
|
||||
<height>444</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Find in Files</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,0,0,1">
|
||||
<property name="spacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>175</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Projects</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout" rowstretch="1,0,0,0">
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QListWidget" name="listProjects">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::MultiSelection</enum>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="checkOpenTabs">
|
||||
<property name="text">
|
||||
<string>Include open tabs </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="checkSubProjects">
|
||||
<property name="text">
|
||||
<string>Include sub-projects</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QComboBox" name="comboFolder">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QToolButton" name="buttonFolder">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="checkFolders">
|
||||
<property name="text">
|
||||
<string>Include folders</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="checkSubFolders">
|
||||
<property name="text">
|
||||
<string>Include sub-folders</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>File(s)</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="margin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkAll">
|
||||
<property name="text">
|
||||
<string>all</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkPrg">
|
||||
<property name="text">
|
||||
<string>.prg</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkC">
|
||||
<property name="text">
|
||||
<string>.c</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkCpp">
|
||||
<property name="text">
|
||||
<string>.cpp</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkCh">
|
||||
<property name="text">
|
||||
<string>.ch</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkH">
|
||||
<property name="text">
|
||||
<string>.h</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkRc">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>.txt</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,0">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_6">
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<property name="margin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Find</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboExpr">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Replace</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="comboRepl">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="margin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkRegEx">
|
||||
<property name="text">
|
||||
<string>RegEx</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkMatchCase">
|
||||
<property name="text">
|
||||
<string>Case</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkListOnly">
|
||||
<property name="text">
|
||||
<string>List only</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_7">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>35</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>35</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonFind">
|
||||
<property name="text">
|
||||
<string>Find</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonRepl">
|
||||
<property name="text">
|
||||
<string>Replace</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonStop">
|
||||
<property name="text">
|
||||
<string>Stop</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonClose">
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_8">
|
||||
<property name="title">
|
||||
<string>Results</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="editResults">
|
||||
<property name="lineWrapMode">
|
||||
<enum>QTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelStatus">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Panel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,107 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Dialog</class>
|
||||
<widget class="QDialog" name="Dialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>308</width>
|
||||
<height>151</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Find Project File</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="labelFileName">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>8</y>
|
||||
<width>125</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>File Name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboFileName">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>28</y>
|
||||
<width>277</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>60</y>
|
||||
<width>121</width>
|
||||
<height>77</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Search Mode</string>
|
||||
</property>
|
||||
<widget class="QRadioButton" name="radioNameOnly">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>24</y>
|
||||
<width>97</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>File name only</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioAsListed">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>44</y>
|
||||
<width>82</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>As listed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="buttoOk">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>216</x>
|
||||
<y>84</y>
|
||||
<width>75</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="buttonCn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>216</x>
|
||||
<y>112</y>
|
||||
<width>75</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,226 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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 <bedipritpal@hotmail.com>
|
||||
* 07Jan2011
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqtgui.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeFormat INHERIT IdeObject
|
||||
|
||||
DATA lSelOnly INIT .f.
|
||||
DATA oFormat
|
||||
DATA qEdit
|
||||
DATA qLayout
|
||||
DATA qHiliter
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD show()
|
||||
METHOD execEvent( cEvent, p )
|
||||
METHOD format( nMode )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFormat:new( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFormat:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFormat:destroy()
|
||||
|
||||
IF !empty( ::oUI )
|
||||
::oUI:btnEditCmnds:disconnect( "clicked()" )
|
||||
::oUI:btnStart :disconnect( "clicked()" )
|
||||
::oUI:btnCancel :disconnect( "clicked()" )
|
||||
::oUI:btnUpdSrc :disconnect( "clicked()" )
|
||||
::oUI:checkSelOnly:disconnect( "stateChanged(int)" )
|
||||
|
||||
::qEdit := NIL
|
||||
::qHiliter := NIL
|
||||
::oFormat := NIL
|
||||
|
||||
::oUI:destroy()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFormat:show()
|
||||
|
||||
IF empty( ::oUI )
|
||||
::oUI := hbide_getUI( "format" )
|
||||
::oFormatDock:oWidget:setWidget( ::oUI:oWidget )
|
||||
|
||||
::oUI:btnEditCmnds:connect( "clicked()" , {| | ::execEvent( "buttonEditCmds_clicked" ) } )
|
||||
::oUI:btnStart :connect( "clicked()" , {| | ::execEvent( "buttonStart_clicked" ) } )
|
||||
::oUI:btnCancel :connect( "clicked()" , {| | ::execEvent( "buttonCancel_clicked" ) } )
|
||||
::oUI:btnUpdSrc :connect( "clicked()" , {| | ::execEvent( "buttonUpdSrc_clicked" ) } )
|
||||
::oUI:checkSelOnly:connect( "stateChanged(int)" , {|i| ::execEvent( "checkSelOnly_changed", i ) } )
|
||||
|
||||
::qEdit := ::oUI:plainFormatter
|
||||
|
||||
::qEdit:setLineWrapMode( QTextEdit_NoWrap )
|
||||
::qEdit:setFont( ::oIde:oFont:oWidget )
|
||||
::qEdit:ensureCursorVisible()
|
||||
::qEdit:setReadOnly( .t. )
|
||||
::qEdit:setTextInteractionFlags( Qt_TextSelectableByMouse + Qt_TextSelectableByKeyboard )
|
||||
::qHiliter := ::oTH:SetSyntaxHilighting( ::qEdit, "Pritpal's Favourite" )
|
||||
|
||||
::oFormat := HbFormatCode():new()
|
||||
ENDIF
|
||||
|
||||
::lSelOnly := .f.
|
||||
::oUI:checkSelOnly:setChecked( .f. )
|
||||
::qEdit:clear()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFormat:execEvent( cEvent, p )
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
IF ::lQuitting
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
SWITCH cEvent
|
||||
|
||||
CASE "checkSelOnly_changed"
|
||||
::lSelOnly := p > 0
|
||||
EXIT
|
||||
|
||||
CASE "buttonStart_clicked"
|
||||
::format( 1 )
|
||||
EXIT
|
||||
|
||||
CASE "buttonUpdSrc_clicked"
|
||||
::format( 2 )
|
||||
EXIT
|
||||
|
||||
CASE "buttonCancel_clicked"
|
||||
::oFormatDock:hide()
|
||||
EXIT
|
||||
|
||||
CASE "buttonEditCmds_clicked"
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFormat:format( nMode )
|
||||
LOCAL oEdit, aText, cBuffer
|
||||
|
||||
HB_SYMBOL_UNUSED( nMode )
|
||||
|
||||
IF !empty( oEdit := ::oEM:getEditObjectCurrent() )
|
||||
IF ::lSelOnly
|
||||
cBuffer := oEdit:getSelectedText()
|
||||
ELSE
|
||||
cBuffer := oEdit:qEdit:toPlainText()
|
||||
ENDIF
|
||||
|
||||
aText := hb_aTokens( strtran( cBuffer, chr( 13 ) ), chr( 10 ) )
|
||||
|
||||
#ifdef __PRITPAL__
|
||||
IF nMode == 1
|
||||
FormatCode( aText, 3 )
|
||||
ELSE
|
||||
::oFormat:reFormat( aText )
|
||||
ENDIF
|
||||
#else
|
||||
::oFormat:reFormat( aText )
|
||||
#endif
|
||||
|
||||
::qEdit:setPlainText( hbide_arrayToMemo( aText ) )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormFormatter</class>
|
||||
<widget class="QWidget" name="FormFormatter">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>392</width>
|
||||
<height>508</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkSelOnly">
|
||||
<property name="text">
|
||||
<string>Current selection only</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="btnEditCmnds">
|
||||
<property name="text">
|
||||
<string>Edit list of command keywords</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="btnStart">
|
||||
<property name="text">
|
||||
<string>Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="btnCancel">
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="btnUpdSrc">
|
||||
<property name="text">
|
||||
<string>Update Source</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPlainTextEdit" name="plainFormatter">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="lineWidth">
|
||||
<number>3</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,104 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>486</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0" colspan="5">
|
||||
<widget class="QLineEdit" name="editFunction"/>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="5">
|
||||
<widget class="QTableWidget" name="tableFuncList"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>46</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Syntax:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1" colspan="3">
|
||||
<widget class="QLineEdit" name="editSyntax"/>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QLabel" name="labelEntries">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="5">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="buttonMark">
|
||||
<property name="text">
|
||||
<string>Mark Projects</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QPushButton" name="buttonLoad">
|
||||
<property name="text">
|
||||
<string>Load Tags</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<widget class="QPushButton" name="buttonTag">
|
||||
<property name="text">
|
||||
<string>Re-Tag</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="4">
|
||||
<widget class="QPushButton" name="buttonClose">
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="5">
|
||||
<widget class="QListWidget" name="listProjects">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,695 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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>
|
||||
* 06Mar2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "xbp.ch"
|
||||
#include "hbqtgui.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define FLIST_NAME 1
|
||||
#define FLIST_TYPE 2
|
||||
#define FLIST_LINE 3
|
||||
#define FLIST_SOURCE 4
|
||||
#define FLIST_NAME_1 5
|
||||
#define FLIST_TYPE_1 6
|
||||
#define FLIST_SYNTAX 7
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define __editFunc_textChanged__ 2001
|
||||
#define __editFunc_returnPressed__ 2002
|
||||
#define __buttonMark_clicked__ 2003
|
||||
#define __buttonLoad_clicked__ 2004
|
||||
#define __buttonTag_clicked__ 2005
|
||||
#define __buttonClose_clicked__ 2006
|
||||
#define __tableFuncList_itemSelectionChanged__ 2007
|
||||
#define __tableFuncList_itemDoubleClicked__ 2008
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeFunctions INHERIT IdeObject
|
||||
|
||||
DATA isNotSetYet INIT .t.
|
||||
DATA aHdr INIT {}
|
||||
DATA aItems INIT {}
|
||||
DATA aTags INIT { { "", {} } }
|
||||
DATA aList INIT {}
|
||||
DATA inAction INIT .f.
|
||||
DATA nPNm INIT 25
|
||||
DATA nPPr INIT 15
|
||||
DATA nPSr INIT 50
|
||||
DATA aProjList INIT {}
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD clear( lHdrAlso )
|
||||
METHOD show()
|
||||
METHOD tagProject( cProjectTitle, lGUI )
|
||||
METHOD populateTable()
|
||||
METHOD consolidateList()
|
||||
METHOD buildHeader()
|
||||
METHOD execEvent( nEvent, p )
|
||||
METHOD openFunction( lCheckDuplicates )
|
||||
METHOD jumpToFunction( cWord )
|
||||
METHOD positionToFunction( cWord, lShowTip )
|
||||
METHOD buildTags()
|
||||
METHOD loadTags( aProjects )
|
||||
METHOD listProjects()
|
||||
METHOD clearProjects()
|
||||
METHOD getMarkedProjects()
|
||||
METHOD enableControls( lEnable )
|
||||
METHOD getFunctionPrototypes()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:new( oIde )
|
||||
::oIde := oIde
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
::oUI := hbide_getUI( "funclist" )
|
||||
|
||||
::buildHeader()
|
||||
|
||||
::oUI:editFunction :connect( "textChanged(QString)" , {|p| ::execEvent( __editFunc_textChanged__ , p ) } )
|
||||
::oUI:editFunction :connect( "returnPressed()" , {| | ::execEvent( __editFunc_returnPressed__ ) } )
|
||||
::oUI:buttonMark :connect( "clicked()" , {| | ::execEvent( __buttonMark_clicked__ ) } )
|
||||
::oUI:buttonLoad :connect( "clicked()" , {| | ::execEvent( __buttonLoad_clicked__ ) } )
|
||||
::oUI:buttonTag :connect( "clicked()" , {| | ::execEvent( __buttonTag_clicked__ ) } )
|
||||
::oUI:buttonClose :connect( "clicked()" , {| | ::execEvent( __buttonClose_clicked__ ) } )
|
||||
::oUI:tableFuncList:connect( "itemSelectionChanged()" , {| | ::execEvent( __tableFuncList_itemSelectionChanged__ ) } )
|
||||
::oUI:tableFuncList:connect( "itemDoubleClicked(QTableWidgetItem*)", {|p| ::execEvent( __tableFuncList_itemDoubleClicked__, p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:execEvent( nEvent, p )
|
||||
LOCAL n, nLen
|
||||
|
||||
IF ::lQuitting
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
SWITCH nEvent
|
||||
CASE __editFunc_textChanged__
|
||||
p := upper( p )
|
||||
nLen := Len( p )
|
||||
IF ( n := ascan( ::aList, {|e_| left( e_[ 1 ], nLen ) == p } ) ) > 0
|
||||
::oUI:tableFuncList:setCurrentItem( ::aItems[ n ] )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __editFunc_returnPressed__
|
||||
::openFunction( .f. )
|
||||
EXIT
|
||||
CASE __tableFuncList_itemDoubleClicked__
|
||||
::openFunction( .f. )
|
||||
EXIT
|
||||
CASE __buttonMark_clicked__
|
||||
::oUI:listProjects:show()
|
||||
::listProjects()
|
||||
EXIT
|
||||
CASE __buttonLoad_clicked__
|
||||
::oUI:listProjects:hide()
|
||||
::loadTags()
|
||||
EXIT
|
||||
CASE __buttonTag_clicked__
|
||||
::oUI:listProjects:hide()
|
||||
::buildTags()
|
||||
::oEM:updateCompleter()
|
||||
EXIT
|
||||
CASE __buttonClose_clicked__
|
||||
::oFunctionsDock:hide()
|
||||
EXIT
|
||||
CASE __tableFuncList_itemSelectionChanged__
|
||||
n := ::oUI:tableFuncList:currentRow()
|
||||
IF n >= 0
|
||||
::oUI:editSyntax:setText( ::aList[ n + 1, 2 ] )
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:buildHeader()
|
||||
LOCAL oTbl, qItm, cHdr, qFnt, qHdr
|
||||
LOCAL cDH := " "
|
||||
|
||||
oTbl := ::oUI:tableFuncList
|
||||
|
||||
qFnt := QFont( "Courier New" )
|
||||
oTbl:setFont( qFnt )
|
||||
|
||||
oTbl:verticalHeader():hide()
|
||||
|
||||
qHdr := oTbl:horizontalHeader()
|
||||
qHdr:setStretchLastSection( .t. )
|
||||
|
||||
oTbl:setColumnCount( 1 )
|
||||
|
||||
cHdr := pad( "Name", ::nPNm ) + cDH + "Typ " + cDH + " Line" + cDH + ;
|
||||
pad( "Project", ::nPPr ) + cDH + pad( "Source", ::nPSr )
|
||||
|
||||
qItm := QTableWidgetItem()
|
||||
qItm:setText( cHdr )
|
||||
qItm:setFont( qFnt )
|
||||
qItm:setTextAlignment( Qt_AlignLeft )
|
||||
aadd( ::aHdr, qItm )
|
||||
oTbl:setHorizontalHeaderItem( 0, qItm )
|
||||
oTbl:setColumnWidth( 0, 800 )
|
||||
|
||||
oTbl:setShowGrid( .f. )
|
||||
|
||||
oTbl:setAlternatingRowColors( .t. )
|
||||
|
||||
::oUI:listProjects:hide()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:destroy()
|
||||
LOCAL qitm
|
||||
|
||||
IF !empty( ::oUI )
|
||||
::clearProjects()
|
||||
|
||||
FOR EACH qItm IN ::aHdr
|
||||
qItm := NIL
|
||||
NEXT
|
||||
::aHdr := {}
|
||||
|
||||
::clear( .t. )
|
||||
|
||||
::oUI:destroy()
|
||||
ENDIF
|
||||
|
||||
::isNotSetYet := NIL
|
||||
::aHdr := NIL
|
||||
::aItems := NIL
|
||||
::aTags := NIL
|
||||
::aList := NIL
|
||||
::inAction := NIL
|
||||
::nPNm := NIL
|
||||
::nPPr := NIL
|
||||
::nPSr := NIL
|
||||
::aProjList := NIL
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:clear( lHdrAlso )
|
||||
LOCAL qItm
|
||||
|
||||
IF lHdrAlso
|
||||
FOR EACH qItm IN ::aHdr
|
||||
qItm := NIL
|
||||
NEXT
|
||||
::aHdr := {}
|
||||
ENDIF
|
||||
|
||||
FOR EACH qItm IN ::aItems
|
||||
qItm := NIL
|
||||
NEXT
|
||||
::aItems := {}
|
||||
|
||||
IF lHdrAlso
|
||||
::oUI:tableFuncList:clear()
|
||||
ELSE
|
||||
::oUI:tableFuncList:clearContents()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:show()
|
||||
|
||||
IF ::isNotSetYet
|
||||
::isNotSetYet := .f.
|
||||
|
||||
::oFunctionsDock:oWidget:setWidget( ::oUI:oWidget )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:positionToFunction( cWord, lShowTip )
|
||||
LOCAL nLen, p, n, cProto := ""
|
||||
|
||||
IF !empty( ::aList )
|
||||
p := upper( cWord )
|
||||
nLen := Len( p )
|
||||
IF ( n := ascan( ::aList, {|e_| left( e_[ 1 ], nLen ) == p } ) ) > 0
|
||||
::oUI:editFunction:setText( cWord )
|
||||
::oUI:tableFuncList:setCurrentItem( ::aItems[ n ] )
|
||||
|
||||
cProto := ::aList[ n, 2 ]
|
||||
|
||||
IF lShowTip
|
||||
// TODO: where
|
||||
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN cProto
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:jumpToFunction( cWord )
|
||||
LOCAL nLen, lOpened := .f., p, n
|
||||
|
||||
IF !empty( ::aList )
|
||||
p := upper( cWord )
|
||||
nLen := Len( p )
|
||||
IF ( n := ascan( ::aList, {|e_| left( e_[ 1 ], nLen ) == p } ) ) > 0
|
||||
::oUI:editFunction:setText( cWord )
|
||||
::oUI:tableFuncList:setCurrentItem( ::aItems[ n ] )
|
||||
lOpened := ::openFunction( .t. )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lOpened
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:openFunction( lCheckDuplicates )
|
||||
LOCAL n, cFunc, cSource, oEdit, lFound, cProto
|
||||
LOCAL lOpened := .f.
|
||||
|
||||
IF ( n := ::oUI:tableFuncList:currentRow() ) >= 0
|
||||
n++
|
||||
cFunc := ::aList[ n, 1 ]
|
||||
IF lCheckDuplicates .AND. n < Len( ::aList ) .AND. ::aList[ n + 1, 1 ] == cFunc
|
||||
::oFunctionsDock:show()
|
||||
::oUI:tableFuncList:setFocus()
|
||||
RETURN lOpened
|
||||
ENDIF
|
||||
|
||||
cProto := ::aList[ n, 2 ]
|
||||
cSource := alltrim( substr( ::aList[ n, 3 ], 53 ) )
|
||||
::oSM:editSource( cSource, , , , , , .f. )
|
||||
|
||||
IF !empty( oEdit := ::oEM:getEditCurrent() )
|
||||
IF !( lFound := oEdit:find( cProto, QTextDocument_FindCaseSensitively ) )
|
||||
lFound := oEdit:find( cProto, QTextDocument_FindBackward + QTextDocument_FindCaseSensitively )
|
||||
ENDIF
|
||||
IF lFound
|
||||
oEdit:centerCursor()
|
||||
lOpened := .t.
|
||||
ELSE
|
||||
HB_TRACE( HB_TR_DEBUG, "IdeFunctions:openFunction()", "It should not happen." )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lOpened
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:clearProjects()
|
||||
LOCAL qItm
|
||||
|
||||
IF !empty( ::aProjList )
|
||||
FOR EACH qItm IN ::aProjList
|
||||
qItm := NIL
|
||||
NEXT
|
||||
ENDIF
|
||||
::aProjList := {}
|
||||
::oUI:listProjects:clear()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:listProjects()
|
||||
LOCAL s, qItm, oLst := ::oUI:listProjects
|
||||
|
||||
::clearProjects()
|
||||
|
||||
FOR EACH s IN ::oPM:getProjectsTitleList()
|
||||
qItm := QListWidgetItem()
|
||||
qItm:setText( s )
|
||||
qItm:setCheckState( Qt_Unchecked )
|
||||
//oLst:addItem_1( qItm )
|
||||
oLst:addItem( qItm )
|
||||
aadd( ::aProjList, qItm )
|
||||
NEXT
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:getMarkedProjects()
|
||||
LOCAL qItm, a_:= {}
|
||||
|
||||
FOR EACH qItm IN ::aProjList
|
||||
IF qItm:checkState() == 2
|
||||
aadd( a_, qItm:text() )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
RETURN a_
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:enableControls( lEnable )
|
||||
|
||||
::inAction := ! lEnable
|
||||
|
||||
::oUI:buttonMark:setEnabled( lEnable )
|
||||
::oUI:buttonLoad:setEnabled( lEnable )
|
||||
::oUI:buttonTag:setEnabled( lEnable )
|
||||
|
||||
::oUI:editFunction:setEnabled( lEnable )
|
||||
|
||||
::showApplicationCursor( iif( lEnable, NIL, Qt_BusyCursor ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:loadTags( aProjects )
|
||||
LOCAL cProjectTitle, cProjFile, cTagFile, aTags, n, a_
|
||||
LOCAL lPopulate := .f.
|
||||
LOCAL qApp := QApplication()
|
||||
|
||||
DEFAULT aProjects TO ::getMarkedProjects()
|
||||
|
||||
IF empty( aProjects )
|
||||
RETURN Self
|
||||
ENDIF
|
||||
a_:= aProjects
|
||||
|
||||
IF !( ::inAction )
|
||||
::enableControls( .f. )
|
||||
|
||||
FOR EACH cProjectTitle IN a_
|
||||
cProjFile := ::oPM:getProjectFileNameFromTitle( cProjectTitle )
|
||||
IF ! empty( cProjFile ) .AND. hb_fileExists( cProjFile )
|
||||
cTagFile := hb_FNameExtSet( cProjFile, ".tag" )
|
||||
IF hb_fileExists( cTagFile )
|
||||
lPopulate := .t.
|
||||
|
||||
aTags := hb_deserialize( hb_memoRead( cTagFile ) )
|
||||
|
||||
IF ( n := ascan( ::aTags, {|e_| e_[ 1 ] == cProjectTitle } ) ) == 0
|
||||
aadd( ::aTags, { cProjectTitle, aTags } )
|
||||
ELSE
|
||||
::aTags[ n, 2 ] := aTags
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
qApp:processEvents()
|
||||
IF ::lQuitting
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
IF lPopulate
|
||||
::consolidateList()
|
||||
::populateTable()
|
||||
ENDIF
|
||||
|
||||
::enableControls( .t. )
|
||||
ENDIF
|
||||
|
||||
::clearProjects()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:buildTags()
|
||||
LOCAL cProjectTitle
|
||||
LOCAL a_:= ::getMarkedProjects()
|
||||
|
||||
IF !empty( a_ )
|
||||
FOR EACH cProjectTitle IN a_
|
||||
::tagProject( cProjectTitle )
|
||||
NEXT
|
||||
::oIde:oINI:aTaggedProjects := a_
|
||||
::clearProjects()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:tagProject( cProjectTitle, lGUI )
|
||||
LOCAL aSumData := ""
|
||||
LOCAL cComments, aSummary, cPath, cSource, cExt, aTags, aText, aFuncList, aLines
|
||||
LOCAL cProjFile, cRoot, aCTags, aSources, cSrc, a_, n
|
||||
LOCAL qApp := QApplication()
|
||||
|
||||
hb_default( @lGUI, .T. )
|
||||
|
||||
IF !( ::inAction )
|
||||
IF lGUI
|
||||
::enableControls( .f. )
|
||||
ENDIF
|
||||
|
||||
cProjFile := ::oPM:getProjectFileNameFromTitle( cProjectTitle )
|
||||
aSources := ::oPM:getSourcesByProjectTitle( cProjectTitle )
|
||||
cRoot := ::oPM:getProjectPathFromTitle( cProjectTitle )
|
||||
|
||||
FOR EACH cSource IN aSources
|
||||
aSources[ cSource:__enumIndex() ] := hbide_syncProjPath( cRoot, cSource )
|
||||
NEXT
|
||||
|
||||
aCTags := {}
|
||||
|
||||
FOR EACH cSrc IN aSources
|
||||
aFuncList := {}
|
||||
aLines := {}
|
||||
|
||||
HB_FNameSplit( cSrc, @cPath, @cSource, @cExt )
|
||||
|
||||
IF upper( cExt ) $ ".PRG.CPP"
|
||||
IF !empty( aText := hbide_readSource( cSrc ) )
|
||||
aSumData := {}
|
||||
cComments := CheckComments( aText )
|
||||
aSummary := Summarize( aText, cComments, @aSumData , iif( upper( cExt ) == ".PRG", 9, 1 ) )
|
||||
aTags := UpdateTags( cSrc, aSummary, aSumData, @aFuncList, @aLines, aText )
|
||||
|
||||
IF !empty( aTags )
|
||||
aeval( aTags, {|e_| aadd( aCTags, { e_[1],e_[2],e_[3],e_[4],e_[7] } ) } )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
qApp:processEvents()
|
||||
IF ::lQuitting
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
FOR EACH a_ IN aCTags
|
||||
a_[ 5 ] := iif( left( a_[ 5 ], 1 ) == ":", substr( a_[ 5 ], 2 ), a_[ 5 ] )
|
||||
NEXT
|
||||
|
||||
IF ( n := ascan( ::aTags, {|e_| e_[ 1 ] == cProjectTitle } ) ) == 0
|
||||
aadd( ::aTags, { cProjectTitle, aCTags } )
|
||||
ELSE
|
||||
::aTags[ n, 2 ] := aCTags
|
||||
ENDIF
|
||||
|
||||
hb_memowrit( hb_FNameExtSet( cProjFile, ".tag" ), hb_serialize( aCTags ) )
|
||||
|
||||
IF lGUI
|
||||
::consolidateList()
|
||||
::populateTable()
|
||||
|
||||
::enableControls( .t. )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN cProjFile
|
||||
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
METHOD IdeFunctions:consolidateList()
|
||||
LOCAL s, a_, b_, cProjectTitle
|
||||
LOCAL cDL := " "
|
||||
|
||||
::aList := {}
|
||||
|
||||
FOR EACH b_ IN ::aTags
|
||||
IF !empty( cProjectTitle := b_[ 1 ] )
|
||||
FOR EACH a_ IN b_[ 2 ]
|
||||
s := pad( a_[ 1 ], ::nPNm ) + ;
|
||||
cDL + ;
|
||||
hbide_abbrFuncType( a_[ 2 ] ) + ;
|
||||
cDL + ;
|
||||
padl( ltrim( str( a_[ 3 ] ) ), 6 ) + ;
|
||||
cDL + ;
|
||||
pad( cProjectTitle, ::nPPr ) + ;
|
||||
cDL + ;
|
||||
pad( a_[ 4 ], ::nPSr )
|
||||
|
||||
aadd( ::aList, { a_[ 1 ], a_[ 5 ], s } )
|
||||
NEXT
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
IF !empty( ::aList )
|
||||
asort( ::aList, , , {|e_,f_| e_[ 1 ] < f_[ 1 ] } )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:populateTable()
|
||||
LOCAL oTbl, qItm, a_, n
|
||||
LOCAL qApp := QApplication()
|
||||
|
||||
::clear( .t. )
|
||||
::buildHeader()
|
||||
|
||||
oTbl := ::oUI:tableFuncList
|
||||
oTbl:setRowCount( Len( ::aList ) )
|
||||
|
||||
n := 0
|
||||
FOR EACH a_ IN ::aList
|
||||
qItm := QTableWidgetItem()
|
||||
|
||||
qItm:setText( a_[ 3 ] )
|
||||
qItm:setTooltip( a_[ 2 ] )
|
||||
oTbl:setItem( n, 0, qItm )
|
||||
oTbl:setRowHeight( n, 16 )
|
||||
|
||||
qApp:processEvents()
|
||||
IF ::lQuitting
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
aadd( ::aItems, qItm )
|
||||
n++
|
||||
::oUI:labelEntries:setText( "Entries: " + hb_ntos( n ) )
|
||||
NEXT
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFunctions:getFunctionPrototypes()
|
||||
LOCAL aProto := {}, a_
|
||||
|
||||
FOR EACH a_ IN ::aList
|
||||
aadd( aProto, alltrim( a_[ 2 ] ) )
|
||||
NEXT
|
||||
|
||||
RETURN aProto
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_abbrFuncType( cFunc )
|
||||
LOCAL cAbbr := ""
|
||||
|
||||
IF "STATIC" $ cFunc
|
||||
cAbbr += "S"
|
||||
ENDIF
|
||||
IF "FUNC" $ cFunc
|
||||
cAbbr += "F"
|
||||
ENDIF
|
||||
IF "PROC" $ cFunc
|
||||
cAbbr += "P"
|
||||
ENDIF
|
||||
IF "HB_" $ cFunc
|
||||
cAbbr += ":C"
|
||||
ENDIF
|
||||
IF "CLASS" $ cFunc
|
||||
cAbbr += "C"
|
||||
ENDIF
|
||||
IF "METHOD" $ cFunc
|
||||
cAbbr += "M"
|
||||
IF ":" $ cFunc
|
||||
cAbbr += ":D"
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN padc( cAbbr, 3 )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,152 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2009 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __HBIDE_CH
|
||||
#define __HBIDE_CH
|
||||
|
||||
#include "hbtrace.ch"
|
||||
|
||||
#undef HB_TR_ALWAYS
|
||||
#define HB_TR_ALWAYS HB_TR_DEBUG
|
||||
|
||||
#define UI_MODE_FUNC 0
|
||||
#define UI_MODE_UIC 1
|
||||
#define UI_MODE_UI 2
|
||||
#define UI_MODE_DEFAULT UI_MODE_FUNC
|
||||
|
||||
#define _EOL Chr( 10 )
|
||||
|
||||
#define HBIDE_USE_UIC
|
||||
|
||||
#define HBIDE_ANIMATION_NONE 0
|
||||
#define HBIDE_ANIMATION_GRADIENT 1
|
||||
#define HBIDE_ANIMATION_GRADIENT_BLUE 2
|
||||
|
||||
#define HBIDE_RUN_MODE_INI 1
|
||||
#define HBIDE_RUN_MODE_HBP 2
|
||||
#define HBIDE_RUN_MODE_PRG 3
|
||||
|
||||
/* .hbi structure constants */
|
||||
#define PRJ_PRP_PROPERTIES 1
|
||||
#define PRJ_PRP_FLAGS 2
|
||||
#define PRJ_PRP_SOURCES 3
|
||||
#define PRJ_PRP_METADATA 4
|
||||
//
|
||||
#define PRJ_PRP_SECTIONS 4
|
||||
|
||||
#define PRJ_PRP_TYPE 1
|
||||
#define PRJ_PRP_TITLE 2
|
||||
#define PRJ_PRP_LOCATION 3
|
||||
#define PRJ_PRP_WRKFOLDER 4
|
||||
#define PRJ_PRP_DSTFOLDER 5
|
||||
#define PRJ_PRP_OUTPUT 6
|
||||
#define PRJ_PRP_LPARAMS 7
|
||||
#define PRJ_PRP_LPROGRAM 8
|
||||
#define PRJ_PRP_BACKUP 9
|
||||
#define PRJ_PRP_XHB 10
|
||||
#define PRJ_PRP_XPP 11
|
||||
#define PRJ_PRP_CLP 12
|
||||
//
|
||||
#define PRJ_PRP_PRP_VRBLS 12
|
||||
|
||||
/* Project Properties array elements */
|
||||
#define E_qPrjType 1
|
||||
#define E_oPrjTtl 2
|
||||
#define E_oPrjLoc 3
|
||||
#define E_oPrjWrk 4
|
||||
#define E_oPrjDst 5
|
||||
#define E_oPrjOut 6
|
||||
#define E_oPrjLau 7
|
||||
#define E_oPrjLEx 8
|
||||
#define E_oPrjInc 9
|
||||
#define E_oPrjSrc 10
|
||||
#define E_oPrjMta 11
|
||||
#define E_oPrjHbp 12
|
||||
#define E_oPrjCmp 13
|
||||
|
||||
#define SB_PNL_MAIN 1
|
||||
#define SB_PNL_READY 2
|
||||
#define SB_PNL_LINE 3
|
||||
#define SB_PNL_COLUMN 4
|
||||
#define SB_PNL_INS 5
|
||||
#define SB_PNL_SELECTEDCHARS 6
|
||||
#define SB_PNL_MODIFIED 7
|
||||
#define SB_PNL_STREAM 8
|
||||
#define SB_PNL_EDIT 9
|
||||
#define SB_PNL_SEARCH 10
|
||||
#define SB_PNL_CODEC 11
|
||||
#define SB_PNL_ENVIRON 12
|
||||
#define SB_PNL_VIEW 13
|
||||
#define SB_PNL_PROJECT 14
|
||||
#define SB_PNL_THEME 15
|
||||
|
||||
#define TAB_OTAB 1
|
||||
#define TAB_OEDITOR 2
|
||||
|
||||
#define TRE_OITEM 1
|
||||
#define TRE_TYPE 2 // Path | Source File | Project | Opened File
|
||||
#define TRE_OPARENT 3
|
||||
#define TRE_ORIGINAL 4
|
||||
#define TRE_DATA 5
|
||||
|
||||
#define ACT_NAME 1
|
||||
#define ACT_TEXT 2
|
||||
#define ACT_IMAGE 3
|
||||
#define ACT_SHORTCUT 4
|
||||
#define ACT_CHECKABLE 5
|
||||
#define ACT_VISINMENU 6
|
||||
|
||||
#define IDE_PART_EDITOR 0
|
||||
#define IDE_PART_DBU 1
|
||||
#define IDE_PART_REPORTSDESIGNER 2
|
||||
#define IDE_PART_CUISCREENDESIGNER 3
|
||||
|
||||
#endif
|
||||
@@ -1,31 +0,0 @@
|
||||
[ COMMON ]
|
||||
|
||||
[ MINGW - Windows ]
|
||||
{content} set HB_WITH_QT=C:\qt\2009.03\qt\include
|
||||
{content} set PATH=%HB_WITH_QT%\..\bin;%PATH%
|
||||
{content} set PATH=c:\mingw\bin;%PATH%
|
||||
|
||||
[ MSVS 9.0 ]
|
||||
{content} set HB_WITH_QT=C:\qt\2009.03\qt\include
|
||||
{content} set PATH=%HB_WITH_QT%\..\bin;%PATH%
|
||||
{content} call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
|
||||
|
||||
[ BCC 5.5.1 Command Line Tools ]
|
||||
{content} set PATH=C:\Borland\BCC55\Bin;%PATH%
|
||||
|
||||
[ Pelles C ]
|
||||
{content} set PATH=%ProgramFiles%\PellesC\Bin;%PATH%
|
||||
{content} set INCLUDE=%ProgramFiles%\PellesC\Include;%ProgramFiles%\PellesC\Include\Win;%INCLUDE%
|
||||
{content} set LIB=%ProgramFiles%\PellesC\Lib;%ProgramFiles%\PellesC\Lib\Win;%LIB%
|
||||
|
||||
[ Watcom ]
|
||||
{content} SET WATCOM=C:\watcom
|
||||
{content} SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
|
||||
{content} SET EDPATH=%WATCOM%\EDDAT
|
||||
{content} SET INCLUDE=%WATCOM%\H;%WATCOM%\H\NT
|
||||
|
||||
[ MINGW - Linux - A Skeleton ]
|
||||
{hb_plat} win
|
||||
{hb_comp} mingw
|
||||
{content} shell command 1
|
||||
{content} shell command 2
|
||||
@@ -1,105 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
-3rd=hbide_version=1.0
|
||||
-3rd=hbide_title=hbide
|
||||
-3rd=hbide_output=hbide
|
||||
|
||||
-inc
|
||||
-o${hb_name}
|
||||
|
||||
-w3 -es2
|
||||
|
||||
-icon={allwin}hbide.ico
|
||||
|
||||
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/libgcc_s_dw2-1.dll
|
||||
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/mingwm10.dll
|
||||
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtCore4.dll
|
||||
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtGui4.dll
|
||||
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtNetwork4.dll
|
||||
|
||||
hbxbp.hbc
|
||||
hbqt.hbc
|
||||
hbformat.hbc
|
||||
|
||||
xbpaddons/xbpaddons.hbp
|
||||
xbpaddons/xbpaddons.hbc
|
||||
|
||||
-env:HB_DYNLOAD_RDDADS=yes
|
||||
rddads.hbc
|
||||
|
||||
main.prg
|
||||
parts.prg
|
||||
object.prg
|
||||
stylesheets.prg
|
||||
tags.prg
|
||||
misc.prg
|
||||
actions.prg
|
||||
editor.prg
|
||||
findreplace.prg
|
||||
docks.prg
|
||||
saveload.prg
|
||||
themes.prg
|
||||
projmanager.prg
|
||||
sources.prg
|
||||
harbourhelp.prg
|
||||
environ.prg
|
||||
home.prg
|
||||
functions.prg
|
||||
docwriter.prg
|
||||
skeletons.prg
|
||||
wizard.prg
|
||||
tools.prg
|
||||
shortcuts.prg
|
||||
edit.prg
|
||||
plugins.prg
|
||||
dict.prg
|
||||
format.prg
|
||||
changelog.prg
|
||||
console.prg
|
||||
uisrcmanager.prg
|
||||
projectwizard.prg
|
||||
|
||||
hbqtoolbar.prg
|
||||
|
||||
parseexpr.c
|
||||
|
||||
docviewgenerator.ui
|
||||
docwriter.ui
|
||||
editor.ui
|
||||
environ.ui
|
||||
environments.ui
|
||||
finddialog.ui
|
||||
findinfiles.ui
|
||||
findinfilesex.ui
|
||||
findsource.ui
|
||||
funclist.ui
|
||||
mainwindow.ui
|
||||
projectpropertiesex.ui
|
||||
searchreplace.ui
|
||||
searchreplacepanel.ui
|
||||
selectionlist.ui
|
||||
selectproject.ui
|
||||
setup.ui
|
||||
shortcuts.ui
|
||||
skeletons.ui
|
||||
themes.ui
|
||||
themesex.ui
|
||||
toolsutilities.ui
|
||||
updown.ui
|
||||
fetchdate.ui
|
||||
updown_v.ui
|
||||
format.ui
|
||||
changelog.ui
|
||||
projectwizard.ui
|
||||
panels.ui
|
||||
|
||||
hbide.qrc
|
||||
settings.qrc
|
||||
|
||||
-3rd=hbide_file=hbide.ch
|
||||
|
||||
# Always build in shared mode for these platforms because the
|
||||
# tool is included in std distro and we want to minimize its size.
|
||||
{_HB_BUILD_&(!(HB_BUILD_DYN='no')&(win|wce|os2))}-shared
|
||||
|
Before Width: | Height: | Size: 44 KiB |
@@ -1,272 +0,0 @@
|
||||
<RCC>
|
||||
<qresource>
|
||||
<file>resources/minimize_all.png</file>
|
||||
<file>resources/maximize_all.png</file>
|
||||
<file>resources/maximize.png</file>
|
||||
<file>resources/minimize.png</file>
|
||||
<file>resources/arguments.png</file>
|
||||
<file>resources/blockcomment.png</file>
|
||||
<file>resources/blockindentl.png</file>
|
||||
<file>resources/blockindentr.png</file>
|
||||
<file>resources/bookmark.png</file>
|
||||
<file>resources/browser.png</file>
|
||||
<file>resources/build.png</file>
|
||||
<file>resources/builderror.png</file>
|
||||
<file>resources/buildlaunch.png</file>
|
||||
<file>resources/buildrun.png</file>
|
||||
<file>resources/buildsource.png</file>
|
||||
<file>resources/check.png</file>
|
||||
<file>resources/clean.png</file>
|
||||
<file>resources/cleanrun.png</file>
|
||||
<file>resources/close.png</file>
|
||||
<file>resources/close3.png</file>
|
||||
<file>resources/closeall.png</file>
|
||||
<file>resources/closeexcept.png</file>
|
||||
<file>resources/closetab.png</file>
|
||||
<file>resources/codeskeletons.png</file>
|
||||
<file>resources/column.png</file>
|
||||
<file>resources/compile.png</file>
|
||||
<file>resources/copy-filname.png</file>
|
||||
<file>resources/copy.png</file>
|
||||
<file>resources/curlinehilight.png</file>
|
||||
<file>resources/cut.png</file>
|
||||
<file>resources/cutb16.png</file>
|
||||
<file>resources/dbl2sglquote.png</file>
|
||||
<file>resources/dbstruct.png</file>
|
||||
<file>resources/dc_delete.png</file>
|
||||
<file>resources/dc_down.png</file>
|
||||
<file>resources/dc_folder.png</file>
|
||||
<file>resources/dc_function.png</file>
|
||||
<file>resources/dc_home.png</file>
|
||||
<file>resources/dc_left.png</file>
|
||||
<file>resources/dc_pdffile.png</file>
|
||||
<file>resources/dc_plus.png</file>
|
||||
<file>resources/dc_print.png</file>
|
||||
<file>resources/dc_quit.png</file>
|
||||
<file>resources/dc_refresh.png</file>
|
||||
<file>resources/dc_right.png</file>
|
||||
<file>resources/dc_textdoc.png</file>
|
||||
<file>resources/dc_textdocument.png</file>
|
||||
<file>resources/dc_up.png</file>
|
||||
<file>resources/debug.png</file>
|
||||
<file>resources/decreaseindent.png</file>
|
||||
<file>resources/deleteline.png</file>
|
||||
<file>resources/description.png</file>
|
||||
<file>resources/designer.png</file>
|
||||
<file>resources/docwriter.png</file>
|
||||
<file>resources/down.png</file>
|
||||
<file>resources/down16.png</file>
|
||||
<file>resources/duplicateline.png</file>
|
||||
<file>resources/editstree.png</file>
|
||||
<file>resources/envconfig.png</file>
|
||||
<file>resources/example.png</file>
|
||||
<file>resources/exit.png</file>
|
||||
<file>resources/exit3.png</file>
|
||||
<file>resources/exporthtml.png</file>
|
||||
<file>resources/ffn.png</file>
|
||||
<file>resources/filec.png</file>
|
||||
<file>resources/fileprg.png</file>
|
||||
<file>resources/find.png</file>
|
||||
<file>resources/fl_c.png</file>
|
||||
<file>resources/fl_dll.png</file>
|
||||
<file>resources/fl_exe.png</file>
|
||||
<file>resources/fl_ini.png</file>
|
||||
<file>resources/fl_lib.png</file>
|
||||
<file>resources/fl_prg.png</file>
|
||||
<file>resources/fl_res.png</file>
|
||||
<file>resources/fl_txt.png</file>
|
||||
<file>resources/file-open.png</file>
|
||||
<file>resources/folder.png</file>
|
||||
<file>resources/font.png</file>
|
||||
<file>resources/formview.png</file>
|
||||
<file>resources/fullscreen.png</file>
|
||||
<file>resources/go-bottom.png</file>
|
||||
<file>resources/go-down.png</file>
|
||||
<file>resources/go-first.png</file>
|
||||
<file>resources/go-jump.png</file>
|
||||
<file>resources/go-last.png</file>
|
||||
<file>resources/go-next.png</file>
|
||||
<file>resources/go-prev.png</file>
|
||||
<file>resources/go-top.png</file>
|
||||
<file>resources/go-up.png</file>
|
||||
<file>resources/gotoline.png</file>
|
||||
<file>resources/gotoline3.png</file>
|
||||
<file>resources/gotomark.png</file>
|
||||
<file>resources/grid.png</file>
|
||||
<file>resources/harbour.png</file>
|
||||
<file>resources/harbourhelp.png</file>
|
||||
<file>resources/hb-16x16.png</file>
|
||||
<file>resources/hb-32x32.png</file>
|
||||
<file>resources/hbide.png</file>
|
||||
<file>resources/hbidesplash.png</file>
|
||||
<file>resources/hbidesplashwatermark.png</file>
|
||||
<file>resources/help.png</file>
|
||||
<file>resources/help1.png</file>
|
||||
<file>resources/helpdoc.png</file>
|
||||
<file>resources/hilight-all.png</file>
|
||||
<file>resources/home3.png</file>
|
||||
<file>resources/horzruler.png</file>
|
||||
<file>resources/idepreferences.png</file>
|
||||
<file>resources/increaseindent.png</file>
|
||||
<file>resources/indent-more.png</file>
|
||||
<file>resources/indent-less.png</file>
|
||||
<file>resources/info.png</file>
|
||||
<file>resources/infotips.png</file>
|
||||
<file>resources/insert-datetime.png</file>
|
||||
<file>resources/insert-external-file.png</file>
|
||||
<file>resources/insert-procname.png</file>
|
||||
<file>resources/insert-separator.png</file>
|
||||
<file>resources/invertcase.png</file>
|
||||
<file>resources/keyboardmappings.png</file>
|
||||
<file>resources/launch.png</file>
|
||||
<file>resources/lense.png</file>
|
||||
<file>resources/list-developers.png</file>
|
||||
<file>resources/list-users.png</file>
|
||||
<file>resources/load_1.png</file>
|
||||
<file>resources/load_2.png</file>
|
||||
<file>resources/load_3.png</file>
|
||||
<file>resources/Lookup.png</file>
|
||||
<file>resources/matchobj.png</file>
|
||||
<file>resources/minus.png</file>
|
||||
<file>resources/modulelist.png</file>
|
||||
<file>resources/movelinedown.png</file>
|
||||
<file>resources/movelineup.png</file>
|
||||
<file>resources/new.png</file>
|
||||
<file>resources/new2.png</file>
|
||||
<file>resources/next.png</file>
|
||||
<file>resources/notepad.png</file>
|
||||
<file>resources/open.png</file>
|
||||
<file>resources/open2.png</file>
|
||||
<file>resources/open3.png</file>
|
||||
<file>resources/panel_1.png</file>
|
||||
<file>resources/panel_2.png</file>
|
||||
<file>resources/panel_3.png</file>
|
||||
<file>resources/panel_4.png</file>
|
||||
<file>resources/panel_5.png</file>
|
||||
<file>resources/panel_6.png</file>
|
||||
<file>resources/panel_7.png</file>
|
||||
<file>resources/panel_8.png</file>
|
||||
<file>resources/panel_9.png</file>
|
||||
<file>resources/panel_10.png</file>
|
||||
<file>resources/panel_11.png</file>
|
||||
<file>resources/panel_12.png</file>
|
||||
<file>resources/panel_13.png</file>
|
||||
<file>resources/paste.png</file>
|
||||
<file>resources/placeremovemark.png</file>
|
||||
<file>resources/ppo.png</file>
|
||||
<file>resources/previous.png</file>
|
||||
<file>resources/print.png</file>
|
||||
<file>resources/project.png</file>
|
||||
<file>resources/projectadd.png</file>
|
||||
<file>resources/projectdel.png</file>
|
||||
<file>resources/projectstree.png</file>
|
||||
<file>resources/projtree.png</file>
|
||||
<file>resources/properties.png</file>
|
||||
<file>resources/readonly.png</file>
|
||||
<file>resources/rebuild.png</file>
|
||||
<file>resources/rebuildlaunch.png</file>
|
||||
<file>resources/redo.png</file>
|
||||
<file>resources/richtext.png</file>
|
||||
<file>resources/run.png</file>
|
||||
<file>resources/runscript.png</file>
|
||||
<file>resources/runnodebug.png</file>
|
||||
<file>resources/save.png</file>
|
||||
<file>resources/save3.png</file>
|
||||
<file>resources/saveall.png</file>
|
||||
<file>resources/saveas.png</file>
|
||||
<file>resources/search.png</file>
|
||||
<file>resources/selectall.png</file>
|
||||
<file>resources/selectionline.png</file>
|
||||
<file>resources/setmain.png</file>
|
||||
<file>resources/sgl2dblquote.png</file>
|
||||
<file>resources/sort.png</file>
|
||||
<file>resources/sortdescend.png</file>
|
||||
<file>resources/source_c.png</file>
|
||||
<file>resources/source_cpp.png</file>
|
||||
<file>resources/source_h.png</file>
|
||||
<file>resources/source_o.png</file>
|
||||
<file>resources/source_prg.png</file>
|
||||
<file>resources/source_res.png</file>
|
||||
<file>resources/source_txt.png</file>
|
||||
<file>resources/source_unknown.png</file>
|
||||
<file>resources/statistics.png</file>
|
||||
<file>resources/spacestotabs.png</file>
|
||||
<file>resources/stream.png</file>
|
||||
<file>resources/streamcomment.png</file>
|
||||
<file>resources/syntaxhiliter.png</file>
|
||||
<file>resources/tabcmodified.png</file>
|
||||
<file>resources/tabmodified.png</file>
|
||||
<file>resources/tabreadonly.png</file>
|
||||
<file>resources/tabs.png</file>
|
||||
<file>resources/tabstospaces.png</file>
|
||||
<file>resources/tabunmodified.png</file>
|
||||
<file>resources/tests.png</file>
|
||||
<file>resources/text.png</file>
|
||||
<file>resources/thumbnail.png</file>
|
||||
<file>resources/togglelinenumber.png</file>
|
||||
<file>resources/tolower.png</file>
|
||||
<file>resources/tools.png</file>
|
||||
<file>resources/toupper.png</file>
|
||||
<file>resources/trashpage.png</file>
|
||||
<file>resources/undo.png</file>
|
||||
<file>resources/unload_1.png</file>
|
||||
<file>resources/up.png</file>
|
||||
<file>resources/up16.png</file>
|
||||
<file>resources/vr-16x16.png</file>
|
||||
<file>resources/vr.png</file>
|
||||
<file>resources/xmate.png</file>
|
||||
<file>resources/zoomin.png</file>
|
||||
<file>resources/zoomout.png</file>
|
||||
<file>resources/zoomin3.png</file>
|
||||
<file>resources/zoomout3.png</file>
|
||||
<file>resources/memo.png</file>
|
||||
<file>resources/hideshow.png</file>
|
||||
<file>resources/cuied.png</file>
|
||||
<file>resources/expand_m.png</file>
|
||||
<file>resources/collapse_m.png</file>
|
||||
<file>resources/view_docks.png</file>
|
||||
<file>resources/b_1.png</file>
|
||||
<file>resources/b_2.png</file>
|
||||
<file>resources/b_3.png</file>
|
||||
<file>resources/b_4.png</file>
|
||||
<file>resources/b_5.png</file>
|
||||
<file>resources/b_6.png</file>
|
||||
<file>resources/b_7.png</file>
|
||||
<file>resources/b_8.png</file>
|
||||
<file>resources/b_9.png</file>
|
||||
<file>resources/b_10.png</file>
|
||||
<file>resources/b_11.png</file>
|
||||
<file>resources/b_12.png</file>
|
||||
<file>resources/b_13.png</file>
|
||||
<file>resources/b_14.png</file>
|
||||
<file>resources/b_15.png</file>
|
||||
<file>resources/b_16.png</file>
|
||||
<file>resources/b_17.png</file>
|
||||
<file>resources/b_18.png</file>
|
||||
<file>resources/b_19.png</file>
|
||||
<file>resources/b_20.png</file>
|
||||
<file>resources/split.png</file>
|
||||
<file>resources/split_close.png</file>
|
||||
<file>resources/split_h.png</file>
|
||||
<file>resources/split_v.png</file>
|
||||
<file>resources/align_at.png</file>
|
||||
<file>resources/dc_method.png</file>
|
||||
<file>resources/dc_class.png</file>
|
||||
<file>resources/dc_procedure.png</file>
|
||||
<file>resources/stringify.png</file>
|
||||
<file>resources/dictionary.png</file>
|
||||
<file>resources/launch_r.png</file>
|
||||
<file>resources/editor.png</file>
|
||||
<file>resources/configtoolbars.png</file>
|
||||
<file>resources/view_cascaded.png</file>
|
||||
<file>resources/view_organized.png</file>
|
||||
<file>resources/view_tabbed.png</file>
|
||||
<file>resources/view_tiled.png</file>
|
||||
<file>resources/view_vertstacked.png</file>
|
||||
<file>resources/view_horzstacked.png</file>
|
||||
<file>resources/view_zoomin.png</file>
|
||||
<file>resources/view_zoomout.png</file>
|
||||
<file>resources/view_refresh.png</file>
|
||||
<file>docs/faq.htm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -1,371 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2010-2012 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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 <bedipritpal@hotmail.com>
|
||||
* 07Aug2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqtgui.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS HbqToolbar
|
||||
|
||||
DATA oWidget
|
||||
DATA cName
|
||||
DATA oParent
|
||||
DATA hItems INIT {=>}
|
||||
DATA hActions INIT {=>}
|
||||
|
||||
DATA allowedAreas INIT Qt_TopToolBarArea + Qt_LeftToolBarArea + Qt_BottomToolBarArea + Qt_RightToolBarArea
|
||||
DATA initialArea INIT Qt_TopToolBarArea
|
||||
DATA orientation INIT Qt_Horizontal
|
||||
DATA size
|
||||
DATA moveable INIT .T.
|
||||
DATA floatable INIT .T.
|
||||
|
||||
DATA lPressed INIT .f.
|
||||
DATA qPos
|
||||
DATA qDrag
|
||||
DATA qMime
|
||||
DATA qDropAction
|
||||
DATA qPix
|
||||
DATA qByte
|
||||
|
||||
METHOD new( cName, oParent )
|
||||
METHOD create( cName, oParent )
|
||||
METHOD destroy()
|
||||
METHOD execEvent( cEvent, p, p1 )
|
||||
METHOD addToolButton( cName, cDesc, cImage, bAction, lCheckable, lDragEnabled )
|
||||
METHOD setItemChecked( cName, lState )
|
||||
METHOD setItemEnabled( cName, lEnabled )
|
||||
METHOD addWidget( cName, qWidget )
|
||||
METHOD addAction( cName, qAction, bBlock )
|
||||
METHOD addSeparator()
|
||||
METHOD contains( cName ) INLINE hb_hHasKey( ::hActions, cName )
|
||||
METHOD getItem( cName ) INLINE iif( hb_hHasKey( ::hActions, cName ), ::hActions[ cName ], NIL )
|
||||
METHOD itemToggle( cName )
|
||||
|
||||
ERROR HANDLER onError( ... )
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:new( cName, oParent )
|
||||
|
||||
::cName := cName
|
||||
::oParent := oParent
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:create( cName, oParent )
|
||||
|
||||
STATIC nID := 0
|
||||
|
||||
DEFAULT cName TO ::cName
|
||||
DEFAULT oParent TO ::oParent
|
||||
::cName := cName
|
||||
::oParent := oParent
|
||||
|
||||
DEFAULT ::cName TO "HbqToolbar_" + hb_ntos( ++nID )
|
||||
|
||||
DEFAULT ::size TO QSize( 16,16 )
|
||||
|
||||
::oWidget := QToolbar( ::oParent )
|
||||
::oWidget:setObjectName( ::cName )
|
||||
::oWidget:setAllowedAreas( ::allowedAreas )
|
||||
::oWidget:setOrientation( ::orientation )
|
||||
::oWidget:setIconSize( ::size )
|
||||
::oWidget:setMovable( ::moveable )
|
||||
::oWidget:setFloatable( ::floatable )
|
||||
::oWidget:setFocusPolicy( Qt_NoFocus )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:onError( ... )
|
||||
LOCAL cMsg := __GetMessage()
|
||||
|
||||
IF SubStr( cMsg, 1, 1 ) == "_"
|
||||
cMsg := SubStr( cMsg, 2 )
|
||||
ENDIF
|
||||
RETURN ::oWidget:&cMsg( ... )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:destroy()
|
||||
LOCAL xTmp
|
||||
|
||||
FOR EACH xTmp IN ::hItems
|
||||
IF xTmp:className() == "QTOOLBUTTON"
|
||||
xTmp:disconnect( QEvent_MouseButtonPress )
|
||||
xTmp:disconnect( QEvent_MouseButtonRelease )
|
||||
xTmp:disconnect( QEvent_MouseMove )
|
||||
xTmp:disconnect( QEvent_Enter )
|
||||
xTmp:disconnect( "clicked()" )
|
||||
ENDIF
|
||||
xTmp := NIL
|
||||
NEXT
|
||||
::cName := NIL
|
||||
::oParent := NIL
|
||||
::hItems := NIL
|
||||
::allowedAreas := NIL
|
||||
::initialArea := NIL
|
||||
::orientation := NIL
|
||||
::size := NIL
|
||||
::moveable := NIL
|
||||
::floatable := NIL
|
||||
::lPressed := NIL
|
||||
::qPos := NIL
|
||||
::qDrag := NIL
|
||||
::qMime := NIL
|
||||
::qDropAction := NIL
|
||||
::qPix := NIL
|
||||
::qByte := NIL
|
||||
::oWidget := NIL
|
||||
|
||||
::hActions := NIL
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:execEvent( cEvent, p, p1 )
|
||||
LOCAL qEvent, qRC
|
||||
|
||||
qEvent := p
|
||||
|
||||
SWITCH cEvent
|
||||
CASE "QEvent_MouseLeave"
|
||||
EXIT
|
||||
|
||||
CASE "QEvent_MouseMove"
|
||||
qRC := QRect( ::qPos:x() - 5, ::qPos:y() - 5, 10, 10 ):normalized()
|
||||
IF qRC:contains( qEvent:pos() )
|
||||
::qByte := QByteArray( ::hItems[ p1 ]:objectName() )
|
||||
|
||||
::qMime := QMimeData()
|
||||
::qMime:setData( "application/x-toolbaricon", ::qByte )
|
||||
::qMime:setHtml( ::hItems[ p1 ]:objectName() )
|
||||
|
||||
::qPix := QIcon( ::hItems[ p1 ]:icon ):pixmap( 16,16 )
|
||||
|
||||
::qDrag := QDrag( hbide_setIde():oDlg:oWidget )
|
||||
::qDrag:setMimeData( ::qMime )
|
||||
::qDrag:setPixmap( ::qPix )
|
||||
::qDrag:setHotSpot( QPoint( 15,15 ) )
|
||||
::qDrag:setDragCursor( ::qPix, Qt_CopyAction + Qt_IgnoreAction )
|
||||
::qDropAction := ::qDrag:exec( Qt_CopyAction + Qt_IgnoreAction ) /* Why this is not terminated GPF's */
|
||||
|
||||
::qDrag := NIL
|
||||
::qPos := NIL
|
||||
::hItems[ p1 ]:setChecked( .f. )
|
||||
::hItems[ p1 ]:setWindowState( 0 )
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
CASE "QEvent_MouseRelease"
|
||||
::qDrag := NIL
|
||||
EXIT
|
||||
|
||||
CASE "QEvent_MousePress"
|
||||
::qPos := qEvent:pos()
|
||||
EXIT
|
||||
|
||||
CASE "buttonNew_clicked"
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:addWidget( cName, qWidget )
|
||||
LOCAL qAction
|
||||
|
||||
DEFAULT cName TO hbide_getNextIDasString( "IdeToolButtonWidget" )
|
||||
|
||||
qAction := QWidgetAction( ::oWidget )
|
||||
qAction:setDefaultWidget( qWidget )
|
||||
::oWidget:addAction( qAction )
|
||||
|
||||
::hItems[ cName ] := qWidget
|
||||
::hActions[ cName ] := qAction
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:addSeparator()
|
||||
LOCAL qAction
|
||||
LOCAL cName := hbide_getNextIDasString( "IdeToolButtonSeparator" )
|
||||
|
||||
qAction := ::oWidget:addSeparator()
|
||||
|
||||
::hItems[ cName ] := cName
|
||||
::hActions[ cName ] := qAction
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:addAction( cName, qAction, bBlock )
|
||||
|
||||
DEFAULT cName TO hbide_getNextIdAsString( "IdeToolButtonAction" )
|
||||
|
||||
::oWidget:addAction( qAction )
|
||||
|
||||
::hItems[ cName ] := cName
|
||||
::hActions[ cName ] := qAction
|
||||
IF HB_ISBLOCK( bBlock )
|
||||
qAction:connect( "triggered()", bBlock )
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:addToolButton( cName, cDesc, cImage, bAction, lCheckable, lDragEnabled )
|
||||
LOCAL oButton, oActBtn
|
||||
|
||||
DEFAULT cName TO hbide_getNextIDasString( "IdeToolButton" )
|
||||
DEFAULT cDesc TO ""
|
||||
DEFAULT lCheckable TO .f.
|
||||
DEFAULT lDragEnabled TO .f.
|
||||
|
||||
oButton := QToolButton()
|
||||
oButton:setObjectName( cName )
|
||||
oButton:setTooltip( cDesc )
|
||||
oButton:setIcon( QIcon( cImage ) )
|
||||
oButton:setCheckable( lCheckable )
|
||||
oButton:setFocusPolicy( Qt_NoFocus )
|
||||
|
||||
IF lDragEnabled
|
||||
oButton:connect( QEvent_MouseButtonPress , {|p| ::execEvent( "QEvent_MousePress" , p, cName ) } )
|
||||
oButton:connect( QEvent_MouseButtonRelease, {|p| ::execEvent( "QEvent_MouseRelease", p, cName ) } )
|
||||
oButton:connect( QEvent_MouseMove , {|p| ::execEvent( "QEvent_MouseMove" , p, cName ) } )
|
||||
oButton:connect( QEvent_Enter , {|p| ::execEvent( "QEvent_MouseEnter" , p, cName ) } )
|
||||
ENDIF
|
||||
|
||||
IF HB_ISBLOCK( bAction )
|
||||
oButton:connect( "clicked()", bAction )
|
||||
ENDIF
|
||||
oActBtn := ::oWidget:addWidget( oButton )
|
||||
|
||||
::hItems[ cName ] := oButton
|
||||
::hActions[ cName ] := oActBtn
|
||||
|
||||
RETURN oButton
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:setItemChecked( cName, lState )
|
||||
LOCAL lOldState
|
||||
|
||||
IF hb_hHasKey( ::hActions, cName )
|
||||
IF ::hActions[ cName ]:isCheckable()
|
||||
lOldState := ::hActions[ cName ]:isChecked()
|
||||
IF HB_ISLOGICAL( lState )
|
||||
::hActions[ cName ]:setChecked( lState )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lOldState
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:setItemEnabled( cName, lEnabled )
|
||||
LOCAL lOldEnabled
|
||||
|
||||
IF hb_hHasKey( ::hActions, cName )
|
||||
lOldEnabled := ::hActions[ cName ]:isEnabled()
|
||||
IF HB_ISLOGICAL( lEnabled )
|
||||
::hActions[ cName ]:setEnabled( lEnabled )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lOldEnabled
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbqToolbar:itemToggle( cName )
|
||||
LOCAL lOldState
|
||||
|
||||
IF hb_hHasKey( ::hActions, cName )
|
||||
IF ::hActions[ cName ]:isCheckable()
|
||||
lOldState := ::hActions[ cName ]:isChecked()
|
||||
::hActions[ cName ]:setChecked( ! lOldState )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lOldState
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -1,621 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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>
|
||||
* 04Mar2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "xbp.ch"
|
||||
#include "hbqtgui.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define __browserStat_anchorClicked__ 2001
|
||||
#define __browserWelcome_contextMenuRequested__ 2002
|
||||
#define __browserFaq_contextMenuRequested__ 2003
|
||||
#define __tabWidget_currentChanged__ 2004
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_htmlImgAnchor( cHref, cImg, nWidth, nHeight )
|
||||
DEFAULT nWidth TO 12
|
||||
DEFAULT nHeight TO 12
|
||||
RETURN '<a href="' + cHref + '"' + '>' + ' <img src="' + cImg + '"' + ;
|
||||
' width="' + hb_ntos( nWidth ) + '" height="' + hb_ntos( nHeight ) + '"' + '</img>' + '</a>'
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_htmlAnchor( cHref, cText, cTooltip )
|
||||
|
||||
RETURN '<a href="' + cHref + '"' + iif( empty( cTooltip ), '', ' title="' + cTooltip + '"' ) +'>' + cText + '</A>'
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeHome INHERIT IdeObject
|
||||
|
||||
DATA oWelcomeTab
|
||||
DATA qWelcomeBrowser
|
||||
DATA oFaqTab
|
||||
DATA qFaqBrowser
|
||||
DATA oView
|
||||
|
||||
DATA cClickedProject
|
||||
DATA cClickedSource
|
||||
|
||||
DATA qCurBrowser
|
||||
DATA qPrnDlg
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD refresh()
|
||||
METHOD execEvent( nEvent, p )
|
||||
METHOD buildWelcomeTab()
|
||||
METHOD activateTab( mp1, mp2, oTab )
|
||||
METHOD addProjectsInfo( aHtm )
|
||||
METHOD buildProjectDetails( cProjectTitle )
|
||||
METHOD buildSourcesInfo( cProjectTitle, aSrcInfo )
|
||||
METHOD formatSourceInfo( aHtm, aSrc )
|
||||
METHOD buildFaqTab()
|
||||
METHOD setStyleSheetTextBrowser( qBrw )
|
||||
METHOD print()
|
||||
METHOD paintRequested( qPrinter )
|
||||
METHOD buildView()
|
||||
METHOD show()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:new( oIde )
|
||||
::oIde := oIde
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
::buildView()
|
||||
|
||||
::oView:oTabWidget:oWidget:setDocumentMode( .t. )
|
||||
::oView:oTabWidget:oWidget:setStyleSheet( "QTabWidget::tab-bar {left: 5px;}" )
|
||||
::oView:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
::buildWelcomeTab()
|
||||
::buildFaqTab()
|
||||
|
||||
::oView:oTabWidget:oWidget:setCurrentIndex( 0 )
|
||||
|
||||
::oView:hide()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:show()
|
||||
|
||||
IF ::oView:oWidget:isVisible()
|
||||
::oView:hide()
|
||||
ELSE
|
||||
::oIde:setPosAndSizeByIniEx( ::oView:oWidget, ::oINI:cStatsDialogGeometry )
|
||||
::oView:show()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:buildView()
|
||||
LOCAL oFrame
|
||||
|
||||
oFrame := XbpWindow():new( ::oDa )
|
||||
oFrame:oWidget := QWidget( ::oDa:oWidget )
|
||||
oFrame:oWidget:resize( 750,300 )
|
||||
oFrame:oWidget:connect( QEvent_Close, {|| ::oINI:cStatsDialogGeometry := hbide_posAndSize( ::oView:oWidget ) } )
|
||||
|
||||
oFrame:oWidget:setWindowFlags( Qt_Sheet )
|
||||
oFrame:oWidget:setObjectName( "Stats" )
|
||||
::oDa:addChild( oFrame )
|
||||
|
||||
oFrame:hbLayout := HBPLAYOUT_TYPE_VERTBOX
|
||||
oFrame:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
oFrame:oTabWidget := XbpTabWidget():new():create( oFrame, , {0,0}, {600,300}, , .t. )
|
||||
|
||||
oFrame:oTabWidget:oWidget:setUsesScrollButtons( .t. )
|
||||
oFrame:oTabWidget:oWidget:setMovable( .t. )
|
||||
|
||||
::oView := oFrame
|
||||
|
||||
::oIde:setPosAndSizeByIniEx( oFrame:oWidget, ::oINI:cStatsDialogGeometry )
|
||||
|
||||
RETURN self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:destroy()
|
||||
|
||||
IF !empty( ::qPrnDlg )
|
||||
::qPrnDlg:disconnect( "paintRequested(QPrinter*)" )
|
||||
::qPrnDlg := NIL
|
||||
ENDIF
|
||||
|
||||
::qWelcomeBrowser:disconnect( "anchorClicked(QUrl)" )
|
||||
::qWelcomeBrowser:disconnect( "customContextMenuRequested(QPoint)" )
|
||||
::qFaqBrowser:disconnect( "customContextMenuRequested(QPoint)" )
|
||||
|
||||
::oWelcomeTab := NIL
|
||||
::qWelcomeBrowser := NIL
|
||||
::qCurBrowser := NIL
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:execEvent( nEvent, p )
|
||||
LOCAL cAct, cText, cExt
|
||||
|
||||
IF ::lQuitting
|
||||
RETURN Self
|
||||
ENDIF
|
||||
|
||||
SWITCH nEvent
|
||||
CASE __tabWidget_currentChanged__
|
||||
IF p == 0
|
||||
::qCurBrowser := ::qWelcomeBrowser
|
||||
ELSEIF p == 1
|
||||
::qCurBrowser := ::qFaqBrowser
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __browserStat_anchorClicked__
|
||||
cText := p:toString()
|
||||
|
||||
IF "prj-" $ lower( cText )
|
||||
::cClickedProject := substr( cText, 5 )
|
||||
::buildProjectDetails( ::cClickedProject )
|
||||
|
||||
ELSEIF "fle-" $ lower( cText )
|
||||
::cClickedSource := substr( cText, 5 )
|
||||
|
||||
/* Send it for Editing */
|
||||
hb_fNameSplit( ::cClickedSource, , , @cExt )
|
||||
IF lower( cExt ) == ".hbp"
|
||||
::buildProjectDetails( ::cClickedSource )
|
||||
ELSE
|
||||
::oSM:editSource( hbide_stripFilter( ::cClickedSource ) )
|
||||
ENDIF
|
||||
/* Stay on the Same Page */
|
||||
::buildProjectDetails( ::cClickedProject )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE __browserWelcome_contextMenuRequested__
|
||||
CASE __browserFaq_contextMenuRequested__
|
||||
IF !empty( cAct := hbide_popupBrwContextMenu( ::qCurBrowser, p ) )
|
||||
IF cAct $ "Back,Forward,Home"
|
||||
::refresh()
|
||||
ELSEIF cAct == "Print"
|
||||
::print()
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:activateTab( mp1, mp2, oTab )
|
||||
|
||||
HB_SYMBOL_UNUSED( mp1 )
|
||||
HB_SYMBOL_UNUSED( mp2 )
|
||||
|
||||
IF oTab == ::oWelcomeTab
|
||||
::qCurBrowser := ::qWelcomeBrowser
|
||||
ELSEIF oTab == ::oFaqTab
|
||||
::qCurBrowser := ::qFaqBrowser
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:print()
|
||||
|
||||
::qPrnDlg := NIL
|
||||
IF empty( ::qPrnDlg )
|
||||
::qPrnDlg := QPrintPreviewDialog()
|
||||
::qPrnDlg:setWindowTitle( "Welcome::Projects" )
|
||||
::qPrnDlg:setWindowIcon( QIcon( hbide_image( "hbide" ) ) )
|
||||
::qPrnDlg:connect( "paintRequested(QPrinter*)", {|p| ::paintRequested( p ) } )
|
||||
ENDIF
|
||||
|
||||
::qPrnDlg:exec()
|
||||
|
||||
RETURN self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:paintRequested( qPrinter )
|
||||
::qCurBrowser:print( qPrinter )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:setStyleSheetTextBrowser( qBrw )
|
||||
|
||||
qBrw:setStyleSheet( 'QTextBrowser { background-image: url(:/resources/hbidesplashwatermark.png); ' + ;
|
||||
'background-attachment: scroll; background-repeat:no-repeat; background-position:center; ' + ;
|
||||
'background-color: rgb(255,255,255); }' )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:buildWelcomeTab()
|
||||
LOCAL oTab, qBrw, qSList
|
||||
|
||||
//oTab := XbpTabPage():new( ::aViews[ 1 ], , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab := XbpTabPage():new( ::oView, , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab:caption := "Welcome"
|
||||
oTab:minimized := .F.
|
||||
oTab:create()
|
||||
oTab:tabActivate := {|mp1,mp2,oXbp| ::activateTab( mp1, mp2, oXbp ) }
|
||||
|
||||
oTab:hbLayout := HBPLAYOUT_TYPE_VERTBOX
|
||||
oTab:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
qBrw := QTextBrowser()
|
||||
oTab:qLayout:addWidget( qBrw )
|
||||
qBrw:setContextMenuPolicy( Qt_CustomContextMenu )
|
||||
::setStyleSheetTextBrowser( qBrw )
|
||||
|
||||
::oWelcomeTab := oTab
|
||||
::qWelcomeBrowser := qBrw
|
||||
::qCurBrowser := qBrw
|
||||
|
||||
qBrw:connect( "anchorClicked(QUrl)" , {|p| ::execEvent( __browserStat_anchorClicked__ , p ) } )
|
||||
qBrw:connect( "customContextMenuRequested(QPoint)", {|p| ::execEvent( __browserWelcome_contextMenuRequested__, p ) } )
|
||||
|
||||
qSList := QStringList()
|
||||
qSList:append( hb_dirBase() + "docs" )
|
||||
qBrw:setSearchPaths( qSList )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:refresh()
|
||||
LOCAL aHtm := {}
|
||||
|
||||
aadd( aHtm, '<html>' )
|
||||
aadd( aHtm, ' <body align=center valign=center>' )
|
||||
aadd( aHtm, ' <table cols="7" width="95%">' )
|
||||
aadd( aHtm, ' <tr>' )
|
||||
aadd( aHtm, ' <td align="left" valign="center" colspan="5">' )
|
||||
aadd( aHtm, ' <img src=":/resources/project.png"' + '</img>' + ' ' + ' ' + ' ' )
|
||||
aadd( aHtm, ' <font face="Times New Roman" color="#FF4719" size="7"><b><U>Projects</u></b></font>' )
|
||||
aadd( aHtm, ' ' + ' ' + ' ' )
|
||||
aadd( aHtm, ' <font face="Times New Roman" size="5">' + '( ' + hbide_pathNormalized( ::oIde:cProjIni, .f. ) + ' )' + '</font>' )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' </tr>' )
|
||||
aadd( aHtm, ' <tr bgcolor="#F0F0F5">' )
|
||||
aadd( aHtm, ' <th width="150" >Title </th>' )
|
||||
aadd( aHtm, ' <th width="50" >Type </th>' )
|
||||
aadd( aHtm, ' <th width="75" >Sources </th>' )
|
||||
aadd( aHtm, ' <th width="300" >Location </th>' )
|
||||
aadd( aHtm, ' <th width="120" >Last Modified </th>' )
|
||||
AADD( aHtm, ' </tr>' )
|
||||
//
|
||||
::addProjectsInfo( @aHtm )
|
||||
//
|
||||
aadd( aHtm, ' </table>' )
|
||||
aadd( aHtm, ' </body>' )
|
||||
aadd( aHtm, '</html>' )
|
||||
//
|
||||
::qWelcomeBrowser:clear()
|
||||
//
|
||||
::qWelcomeBrowser:setHTML( hbide_arrayToMemo( aHtm ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:addProjectsInfo( aHtm )
|
||||
LOCAL a_, prp_, src_, dir_, cIcon
|
||||
|
||||
IF empty( ::aProjects )
|
||||
aadd( aHtm, ' <tr>' )
|
||||
aadd( aHtm, ' <td>' )
|
||||
aadd( aHtm, ' ' + 'None' )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <tr>' )
|
||||
ELSE
|
||||
FOR EACH a_ IN ::aProjects
|
||||
prp_ := a_[ 3, PRJ_PRP_PROPERTIES, 1 ]
|
||||
src_ := a_[ 3, PRJ_PRP_SOURCES , 1 ]
|
||||
dir_ := directory( a_[ 1 ] )
|
||||
cIcon := hbide_imageForProjectType( prp_[ PRJ_PRP_TYPE ] )
|
||||
|
||||
aadd( aHtm, ' <tr height="1">' )
|
||||
aadd( aHtm, ' <td><b>' )
|
||||
aadd( aHtm, ' ' + hbide_htmlImgAnchor( 'prj-' + prp_[ PRJ_PRP_TITLE ], ':/resources/' + cIcon + '.png' ) + ' ' )
|
||||
aadd( aHtm, ' ' + hbide_htmlAnchor( 'prj-' + prp_[ PRJ_PRP_TITLE ], prp_[ PRJ_PRP_TITLE ], a_[ 1 ] ) )
|
||||
aadd( aHtm, ' </b></td>' )
|
||||
aadd( aHtm, ' <td align=center>' )
|
||||
aadd( aHtm, ' ' + left( prp_[ PRJ_PRP_TYPE ], 3 ) )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <td align=center>' )
|
||||
aadd( aHtm, ' ' + hb_ntos( Len( src_ ) ) )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <td align=left>' )
|
||||
aadd( aHtm, ' ' + hbide_pathNormalized( a_[ 1 ], .f. ) )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <td align=center>' )
|
||||
IF ! empty( dir_ )
|
||||
aadd( aHtm, ' ' + dtoc( dir_[ 1,3 ] ) + " " + dir_[ 1,4 ] )
|
||||
ELSE
|
||||
aadd( aHtm, ' ' )
|
||||
ENDIF
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' </tr>' )
|
||||
NEXT
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:buildProjectDetails( cProjectTitle )
|
||||
LOCAL aSrc, cSrc, dir_, cRoot, cExt, cIcon, cName, cPath
|
||||
LOCAL aSrcInfo := {}, a_:= {}
|
||||
|
||||
aSrc := ::oPM:getSourcesByProjectTitle( cProjectTitle )
|
||||
cRoot := ::oPM:getProjectPathFromTitle( cProjectTitle )
|
||||
|
||||
FOR EACH cSrc IN aSrc
|
||||
aadd( a_, hbide_syncProjPath( cRoot, cSrc ) )
|
||||
NEXT
|
||||
a_ := hbide_groupSources( "org", a_ )
|
||||
FOR EACH cSrc IN a_
|
||||
hb_fNameSplit( cSrc, @cPath, @cName, @cExt )
|
||||
cExt := lower( cExt )
|
||||
cIcon := hbide_imageForFileType( cExt )
|
||||
IF !empty( dir_:= directory( cSrc ) )
|
||||
// bytes date time
|
||||
aadd( aSrcInfo, { cSrc, hbide_pathNormalized( cPath,.f. ), cName, cExt, cIcon, dir_[ 1,2 ], dir_[ 1,3 ], dir_[ 1,4 ] } )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
IF !empty( aSrcInfo )
|
||||
::buildSourcesInfo( cProjectTitle, aSrcInfo )
|
||||
ELSE
|
||||
::refresh()
|
||||
ENDIF
|
||||
|
||||
RETURN aSrcInfo
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:buildSourcesInfo( cProjectTitle, aSrcInfo )
|
||||
LOCAL aHtm := {}, aSrc
|
||||
LOCAL cIcon := hbide_imageForProjectType( ::oPM:getProjectTypeFromTitle( cProjectTitle ) )
|
||||
|
||||
aadd( aHtm, '<html>' )
|
||||
aadd( aHtm, ' <body align=center valign=center>' )
|
||||
aadd( aHtm, ' <table cols="7" width="95%">' )
|
||||
aadd( aHtm, ' <tr><td align=left>' )
|
||||
aadd( aHtm, ' <img src="' + ':/resources/' + cIcon + '.png' + '"' + '</img>' + ' ' + ' ' + ' ' )
|
||||
aadd( aHtm, ' <font color="#FF4719" size=5><u>' + cProjectTitle + '</u></font>' )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <tr bgcolor="#F0F0F5">' )
|
||||
aadd( aHtm, ' <th width="150" >Source</th>' )
|
||||
aadd( aHtm, ' <th width="50" >Type</th>' )
|
||||
aadd( aHtm, ' <th width="60" >Size</th>' )
|
||||
aadd( aHtm, ' <th width="250" >Location</th>' )
|
||||
aadd( aHtm, ' <th width="120" >Last Modified</th>' )
|
||||
AADD( aHtm, ' </tr>' )
|
||||
//
|
||||
FOR EACH aSrc IN aSrcInfo
|
||||
::formatSourceInfo( @aHtm, aSrc )
|
||||
NEXT
|
||||
//
|
||||
aadd( aHtm, ' </table>' )
|
||||
aadd( aHtm, ' </body>' )
|
||||
aadd( aHtm, '</html>' )
|
||||
//
|
||||
::qWelcomeBrowser:clear()
|
||||
//
|
||||
::qWelcomeBrowser:setHTML( hbide_arrayToMemo( aHtm ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:formatSourceInfo( aHtm, aSrc )
|
||||
|
||||
aadd( aHtm, ' <tr>' )
|
||||
aadd( aHtm, ' <td><b>' )
|
||||
aadd( aHtm, ' ' + hbide_htmlImgAnchor( 'fle-' + aSrc[ 1 ], ':/resources/' + aSrc[ 5 ] + '.png' ) + ' ' )
|
||||
aadd( aHtm, ' ' + hbide_htmlAnchor( 'fle-' + aSrc[ 1 ], aSrc[ 3 ], aSrc[ 1 ] ) )
|
||||
aadd( aHtm, ' </b></td>' )
|
||||
aadd( aHtm, ' <td>' )
|
||||
aadd( aHtm, ' ' + aSrc[ 4 ] )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <td align=center>' )
|
||||
aadd( aHtm, ' ' + hb_ntos( aSrc[ 6 ] ) )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <td align=left>' )
|
||||
aadd( aHtm, ' ' + aSrc[ 2 ] )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' <td align=center>' )
|
||||
aadd( aHtm, ' ' + dtoc( aSrc[ 7 ] ) + " " + aSrc[ 8 ] )
|
||||
aadd( aHtm, ' </td>' )
|
||||
aadd( aHtm, ' </tr>' )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:buildFaqTab()
|
||||
LOCAL oTab, qBrw, aFaq, aHtm, a_, b_, s
|
||||
|
||||
//oTab := XbpTabPage():new( ::aViews[ 1 ], , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab := XbpTabPage():new( ::oView, , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab:caption := "FAQ's"
|
||||
oTab:minimized := .F.
|
||||
oTab:create()
|
||||
oTab:tabActivate := {|mp1,mp2,oXbp| ::activateTab( mp1, mp2, oXbp ) }
|
||||
|
||||
oTab:hbLayout := HBPLAYOUT_TYPE_VERTBOX
|
||||
oTab:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
qBrw := QTextBrowser()
|
||||
oTab:qLayout:addWidget( qBrw )
|
||||
qBrw:setContextMenuPolicy( Qt_CustomContextMenu )
|
||||
::setStyleSheetTextBrowser( qBrw )
|
||||
|
||||
qBrw:connect( "customContextMenuRequested(QPoint)", {|p| ::execEvent( __browserFaq_contextMenuRequested__, p ) } )
|
||||
|
||||
::oFaqTab := oTab
|
||||
::qFaqBrowser := qBrw
|
||||
|
||||
aFaq := hbide_getFaqs() ; a_:= aFaq[ 1 ]; b_:= aFaq[ 2 ]
|
||||
aHtm := {}
|
||||
|
||||
aadd( aHtm, '<html>' )
|
||||
aadd( aHtm, ' <body align=center valign=center>' )
|
||||
aadd( aHtm, ' <table cols="7" width="95%">' )
|
||||
FOR EACH s IN a_
|
||||
aadd( aHtm, ' <tr><td></td></tr>' )
|
||||
aadd( aHtm, ' <tr><td>' )
|
||||
aadd( aHtm, ' <font color="red" size=4>' + s + '</font>' )
|
||||
aadd( aHtm, ' </td></tr>' )
|
||||
aadd( aHtm, ' <tr><td>' )
|
||||
aadd( aHtm, ' <font color="black" size=3>' + b_[ s:__enumIndex() ] + '</font>' )
|
||||
aadd( aHtm, ' </td></tr>' )
|
||||
NEXT
|
||||
aadd( aHtm, ' </table>' )
|
||||
aadd( aHtm, ' </body>' )
|
||||
aadd( aHtm, '</html>' )
|
||||
//
|
||||
::qFaqBrowser:clear()
|
||||
//
|
||||
::qFaqBrowser:setHTML( hbide_arrayToMemo( aHtm ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_getFaqs()
|
||||
LOCAL a_:= {}, b_:= {}
|
||||
|
||||
aadd( a_, 'Does HbIDE support editing of same source at more than one place simultaneously ?' )
|
||||
aadd( b_, 'Yes. HbIDE provides for splitting an editing window, horizontally and vertically, ' + ;
|
||||
'both ways. Right-click anywhere in the editor, point to "Split..." and then ' + ;
|
||||
'click on required option.' )
|
||||
|
||||
aadd( a_, 'Does HbIDE support session management ?' )
|
||||
aadd( b_, 'Yes. And in a unique way. It provides to construct n number of "Panels" where you can spread ' + ;
|
||||
'sources. Each panel is given a name as well as corresponding button on the left-toolbar, a colored ' + ;
|
||||
'circle, to bring it forward. New panel can be created from selecting "New..." from drop-down ' + ;
|
||||
'list on top-toolbar and providing a name in the editing dialog. For this reason you will never ' + ;
|
||||
'need to exit HbIDE and reenter again. It is a big productivity boost.' )
|
||||
|
||||
aadd( a_, 'Does HbIDE allows to compile a project for different compilers and/or environments ?' )
|
||||
aadd( b_, 'Yes. Infact this feature had been the one of the main reasons of HbIDEs existance. ' + ;
|
||||
'All you have to do is to enter different environment settings in _ONE_ hbide.env file which ' + ;
|
||||
'resides alongside hbide.ini. HbIDE provides the interface to manipulate this .env settings ' + ;
|
||||
'which can be invoked from right-toolbar icon "Compiler Environments". Follow the input fields. ' + ;
|
||||
'A template is provided in "hbide.env", inspect it and you are through. Once hbide.env ' + ;
|
||||
'is ready, you will simply need to switch over the other environment which can be invoked ' + ;
|
||||
'via right-click on a project node in "Projects" tree and point to "Select an environment" ' + ;
|
||||
'and click on listed options. Next step is just to build the project.' )
|
||||
|
||||
aadd( a_, 'Can we keep any other content in hbide.ini ?' )
|
||||
aadd( b_, 'No. hbide.ini is always re-written at the time HbIDE exits. Also this action is executed ' + ;
|
||||
'several times depending upon the underlying needs. However, you can alter the contents in some ' + ;
|
||||
'sections, i.e., [Files], [Projects], etc., but only before running HbIDE. At exit, it will ' + ;
|
||||
're-write it again.' )
|
||||
|
||||
aadd( a_, 'Does HbIDE provides "intellisense" ? If yes, in what aspects ?' )
|
||||
aadd( b_, 'Yes. Not so powerful yet, but "yes". HbIDE embeds two components as the basis of this intellisense, ' + ;
|
||||
hb_eol() + ;
|
||||
' 1. Harbour Documentation, and ' + hb_eol() + ;
|
||||
' 2. Project(s) Prototype Tagging. ' + hb_eol() + ;
|
||||
'Both these components can be pressed in servive simultaneously and as per need. Both are loaded ' + ;
|
||||
'only when requested. Prototype Tagging extends one step forward as to offer to load only those ' + ;
|
||||
'projects which a developer will be working on during that session. Both components can be aligned ' + ;
|
||||
'on the side corners to provide always-on view of the actual contents. The moment you press "(" ' + ;
|
||||
'HbIDE examines the contents of these components, if the function is available in Harbour Docs, ' + ;
|
||||
'its details are dumped into the viewer, otherwise if the function is contained in the tagged ' + ;
|
||||
'prototypes, it is made current in the list, and a html formatted prototype is displayed as tooltip ' + ;
|
||||
'beneth the current caret position. ' + hb_eol() + ;
|
||||
hb_eol() + ;
|
||||
'Code completion tool is almost done with, and probably will make up its presence in the HbIDE soon. ' )
|
||||
|
||||
RETURN { a_, b_ }
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>mainWindow</class>
|
||||
<widget class="QMainWindow" name="mainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>851</width>
|
||||
<height>473</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>MainWindow</string>
|
||||
</property>
|
||||
<property name="documentMode">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="tabShape">
|
||||
<enum>QTabWidget::Triangular</enum>
|
||||
</property>
|
||||
<property name="dockNestingEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="dockOptions">
|
||||
<set>QMainWindow::AllowNestedDocks|QMainWindow::AllowTabbedDocks|QMainWindow::AnimatedDocks</set>
|
||||
</property>
|
||||
<widget class="QWidget" name="drawingArea"/>
|
||||
<widget class="QMenuBar" name="menuBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>851</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusBar"/>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,250 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2009-2012 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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>
|
||||
* 03Jan2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeObject
|
||||
|
||||
DATA xD
|
||||
DATA xD1
|
||||
DATA xD2
|
||||
|
||||
DATA oIde
|
||||
DATA oUI
|
||||
DATA qContextMenu
|
||||
|
||||
ACCESS oFR INLINE ::oIde:oFR
|
||||
ACCESS oBM INLINE ::oIde:oBM
|
||||
ACCESS oEM INLINE ::oIde:oEM
|
||||
ACCESS oPM INLINE ::oIde:oPM
|
||||
ACCESS oDK INLINE ::oIde:oDK
|
||||
ACCESS oAC INLINE ::oIde:oAC
|
||||
ACCESS oSM INLINE ::oIde:oSM
|
||||
ACCESS oEV INLINE ::oIde:oEV
|
||||
ACCESS oHL INLINE ::oIde:oHL
|
||||
ACCESS oHM INLINE ::oIde:oHM
|
||||
ACCESS oFN INLINE ::oIde:oFN
|
||||
ACCESS oDW INLINE ::oIde:oDW
|
||||
ACCESS oSK INLINE ::oIde:oSK
|
||||
ACCESS oSC INLINE ::oIde:oSC
|
||||
ACCESS oTM INLINE ::oIde:oTM
|
||||
ACCESS oTH INLINE ::oIde:oTH
|
||||
ACCESS oFF INLINE ::oIde:oFF
|
||||
ACCESS oRM INLINE ::oIde:oRM
|
||||
ACCESS oSetup INLINE ::oIde:oSetup
|
||||
ACCESS oINI INLINE ::oIde:oINI
|
||||
ACCESS oFmt INLINE ::oIde:oFmt
|
||||
ACCESS oCL INLINE ::oIde:oCL
|
||||
ACCESS oCUI INLINE ::oIde:oCUI
|
||||
ACCESS oUiS INLINE ::oIde:oUiS
|
||||
ACCESS oPWZ INLINE ::oIde:oPWZ
|
||||
ACCESS oParts INLINE ::oIde:oParts
|
||||
|
||||
ACCESS aMeta INLINE ::oIde:aMeta
|
||||
ACCESS aTags INLINE ::oIde:aTags
|
||||
|
||||
ACCESS oFont INLINE ::oIde:oFont
|
||||
ACCESS oSBar INLINE ::oIde:oSBar
|
||||
ACCESS oDlg INLINE ::oIde:oDlg
|
||||
ACCESS oDA INLINE ::oIde:oDA
|
||||
|
||||
ACCESS qLayout INLINE ::oIde:qLayout
|
||||
ACCESS qCurEdit INLINE ::oIde:qCurEdit
|
||||
ACCESS qCurDocument INLINE ::oIde:qCurDocument
|
||||
ACCESS oCurEditor INLINE ::oIde:oCurEditor
|
||||
ACCESS qTabWidget INLINE ::oIde:qTabWidget
|
||||
ACCESS oTabParent INLINE ::oIde:oTabParent
|
||||
ACCESS qBrushWrkProject INLINE ::oIde:qBrushWrkProject
|
||||
ACCESS qViewsCombo INLINE ::oIde:qViewsCombo
|
||||
ACCESS qHelpBrw INLINE ::oIde:qHelpBrw
|
||||
ACCESS qAnimateAction INLINE ::oIde:qAnimateAction
|
||||
ACCESS qStatusBarAction INLINE ::oIde:qStatusBarAction
|
||||
|
||||
ACCESS qTBarLines INLINE ::oIde:qTBarLines
|
||||
ACCESS qTBarPanels INLINE ::oIde:qTBarPanels
|
||||
ACCESS qCompleter INLINE ::oIde:qCompleter
|
||||
ACCESS qCompModel INLINE ::oIde:qCompModel
|
||||
ACCESS qProtoList INLINE ::oIde:qProtoList
|
||||
|
||||
ACCESS cWrkProject INLINE ::oIde:cWrkProject
|
||||
ACCESS cWrkTheme INLINE ::oIde:cWrkTheme
|
||||
ACCESS cWrkCodec INLINE ::oIde:cWrkCodec
|
||||
ACCESS cWrkPathMk2 INLINE ::oIde:cWrkPathMk2
|
||||
ACCESS cWrkPathEnv INLINE ::oIde:cWrkPathEnv
|
||||
ACCESS cWrkEnvironment INLINE ::oIde:cWrkEnvironment
|
||||
ACCESS cWrkFind INLINE ::oIde:cWrkFind
|
||||
ACCESS cWrkFolderFind INLINE ::oIde:cWrkFolderFind
|
||||
ACCESS cWrkReplace INLINE ::oIde:cWrkReplace
|
||||
ACCESS cWrkView INLINE ::oIde:cWrkView
|
||||
ACCESS cWrkHarbour INLINE ::oIde:cWrkHarbour
|
||||
ACCESS cPathShortcuts INLINE ::oIde:cPathShortcuts
|
||||
ACCESS cTextExtensions INLINE ::oIde:cTextExtensions
|
||||
ACCESS cWrkFolderLast INLINE ::oIde:cWrkFolderLast
|
||||
//
|
||||
ACCESS resPath INLINE ::oIde:resPath
|
||||
ACCESS pathSep INLINE ::oIde:pathSep
|
||||
ACCESS cLastFileOpenPath INLINE ::oIde:cLastFileOpenPath
|
||||
ACCESS nAnimantionMode INLINE ::oIde:nAnimantionMode
|
||||
ACCESS nModeUI INLINE ::oIde:nModeUI
|
||||
|
||||
ACCESS aProjects INLINE ::oIde:aProjects
|
||||
ACCESS aSources INLINE ::oIde:aSources
|
||||
ACCESS aEditorPath INLINE ::oIde:aEditorPath
|
||||
ACCESS aProjData INLINE ::oIde:aProjData
|
||||
ACCESS aTabs INLINE ::oIde:aTabs
|
||||
ACCESS aViews INLINE ::oIde:aViews
|
||||
ACCESS aSkltns INLINE ::oIde:aSkltns
|
||||
ACCESS aUserDict INLINE ::oIde:aUserDict
|
||||
|
||||
ACCESS nTabSpaces INLINE ::oIde:nTabSpaces
|
||||
ACCESS cTabSpaces INLINE ::oIde:cTabSpaces
|
||||
ACCESS cSeparator INLINE ::oIde:cSeparator
|
||||
ACCESS cPathSkltns INLINE ::oIde:cPathSkltns
|
||||
|
||||
ACCESS oDockPT INLINE ::oIde:oDockPT
|
||||
ACCESS oProjTree INLINE ::oIde:oProjTree
|
||||
ACCESS oProjRoot INLINE ::oIde:oProjRoot
|
||||
ACCESS oDockED INLINE ::oIde:oDockED
|
||||
ACCESS oEditTree INLINE ::oIde:oEditTree
|
||||
ACCESS oOpenedSources INLINE ::oIde:oOpenedSources
|
||||
ACCESS oFuncDock INLINE ::oIde:oFuncDock
|
||||
ACCESS oFuncList INLINE ::oIde:oFuncList
|
||||
ACCESS oDockB INLINE ::oIde:oDockB
|
||||
ACCESS oCompileResult INLINE ::oIde:oCompileResult
|
||||
ACCESS oDockB1 INLINE ::oIde:oDockB1
|
||||
ACCESS oLinkResult INLINE ::oIde:oLinkResult
|
||||
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
|
||||
ACCESS oGeneral INLINE ::oIde:oGeneral
|
||||
ACCESS oThemesDock INLINE ::oIde:oThemesDock
|
||||
ACCESS oPropertiesDock INLINE ::oIde:oPropertiesDock
|
||||
ACCESS oEnvironDock INLINE ::oIde:oEnvironDock
|
||||
ACCESS oSearchReplace INLINE ::oIde:oSearchReplace
|
||||
ACCESS oDocViewDock INLINE ::oIde:oDocViewDock
|
||||
ACCESS oDocWriteDock INLINE ::oIde:oDocWriteDock
|
||||
ACCESS oFunctionsDock INLINE ::oIde:oFunctionsDock
|
||||
ACCESS oSkltnsTreeDock INLINE ::oIde:oSkltnsTreeDock
|
||||
ACCESS oFindDock INLINE ::oIde:oFindDock
|
||||
ACCESS oSourceThumbnailDock INLINE ::oIde:oSourceThumbnailDock
|
||||
ACCESS oQScintillaDock INLINE ::oIde:oQScintillaDock
|
||||
ACCESS oMainToolbar INLINE ::oIde:oMainToolbar
|
||||
ACCESS oUpDn INLINE ::oIde:oUpDn
|
||||
ACCESS oReportsManagerDock INLINE ::oIde:oReportsManagerDock
|
||||
ACCESS oFormatDock INLINE ::oIde:oFormatDock
|
||||
ACCESS oSys INLINE ::oIde:oSys
|
||||
ACCESS oSysMenu INLINE ::oIde:oSysMenu
|
||||
ACCESS oCuiEdDock INLINE ::oIde:oCuiEdDock
|
||||
ACCESS oUISrcDock INLINE ::oIde:oUISrcDock
|
||||
|
||||
ACCESS lProjTreeVisible INLINE ::oIde:lProjTreeVisible
|
||||
ACCESS lDockRVisible INLINE ::oIde:lDockRVisible
|
||||
ACCESS lDockBVisible INLINE ::oIde:lDockBVisible
|
||||
ACCESS lTabCloseRequested INLINE ::oIde:lTabCloseRequested
|
||||
ACCESS isColumnSelectionEnabled INLINE ::oIde:isColumnSelectionEnabled
|
||||
ACCESS lLineNumbersVisible INLINE ::oIde:lLineNumbersVisible
|
||||
ACCESS lHorzRulerVisible INLINE ::oIde:lHorzRulerVisible
|
||||
ACCESS lStatusBarVisible INLINE ::oIde:lStatusBarVisible
|
||||
ACCESS lCurrentLineHighlightEnabled INLINE ::oIde:lCurrentLineHighlightEnabled
|
||||
|
||||
ACCESS aMarkTBtns INLINE ::oIde:aMarkTBtns
|
||||
ACCESS lQuitting INLINE ::oIde:lQuitting
|
||||
|
||||
DATA aSlots INIT {}
|
||||
DATA aEvents INIT {}
|
||||
|
||||
METHOD createTags( ... ) INLINE ::oIde:createTags( ... )
|
||||
METHOD addSourceInTree( ... ) INLINE ::oIde:addSourceInTree( ... )
|
||||
METHOD setPosAndSizeByIni( ... ) INLINE ::oIde:setPosAndSizeByIni( ... )
|
||||
METHOD setPosByIni( ... ) INLINE ::oIde:setPosByIni( ... )
|
||||
METHOD setSizeByIni( ... ) INLINE ::oIde:setSizeByIni( ... )
|
||||
METHOD execAction( ... ) INLINE ::oIde:execAction( ... )
|
||||
METHOD manageFuncContext( ... ) INLINE ::oIde:manageFuncContext( ... )
|
||||
METHOD manageProjectContext( ... ) INLINE ::oIde:manageProjectContext( ... )
|
||||
METHOD updateFuncList( ... ) INLINE ::oIde:updateFuncList( ... )
|
||||
METHOD gotoFunction( ... ) INLINE ::oIde:gotoFunction( ... )
|
||||
METHOD updateProjectMenu( ... ) INLINE ::oIde:updateProjectMenu( ... )
|
||||
METHOD updateProjectTree( ... ) INLINE ::oIde:updateProjectTree( ... )
|
||||
METHOD manageItemSelected( ... ) INLINE ::oIde:manageItemSelected( ... )
|
||||
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( ... )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,194 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Dialog</class>
|
||||
<widget class="QDialog" name="Dialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>217</width>
|
||||
<height>410</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>217</width>
|
||||
<height>346</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>217</width>
|
||||
<height>410</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Manage Panels</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>12</y>
|
||||
<width>69</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Create New:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="editView">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>92</x>
|
||||
<y>16</y>
|
||||
<width>105</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QListWidget" name="listOrder">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>92</x>
|
||||
<y>52</y>
|
||||
<width>105</width>
|
||||
<height>192</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string><html><head/><body><p>Drag, position and drop panels the way you want them to appear.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>48</y>
|
||||
<width>46</width>
|
||||
<height>13</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reorder:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>256</y>
|
||||
<width>69</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Tabs Position:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboPos">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>92</x>
|
||||
<y>260</y>
|
||||
<width>105</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="btnOK">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>376</y>
|
||||
<width>75</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="btnCancel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>124</x>
|
||||
<y>376</y>
|
||||
<width>75</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="Line" name="line">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>360</y>
|
||||
<width>181</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>292</y>
|
||||
<width>65</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Tabs Shape:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboShape">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>92</x>
|
||||
<y>296</y>
|
||||
<width>105</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>16</x>
|
||||
<y>328</y>
|
||||
<width>69</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Delete Panel:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboDelete">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>92</x>
|
||||
<y>332</y>
|
||||
<width>105</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,340 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2009 Andy Wos
|
||||
* www - http://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
|
||||
*
|
||||
* Code Forwarded by Andy Wos
|
||||
*
|
||||
* Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* 22Nov2009
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbapi.h"
|
||||
#include "hbapiitm.h"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
static HB_ISIZ ide_linearfind( const char ** array, const char * pszText, HB_ISIZ lenarray, HB_ISIZ lentext, HB_BOOL bMatchCase )
|
||||
{
|
||||
HB_ISIZ i;
|
||||
|
||||
if( bMatchCase )
|
||||
{
|
||||
for( i = 0; i < lenarray; i++ )
|
||||
{
|
||||
if( strncmp( pszText, array[ i ], lentext + 1 ) == 0 )
|
||||
return i + 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for( i = 0; i < lenarray; i++ )
|
||||
{
|
||||
if( hb_strnicmp( pszText, array[ i ], lentext + 1 ) == 0 )
|
||||
return i + 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
static HB_BOOL ide_strempty( const char * pszString )
|
||||
{
|
||||
HB_ISIZ i = 0;
|
||||
|
||||
while( pszString[ i ] != 0 )
|
||||
{
|
||||
if( pszString[ i++ ] != ' ' )
|
||||
return HB_FALSE;
|
||||
}
|
||||
|
||||
return HB_TRUE;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
static HB_ISIZ ide_atbuff( const char * pszChars, const char * pszString, HB_ISIZ StartFrom, HB_ISIZ Target, HB_ISIZ len_chars, HB_ISIZ len )
|
||||
{
|
||||
if( len >= len_chars && StartFrom <= len - len_chars )
|
||||
{
|
||||
HB_ISIZ x;
|
||||
HB_ISIZ counter = 0;
|
||||
|
||||
for( x = StartFrom; x <= ( len - len_chars ); x++ )
|
||||
{
|
||||
if( strncmp( pszString + x, pszChars, len_chars ) == 0 )
|
||||
{
|
||||
if( ++counter == Target )
|
||||
return x + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
static HB_ISIZ ide_getword( const char * pszText, HB_BOOL bHonorSpacing, char * pszWord, HB_ISIZ * pnpos )
|
||||
{
|
||||
static const char s_szGood[] = "''_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890.";
|
||||
static const char * s_szDoubleList[] = { "*/", "/*", "//", "->", "::", "||", "++", "--", "**", ":=",
|
||||
"<=", ">=", "<>", "!=", "==", "+=", "-=", "*=", "/=", "%=",
|
||||
"^=", "&&", "^^", ">>", "<<", "=>", "&=", "|=" };
|
||||
|
||||
static HB_ISIZ s_lengood = HB_SIZEOFARRAY( s_szGood ) - 1;
|
||||
static HB_ISIZ s_lendouble = HB_SIZEOFARRAY( s_szDoubleList );
|
||||
|
||||
HB_ISIZ maxlen = strlen( pszText );
|
||||
HB_ISIZ npos = 0;
|
||||
HB_ISIZ wordlen = 0;
|
||||
|
||||
if( maxlen > 0 )
|
||||
{
|
||||
char temp;
|
||||
char ch;
|
||||
char szSingle[ 2 ];
|
||||
char szDouble[ 3 ];
|
||||
|
||||
szSingle[ 1 ] = '\0';
|
||||
szDouble[ 2 ] = '\0';
|
||||
|
||||
ch = pszText[ 0 ];
|
||||
|
||||
if( ch == ',' ) /* lists */
|
||||
{
|
||||
pszWord[ wordlen++ ] = ch;
|
||||
npos++;
|
||||
}
|
||||
else /* literals */
|
||||
{
|
||||
if( ch == '"' || ch == '\'' )
|
||||
{
|
||||
temp = ch;
|
||||
pszWord[ wordlen++ ] = ch;
|
||||
npos++;
|
||||
ch = ' ';
|
||||
while( npos < maxlen && ch != temp )
|
||||
{
|
||||
ch = pszText[ npos ];
|
||||
pszWord[ wordlen++ ] = ch;
|
||||
npos++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
szSingle[ 0 ] = ch;
|
||||
if( ide_atbuff( szSingle, s_szGood, 0, 1, 1, s_lengood ) ) /* ch $ s_szGood ) // variables, commands, function names */
|
||||
{
|
||||
while( npos < maxlen && ide_atbuff( szSingle, s_szGood, 0, 1, 1, s_lengood ) )
|
||||
{
|
||||
pszWord[ wordlen++ ] = ch;
|
||||
npos++;
|
||||
ch = pszText[ npos ];
|
||||
szSingle[ 0 ] = ch;
|
||||
}
|
||||
}
|
||||
else if( ch == ' ' )
|
||||
{
|
||||
while( npos < maxlen && ch == ' ' )
|
||||
{
|
||||
pszWord[ wordlen++ ] = ch;
|
||||
npos++;
|
||||
ch = pszText[ npos ];
|
||||
}
|
||||
|
||||
if( ! bHonorSpacing )
|
||||
{
|
||||
pszWord[ 0 ] = ' '; /* reduce spaces to 1 */
|
||||
wordlen = 1;
|
||||
}
|
||||
}
|
||||
else /* operators, punctuation */
|
||||
{
|
||||
pszWord[ wordlen++ ]= ch;
|
||||
npos++;
|
||||
ch = pszText[ npos ];
|
||||
if( maxlen > npos )
|
||||
{
|
||||
szDouble[ 0 ] = pszWord[ 0 ];
|
||||
szDouble[ 1 ] = ch;
|
||||
if( ide_linearfind( s_szDoubleList, szDouble, s_lendouble, 2, HB_TRUE ) ) /* if( (pszWord + ch) $ s_szDoubleList) //aScan( s_szDoubleList, pszWord + ch ) > 0 */
|
||||
{
|
||||
pszWord[ wordlen++ ] = ch;
|
||||
npos++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pszWord[ wordlen ] = '\0';
|
||||
*pnpos = npos;
|
||||
|
||||
return wordlen;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
HB_FUNC( PARSEXPR ) /* ( c, bHonorSpacing, bInRemark, bUpperKeyWord, bKeepComments, bPRG, bKeepSpaces ) */
|
||||
{
|
||||
const char * pszExpr = hb_parcx( 1 );
|
||||
|
||||
PHB_ITEM paExpr = hb_itemArrayNew( 0 );
|
||||
PHB_ITEM pTemp = hb_itemNew( NULL );
|
||||
|
||||
HB_BOOL bHonorSpacing = hb_parl( 2 );
|
||||
HB_BOOL bInRemark = hb_parl( 3 );
|
||||
HB_BOOL bKeepComments = hb_parldef( 5, 1 );
|
||||
HB_BOOL bPRG = hb_parldef( 6, 1 );
|
||||
HB_BOOL bKeepSpaces = hb_parldef( 7, 1 );
|
||||
HB_BOOL bFirst = HB_TRUE;
|
||||
HB_ISIZ lenprocessed = 0;
|
||||
HB_ISIZ lenwords = 0;
|
||||
HB_ISIZ wordlen;
|
||||
HB_ISIZ npos;
|
||||
|
||||
char szNextWord[ 2048 ];
|
||||
|
||||
szNextWord[ 0 ] = '\0';
|
||||
|
||||
while( ( wordlen = ide_getword( pszExpr, bHonorSpacing, szNextWord, &lenprocessed ) ) != 0 )
|
||||
{
|
||||
pszExpr += lenprocessed;
|
||||
|
||||
if( strncmp( szNextWord, "*/", 3 ) == 0 ) /* remark end */
|
||||
{
|
||||
if( bKeepComments )
|
||||
{
|
||||
lenwords++;
|
||||
hb_arrayAdd( paExpr, hb_itemPutC( pTemp, szNextWord ) );
|
||||
}
|
||||
bInRemark = HB_FALSE;
|
||||
}
|
||||
else if( ( strncmp( szNextWord, "/*", 3 ) == 0 ) || bInRemark ) /* remark start */
|
||||
{
|
||||
bInRemark = ( ( npos = ide_atbuff( "*/", pszExpr, 0, 1, 2, strlen( pszExpr ) ) ) == 0 );
|
||||
|
||||
if( bInRemark )
|
||||
{
|
||||
if( bKeepComments )
|
||||
{
|
||||
hb_strncat( szNextWord, pszExpr, sizeof( szNextWord ) - 1 );
|
||||
lenwords++;
|
||||
hb_arrayAdd( paExpr, hb_itemPutC( pTemp, szNextWord ) );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( bKeepComments )
|
||||
{
|
||||
hb_strncpy( szNextWord + wordlen, pszExpr, sizeof( szNextWord ) - 1 - wordlen );
|
||||
lenwords++;
|
||||
hb_arrayAdd( paExpr, hb_itemPutC( pTemp, szNextWord ) );
|
||||
}
|
||||
pszExpr += npos + 1;
|
||||
}
|
||||
}
|
||||
else if( strncmp( szNextWord, "//", 3 ) == 0 || ( bPRG && strncmp( szNextWord, "&&", 3 ) == 0 ) ) /* inline remark */
|
||||
{
|
||||
if( bKeepComments )
|
||||
{
|
||||
hb_strncat( szNextWord, pszExpr, sizeof( szNextWord ) - 1 );
|
||||
lenwords++;
|
||||
hb_arrayAdd( paExpr, hb_itemPutC( pTemp, szNextWord ) );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if( strncmp( szNextWord, "**", 3 ) == 0 && bFirst && bPRG )
|
||||
{
|
||||
if( bKeepComments )
|
||||
{
|
||||
hb_strncat( szNextWord, pszExpr, sizeof( szNextWord ) - 1 );
|
||||
lenwords++;
|
||||
hb_arrayAdd( paExpr, hb_itemPutC( pTemp, szNextWord ) );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( bKeepSpaces || ! ide_strempty( szNextWord ) )
|
||||
{
|
||||
lenwords++;
|
||||
hb_arrayAdd( paExpr, hb_itemPutC( pTemp, szNextWord ) );
|
||||
}
|
||||
}
|
||||
|
||||
if( ! ide_strempty( szNextWord ) )
|
||||
bFirst = HB_FALSE;
|
||||
}
|
||||
|
||||
if( ! bKeepComments && !( lenwords > 0 ) && hb_arrayGetCPtr( paExpr, lenwords ) )
|
||||
hb_arraySize( paExpr, lenwords );
|
||||
|
||||
hb_storl( bInRemark, 3 );
|
||||
|
||||
hb_itemRelease( pTemp );
|
||||
hb_itemReturnRelease( paExpr );
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,230 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2012 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://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>
|
||||
* 31Aug2012
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqtgui.ch"
|
||||
#include "hbide.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeParts INHERIT IdeObject
|
||||
|
||||
DATA oIde
|
||||
DATA nCurStacksIndex INIT IDE_PART_EDITOR
|
||||
|
||||
DATA oLayoutDA
|
||||
DATA oLayoutEditor
|
||||
DATA oLayoutDbu
|
||||
DATA oLayoutReports
|
||||
|
||||
DATA oStackWidget
|
||||
|
||||
DATA oStackEditor
|
||||
DATA oStackDbu
|
||||
DATA oStackReports
|
||||
|
||||
DATA oSettings
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy() VIRTUAL
|
||||
|
||||
METHOD buildParts()
|
||||
METHOD buildLayout( nLayout )
|
||||
|
||||
METHOD setStack( nIndex ) INLINE ::oStackWidget:setCurrentIndex( nIndex )
|
||||
|
||||
METHOD execStackIndexChanged( nIndex )
|
||||
METHOD addWidget( nPart, oWidget, nFromRow, nFromColumn, nRowSpan, nColumnSpan )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeParts:new( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeParts:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeParts:buildLayout( nLayout )
|
||||
LOCAL oLayout
|
||||
|
||||
SWITCH nLayout
|
||||
CASE 0
|
||||
oLayout := QGridLayout()
|
||||
oLayout:setContentsMargins( 0,0,0,0 )
|
||||
oLayout:setHorizontalSpacing( 0 )
|
||||
oLayout:setVerticalSpacing( 0 )
|
||||
EXIT
|
||||
CASE 1 /* QHBoxLayout */
|
||||
EXIT
|
||||
CASE 2 /* QVBoxLayout */
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN oLayout
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeParts:buildParts()
|
||||
|
||||
::oLayoutDA := ::buildLayout( 0 )
|
||||
::oLayoutDbu := ::buildLayout( 0 )
|
||||
::oLayoutEditor := ::buildLayout( 0 )
|
||||
::oLayoutReports := ::buildLayout( 0 )
|
||||
|
||||
::oDa:setLayout( ::oLayoutDA )
|
||||
|
||||
::oStackWidget := QStackedWidget( ::oDa:oWidget )
|
||||
//
|
||||
::oStackEditor := QWidget( ::oStackWidget )
|
||||
::oStackDbu := QWidget( ::oStackWidget )
|
||||
::oStackReports := QWidget( ::oStackWidget )
|
||||
//
|
||||
::oStackWidget:addWidget( ::oStackEditor )
|
||||
::oStackWidget:addWidget( ::oStackDbu )
|
||||
::oStackWidget:addWidget( ::oStackReports )
|
||||
|
||||
::oStackEditor :setLayout( ::oLayoutEditor )
|
||||
::oStackDbu :setLayout( ::oLayoutDbu )
|
||||
::oStackReports:setLayout( ::oLayoutReports )
|
||||
|
||||
::oLayoutDA:addWidget( ::oStackWidget, 0, 0, 1, 1 )
|
||||
|
||||
::oStackWidget:setCurrentIndex( 0 )
|
||||
::oStackWidget:connect( "currentChanged(int)", {|i| ::execStackIndexChanged( i ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeParts:execStackIndexChanged( nIndex )
|
||||
|
||||
IF ! Empty( ::oSettings )
|
||||
::oDlg:oWidget:restoreState( ::oSettings )
|
||||
ENDIF
|
||||
::oSettings := ::oDlg:oWidget:saveState()
|
||||
|
||||
SWITCH nIndex
|
||||
|
||||
CASE IDE_PART_EDITOR
|
||||
::oIde:oSBar:show()
|
||||
EXIT
|
||||
|
||||
CASE IDE_PART_DBU
|
||||
::oIde:oSBar:hide()
|
||||
::oDK:hideAllDocks()
|
||||
EXIT
|
||||
|
||||
CASE IDE_PART_REPORTSDESIGNER
|
||||
::oIde:oSBar:hide()
|
||||
::oDK:hideAllDocks()
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
::nCurStacksIndex := nIndex
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeParts:addWidget( nPart, oWidget, nFromRow, nFromColumn, nRowSpan, nColumnSpan )
|
||||
|
||||
SWITCH nPart
|
||||
|
||||
CASE IDE_PART_EDITOR
|
||||
::oLayoutEditor:addWidget( oWidget, nFromRow, nFromColumn, nRowSpan, nColumnSpan )
|
||||
EXIT
|
||||
|
||||
CASE IDE_PART_DBU
|
||||
::oLayoutDbu:addWidget( oWidget, nFromRow, nFromColumn, nRowSpan, nColumnSpan )
|
||||
EXIT
|
||||
|
||||
CASE IDE_PART_REPORTSDESIGNER
|
||||
::oLayoutReports:addWidget( oWidget, nFromRow, nFromColumn, nRowSpan, nColumnSpan )
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -1,328 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2009-2010 Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* www - http://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>
|
||||
* 08May2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "inkey.ch"
|
||||
#include "hbide.ch"
|
||||
#include "hbhrb.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC s_aPlugins := { { "", NIL } }
|
||||
STATIC s_aLoaded := { { "", .f. } }
|
||||
STATIC s_aPersist := {}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_loadPlugins( oIde, cVer )
|
||||
LOCAL a_, cPlugin
|
||||
|
||||
FOR EACH a_ IN oIde:oINI:aTools
|
||||
IF a_[ 12 ] == "YES"
|
||||
hb_fNameSplit( a_[ 11 ], , @cPlugin )
|
||||
|
||||
RETURN hbide_loadAPlugin( cPlugin, oIde, cVer )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
RETURN .f.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_execPlugin( cPlugin, oIde, ... )
|
||||
LOCAL n, lLoaded
|
||||
|
||||
cPlugin := lower( cPlugin )
|
||||
|
||||
IF ( n := ascan( s_aLoaded, {|e_| e_[ 1 ] == cPlugin } ) ) == 0
|
||||
lLoaded := hbide_loadAPlugin( cPlugin, oIde, "1.0" )
|
||||
ELSE
|
||||
lLoaded := s_aLoaded[ n,2 ]
|
||||
ENDIF
|
||||
IF lLoaded
|
||||
IF ( n := ascan( s_aPlugins, {|e_| e_[ 1 ] == cPlugin } ) ) > 0
|
||||
RETURN eval( s_aPlugins[ n, 2 ], oIde, ... )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_loadAPlugin( cPlugin, oIde, cVer )
|
||||
LOCAL pHrb, bBlock, lLoaded, cFileName, cFile, cPath
|
||||
|
||||
IF !empty( cPath := oIde:oINI:getResourcesPath() )
|
||||
|
||||
cFileName := cPath + "hbide_plugin_" + cPlugin + ".hrb"
|
||||
IF hb_fileExists( cFileName )
|
||||
pHrb := hb_hrbLoad( HB_HRB_BIND_OVERLOAD, cFileName )
|
||||
ELSE
|
||||
cFileName := cPath + "hbide_plugin_" + cPlugin + ".prg"
|
||||
IF hb_fileExists( cFileName )
|
||||
cFile := hb_memoread( cFileName )
|
||||
cFile := hb_compileFromBuf( cFile, "-n2", "-w3", "-es2", "-q0" )
|
||||
IF ! Empty( cFile )
|
||||
pHrb := hb_hrbLoad( HB_HRB_BIND_OVERLOAD, cFile )
|
||||
ENDIF
|
||||
ELSE
|
||||
cFileName := cPath + "hbide_plugin_" + cPlugin + ".hb"
|
||||
IF hb_fileExists( cFileName )
|
||||
cFile := hb_memoread( cFileName )
|
||||
cFile := hb_compileFromBuf( cFile, "-n2", "-w3", "-es2", "-q0" )
|
||||
IF ! Empty( cFile )
|
||||
pHrb := hb_hrbLoad( HB_HRB_BIND_OVERLOAD, cFile )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF ( lLoaded := ! empty( pHrb ) )
|
||||
IF ! Empty( hb_hrbGetFunSym( pHrb, cPlugin + "_init" ) )
|
||||
bBlock := &( "{|...| " + cPlugin + "_init(...) }" )
|
||||
|
||||
IF eval( bBlock, oIde, cVer )
|
||||
IF ! Empty( hb_hrbGetFunSym( pHrb, cPlugin + "_exec" ) )
|
||||
aadd( s_aPlugins, { cPlugin, &( "{|...| " + cPlugin + "_exec(...) }" ), pHrb } )
|
||||
lLoaded := .t.
|
||||
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
aadd( s_aLoaded, { cPlugin, lLoaded } )
|
||||
|
||||
RETURN lLoaded
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_runAScript( cBuffer, cCompFlags, xParam )
|
||||
LOCAL cFile, pHrb, oErr
|
||||
LOCAL lError := .f.
|
||||
LOCAL bError := ErrorBlock( {|o| break( o ) } )
|
||||
|
||||
BEGIN SEQUENCE
|
||||
cFile := hb_compileFromBuf( cBuffer, cCompFlags )
|
||||
IF ! Empty( cFile )
|
||||
pHrb := hb_hrbLoad( HB_HRB_BIND_FORCELOCAL, cFile )
|
||||
ENDIF
|
||||
RECOVER USING oErr
|
||||
MsgBox( oErr:description )
|
||||
lError := .t.
|
||||
END SEQUENCE
|
||||
|
||||
IF ! lError .AND. !empty( pHrb )
|
||||
BEGIN SEQUENCE
|
||||
hb_hrbDo( pHrb, xParam )
|
||||
RECOVER USING oErr
|
||||
MsgBox( oErr:description, "Error running script" )
|
||||
END SEQUENCE
|
||||
ENDIF
|
||||
|
||||
ErrorBlock( bError )
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_execAutoScripts()
|
||||
LOCAL cPath, a_, dir_, cFileName, cBuffer
|
||||
|
||||
IF !empty( cPath := hbide_setIde():oINI:getResourcesPath() )
|
||||
a_:= {}
|
||||
dir_:= directory( cPath + "hbide_auto_*.prg" )
|
||||
aeval( dir_, {|e_| aadd( a_, e_[ 1 ] ) } )
|
||||
dir_:= directory( cPath + "hbide_auto_*.hb" )
|
||||
aeval( dir_, {|e_| aadd( a_, e_[ 1 ] ) } )
|
||||
|
||||
FOR EACH cFileName IN a_
|
||||
IF !empty( cBuffer := hb_memoRead( cPath + cFileName ) )
|
||||
hbide_runAScript( cBuffer, /* No Compiler Flag */, hbide_setIde() )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
RETURN NIL
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_getUserPrototypes()
|
||||
LOCAL aProto := {}
|
||||
LOCAL cPath, aDir, cMask, a_, b_
|
||||
|
||||
IF ! empty( cPath := hbide_setIde():oINI:getResourcesPath() )
|
||||
cMask := cPath + "hbide_protos_*"
|
||||
IF ! empty( aDir := directory( cMask ) )
|
||||
FOR EACH a_ IN aDir
|
||||
b_:= hbide_loadProtoTypes( cPath + a_[ 1 ] )
|
||||
aeval( b_, {|e| aadd( aProto, e ) } )
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN aProto
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_loadPrototypes( cPath )
|
||||
LOCAL a_, s, nLen, i
|
||||
LOCAL aProto := {}, b_:={}
|
||||
|
||||
IF hb_fileExists( cPath )
|
||||
a_:= hbide_readSource( cPath )
|
||||
|
||||
FOR EACH s IN a_
|
||||
s := alltrim( s )
|
||||
IF empty( s )
|
||||
LOOP
|
||||
ENDIF
|
||||
aadd( b_, s )
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
nLen := Len( b_ )
|
||||
FOR EACH s IN b_
|
||||
i := s:__enumIndex()
|
||||
IF right( s, 1 ) == ";"
|
||||
s := substr( s, 1, Len( s ) - 1 )
|
||||
IF i < nLen
|
||||
b_[ i + 1 ] := s + " " + b_[ i + 1 ]
|
||||
s := ""
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
FOR EACH s IN b_
|
||||
IF empty( s )
|
||||
LOOP
|
||||
ENDIF
|
||||
aadd( aProto, s )
|
||||
NEXT
|
||||
|
||||
RETURN aProto
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
/* Silent Mode */
|
||||
|
||||
FUNCTION hbide_compileAScript( cBuffer, cCompFlags )
|
||||
LOCAL cFile, pHrb
|
||||
LOCAL bError := ErrorBlock( {|o| break( o ) } )
|
||||
|
||||
BEGIN SEQUENCE
|
||||
cFile := hb_compileFromBuf( cBuffer, cCompFlags )
|
||||
IF ! Empty( cFile )
|
||||
pHrb := hb_hrbLoad( HB_HRB_BIND_OVERLOAD, cFile )
|
||||
ENDIF
|
||||
END SEQUENCE
|
||||
|
||||
ErrorBlock( bError )
|
||||
RETURN pHrb
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_loadPersistentScripts()
|
||||
LOCAL cPath, a_, dir_, cFileName, cBuffer, pHrb
|
||||
|
||||
IF !empty( cPath := hbide_setIde():oINI:getResourcesPath() )
|
||||
a_:= {}
|
||||
dir_:= directory( cPath + "hbide_persist_*.prg" )
|
||||
aeval( dir_, {|e_| aadd( a_, e_[ 1 ] ) } )
|
||||
dir_:= directory( cPath + "hbide_persist_*.hb" )
|
||||
aeval( dir_, {|e_| aadd( a_, e_[ 1 ] ) } )
|
||||
|
||||
FOR EACH cFileName IN a_
|
||||
IF !empty( cBuffer := hb_memoRead( cPath + cFileName ) )
|
||||
IF !empty( pHrb := hbide_compileAScript( cBuffer ) )
|
||||
aadd( s_aPersist, pHrb )
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_execScriptFunction( cFunc, ... )
|
||||
|
||||
IF hb_IsFunction( "script_" + cFunc )
|
||||
RETURN eval( &( "{|...| " + "script_" + cFunc + "( ... )" + "}" ), ... )
|
||||
ENDIF
|
||||
|
||||
RETURN .F.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_destroyPlugins()
|
||||
|
||||
s_aPlugins := NIL
|
||||
s_aLoaded := NIL
|
||||
s_aPersist := NIL
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,94 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* hbide plugin.
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* www - http://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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION savebackup_init( oIde, cVer )
|
||||
|
||||
HB_SYMBOL_UNUSED( oIde )
|
||||
HB_SYMBOL_UNUSED( cVer )
|
||||
|
||||
IF cVer != "1.0"
|
||||
RETURN .f.
|
||||
ENDIF
|
||||
|
||||
RETURN .t.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION savebackup_exec( oIde, ... )
|
||||
LOCAL c
|
||||
|
||||
FOR EACH c IN { ... }
|
||||
IF lower( c ) == "saveas"
|
||||
savebackup_saveAs( oIde )
|
||||
ENDIF
|
||||
|
||||
NEXT
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION savebackup_saveAs( oIde )
|
||||
LOCAL cFile, oEdit
|
||||
|
||||
oEdit := oIde:oEM:getEditorCurrent()
|
||||
cFile := oEdit:sourceFile + "_bkp_" + strtran( dtoc( date() ), "/", "-" ) + "_" + strtran( time(), ":", "_" )
|
||||
cFile := hbide_pathToOSPath( cFile )
|
||||
|
||||
hb_memowrit( cFile, oIde:oEM:getEditObjectCurrent():qEdit:toPlainText() )
|
||||
|
||||
MsgBox( cFile, "Backup Saved" )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,115 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* hbide plugin.
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* www - http://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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION Main( oIde )
|
||||
LOCAL nRet, cText, lOtherLib, cOpt
|
||||
LOCAL qDlg, qLbl, qCheck, qEdit, qCombo, qBtnOk, qBtnCn
|
||||
LOCAL pEvents := HBQT_EVENTS_NEW()
|
||||
LOCAL pSlots := HBQT_SLOTS_NEW()
|
||||
|
||||
IF ! hb_isObject( oIde )
|
||||
oIde := hbide_setIde()
|
||||
ENDIF
|
||||
|
||||
qDlg := QDialog( oIde:oDlg:oWidget )
|
||||
qdlg:resize( 300, 350 )
|
||||
|
||||
qLbl := QLabel( qDlg )
|
||||
qLbl:setText( "Harbour-Qt Gui Dialog as Script" )
|
||||
qLbl:move( 20,20 )
|
||||
|
||||
qCombo := QComboBox( qDlg )
|
||||
qCombo:move( 100, 100 )
|
||||
qCombo:resize( 130, 30 )
|
||||
qCombo:addItem( "Sky" )
|
||||
qCombo:addItem( "Is" )
|
||||
qCombo:addItem( "The Limit" )
|
||||
qCombo:setCurrentIndex( 0 )
|
||||
|
||||
qCheck := QCheckBox( qDlg )
|
||||
qCheck:move( 100, 150 )
|
||||
qCheck:setText( "Harbour is Preferred ?" )
|
||||
qCheck:setChecked( .t. )
|
||||
|
||||
qEdit := QLineEdit( qDlg )
|
||||
qEdit:move( 100, 180 )
|
||||
qEdit:resize( 130, 30 )
|
||||
qEdit:setText( "Harbour Root Path" )
|
||||
|
||||
qBtnOk := QPushButton( qDlg )
|
||||
qBtnOk:move( 50, 300 )
|
||||
qBtnOk:setText( "OK" )
|
||||
|
||||
qBtnCn := QPushButton( qDlg )
|
||||
qBtnCn:move( 170, 300 )
|
||||
qBtnCn:setText( "Cancel" )
|
||||
|
||||
QT_EVENTS_CONNECT( pEvents, qDlg, 10, {|| qDlg:done( 0 ) } )
|
||||
|
||||
HBQT_SLOTS_CONNECT( pSlots, qBtnOk, "clicked()", {|| qDlg:done( 1 ) } )
|
||||
HBQT_SLOTS_CONNECT( pSlots, qBtnCn, "clicked()", {|| qDlg:done( 2 ) } )
|
||||
|
||||
nRet := qDlg:exec()
|
||||
|
||||
IF nRet == 1 /* OK */
|
||||
cText := qEdit:text()
|
||||
lOtherLib := qCheck:isChecked()
|
||||
cOpt := { "Sky", "Is", "The Limit" }[ qCombo:currentIndex() + 1 ] /* Zero based */
|
||||
|
||||
msgBox( cText, cOpt )
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1,92 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* hbide plugin.
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* www - http://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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------//
|
||||
|
||||
Script TO handle rdd call from hbide
|
||||
To be linked with hbIDE, change the name of this file to
|
||||
hbide_persist_rdds.prg and place inside "resources" folder.
|
||||
hbIDE will call these functions at appropriate times
|
||||
when initializing the RDD structures.
|
||||
|
||||
Please note that RDDs supposed to be operated as such
|
||||
must be linked properly with hbIDE build process.
|
||||
You will need to expand these functions.
|
||||
|
||||
//----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION script_rdds()
|
||||
RETURN {}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION script_tableExists( cTable )
|
||||
|
||||
RETURN .f.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION script_tableUse( cTable, cAlias )
|
||||
|
||||
RETURN .f.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION script_tableSelect( cDriver )
|
||||
LOCAL cTable := ""
|
||||
|
||||
RETURN cTable
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -1,467 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FormProjectPropEx</class>
|
||||
<widget class="QWidget" name="FormProjectPropEx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>324</width>
|
||||
<height>434</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tabGeneral">
|
||||
<attribute name="title">
|
||||
<string>General</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Project Type:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboPrjType">
|
||||
<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;">A project may be of type Executable|Library|Dll.</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Project Title:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="editPrjTitle">
|
||||
<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;">Title will be shown as a node in project tree.</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Project Location:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="editPrjLoctn">
|
||||
<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;">Project location is the folder where project definition file .hbi will be stored. &lt;Project Location&gt; plus &lt;Output Name&gt; will comprise the full file name with .hbp extension.</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Destination Folder:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QLineEdit" name="editDstFolder">
|
||||
<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;">Destination folder is a compatibility slot and is reserved to place the &lt;Output&gt; .exe .a .lib. </p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">But currently this functionality will be achieved through the -o compiler flag.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Launch Parameters:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="editLaunchParams"/>
|
||||
</item>
|
||||
<item row="13" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Launch Program:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="editLaunchExe"/>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>Backup Location:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<widget class="QLineEdit" name="editBackup"/>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="editOutName">
|
||||
<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;">Output name is used as final name for .hbi .hbp .exe .lib .a and will be added to the paths retrieved via &lt;Project Location&gt;, &lt;Working Folder&gt;, &lt;Destination Folder&gt;, etc. So this is a very important component.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Output Name:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QToolButton" name="buttonChoosePrjLoc">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="2">
|
||||
<widget class="QToolButton" name="buttonBackup">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<widget class="QToolButton" name="buttonChooseDest">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" 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="14" 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="14" 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="14" column="2">
|
||||
<widget class="QToolButton" name="buttonChooseWd">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" 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="4" column="1">
|
||||
<widget class="QCheckBox" name="checkXhb">
|
||||
<property name="text">
|
||||
<string>Xharbour</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QCheckBox" name="checkXpp">
|
||||
<property name="text">
|
||||
<string>Xbase++</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QCheckBox" name="checkClp">
|
||||
<property name="text">
|
||||
<string>Clipper</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabFiles">
|
||||
<attribute name="title">
|
||||
<string>HBP</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="1" column="1" colspan="11">
|
||||
<widget class="QPlainTextEdit" name="editSources">
|
||||
<property name="toolTip">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<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 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;">You can include hereunder any type of file which can be edited via plain text editor. One file per line. You can use meta-keys to define your source paths to make your projects location independant. </span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">NOTE:</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;"><span style=" font-size:8pt;">Only .prg .c .cpp .rc .res files will be supplied to the hbmk2. All other files will be made visible for editing in &lt;Project Tree&gt;.</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QToolButton" name="buttonSelect">
|
||||
<property name="toolTip">
|
||||
<string>Select Sources</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QToolButton" name="buttonSort">
|
||||
<property name="toolTip">
|
||||
<string>Sort by Ascending Order</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QToolButton" name="buttonSortZA">
|
||||
<property name="toolTip">
|
||||
<string>Sort by Descending Order</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QToolButton" name="buttonSortOrg">
|
||||
<property name="toolTip">
|
||||
<string>Organize by Type and Sort Ascending</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QToolButton" name="buttonUp">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QToolButton" name="buttonDown">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabFlags">
|
||||
<attribute name="title">
|
||||
<string>Flags</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QPlainTextEdit" name="editFlags">
|
||||
<property name="toolTip">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<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 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;">Meta-keys are a special way of keeping generic information which is of repeated and/or of dynamic nature. HBIDE implements meta key/value pair more comprehensively. It allows you to write an expression for the value part which get evaluated at the time project is loaded. The only point to take into consideration is that value returned by such expression must be of type character.</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">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.</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabHbp">
|
||||
<attribute name="title">
|
||||
<string>Sources</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<widget class="QPlainTextEdit" name="editHbp">
|
||||
<property name="toolTip">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<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 style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Here you can view in real-time the resultant &lt;hbp&gt; output which will be supplied to hbmk2. This view may give you insight about your source layout and many other facts.</span></p>
|
||||
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600; text-decoration: underline;">Enjoy</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="lineWrapMode">
|
||||
<enum>QPlainTextEdit::NoWrap</enum>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonSaveExit">
|
||||
<property name="text">
|
||||
<string>Save and Close</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>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
Before Width: | Height: | Size: 489 B |
|
Before Width: | Height: | Size: 912 B |
|
Before Width: | Height: | Size: 142 B |
|
Before Width: | Height: | Size: 773 B |
|
Before Width: | Height: | Size: 727 B |
|
Before Width: | Height: | Size: 670 B |
|
Before Width: | Height: | Size: 675 B |
|
Before Width: | Height: | Size: 525 B |
|
Before Width: | Height: | Size: 463 B |
|
Before Width: | Height: | Size: 488 B |
|
Before Width: | Height: | Size: 628 B |
|
Before Width: | Height: | Size: 620 B |
|
Before Width: | Height: | Size: 739 B |
|
Before Width: | Height: | Size: 742 B |
|
Before Width: | Height: | Size: 463 B |
|
Before Width: | Height: | Size: 544 B |
|
Before Width: | Height: | Size: 743 B |
|
Before Width: | Height: | Size: 727 B |
|
Before Width: | Height: | Size: 755 B |
|
Before Width: | Height: | Size: 719 B |
|
Before Width: | Height: | Size: 768 B |
|
Before Width: | Height: | Size: 589 B |
|
Before Width: | Height: | Size: 752 B |
|
Before Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 194 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 184 B |
|
Before Width: | Height: | Size: 818 B |
|
Before Width: | Height: | Size: 112 B |
|
Before Width: | Height: | Size: 919 B |
|
Before Width: | Height: | Size: 155 B |
|
Before Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 137 B |
|
Before Width: | Height: | Size: 507 B |
|
Before Width: | Height: | Size: 501 B |
|
Before Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 394 B |
|
Before Width: | Height: | Size: 646 B |
|
Before Width: | Height: | Size: 413 B |
|
Before Width: | Height: | Size: 398 B |
|
Before Width: | Height: | Size: 375 B |
|
Before Width: | Height: | Size: 126 B |
|
Before Width: | Height: | Size: 245 B |
|
Before Width: | Height: | Size: 898 B |
|
Before Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 1.2 KiB |