Commit Graph

14068 Commits

Author SHA1 Message Date
Viktor Szakats
cafd33d5d9 2010-05-15 15:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwvt/gtwvt.c
    - Deleted notifierblock/fireevent support.
      Light is green to add threaded screen refresh and event
      handling. This could enhance performance and fix the
      frozen screen refresh in Harbour app loops.
    ; INCOMPATIBLE: Switch to HB_INKEY_GTEVENT + HB_K_* solution.
2010-05-15 13:19:51 +00:00
Viktor Szakats
76661d1f00 2010-05-15 15:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/wvtext.prg
    + Updated according to latest changes, now using simple INKEY()
      method to receive special GT event.
    + Added reaction to 'lostfocus' event.
    + Added better demonstration for lost/got focus events.
    - Deleted GTWVG dependent elements, to adhere to core/contrib
      separation rule.
2010-05-15 13:14:26 +00:00
Viktor Szakats
d9df31830f 2010-05-15 14:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwvt/gtwvt.c
    * Changed HB_GTI_CLOSABLE to not cause any visible change on the UI.
      Setting HB_GTI_CLOSABLE to .F., will now cause that a HB_K_CLOSE
      event is returned to application by INKEY(), and app can decide
      whether to ignore it or QUIT.
      This also means that the feedback is now not an async event in
      HB_GTI_CLOSABLE .F. mode, IOW if the app is in a loop without
      reading keys, close button won't work, which is IMO closer to 
      how apps are supposed to behave. It also won't grey out the 
      close buttong anymore which is also a unusual thing to do 
      amongst apps.
    ; TODO: If this turns out to be good solution, sync this behavior
            with HBWIN.
    ; TODO: Delete old "fireevent" async even handling using notifier
            callback codeblock.
2010-05-15 12:58:03 +00:00
Viktor Szakats
348c736aa1 2010-05-15 14:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwvt/gtwvt.c
    ! Internal change slipped into prev.
2010-05-15 12:03:46 +00:00
Viktor Szakats
b0c5f58a09 2010-05-15 13:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/inkey.ch
    + Added new special GT events (over existing HB_K_RESIZE):
        HB_K_CLOSE
        HB_K_GOTFOCUS
        HB_K_LOSTFOCUS
    + Added new Harbour specific INKEY() event filter:
        HB_INKEY_GTEVENT
    * INKEY() codes below marked as compatibility:
        K_MMLEFTDOWN, K_MMRIGHTDOWN, K_MMMIDDLEDOWN

  * src/rtl/hbgtcore.c
    ! Fixed to only return HB_K_RESIZE/CLOSE/GOTFOCUS/LOSTFOCUS
      events when allowed via HB_INKEY_GTEVENT filter.
    ; INCOMPATIBILITY: HB_K_RESIZE will now only be returned
      by INKEY() if this filter is added.

  * src/rtl/gtwvt/gtwvt.c
    - Deleted code protected by __HB_GTWVT_GEN_K_MMDOWN_EVENTS guard.
    + Will now generate INKEY() event:
        HB_K_LOSTFOCUS
        HB_K_GOTFOCUS
      and
        HB_K_CLOSE.
    ; TOFIX: HB_K_CLOSE doesn't work yet. Probably some rearrengement
             of window close control will be needed.

  ; The goal is to be able to keep "fireevent" feature in a Clipper/Harbour
    and thread friendly manner, so it becomes possible to move OS level
    UI event into separate thread.
2010-05-15 11:57:34 +00:00
Przemyslaw Czerpak
1b39f1e55c 2010-05-15 10:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added new C function hb_oleDispInvoke()

  * harbour/contrib/hbwin/axcore.c
    * use hb_oleDispInvoke() - please test if activex controls still work
      correctly
2010-05-15 08:32:36 +00:00
Przemyslaw Czerpak
2bf6bbd4b8 2010-05-15 09:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbcom.c
  * harbour/contrib/hbct/ctcom1.c
  * harbour/contrib/hbct/ctcom2.c
    * removed unused code and added parenthesis to pacify warning

  * harbour/contrib/gtwvg/gtwvg.h
  * harbour/contrib/gtwvg/wvggui.h
  * harbour/contrib/hbwin/win_dlg.c
    * updated included header files
      (it fixes problem with BCC5.5 and POCC/XCC builds)
