Commit Graph

134 Commits

Author SHA1 Message Date
Pritpal Bedi
2709aa1385 2011-01-30 19:41 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idesaveload.prg
    + Added: .hbp in "Compiler File" types.
             .qrc as "Text Files" type.
    % Rearranged: "Format" option in editing instance's context menu.
2011-01-31 03:50:18 +00:00
Pritpal Bedi
001895779c 2011-01-10 10:11 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbwin/wapi_winuser.c
    + Added: WAPI_IsWindow( phWnd ) -> lYes

  - contrib/gtwvg/wvgsink.c
    - Deleted local implementation of Active-X events management.
      Core is now much more accomplished.

  * contrib/gtwvg/wvgax.prg
    ! Modified: to honor core components instead of local ones.

  * contrib/gtwvg/gtwvg.hbp
    - Deleted: wvgsink.c

  * contrib/gtwvg/tests/wvgactivex.prg
    ! Changed: http://www.harbour.vouch.info => http://hbide.vouch.info.

  * contrib/hbide/ideeditor.prg
    ! Added: "Format Source" prompt in editing instance's context menu.
2011-01-10 18:20:28 +00:00
Viktor Szakats
a623c4232f 2010-11-30 08:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
    ! hb_socketSetReuseAddr() changed on win platforms to use
      SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR. See http://paste.lisp.org/display/59751.
      Rough patch, maybe the logic isn't applied to the right place,
      maybe extra win version checks are required, please test it
      and patch it further if needed.

  * src/rtl/hbinet.c
    * s_inetBind() changed back to call hb_socketSetReuseAddr() also
      on win platforms.

  * contrib/hbwin/tests/testole.prg
    + Added shortcut creation example.

  * contrib/hbide/idemisc.prg
    ! Fixed HBIDE_PATHNORMALIZED() to _never_ lowercase passed
      filename. As discussed very long time ago, such behavior
      is not portable. For comparison purposes HB_FILEMATCH()
      should be used, for other purposes _no_ change should be
      done by hbide in filename casing. Ever.
      This is brute force fix only applied to low-level code.
      It will cause regressions on the higher level, which have
      to be fixed.
    ; TODO: Delete this second parameter from all calls, now
            the value is ignored.
    ; TOFIX: Review all
             HBIDE_PATHNORMALIZED() and
             HBIDE_PATHNORMALIZED( p, .T. )
             calls if they are used in comparison context and change
             caller code to use HB_FILEMATCH().
    ; TOFIX: All current code which uses LOWER()/UPPER() to
             "normalize" filename before comparison with '=='
             operator should also be changed to HB_FILEMATCH().
             (except for cases where extension is used in the
             sense of file type).
    ; TOFIX: Rest of cases where LOWER()/UPPER() is applied to
             filenames.
    ! Fixed HBIDE_PATHFILE() to never uppercase drive letter.
      It's not strictly required since all so far known systems
      supporting drive letter are case insensitive, but it's
      nevertheless not the job of hbide to reformat pathnames.

  * contrib/hbide/ideactions.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
    ! Fixed some code to use HB_FILEMATCH() instead of unconditional
      uppercasing/lowercasing. Please review and finish this modification, 
      there might be more hidden places and might have overlooked anything 
      in this patch.
2010-11-30 07:46:52 +00:00
Pritpal Bedi
99c8573458 2010-10-16 14:36 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_misc.prg
    ! Adopted: HB_*Class:from( pPtr ) => *ClassFromPointer( pPtr ).

  * contrib/hbqt/hbqt_hbmk2_plugin.hbs
  * contrib/hbqt/qtgui/THbQtUI.prg
    ! Minor optimization.

  * contrib/hbqt/tests/testbrow.prg
    ! Adopted: HB_*Class:from( pPtr ) => *ClassFromPointer( pPtr ).

  * contrib/hbqt/utils/hbqtgen.prg
    + Implemented: HB_*Class:from( pPtr ) => *ClassFromPointer( pPtr ).

  * contrib/hbqt/qtcore/g/*.prg
  * contrib/hbqt/qtgui/g/*.prg
  * contrib/hbqt/qtnetwork/g/*.prg
  * contrib/hbqt/qtwebkit/g/*.prg
    * Re-generated.

  * contrib/hbxbp/xbp3state.prg
  * contrib/hbxbp/xbpappevent.prg
  * contrib/hbxbp/xbpbrowse.prg
  * contrib/hbxbp/xbpcheckbox.prg
  * contrib/hbxbp/xbpcombobox.prg
  * contrib/hbxbp/xbpdialog.prg
  * contrib/hbxbp/xbpmenubar.prg
  * contrib/hbxbp/xbpmle.prg
  * contrib/hbxbp/xbpprinter.prg
  * contrib/hbxbp/xbppushbutton.prg
  * contrib/hbxbp/xbpradiobutton.prg
  * contrib/hbxbp/xbpscrollbar.prg
  * contrib/hbxbp/xbpsle.prg
  * contrib/hbxbp/xbpspinbutton.prg
  * contrib/hbxbp/xbpstatic.prg
  * contrib/hbxbp/xbpstatusbar.prg
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbptoolbar.prg
  * contrib/hbxbp/xbpwindow.prg
    ! Adopted: HB_*Class:from( pPtr ) => *ClassFromPointer( pPtr ).

  * contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/hbqtoolbar.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/idethemes.prg
    ! Adopted: HB_*Class:from( pPtr ) => *ClassFromPointer( pPtr ).

    REGRESSION(s) are possible because hbQT now does another parameter check.
2010-10-16 22:11:32 +00:00
Pritpal Bedi
3b7b686f85 2010-10-12 22:20 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_misc.prg
  * contrib/hbqt/qtgui/THbQtUI.prg

  * contrib/hbxbp/xbp3state.prg
  * contrib/hbxbp/xbpbrowse.prg
  * contrib/hbxbp/xbpcheckbox.prg
  * contrib/hbxbp/xbpcombobox.prg
  * contrib/hbxbp/xbpmle.prg
  * contrib/hbxbp/xbppushbutton.prg
  * contrib/hbxbp/xbpradiobutton.prg
  * contrib/hbxbp/xbpscrollbar.prg
  * contrib/hbxbp/xbpsle.prg
  * contrib/hbxbp/xbpspinbutton.prg
  * contrib/hbxbp/xbpstatic.prg
  * contrib/hbxbp/xbpstatusbar.prg
  * contrib/hbxbp/xbptabpage.prg

  * contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/hbqtoolbar.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/idethemes.prg
    % Optimized: Q*Class():from( pPtr ) => HB_Q*Class():from( pPtr )
2010-10-13 05:26:33 +00:00
Pritpal Bedi
c8063b7f8b 2010-10-02 17:34 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idetools.prg

  * contrib/hbqt/hbqt_hbmk2_plugin.hbs

  * contrib/hbqt/qtcore/hbqt.h
  * contrib/hbqt/qtcore/hbqt_misc.prg
  * contrib/hbqt/qtcore/hbqt_pointer.cpp
  * contrib/hbqt/qtcore/qth/HBQEvents.qth
  * contrib/hbqt/qtcore/qth/HBQSlots.qth
  * contrib/hbqt/qtcore/qth/HBQString.qth
  * contrib/hbqt/qtcore/qth/QAbstractEventDispatcher.qth
  * contrib/hbqt/qtcore/qth/QAbstractItemModel.qth
  * contrib/hbqt/qtcore/qth/QMetaObject.qth
  * contrib/hbqt/qtcore/qth/QMetaType.qth

  * contrib/hbqt/qtgui/qth/QBitmap.qth
  * contrib/hbqt/qtgui/qth/QBrush.qth
  * contrib/hbqt/qtgui/qth/QColor.qth
  * contrib/hbqt/qtgui/qth/QComboBox.qth
  * contrib/hbqt/qtgui/qth/QWidget.qth

  * contrib/hbqt/qtgui/THbQtUI.prg

  * contrib/hbxbp/xbpbrowse.prg
  * contrib/hbxbp/xbpdialog.prg
  * contrib/hbxbp/xbplistbox.prg
  * contrib/hbxbp/xbprtf.prg
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbptreeview.prg

  * contrib/hbqt/utils/hbqtgen.prg
    ! Changed: massively to produce optimized and 0 fault 
      tolerant code.

  * contrib/hbqt/qt*/*.cpp, *.prg, *.txt
    * Re-generated, whichever fall into above changes.

    This commit addresses a lot of issues:
      1. Parameters checking is now mandatory. You have to supply 
         the correct number of parameters. No defaults are assumed.
         PLUS you need to supply correct type of parameter.

      2. PRG class representation is changed.
         Now you can get fairly good documentation from looking 
         at the class declaration. You will never have to refer 
         the method body which has no meaning as such.
         Here is a snippet:

   METHOD  itemAbove                     // ( oQTreeWidgetItem )                               -> oQTreeWidgetItem
   METHOD  itemAt                        // ( oQPoint )                                        -> oQTreeWidgetItem
                                         // ( nX, nY )                                         -> oQTreeWidgetItem
   METHOD  itemBelow                     // ( oQTreeWidgetItem )                               -> oQTreeWidgetItem
   METHOD  itemWidget                    // ( oQTreeWidgetItem, nColumn )                      -> oQWidget
   METHOD  openPersistentEditor          // ( oQTreeWidgetItem, nColumn )                      -> NIL

         The methods with variable number and type of parameters
         are shown beneth first call.

      3. Accordingly, class_*.txt documentation is also updated. 

      4. A method call now never accepts a pointer, only an
         hbQT object. This fixes one/half of the issue - one sided.
         TODO: fix sending raw pointers to PRG code from C++ code.

         :-)) hbIDE is up and running with all its glory, no GPFs.
              Some regression would be possible but you will have 
              RTE popping up, so easily fixable.
