Commit Graph

14038 Commits

Author SHA1 Message Date
Pritpal Bedi
f14fbb60cc 2010-05-10 17:10 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideenviron.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/resources/environments.ui
  * contrib/hbide/resources/environments.uic
    % Tooltips shifted to WhatsThis slot ( Sh+F1 to view ).
    + Applied: monospaced font "Courier" to input fields and text boxes.
2010-05-11 00:13:40 +00:00
Xavi
d5985ec7e0 2010-05-10 21:47 UTC+0200 Xavi (jarabal/at/gmail.com)
* config/postinst.prg
    % Corrected tipo.
2010-05-10 19:51:14 +00:00
Viktor Szakats
cfac9b53a2 2010-05-10 11:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Made it clear that Windows example section is for x86/32-bit.
2010-05-10 09:21:20 +00:00
Pritpal Bedi
10d32ec705 2010-05-09 20:11 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideplugins.prg
    % Changed: plugins are loaded on first call instead of 
      loading all plugins at startup. Now the overhead is negligible.
2010-05-10 03:14:05 +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
Viktor Szakats
fc252a9d38 2010-05-09 14:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added autodetection of mingw/cygwin compiler versions.

  * config/postinst.prg
    * Minor in comment.
2010-05-09 12:11:12 +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
Viktor Szakats
9adb84e258 2010-05-09 00:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added Ubuntu 10.4 as tested version.

  * include/common.ch
    + Added HB_HMERGE_* constant for HB_HMERGE() function.

  * package/winuni/mpkg_win_uni_extra_copy.bat
    * Commented line not necessary for official mingw build.

  * contrib/hbsqlit3/tests/hooks.prg
  * contrib/hbsqlit3/tests/authoriz.prg
  * contrib/hbsqlit3/tests/backup.prg
    + Added missing '()'s from :__enum* accesses.

  * config/win/mingw.mk
    ! Fixed after last minute change breaking it when HB_COMPILER_VER 
      is not set.

  * examples/httpsrv/uhttpd.prg
    % Replaced 'var:__enumValue()' with 'var' in FOR EACH loops.
2010-05-08 22:57:30 +00:00
Viktor Szakats
c46c18ec06 typos in ChangeLog entry 2010-05-08 10:04:14 +00:00
Viktor Szakats
5e3f92ac36 2010-05-08 11:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Extended -mkimplib option for windows gcc compilers (mingw/cygwin)
      to first look for matching COFF .lib file and use it to create
      import library. If such is not found, try to use matching .def
      file and automatically generate import library using dlltool.
      If none if these were found, use the .dll directly, to create
      the import library. In case of Harbour, this method resolves 
      almost all mingw implib needs.
      See longer note in source (in function win_implib_command_gcc())
      about the details of the problem, the only thing I cannot see
      is why mingw/cygwin developers insist on not fixing this issue
      since ten year, while all other compilers can properly resolve
      this problem. Anyhow until then mingw cannot use .dll using
      stdcall calling convention without COFF .lib or .def file. If
      both are missing, the only solution is to manually build a
      .def file by first generating it from .dll then manually
      adding '@nn' decoration according to function prototypes.
      Thanks mingw.

  * config/postinst.prg
    - Deleted APOLLO implib generation. Apollo fall into the
      problematic category for mingw, because developers chose
      to use stdcall callconv and they forgot to provide
      implib or .def file. It's not part of core anyway.
    * Slightly changed mysql implib generation to also work
      for mingw.
    - Deleted no more necessary manuall hack for mysql implib
      generation.
    + Added manual hack for firebird implib generation. In
      this hbmk2 automatism cannot work as they distribute
      COFF .lib in another directory and using a different
      name than the .dll.
2010-05-08 09:54:50 +00:00
Viktor Szakats
d1fa4c942b 2010-05-08 09:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    + Added detection for HB_OS_IPHONE. Name tentative,
      completely experimental.
    + Minor addition to ARM CPU detection.

  * src/common/hbprintf.c
    ! Config modfl() accordingly when HB_OS_IPHONE is detected.