2010-05-15 07:43:37 +00:00
Viktor Szakats
0f68ed9c65 2010-05-15 09:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbziparc/hbziparc.prg
    ! Fixed regression in HB_ZIPFILE() to make it work in 
      "append" mode even when the .zip didn't exist.
2010-05-15 07:16:49 +00:00
Pritpal Bedi
03c87d0ace 2010-15:14 17:40 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbide/ideedit.prg
    ! Fixed: "copy" operation on stream selection was returning 
      wrong text.
2010-05-15 00:45:27 +00:00
Viktor Szakats
eb6f760f43 2010-05-15 00:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed problem caused by $(wildcard) not matching existing
      files when using '/dir//file' format (note double slash).
      So f.e. it caused autodetection to fail when dir was
      speficied as 'C:\mingw\bin\' (with ending backslash) in PATH.
      It's good to remove such backslashes anyway, but from now
      on it won't cause problem for Harbour build system.
2010-05-14 22:11:04 +00:00
Viktor Szakats
1e64482697 2010-05-14 23:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/tget.prg
    ! Fixed "@RE" picture mask handling in GETs.
      Thanks to Aleksander Czajczynski for reporting the
      issue with clear example.
      The fix applied is a de-hacked version of the one
      sent to the list. What's simply done is 'R' being
      disabled when used in conjunction with 'E'.
2010-05-14 21:52:26 +00:00
Pritpal Bedi
2540853f0b 2010-15:14 14:31 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideprojmanager.prg
    ! Synchronized to open "Project Tree" if "Open Project..."
      is selected from <MainMenu><Files>.

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
    % Many artifacts belonging to horizontal scroll while 
      text is selected. Also few aspects are optimized.

    To me it appears as if selection protocol in hbIDE is OK.
    Please post your experiences if something is not upto the 
    expectations.
2010-05-14 21:36:07 +00:00
Przemyslaw Czerpak
477a505359 2010-05-14 18:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/dynsym.c
    + added new function hb_dynsymIsMemvar()
2010-05-14 16:33:56 +00:00
Pritpal Bedi
0d35f1c42b 2010-15:14 07:01 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/resources/curlinehilight.png
    ! Some refinement though not sufficient yet.

  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbide/ideedit.prg
    ! More optimization and behavioral changes is selected text.
      Still litte more work to be done.

  * contrib/hbide/idesaveload.prg
    ! Reintroduced "settings.ide" .ini like file, placed along 
      hbide.ini", to hold Qt written hbIDE settings. This reversal 
      is triggered by the fact that, under unknown circumstances, 
      Qt just mangles the hbIDE.ini contents to a level that a lot of 
      information it stores is lost. This has happened to me many 
      times after the settings info was made to be retained in 
      hbIDE.ini itself. Please do not change it until I come up 
      with the way to read and write byte arrays per Qt.
      Below is the little snapshot what Qt inserts some info 
      inside existing other text not meant for "idesettings" keyword:

      =================================
      [FIND]
      find_1=setselection
      find_2="imagesfind_3=images/"
      find_4=":/\r\nfind_5=ShowCaretAtCurrentPosition\r\nfind_6=moveExtendsSelection\r\nfind_7=oDlg\r\nfind_8[ MORE LIKE IT ] +
      ,,,,,\r\n \r\n[General]\r\n \r\n"

      [ ALL OTHER SECTIONS BELOW MANGLED AS ABOVE ]

      [General]
      hbidesettings="@ByteArray(  [ PLUS MORE, IT IS CORRECT ]
      =================================
2010-05-14 14:17:07 +00:00
Przemyslaw Czerpak
8993f567a9 2010-05-14 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicom.h
    * minor modification in defined names

  * harbour/src/rtl/hbcom.c
    + added some very seldom (in practice only on Linux kernels >= 2.4
      and not by all hardware drivers) supported termios extensions

  * harbour/include/hbatomic.h
    ! fixed typo in non x86 and non MinGW GCC>=4.1 builds reported
      on SF bug tracker