2010-10-03 01:09:16 +00:00
Pritpal Bedi
14e94276d0 2010-09-29 15:00 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idesaveload.prg

  * contrib/hbxbp/xbplistbox.prg
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbptreeview.prg
    ! Removed all remaining occurances of :pPtr.
2010-09-29 21:58:32 +00:00
Pritpal Bedi
3df3d58089 2010-09-28 09:43 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtwebkit/g/TQWebSecurityOrigin.prg
  * contrib/hbqt/qtwebkit/g/TQWebSettings.prg
  * contrib/hbqt/qtwebkit/g/TQWebView.prg

  * contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/hbqtoolbar.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/ideskeletons.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idetools.prg
    ! Adopted to latest changes.

  * contrib/hbxbp/hbpprocess.prg
  * contrib/hbxbp/xbp3state.prg
  * contrib/hbxbp/xbpappevent.prg
  * contrib/hbxbp/xbpbitmap.prg
  * contrib/hbxbp/xbpbrowse.prg
  * contrib/hbxbp/xbpcheckbox.prg
  * contrib/hbxbp/xbpclipboard.prg
  * contrib/hbxbp/xbpcombobox.prg
  * contrib/hbxbp/xbpdialog.prg
  * contrib/hbxbp/xbpfiledialog.prg
  * contrib/hbxbp/xbpfontdialog.prg
  * contrib/hbxbp/xbphtmlviewer.prg
  * contrib/hbxbp/xbplistbox.prg
  * contrib/hbxbp/xbpmenubar.prg
  * contrib/hbxbp/xbpmle.prg
  * contrib/hbxbp/xbpprintdialog.prg
  * contrib/hbxbp/xbppushbutton.prg
  * contrib/hbxbp/xbpradiobutton.prg
  * contrib/hbxbp/xbprtf.prg
  * contrib/hbxbp/xbpscrollbar.prg
  * contrib/hbxbp/xbpsle.prg
  * contrib/hbxbp/xbpspinbutton.prg
  * contrib/hbxbp/xbpstatic.prg
  * contrib/hbxbp/xbpstatusbar.prg
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbptoolbar.prg
  * contrib/hbxbp/xbptreeview.prg
  * contrib/hbxbp/xbpwindow.prg
    * Adopted to latest changes.

  * contrib/hbqt/tests/demoqt.prg
    * Adopted to latest changes.

  * contrib/hbqt/utils/hbqtgen.prg
    + Implemented: many-t-one class method call on PRG level.
    
      NOTES: this implementation is a leap forward in the evolution of hbQT.
             Now any method call returns the Harbour compatible type.
             It means any Qt method call which is expected to return a 
             hbQT object was returning a pointer to the object, now returns 
             a hbQT class object instance instead.

             So, the code like this:
                qCursor := QTextCursor():from( qDoc:textCursor() )
             =>
                qCursor := qDoc:textCursor()
             And this implementation is exactly like Qt itself 
             where you can pass the return object directly as an 
             argument to the another method call.
                pw := iif( abs( ::pen():widthF() ) > 0, abs( ::pen():widthF() ), 1 )

             See hbIDE code to review how it is simplified by now.  

      WARNING: regression is highly possible and may be hbIDE become 
               unstable for some time.
              
               3rd party libraries: adopt new code to your advantage.
               Many things are incompatible now.
2010-09-28 17:03:15 +00:00
Pritpal Bedi
3bcf85ab56 2010-09-20 18:56 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/tests/demoqt.prg

  * contrib/hbxbp/xbpmenubar.prg
  * contrib/hbxbp/xbptoolbar.prg

  * contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideskeletons.prg

  * contrib/hbqt/qtgui/doc/en/class_qmainwindow.txt
  * contrib/hbqt/qtgui/doc/en/class_qmenu.txt
  * contrib/hbqt/qtgui/g/QMainWindow.cpp
  * contrib/hbqt/qtgui/g/QMenu.cpp
  * contrib/hbqt/qtgui/g/TQMainWindow.prg
  * contrib/hbqt/qtgui/g/TQMenu.prg
    * Re-generated.

  * contrib/hbqt/qtgui/qth/QMainWindow.qth
  * contrib/hbqt/qtgui/qth/QMenu.qth
    + Implemented: many-to-one method call protocol.
