* 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.
* 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.
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QLayout.qth
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbxbp/hbpprocess.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/idetools.prg
+ This commit includes Francesco Perillo's patch, after applying some
formatting and leaving what did not worked.
+ Includes Istvan's concept of child detachment, but not made active still.
- Deleted many objects which were created in early days of hbIDE development.
+ Changed the way QApplication's init/exit procedures were implemented.
Now the behavior is accurate.
+ Applied some more control over object destruction placement.
+ Plus a lot of optimizations I cannot jot down exactly.
Basically, this commit aims at locating the GPF at exit. Now instead of
GPF, we receive two RTE's at the end, if exiting hbIDE at the quick
succession. But if you have worked into it for few seconds, it exits
normally. Please test.
David, the QPixmap bug in hbXBP on OS2 was a bug in hbXBP and is fixed.
You can test it again to verify if I am correct.
* contrib/hbide/ideobject.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idesources.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/hbide.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/ideprojmanager.prg
! Replaced static hbide_dbg() function call with HB_TRACE( HB_TR_ALWAYS, ... )
calls. This should also fix excessive permanently enabled debug
messages when using HBIDE. Pls keep it that way.
BTW, probably HB_TR_ALWAYS should be changed to some lower priority.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/idesaveload.prg
+ Implemented: auto-loading the last "Re-tagged" functions
prototype. It may take some time but it is done at the
background, so user will never experience the difference.
You can start working on any other aspect of hbIDE.
* 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.
* 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.