2010-05-14 13:12:13 +00:00
Viktor Szakats
716391011a 2010-05-14 10:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Clarification to HB_BUILD_IMPLIB usage.
    ; NOTE: By now it's very easy to create implibs outside
            the central make process:
               'hbmk2 @contrib/<lib>/<lib>.hbi'
            where <lib> is the name of the contrib. Moving
            the resuling import library file(s) to our lib
            dir has to be done manually in this case.
2010-05-14 08:10:07 +00:00
Pritpal Bedi
a62a889596 2010-15:13 19:04 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    + Implemented: column selection with mouse honoring vertical scrolling.
      Hopefully I may be able to implement horizontal scrolling too.
2010-05-14 02:06:12 +00:00
Viktor Szakats
7665582530 2010-05-13 10:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/test.prg
    ! Implemented missing function.

  * package/winuni/RELNOTES
    * upx 3.04 -> 3.05

  * contrib/hbct/ctcom1.c
    * Minor formatting.
2010-05-13 08:01:33 +00:00
Viktor Szakats
90ef2137c0 2010-05-12 22:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Two minor cleanups

  * config/postinst.prg
    + Will now honor HB_CONTRIBLIBS and HB_CONTRIB_ADDONS
      when creating import libraries. IOW it will only create
      implibs to the contribs actually built.

  * utils/hbmk2/hbmk2.prg
    + Added trick when using real xhb toolchain to detect
      -tW C flag and in this case automatically select the ST
      C RTL library. (Notice that -tW will only be detected
      when passed normally via cmdline or script, and not
      when using legacy HB_BUILD_CFLAGS envvar or inherited
      compiler flags).
2010-05-12 20:19:12 +00:00
Viktor Szakats
78ff060214 2010-05-12 18:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
    - Deleted -trace option left there.
2010-05-12 16:34:40 +00:00
Viktor Szakats
88a247ea23 2010-05-12 16:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/gtalleg/gtalleg.hbi
  + contrib/hbblat/hbblat.hbi
  + contrib/hbcairo/hbcairo.hbi
  + contrib/hbcurl/hbcurl.hbi
  + contrib/hbfbird/hbfbird.hbi
  + contrib/hbfimage/hbfimage.hbi
  + contrib/hbgd/hbgd.hbi
  + contrib/hbhpdf/hbhpdf.hbi
  + contrib/hbmysql/hbmysql.hbi
  + contrib/hbpgsql/hbpgsql.hbi
  + contrib/hbssl/hbssl.hbi
  + contrib/rddads/rddads.hbi
  + contrib/sddfb/sddfb.hbi
  + contrib/sddmy/sddmy.hbi
  + contrib/sddoci/sddoci.hbi
  + contrib/sddpg/sddpg.hbi
    + Added local import library generation hbmk2 make files
      to each contrib which requires it.

  * config/postinst.prg
    + Changed to use contrib local implib creation hbmk2 scripts to
      create import libraries.
    - Deleted mingw exception for ocilib to use the static library.
      Static lib is definitely better, but if someone would like to
      use it, it should be done locally/manually, just like for any
      other dependency.
    + Solved firebird implib creation hack/exception in contrib
      local .hbi file.
    ; These fix the last "centralization" issues in Harbour make system.
      Still remains documentation problem (everything is in INSTALL),
      and *nix .deb/.rpm centralized solution for contrib dependencies
      and contrib names in general.

  * utils/hbmk2/hbmk2.prg
    + Combining multiple -o options (one with name, one with directory)
      is now supported in -hbimplib mode. This makes it work like in
      other existing modes.
    ! Fixes regarding -o option combining and dir inheritance.
      (beware of regressions here)

  * contrib/gtalleg/gtalleg.hbc
    * Changed to use import library on Windows with an unmodified name
      (containing version).

  * src/rtl/hbcom.c
    ! Fixed one non-ANSI comment.

  * ChangeLog
    + Added two changes missed from prev entry:
      * utils/hbmk2/hbmk2.prg
        + In -hbimplib mode any options are automatically passed to
          import library creation command (so -iflag option is not
          absultely needed)
        - Deleted -mkimplibms option now replaces by generic -iflag
          solution.
    ! Stripped UTF-8 char from a recent entry.