2010-09-21 01:58:06 +00:00
Viktor Szakats
37040fc4fc 2010-09-15 20:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/hbqt/qtgui/hbqtgui.ch
  * contrib/hbqt/qtgui/hbqtgui.hbc
  * contrib/hbqt/qtgui/hbqtgui.hbp
  + contrib/hbqt/qtwebkit/hbqtwebkit.ch
  * contrib/hbqt/qtwebkit/hbqtwebkit.hbc
  * contrib/hbqt/qtwebkit/hbqtwebkit.hbp
  + contrib/hbqt/qtcore/hbqtcore.ch
  * contrib/hbqt/qtcore/hbqtcore.hbp
    + Monotlithic hbqt.ch split to per-component headers.

  - contrib/hbqt/hbqt.ch
    - Deleted. Please use hbqtcore.ch, hbqtgui.ch instead.
    ; INCOMPATIBLE.
    ; NOTE: hbqt.ch was automatically including hbtrace.ch,
            with per-component headers this is no longer true,
            so if you need it you have to include it explicitly.
    ; NOTE: QT_PTROF() compatibility macro has been removed.
            It was a dummy, so either remove it from your code
            or readd the macro locally until then.

  * contrib/hbqt/qtcore/hbqt.h
    * Changed 'type' form int to unsigned int.

  * contrib/gtwvg/tests/wvgqt.prg
    - Deleted obsolete macro.

  * contrib/hbqt/qtcore/hbqt_misc.prg
  * contrib/hbqt/hbqt_hbmk2_plugin.hbs
  * contrib/hbqt/qtgui/hbqt_errorsys.prg
  * contrib/hbqt/qtgui/THbQtUI.prg
  * contrib/hbqt/qtgui/qth/QColor.qth
  * contrib/hbqt/tests/demoqt.prg
  * contrib/hbqt/tests/testres.prg
  * contrib/hbqt/tests/dialogqt.prg
  * contrib/hbqt/tests/testbrow.prg
  * contrib/hbqt/tests/testqaim.prg
  * contrib/hbxbp/xbpappevent.prg
  * contrib/hbxbp/xbp.ch
  * contrib/hbxbp/xbpstatic.prg
  * contrib/hbxbp/hbpprocess.prg
  * contrib/hbide/hbqtoolbar.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/idewizard.prg
  * contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/idedict.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idetools.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/ideskeletons.prg
  * contrib/hbide/ideenviron.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
    * Changed to #include hbqtcore.ch/hbqtgui.ch instead of hbqt.ch.

  * contrib/hbqt/qtgui/doc/en/class_qcolor.txt
    * Regenerated.

  ; Everything HBQT related shall be rebuilt.
2010-09-15 18:06:48 +00:00
Pritpal Bedi
718689834e 2010-09-14 15:05 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/hbqtoolbar.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedict.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/ideskeletons.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idetools.prg
  * contrib/hbide/idewizard.prg
    ! Adopted to new hbQT class syntax.
      Q*Class():new( ... ) => Q*Class( ... )
                
      Regression is highly possible, so please report errors.
2010-09-14 22:10:44 +00:00
Pritpal Bedi
b8de4a0498 2010-08-26 18:15 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
- contrib/hbide/idereportsmanager.prg
  - contrib/hbide/idetoolbar.prg

  + contrib/hbide/hbqreportsmanager.prg
  + contrib/hbide/hbqtoolbar.prg

  * contrib/hbide/hbide.hbp

  * contrib/hbide/hbide.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/ideskeletons.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idetools.prg
    + Adopted to latest Slots/Events protocol.
    + Renamed two classes and also their filenames.
    + Advanced: saving a report.

      WARNING: regression is highly possible, please report any errors.
2010-08-27 01:18:11 +00:00
Pritpal Bedi
c6fb8242a4 2010-08-05 18:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ contrib/hbide/resources/view_refresh.png
  * contrib/hbide/hbide.qrc
    + Added: one more image.

  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
    + Added: "Reload Source" icon on the MDI area top-toolbar.
      This facilitates to reload the source from disk. If the source 
      in the editor in modified state, a confirmation dialog is presented.

    ! Rearranged: MDI area left-toolbar icons to break them 
      in more logical units.

    ! Fixed: under MDI editing mode "Find" icon had stopped to work.

    ! Fixed: "Horizontal/Vertical" split option was not refreshed 
      under context menu after first activation.
2010-08-06 01:32:44 +00:00
Viktor Szakats
8572f57500 2010-08-03 10:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    + Generalized extern generation.
    + Added generation of core extern headers. (no launched yet)

  * config/global.mk
    + Exporting variables needed for automatic hbextern gerenation.
    % Deleted HB_DYN_COMPILE variable. (unused)

  * include/Makefile
  - include/hbexturs.ch
  + include/hbextudd.ch
  + include/hbextsca.ch
  * include/hbextern.ch
    + Added separate header for scalar classes.
      INCOMPATIBLE: Now they should be activated by '#include "hbextsca.ch"'
      instead of '#define HB_REQUEST_SCALAR / #include "hbextern.ch"'
    * Renamed hbexturs.ch to hbextudd.ch

  * contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
  * contrib/hbqt/qtgui/hbqt_hbqmainwindow.cpp
  * contrib/hbqt/qtgui/THbQtUI.prg
  * contrib/hbqt/qtcore/hbqt_hbslots.cpp
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbpwindow.prg
  * contrib/hbxbp/xbpdialog.prg
  * contrib/hbxbp/xbpgeneric.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/idedict.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idedocks.prg
    * HB_TR_ALWAYS -> HB_TR_DEBUG.
2010-08-04 08:42:08 +00:00
Pritpal Bedi
ff53c0f49b 2010-07-29 18:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth
    + Added: methods to control code completions and completion tips.

  + contrib/hbide/resources/help1.png
  + contrib/hbide/resources/infotips.png

  * contrib/hbide/hbide.qrc
    + Added: two more images foe code completions and completion tips.

  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
    + Added: controls to toggle code completions and completion tips.
      The settings are not saved for the next run and are applicable 
      per editing instance.
2010-07-30 01:50:14 +00:00
Pritpal Bedi
bb4cc5818d 2010-07-24 18:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
    + Added: one more method call.
  
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
    + Implemented: <intellisense><code completion> for 
      FIELD-> and someAlias-> table fields for tables opened in ideDBU.

      How it Works:
        1. Open few tables in ideDBU.
        2. In some editor instance type "FIELD->" 
           It will set the field completion mode ON.
        3. type some letter starting a field, say, "a"
           Code completion dialog will open with all fields 
           starting with "a" contained in all the tables opened.
        4. To get list of all fields in all tables,
           after typing FIELD-> type "x" and then press back space.
        5. To get field completions for a particular alias,
           type "that_Particular_alias->" and then some letter.
        6. To get all fields in an alias type "alias" then "->" then "x" then press "backspace".

      Presentation:
        FIELD->   FieldName ( TableName ) FieldsOrdinalNumber, FieldType, FieldLength, DecPlaces
                  =>
                  SaleAmount ( Invoice ) 13, N, 12, 2

        Invoice-> FieldName FieldsOrdinalNumber, FieldType, FieldLength, DecPlaces
                  =>
                  SaleAmount 13, N, 12, 2
