2010-06-13 19:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/resources/curlinehilight.png
+ contrib/hbide/resources/horzruler.png
* contrib/hbide/resources/togglelinenumber.png
* contrib/hbide/resources/toolsutilities.ui
* contrib/hbide/resources/toolsutilities.uic
* contrib/hbide/resources/setup.ui
* contrib/hbide/resources/setup.uic
* contrib/hbqt/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qth/QTableWidget.qth
- contrib/hbqt/qth/HBQSyntaxHighLighter.qth
+ contrib/hbqt/qth/HBQSyntaxHighlighter.qth
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
* contrib/hbqt/doc/en/class_hbqsyntaxhighlighter.txt
* contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
* contrib/hbqt/qtgui/QTableWidget.cpp
* contrib/hbqt/qtgui/THBQPlainTextEdit.prg
* contrib/hbqt/qtgui/HBQSyntaxHighlighter.cpp
* contrib/hbqt/qtgui/THBQSyntaxHighlighter.prg
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.h
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
+ contrib/hbide/idedict.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/idestylesheets.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/idetools.prg
% Widened padding for menubar prompts to show up at a proper distance.
+ Controlled "RETURN" keyword not to jump to first indentation place,
with env variable - HBIDE_RETURN_ATBEGINING=yes. Scheduled to be
included in "Setup" interface.
+ Allowed hbIDE execution with any text type file. It was accepting .PRG.CPP only.
+ Broadened the scope of keyword coloring for any case, mixed or absolute.
It was all lower or all upper previously.
+ Prepared ground for user defined keywords through user dictionaries.
+ Added new flags in "Setup" dialog ( yet not active ).
Please have a look into the contents of different pages and
let me know what else can qualify to be included therein.
+ More macro for Tools parameter - ${source_fullname_less_ext}
% Tools & Utilities dialog made modeless. At times it is desirable
to execute a tool multiple times and also to gather output logs.
+ Tools & Utilities dialog now remembers its last opened position.
+ Implemented: user-configurable 5 toolbars which can be populated
through Tool & Utilities interface. Invoke "Tools & Utilities"
interface and play with the toolbars. You will find it really
rewarding. I am also trying to find a way to hook
"Kayboard Mappings" macros to be included under this interface.
Your input is welcome. I will write the help in about a week,
but interface is straight enough to grab/grasp/use.
+ Implemented: to switch on/off horizontal ruler.
+ Implemented: to remember the last settings for next run for
Horizontal Ruler, Line Numbers display and Current Line highlighting.
This commit is contained in:
@@ -16,6 +16,87 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2010-06-13 19:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbide/resources/curlinehilight.png
|
||||
+ contrib/hbide/resources/horzruler.png
|
||||
* contrib/hbide/resources/togglelinenumber.png
|
||||
* contrib/hbide/resources/toolsutilities.ui
|
||||
* contrib/hbide/resources/toolsutilities.uic
|
||||
* contrib/hbide/resources/setup.ui
|
||||
* contrib/hbide/resources/setup.uic
|
||||
|
||||
* contrib/hbqt/qth/HBQPlainTextEdit.qth
|
||||
* contrib/hbqt/qth/QTableWidget.qth
|
||||
- contrib/hbqt/qth/HBQSyntaxHighLighter.qth
|
||||
+ contrib/hbqt/qth/HBQSyntaxHighlighter.qth
|
||||
|
||||
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
|
||||
* contrib/hbqt/doc/en/class_hbqsyntaxhighlighter.txt
|
||||
* contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
|
||||
* contrib/hbqt/qtgui/QTableWidget.cpp
|
||||
* contrib/hbqt/qtgui/THBQPlainTextEdit.prg
|
||||
* contrib/hbqt/qtgui/HBQSyntaxHighlighter.cpp
|
||||
* contrib/hbqt/qtgui/THBQSyntaxHighlighter.prg
|
||||
|
||||
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
|
||||
* contrib/hbqt/hbqt_hbqplaintextedit.h
|
||||
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
|
||||
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
|
||||
|
||||
* contrib/hbide/hbide.hbp
|
||||
|
||||
* contrib/hbide/hbide.ch
|
||||
|
||||
* contrib/hbide/hbide.prg
|
||||
+ contrib/hbide/idedict.prg
|
||||
* contrib/hbide/idedocks.prg
|
||||
* contrib/hbide/ideedit.prg
|
||||
* contrib/hbide/ideeditor.prg
|
||||
* contrib/hbide/idemisc.prg
|
||||
* contrib/hbide/ideobject.prg
|
||||
* contrib/hbide/idesaveload.prg
|
||||
* contrib/hbide/ideshortcuts.prg
|
||||
* contrib/hbide/idestylesheets.prg
|
||||
* contrib/hbide/idethemes.prg
|
||||
* contrib/hbide/idetools.prg
|
||||
|
||||
% Widened padding for menubar prompts to show up at a proper distance.
|
||||
|
||||
+ Controlled "RETURN" keyword not to jump to first indentation place,
|
||||
with env variable - HBIDE_RETURN_ATBEGINING=yes. Scheduled to be
|
||||
included in "Setup" interface.
|
||||
|
||||
+ Allowed hbIDE execution with any text type file. It was accepting .PRG.CPP only.
|
||||
|
||||
+ Broadened the scope of keyword coloring for any case, mixed or absolute.
|
||||
It was all lower or all upper previously.
|
||||
|
||||
+ Prepared ground for user defined keywords through user dictionaries.
|
||||
|
||||
+ Added new flags in "Setup" dialog ( yet not active ).
|
||||
Please have a look into the contents of different pages and
|
||||
let me know what else can qualify to be included therein.
|
||||
|
||||
+ More macro for Tools parameter - ${source_fullname_less_ext}
|
||||
|
||||
% Tools & Utilities dialog made modeless. At times it is desirable
|
||||
to execute a tool multiple times and also to gather output logs.
|
||||
|
||||
+ Tools & Utilities dialog now remembers its last opened position.
|
||||
|
||||
+ Implemented: user-configurable 5 toolbars which can be populated
|
||||
through Tool & Utilities interface. Invoke "Tools & Utilities"
|
||||
interface and play with the toolbars. You will find it really
|
||||
rewarding. I am also trying to find a way to hook
|
||||
"Kayboard Mappings" macros to be included under this interface.
|
||||
Your input is welcome. I will write the help in about a week,
|
||||
but interface is straight enough to grab/grasp/use.
|
||||
|
||||
+ Implemented: to switch on/off horizontal ruler.
|
||||
|
||||
+ Implemented: to remember the last settings for next run for
|
||||
Horizontal Ruler, Line Numbers display and Current Line highlighting.
|
||||
|
||||
2010-06-12 20:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* mpkg_nightly.sh
|
||||
! Deleted leftovers from test session.
|
||||
|
||||
@@ -80,8 +80,9 @@
|
||||
#define INI_TAGGEDPROJECTS 10
|
||||
#define INI_GENERAL 11
|
||||
#define INI_TOOLS 12
|
||||
#define INI_USERTOOLBARS 13
|
||||
|
||||
#define INI_SECTIONS_COUNT 12
|
||||
#define INI_SECTIONS_COUNT 13
|
||||
|
||||
|
||||
/* INI_HBIDE */
|
||||
@@ -109,8 +110,13 @@
|
||||
#define CurrentHarbour 22
|
||||
#define CurrentShortcuts 23
|
||||
#define TextFileExtensions 24
|
||||
#define CurrentLineHighlightMode 25
|
||||
#define LineNumbersDisplayMode 26
|
||||
#define HorzRulerDisplayMode 27
|
||||
#define ToolsDialogGeometry 28
|
||||
|
||||
#define INI_HBIDE_VRBLS 24
|
||||
|
||||
#define INI_HBIDE_VRBLS 28
|
||||
|
||||
/* .hbi structure constants */
|
||||
#define PRJ_PRP_PROPERTIES 1
|
||||
|
||||
@@ -37,5 +37,6 @@ idetools.prg
|
||||
ideshortcuts.prg
|
||||
ideedit.prg
|
||||
ideplugins.prg
|
||||
idedict.prg
|
||||
|
||||
|
||||
|
||||
@@ -244,6 +244,7 @@ CLASS HbIde
|
||||
DATA lTabCloseRequested INIT .f.
|
||||
DATA isColumnSelectionEnabled INIT .f.
|
||||
DATA lLineNumbersVisible INIT .t.
|
||||
DATA lHorzRulerVisible INIT .t.
|
||||
DATA lCurrentLineHighlightEnabled INIT .t.
|
||||
|
||||
DATA cWrkFolderLast INIT ""
|
||||
@@ -284,6 +285,7 @@ CLASS HbIde
|
||||
DATA aLines INIT {}
|
||||
DATA aComments INIT {}
|
||||
DATA aProjects INIT {}
|
||||
DATA aUserDict INIT {}
|
||||
|
||||
DATA aMarkTBtns INIT array( 6 )
|
||||
DATA lClosing INIT .f.
|
||||
@@ -388,6 +390,9 @@ METHOD HbIde:create( aParams )
|
||||
hbide_loadINI( Self, ::cProjIni )
|
||||
ENDIF
|
||||
|
||||
/* Load User Dictionaries */
|
||||
hbide_loadUserDictionaries( Self )
|
||||
|
||||
/* Shortcuts */
|
||||
::oSC := IdeShortcuts():new( Self ):create()
|
||||
|
||||
@@ -397,14 +402,17 @@ METHOD HbIde:create( aParams )
|
||||
aeval( ::aSrcOnCmdLine, {|e| aadd( ::aINI[ INI_FILES ], hbide_parseSourceComponents( e ) ) } )
|
||||
|
||||
/* Set variables from last session */
|
||||
::cWrkTheme := ::aINI[ INI_HBIDE, CurrentTheme ]
|
||||
::cWrkCodec := ::aINI[ INI_HBIDE, CurrentCodec ]
|
||||
::cWrkEnvironment := ::aINI[ INI_HBIDE, CurrentEnvironment ]
|
||||
::cWrkFind := ::aINI[ INI_HBIDE, CurrentFind ]
|
||||
::cWrkFolderFind := ::aINI[ INI_HBIDE, CurrentFolderFind ]
|
||||
::cWrkReplace := ::aINI[ INI_HBIDE, CurrentReplace ]
|
||||
::cWrkView := ::aINI[ INI_HBIDE, CurrentView ]
|
||||
::cWrkHarbour := ::aINI[ INI_HBIDE, CurrentHarbour ]
|
||||
::cWrkTheme := ::aINI[ INI_HBIDE, CurrentTheme ]
|
||||
::cWrkCodec := ::aINI[ INI_HBIDE, CurrentCodec ]
|
||||
::cWrkEnvironment := ::aINI[ INI_HBIDE, CurrentEnvironment ]
|
||||
::cWrkFind := ::aINI[ INI_HBIDE, CurrentFind ]
|
||||
::cWrkFolderFind := ::aINI[ INI_HBIDE, CurrentFolderFind ]
|
||||
::cWrkReplace := ::aINI[ INI_HBIDE, CurrentReplace ]
|
||||
::cWrkView := ::aINI[ INI_HBIDE, CurrentView ]
|
||||
::cWrkHarbour := ::aINI[ INI_HBIDE, CurrentHarbour ]
|
||||
::lCurrentLineHighlightEnabled := iif( ::aINI[ INI_HBIDE, CurrentLineHighlightMode ] == "NO", .f., .t. )
|
||||
::lLineNumbersVisible := iif( ::aINI[ INI_HBIDE, LineNumbersDisplayMode ] == "NO", .f., .t. )
|
||||
::lHorzRulerVisible := iif( ::aINI[ INI_HBIDE, HorzRulerDisplayMode ] == "NO", .f., .t. )
|
||||
|
||||
/* Store to restore when all preliminary operations are completed */
|
||||
cView := ::cWrkView
|
||||
@@ -608,6 +616,8 @@ METHOD HbIde:parseParams()
|
||||
aadd( ::aHbpOnCmdLine, s )
|
||||
CASE cExt $ ".prg.cpp"
|
||||
aadd( ::aSrcOnCmdLine, s )
|
||||
CASE hbide_isValidText( s )
|
||||
aadd( ::aSrcOnCmdLine, s )
|
||||
ENDCASE
|
||||
ENDCASE
|
||||
NEXT
|
||||
|
||||
209
harbour/contrib/hbide/idedict.prg
Normal file
209
harbour/contrib/hbide/idedict.prg
Normal file
@@ -0,0 +1,209 @@
|
||||
/*
|
||||
* $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 "hbqt.ch"
|
||||
#include "hbide.ch"
|
||||
#include "xbp.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define DIC_FILENAME 1
|
||||
#define DIC_CASESENSTITIVE 2
|
||||
#define DIC_CONVMODE 3
|
||||
#define DIC_AUTOCOMPLETE 4
|
||||
#define DIC_BGCOLOR 5
|
||||
|
||||
#define DIC_NUM_VRBLS 5
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_loadUserDictionaries( oIde )
|
||||
// File , CaseSensitive , ConvMode=asis, upper, lower , include in autocomplete, bgColor
|
||||
#if 0
|
||||
LOCAL aDict := { "C:\harbour\contrib\hbide\hbide.dic;NO;ASIS;YES;{122,133,233}" }
|
||||
#else
|
||||
LOCAL aDict := {}
|
||||
#endif
|
||||
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 lCaseSensitive INIT .f.
|
||||
DATA cConvMode INIT "ASIS"
|
||||
DATA lAutoComplete INIT .t.
|
||||
DATA cBgColor INIT "NONE"
|
||||
DATA qBgColor
|
||||
DATA aItems INIT {}
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD load( cDict )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:new( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:create( oIde )
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:destroy()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDictionary:load( cDict )
|
||||
LOCAL a_:= hb_aTokens( cDict, ";" )
|
||||
LOCAL s, b_, n, n1, cKeyword, cSyntax, cDesc, q_
|
||||
|
||||
IF !empty( a_ ) .AND. hb_isArray( a_ )
|
||||
asize( a_, DIC_NUM_VRBLS )
|
||||
|
||||
DEFAULT a_[ DIC_FILENAME ] TO ""
|
||||
DEFAULT a_[ DIC_CASESENSTITIVE ] TO "NO"
|
||||
DEFAULT a_[ DIC_CONVMODE ] TO "ASIS"
|
||||
DEFAULT a_[ DIC_AUTOCOMPLETE ] TO "YES"
|
||||
DEFAULT a_[ DIC_BGCOLOR ] TO "NONE"
|
||||
|
||||
::cDictInfo := cDict
|
||||
::cFilename := a_[ 1 ]
|
||||
::lCaseSensitive := a_[ 2 ] == "YES"
|
||||
::cConvMode := a_[ 3 ]
|
||||
::lAutoComplete := iif( a_[ 4 ] == "NO", .f., .t. )
|
||||
::cBgColor := a_[ 5 ]
|
||||
|
||||
IF ::cBgColor != "NONE"
|
||||
q_:= hbide_evalAsIs( ::cBgColor )
|
||||
IF hb_isArray( q_ ) .AND. len( q_ ) == 3
|
||||
::qBgColor := QColor():new( q_[ 1 ], q_[ 2 ], q_[ 3 ] )
|
||||
ENDIF
|
||||
HB_TRACE( HB_TR_ALWAYS, ::cBgColor, valtype( q_ ) )
|
||||
ENDIF
|
||||
|
||||
IF !empty( a_[ DIC_FILENAME ] ) .AND. hb_fileExists( a_[ DIC_FILENAME ] )
|
||||
b_:= hbide_readSource( a_[ DIC_FILENAME ] )
|
||||
|
||||
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 )
|
||||
aadd( ::aItems, { cKeyword, cSyntax, cDesc } )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -660,8 +660,13 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
aadd( aBtns, { "deleteline" , "Delete Current Line" , {|| ::oEM:deleteLine() } } )
|
||||
aadd( aBtns, { "duplicateline" , "Duplicate Current Line" , {|| ::oEM:duplicateLine() } } )
|
||||
aadd( aBtns, {} )
|
||||
#if 0
|
||||
aadd( aBtns, { "togglelinenumber", "Toggle Line Numbers" , {|| ::oEM:toggleLineNumbers() } } )
|
||||
aadd( aBtns, { "curlinehilight" , "Toggle Current Line Hilight", {|| ::oEM:toggleCurrentLineHighlightMode() } } )
|
||||
#endif
|
||||
aadd( aBtns, { "togglelinenumber", "Toggle Line Numbers" , {|| ::oEM:toggleLineNumbers() } } )
|
||||
aadd( aBtns, { "horzruler" , "Toggle Horizontal Ruler" , {|| ::oEM:toggleHorzRuler() } } )
|
||||
aadd( aBtns, { "curlinehilight" , "Toggle Current Line Hilight", {|| ::oEM:toggleCurrentLineHighlightMode() } } )
|
||||
FOR EACH a_ IN aBtns
|
||||
IF empty( a_ )
|
||||
::qTBarLines:addSeparator()
|
||||
@@ -671,8 +676,8 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
qTBtn:setIcon( hbide_image( a_[ 1 ] ) )
|
||||
qTBtn:setMaximumWidth( 20 )
|
||||
qTBtn:setMaximumHeight( 20 )
|
||||
IF a_[ 1 ] == "togglelinenumber"
|
||||
qTBtn:setCheckable( .t. )
|
||||
IF a_[ 1 ] $ "togglelinenumber,curlinehilight,horzruler"
|
||||
//qTBtn:setCheckable( .t. )
|
||||
ENDIF
|
||||
::connect( qTBtn, "clicked()", a_[ 3 ] )
|
||||
::qTBarLines:addWidget( qTBtn )
|
||||
@@ -700,7 +705,7 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
ELSE
|
||||
qTBtn := QToolButton():new()
|
||||
qTBtn:setTooltip( a_[ 2 ] )
|
||||
qTBtn:setIcon( ::resPath + a_[ 1 ] + ".png" )
|
||||
qTBtn:setIcon( hbide_image( a_[ 1 ] ) )
|
||||
qTBtn:setMaximumWidth( 20 )
|
||||
qTBtn:setMaximumHeight( 20 )
|
||||
::connect( qTBtn, "clicked()", a_[ 3 ] )
|
||||
@@ -717,7 +722,7 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
::qTBarDocks:setWindowTitle( "ToolBar: Dockable Widgets" )
|
||||
::qTBarDocks:setIconSize( QSize():new( 16,16 ) )
|
||||
::qTBarDocks:setToolButtonStyle( Qt_ToolButtonIconOnly )
|
||||
::qTBarPanels:setAllowedAreas( Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea )
|
||||
::qTBarDocks:setAllowedAreas( Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea )
|
||||
|
||||
aBtns := {}
|
||||
aadd( aBtns, { ::oDockPT , "projtree" } )
|
||||
@@ -750,6 +755,9 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
|
||||
::oDlg:oWidget:addToolBar( Qt_RightToolBarArea, ::qTBarDocks )
|
||||
|
||||
/* User defined toolbars via Tools & Utilities */
|
||||
::oTM:buildUserToolbars()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -173,6 +173,7 @@ CLASS IdeEdit INHERIT IdeObject
|
||||
METHOD goto( nLine )
|
||||
METHOD gotoFunction()
|
||||
METHOD toggleLineNumbers()
|
||||
METHOD toggleHorzRuler()
|
||||
|
||||
METHOD toggleSelectionMode()
|
||||
METHOD toggleStreamSelectionMode()
|
||||
@@ -268,12 +269,13 @@ METHOD IdeEdit:create( oEditor, nMode )
|
||||
|
||||
::setFont()
|
||||
|
||||
::qEdit:hbHighlightCurrentLine( .t. ) /* Via user-setup */
|
||||
::qEdit:hbSetSpaces( ::nTabSpaces )
|
||||
|
||||
::qEdit:hbSetCompleter( ::qCompleter )
|
||||
|
||||
::toggleCurrentLineHighlightMode()
|
||||
::toggleLineNumbers()
|
||||
::toggleHorzRuler()
|
||||
|
||||
FOR EACH nBlock IN ::aBookMarks
|
||||
::qEdit:hbBookMarks( nBlock )
|
||||
@@ -471,8 +473,9 @@ METHOD IdeEdit:execEvent( nMode, oEdit, p, p1 )
|
||||
::relayMarkButtons()
|
||||
::updateTitleBar()
|
||||
|
||||
::toggleLineNumbers()
|
||||
::toggleCurrentLineHighlightMode()
|
||||
::toggleLineNumbers()
|
||||
::toggleHorzRuler()
|
||||
::dispStatusInfo()
|
||||
|
||||
::oDK:setStatusText( SB_PNL_SELECTEDCHARS, len( ::getSelectedText() ) )
|
||||
@@ -1295,10 +1298,22 @@ METHOD IdeEdit:presentSkeletons()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:toggleCurrentLineHighlightMode()
|
||||
::qEdit:hbHighlightCurrentLine( ::lCurrentLineHighlightEnabled )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:toggleLineNumbers()
|
||||
::qEdit:hbNumberBlockVisible( ::lLineNumbersVisible )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:toggleHorzRuler()
|
||||
::qEdit:hbHorzRulerVisible( ::lHorzRulerVisible )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* Fired by icon */
|
||||
|
||||
@@ -1338,12 +1353,6 @@ METHOD IdeEdit:togglePersistentSelection()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:toggleCurrentLineHighlightMode()
|
||||
::qEdit:hbHighlightCurrentLine( ::lCurrentLineHighlightEnabled )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEdit:redo()
|
||||
::qEdit:redo()
|
||||
RETURN Self
|
||||
@@ -2213,21 +2222,44 @@ FUNCTION hbide_getFrontSpacesAndWord( cText, cWord )
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_isStartingKeyword( cWord )
|
||||
STATIC s_b_ := { ;
|
||||
STATIC s_b_
|
||||
|
||||
IF empty( s_b_ )
|
||||
IF empty( hb_getEnv( "HBIDE_RETURN_ATBEGINING" ) )
|
||||
s_b_ := { ;
|
||||
'function' => NIL,;
|
||||
'class' => NIL,;
|
||||
'method' => NIL }
|
||||
ELSE
|
||||
s_b_ := { ;
|
||||
'function' => NIL,;
|
||||
'class' => NIL,;
|
||||
'return' => NIL,;
|
||||
'method' => NIL }
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Lower( cWord ) $ s_b_
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_isMinimumIndentableKeyword( cWord )
|
||||
STATIC s_b_ := { ;
|
||||
STATIC s_b_
|
||||
|
||||
IF empty( s_b_ )
|
||||
IF empty( hb_getEnv( "HBIDE_RETURN_ATBEGINING" ) )
|
||||
s_b_ := { ;
|
||||
'local' => NIL,;
|
||||
'static' => NIL,;
|
||||
'return' => NIL,;
|
||||
'default' => NIL }
|
||||
ELSE
|
||||
s_b_ := { ;
|
||||
'local' => NIL,;
|
||||
'static' => NIL,;
|
||||
'default' => NIL }
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Lower( cWord ) $ s_b_
|
||||
|
||||
|
||||
@@ -145,6 +145,7 @@ CLASS IdeEditsManager INHERIT IdeObject
|
||||
METHOD toggleLineSelectionMode()
|
||||
|
||||
METHOD toggleLineNumbers()
|
||||
METHOD toggleHorzRuler()
|
||||
METHOD toggleCurrentLineHighlightMode()
|
||||
|
||||
METHOD getText()
|
||||
@@ -612,13 +613,10 @@ METHOD IdeEditsManager:toggleLineSelectionMode()
|
||||
|
||||
METHOD IdeEditsManager:toggleCurrentLineHighlightMode()
|
||||
LOCAL oEdit
|
||||
|
||||
::oIde:lCurrentLineHighlightEnabled := ! ::lCurrentLineHighlightEnabled
|
||||
|
||||
IF !empty( oEdit := ::getEditObjectCurrent() )
|
||||
oEdit:toggleCurrentLineHighlightMode()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -633,6 +631,16 @@ METHOD IdeEditsManager:toggleLineNumbers()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEditsManager:toggleHorzRuler()
|
||||
LOCAL oEdit
|
||||
::oIde:lHorzRulerVisible := ! ::lHorzRulerVisible
|
||||
IF !empty( oEdit := ::getEditObjectCurrent() )
|
||||
oEdit:toggleHorzRuler()
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeEditsManager:duplicateLine()
|
||||
LOCAL oEdit
|
||||
IF !empty( oEdit := ::getEditObjectCurrent() )
|
||||
@@ -1435,6 +1443,7 @@ METHOD IdeEditor:activateTab( mp1, mp2, oXbp )
|
||||
oEdit:setDocumentProperties()
|
||||
oEdit:qCoEdit:relayMarkButtons()
|
||||
oEdit:qCoEdit:toggleLineNumbers()
|
||||
oEdit:qCoEdit:toggleHorzRuler()
|
||||
oEdit:qCoEdit:toggleCurrentLineHighlightMode()
|
||||
oEdit:qCoEdit:dispStatusInfo()
|
||||
::oUpDn:show()
|
||||
|
||||
@@ -342,6 +342,19 @@ FUNCTION hbide_evalAsString( cExp )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_evalAsIs( cExp )
|
||||
LOCAL xValue
|
||||
|
||||
BEGIN SEQUENCE WITH { || break() }
|
||||
xValue := eval( &( "{|| " + cExp + "}" ) )
|
||||
RECOVER
|
||||
xValue := cExp
|
||||
END SEQUENCE
|
||||
|
||||
RETURN xValue
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_setupMetaKeys( a_ )
|
||||
LOCAL s, n, cKey, cVal
|
||||
LOCAL a4_1 := {}
|
||||
@@ -1925,6 +1938,15 @@ FUNCTION FN_DirExtSet( cFileName, cDirNew, cExtNew )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_array2string( a_, cDlm )
|
||||
LOCAL s := ""
|
||||
|
||||
aeval( a_, {|e| s += e + cDlm } )
|
||||
|
||||
RETURN s
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_nArray2string( a_ )
|
||||
LOCAL cString := ""
|
||||
LOCAL n
|
||||
@@ -1979,23 +2001,55 @@ FUNCTION hbide_parseSourceComponents( cCompositeSource )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_parseToolComponents( cCompositeTool )
|
||||
FUNCTION hbide_parseUserToolbarComponents( cCompositeTool )
|
||||
LOCAL a_
|
||||
|
||||
a_:= hb_atokens( cCompositeTool, "," )
|
||||
asize( a_, 6 )
|
||||
asize( a_, 7 )
|
||||
DEFAULT a_[ 1 ] TO ""
|
||||
DEFAULT a_[ 2 ] TO ""
|
||||
DEFAULT a_[ 3 ] TO ""
|
||||
DEFAULT a_[ 4 ] TO ""
|
||||
DEFAULT a_[ 5 ] TO ""
|
||||
DEFAULT a_[ 6 ] TO ""
|
||||
DEFAULT a_[ 7 ] TO ""
|
||||
a_[ 1 ] := alltrim( a_[ 1 ] )
|
||||
a_[ 2 ] := alltrim( a_[ 2 ] )
|
||||
a_[ 3 ] := alltrim( a_[ 3 ] )
|
||||
a_[ 4 ] := alltrim( a_[ 4 ] )
|
||||
a_[ 5 ] := alltrim( a_[ 5 ] )
|
||||
a_[ 6 ] := alltrim( a_[ 6 ] )
|
||||
a_[ 7 ] := alltrim( a_[ 7 ] )
|
||||
|
||||
RETURN a_
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_parseToolComponents( cCompositeTool )
|
||||
LOCAL a_
|
||||
|
||||
a_:= hb_atokens( cCompositeTool, "," )
|
||||
asize( a_, 10 )
|
||||
DEFAULT a_[ 1 ] TO ""
|
||||
DEFAULT a_[ 2 ] TO ""
|
||||
DEFAULT a_[ 3 ] TO ""
|
||||
DEFAULT a_[ 4 ] TO ""
|
||||
DEFAULT a_[ 5 ] TO ""
|
||||
DEFAULT a_[ 6 ] TO ""
|
||||
DEFAULT a_[ 7 ] TO "-1"
|
||||
DEFAULT a_[ 8 ] TO "YES"
|
||||
DEFAULT a_[ 9 ] TO ""
|
||||
DEFAULT a_[10 ] TO ""
|
||||
a_[ 1 ] := alltrim( a_[ 1 ] )
|
||||
a_[ 2 ] := alltrim( a_[ 2 ] )
|
||||
a_[ 3 ] := alltrim( a_[ 3 ] )
|
||||
a_[ 4 ] := alltrim( a_[ 4 ] )
|
||||
a_[ 5 ] := alltrim( a_[ 5 ] )
|
||||
a_[ 6 ] := alltrim( a_[ 6 ] )
|
||||
a_[ 7 ] := alltrim( a_[ 7 ] )
|
||||
a_[ 8 ] := alltrim( a_[ 8 ] )
|
||||
a_[ 9 ] := alltrim( a_[ 9 ] )
|
||||
a_[10 ] := alltrim( a_[10 ] )
|
||||
|
||||
RETURN a_
|
||||
|
||||
|
||||
@@ -155,6 +155,7 @@ CLASS IdeObject
|
||||
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
|
||||
@@ -203,6 +204,7 @@ CLASS IdeObject
|
||||
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
|
||||
|
||||
|
||||
@@ -139,6 +139,11 @@ HB_TRACE( HB_TR_ALWAYS, "hbide_saveINI( oIde )", 0, oIde:nRunMode, oIde:cProjIni
|
||||
aadd( txt_, "CurrentShortcuts=" + oIde:cPathShortcuts )
|
||||
aadd( txt_, "TextFileExtensions=" + oIde:cTextExtensions )
|
||||
aadd( txt_, "FindInFilesDialogGeometry=" + oIde:aIni[ INI_HBIDE, FindInFilesDialogGeometry ] )
|
||||
aadd( txt_, "FindInFilesDialogGeometry=" + oIde:aIni[ INI_HBIDE, FindInFilesDialogGeometry ] )
|
||||
aadd( txt_, "CurrentLineHighlightMode=" + iif( oIde:lCurrentLineHighlightEnabled, "YES", "NO" ) )
|
||||
aadd( txt_, "LineNumbersDisplayMode=" + iif( oIde:lLineNumbersVisible, "YES", "NO" ) )
|
||||
aadd( txt_, "HorzRulerDisplayMode=" + iif( oIde:lHorzRulerVisible, "YES", "NO" ) )
|
||||
aadd( txt_, "ToolsDialogGeometry=" + oIde:aIni[ INI_HBIDE, ToolsDialogGeometry ] )
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[PROJECTS]" )
|
||||
@@ -221,22 +226,34 @@ HB_TRACE( HB_TR_ALWAYS, "hbide_saveINI( oIde )", 0, oIde:nRunMode, oIde:cProjIni
|
||||
FOR n := 1 TO len( oIde:aIni[ INI_VIEWS ] )
|
||||
aadd( txt_, "view_" + hb_ntos( n ) + "=" + oIde:aIni[ INI_VIEWS, n ] )
|
||||
NEXT
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[TAGGEDPROJECTS]" )
|
||||
aadd( txt_, " " )
|
||||
FOR n := 1 TO len( oIde:aIni[ INI_TAGGEDPROJECTS ] )
|
||||
aadd( txt_, "taggedproject_" + hb_ntos( n ) + "=" + oIde:aIni[ INI_TAGGEDPROJECTS, n ] )
|
||||
NEXT
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[TOOLS]" )
|
||||
aadd( txt_, " " )
|
||||
FOR n := 1 TO len( oIde:aIni[ INI_TOOLS ] )
|
||||
s := oIde:aIni[ INI_TOOLS, n, 1 ] + "," + oIde:aIni[ INI_TOOLS, n, 2 ] + "," + oIde:aIni[ INI_TOOLS, n, 3 ] + "," + ;
|
||||
oIde:aIni[ INI_TOOLS, n, 4 ] + "," + oIde:aIni[ INI_TOOLS, n, 5 ] + "," + oIde:aIni[ INI_TOOLS, n, 6 ] + ","
|
||||
oIde:aIni[ INI_TOOLS, n, 4 ] + "," + oIde:aIni[ INI_TOOLS, n, 5 ] + "," + oIde:aIni[ INI_TOOLS, n, 6 ] + "," + ;
|
||||
oIde:aIni[ INI_TOOLS, n, 7 ] + "," + oIde:aIni[ INI_TOOLS, n, 8 ] + "," + oIde:aIni[ INI_TOOLS, n, 9 ] + "," + ;
|
||||
oIde:aIni[ INI_TOOLS, n, 10 ]
|
||||
aadd( txt_, "tool_" + hb_ntos( n ) + "=" + s )
|
||||
NEXT
|
||||
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[USERTOOLBARS]" )
|
||||
aadd( txt_, " " )
|
||||
FOR n := 1 TO len( oIde:aIni[ INI_USERTOOLBARS ] )
|
||||
s := hbide_array2string( oIde:aIni[ INI_USERTOOLBARS, n ], "," )
|
||||
aadd( txt_, "usertoolbars_" + hb_ntos( n ) + "=" + s )
|
||||
NEXT
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[General]" )
|
||||
aadd( txt_, " " )
|
||||
|
||||
@@ -280,7 +297,11 @@ FUNCTION hbide_loadINI( oIde, cHbideIni )
|
||||
"currentcodec" , "pathmk2" , "pathenv" , ;
|
||||
"currentenvironment" , "findinfilesdialoggeometry", "currentfind" , ;
|
||||
"currentreplace" , "currentfolderfind" , "currentview" , ;
|
||||
"currentharbour" , "currentshortcuts" , "textfileextensions" }
|
||||
"currentharbour" , "currentshortcuts" , "textfileextensions" , ;
|
||||
"currentlinehighlightmode", "linenumbersdisplaymode", "horzrulerdisplaymode", ;
|
||||
"toolsdialoggeometry" ;
|
||||
}
|
||||
|
||||
#if 0
|
||||
IF empty( cHbideIni )
|
||||
IF hb_fileExists( "hbide.ini" )
|
||||
@@ -347,6 +368,9 @@ FUNCTION hbide_loadINI( oIde, cHbideIni )
|
||||
CASE "[TOOLS]"
|
||||
nPart := INI_TOOLS
|
||||
EXIT
|
||||
CASE "[USERTOOLBARS]"
|
||||
nPart := INI_USERTOOLBARS
|
||||
EXIT
|
||||
OTHERWISE
|
||||
/*
|
||||
* If none of the previous sections are valid, do not let it
|
||||
@@ -427,6 +451,12 @@ FUNCTION hbide_loadINI( oIde, cHbideIni )
|
||||
aadd( oIde:aIni[ nPart ], a_ )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_USERTOOLBARS
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
a_:= hbide_parseUserToolbarComponents( cVal )
|
||||
aadd( oIde:aIni[ nPart ], a_ )
|
||||
ENDIF
|
||||
|
||||
ENDCASE
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
@@ -121,6 +121,7 @@ CLASS IdeShortcuts INHERIT IdeObject
|
||||
METHOD evalMacro( cString )
|
||||
METHOD test( cString, lWarn )
|
||||
METHOD execKey( oEdit, nKey, lAlt, lCtrl, lShift )
|
||||
METHOD execMacroByName( cName )
|
||||
METHOD mergeMacros( a_ )
|
||||
|
||||
METHOD loadDftSCuts()
|
||||
@@ -138,6 +139,7 @@ CLASS IdeShortcuts INHERIT IdeObject
|
||||
METHOD array2controls( nRow )
|
||||
METHOD array2table( nRow, a_ )
|
||||
METHOD vrbls2array( nRow )
|
||||
METHOD getMacrosList()
|
||||
|
||||
/* Public API Methods */
|
||||
METHOD getWord( lSelect )
|
||||
@@ -773,7 +775,7 @@ METHOD IdeShortcuts:execKey( oEdit, nKey, lAlt, lCtrl, lShift )
|
||||
|
||||
cKey := ::aKeys[ n, 2 ]
|
||||
|
||||
n := ascan( ::aDftSCuts, {|e_| e_[ 2 ] == cKey .AND. ;
|
||||
n := ascan( ::aDftSCuts, {|e_| e_[ 2 ] == cKey .AND. ;
|
||||
e_[ 3 ] == iif( lAlt , "YES", "NO" ) .AND. ;
|
||||
e_[ 4 ] == iif( lCtrl , "YES", "NO" ) .AND. ;
|
||||
e_[ 5 ] == iif( lShift, "YES", "NO" ) } )
|
||||
@@ -790,6 +792,29 @@ METHOD IdeShortcuts:execKey( oEdit, nKey, lAlt, lCtrl, lShift )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeShortcuts:execMacroByName( cName )
|
||||
LOCAL n, lExecuted := .f.
|
||||
|
||||
IF ( n := ascan( ::aDftSCuts, {|e_| e_[ 1 ] == cName } ) ) > 0
|
||||
::oEdit := ::oEM:getEditObjectCurrent()
|
||||
IF ! empty( ::aDftSCuts[ n, 7 ] )
|
||||
lExecuted := ::evalMacro( ::aDftSCuts[ n, 7 ] )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lExecuted
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeShortcuts:getMacrosList()
|
||||
LOCAL aList := {}
|
||||
|
||||
aeval( ::aDftSCuts, {|e_| aadd( aList, e_[ 1 ] ) } )
|
||||
|
||||
RETURN aList
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeShortcuts:loadKeys()
|
||||
LOCAL a_
|
||||
|
||||
@@ -1648,3 +1673,4 @@ METHOD IdeShortcuts:mergeMacros( a_ )
|
||||
ENDSWITCH
|
||||
#endif
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
@@ -149,7 +149,7 @@ FUNCTION GetStyleSheet( cWidget, nMode )
|
||||
ENDIF
|
||||
aadd( txt_, 'QMenuBar::item { ' )
|
||||
aadd( txt_, ' spacing : 3px; /* spacing between menu bar items */ ' )
|
||||
aadd( txt_, ' padding : 1px 4px; ' )
|
||||
aadd( txt_, ' padding : 1px 10px; ' )
|
||||
aadd( txt_, ' background : transparent; ' )
|
||||
aadd( txt_, ' border-radius: 4px; ' )
|
||||
aadd( txt_, ' color : #000000; ' )
|
||||
|
||||
@@ -137,7 +137,7 @@ CLASS IdeThemes INHERIT IdeObject
|
||||
METHOD setQuotesRule( qHiliter, cTheme )
|
||||
METHOD setMultiLineCommentRule( qHiliter, cTheme )
|
||||
METHOD setSingleLineCommentRule( qHiliter, cTheme )
|
||||
METHOD setSyntaxRule( qHiliter, cName, cPattern, aAttr )
|
||||
METHOD setSyntaxRule( qHiliter, cName, cPattern, lCaseSensitive, aAttr )
|
||||
METHOD setSyntaxFormat( qHiliter, cName, aAttr )
|
||||
METHOD setSyntaxHilighting( qEdit, cTheme, lNew )
|
||||
METHOD show()
|
||||
@@ -152,6 +152,7 @@ CLASS IdeThemes INHERIT IdeObject
|
||||
METHOD parseINI( lAppend )
|
||||
METHOD updateLineNumbersBkColor()
|
||||
METHOD updateCurrentLineColor()
|
||||
METHOD mergeUserDictionaries( qHiliter, cTheme )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -186,8 +187,8 @@ METHOD IdeThemes:create( oIde, cIniFile )
|
||||
|
||||
/* Compiler Directives */
|
||||
b_:= { "include","define","ifndef","ifdef","else","endif","command","xcommand","translate","xtranslate" }
|
||||
s := ""; aeval( b_, {|e| s += iif( empty( s ), "", "|" ) + "#" + upper( e ) + "\b|#" + e + "\b" } )
|
||||
aadd( ::aPatterns, { "PreprocessorDirectives", s } )
|
||||
s := ""; aeval( b_, {|e| s += iif( empty( s ), "", "|" ) + "#" + e + "\b" } )
|
||||
aadd( ::aPatterns, { "PreprocessorDirectives", s, .f. } )
|
||||
|
||||
/* Harbour Keywords */
|
||||
b_:= { 'function','return','static','local','default', ;
|
||||
@@ -202,8 +203,8 @@ METHOD IdeThemes:create( oIde, cIniFile )
|
||||
'inherit','init','create','virtual','message', 'from', 'setget',;
|
||||
'begin','sequence','try','catch','always','recover','hb_symbol_unused', ;
|
||||
'error','handler' }
|
||||
s := ""; aeval( b_, {|e| s += iif( empty( s ), "", "|" ) + "\b" + upper( e ) + "\b|\b" + e + "\b" } )
|
||||
aadd( ::aPatterns, { "HarbourKeywords" , s } )
|
||||
s := ""; aeval( b_, {|e| s += iif( empty( s ), "", "|" ) + "\b" + e + "\b" } )
|
||||
aadd( ::aPatterns, { "HarbourKeywords" , s, .f. } )
|
||||
|
||||
/* C Language Keywords - Only for C or CPP sources - mutually exclusive with Harbour Sources */
|
||||
b_:= { "char", "class", "const", "double", "enum", "explicit", "friend", "inline", ;
|
||||
@@ -211,16 +212,16 @@ METHOD IdeThemes:create( oIde, cIniFile )
|
||||
"short", "signals", "signed", "slots", "static", "struct", "template", ;
|
||||
"typedef", "typename", "union", "unsigned", "virtual", "void", "volatile" }
|
||||
s := ""; aeval( b_, {|e| s += iif( empty( s ), "", "|" ) + "\b" + e + "\b" } )
|
||||
aadd( ::aPatterns, { "CLanguageKeywords" , s } )
|
||||
aadd( ::aPatterns, { "CLanguageKeywords" , s , .t. } )
|
||||
|
||||
s := "\:\=|\:|\+|\-|\\|\*|\ IN\ |\ in\ |\=|\>|\<|\^|\%|\$|\&|\@|\.or\.|\.and\.|\.OR\.|\.AND\.|\!"
|
||||
aadd( ::aPatterns, { "Operators" , s } )
|
||||
aadd( ::aPatterns, { "Operators" , s , .f. } )
|
||||
|
||||
aadd( ::aPatterns, { "NumericalConstants", "\b[0-9.]+\b" } )
|
||||
aadd( ::aPatterns, { "NumericalConstants", "\b[0-9.]+\b" , .f. } )
|
||||
|
||||
aadd( ::aPatterns, { "BracketsAndBraces" , "\(|\)|\{|\}|\[|\]|\|" } )
|
||||
aadd( ::aPatterns, { "BracketsAndBraces" , "\(|\)|\{|\}|\[|\]|\|" , .f. } )
|
||||
|
||||
aadd( ::aPatterns, { "FunctionsBody" , "\b[A-Za-z0-9_]+(?=\()" } )
|
||||
aadd( ::aPatterns, { "FunctionsBody" , "\b[A-Za-z0-9_]+(?=\()" , .f. } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -370,7 +371,7 @@ METHOD IdeThemes:buildSyntaxFormat( aAttr )
|
||||
LOCAL qFormat
|
||||
|
||||
qFormat := QTextCharFormat():new()
|
||||
//
|
||||
|
||||
qFormat:setFontItalic( aAttr[ THM_ATR_ITALIC ] )
|
||||
IF aAttr[ THM_ATR_BOLD ]
|
||||
qFormat:setFontWeight( 1000 )
|
||||
@@ -430,9 +431,13 @@ METHOD IdeThemes:setMultiLineCommentRule( qHiliter, cTheme )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeThemes:setSyntaxRule( qHiliter, cName, cPattern, aAttr )
|
||||
METHOD IdeThemes:setSyntaxRule( qHiliter, cName, cPattern, lCaseSensitive, aAttr )
|
||||
LOCAL qRegExp := QRegExp():new()
|
||||
|
||||
qHiliter:hbSetRule( cName, cPattern, ::buildSyntaxFormat( aAttr ) )
|
||||
qRegExp:setCaseSensitivity( lCaseSensitive )
|
||||
qRegExp:setPattern( cPattern )
|
||||
|
||||
qHiliter:hbSetRuleWithRegExp( cName, qRegExp, ::buildSyntaxFormat( aAttr ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -465,9 +470,12 @@ METHOD IdeThemes:setSyntaxHilighting( qEdit, cTheme, lNew )
|
||||
|
||||
FOR EACH a_ IN ::aPatterns
|
||||
IF !empty( aAttr := ::getThemeAttribute( a_[ 1 ], cTheme ) )
|
||||
::setSyntaxRule( qHiliter, a_[ 1 ], a_[ 2 ], aAttr )
|
||||
::setSyntaxRule( qHiliter, a_[ 1 ], a_[ 2 ], a_[ 3 ], aAttr )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
::mergeUserDictionaries( qHiliter, cTheme )
|
||||
|
||||
::setMultiLineCommentRule( qHiliter, cTheme )
|
||||
::setSingleLineCommentRule( qHiliter, cTheme )
|
||||
::setQuotesRule( qHiliter, cTheme )
|
||||
@@ -489,6 +497,45 @@ METHOD IdeThemes:setSyntaxHilighting( qEdit, cTheme, lNew )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeThemes:mergeUserDictionaries( qHiliter, cTheme )
|
||||
LOCAL oDict, s, aAttr, qFormat, qRegExp, cName, a_, aDict
|
||||
|
||||
aDict := ::oIde:aUserDict
|
||||
FOR EACH oDict IN aDict
|
||||
IF !empty( oDict:aItems )
|
||||
cName := "UserDictionary" + hb_ntos( oDict:__enumIndex() )
|
||||
|
||||
s := ""
|
||||
FOR EACH a_ IN oDict:aItems
|
||||
s += "\b" + a_[ 1 ] + "\b|"
|
||||
NEXT
|
||||
s := substr( s, 1, len( s ) - 1 )
|
||||
|
||||
qRegExp := QRegExp():new()
|
||||
qRegExp:setCaseSensitivity( oDict:lCaseSensitive )
|
||||
qRegExp:setPattern( s )
|
||||
|
||||
aAttr := ::getThemeAttribute( "UserDictionary", cTheme ) // cName after slots are implemented
|
||||
|
||||
qFormat := QTextCharFormat():new()
|
||||
qFormat:setFontItalic( aAttr[ THM_ATR_ITALIC ] )
|
||||
IF aAttr[ THM_ATR_BOLD ]
|
||||
qFormat:setFontWeight( 1000 )
|
||||
ENDIF
|
||||
qFormat:setFontUnderline( aAttr[ THM_ATR_ULINE ] )
|
||||
qFormat:setForeground( QBrush():new( "QColor", QColor():new( aAttr[ THM_ATR_R ], aAttr[ THM_ATR_G ], aAttr[ THM_ATR_B ] ) ) )
|
||||
IF !empty( oDict:qBgColor )
|
||||
qFormat:setBackground( QBrush():new( "QColor", oDict:qBgColor ) )
|
||||
ENDIF
|
||||
|
||||
qHiliter:hbSetRuleWithRegExp( cName, qRegExp, qFormat )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeThemes:show()
|
||||
|
||||
IF empty( ::oUI )
|
||||
|
||||
@@ -71,19 +71,6 @@
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define buttonAdd_clicked 1
|
||||
#define buttonDelete_clicked 2
|
||||
#define buttonUp_clicked 3
|
||||
#define buttonDown_clicked 4
|
||||
#define buttonBrowse_clicked 5
|
||||
#define buttonUpdate_clicked 6
|
||||
#define buttonClose_clicked 7
|
||||
#define buttonExec_clicked 8
|
||||
|
||||
#define listNames_itemSelectionChanged 9
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeToolsManager INHERIT IdeObject
|
||||
|
||||
DATA aAct INIT {}
|
||||
@@ -93,14 +80,19 @@ CLASS IdeToolsManager INHERIT IdeObject
|
||||
DATA qPanelsButton
|
||||
DATA qPanelsMenu
|
||||
DATA oProcess
|
||||
DATA lExecuting INIT .f.
|
||||
DATA aHdr INIT {}
|
||||
DATA aBtns INIT {}
|
||||
DATA aToolbars INIT { NIL,NIL,NIL,NIL,NIL }
|
||||
|
||||
ACCESS aTools INLINE ::aINI[ INI_TOOLS ]
|
||||
ACCESS aUserToolBars INLINE ::aINI[ INI_USERTOOLBARS ]
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD show()
|
||||
METHOD execEvent( nMode, p )
|
||||
METHOD execEvent( cMode, p )
|
||||
METHOD clearList()
|
||||
METHOD populateList( aList )
|
||||
METHOD execTool( ... )
|
||||
@@ -114,6 +106,9 @@ CLASS IdeToolsManager INHERIT IdeObject
|
||||
METHOD finished( nEC, nES, oHbp )
|
||||
METHOD parseParams( cP )
|
||||
METHOD macro2value( cMacro )
|
||||
METHOD ini2toolbarControls( nIndex, nMode )
|
||||
METHOD populateButtonsTable( nIndex )
|
||||
METHOD buildUserToolbars()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -136,6 +131,16 @@ METHOD IdeToolsManager:create( oIde )
|
||||
IF !empty( oAct := ::oAC:getAction( "TB_Tools" ) )
|
||||
oAct:setMenu( QMenu():new() )
|
||||
ENDIF
|
||||
|
||||
IF empty( ::aINI[ INI_USERTOOLBARS ] )
|
||||
asize( ::aINI[ INI_USERTOOLBARS ], 5 )
|
||||
DEFAULT ::aINI[ INI_USERTOOLBARS, 1 ] TO { "","YES","","","YES","YES","YES" }
|
||||
DEFAULT ::aINI[ INI_USERTOOLBARS, 2 ] TO { "","YES","","","YES","YES","YES" }
|
||||
DEFAULT ::aINI[ INI_USERTOOLBARS, 3 ] TO { "","YES","","","YES","YES","YES" }
|
||||
DEFAULT ::aINI[ INI_USERTOOLBARS, 4 ] TO { "","YES","","","YES","YES","YES" }
|
||||
DEFAULT ::aINI[ INI_USERTOOLBARS, 5 ] TO { "","YES","","","YES","YES","YES" }
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -158,15 +163,19 @@ METHOD IdeToolsManager:destroy()
|
||||
|
||||
::disconnect( ::qPanelsButton, "clicked()" )
|
||||
|
||||
::disconnect( ::oUI:q_buttonAdd , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonDelete, "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonUp , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonDown , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonExec , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonBrowse, "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonUpdate, "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonClose , "clicked()" )
|
||||
::disconnect( ::oUI:q_listNames , "itemSelectionChanged()" )
|
||||
::disconnect( ::oUI:q_buttonAdd , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonDelete , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonUp , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonDown , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonExec , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonBrowse , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonUpdate , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonClose , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonSetImage , "clicked()" )
|
||||
::disconnect( ::oUI:q_buttonUserToolbarUpd, "clicked()" )
|
||||
::disconnect( ::oUI:q_comboToolbarAsgnd , "currentIndexChanged(int)" )
|
||||
::disconnect( ::oUI:q_listToolbars , "itemSelectionChanged()" )
|
||||
::disconnect( ::oUI:q_listNames , "itemSelectionChanged()" )
|
||||
|
||||
::oUI:destroy()
|
||||
ENDIF
|
||||
@@ -176,9 +185,11 @@ METHOD IdeToolsManager:destroy()
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolsManager:show()
|
||||
LOCAL oTbl, hdr_, n, qItm
|
||||
|
||||
IF empty( ::oUI )
|
||||
::oUI := HbQtUI():new( hbide_uic( "toolsutilities" ), ::oDlg:oWidget ):build()
|
||||
::oUI:setWindowFlags( Qt_Sheet )
|
||||
|
||||
::oUI:setWindowIcon( hbide_image( "hbide" ) )
|
||||
::oUI:setMaximumWidth( ::oUI:width() )
|
||||
@@ -186,43 +197,357 @@ METHOD IdeToolsManager:show()
|
||||
::oUI:setMaximumHeight( ::oUI:height() )
|
||||
::oUI:setMinimumHeight( ::oUI:height() )
|
||||
|
||||
::connect( ::oUI:q_buttonAdd , "clicked()", {|| ::execEvent( buttonAdd_clicked ) } )
|
||||
::connect( ::oUI:q_buttonDelete, "clicked()", {|| ::execEvent( buttonDelete_clicked ) } )
|
||||
::connect( ::oUI:q_buttonUp , "clicked()", {|| ::execEvent( buttonUp_clicked ) } )
|
||||
::connect( ::oUI:q_buttonDown , "clicked()", {|| ::execEvent( buttonDown_clicked ) } )
|
||||
::connect( ::oUI:q_buttonExec , "clicked()", {|| ::execEvent( buttonExec_clicked ) } )
|
||||
::connect( ::oUI:q_buttonBrowse, "clicked()", {|| ::execEvent( buttonBrowse_clicked ) } )
|
||||
::connect( ::oUI:q_buttonUpdate, "clicked()", {|| ::execEvent( buttonUpdate_clicked ) } )
|
||||
::connect( ::oUI:q_buttonClose , "clicked()", {|| ::execEvent( buttonClose_clicked ) } )
|
||||
::connect( ::oUI:q_buttonAdd , "clicked()", {|| ::execEvent( "buttonAdd_clicked" ) } )
|
||||
::connect( ::oUI:q_buttonDelete, "clicked()", {|| ::execEvent( "buttonDelete_clicked" ) } )
|
||||
::connect( ::oUI:q_buttonUp , "clicked()", {|| ::execEvent( "buttonUp_clicked" ) } )
|
||||
::connect( ::oUI:q_buttonDown , "clicked()", {|| ::execEvent( "buttonDown_clicked" ) } )
|
||||
::connect( ::oUI:q_buttonExec , "clicked()", {|| ::execEvent( "buttonExec_clicked" ) } )
|
||||
::connect( ::oUI:q_buttonBrowse, "clicked()", {|| ::execEvent( "buttonBrowse_clicked" ) } )
|
||||
::connect( ::oUI:q_buttonUpdate, "clicked()", {|| ::execEvent( "buttonUpdate_clicked" ) } )
|
||||
::connect( ::oUI:q_buttonClose , "clicked()", {|| ::execEvent( "buttonClose_clicked" ) } )
|
||||
|
||||
::connect( ::oUI:q_listNames , "itemSelectionChanged()", {|| ::execEvent( listNames_itemSelectionChanged ) } )
|
||||
::connect( ::oUI:q_listNames , "itemSelectionChanged()", {|| ::execEvent( "listNames_itemSelectionChanged" ) } )
|
||||
|
||||
::oUI:q_buttonBtnDown :setIcon( hbide_image( "dc_down" ) )
|
||||
::oUI:q_buttonBtnUp :setIcon( hbide_image( "dc_up" ) )
|
||||
|
||||
::oUI:q_buttonSetImage:setIcon( hbide_image( "open" ) )
|
||||
::connect( ::oUI:q_buttonSetImage, "clicked()", {|| ::execEvent( "buttonSetImage_clicked" ) } )
|
||||
|
||||
::connect( ::oUI:q_buttonUserToolbarUpd, "clicked()", {|| ::execEvent( "buttonUserToolbarUpd_clicked" ) } )
|
||||
|
||||
::oUI:q_comboToolbarAsgnd:addItem( "User_Toolbar_1" )
|
||||
::oUI:q_comboToolbarAsgnd:addItem( "User_Toolbar_2" )
|
||||
::oUI:q_comboToolbarAsgnd:addItem( "User_Toolbar_3" )
|
||||
::oUI:q_comboToolbarAsgnd:addItem( "User_Toolbar_4" )
|
||||
::oUI:q_comboToolbarAsgnd:addItem( "User_Toolbar_5" )
|
||||
::oUI:q_comboToolbarAsgnd:setCurrentIndex( -1 )
|
||||
::connect( ::oUI:q_comboToolbarAsgnd, "currentIndexChanged(int)", {|p| ::execEvent( "comboToolbarAsgnd_currentIndexChanged", p ) } )
|
||||
|
||||
::oUI:q_listToolbars:addItem( "User_Toolbar_1" )
|
||||
::oUI:q_listToolbars:addItem( "User_Toolbar_2" )
|
||||
::oUI:q_listToolbars:addItem( "User_Toolbar_3" )
|
||||
::oUI:q_listToolbars:addItem( "User_Toolbar_4" )
|
||||
::oUI:q_listToolbars:addItem( "User_Toolbar_5" )
|
||||
::connect( ::oUI:q_listToolbars, "itemSelectionChanged()", {|| ::execEvent( "listToolbars_itemSelectionChanged" ) } )
|
||||
|
||||
::oUI:q_comboInitPos:addItem( "Left" )
|
||||
::oUI:q_comboInitPos:addItem( "Top" )
|
||||
::oUI:q_comboInitPos:addItem( "Right" )
|
||||
::oUI:q_comboInitPos:addItem( "Bottom" )
|
||||
::oUI:q_comboToolbarAsgnd:setCurrentIndex( -1 )
|
||||
|
||||
::oUI:q_checkDockTop :setChecked( .f. )
|
||||
::oUI:q_checkDockLeft :setChecked( .t. )
|
||||
::oUI:q_checkDockBottom:setChecked( .t. )
|
||||
::oUI:q_checkDockRight :setChecked( .t. )
|
||||
::oUI:q_checkFloatable :setChecked( .t. )
|
||||
|
||||
::oUI:q_checkToolActive:setChecked( .t. )
|
||||
#if 0
|
||||
::connect( ::oUI:q_checkToolActive, "stateChanged(int)", {|i| ::execEvent( "checkToolActive_stateChanged", i ) } )
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
::connect( ::oUI:q_checkInactive, "stateChanged(int)", {|i| ::execEvent( "checkToolActive_stateChanged", i ) } )
|
||||
#endif
|
||||
|
||||
hdr_:= { { "Img", 30 }, { "Tool", 218 } }
|
||||
oTbl := ::oUI:q_tableButtons
|
||||
//
|
||||
QHeaderView():from( oTbl:verticalHeader() ):hide()
|
||||
QHeaderView():from( oTbl:horizontalHeader() ):stretchLastSection( .t. )
|
||||
oTbl:setAlternatingRowColors( .t. )
|
||||
oTbl:setColumnCount( len( hdr_ ) )
|
||||
oTbl:setShowGrid( .t. )
|
||||
oTbl:setSelectionMode( QAbstractItemView_SingleSelection )
|
||||
oTbl:setSelectionBehavior( QAbstractItemView_SelectRows )
|
||||
FOR n := 1 TO len( hdr_ )
|
||||
qItm := QTableWidgetItem():new()
|
||||
qItm:setText( hdr_[ n,1 ] )
|
||||
oTbl:setHorizontalHeaderItem( n-1, qItm )
|
||||
oTbl:setColumnWidth( n-1, hdr_[ n,2 ] )
|
||||
aadd( ::aHdr, qItm )
|
||||
NEXT
|
||||
|
||||
::oUI:q_listToolbars:setCurrentRow( 0 )
|
||||
ENDIF
|
||||
|
||||
::clearList()
|
||||
::populateList( ::aINI[ INI_TOOLS ] )
|
||||
::oUI:exec()
|
||||
::oUI:q_listNames:setCurrentRow( 0 )
|
||||
::oIde:setPosByIni( ::oUI:oWidget, ToolsDialogGeometry )
|
||||
::oUI:show()
|
||||
|
||||
RETURN Nil
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolsManager:execEvent( cMode, p )
|
||||
LOCAL cFile, cFileName, nIndex, qItem, cName, nRow
|
||||
LOCAL aTools := ::aINI[ INI_TOOLS ]
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
SWITCH cMode
|
||||
CASE "checkToolActive_stateChanged"
|
||||
nRow := ::oUI:q_listToolbars:currentRow()
|
||||
::aUserToolbars[ nRow + 1, 3 ] := "YES"
|
||||
IF !empty( ::aToolbars[ nRow + 1 ] )
|
||||
IF p > 0
|
||||
::aToolbars[ nRow + 1 ]:hide()
|
||||
ELSE
|
||||
::aToolbars[ nRow + 1 ]:show()
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonSetImage_clicked"
|
||||
cFileName := hbide_fetchAFile( ::oDlg, "Select an PNG image", { { "Image Files", "*.png" } },/* cFolder */ , /*cDftSuffix*/ )
|
||||
IF !empty( cFileName )
|
||||
::oUI:q_editImage:setText( hbide_pathNormalized( cFileName, .f. ) )
|
||||
::oUI:q_buttonSetImage:setIcon( hbide_pathToOsPath( cFileName ) )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonUserToolbarUpd_clicked"
|
||||
::ini2toolbarControls( ::oUI:q_listToolbars:currentRow(), 2 )
|
||||
EXIT
|
||||
CASE "listToolbars_itemSelectionChanged"
|
||||
// Clear q_tableButtons and populate with new values
|
||||
::ini2toolbarControls( ::oUI:q_listToolbars:currentRow(), 1 )
|
||||
::populateButtonsTable( ::oUI:q_listToolbars:currentRow() )
|
||||
EXIT
|
||||
CASE "comboToolbarAsgnd_currentIndexChanged"
|
||||
::oUI:q_listToolbars:setCurrentRow( p )
|
||||
EXIT
|
||||
CASE "listNames_itemSelectionChanged"
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
cName := qItem:text()
|
||||
IF ( nIndex := ascan( aTools, {|e_| e_[ 1 ] == cName } ) ) > 0
|
||||
::ini2Controls( nIndex )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonAdd_clicked"
|
||||
IF !empty( ::oUI:q_editName:text() )
|
||||
::controls2ini()
|
||||
::oUI:q_listNames:addItem( ::oUI:q_editName:text() )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonDelete_clicked"
|
||||
IF ::oUI:q_listNames:currentRow() >= 0
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
cName := qItem:text()
|
||||
IF ( nIndex := ascan( aTools, {|e_| e_[ 1 ] == cName } ) ) > 0
|
||||
hb_adel( ::aINI[ INI_TOOLS ], nIndex, .t. )
|
||||
::clearList()
|
||||
::populateList()
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonUp_clicked"
|
||||
EXIT
|
||||
CASE "buttonDown_clicked"
|
||||
EXIT
|
||||
CASE "buttonExec_clicked"
|
||||
IF ! ::lExecuting
|
||||
::lExecuting := .t.
|
||||
IF ::oUI:q_listNames:currentRow() >= 0
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
::execTool( qItem:text() )
|
||||
ENDIF
|
||||
::lExecuting := .f.
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonBrowse_clicked"
|
||||
IF !empty( cFile := hbide_fetchAFile( ::oDlg, "Select a Tool" ) )
|
||||
hb_fNameSplit( cFile, , @cFileName )
|
||||
::ini2controls()
|
||||
::oUI:q_editName : setText( cFileName )
|
||||
::oUI:q_editCmdLine : setText( cFile )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonUpdate_clicked"
|
||||
IF ( nRow := ::oUI:q_listNames:currentRow() ) >= 0
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
cName := qItem:text()
|
||||
|
||||
IF ( nIndex := ascan( aTools, {|e_| e_[ 1 ] == cName } ) ) > 0
|
||||
::controls2ini( nIndex )
|
||||
::clearList()
|
||||
::populateList()
|
||||
::oUI:q_listNames:setCurrentRow( nRow )
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonClose_clicked"
|
||||
::oIde:aIni[ INI_HBIDE, ToolsDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget )
|
||||
::oUI:done( 1 )
|
||||
EXIT
|
||||
CASE "User_Toolbar_clicked"
|
||||
::execTool( p )
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_toolBlock( o, a_ )
|
||||
LOCAL cTool := a_[ 1 ]
|
||||
RETURN {|| o:execEvent( "User_Toolbar_clicked", cTool ) }
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolsManager:buildUserToolbars()
|
||||
LOCAL a_:={}, b_, qTbar, qTBtn, nn, nIndex
|
||||
LOCAL area_:= { Qt_LeftToolBarArea, Qt_TopToolBarArea, Qt_RightToolBarArea, Qt_BottomToolBarArea }
|
||||
LOCAL aIndex := {}
|
||||
|
||||
FOR nIndex := 0 TO 4
|
||||
nn := nIndex + 1
|
||||
|
||||
FOR EACH b_ IN ::aTools
|
||||
IF !empty( b_[ 7 ] ) .AND. val( b_[ 7 ] ) == nIndex
|
||||
aadd( a_, b_ )
|
||||
aadd( aIndex, b_:__enumIndex() )
|
||||
ENDIF
|
||||
NEXT
|
||||
IF !empty( a_ )
|
||||
qTBar := QToolBar():new()
|
||||
qTBar:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) )
|
||||
qTBar:setObjectName( "User_Toolbar_" + hb_ntos( nIndex ) )
|
||||
qTBar:setWindowTitle( "User Toolbar : " + hb_ntos( nIndex ) )
|
||||
qTBar:setIconSize( QSize():new( 16,16 ) )
|
||||
qTBar:setToolButtonStyle( Qt_ToolButtonIconOnly )
|
||||
qTBar:setAllowedAreas( iif( ::aUserToolbars[ nn,4 ] == "YES", Qt_TopToolBarArea , 0 ) + ;
|
||||
iif( ::aUserToolbars[ nn,5 ] == "YES", Qt_LeftToolBarArea , 0 ) + ;
|
||||
iif( ::aUserToolbars[ nn,6 ] == "YES", Qt_BottomToolBarArea, 0 ) + ;
|
||||
iif( ::aUserToolbars[ nn,7 ] == "YES", Qt_RightToolBarArea , 0 ) )
|
||||
|
||||
FOR EACH b_ IN a_
|
||||
qTBtn := QToolButton():new()
|
||||
qTBtn:setText( b_[ 1 ] )
|
||||
qTBtn:setTooltip( b_[ 10 ] )
|
||||
qTBtn:setIcon( hbide_pathToOSPath( b_[ 9 ] ) )
|
||||
qTBtn:setMaximumWidth( 20 )
|
||||
qTBtn:setMaximumHeight( 20 )
|
||||
::connect( qTBtn, "clicked()", hbide_toolBlock( Self, b_ ) )
|
||||
qTBar:addWidget( qTBtn )
|
||||
IF b_[ 8 ] != "YES"
|
||||
qTBtn:setEnabled( .f. )
|
||||
ENDIF
|
||||
aadd( ::aBtns, qTBtn )
|
||||
NEXT
|
||||
|
||||
::oDlg:oWidget:addToolBar( area_[ val( ::aUserToolbars[ nn,4 ] ) + 1 ], qTBar )
|
||||
IF ::aUserToolbars[ nn, 3 ] == "YES"
|
||||
qTBar:hide()
|
||||
ENDIF
|
||||
::aToolbars[ nn ] := qTBar
|
||||
a_:= {}
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolsManager:populateButtonsTable( nIndex )
|
||||
LOCAL a_:={}, b_, q0, q1, oTbl, nRow
|
||||
|
||||
oTbl := ::oUI:q_tableButtons
|
||||
oTbl:clearContents()
|
||||
|
||||
IF nIndex > -1
|
||||
FOR EACH b_ IN ::aTools
|
||||
IF !empty( b_[ 7 ] ) .AND. val( b_[ 7 ] ) == nIndex
|
||||
aadd( a_, b_ )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
oTbl:setRowCount( len( a_ ) )
|
||||
|
||||
IF !empty( a_ )
|
||||
FOR EACH b_ IN a_
|
||||
nRow := b_:__enumIndex()-1
|
||||
|
||||
q0 := QTableWidgetItem():new()
|
||||
q0:setIcon( hbide_pathToOSPath( b_[ 9 ] ) )
|
||||
q0:setTooltip( b_[ 10 ] )
|
||||
oTbl:setItem( nRow, 0, q0 )
|
||||
|
||||
q1 := QTableWidgetItem():new()
|
||||
q1:setText( b_[ 1 ] )
|
||||
oTbl:setItem( nRow, 1, q1 )
|
||||
|
||||
oTbl:setRowHeight( nRow, 16 )
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolsManager:ini2toolbarControls( nIndex, nMode )
|
||||
|
||||
IF nIndex > -1
|
||||
nIndex++
|
||||
IF nMode == 1
|
||||
::oUI:q_comboInitPos :setCurrentIndex( val( ::aUserToolBars[ nIndex, 1 ] ) )
|
||||
::oUI:q_checkFloatable :setChecked( ::aUserToolBars[ nIndex, 2 ] == "YES" )
|
||||
::oUI:q_checkInactive :setChecked( ::aUserToolBars[ nIndex, 3 ] == "YES" )
|
||||
::oUI:q_checkDockTop :setChecked( ::aUserToolBars[ nIndex, 4 ] == "YES" )
|
||||
::oUI:q_checkDockLeft :setChecked( ::aUserToolBars[ nIndex, 5 ] == "YES" )
|
||||
::oUI:q_checkDockBottom:setChecked( ::aUserToolBars[ nIndex, 6 ] == "YES" )
|
||||
::oUI:q_checkDockRight :setChecked( ::aUserToolBars[ nIndex, 7 ] == "YES" )
|
||||
|
||||
ELSE
|
||||
::aUserToolBars[ nIndex, 1 ] := hb_ntos( ::oUI:q_comboInitPos:currentIndex() )
|
||||
::aUserToolBars[ nIndex, 2 ] := iif( ::oUI:q_checkFloatable :isChecked(), "YES", "NO" )
|
||||
::aUserToolBars[ nIndex, 3 ] := iif( ::oUI:q_checkInactive :isChecked(), "YES", "NO" )
|
||||
::aUserToolBars[ nIndex, 4 ] := iif( ::oUI:q_checkDockTop :isChecked(), "YES", "NO" )
|
||||
::aUserToolBars[ nIndex, 5 ] := iif( ::oUI:q_checkDockLeft :isChecked(), "YES", "NO" )
|
||||
::aUserToolBars[ nIndex, 6 ] := iif( ::oUI:q_checkDockBottom:isChecked(), "YES", "NO" )
|
||||
::aUserToolBars[ nIndex, 7 ] := iif( ::oUI:q_checkDockRight :isChecked(), "YES", "NO" )
|
||||
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolsManager:ini2controls( nIndex )
|
||||
|
||||
IF nIndex > 0
|
||||
::oUI:q_editName : setText( ::aTools[ nIndex, 1 ] )
|
||||
::oUI:q_editCmdLine : setText( ::aTools[ nIndex, 2 ] )
|
||||
::oUI:q_editParams : setText( ::aTools[ nIndex, 3 ] )
|
||||
::oUI:q_editStayIn : setText( ::aTools[ nIndex, 4 ] )
|
||||
::oUI:q_checkCapture : setChecked( !empty( ::aTools[ nIndex, 5 ] ) )
|
||||
::oUI:q_checkOpenCons: setChecked( !empty( ::aTools[ nIndex, 6 ] ) )
|
||||
::oUI:q_editName :setText( ::aTools[ nIndex, 1 ] )
|
||||
::oUI:q_editCmdLine :setText( ::aTools[ nIndex, 2 ] )
|
||||
::oUI:q_editParams :setText( ::aTools[ nIndex, 3 ] )
|
||||
::oUI:q_editStayIn :setText( ::aTools[ nIndex, 4 ] )
|
||||
::oUI:q_checkCapture :setChecked( !empty( ::aTools[ nIndex, 5 ] ) )
|
||||
::oUI:q_checkOpenCons :setChecked( !empty( ::aTools[ nIndex, 6 ] ) )
|
||||
|
||||
::oUI:q_comboToolbarAsgnd:setCurrentIndex( iif( empty( ::aTools[ nIndex, 7 ] ), -1, val( ::aTools[ nIndex, 7 ] ) ) )
|
||||
::oUI:q_checkToolActive :setChecked( ::aTools[ nIndex, 8 ] == "YES" )
|
||||
::oUI:q_editImage :setText( hbide_pathNormalized( ::aTools[ nIndex, 9 ], .f. ) )
|
||||
::oUI:q_buttonSetImage :setIcon( iif( empty( ::aTools[ nIndex, 9 ] ), hbide_image( "open" ), ;
|
||||
hbide_pathToOsPath( ::aTools[ nIndex, 9 ] ) ) )
|
||||
::oUI:q_editTooltip :setText( ::aTools[ nIndex, 10 ] )
|
||||
|
||||
ELSE
|
||||
::oUI:q_editName : setText( "" )
|
||||
::oUI:q_editCmdLine : setText( "" )
|
||||
::oUI:q_editParams : setText( "" )
|
||||
::oUI:q_editStayIn : setText( "" )
|
||||
::oUI:q_checkCapture : setChecked( .f. )
|
||||
::oUI:q_checkOpenCons: setChecked( .f. )
|
||||
::oUI:q_editName :setText( "" )
|
||||
::oUI:q_editCmdLine :setText( "" )
|
||||
::oUI:q_editParams :setText( "" )
|
||||
::oUI:q_editStayIn :setText( "" )
|
||||
::oUI:q_checkCapture :setChecked( .f. )
|
||||
::oUI:q_checkOpenCons :setChecked( .f. )
|
||||
|
||||
::oUI:q_comboToolbarAsgnd:setCurrentIndex( -1 )
|
||||
::oUI:q_checkToolActive :setChecked( .t. )
|
||||
::oUI:q_editImage :setText( "" )
|
||||
::oUI:q_buttonSetImage :setIcon( hbide_image( "open" ) )
|
||||
::oUI:q_editTooltip :setText( "" )
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
@@ -241,78 +566,13 @@ METHOD IdeToolsManager:controls2ini( nIndex )
|
||||
hbide_pathNormalized( ::oUI:q_editParams:text() ), ;
|
||||
hbide_pathNormalized( ::oUI:q_editStayIn:text() ), ;
|
||||
iif( ::oUI:q_checkCapture:isChecked(), "YES", "" ), ;
|
||||
iif( ::oUI:q_checkOpenCons:isChecked(), "YES", "" ) }
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolsManager:execEvent( nMode, p )
|
||||
LOCAL cFile, cFileName, nIndex, qItem, cName, nRow
|
||||
LOCAL aTools := ::aINI[ INI_TOOLS ]
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
SWITCH nMode
|
||||
CASE listNames_itemSelectionChanged
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
cName := qItem:text()
|
||||
IF ( nIndex := ascan( aTools, {|e_| e_[ 1 ] == cName } ) ) > 0
|
||||
::ini2Controls( nIndex )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonAdd_clicked
|
||||
IF !empty( ::oUI:q_editName:text() )
|
||||
::controls2ini()
|
||||
::oUI:q_listNames:addItem( ::oUI:q_editName:text() )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonDelete_clicked
|
||||
IF ::oUI:q_listNames:currentRow() >= 0
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
cName := qItem:text()
|
||||
IF ( nIndex := ascan( aTools, {|e_| e_[ 1 ] == cName } ) ) > 0
|
||||
hb_adel( ::aINI[ INI_TOOLS ], nIndex, .t. )
|
||||
::clearList()
|
||||
::populateList()
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonUp_clicked
|
||||
EXIT
|
||||
CASE buttonDown_clicked
|
||||
EXIT
|
||||
CASE buttonExec_clicked
|
||||
IF ::oUI:q_listNames:currentRow() >= 0
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
::execTool( qItem:text() )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonBrowse_clicked
|
||||
IF !empty( cFile := hbide_fetchAFile( ::oDlg, "Select a Tool" ) )
|
||||
hb_fNameSplit( cFile, , @cFileName )
|
||||
::ini2controls()
|
||||
::oUI:q_editName : setText( cFileName )
|
||||
::oUI:q_editCmdLine : setText( cFile )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonUpdate_clicked
|
||||
IF ( nRow := ::oUI:q_listNames:currentRow() ) >= 0
|
||||
qItem := QListWidgetItem():from( ::oUI:q_listNames:currentItem() )
|
||||
cName := qItem:text()
|
||||
|
||||
IF ( nIndex := ascan( aTools, {|e_| e_[ 1 ] == cName } ) ) > 0
|
||||
::controls2ini( nIndex )
|
||||
::clearList()
|
||||
::populateList()
|
||||
::oUI:q_listNames:setCurrentRow( nRow )
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE buttonClose_clicked
|
||||
::oUI:done( 1 )
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
iif( ::oUI:q_checkOpenCons:isChecked(), "YES", "" ), ;
|
||||
;
|
||||
hb_ntos( ::oUI:q_comboToolbarAsgnd:currentIndex() ), ;
|
||||
iif( ::oUI:q_checkToolActive:isChecked(), "YES", "NO" ), ;
|
||||
::oUI:q_editImage:text(), ;
|
||||
::oUI:q_editTooltip:text() ;
|
||||
}
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -404,6 +664,7 @@ METHOD IdeToolsManager:execToolByParams( cCmd, cParams, cStartIn, lCapture, lOpe
|
||||
IF empty( cCmd )
|
||||
cCmd := hbide_getShellCommand()
|
||||
cArg := iif( hbide_getOS() == "nix", "", "/C " )
|
||||
//cArg := ""
|
||||
ELSE
|
||||
cArg := ""
|
||||
ENDIF
|
||||
@@ -527,12 +788,15 @@ METHOD IdeToolsManager:macro2value( cMacro )
|
||||
CASE cMacroL == "source_fullname"
|
||||
cVal := hbide_pathToOSPath( cPath + cFile + cExt )
|
||||
|
||||
CASE cMacroL == "source_name"
|
||||
cVal := cFile + cExt
|
||||
|
||||
CASE cMacroL == "source_path"
|
||||
cVal := hbide_pathToOSPath( cPath )
|
||||
|
||||
CASE cMacroL == "source_fullname_less_ext"
|
||||
cVal := hbide_pathToOSPath( cPath + cFile )
|
||||
|
||||
CASE cMacroL == "source_name"
|
||||
cVal := cFile + cExt
|
||||
|
||||
CASE cMacroL == "source_ext"
|
||||
cVal := cExt
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 545 B |
BIN
harbour/contrib/hbide/resources/horzruler.png
Normal file
BIN
harbour/contrib/hbide/resources/horzruler.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 608 B |
@@ -48,7 +48,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>2</y>
|
||||
<y>0</y>
|
||||
<width>351</width>
|
||||
<height>365</height>
|
||||
</rect>
|
||||
@@ -56,6 +56,299 @@
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QGroupBox" name="groupBox_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>2</y>
|
||||
<width>331</width>
|
||||
<height>265</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> Source </string>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="checkBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>18</y>
|
||||
<width>301</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Trim trailing blanks while source is saved ?</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>120</y>
|
||||
<width>147</width>
|
||||
<height>135</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> Line ending mode </string>
|
||||
</property>
|
||||
<widget class="QRadioButton" name="radioButton_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>42</y>
|
||||
<width>99</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Auto detected</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioButton_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>64</y>
|
||||
<width>99</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OS dependent</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioButton_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>20</y>
|
||||
<width>131</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>CRLF (0D+0A) default</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioButton_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>86</y>
|
||||
<width>82</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>CR (0D)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioButton_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>110</y>
|
||||
<width>82</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>LF (0A)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>172</x>
|
||||
<y>120</y>
|
||||
<width>149</width>
|
||||
<height>135</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> TABS - Indents</string>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="checkBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>18</y>
|
||||
<width>131</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Convert TAB to spaces</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>42</y>
|
||||
<width>85</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Spaces for a TAB</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>98</x>
|
||||
<y>42</y>
|
||||
<width>39</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>64</y>
|
||||
<width>89</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Auto indent</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>86</y>
|
||||
<width>87</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Smart indent</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>8</x>
|
||||
<y>108</y>
|
||||
<width>59</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Indent size</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>98</x>
|
||||
<y>104</y>
|
||||
<width>39</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>42</y>
|
||||
<width>301</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save source before compiling process starts ?</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>66</y>
|
||||
<width>301</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Supress convertion to uppcase of Harbour keywords ?</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>14</x>
|
||||
<y>92</y>
|
||||
<width>301</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Convert tabs to spaces when a source is loaded ?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_14">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>272</y>
|
||||
<width>157</width>
|
||||
<height>83</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> Display </string>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="checkBox_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>16</y>
|
||||
<width>143</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Show horizontal ruler</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>36</y>
|
||||
<width>151</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Show line numbers</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>58</y>
|
||||
<width>149</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Highlight current line</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_2">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'setup.ui'
|
||||
**
|
||||
** Created: Mon Jun 7 22:16:57 2010
|
||||
** Created: Sun Jun 13 18:46:20 2010
|
||||
** by: Qt User Interface Compiler version 4.6.2
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
@@ -14,11 +14,13 @@
|
||||
#include <QtGui/QAction>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
#include <QtGui/QCheckBox>
|
||||
#include <QtGui/QComboBox>
|
||||
#include <QtGui/QDialog>
|
||||
#include <QtGui/QGroupBox>
|
||||
#include <QtGui/QHeaderView>
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QLineEdit>
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QRadioButton>
|
||||
#include <QtGui/QStackedWidget>
|
||||
@@ -36,6 +38,29 @@ public:
|
||||
QStackedWidget *stackedWidget;
|
||||
QWidget *page;
|
||||
QGroupBox *groupBox;
|
||||
QGroupBox *groupBox_11;
|
||||
QCheckBox *checkBox;
|
||||
QGroupBox *groupBox_12;
|
||||
QRadioButton *radioButton_5;
|
||||
QRadioButton *radioButton_6;
|
||||
QRadioButton *radioButton_7;
|
||||
QRadioButton *radioButton_8;
|
||||
QRadioButton *radioButton_9;
|
||||
QGroupBox *groupBox_13;
|
||||
QCheckBox *checkBox_2;
|
||||
QLabel *label_4;
|
||||
QLineEdit *lineEdit;
|
||||
QCheckBox *checkBox_11;
|
||||
QCheckBox *checkBox_6;
|
||||
QLabel *label_5;
|
||||
QLineEdit *lineEdit_2;
|
||||
QCheckBox *checkBox_10;
|
||||
QCheckBox *checkBox_7;
|
||||
QCheckBox *checkBox_8;
|
||||
QGroupBox *groupBox_14;
|
||||
QCheckBox *checkBox_3;
|
||||
QCheckBox *checkBox_4;
|
||||
QCheckBox *checkBox_5;
|
||||
QWidget *page_2;
|
||||
QGroupBox *groupBox_2;
|
||||
QGroupBox *groupBox_6;
|
||||
@@ -87,7 +112,76 @@ public:
|
||||
page->setObjectName(QString::fromUtf8("page"));
|
||||
groupBox = new QGroupBox(page);
|
||||
groupBox->setObjectName(QString::fromUtf8("groupBox"));
|
||||
groupBox->setGeometry(QRect(0, 2, 351, 365));
|
||||
groupBox->setGeometry(QRect(0, 0, 351, 365));
|
||||
groupBox_11 = new QGroupBox(groupBox);
|
||||
groupBox_11->setObjectName(QString::fromUtf8("groupBox_11"));
|
||||
groupBox_11->setGeometry(QRect(10, 2, 331, 265));
|
||||
checkBox = new QCheckBox(groupBox_11);
|
||||
checkBox->setObjectName(QString::fromUtf8("checkBox"));
|
||||
checkBox->setGeometry(QRect(14, 18, 301, 19));
|
||||
groupBox_12 = new QGroupBox(groupBox_11);
|
||||
groupBox_12->setObjectName(QString::fromUtf8("groupBox_12"));
|
||||
groupBox_12->setGeometry(QRect(10, 120, 147, 135));
|
||||
radioButton_5 = new QRadioButton(groupBox_12);
|
||||
radioButton_5->setObjectName(QString::fromUtf8("radioButton_5"));
|
||||
radioButton_5->setGeometry(QRect(8, 42, 99, 19));
|
||||
radioButton_6 = new QRadioButton(groupBox_12);
|
||||
radioButton_6->setObjectName(QString::fromUtf8("radioButton_6"));
|
||||
radioButton_6->setGeometry(QRect(8, 64, 99, 19));
|
||||
radioButton_7 = new QRadioButton(groupBox_12);
|
||||
radioButton_7->setObjectName(QString::fromUtf8("radioButton_7"));
|
||||
radioButton_7->setGeometry(QRect(8, 20, 131, 19));
|
||||
radioButton_8 = new QRadioButton(groupBox_12);
|
||||
radioButton_8->setObjectName(QString::fromUtf8("radioButton_8"));
|
||||
radioButton_8->setGeometry(QRect(8, 86, 82, 19));
|
||||
radioButton_9 = new QRadioButton(groupBox_12);
|
||||
radioButton_9->setObjectName(QString::fromUtf8("radioButton_9"));
|
||||
radioButton_9->setGeometry(QRect(8, 110, 82, 19));
|
||||
groupBox_13 = new QGroupBox(groupBox_11);
|
||||
groupBox_13->setObjectName(QString::fromUtf8("groupBox_13"));
|
||||
groupBox_13->setGeometry(QRect(172, 120, 149, 135));
|
||||
checkBox_2 = new QCheckBox(groupBox_13);
|
||||
checkBox_2->setObjectName(QString::fromUtf8("checkBox_2"));
|
||||
checkBox_2->setGeometry(QRect(8, 18, 131, 19));
|
||||
label_4 = new QLabel(groupBox_13);
|
||||
label_4->setObjectName(QString::fromUtf8("label_4"));
|
||||
label_4->setGeometry(QRect(8, 42, 85, 16));
|
||||
lineEdit = new QLineEdit(groupBox_13);
|
||||
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
|
||||
lineEdit->setGeometry(QRect(98, 42, 39, 20));
|
||||
checkBox_11 = new QCheckBox(groupBox_13);
|
||||
checkBox_11->setObjectName(QString::fromUtf8("checkBox_11"));
|
||||
checkBox_11->setGeometry(QRect(8, 64, 89, 19));
|
||||
checkBox_6 = new QCheckBox(groupBox_13);
|
||||
checkBox_6->setObjectName(QString::fromUtf8("checkBox_6"));
|
||||
checkBox_6->setGeometry(QRect(8, 86, 87, 19));
|
||||
label_5 = new QLabel(groupBox_13);
|
||||
label_5->setObjectName(QString::fromUtf8("label_5"));
|
||||
label_5->setGeometry(QRect(8, 108, 59, 16));
|
||||
lineEdit_2 = new QLineEdit(groupBox_13);
|
||||
lineEdit_2->setObjectName(QString::fromUtf8("lineEdit_2"));
|
||||
lineEdit_2->setGeometry(QRect(98, 104, 39, 20));
|
||||
checkBox_10 = new QCheckBox(groupBox_11);
|
||||
checkBox_10->setObjectName(QString::fromUtf8("checkBox_10"));
|
||||
checkBox_10->setGeometry(QRect(14, 42, 301, 19));
|
||||
checkBox_7 = new QCheckBox(groupBox_11);
|
||||
checkBox_7->setObjectName(QString::fromUtf8("checkBox_7"));
|
||||
checkBox_7->setGeometry(QRect(14, 66, 301, 19));
|
||||
checkBox_8 = new QCheckBox(groupBox_11);
|
||||
checkBox_8->setObjectName(QString::fromUtf8("checkBox_8"));
|
||||
checkBox_8->setGeometry(QRect(14, 92, 301, 19));
|
||||
groupBox_14 = new QGroupBox(groupBox);
|
||||
groupBox_14->setObjectName(QString::fromUtf8("groupBox_14"));
|
||||
groupBox_14->setGeometry(QRect(10, 272, 157, 83));
|
||||
checkBox_3 = new QCheckBox(groupBox_14);
|
||||
checkBox_3->setObjectName(QString::fromUtf8("checkBox_3"));
|
||||
checkBox_3->setGeometry(QRect(12, 16, 143, 19));
|
||||
checkBox_4 = new QCheckBox(groupBox_14);
|
||||
checkBox_4->setObjectName(QString::fromUtf8("checkBox_4"));
|
||||
checkBox_4->setGeometry(QRect(12, 36, 151, 19));
|
||||
checkBox_5 = new QCheckBox(groupBox_14);
|
||||
checkBox_5->setObjectName(QString::fromUtf8("checkBox_5"));
|
||||
checkBox_5->setGeometry(QRect(12, 58, 149, 19));
|
||||
stackedWidget->addWidget(page);
|
||||
page_2 = new QWidget();
|
||||
page_2->setObjectName(QString::fromUtf8("page_2"));
|
||||
@@ -195,6 +289,27 @@ public:
|
||||
{
|
||||
DialogSetup->setWindowTitle(QApplication::translate("DialogSetup", "Setup", 0, QApplication::UnicodeUTF8));
|
||||
groupBox->setTitle(QString());
|
||||
groupBox_11->setTitle(QApplication::translate("DialogSetup", " Source ", 0, QApplication::UnicodeUTF8));
|
||||
checkBox->setText(QApplication::translate("DialogSetup", "Trim trailing blanks while source is saved ?", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_12->setTitle(QApplication::translate("DialogSetup", " Line ending mode ", 0, QApplication::UnicodeUTF8));
|
||||
radioButton_5->setText(QApplication::translate("DialogSetup", "Auto detected", 0, QApplication::UnicodeUTF8));
|
||||
radioButton_6->setText(QApplication::translate("DialogSetup", "OS dependent", 0, QApplication::UnicodeUTF8));
|
||||
radioButton_7->setText(QApplication::translate("DialogSetup", "CRLF (0D+0A) default", 0, QApplication::UnicodeUTF8));
|
||||
radioButton_8->setText(QApplication::translate("DialogSetup", "CR (0D)", 0, QApplication::UnicodeUTF8));
|
||||
radioButton_9->setText(QApplication::translate("DialogSetup", "LF (0A)", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_13->setTitle(QApplication::translate("DialogSetup", " TABS - Indents", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_2->setText(QApplication::translate("DialogSetup", "Convert TAB to spaces", 0, QApplication::UnicodeUTF8));
|
||||
label_4->setText(QApplication::translate("DialogSetup", "Spaces for a TAB", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_11->setText(QApplication::translate("DialogSetup", "Auto indent", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_6->setText(QApplication::translate("DialogSetup", "Smart indent", 0, QApplication::UnicodeUTF8));
|
||||
label_5->setText(QApplication::translate("DialogSetup", "Indent size", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_10->setText(QApplication::translate("DialogSetup", "Save source before compiling process starts ?", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_7->setText(QApplication::translate("DialogSetup", "Supress convertion to uppcase of Harbour keywords ?", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_8->setText(QApplication::translate("DialogSetup", "Convert tabs to spaces when a source is loaded ?", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_14->setTitle(QApplication::translate("DialogSetup", " Display ", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_3->setText(QApplication::translate("DialogSetup", "Show horizontal ruler", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_4->setText(QApplication::translate("DialogSetup", "Show line numbers", 0, QApplication::UnicodeUTF8));
|
||||
checkBox_5->setText(QApplication::translate("DialogSetup", "Highlight current line", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_2->setTitle(QString());
|
||||
groupBox_6->setTitle(QApplication::translate("DialogSetup", "Caret after paste operation", 0, QApplication::UnicodeUTF8));
|
||||
label->setText(QApplication::translate("DialogSetup", "Stream Selection:", 0, QApplication::UnicodeUTF8));
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 751 B |
@@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>280</width>
|
||||
<width>602</width>
|
||||
<height>425</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -320,6 +320,300 @@ p, li { white-space: pre-wrap; }
|
||||
<string>Open Output Console ?</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>284</x>
|
||||
<y>164</y>
|
||||
<width>307</width>
|
||||
<height>111</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> Toolbars: </string>
|
||||
</property>
|
||||
<widget class="QComboBox" name="comboInitPos">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>114</x>
|
||||
<y>32</y>
|
||||
<width>93</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkDockTop">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>246</x>
|
||||
<y>28</y>
|
||||
<width>53</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Top</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QListWidget" name="listToolbars">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>18</y>
|
||||
<width>93</width>
|
||||
<height>83</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkDockRight">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>246</x>
|
||||
<y>82</y>
|
||||
<width>53</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Right</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>246</x>
|
||||
<y>12</y>
|
||||
<width>53</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Dockable:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkDockBottom">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>246</x>
|
||||
<y>64</y>
|
||||
<width>53</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Bottom</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkDockLeft">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>246</x>
|
||||
<y>46</y>
|
||||
<width>53</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Left</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>116</x>
|
||||
<y>14</y>
|
||||
<width>89</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Iniitial Position:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkFloatable">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>114</x>
|
||||
<y>60</y>
|
||||
<width>71</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Floatable</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkInactive">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>114</x>
|
||||
<y>82</y>
|
||||
<width>71</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Inactive</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="buttonUserToolbarUpd">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>182</x>
|
||||
<y>63</y>
|
||||
<width>55</width>
|
||||
<height>37</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Update</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>284</x>
|
||||
<y>284</y>
|
||||
<width>307</width>
|
||||
<height>131</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> Toolbar Buttons: </string>
|
||||
</property>
|
||||
<widget class="QTableWidget" name="tableButtons">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>16</y>
|
||||
<width>253</width>
|
||||
<height>107</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="buttonBtnDown">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>272</x>
|
||||
<y>16</y>
|
||||
<width>25</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="buttonBtnUp">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>272</x>
|
||||
<y>46</y>
|
||||
<width>25</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>284</x>
|
||||
<y>8</y>
|
||||
<width>307</width>
|
||||
<height>147</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string> Current Tools Assignment to Toolbar: </string>
|
||||
</property>
|
||||
<widget class="QComboBox" name="comboToolbarAsgnd">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>199</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="editImage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>66</y>
|
||||
<width>249</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>48</y>
|
||||
<width>81</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Image:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="buttonSetImage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>270</x>
|
||||
<y>66</y>
|
||||
<width>25</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>98</y>
|
||||
<width>57</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Tooltip:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="editTooltip">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>116</y>
|
||||
<width>249</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkToolActive">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>246</x>
|
||||
<y>22</y>
|
||||
<width>57</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Active</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading ui file 'toolsutilities.ui'
|
||||
** Form generated from reading UI file 'toolsutilities.ui'
|
||||
**
|
||||
** Created: Sun Apr 4 19:24:53 2010
|
||||
** by: Qt User Interface Compiler version 4.5.2
|
||||
** Created: Sun Jun 13 00:20:38 2010
|
||||
** by: Qt User Interface Compiler version 4.6.2
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef TOOLSUTILITIES_H
|
||||
@@ -15,13 +15,17 @@
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
#include <QtGui/QCheckBox>
|
||||
#include <QtGui/QComboBox>
|
||||
#include <QtGui/QDialog>
|
||||
#include <QtGui/QFrame>
|
||||
#include <QtGui/QGroupBox>
|
||||
#include <QtGui/QHeaderView>
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QLineEdit>
|
||||
#include <QtGui/QListWidget>
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QTableWidget>
|
||||
#include <QtGui/QToolButton>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
@@ -49,12 +53,36 @@ public:
|
||||
QLineEdit *editStayIn;
|
||||
QCheckBox *checkCapture;
|
||||
QCheckBox *checkOpenCons;
|
||||
QGroupBox *groupBox;
|
||||
QComboBox *comboInitPos;
|
||||
QCheckBox *checkDockTop;
|
||||
QListWidget *listToolbars;
|
||||
QCheckBox *checkDockRight;
|
||||
QLabel *label_4;
|
||||
QCheckBox *checkDockBottom;
|
||||
QCheckBox *checkDockLeft;
|
||||
QLabel *label_3;
|
||||
QCheckBox *checkFloatable;
|
||||
QCheckBox *checkInactive;
|
||||
QPushButton *buttonUserToolbarUpd;
|
||||
QGroupBox *groupBox_2;
|
||||
QTableWidget *tableButtons;
|
||||
QToolButton *buttonBtnDown;
|
||||
QToolButton *buttonBtnUp;
|
||||
QGroupBox *groupBox_3;
|
||||
QComboBox *comboToolbarAsgnd;
|
||||
QLineEdit *editImage;
|
||||
QLabel *label_2;
|
||||
QToolButton *buttonSetImage;
|
||||
QLabel *label_5;
|
||||
QLineEdit *editTooltip;
|
||||
QCheckBox *checkToolActive;
|
||||
|
||||
void setupUi(QDialog *DialogTools)
|
||||
{
|
||||
if (DialogTools->objectName().isEmpty())
|
||||
DialogTools->setObjectName(QString::fromUtf8("DialogTools"));
|
||||
DialogTools->resize(280, 425);
|
||||
DialogTools->resize(602, 425);
|
||||
labelCmdLine = new QLabel(DialogTools);
|
||||
labelCmdLine->setObjectName(QString::fromUtf8("labelCmdLine"));
|
||||
labelCmdLine->setGeometry(QRect(12, 236, 251, 16));
|
||||
@@ -120,6 +148,78 @@ public:
|
||||
checkOpenCons = new QCheckBox(DialogTools);
|
||||
checkOpenCons->setObjectName(QString::fromUtf8("checkOpenCons"));
|
||||
checkOpenCons->setGeometry(QRect(134, 362, 131, 19));
|
||||
groupBox = new QGroupBox(DialogTools);
|
||||
groupBox->setObjectName(QString::fromUtf8("groupBox"));
|
||||
groupBox->setGeometry(QRect(284, 164, 307, 111));
|
||||
comboInitPos = new QComboBox(groupBox);
|
||||
comboInitPos->setObjectName(QString::fromUtf8("comboInitPos"));
|
||||
comboInitPos->setGeometry(QRect(114, 32, 93, 22));
|
||||
checkDockTop = new QCheckBox(groupBox);
|
||||
checkDockTop->setObjectName(QString::fromUtf8("checkDockTop"));
|
||||
checkDockTop->setGeometry(QRect(246, 28, 53, 19));
|
||||
listToolbars = new QListWidget(groupBox);
|
||||
listToolbars->setObjectName(QString::fromUtf8("listToolbars"));
|
||||
listToolbars->setGeometry(QRect(10, 18, 93, 83));
|
||||
checkDockRight = new QCheckBox(groupBox);
|
||||
checkDockRight->setObjectName(QString::fromUtf8("checkDockRight"));
|
||||
checkDockRight->setGeometry(QRect(246, 82, 53, 19));
|
||||
label_4 = new QLabel(groupBox);
|
||||
label_4->setObjectName(QString::fromUtf8("label_4"));
|
||||
label_4->setGeometry(QRect(246, 12, 53, 16));
|
||||
checkDockBottom = new QCheckBox(groupBox);
|
||||
checkDockBottom->setObjectName(QString::fromUtf8("checkDockBottom"));
|
||||
checkDockBottom->setGeometry(QRect(246, 64, 53, 19));
|
||||
checkDockLeft = new QCheckBox(groupBox);
|
||||
checkDockLeft->setObjectName(QString::fromUtf8("checkDockLeft"));
|
||||
checkDockLeft->setGeometry(QRect(246, 46, 53, 19));
|
||||
label_3 = new QLabel(groupBox);
|
||||
label_3->setObjectName(QString::fromUtf8("label_3"));
|
||||
label_3->setGeometry(QRect(116, 14, 89, 16));
|
||||
checkFloatable = new QCheckBox(groupBox);
|
||||
checkFloatable->setObjectName(QString::fromUtf8("checkFloatable"));
|
||||
checkFloatable->setGeometry(QRect(114, 60, 71, 19));
|
||||
checkInactive = new QCheckBox(groupBox);
|
||||
checkInactive->setObjectName(QString::fromUtf8("checkInactive"));
|
||||
checkInactive->setGeometry(QRect(114, 82, 71, 19));
|
||||
buttonUserToolbarUpd = new QPushButton(groupBox);
|
||||
buttonUserToolbarUpd->setObjectName(QString::fromUtf8("buttonUserToolbarUpd"));
|
||||
buttonUserToolbarUpd->setGeometry(QRect(182, 63, 55, 37));
|
||||
groupBox_2 = new QGroupBox(DialogTools);
|
||||
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
|
||||
groupBox_2->setGeometry(QRect(284, 284, 307, 131));
|
||||
tableButtons = new QTableWidget(groupBox_2);
|
||||
tableButtons->setObjectName(QString::fromUtf8("tableButtons"));
|
||||
tableButtons->setGeometry(QRect(10, 16, 253, 107));
|
||||
buttonBtnDown = new QToolButton(groupBox_2);
|
||||
buttonBtnDown->setObjectName(QString::fromUtf8("buttonBtnDown"));
|
||||
buttonBtnDown->setGeometry(QRect(272, 16, 25, 20));
|
||||
buttonBtnUp = new QToolButton(groupBox_2);
|
||||
buttonBtnUp->setObjectName(QString::fromUtf8("buttonBtnUp"));
|
||||
buttonBtnUp->setGeometry(QRect(272, 46, 25, 20));
|
||||
groupBox_3 = new QGroupBox(DialogTools);
|
||||
groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
|
||||
groupBox_3->setGeometry(QRect(284, 8, 307, 147));
|
||||
comboToolbarAsgnd = new QComboBox(groupBox_3);
|
||||
comboToolbarAsgnd->setObjectName(QString::fromUtf8("comboToolbarAsgnd"));
|
||||
comboToolbarAsgnd->setGeometry(QRect(10, 20, 199, 22));
|
||||
editImage = new QLineEdit(groupBox_3);
|
||||
editImage->setObjectName(QString::fromUtf8("editImage"));
|
||||
editImage->setGeometry(QRect(10, 66, 249, 20));
|
||||
label_2 = new QLabel(groupBox_3);
|
||||
label_2->setObjectName(QString::fromUtf8("label_2"));
|
||||
label_2->setGeometry(QRect(12, 48, 81, 16));
|
||||
buttonSetImage = new QToolButton(groupBox_3);
|
||||
buttonSetImage->setObjectName(QString::fromUtf8("buttonSetImage"));
|
||||
buttonSetImage->setGeometry(QRect(270, 66, 25, 20));
|
||||
label_5 = new QLabel(groupBox_3);
|
||||
label_5->setObjectName(QString::fromUtf8("label_5"));
|
||||
label_5->setGeometry(QRect(12, 98, 57, 16));
|
||||
editTooltip = new QLineEdit(groupBox_3);
|
||||
editTooltip->setObjectName(QString::fromUtf8("editTooltip"));
|
||||
editTooltip->setGeometry(QRect(10, 116, 249, 20));
|
||||
checkToolActive = new QCheckBox(groupBox_3);
|
||||
checkToolActive->setObjectName(QString::fromUtf8("checkToolActive"));
|
||||
checkToolActive->setGeometry(QRect(246, 22, 57, 19));
|
||||
|
||||
retranslateUi(DialogTools);
|
||||
|
||||
@@ -197,7 +297,24 @@ public:
|
||||
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This has the bearing on visiblity of the widget. The output will ever be routed therein no matter this box is checked or not.</p></body></html>", 0, QApplication::UnicodeUTF8));
|
||||
#endif // QT_NO_TOOLTIP
|
||||
checkOpenCons->setText(QApplication::translate("DialogTools", "Open Output Console ?", 0, QApplication::UnicodeUTF8));
|
||||
Q_UNUSED(DialogTools);
|
||||
groupBox->setTitle(QApplication::translate("DialogTools", " Toolbars: ", 0, QApplication::UnicodeUTF8));
|
||||
checkDockTop->setText(QApplication::translate("DialogTools", "Top", 0, QApplication::UnicodeUTF8));
|
||||
checkDockRight->setText(QApplication::translate("DialogTools", "Right", 0, QApplication::UnicodeUTF8));
|
||||
label_4->setText(QApplication::translate("DialogTools", "Dockable:", 0, QApplication::UnicodeUTF8));
|
||||
checkDockBottom->setText(QApplication::translate("DialogTools", "Bottom", 0, QApplication::UnicodeUTF8));
|
||||
checkDockLeft->setText(QApplication::translate("DialogTools", "Left", 0, QApplication::UnicodeUTF8));
|
||||
label_3->setText(QApplication::translate("DialogTools", "Iniitial Position:", 0, QApplication::UnicodeUTF8));
|
||||
checkFloatable->setText(QApplication::translate("DialogTools", "Floatable", 0, QApplication::UnicodeUTF8));
|
||||
checkInactive->setText(QApplication::translate("DialogTools", "Inactive", 0, QApplication::UnicodeUTF8));
|
||||
buttonUserToolbarUpd->setText(QApplication::translate("DialogTools", "Update", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_2->setTitle(QApplication::translate("DialogTools", " Toolbar Buttons: ", 0, QApplication::UnicodeUTF8));
|
||||
buttonBtnDown->setText(QApplication::translate("DialogTools", "...", 0, QApplication::UnicodeUTF8));
|
||||
buttonBtnUp->setText(QApplication::translate("DialogTools", "...", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_3->setTitle(QApplication::translate("DialogTools", " Current Tools Assignment to Toolbar: ", 0, QApplication::UnicodeUTF8));
|
||||
label_2->setText(QApplication::translate("DialogTools", "Image:", 0, QApplication::UnicodeUTF8));
|
||||
buttonSetImage->setText(QApplication::translate("DialogTools", "...", 0, QApplication::UnicodeUTF8));
|
||||
label_5->setText(QApplication::translate("DialogTools", "Tooltip:", 0, QApplication::UnicodeUTF8));
|
||||
checkToolActive->setText(QApplication::translate("DialogTools", "Active", 0, QApplication::UnicodeUTF8));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
:hbApplyKey( nKey, nModifiers, cTxt ) -> NIL
|
||||
:hbHighlightArea( nTop, nLeft, nBottom, nRight, nMode ) -> NIL
|
||||
:hbTogglePersistentSelection() -> NIL
|
||||
:hbHorzRulerVisible( lVisible ) -> NIL
|
||||
|
||||
$DESCRIPTION$
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
:hbSetRule( cName, cPattern, pFormat ) -> NIL
|
||||
:hbSetFormat( cName, pFormat ) -> NIL
|
||||
:hbSetFormatColumnSelection( nStart, nCount, pColor ) -> NIL
|
||||
:hbSetRuleWithRegExp( cName, pReg, pFormat ) -> NIL
|
||||
|
||||
$DESCRIPTION$
|
||||
|
||||
|
||||
@@ -112,6 +112,7 @@ HBQPlainTextEdit::HBQPlainTextEdit( QWidget * parent ) : QPlainTextEdit( parent
|
||||
selectionDisplay = selectionDisplay_none;
|
||||
isColumnSelectionON = false;
|
||||
isLineSelectionON = false;
|
||||
horzRulerHeight = 20;
|
||||
horzRuler = new HorzRuler( this );
|
||||
caretState = 0;
|
||||
isSelectionByApplication = false;
|
||||
@@ -1251,13 +1252,13 @@ bool HBQPlainTextEdit::hbKeyPressSelection( QKeyEvent * event )
|
||||
|
||||
void HBQPlainTextEdit::keyPressEvent( QKeyEvent * event )
|
||||
{
|
||||
HB_TRACE( HB_TR_ALWAYS, ( "keyPressEvent %i 000", event->key() ) );
|
||||
//HB_TRACE( HB_TR_ALWAYS, ( "keyPressEvent %i 000", event->key() ) );
|
||||
if( hbKeyPressSelection( event ) )
|
||||
{
|
||||
QApplication::processEvents();
|
||||
return;
|
||||
}
|
||||
HB_TRACE( HB_TR_ALWAYS, ( "keyPressEvent %i", event->key() ) );
|
||||
//HB_TRACE( HB_TR_ALWAYS, ( "keyPressEvent %i", event->key() ) );
|
||||
if( c && c->popup()->isVisible() )
|
||||
{
|
||||
// The following keys are forwarded by the completer to the widget
|
||||
@@ -1343,9 +1344,9 @@ void HBQPlainTextEdit::resizeEvent( QResizeEvent *e )
|
||||
QPlainTextEdit::resizeEvent( e );
|
||||
|
||||
QRect cr = contentsRect();
|
||||
lineNumberArea->setGeometry( QRect( cr.left(), cr.top() + HORZRULER_HEIGHT, hbLineNumberAreaWidth(), cr.height() ) );
|
||||
lineNumberArea->setGeometry( QRect( cr.left(), cr.top() + horzRulerHeight, hbLineNumberAreaWidth(), cr.height() ) );
|
||||
|
||||
horzRuler->setGeometry( QRect( cr.left(), cr.top(), cr.width(), HORZRULER_HEIGHT ) );
|
||||
horzRuler->setGeometry( QRect( cr.left(), cr.top(), cr.width(), horzRulerHeight ) );
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1858,15 +1859,23 @@ int HBQPlainTextEdit::hbLineNumberAreaWidth()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
void HBQPlainTextEdit::hbUpdateHorzRulerHeight( int height )
|
||||
{
|
||||
horzRulerHeight = height;
|
||||
setViewportMargins( hbLineNumberAreaWidth(), horzRulerHeight, 0, 0 );
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
void HBQPlainTextEdit::hbUpdateLineNumberAreaWidth( int )
|
||||
{
|
||||
if( numberBlock )
|
||||
{
|
||||
setViewportMargins( hbLineNumberAreaWidth(), HORZRULER_HEIGHT, 0, 0 );
|
||||
setViewportMargins( hbLineNumberAreaWidth(), horzRulerHeight, 0, 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
setViewportMargins( 0, HORZRULER_HEIGHT, 0, 0 );
|
||||
setViewportMargins( 0, horzRulerHeight, 0, 0 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -70,12 +70,9 @@
|
||||
|
||||
#include "hbqt_hbqsyntaxhighlighter.h"
|
||||
|
||||
#define HORZRULER_HEIGHT 20
|
||||
|
||||
class LineNumberArea;
|
||||
class HorzRuler;
|
||||
|
||||
|
||||
class HBQPlainTextEdit : public QPlainTextEdit
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -116,6 +113,8 @@ public:
|
||||
void hbHighlightCurrentLine( bool b ) { highlightCurLine = b; update(); };
|
||||
bool hbHighlightCurrentLine() { return highlightCurLine; };
|
||||
void hbSetEventBlock( PHB_ITEM pBlock );
|
||||
int horzRulerHeight;
|
||||
void hbUpdateHorzRulerHeight( int height );
|
||||
|
||||
private:
|
||||
QVector<int> bookMark;
|
||||
@@ -206,6 +205,7 @@ public slots:
|
||||
void hbApplyKey( int key, Qt::KeyboardModifiers modifiers = 0, const QString & txt = "" );
|
||||
void hbHighlightArea( int, int, int, int, int );
|
||||
void hbTogglePersistentSelection();
|
||||
void hbHorzRulerVisible( bool visible ) { hbUpdateHorzRulerHeight( visible ? 20 : 0 ); };
|
||||
|
||||
private slots:
|
||||
void hbSlotCursorPositionChanged();
|
||||
@@ -258,7 +258,7 @@ public:
|
||||
protected:
|
||||
QSize sizeHint() const
|
||||
{
|
||||
return QSize( codeEditor->viewport()->width(), HORZRULER_HEIGHT );
|
||||
return QSize( codeEditor->viewport()->width(), codeEditor->horzRulerHeight );
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -106,6 +106,10 @@ void HBQSyntaxHighlighter::hbSetRule( QString name, QString pattern, const QText
|
||||
else
|
||||
HighlightingRules.remove( name );
|
||||
}
|
||||
void HBQSyntaxHighlighter::hbSetRuleWithRegExp( QString name, const QRegExp & reg, const QTextCharFormat & format )
|
||||
{
|
||||
HighlightingRules.insert( name, HighlightingRule( reg, format ) );
|
||||
}
|
||||
void HBQSyntaxHighlighter::hbSetFormat( QString name, const QTextCharFormat & format )
|
||||
{
|
||||
if( ( QString ) "TerminatedStrings" == name )
|
||||
@@ -118,7 +122,6 @@ void HBQSyntaxHighlighter::hbSetFormat( QString name, const QTextCharFormat & fo
|
||||
{
|
||||
HighlightingRule rule = HighlightingRules.value( name );
|
||||
QRegExp reg = rule.pattern;
|
||||
|
||||
HighlightingRules.insert( name, HighlightingRule( reg, format ) );
|
||||
}
|
||||
else
|
||||
@@ -168,6 +171,7 @@ void HBQSyntaxHighlighter::highlightBlock( const QString &text )
|
||||
|
||||
foreach( const HighlightingRule &rule, HighlightingRules )
|
||||
{
|
||||
#if 0
|
||||
QRegExp expression( rule.pattern );
|
||||
index = expression.indexIn( text );
|
||||
while( index >= 0 )
|
||||
@@ -176,6 +180,14 @@ void HBQSyntaxHighlighter::highlightBlock( const QString &text )
|
||||
setFormat( index, length, rule.format );
|
||||
index = expression.indexIn( text, index + length );
|
||||
}
|
||||
#endif
|
||||
index = rule.pattern.indexIn( text );
|
||||
while( index >= 0 )
|
||||
{
|
||||
int length = rule.pattern.matchedLength();
|
||||
setFormat( index, length, rule.format );
|
||||
index = rule.pattern.indexIn( text, index + length );
|
||||
}
|
||||
}
|
||||
|
||||
/* Quoted text */
|
||||
|
||||
@@ -89,6 +89,7 @@ public:
|
||||
void hbSetRule( QString name, QString pattern, const QTextCharFormat & format );
|
||||
void hbSetFormat( QString name, const QTextCharFormat & format );
|
||||
void hbSetFormatColumnSelection( int start, int count, const QColor & color );
|
||||
void hbSetRuleWithRegExp( QString name, const QRegExp & reg, const QTextCharFormat & format );
|
||||
|
||||
protected:
|
||||
void highlightBlock( const QString &text );
|
||||
|
||||
@@ -846,6 +846,20 @@ HB_FUNC( QT_HBQPLAINTEXTEDIT_HBTOGGLEPERSISTENTSELECTION )
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* void hbHorzRulerVisible( bool visible )
|
||||
*/
|
||||
HB_FUNC( QT_HBQPLAINTEXTEDIT_HBHORZRULERVISIBLE )
|
||||
{
|
||||
HBQPlainTextEdit * p = hbqt_par_HBQPlainTextEdit( 1 );
|
||||
if( p )
|
||||
( p )->hbHorzRulerVisible( hb_parl( 2 ) );
|
||||
else
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQPLAINTEXTEDIT_HBHORZRULERVISIBLE FP=( p )->hbHorzRulerVisible( hb_parl( 2 ) ); p is NULL" ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
#endif /* #if QT_VERSION >= 0x040500 */
|
||||
|
||||
@@ -217,6 +217,20 @@ HB_FUNC( QT_HBQSYNTAXHIGHLIGHTER_HBSETFORMATCOLUMNSELECTION )
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* void hbSetRuleWithRegExp( QString name, const QRegExp & reg, const QTextCharFormat & format )
|
||||
*/
|
||||
HB_FUNC( QT_HBQSYNTAXHIGHLIGHTER_HBSETRULEWITHREGEXP )
|
||||
{
|
||||
HBQSyntaxHighlighter * p = hbqt_par_HBQSyntaxHighlighter( 1 );
|
||||
if( p )
|
||||
( p )->hbSetRuleWithRegExp( HBQSyntaxHighlighter::tr( hb_parc( 2 ) ), *hbqt_par_QRegExp( 3 ), *hbqt_par_QTextCharFormat( 4 ) );
|
||||
else
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_HBQSYNTAXHIGHLIGHTER_HBSETRULEWITHREGEXP FP=( p )->hbSetRuleWithRegExp( HBQSyntaxHighlighter::tr( hb_parc( 2 ) ), *hbqt_par_QRegExp( 3 ), *hbqt_par_QTextCharFormat( 4 ) ); p is NULL" ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
#endif /* #if QT_VERSION >= 0x040500 */
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Constructed[ 46/53 [ 86.79% ] ]
|
||||
* Constructed[ 46/54 [ 85.19% ] ]
|
||||
*
|
||||
* *** Unconvered Prototypes ***
|
||||
* -----------------------------
|
||||
@@ -78,6 +78,7 @@
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
|
||||
#include <QtCore/QPointer>
|
||||
@@ -527,12 +528,14 @@ HB_FUNC( QT_QTABLEWIDGET_SETHORIZONTALHEADERLABELS )
|
||||
*/
|
||||
HB_FUNC( QT_QTABLEWIDGET_SETITEM )
|
||||
{
|
||||
QTableWidget * p = hbqt_par_QTableWidget( 1 );
|
||||
if( p )
|
||||
( p )->setItem( hb_parni( 2 ), hb_parni( 3 ), hbqt_par_QTableWidgetItem( 4 ) );
|
||||
else
|
||||
QGC_POINTER * p = ( QGC_POINTER * ) hb_parptrGC( hbqt_gcFuncs(), 1 );
|
||||
QGC_POINTER * q = ( QGC_POINTER * ) hb_parptrGC( hbqt_gcFuncs(), 4 );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "Entering function QT_QTABLEWIDGET_SETITEM()" ) );
|
||||
if( p && p->ph && q && q->ph )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "............................... F=QT_QTABLEWIDGET_SETITEM FP=( p )->setItem( hb_parni( 2 ), hb_parni( 3 ), hbqt_par_QTableWidgetItem( 4 ) ); p is NULL" ) );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "QT_QTABLEWIDGET_SETITEM() Qt object: %p is attached to: %p", p->ph, q->ph ) );
|
||||
q->bNew = HB_FALSE;
|
||||
hbqt_par_QTableWidget( 1 )->setItem( hb_parni( 2 ), hb_parni( 3 ), hbqt_par_QTableWidgetItem( 4 ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -116,6 +116,7 @@ CREATE CLASS HBQPlainTextEdit INHERIT HbQtObjectHandler, QPlainTextEdit
|
||||
METHOD hbApplyKey( nKey, nModifiers, cTxt )
|
||||
METHOD hbHighlightArea( nTop, nLeft, nBottom, nRight, nMode )
|
||||
METHOD hbTogglePersistentSelection()
|
||||
METHOD hbHorzRulerVisible( lVisible )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -324,3 +325,7 @@ METHOD HBQPlainTextEdit:hbHighlightArea( nTop, nLeft, nBottom, nRight, nMode )
|
||||
METHOD HBQPlainTextEdit:hbTogglePersistentSelection()
|
||||
RETURN Qt_HBQPlainTextEdit_hbTogglePersistentSelection( ::pPtr )
|
||||
|
||||
|
||||
METHOD HBQPlainTextEdit:hbHorzRulerVisible( lVisible )
|
||||
RETURN Qt_HBQPlainTextEdit_hbHorzRulerVisible( ::pPtr, lVisible )
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ CREATE CLASS HBQSyntaxHighlighter INHERIT HbQtObjectHandler, QSyntaxHighlighter
|
||||
METHOD hbSetRule( cName, cPattern, pFormat )
|
||||
METHOD hbSetFormat( cName, pFormat )
|
||||
METHOD hbSetFormatColumnSelection( nStart, nCount, pColor )
|
||||
METHOD hbSetRuleWithRegExp( cName, pReg, pFormat )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -104,3 +105,7 @@ METHOD HBQSyntaxHighlighter:hbSetFormat( cName, pFormat )
|
||||
METHOD HBQSyntaxHighlighter:hbSetFormatColumnSelection( nStart, nCount, pColor )
|
||||
RETURN Qt_HBQSyntaxHighlighter_hbSetFormatColumnSelection( ::pPtr, nStart, nCount, hbqt_ptr( pColor ) )
|
||||
|
||||
|
||||
METHOD HBQSyntaxHighlighter:hbSetRuleWithRegExp( cName, pReg, pFormat )
|
||||
RETURN Qt_HBQSyntaxHighlighter_hbSetRuleWithRegExp( ::pPtr, cName, hbqt_ptr( pReg ), hbqt_ptr( pFormat ) )
|
||||
|
||||
|
||||
@@ -147,6 +147,7 @@ HB_FUNC( QT_HBQPLAINTEXTEDIT )
|
||||
void hbApplyKey( int key, Qt::KeyboardModifiers modifiers = 0, const QString & txt )
|
||||
void hbHighlightArea( int top, int left, int bottom, int right, int mode )
|
||||
void hbTogglePersistentSelection()
|
||||
void hbHorzRulerVisible( bool visible )
|
||||
</SLOTS>
|
||||
|
||||
<SIGNALS>
|
||||
|
||||
114
harbour/contrib/hbqt/qth/HBQSyntaxHighlighter.qth
Normal file
114
harbour/contrib/hbqt/qth/HBQSyntaxHighlighter.qth
Normal file
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* QT Source Generator for Harbour
|
||||
*
|
||||
* Copyright 2009 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
;
|
||||
; Header File to Generate QT Wrapper Sources
|
||||
;
|
||||
|
||||
<CLASS>
|
||||
QObject =
|
||||
Inherits = QSyntaxHighlighter
|
||||
Type =
|
||||
New =
|
||||
</CLASS>
|
||||
|
||||
<SUBCLASS>
|
||||
</SUBCLASS>
|
||||
|
||||
<DOC>
|
||||
</DOC>
|
||||
|
||||
<CODE>
|
||||
#include <QtGui/QSyntaxHighlighter>
|
||||
#include "../hbqt_hbqsyntaxhighlighter.h"
|
||||
|
||||
/*
|
||||
*
|
||||
*
|
||||
*/
|
||||
HB_FUNC( QT_HBQSYNTAXHIGHLIGHTER )
|
||||
{
|
||||
hb_retptr( new HBQSyntaxHighlighter( hbqt_par_QTextDocument( 1 ) ) );
|
||||
}
|
||||
</CODE>
|
||||
|
||||
<ENUMS>
|
||||
</ENUMS>
|
||||
|
||||
<PROTOS>
|
||||
|
||||
void hbSetMultiLineCommentFormat( const QTextCharFormat & format )
|
||||
void hbSetSingleLineCommentFormat( const QTextCharFormat & format )
|
||||
void hbSetRule( QString name, QString pattern, QTextCharFormat & format )
|
||||
void hbSetFormat( QString name, const QTextCharFormat & format )
|
||||
void hbSetFormatColumnSelection( int start, int count, const QColor & color )
|
||||
void hbSetRuleWithRegExp( QString name, const QRegExp & reg, const QTextCharFormat & format )
|
||||
|
||||
# QTextBlock currentBlock () const
|
||||
# int currentBlockState () const
|
||||
# QTextBlockUserData * currentBlockUserData () const
|
||||
# QTextCharFormat format ( int position ) const
|
||||
# virtual void highlightBlock ( const QString & text ) = 0
|
||||
# int previousBlockState () const
|
||||
# void setCurrentBlockState ( int newState )
|
||||
# void setCurrentBlockUserData ( QTextBlockUserData * data )
|
||||
# void setFormat ( int start, int count, const QTextCharFormat & format )
|
||||
# void setFormat ( int start, int count, const QColor & color )
|
||||
# void setFormat ( int start, int count, const QFont & font )
|
||||
|
||||
</PROTOS>
|
||||
|
||||
<SLOTS>
|
||||
</SLOTS>
|
||||
|
||||
<SIGNALS>
|
||||
</SIGNALS>
|
||||
@@ -140,7 +140,19 @@ void setHorizontalHeaderItem ( int column, QTableWidgetItem * item ){
|
||||
}
|
||||
|
||||
void setHorizontalHeaderLabels ( const QStringList & labels )
|
||||
void setItem ( int row, int column, QTableWidgetItem * item )
|
||||
|
||||
void setItem ( int row, int column, QTableWidgetItem * item ){
|
||||
QGC_POINTER * p = ( QGC_POINTER * ) hb_parptrGC( hbqt_gcFuncs(), 1 );
|
||||
QGC_POINTER * q = ( QGC_POINTER * ) hb_parptrGC( hbqt_gcFuncs(), 4 );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "Entering function QT_QTABLEWIDGET_SETITEM()" ) );
|
||||
if( p && p->ph && q && q->ph )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "QT_QTABLEWIDGET_SETITEM() Qt object: %p is attached to: %p", p->ph, q->ph ) );
|
||||
q->bNew = HB_FALSE;
|
||||
hbqt_par_QTableWidget( 1 )->setItem( hb_parni( 2 ), hb_parni( 3 ), hbqt_par_QTableWidgetItem( 4 ) );
|
||||
}
|
||||
}
|
||||
|
||||
void setItemPrototype ( const QTableWidgetItem * item )
|
||||
void setRangeSelected ( const QTableWidgetSelectionRange & range, bool select )
|
||||
void setRowCount ( int rows )
|
||||
|
||||
Reference in New Issue
Block a user