2010-05-12 15:02:01 +00:00
Przemyslaw Czerpak
071313e56e 2010-05-12 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiosrv.c
    ! fixed yet another typo located by Aleksander Czajczyki which
      caused internal error (hb_xfree() with NULL pointer)
2010-05-12 12:30:27 +00:00
Przemyslaw Czerpak
604cce1812 2010-05-12 12:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiosrv.c
    ! fixed typo in NETIO_SRVSTATUS() - -2 was always returned
      (modification committed by mistake in my previous commit)
    ! fixed to return .F. by NETIO_SRVSEND{DATA,IETM}() if hb_znetFlush()
      reports error.
      Many thanks for Aleksander Czajczyński for information about problems
      and his extensive tests.
2010-05-12 10:10:54 +00:00
Viktor Szakats
2fed94876d 2010-05-12 09:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    - Deleted 'experimental' flags from all features.
    * Finalized import lib creation feature in hbmk2.
      + Added -hbimplib mode switch (this replaces -mkimplib= option)
      + Input source files (.dlls) now should be passed to
        hbmk2 as simple source filenames (without option prefix).
      + Multiple input source files are now supported.
      + Added -iflag= option to pass flags to import library creation
        command directly.
      * Changed so that target import library name/dir can now be
        specified using -o option (like in other modes).
      + Filenames/dirs are now all normalized.
      + Some warnings are now only shown in -info mode.
      ; F.e.:
          'hbmk2 -hbimplib mydll1 mydll2 -omydir -iflag={bcc}-a'
        This also means that a simple .hbp file can be created
        to solve the import library needs for a given dependency.

  * config/postinst.prg
    * Adapted to use new import library creation hbmk2 commands.

  * src/rtl/hbcom.c
    ! Fixed minor typo.
2010-05-12 07:24:05 +00:00
Pritpal Bedi
ad33d13d67 2010-17:24 18:23 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
+ contrib/hbide/resources/curlinehilight.png
    Added missinf icon from prev commit.