2010-07-25 01:48:27 +00:00
Pritpal Bedi
4974542ee9 2010-07-23 09:23 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth
    + Prepared: to handle another field completion protocol - 
                a work-in-progress.

  * contrib/hbxbp/xbpbrowse.prg
    ! Minor.

  * contrib/hbide/idebrowse.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
    + Prepared: to handle field completion engine.
2010-07-23 16:28:53 +00:00
Pritpal Bedi
5aed11e87b 2010-07-11 19:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbide.hbp
    - Deleted: ideprotos.prg

  - contrib/hbide/plugins/example_gui.hbs
  + contrib/hbide/plugins/hbide_script_qtgui.hbs
    + Added: the prefix "hbide_script_" to hbide callable script files.

  - contrib/hbide/plugins/savebackup.hbs
  + contrib/hbide/plugins/hbide_plugin_savebackup.hbs
    + Added: the prefix "hbide_plugin_" to hbIDE plugin files.

  + contrib/hbide/resources/file-open.png
  * contrib/hbide/hbide.qrc
    + Added: one more image for tool-buttons on "Files" page of "Setup".

  * contrib/hbide/editor.ui
  * contrib/hbide/environments.ui
  * contrib/hbide/setup.ui
    % Modified and Added: some of the components.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideenviron.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idehbprotos.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideplugins.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideskeletons.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idethemes.prg
    + Implemented: hbIDE installation independent paths to hold 
      various files and components. Now only hbide.ini reference is 
      required to load all other parameters pointing to next 
      needed locations for various components. It also effectively
      means that hbIDE can be distributed as stand alone single 
      executable ( if linked statically with Qt ) or only with 
      Qt's run-time .dlls. hbIDE now makes no assumptions itself.
      User has to furnish few infos, though, interfaced at a single point.

      The Interface to hold information : <Setup><Files>
 
      The Paths and Files Interpretation:

         0. hbide.ini Path                  - File - Cmd Line: APPDATA|HOME/hbide
         1. Harbour's Root Path             - Path - No Assumptions: should be provided
         2. Hbmk2 Executable Location       - File - Default: hb_getenv("HBIDE_DIR_HBMK2")/hbmk2
         3. Resources [Plugins,Scripts,etc] - Path - Default: _Path_of_hbIDE_ini_
         4. Temporary Files                 - Path - Reserved: TODO
         5. Environments [.env]             - File - Default: _Path_of_hbIDE_ini_dot_env
         6. Keyboard Mappings [.scu]        - File - Default: _Path_of_hbIDE_ini_dot_scu
         7. Code Snippets [.skl]            - File - Default: _Path_of_hbIDE_ini_dot_skl
         8. Syntax Highlighter Themes [.hbt]- File - Default: _Path_of_hbIDE_ini_dot_hbt

      The interface provides for a quick editing of .env.skl.hbt files in-place.
      Interface also provides for viewing facility of hbide.ini file.
 
      Plugins and scripts have gone prefix and usage changes:

         1. _Path_to_Resources/hbide_auto_*.hbs|prg are automatically executed
            just after hbIDE appears on the screen.

         2. _Path_to_Resources/hbide_plugin_*.prg|hbs|hrb can be defined to be 
            executed as per previous instructions.
 
         3. _Path_to_Resources/hbide_protos_* are automatically loaded for 
            code completion lists leading to proto-tips. [New - details below]

    + Implemented: auto loading of code completion lists and proto-tips.
      Any file as hbide_protos_SOMENAME_with_or_without_extention placed in 
      _Resources_ folder will be automatically loaded at startup. These files 
      are plain text files. The following rules apply:

         1. Each proto must be placed on one line.
         2. Blank lines are permissible.
         3. Commands can be placed on multiple lines, 
            each line ending with ";" except the last one, like:
               COPY [TO <(f)>] [SDF] [FIELDS <fields,...>] ;
                    [FOR <for>] [WHILE <while>] [NEXT <next>] ;
                    [RECORD <rec>] [<rest:REST>] [ALL] [CODEPAGE <cp>]
         4. Functions must be opened with a brace without any preceeding space:
               MyFunction ( abd, cde, efg )  =>  Wrong
               MyFunction( abd, cde, efg )   =>  Right

      I must be omitting some more facts which may have been changed|removed.
      Also regression is possible, please make few tests and report back if 
      something went weired.
2010-07-12 04:41:12 +00:00
Pritpal Bedi
98f27e0741 2010-07-10 12:03 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    ! Adjusted horizontal position of proto-tip.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idesources.prg
    ! Changed: the way sources were alerted to be saved if in modified
      state when exiting hbIDE. Now <Cancel> option is not provided.

    + Implemented: proto-tip highlights the current argument corresponding
      to the cursor position within the function's opening brace and 
      end of the line.
2010-07-10 19:14:47 +00:00
Pritpal Bedi
9fd84b2d61 2010-07-09 18:35 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
    + Implemented: completely reworked code completion basics 
      and brand new function prototype display as tooltip 
      ( now entirely native widget with many extras ).
2010-07-10 01:38:23 +00:00
Pritpal Bedi
222c70a39d 2010-07-09 00:04 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    ! Changed: threshhold to activate codec ompletion list from 3 to 1.

  + contrib/hbide/idehbprotos.prg
    + Added: Harbour prototypes generated auto from Harbour documentation
      text file spread in harbour/../doc/en folders.

  * contrib/hbide/hbide.hbp
    + Added: idehbprotos.prg.

  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idesaveload.prg
    + Implemented: in-place Harbour keywords and prototypes as a .prg list.
      Now no need to have Harbour installed on the machine to have them.
2010-07-09 07:28:05 +00:00
Pritpal Bedi
94a2b83375 2010-07-08 19:01 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
    + Implemented: Harbour function definitions which are part of 
      Harbour documentation files in /doc/en folders viewable in 
      Documentation Viewer available as code completion lists.
      For this to happen, you must have Harbour's root path 
      provided in Documentation Viewer dialog.
      So, as an example, if definitions are loaded ok, you 
      must see a list of QWeb*() functions as soon as you type "Web"
      in an editing instance.

      Please provide your input what else is missing.
2010-07-09 02:12:21 +00:00
Pritpal Bedi
234bff10c3 2010-07-08 10:21 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
    ! More fix to previous. Now the visibility of source behavior is Ok.
   
  * contrib/hbide/ideeditor.prg
    ! Changed: numeric to character events notation.

  * contrib/hbide/idesaveload.prg
    ! Minor.
