Commit Graph

28 Commits

Author SHA1 Message Date
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
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
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
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
df85a620e5 2010-15-16 15:40 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbide/ideedit.prg
    ! More fluency and refinements in selection process spanning 
      across all three modes.
2010-05-16 22:44:11 +00:00
Pritpal Bedi
bf43b397be 2010-15-16 05:47 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbide/ideedit.prg
    ! Fixed: Ctrl+X: cut() was faultering.
2010-05-16 12:52:16 +00:00
Pritpal Bedi
2cbd3c05ad 2010-15-15 18:31 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
    ! Just to recompile hbqtgui.lib

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbide/ideedit.prg
    ! Fixed: more artifacts about selection/copy operations.
2010-05-16 01:38:02 +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
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
Pritpal Bedi
e4b7f2b14f 2010-05-05 09:45 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideshortcuts.prg
  * 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
    ! Removed: close button on "Stats" panel.

    + Implemented: line selection mode. Designated key is F11.
      It is still a work in progress but a working prototype is there and 
      currently selection is available and paste behaves the standard way.

      Mindagaus, please explore as the artifacts are OK.
2010-05-05 16:50:47 +00:00
Pritpal Bedi
29f66e8c29 2010-05-04 18:54 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
    + Started: basework for different kinds of block copy/paste/move/etc 
      operations. Nothing is final yet but hope it to be ready 
      within a day or two.
2010-05-05 01:51:40 +00:00
Pritpal Bedi
483d27c9c1 2010-05-04 02:30 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg

  * contrib/hbqt/hbqt_errorsys.prg
    + Error trace copied to clipboard, requested by Massimo.

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
 
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideshortcuts.prg
    + Implemented: persistent blocks and cut/copy/paste operations 
      across files and locations within the same file.

      Persistance: block remains intact untill another block marking 
      operation is initiated. Any other editing actions can be carried 
      as normal outside of the block boundaries. One block per source is 
      permitted. 

      Keyboard Mappings can be redefined for 
      CTRL+   X.Cut C.Copy V.Paste Z.Undo Y.Redo A.SelectAll
      Those macros will be honored in block cut/copy/paste actions as well.