2010-05-12 01:24:41 +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
Przemyslaw Czerpak
9d13008427 2010-05-12 02:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/external/minizip/ioapi.h
    ! fixed FreeBSD and HAIKU builds

  * harbour/src/rtl/fserr.c
    * added translation for EPERM

  * harbour/include/Makefile
  + harbour/include/hbapicom.h
  * harbour/src/rtl/Makefile
  + harbour/src/rtl/hbcom.c
    + added Harbour multiplatform serial port C API (hb_com*() functions).
      implemented code for *nixes, MS-Windows and OS2. DOS is not supported
      yet. Please make test on different platforms.
    ; few notes about this code:
      termios (*nix) based builds:
         - reading LSR is not supported
         - duration in break signal is fixed (at least 0.25 seconds, and not
           more that 0.5 seconds)
         - DTR/DSR hardware flow control is not supported
         - setting error character is not supported
         - discard card is supported only on few platforms
         - checking input/output flow state is not supported
         - if some platforms do not support some termio extensions then
           compile time warnings TODO_* should be generated.
      MS-Windows builds:
         - discard card is not supported
      OS2 builds:
         - checking for input flow state is not supported
         - discard card is not supported
      In all builds not all RS-232 hardware flags/state are available.
      OS2 build supports most of them,

      This code needs to be extensively tested. I wrote it without any
      serious tests. Especially OS2 builds should be verified by OS2
      users. I wrote this port using only documentation which OS2 API
      available in the Internet.

      DOS is not supported yet though it's possible to compile termio code
      for *nixes with DJGPP. Anyhow it would be very nice if we can add
      our own DOS serial port code. I would like to ask if any of you
      has low level serial port code in C for DOS (i.e. used with Clipper)
      and can send it to us so we can use it with Harbour. I have my
      own serial port library for Clipper but it's written in assembler
      and it's much wider then sth what we need so it cannot be easy
      adopted for Harbour.

  * harbour/contrib/hbct/Makefile
  + harbour/contrib/hbct/ctcom1.c
  + harbour/contrib/hbct/ctcom.ch
  + harbour/contrib/hbct/ctcom2.c
    + added CT3 compatible COM_*() functions.
    + added CT3 compatible XMOBLOCK(), XMOCHECK(), ZEROINSERT() and
      ZEROREMOVE() functions.
    + added new CT COM function:
         COM_DEVNAME( <nComPort> [, <cNewName> ] ) -> <cPrevName>
      which can be used to specify device name for given port in modern
      systems which do not give direct hardware access for the process.
    ; few notes about CT3 COM_*() functions in Harbour.
      In COM_OPEN() only 1-st parameter is significant, input/output buffer
      sizes and trap mode parameters are ignored. In modern OS-es such
      functionality is controlled by OS and usually buffered read/write
      is always enabled. The sizes of IO buffers can be used only as
      suggested IO buffer size for OS in some systems. It's possible that
      these additional parameters will be used in DOS builds in the future.
      COM_READ() does not support 2-nd parameter <lNoDelete>. It can be
      implemented but because we do not have direct access to OS buffers
      then we will have to emulate it ourselves what is rather inefficient.
      Anyhow I can implement it if users think it's critical.
      In COM_CRC() I fixed few CT3 bugs so it's not bug compatible with CT3,
      i.e. it works correctly for 8 bit and smaller polynomials instead of
      returning 0 or supports much larger polynomials up to 64bits.
      For 16/17 bit polynomials it gives the same results as CT3 so for most
      common usage it should be binary compatible with CT3.
      In ZEROREMOVE() I fixed decoding some wrong CCITT strings which does
      not have trailing 0 so it returns empty string "" for such corrupted
      data. If someone needs original CT3 behavior for some broken code then
      is can be enabled by HB_CT3_ZEROREMOVE_BUG macro.

      I haven't implemented few functions.
      COM_GETIO(), COM_SETIO(), COM_GETIRQ(), COM_SETIRQ() are not portable
      and can be implemented only for really few platforms, i.e. for DOS
      when/if we add support for serial ports to Harbour DOS builds.
      Similar functionality for all other platforms gives our new function
      COM_DEVNAME().
      COM_KEY(), COM_SKEY() and COM_EVENT() are also not implemented.
      To make them well we should add support for asynchronous events to HVM
      and such extension is still unavailable. Some simulation can be
      implemented using idle tasks but this can be done also by final
      Harbour users so I decided to not make it.

      Please test it - I've never used CT3 COM_*() API with Clipper.

  * harbour/contrib/hbct/dummy.c
    * removed dummy CT3 serial communication functions
    ; such files with dummy functions introduces very serious problems for
      user code because they do not respect original module granularity
      effectively breaking overloading only chosen functions so it breaks
      also some real Clipper code.
2010-05-12 00:27:04 +00:00
Viktor Szakats
0ddac6c7ab 2010-05-11 22:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbziparc/Makefile
  * contrib/hbziparc/hbziparc.prg
    ! Fixed <lOverWrite> support in HB_ZIPFILE().

  * config/postinst.prg
    % Simplified local implib creation logic.
2010-05-11 20:27:03 +00:00
Viktor Szakats
d4c09be821 2010-05-11 21:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
    ! Fixed forming quoted paths in implib creation commands.

  * INSTALL
    ! Deleted space at EOL.
2010-05-11 19:21:03 +00:00
Pritpal Bedi
ba68c8dd98 2010-05-11 07:29 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
    % Optimized: selections display with proprietory color.
      Now it oply operates within viewport() coordinates.
   
    % Changed: the behavior of matching brace. Now only corresponding
      brace is highlighted instead of both. This is exactly like 
      xMate. Please note that highlighting both braces create 
      confusion and at time I am lost.
2010-05-11 14:36:42 +00:00
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