2010-07-08 17:27:04 +00:00
Pritpal Bedi
b659d0135d 2010-07-06 18:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ contrib/hbide/editor.ui
    + Added: to be used a little while.

  * contrib/hbide/setup.ui
    + Added: <Selections><Code Completion>
             1. Completion List with Arguments ?
             2. Complete Code including Arguments ?

  * contrib/hbide/hbide.hbp
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/idesaveload.prg
    + Implemented: a better control over code completion feature.
      Now completion list can be presented with argument list intact,
      i.e., hbide_isValidSource( cSourceFile ) can be presented 
      either as (default) hbide_isValidSource     OR
                          hbide_isValidSource( cSourceFile )
      Similarily, code can also be completed including arguments
      list or without it. Please experiment.
2010-07-07 01:36:09 +00:00
Pritpal Bedi
8592af5e5b 2010-07-06 12:46 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/ideedit.prg
    ! .hbs extension treated as .prg for editing operations 
      and syntax highlighting.

  * contrib/hbide/ideeditor.prg
    ! .hbs extension treated as a source.

  * contrib/hbide/ideplugins.prg
    ! deleted redundant code.

  * contrib/hbide/ideprojmanager.prg
    ! Enabled to compile a source and run it without any project 
      definition ( Reported by Antonio Linares ).

  * contrib/hbide/idesaveload.prg
    ! Included .hbs as valid text file extension.
2010-07-06 19:52:42 +00:00
Pritpal Bedi
562ca599a3 2010-07-04 08:40 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt.ch
  * contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbqt/hbqt_hbslots.h
    + Added: more slots covering QMdiArea and QMdiSubWindow classes.

  * contrib/hbxbp/xbpbrowse.prg
    ! Reworked: event handelling methods more spontaneous.

  + contrib/hbide/resources/browser.png
  + contrib/hbide/resources/formview.png
  + contrib/hbide/resources/thumbnail.png
  + contrib/hbide/resources/view_cascaded.png
  + contrib/hbide/resources/view_organized.png
  + contrib/hbide/resources/view_tabbed.png
  + contrib/hbide/resources/view_tiled.png

  * contrib/hbide/hbide.qrc
    + Added: few images as above.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideskeletons.prg
  * contrib/hbide/idestylesheets.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idetools.prg

    + Reworked: application theme management.
      Now it includes the missing components from previous.

    + Reworked: ideDBU interface.
      Now it is hosted in a MDI interface which is more natural
      to table management, including relational views. User can 
      rearrange and resize the browsers to his personal tastes.
      Here is the layout hirarchy of ideDBU:
        
      hbIDE
        ideDBU - docking pane, right-hand, floatable, dockable.
          Toolbar
            Add a table, Form View, Tabbed View, Original View, 
                 Cascaded View, Tiled View, Remove browser, 
                 Panels - create button, switch menu
          Panels - user defined, only one visible at a time
            Panel 1
              Browser 1 - .dbf, an array ( TODO, functionality is there )
              Browser 2 
              Browser n
            Panel 2 
              Browser 1
              Browser 2 
              Browser n
            Panel n 
              Browser 1
              Browser 2 
              Browser n
          Panels retain their last contents and are presented 
          on next run as is. The only exception being panel "Main" 
          is always the first visible.

      NOTE: there is a lot on my drawing board.
            So far I was struggling to make the behavior of 
            XbpBrowser stable per TBrowse specs and interface
            design. Rest will follow soon.
2010-07-04 16:08:52 +00:00
Pritpal Bedi
7982bb7f0f 2010-06-29 17:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idetools.prg
    % Minor fix in "buttonBrowse_clicked" event which was causing
      RTE when there was no other Tool defined.

    ! Fix to Ctrl+G which stopped working after keyboard macros 
      synchronization few days back.

    ! Thumbnail window is closed if a source is closed. To 
      activate it for another source you need to activate it again.
      However, switching over to another source, it stays as is.

    + Reimplemented: split behavior of current editing instance.

      Before it was done in fixed halved window plus split 
      was available verically and horintally any level deep.
      This was neither appropriate nor desired behavior.

      Now split is presented in resizable window either horizontally
      or vertically. The behavior can be changed if all splitted 
      windows are closed first and then again split is initiated.
      
      Above anomalies reported by Viktor, thanks.      
      Please test and report back any fix is not upto mark.
2010-06-30 00:59:29 +00:00
Pritpal Bedi
99d556772d 2010-06-29 09:07 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/xbpbrowse.prg
    ! Some more tweaking in event handelling.

  * contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
    + Prepared: to honor multiple panels to host views of ideDBU
      sessions plus arranged to host a tree-view at the left 
      if there will be a need in the future.

    + Added: toolbar to ideDBU interface with ounly one button
      <Open> to add a table to the view. Now table open dialog
      is not presented at the time of invocation.

    + Improved: ideDBU view to take care of available 
      space more intelligently.
2010-06-29 16:25:26 +00:00
Pritpal Bedi
83cd26eed4 2010-06-28 01:12 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbide.hbp

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  + contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbxbp/xbpbrowse.prg

    + Implemented: database tables manager ( dbu ). 
      A work-in-progress but you can have a feel of it.
        1. "View"->"Browser Widget"->Select a Table.
        2. Hide the widget and repeat process 1, select another table.
        3. The widget will now contain both browsers. 

    NOTE: many surprises may be there, just bear with me, 
          it is a quick commit. Refinements are scheduled for 
          this whole week.
2010-06-28 08:19:55 +00:00
Pritpal Bedi
580ed68ee0 2010-06-27 19:34 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/toolsutilities.ui
    + Added "Plugin" "Init at startup" slots.

  * contrib/hbqt/hbqt_hbslots.cpp
    + Deactivated: one tracelog entry.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideplugins.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idetools.prg

    % Fixed: docking widgets had stopped to be resizable.

    + Enhanced: plugins are now supported in .prg format also.

    + REQUESTed all hbQT and hbXBP classes for scripts to be 
      completely functional.

    + Added: "Plugins" combo-box and "Init at startup" checkbox in 
      "Tools & Utilities" dialog below to "Command Line Parameters".
      If "Init at startup" checkbox is checked then this plugin 
      is initialized at startup. Such defined plugins can be placed 
      on user-defined toolbars and can be executed directly from 
      there. 

      "Parameters" editbox can hold the parameters passed to the plugin.
      The format of such parameters is like command line but with one 
      difference that string parameter are enclosed in double quotes and 
      separated by spaces. For example: "open" 100 100 700 500.

    + Initialized: plugins at the startup which are flagged as such 
      through  "Tools & Utilities" interface. It facilitate to hook
      user defined parameters, object tweakings, etc at the startup.
      For example, user can setup compiler and or build environment
      with hb_setEnv() functions.
  
    + Top-Toolbar icon "Run as Script". This option allow you to run 
      source of current editing instance as a script. It is especially 
      handy to debug isolated dialogs etc on the fly. Below is an 
      example to test a dialog:

         FUNCTION Main()
            LOCAL oDlg
            LOCAL nT := 10, nL := 10, nW := 300, nH := 200

            oDlg := QDialog():new()
            oDlg:move( nT, nL )
            oDlg:resize( nW, nH )

            oDlg:exec()

            RETURN NIL
     
      NOTE: no preprocessor is available, so all variable must be self contained.

      Preceived, thoughtof, tested, by Antonio Linares, thanks.