2010-05-08 07:33:14 +00:00
Viktor Szakats
cd7aec0199 2010-05-07 18:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fix to recent mkimplib change.
2010-05-07 16:17:18 +00:00
Viktor Szakats
fe9baad66f 2010-05-07 17:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    - Deleted 'rarely updated' from official mingw comment.
    - Deleted equation mingw edition.
    * QT 4.5.x is not recommended over 4.6.x anymore.
    + Added link for QT 4.6.x.
    + Added more details to mingw version with DWARF support.
      (required for QT 4.6.x)

  * config/win/mingw.mk
    + Added more comment on newly added linker options.
    ! Fixed to only enable newly added linker options for
      4.5.x and above. (tdm 4.4.x doesn't support them)
2010-05-07 15:46:56 +00:00
Viktor Szakats
13dcbc6cfe 2010-05-07 17:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Won't falsely autodetect cygwin if cygstart.exe doesn't
      have a gcc.exe next to it. (sync with recently added hbmk2 logic)
2010-05-07 15:29:16 +00:00
Viktor Szakats
b0b7563760 2010-05-07 17:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/RELNOTES
    * Updated according to local tool changes.
      (mingw 4.5.0 was released by official mingw project)

  * config/win/mingw.mk
    + Enabled nxcompat and dynamicbase for mingw/mingw64
      4.4 and upper. Note, the version isn't autodetected,
      so it should be passed manually using HB_COMPILER_VER,
      f.e.: HB_COMPILER_VER=45.

  * config/global.mk
    + mingw64 will now default HB_COMPILER_VER to '44'.

  * config/win/msvc.mk
    * Added comment.
2010-05-07 15:19:58 +00:00
Viktor Szakats
6778c4fcdc 2010-05-07 12:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/mingw.mk
    + Enabled --nxcompat and --dynamicbase options for mingw64
      targets.

  * utils/hbmk2/hbmk2.prg
    * Changed -mkimplib usage as follow:
         -mkimplib=some.dll [implib_name_or_dir]
      It's incompatible with previous one, but allows for simpler,
      short calls.
    ! Fix to path normalizer to also append a pathsep to "." when
      the resulting directory is an empty one.
    * Minor internal change (cCCEXT moved to hbmk structure)

  * config/postinst.prg
    % Changed to use new -mkimplib parameter format.
      (untested)
2010-05-07 10:36:34 +00:00
Przemyslaw Czerpak
fec547542c 2010-05-06 21:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/Makefile
  * harbour/src/rtl/hbznet.c
  + harbour/src/rtl/hbinetz.c
    * moved HB_INETCOMPRESS() function to separate file

  * harbour/include/hbexprb.c
    ! fixed my very bad C&P typo (2010-02-04 19:14 UTC+0100) which caused
      that dummy value was left on HVM stack after post decrementation used
      as statement. This dummy value could break construciton like FOR EACH,
      WITH OBJECT, BEGIN SEQUENCE. Here is self contain example which can
      be used to exploit the problem:
            proc main()
               begin sequence
                  p()
               end sequence
            return
            proc p()
               local nTemp := 0
               begin sequence
                  nTemp--
               end sequence
            return
      Many thanks to Heinz Bergen who reduced his code to similar small
      example.
2010-05-06 19:34:02 +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
cb4cdd1cf6 2010-05-06 07:13 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/idesaveload.prg
    ! Fixed hbide_getIniPath() to initialize <cPath> for OS2.
      Reported by David.
2010-05-06 14:15:25 +00:00
Przemyslaw Czerpak
5605b7cb1f 2010-05-06 16:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbsocket.c
    ! enabled domain and protocol constant values translation in
      SunOS builds

  * harbour/src/rtl/hbznet.c
    ! fixed to return error on some wrong input data for which ZLIB
      permanently returns Z_STREAM_END - thanks to Aleksander Czajczynski
      for the information and self contain example.
2010-05-06 14:08:53 +00:00
Viktor Szakats
d1c80c5c63 2010-05-06 15:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Refining cygwin autodetection by additionally
      looking for gcc.exe next to cygstart.exe.
    + -o option will now accept macros, filters and will inherit
      parent path even in -gh and other Harbour-only modes.
2010-05-06 13:32:14 +00:00
Viktor Szakats
481875eefd 2010-05-06 08:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbgete.c
    ! Fixed hb_setenv() to not crash on NULL szName parameter.
    ! Fixed hb_setenv() to handle NULL szValue parameter on 
      win platforms.
2010-05-06 06:33:13 +00:00
Pritpal Bedi
7c6a36ce25 2010-05-05 15:50 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/resources/projectpropertiesex.ui
  * contrib/hbide/resources/projectpropertiesex.uic
    
  * contrib/hbide/hbide.ch
  * contrib/hbide/ideenviron.prg
  * contrib/hbide/ideprojmanager.prg

    + Added: checkboxes to <Project Properties Dialog><Tab: General>
      to distinguish projects belonging to specific compiler.
      Current implementation passes "-xhb" switch to "hbMK2"
      if "Xharbour" checkbox is checked. Other two options 
      will be used in future.

    + Implemented: {hbmk2} slot in hbide.env to fetch switches 
      which necessarily have to be supplied to hbMK2 on the 
      command-line only. A typical entry may look like this:
               [ BCC55  xHarbour ]
         {hbmk2}-ignore
         {content} set HB_INC_INSTALL=C:\xharbour\include
         {content} set HB_WITH_ADS=c:\dev\c5
2010-05-05 22:54:53 +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
Viktor Szakats
1e853cfc15 2010-05-05 10:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/os2/gcc.mk
  * utils/hbmk2/hbmk2.prg
    - Deleted resource support from os2/gcc and os2/gccomf.
      It didn't work with any gcc flavours. Resource support
      seems to be broken in gcc tools.
2010-05-05 08:44:08 +00:00
Przemyslaw Czerpak
0c0fd9a15e 2010-05-05 09:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/compiler/gencc.c
    ! fixed possible HVM stack corruption by dummy (alias->field) code
      which does not store the result. The problem was exploited by
      code generated for -gc3 mode only. Here is self contain example:
            proc main()
            begin sequence with {||break()}
               p()
            end sequence
            proc p()
               (test->name)
               (test->name)
            return
2010-05-05 07:58:32 +00:00
Viktor Szakats
2f5d29aff5 2010-05-05 08:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/achoice.prg
    ! Added patch by Jerry Finuliar to fine tune cursor
      positioning behavior.

  * contrib/hbmysql/mysql.c
    + Added MYSQL_REAL_ESCAPE_STRING() function.
    ! Fixed some types to be in sync with actual MYSQL implementation
      (int -> unsigned int, int -> unsigned long)
      in MYSQL_ESCAPE_STRING(), MYSQL_ESCAPE_STRING_FROM_FILE(),
      MYSQL_FETCH_ROW() functions.

  * utils/hbmk2/hbmk2.prg
    + Added comment on dbfnsx lib availability in xhb.
2010-05-05 06:06:26 +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
643299a0ed 2010-05-04 06:58 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbptabpage.prg
    ! Fixed to not generate error on right-click on a tab.
2010-05-04 16:33:19 +00:00
Pritpal Bedi
7bad444425 2010-05-04 06:58 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_errorsys.prg
    - Removed: Error trace copied to clipboard, it was unforeseen implementation.
2010-05-04 14:01:53 +00:00
Przemyslaw Czerpak
0ae64fb856 2010-05-04 14:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
    ! fixed problem with OS2 GCC builds reported by David.
2010-05-04 12:10:25 +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
aaad9751ff 2010-05-03 18:44 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbptabpage.prg
    + Started work to make context menu alive.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idethemes.prg
    + Implemented: almost all menu/toolbar actions to public API.
      Probably this will allow the user to configure hbIDE to 
      the behavior he is used to.

    + Implemented: close button on the right-hand corner of editing tabs.
      Clicking it closes the current editing instance in focus.

    + Added: more Harbour keywords to color engine, OR, AND, SELF.

    ! Included: some more options in the main menu which were 
      available on toolbars only.

    ! Cleaned some redundant code.
2010-05-04 01:46:12 +00:00
Viktor Szakats
55d6b860b8 2010-05-03 23:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbide/ideeditor.prg
    % Replaced code with __PLATFORM__* checks with hb_osNewLine() call.
2010-05-03 21:52:40 +00:00
Viktor Szakats
4317fcfce5 2010-05-03 18:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbide/idemisc.prg
    ! Finally added existance check for .uic files to avoid the
      unending flow of strange error reports (RTE/GPF) (and subsequente
      random guessing) about problems caused by these missing files.
      Now HBIDE will show a clear message and quit instantly in this
      case.
2010-05-03 16:13:28 +00:00
Viktor Szakats
20ef6c2988 2010-05-03 10:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmysql/mysql.ch
  * contrib/hbmysql/tmysql.prg
    * Synced type constant names with MYSQL.
      Kept old names for compatibility, guarded with HB_LEGACY_LEVEL3.

  * contrib/hbmysql/tmysql.prg
    % Minor optimizations.
    ! TMySQLRow:MakePrimaryKeyWhere() and TMySQLTable:MakePrimaryKeyWhere()
      fixed to not create wrong SQL expression when no primary key
      is present.
    ; TOFIX: Handle this case properly in callers of these methods.
2010-05-03 08:11:48 +00:00
Pritpal Bedi
a776467075 2010-05-03 00:38 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbptoolbar.prg
    ! Issued: setWindowaTitle() for main menubar.

  + contrib/hbide/resources/keyboardmappings.png
    + Icon for "keyboard Mappings" menu option.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideshortcuts.prg
    + Implemented: almost all the docks can be placed on any of the areas.
      Exception is "Output Console" which is only dockable to top or bottom.
    + Main toolbar and statusbar featured to toggle. Statusbar, however is 
      session dependant, i.e., is not saved for next run. 
    ! Many artifacts fixed for Search/Replace engine, all the three variants.
    ! "Exppression" edit fixed to respect "Enter" key press to start searching.
    ! More artifacts I must be forgetting.
2010-05-03 07:49:22 +00:00
Pritpal Bedi
f80d1e5132 2010-05-02 18:11 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    % Fixed to honor right-to-left selection.
      Now text can be selected in either directions with 
      keyboard and mouse, both.
2010-05-03 01:15:36 +00:00
Pritpal Bedi
105410c2a0 2010-05-02 16:29 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    + Implemented: horizontally scrolled text to be selected via mouse.
2010-05-02 23:40:39 +00:00
Pritpal Bedi
3b6b91f441 2010-05-02 16:12 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    + Implemented: horizontally scrolled text to be copied.
      So now it is identical to xMate in all respects plus 
      selection through mouse as properitory to hbIDE.
2010-05-02 23:15:54 +00:00
Pritpal Bedi
7bbe198d8b 2010-05-02 03:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h

  * contrib/hbide/ideeditor.prg

    + Implemented: much-awaited and extremely-required feature - block copy/paste.
      This implementation closely follows xMate's footsteps and is highly optimized,
      having maximum tasks carried through .prg code. Probably this opens up 
      hbIDE to wider audience. This has been the most difficult feature so far,
      and has consumed an entire week with intensive schedule.

      Here is how it should be used:

      Activation:
        Clicking on the "Toggle Selection Mode" top-toolbar icon.
        It must appear depressed after activation.

      Selection Process:
        Keyboard : Shift + Navigation Keys ( Left, Right, Up, down, PgUp, PgDn, Home, End ).
        Mouse    : Mouse-move while left-button pressed ( Only available for visible text ).
        Copy     : Ctrl+C ( text is also available on the clip-board )
        Paste    : Ctrl+V ( text only copied through Ctrl+C while in "Column Selection" mode ).
        Inserts  : Position cursor at first line and column, 
                   Press Shift+Down arraow upto some ending row,
                   A thin-vertical-line should appear follwoing your cursor path,
                   Start typing any characters,
                   Any other navigation key will end this sesion,
                   Backspace key can be used to deleted previous characters.
                   If block is already selected, visible through color differentiation,
                     typing any charcter(s) will merely fill the selection with it,
        Deletes  : Select the text with Shift+Navigation Keys,
                   Press "Del".

      It is highly possible that some of the artifacts may have gone not exactly like 
      xMate, so please report back. Also note that selections left-to-right are known
      for accuracy, right-to-left may not produce accurate results. Other thing to 
      note is that horizontal scrolling has not been possible, so if your text goes 
      beyond right-edge of the window and you have a need to copy it, then first zoom-in
      to brought it into viewport, then start selection process. Vertical length does
      not matter. However with mouse you can only select a window-full of text.
      xMate does not support column-selection with mouse.
2010-05-02 22:36:56 +00:00
Viktor Szakats
6e251b1d4b 2010-05-02 12:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/darwin/libs.mk
    ! Fixed to include MacPorts and Fink lib paths only if 
      they exist. This fixes potential warnings with latest 
      release of clang.

  * config/linux/libs.mk
    ! Minor in comment.

  * src/rtl/achoice.prg
    ! Added patch by Jerry Finuliar to refix dbu menu hang.
2010-05-02 10:30:19 +00:00
Przemyslaw Czerpak
bfd863c576 2010-04-30 11:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
    ! fixed stupid typo which caused that hb_znetFlush() in encrypted
      buffers never returned 0 (the returned value was increased by 4)

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/hbnetio/readme.txt
    + added support for communication streams/channels which allow to
      send asynchronously data from server to client.
      The following client side functions had been added:
         NETIO_OPENDATASTREAM( <cStreamFuncName> [, <params,...>] )
            -> <nStreamID>
         NETIO_OPENITEMSTREAM( <cStreamFuncName> [, <params,...>] )
            -> <nStreamID>
         NETIO_CLOSESTREAM( <nStreamID>, [<cServer>], [<nPort>] )
            -> <lOK>
         NETIO_GETDATA( <nStreamID>, [<cServer>], [<nPort>] )
            -> <aData> | <cData> | NIL
      The following server side functions had been added:
         NETIO_SRVSTATUS( <pConnectionSocket> [, <nStreamID>] )
            -> <nStatus>
         NETIO_SRVSENDITEM( <pConnectionSocket>, <nStreamID>, <xData> )
            -> <lSent>
         NETIO_SRVSENDDATA( <pConnectionSocket>, <nStreamID>, <cData> )
            -> <lSent>
    + added RT errors to the netio client code. They should help to early
      detect any communication problems
    ! disabled hb_socketSetNoDelay() in client and server code.
      I enabled it for some local tests and by mistake committed to SVN
      and I didn't noticed it. It could cause serious problems in some cases
      i.e. with slow WiFi or WAN connections.

      Warning: server signature changed due to extensions in protocol.
               both client and server side has to be updated and use
               current SVN code.

  + harbour/contrib/hbnetio/tests/netiot03.prg
    + added demonstration/test code for alternative RDD IO API, RPC and
      asynchronous data streams in HBNETIO
2010-04-30 09:39:25 +00:00
Pritpal Bedi
c62dc7fefc 2010-04-29 02:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    % Improvement to horizontal ruler to respect long lines 
      extending beyond viewport.
2010-04-29 14:39:33 +00:00
Pritpal Bedi
a15faca112 2010-04-29 02:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbplistbox.prg
    % Fixed a nasty bug.

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

  * contrib/hbqt/hbqt_hbslots.cpp
    
    + Implemented: horizontal ruler in the editor instances at the top 
      of the window. Opinions are welcome about its base and tab colors.
2010-04-29 09:04:36 +00:00
Przemyslaw Czerpak
ee2d00f19a 2010-04-29 10:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/strapi.c
  * harbour/include/hbapistr.h
    + added new C function hb_wstrnlen()

  * harbour/include/hbdefs.h
  * harbour/src/common/hbwin.c
    ! fixed possible buffer overflows in hb_mb*() and hb_wc*() functions
    * removed danger hb_mb*() and hb_wc*() functions which were wrongly
      used in core code and corresponding HB_TCHAR_*() macros
    + added hb_mbntowccpy() function and HB_TCHAR_COPYTO() macro
      it always sets trailing 0 after passed buffer just like hb_strncpy()
    + added hb_wcntombcpy() function and HB_TCHAR_COPYFROM() macro
      it always sets trailing 0 after passed buffer just like hb_strncpy()

  * harbour/src/rtl/gtclip.c
    ! fixed wrongly calculated size of string extracted from clipboard
      (when unicode string was in clipboard then number of unicode characters
      were used instead of number of multibyte ones)
    ! added protection against possible memory corruption if some external
      process sets clipboard text without trailing 0
    * changed hb_gt_winapi_[sg]etClipboard() functions parameters to use
      PHB_ITEM as buffer
    Question to windows users: different Win GTs use different encoding
    for the clipboard buffer. Maybe you want to normalize it?

  * harbour/src/vm/cmdarg.c
  * harbour/src/vm/extrap.c
  * harbour/src/common/hbgete.c
  * harbour/src/common/hbffind.c
  * harbour/src/common/hbtrace.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/gtgui/gtgui.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/include/hbgtcore.h
  * harbour/include/hbapistr.h
  * harbour/include/hbwmain.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/wvggui.c
  * harbour/contrib/gtwvg/wvgcuig.c
  * harbour/contrib/gtwvg/wvgutils.c
  * harbour/contrib/gtwvg/wvgcore.c
  * harbour/contrib/gtwvg/wvgwing.c
  * harbour/examples/gtwvw/gtwvw.c
    ! fixed possible buffer overflows and GPF traps due to wrongly used
      HB_TCHAR_*() macros and/or corresponding hb_mb*()/hb_wc*() functions
      Seems that some problems were potentially exploited even in non UNICODE
      builds.
2010-04-29 08:51:41 +00:00
Viktor Szakats
66ebe08e09 2010-04-29 09:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/tests/xml1.prg
    ! Formatting.
    % Replaced HHasKey() with '$' operator.
2010-04-29 07:37:29 +00:00
Viktor Szakats
ed13cecdf3 2010-04-29 09:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    + Now able to distinguish between XP x64 and Server 2003.
    + Now able to distinguish between Server 2003 and Server 2003 R2
      (borrowed from Peter Rees/xhb, with typo fixed)
    (please test on these platforms)

  * ChangeLog
    + Marked some changes as [DONE].
2010-04-29 07:25:47 +00:00
Viktor Szakats
df8fa6e078 2010-04-29 08:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_osc.c
    + Added WIN_OSISWINXPORLATER(). Following Peter Rees in xhb.

  * contrib/xhb/Makefile
  + contrib/xhb/xwin_reg.c
  + contrib/xhb/xwin_ver.c
  * contrib/hbwin/Makefile
  - contrib/hbwin/legacycr.c
  - contrib/hbwin/legacycv.c
    ! Moved these legacy Windows functions to xhb lib from hbwin
      lib. This way we don't have to delete them after next
      release, plus they provide better compatibility as they are
      now also present in non-win builds (returning dummy values),
      just like in xhb.
    + Added OS_ISWINXP_OR_LATER() function.
2010-04-29 06:46:25 +00:00
Viktor Szakats
6f057ac0f9 2010-04-28 23:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/hbxml.c
    ! REVERTED: 2010-04-05 11:04 UTC+0200
      This means that these heavy leaks are again present
      in this xhb ported code, but at least it won't GPF.

  * contrib/xhb/tests/xml1.prg
    ! Minor to prev.
2010-04-28 21:12:17 +00:00