2010-05-04 09:43:20 +00:00
Pritpal Bedi
0a890614e5 2010-04-16 07:28 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/qtcore/*.cpp
  * contrib/hbqt/qtgui/*.cpp
  * contrib/hbqt/qtnetwork/*.cpp
    * Regenerated Code. Details in next commit.
2010-04-16 14:46:00 +00:00
Pritpal Bedi
9f14cda6a9 2010-04-10 19:35 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/qtcore/*.cpp
  * contrib/hbqt/qtgui/*.cpp
  * contrib/hbqt/qtnetwork/*.cpp
    ! Regenerated sources with changes in logging format and addition.
2010-04-11 02:45:23 +00:00
Pritpal Bedi
98820767f1 2010-03-11 09:30 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/resources/themesex.ui
  * contrib/hbide/resources/themesex.uic

  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idethemes.prg
    + Reimplemented "Themes".
      * Now it is possible to change current line and line area background
        colors. Also synchronized the current colors for these areas 
        with rest of the theme.
      * Now you can apply a particular theme globally to all tabs.
      * Made easy the way GUI elements are presented, it is more intuitive.
2010-03-11 17:36:04 +00:00
Pritpal Bedi
77b6fa93eb 2010-03-10 19:05 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

    + Prepared to manage current line and line area colors.
2010-03-11 03:02:12 +00:00
Pritpal Bedi
4788dd88da 2010-03-10 17:05 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/hbide.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideobject.prg

    + Implemented "Code Completion" feature.
        How it works:
          1. Load prototype tags in "Projects Functions Lookup".
          2. Activate some editor tab.
          3. Start typing a function proto. 
          4. After 3 characters a popup will appear beneth the cursor.
          5. Select from the list, by mouse or use navigation keys.
          6. Prototype will be there in the editor exactly with 
             same cases your prototype is defined.

               Input is welcome.
2010-03-11 01:10:36 +00:00
Pritpal Bedi
4c408a2dd6 2010-03-09 02:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbqt/hbqt_hbslots.h
    + Added more slots for QTableWidget().

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h

  * contrib/hbqt/doc/en/class_hbqplaintextedit.txt
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth
    + Added method hbShowPrototype().
    ! All existing methods prefixed with "hb".
      Please update your code if it relies on HBQPlaintTextEdit().

  * contrib/hbqt/THbQtUI.prg
    ! More optimization in destructor.

  * contrib/hbide/resources/environments.ui
  * contrib/hbide/resources/environments.uic
  * contrib/hbide/resources/selectionlist.ui
  * contrib/hbide/resources/selectionlist.uic
    ! Simplified grid layouts.

  * contrib/hbide/hbide.ch

  * contrib/hbide/hbide.hbp
  * 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/ideharbourhelp.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idethemes.prg
   
    + Implemented: next step of "intellisense" by way of tagging 
      the functions prototypes. For its realization, added one 
      more docking widget containing controls to execute 
      required actions which can be activated via right-toolbar icon.

    + Rearranged icons on the right-toolbar as per logical 
      distribution. The same scheme is applied in "View" menu.

    + Implemented one more panel in statusbar to show current theme.

    ! Simplified editor-tabs methods for more grandalurity.

      This commit implements next level of intellisense. 
      How it works:

        1. Click on "ffn" icon on the right-toolbar or select 
           "Projects Functions Lookup" in "View" menu.
        2. In the opened dock-widget, click on "Mark Projects" button.
        3. On the top of widget, a list of all projects loaded will appear.
        4. Click in the little check boxes left to the project titles.
           You can choose n number of combinations.
        5. Click on "Re-Tag" button, if this is the first time you are 
           tagging project(s), or "Load Tags" if you already have tagged before.
        6. Keep a watch on right-corner of "Syntax" box, it will show the 
           running commentary. 
        7. After a while the table above will be populated with function info:
             Name  Type  Line  Project  Source.
        8. Type some alphabets in the top-most edit control. It will 
           position the function matching the typed characters in the table.
        9. Double-click on some function in the table, it will be opened 
           in the editor.

      Now the "intellisense" part, above was basic mechanism to gather contents:
 
        1. Type in the editor a function name which you think must have made up
           in the exercise carried above. The moment you will type "(" a nicely 
           formatted tooltip, displying the prototype of this function will 
           appear beneth the caret position. The prototype will remain there for 
           10 seconds ( finding a way how it can be controlled the way I want ). 

        2. Position editor caret somewhere in some function characters and 
           activate context menu with right click. Select "Goto Function" option.
           It will open the underlying source with cursor positioned on the 
           function proto. Siultaneously, the function will be made current 
           in the table in "Projects Functions Lookup" widget.
     
      More is on the way, please forward shortcomings of above mechanism.

      NOTE: A point to cheer, this commit do not produce GPF at exit.
      ====  It is tested with mingw 4.4.0. However, MSVC 8.0 still generates.
2010-03-09 10:12:01 +00:00
Pritpal Bedi
580bf123ac 2010-02-22 09:16 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/qtcore/*.cpp 
  * contrib/hbqt/qtcore/*.cpp
  * contrib/hbqt/qtcore/*.cpp
    ! Regenerated sources after recent changes in headers implementation.
2010-02-22 17:59:32 +00:00
Pritpal Bedi
78ddb279db 2010-02-14 17:34 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/gtwvg/wvgscrlb.prg
    ! Defined method :configure() as VIRTUAL.

  * contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
    + Added class variable :block which can be set with qEdit:hbSetEventBlock( bBlock ).
      I did not set it via the constructor as it is implementation specific.
      The goal was to capture mouse or other events which are consumed by 
      parent class itself and are not forwarded to the widget. At present 
      it is used to inform double-click event to qEdit and is scheduled 
      to be extended.

  * contrib/hbqt/hbqt_misc.prg
    + Added method :from(), synonymous to :configure() to avoid grasping confusion.
      Now both syntaxes are supported:
        qCursor := QTextCursor():configure( qEdit:textCursor() )
        qCursor := QTextCursor():from( qEdit:textCursor() )

  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg

    + Project Management: enabled "Launch Parameters" which are supplied to the 
                            executable if "Launch..." is selected with build 
                            or otherwise.
                        : supressed auto expansion of "Current Project" at startup.
                            Was a constant cause of annoyance if the project tree 
                            been fairly large.
    + Docking Windows: reworked to occupy proper corners. 
                         Please delete idesettings.ini.

    ! Find_Replace Dialog: set to find from begining if "Find What" is changed.

    ! Code Skeletons: fixed to not append blank lines while called.
                    : selection menu appears at the current cursor coordinates.

    + Editor: double-click on some word place the selection in copy buffer in case 
                that word is selected. This feature I always wished-for in xMate.

    + Editor: highly .prg code suited indentation engine. It comprise so many 
                factors to explain. Please test. I feel you will be really happy.
                Also let me know what else can be implemented. Code is now 
                under my grasp and probably more ideas are already building up.
2010-02-15 02:15:09 +00:00
Pritpal Bedi
57efc2cee1 2010-02-13 03:07 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* 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/resources/skeletons.ui
  * contrib/hbide/resources/skeletons.uic

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idesaveload.prg

    + Implemented "Invert Case" feature.

    % All operations applied on selected text do not remove selections.
      However "undo/redo" does not respect selections.

    + Added <Docks> main-menu option which presents toggling feature
      for all implemented docked windows. It facilitates clubbing
      all toggle actions at one convenient place.

    + Implemented "Code Skeletons". 
        How to write
        ============
          * Click <Docks> main-menu option and select <Code Skeletons>.
          * "Code Skeletons" window will open at the right-docking area.
          * Close other docks if open to make room for its components.
          * Click <Add New> button, a dialog will appear requesting a "Name".
          * Enter recognizable name for this skeleton, i.e., "DO CASE 3", 
            where "3" will represent that this case statement contains 3
            iterations of CASE statement. It is just an example, follow 
            your way of recognitions.
          * After you click <ok> the name will appear in "Identity" list-box.
          * Start writing in "Code Snippet" editor, like:
              DO CASE
              CASE x == 
              CASE x ==
              CASE x ==
              ENDCASE
          * After you are done with it, click <Update>.
          * Repeat the process for some other skeletons.
          * Do not forget to click <Update> even after slightest modification.
            This will ensure that your skeleton is always in order.
          * If you wish to change the name, click on that "Name" in 
            "Identity" list-box and click <Rename>, follow next process.
            Click <Update> to save permanently.
          * <Delete> is not working yet.
          * Navigate the skeletons by clicking on the prompts; you will
            find the attached code in the editor below.

        How to Call
        ===========
          * While in the editor tab, position your editing cursor at 
            desired column.
          * Press Ctrl+K, a context menu will appear near left-upper part
            of the editing tab containing all skeletons you wrote.
          * Use arrow-up/down keys to desired skeleton and press <Enter>.
          * The code skeleton will be inserted in the source aligned 
            to the column you started with. The cursor will be anchored
            on the same place.
          * Alternativly you can use mouse, but keyboard navigation is 
            simple in this context.
          * Note that alignment and indent of inserted code skeleton is 
            perfect to starting column.

        Note: Your suggessions are welcome to enhance this feature.
2010-02-13 11:44:30 +00:00
Pritpal Bedi
03ebb05361 2010-02-08 08:50 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idesources.prg

  * contrib/hbqt/generator/qt45.qtp

  * contrib/hbqt/hbqt.h

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.h

  * contrib/hbqt/qtgui/filelist.mk
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/HBQSyntaxHighlighter.cpp
  + contrib/hbqt/qtgui/QStackedWidget.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qtgui/THBQSyntaxHighlighter.prg
  + contrib/hbqt/qtgui/TQStackedWidget.prg

  * contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/qth/HBQSyntaxHighLighter.qth
  + contrib/hbqt/qth/QStackedWidget.qth

    + Added one more class in hbQT.
    + Prepared to present multiple-views of tabbed-editor.
         The term multiple-view is a bit confusing. The concept
         I am thinking of is to present stacked tabs of common interest 
         together switchable from "Editor" tree-presentation or from 
         a combo-box containing such different "views". 
         A better name to this feature is requested.
    % Code shifting, normalization.
    + Started to have block(column)copy and paste operation.
         But appears it is a huge task, probably leading to 
         rewriting the whole HBQPlainTextEdit() class.
         I must confess that the more I try in the direction,
         the more I am in troubles. Reason: Qt does not provide
         any inbuild mechanism to achieve it.
2010-02-08 17:03:42 +00:00
Pritpal Bedi
07cc466295 2010-02-07 08:56 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* 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/ideactions.prg
  * contrib/hbide/ideeditor.prg
    
    + Implemented <Line Move Up>, <Line Move Down> - Current Line
         If the line is already selected, selection is cleared.

    ! Slight change in <Edit> main-menu drop-down.
         <Line...> and <Block...> sub-menus now club the 
         line and block actions.
      ; Please test.
2010-02-07 17:01:05 +00:00
Pritpal Bedi
3062843909 2010-02-07 07:46 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* 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/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg

    + Implemented <Delete Line Ctrl+Del> - Current Line
                  <Indent Right Ctrl+Tab> - Selected Lines
                  <Indent Right Shift+Ctrl+Tab> - Selected Lines

      Indenting is exercised on selected lines with "one" column at a time.

      Vailton, can you create icons for above?
2010-02-07 15:56:14 +00:00
Pritpal Bedi
cd721d8b74 2010-01-30 18:35 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/generator/hbqtgen.prg

  * contrib/hbqt/hbqt_garbage.h
  * contrib/hbqt/hbqt_hbevents.cpp
  * contrib/hbqt/hbqt_hbevents.h
  * contrib/hbqt/hbqt_hbqmainwindow.cpp
  * contrib/hbqt/hbqt_hbslots.cpp

  + contrib/hbqt/qth/HBQMainWindow.qth

  * contrib/hbqt/tests/demoqt.prg

  * contrib/hbxbp/hbpprocess.prg
  * contrib/hbxbp/xbp3state.prg
  * contrib/hbxbp/xbpbrowse.prg
  * contrib/hbxbp/xbpcheckbox.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/xbpprintdialog.prg
  * contrib/hbxbp/xbprtf.prg
  * contrib/hbxbp/xbpscrollbar.prg
  * contrib/hbxbp/xbpsle.prg
  * contrib/hbxbp/xbpspinbutton.prg
  * contrib/hbxbp/xbpstatusbar.prg
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbptoolbar.prg
  * contrib/hbxbp/xbptreeview.prg
  * contrib/hbxbp/xbpwindow.prg

  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idethemes.prg

    ! This commit has cleaned Qt wrappers not to 
      hold any GC collectible pointer inside. Events 
      and Slots protocol is completely re-structured.
      
    % Improved HB_TRACE() logs. Now Qt wrappers can be 
      generated with relevant filter if env variable 
      HBQT_BUILD_TR_LEVEL=HB_TR_ALWAYS|ERROR|etc 
      defalt being TR_LEVEL_DEBUG. The formatting is 
      also improved.

    % Signals are fired with exact same parametres 
      found in Qt documentation. Eearlier first parameter
      was object pointer followed by slots's parameters.
      This facilitates for the speed and better code
      maintenance.

    ! Intensive debugging has shown that - operator new() -
      is always called from cpp stub generated by hbMK2 
      but for operater delete(), behavior is inconsistent.
      All classes derived from QObject() never call delete()
      in the stub, some classes, which Qt defines as "on the 
      stack" call our stub and hence memory is released.
      Perhaps this is the main reason, I cannot get back
      all the momory if another dialog is opened and closed.
      All claases which are derived from Qt class, viz., HbQ*
      are released properly. Looking at this behavior it 
      comes to mind if all classes are sub-classed? A very 
      huge job nevertheless which I may take later.

  * contrib/hbqt/qtcore/*.cpp
  * contrib/hbqt/qtgui/*.cpp
  * contrib/hbqt/qtnetwork/*.cpp

      ;NOTE : Regression is possible. Please report any issues.
2010-01-31 03:21:29 +00:00
Pritpal Bedi
697caec26c 2010-01-21 23:59 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/generator/qt45.qtp
  + contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/qth/QApplication.qth
  * contrib/hbqt/qth/QPlainTextEdit.qth

  * contrib/hbqt/qtgui/filelist.mk
  * contrib/hbqt/qtgui/QApplication.cpp
  * contrib/hbqt/qtgui/QPlainTextEdit.cpp
  + contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  + contrib/hbqt/qtgui/THBQPlainTextEdit.prg

  * contrib/hbqt/filelist.mk
  * contrib/hbqt/hbqt.h
  * contrib/hbqt/hbqt_garbage.h

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
    
    + Added HBQPlainTextEdit() class which implements some constructs
      which were not possible in pure prg code. The underlying code has
      been borrowed from TextEdit.c of QWriter - a work of 
      Gancov Kostya <kossne@mail.ru>, a big thank you. The code has been
      extensively formatted and changed to adopt to Harbour standards.
      
      The direct benefits by adopting this class are:
        :
        * Current line highlighting is absolutely ok now.
        * Line numbers display is extremely fast and optimized.
        * Book-marks are shown at the left of line-numbers.
        * Parenthesis matching is absolutely delightful.
        * To Upper/Lower implementation is accurate spanning many lines.
        * Stream commenting is made possible.
        * Book-marks management is smooth.

          In IDE book-marks are implemented in different way than 
          most IDE's offer. Here is the description:
            * Click on "Toggle Mark" icon on the toolbar.
            * A small dot will appear on the left of current line.
            * Look at status-bar, a small colored pushbutton will appear.
            * Navigate the document as usual.
            * Click on the colored push button staying in statusbar.
            * The editing cursor will stay at book-mark represented by 
                that colored button and current line will appear highlighted
                with the same color as that of button.
            * Navigate to another location and click again on "Toggle Mark" icon.
            * A new dot and one more colored button will appear in the statusbar.
            * You can create 6 book marks as such and all will have different colors.
            * You can click on any of desired usage.
            * To delete a book-mark click on the button then "Toggle Mark"
            * One button at the right will disappear.
            * All tabs will contain their own book-marks.
            * And every split window will have its own.
            * Navigating different tabs or split windows will rearrange the 
                buttons according to its own settings.
     
      ; QUESTION : Is it worth the effort to save book-marks settings for next session?
2010-01-22 07:51:14 +00:00