2010-06-28 03:29:19 +00:00
Pritpal Bedi
c3e5f6e611 2010-06-21 01:15 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ contrib/hbide/resources/font.png
  * contrib/hbide/resources/setup.ui
  * contrib/hbide/resources/setup.uic

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idethemes.prg
    + Implemented: following options contained in "Setup" dialog:
        <General> Trim trailing blanks while source is saved ( default: true )
                  Save source before "compile" starts ( default: true )
                  Suppress conversion to upper case - Harbour keywords ( default: false )
                  Keyword RETURN to be treated as BEGINING-At type ( default: false )
                  Convert tabs to spaces when a source is loaded ( default: false )
         
                  Line ending mode: CRLF, CR, LF, Auto ( default: Auto )
                  Spaces for a tab ( default: 3 )
                  Auto indent ( default: true )
                  Smart indent ( default: true )

                  Show horizontal ruler ( default: true ) ( in-time )
                  show line numbers ( default: true ) ( in-time )
                  Highlight current line ( default: true ) ( in-time )
                  Application theme ( default: none ) ( in-time )
                  Animated display ( default false ) ( in-time )

        <Font>    Font name and size.
                  
                  Transitory temp backup period ( default: 60 seconds )
                   
                  Text file extensions: add, delete.

        <Variables> Key/Value pairs : add, delete, up, down 
                  Add and type key and associated value.
                  ( just definition now - implementation follows )
                  This feature is scheduled to be used extensively.
2010-06-21 08:16:41 +00:00
Pritpal Bedi
4618f04be4 2010-06-18 18:14 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbide.ch
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideenviron.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idetools.prg
    + Remodelled: ::aINI - hbide.ini variables container.
      It is now encapsulated in a object - ::aINI => ::oINI.
      This implementation has made this construct extendible to 
      any extent. Earlier it was a real mess to add one more 
      option on top of the existing one.
2010-06-19 01:17:42 +00:00
Pritpal Bedi
73f05660a7 2010-06-17 19:07 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/resources/setup.ui
  * contrib/hbide/resources/setup.uic
  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idestylesheets.prg
    + Started: cleaning and extendibility of .ini variables.
2010-06-18 02:08:28 +00:00
Pritpal Bedi
05fd080872 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-14 02:31:15 +00:00
Pritpal Bedi
c2556d1b65 2010-06-05 11:01 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp

  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideobject.prg
    + Implemented: interface to find next/previous occurance of selected 
      text in the current editing instance. 

      The moment some text is selected in the editor, two tool-buttons will 
      automatically show-up on the lower-right corner of the editing window 
      to facilitate you execute "find" operation for selected text up or down.
      Buttons will disappear where there is no more selected text.

      The feature was requested by Antonio Linares.
2010-06-05 18:09:35 +00:00
Viktor Szakats
d37442fc17 2010-06-03 18:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbqt_hbqtableview.h
  * contrib/hbqt/hbqt_hbevents.h
  * contrib/hbqt/hbqt_hbdbfmodel.cpp
  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/hbqt.ch
  * contrib/hbqt/hbqt_errorsys.prg
  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
  * contrib/hbqt/tests/demoqt.prg
  * contrib/hbqt/THbQtUI.prg
  * contrib/hbqt/hbqt_hbqmainwindow.h
  * contrib/hbqt/hbqt_hbqtableview.cpp
  * contrib/hbqt/hbqt_hbevents.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/gtqtc/gtqtc.cpp
  * contrib/hbqt/gtqtc/hbgtqtc.ch
  * contrib/hbqt/gtqtc/gtqtc.h
  * contrib/hbqt/hbqt_hbslots.h
  * contrib/hbqt/hbqt.h
  * contrib/hbqt/hbqt_hbdbfmodel.h
  * contrib/hbqt/hbqt_destruct.cpp
  * contrib/hbqt/plug_moc.prg
  * contrib/hbqt/hbqt_utils.cpp
  * contrib/hbqt/hbqt_misc.prg
  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
  * contrib/hbqt/hbqt_hbqmainwindow.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_base.cpp
  * contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbziparc/hbziparc.prg
  * contrib/hbxbp/xbpappevent.prg
  * contrib/hbxbp/xbpsle.prg
  * contrib/hbxbp/xbplistbox.prg
  * contrib/hbxbp/xbppresspace.prg
  * contrib/hbxbp/xbpcheckbox.prg
  * contrib/hbxbp/xbpmenubar.prg
  * contrib/hbxbp/xbpradiobutton.prg
  * contrib/hbxbp/xbprtf.prg
  * contrib/hbxbp/xbpfiledialog.prg
  * contrib/hbxbp/xbpclipboard.prg
  * contrib/hbxbp/tests/demoxbp.prg
  * contrib/hbxbp/xbpbrowse.prg
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbpwindow.prg
  * contrib/hbxbp/xbpcombobox.prg
  * contrib/hbxbp/xbpstatusbar.prg
  * contrib/hbxbp/xbppushbutton.prg
  * contrib/hbxbp/xbpbitmap.prg
  * contrib/hbxbp/xbpprintdialog.prg
  * contrib/hbxbp/xbpprinter.prg
  * contrib/hbxbp/xbpscrollbar.prg
  * contrib/hbxbp/xbpfontdialog.prg
  * contrib/hbxbp/xbphtmlviewer.prg
  * contrib/hbxbp/xbpstatic.prg
  * contrib/hbxbp/xbptreeview.prg
  * contrib/hbxbp/hbpprocess.prg
  * contrib/hbxbp/xbpdialog.prg
  * contrib/hbxbp/xbpstyle.prg
  * contrib/hbxbp/xbptoolbar.prg
  * contrib/hbxbp/xbp3state.prg
  * contrib/hbxbp/xbpparthandler.prg
  * contrib/hbxbp/xbpspinbutton.prg
  * contrib/hbxbp/xbpdataref.prg
  * contrib/hbxbp/xbpgra.prg
  * contrib/hbxbp/xbpgeneric.prg
  * contrib/hbxbp/xbpmle.prg
  * contrib/hbblink/hbblink.ch
  * contrib/hbblink/blinker.prg
  * contrib/hbfship/secondfs.c
  * contrib/hbfship/pvalue.c
  * contrib/hbcups/hbcups.c
  * contrib/hbfoxpro/hbfoxpro.ch
  * contrib/hbfoxpro/dll.prg
  * contrib/hbcomm/tests/test.prg
  * contrib/hbcomm/hbcomm.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideplugins.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/hbide.ch
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idewizard.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideskeletons.prg
  * contrib/hbide/plugins/savebackup.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/iderequests.prg
  * contrib/hbide/idestylesheets.prg
  * contrib/hbide/ideenviron.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idetags.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idetools.prg
  * contrib/hbide/resources/hbmk2_plugin_hbide.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/ideparseexpr.c
  * contrib/hbide/idedocks.prg
  * contrib/hbsms/hbsms.prg
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)
2010-06-03 16:33:27 +00:00
Pritpal Bedi
35f52f50b0 2010-05-29 18:50 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/generator/hbqtgen.prg
    ! A minor fix, no effect on sources.

  * contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth
    + Added more PRG callable methods.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/ideshortcuts.prg

    + Implemented: selection "persistancy" controllable programatically"
      Ctrl+F11 is designated for this task. A slot in "Keyboard Mappings" 
      is also provided. By default persistant selection is disabled and 
      hence behaves exectly like it was before persistancy and more natural 
      like other editors. Ctrl+F11 toggles it on/off and if switched on, 
      behaviour will follow the implemenation just before this commit.
      If selection mode is activated programatically, behavior remains 
      the same as before. Please test, bumps are expected.

    % Some major artifacts how cursor should behave after paste, etc.

    + Implemented: document writer is now capable to pulls the existing 
      help body and correctly reinstates the changes. This implies that 
      for your sources help it can be used in real-time. Please test 
      and post if you find difficulties.

      TODO: the same behavior with disk files.
2010-05-30 02:06:42 +00:00
Pritpal Bedi
76fabaf38f 2010-05-19 16:41 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideshortcuts.prg
    % Shifted: all actions which operate on editing instance, to 
      the micro levels. This implies that ::IdeEdit() object can be 
      used independent of interface constraints and hence becomes
      eligible to be included in hbXBP as a HBP class. 
      This also implies that hbIDEMap can be manipulated through
      Keyboard Mappings macros the same way as main editing instance
      with the exception that it cannot be editied. For example,
      you can call ::zoom( nPointSizeORKey ) to adjust its size.
      You can also use Ctrl+C to copy and can use block operations.

    + Added: <Edit><Format><Replace Spaces with Tabs> option. Tabs 
      are set to stop at same distance of 3 characters which 
      makes it possible to modify sources with/without tabs but 
      with same visual display.
2010-05-19 23:55:16 +00:00
Pritpal Bedi
2cae1bdd06 2010-05-18 22:57 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideshortcuts.prg

    + Implemented: proper hbIDEMap protocol. Now you can keep open
      "Source Thumbnail" dock and keep on clicking the tabs. Current  
      source map will be displayed inside. 
      
      hbIDEMap Features:

        1. hbIDEMap carries highlighted code lines which are visible
           in main editing instance window. Navigaing the editor also
           changes highlighted area corresponding to main instance.
        2. All keyboard mappings are active in the map also which implies
           that you can exercise copy operations which can be pasted 
           in the current code, a very useful feature.
2010-05-19 06:31:03 +00:00
Pritpal Bedi
c9343fec20 2010-05-18 18:55 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
    ! Fixed: selected text when viewed in a narrow window and 
      using horizontal scrollbars was showing incorrectly.

    + Implemented: current source's thumbnail view.
      It is presented in a right-hand docking widget which 
      can be activated via <View> menu. it is almost identical with
      current editor but with a significant difference that 
      it is loaded from the disk whenever the dock is brought to view.
      It contains smaller font and is entirely idependent 
      of main editing instance.

      It is just a quick commit. Refinement will follow.
      Please submit your suggestions.

      Re-compile hbQT alongwith hbIDE.
2010-05-19 02:09:52 +00:00
Pritpal Bedi
7f6a0de6de 2010-15-18 14:30 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idetags.prg
    + Implemented: Context-menu option "Goto Function" looks 
        for the function/method in the current source first,
        and if found, jumps to that, otherwise it rellies on 
        tagging. It implies that functions in current source 
        are always can be reached with "Goto Function" option
        which operates on word under cursor.
2010-05-18 21:35:15 +00:00
Pritpal Bedi
171fd5fa66 2010-15-17 19:05 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideshortcuts.prg
    + Prepared to handle three modes of selections programatically.
      F11 Line Selection is broken currently.
2010-05-18 02:07:33 +00:00
Pritpal Bedi
53d0cb6e67 2010-15-17 17:29 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth

  * contrib/hbide/idedocwriter.prg
    % Guarded against inserting help if "readonly" flag is ON.

  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideshortcuts.prg
    + Added: navigational methods plus methods pertaining to 
        line operations into public API. Naviagable methods are :
        ::up(), ::down(), ::pageUp(), ::pageDown(), ::goTop(), 
        ::goBottom(), ::right(), ::left(), ::end(), ::home(),
        ::panEnd(), ::panHome(). 
        //
        These methods can be used in combination with selection modes.
        
    + Grouped: public methods list by category which is displayed
        under visually distinguished colors. Now it is easy to find 
        a method of interest easily. Before it was a literal mess.
2010-05-18 00:38:40 +00:00
Pritpal Bedi
7eded4f427 2010-15-17 07:33 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    ! Fixed: misbehavior of "Del" key.

  * contrib/hbide/ideeditor.prg
    % Changed: hb_fGetAttr( cFile, nAttr) tested agains 
        hb_bitAnd( nAttr, FC_READONLY ) == FC_READONLY

  * contrib/hbide/ideshortcuts.prg
    % Changed: Public Method ::toggleSelectionMode() to ::toggleColumnSelectionMode()
2010-05-17 14:39:41 +00:00
Pritpal Bedi
1a264692f1 2010-15-16 21:05 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/resources/tabreadonly.png
    ! Changed: to reflect clearly visible readonly status.

  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
    + Implemented: <MainMenu><Edit><Switch ReadOnly Mode> plus 
        file's "readonly" attribute obtained by hb_fGetAttr() == 33
        ( please correct me if it is not OK on all systems ).
        
        "Switch ReadOnly Mode" toggles the readonly status of the 
        current source in focus only if on disk attribute is normal.
        ReadOnly status is permanent if disk attribute equals 33 and 
        cannot be toggled.

        While in readonly mode, cut/paste/alter operation are suspened,
        only copy operation is supported. Copy can be performed with
        mouse and keyboard both and all three modes are available.
2010-05-17 04:33:03 +00:00
Pritpal Bedi
515f1b1a11 2010-15-15 12:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth

  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
    ! Fixed: the artifacts reported by Mindaugas and Itamar.
    ! Optimized: C++ code.
    ! Fixed: many other artifacts, i.e., status-bar panel was wrongly 
        reporting selection mode.

    Mindaugas, can you please test again ?
2010-05-15 19:08:54 +00:00
Pritpal Bedi
51f3437a79 2010-17:24 07:29 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/plugins/savebackup.hrb
  * contrib/hbide/plugins/savebackup.prg
    ! Fine tuned to receive correct number of parameters.

  * contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth

  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
    + Added Icon: Toggle current Line Highlight in "Lines" toolbar.
      Public API method is ::toggleCurrentLineHilight().

  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideenviron.prg
    ! Reverted: line edits font - monospace to GUI.

  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideplugins.prg
    ! tuned to send oIDE and cVer as first and second 
      argument to {plugin}_init( oIde, cVer ).

  * contrib/hbide/ideprojmanager.prg
    ! Reverted: line edits font - monospace to GUI.

  * contrib/hbide/ideshortcuts.prg
    + Public Method - ::toggleCurrentLineHilight().
      Toggles displaying current line in distinct color.

  * contrib/hbide/idethemes.prg
    + Activated: Selection Background slot.
      It facilitates to control the color of selections per theme basis.

    + Prepared to toggle matching braces mode - both vs single.
      "Setup" dialog will contain its place holder.

    % Fixed many other artifacts coming into way, and possibly
      might have broken a few ones, please report.
2010-05-12 00:41:24 +00:00
Pritpal Bedi
ba7459e2cb 2010-05-09 17:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
+ contrib/hbide/plugins
  + contrib/hbide/plugins/savebackup.hrb
  + contrib/hbide/plugins/savebackup.prg
    + Source and corresponding .hrb ( -gh ) plugin.
      In practice .prg is never required for this purpose.
      The source accompanying here is for demonstration purposes
      which exposes elements to comprehend.

  + contrib/hbide/resources/selectionline.png
    + Image to be activated when "Line" selection mode is on.

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
        
  * contrib/hbide/hbide.hbp
    + Added ideplugin.prg

  * contrib/hbide/idethemes.prg
    + Added more keywords for syntax-highlighting.

  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  + contrib/hbide/ideplugins.prg
    + Priliminary commit to handle plugins.

  * contrib/hbide/ideshortcuts.prg
   
    + Implemented: a very simple yet powerful interface to hook plugins. 
      The idea got polished with Francesco Perillo's description of the thought.

      Creating a hbIDE plugin
      =======================
         A .hrb ( compiled with -gh as the minimum ), i.e., savebackup.prg, 
         having two mandatory functions:
         
         1. hrb_file_name_without_extension_plus_underscrore_plus_INIT()
               savebackup_INIT( ... ) -> TRUE/FALSE
         2. hrb_file_name_without_extension_plus_underscrore_plus_EXEC()
               savebackup_EXEC( oIde, ... ) -> xValue

         savebackup_INIT() will be used to establish hand-shake and it must 
         return a logical indicating success or failure. Currently it is 
         called with "1.0" as version no but is scheduled to be enhanced 
         in future.

         If hand-shake is successful, means, savebackup_INIT( ... ) returns 
         with TRUE, savebackup_EXEC( oIde, ... ) is called as per user 
         request. oIDE is sent as the first argument followed by user supplied
         arguments. Within this function in .hrb, all action takes place.
         User can write n number of functions withing the same source but  
         all other functions will always be STATIC ones. 

         The whole hbIDE object is passed with each execution and hence 
         user is having utmost control over what he wants to accomplish.
 
      Location of the Plugin
      ======================
         All plugins ( .hrb ) must reside within "plugins" sub-folder from hbIDE.exe 
         location. The location is determined with return value of 
         hb_dirBase() + hb_osPathSeparator() + "plugins" + hb_osPathSeparator().

      Loading Plugins
      ===============
         At startup hbIDE looks into "plugins" folder for all .hrb files.
         It then tries to establish hand-shake with them. If successful, a
         handle is retained in static array. When an execution request is 
         encountered, this static array is searched for and 
         savebackup_EXEC( oIDE, ... ) is called and return value is passed 
         back to the caller macro.

      Executing Plugins in hbIDE
      ==========================
         A public method ::execPlugin( cPlugin, ... ) is implemented under 
         "Keyboard Mappings". ::execPlugin is called with plugin name, which 
         essentially is the .hrb file name. So in demo example, it is 
         "savebackup". Final expression would be like : 
            ::execPlugin( "savebackup", "saveas" )
         Here "saveas" is the identifier which is used in this demo to invoke
            STATIC FUNCTION savebackup_saveAs( oIde )
         Author of plugin has to decide how and what he would like to pass
         what and in how many. So simply build a macro to call a plugin
         with parameters, that's it.
 
      I am hopeful that you, brilliant programmers, with help extending hbIDE
      to an amazing levels. Send your critics to the list to enrich this thought.
2010-05-10 01:18:04 +00:00
Pritpal Bedi
bf958535d3 2010-05-09 00:30 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h

  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideshortcuts.prg
    + Added more public methods and default macros.

  * contrib/hbide/idethemes.prg

    + Implemented: persistent blocks per all three modes; stream, column and line.
      This follows xMate footsteps but enhanced to suit any scenarion. By xMate
      footsteps, I mean, blocks are streamed to clipboard when cut/copied/pasted
      as per the standard rules. Enhancement describes that blocks cut/copied 
      as such are subject to be pasted in the same format as are copied. Last
      cut/copy operation is pasted and if clipboard contain data which matches 
      last cut/copy action within from hbIDE, its format is used to paste; but 
      if it is alien text then "stream" is applied by default.

      Block remain persistent until another selection action is not initiated or 
      is explicitly cleared with Sh+F11. There is no need to use any other key
      to make it persistent.

      Cut/copy operation can be carried on any time after block is visible.
      This effectively empowers hbIDE for a variety of applications. One 
      block per source can remain active for entire duration of that instance.
      Just click on required instance and activate copy operation. Go anywhere
      on another instance and carry a paste operation. Thus blocks are movable
      across instances and are also available for external clipboard operations.

      All supported actions on blocks are now fully functional for all three flavours.
      You will really like "Indents" action on column selections. Now more actions
      can be defined for blocks, so please submit your requests supported with 
      use-case.

      In the coming days on-line documentation to explore this feature will be 
      posted at http://hbide.vouch.info, stay tuned. 

      Please forward your suggessions or bug reports. It was such a complex logic 
      that for sure I found it extremely difficult to carry all debug operations,
      so your input will be of immense value.
2010-05-09 07:49:48 +00:00
Pritpal Bedi
f42189d639 2010-05-06 09:52 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/THbQtUI.prg
    + Added functionality for "WhatsThis" feature of Qt.

  - contrib/hbide/resources/projectproperties.ui
  - contrib/hbide/resources/projectproperties.uic
    - Deleted: no longer required dialog.

  * contrib/hbide/resources/projectpropertiesex.ui
  * contrib/hbide/resources/projectpropertiesex.uic
  * contrib/hbide/resources/shortcuts.ui
  * contrib/hbide/resources/shortcuts.uic
    % Shifted: tooltips to WhatsThis slot. Shift+F1 key is the 
      universal key to activate it. Alternatively "?" icon appears
      on the left of "X" button in titlebat; press it and move over 
      the dialog; where "WhatsThis" will be defined, cursor will 
      change its shape and click there, tooltip like popup will open.

  * contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth

  * contrib/hbide/hbide.hbp
  + contrib/hbide/ideedit.prg
    + Added: new source file which contains code to handle 
      editing window at the micro level. It was going unmanageable
      in single file due to heavy changed needed for future.

  * contrib/hbide/ideeditor.prg
    - IdeEdit() class moved to ideedit.prg.
  
    + Implemented: base protocol to keep all the three variants of 
      selections, viz., stream, column and line, persistant. It is a 
      work in progress and may be some features of "cut" may not be 
      working as expected yet. 

      Please play with it a little and tell me about the artifacts 
      it must respect to.
2010-05-06 17:07:46 +00:00