FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour move data between xbrowse files
Posts: 14
Joined: Tue Aug 21, 2012 02:13 AM
move data between xbrowse files
Posted: Fri Jul 06, 2018 02:52 AM

Hi,

I wish to move the data from a cell of a list to another list based on mouse release position.
can someone please help.

Thanks and regards,
Alfred

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: move data between xbrowse files
Posted: Sat Jul 07, 2018 10:41 AM

Set oBrw:lAllowPaste in the second browse.

Press Ctrl-C in the cell of the first browse and then press Ctrl-V in the cell of the second browse.

Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: move data between xbrowse files
Posted: Sat Jul 07, 2018 02:55 PM
This is an example of drag and drop
Code (fw): Select all Collapse
#include "fivewin.ch"

function Main()

   local oDlg, oBrw1, oBrw2, oCur
   local aData := Array( 50, 2 )

   USE STATES NEW

   DEFINE CURSOR oCur DRAG
   DEFINE DIALOG oDlg SIZE 640,500 PIXEL TRUEPIXEL ;
      TITLE "DRAG AND DROP"

   @ 20, 20 XBROWSE oBrw1 SIZE 300,-20 PIXEL OF oDlg ;
      DATASOURCE "STATES" AUTOCOLS ;
      COLSIZES 60,180 ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw1
      :oDragCursor   := oCur
      :bDragBegin    := { |r,c,f| SetDropInfo( oBrw1:SelectedCol():Value ) }
      :CreateFromCode()
   END

   @ 20,320 XBROWSE oBrw2 SIZE 300,-20 PIXEL OF oDlg ;
      DATASOURCE aData AUTOCOLS ;
      HEADERS "CODE", "NAME" ;
      COLSIZES 60,180 ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw2
      :bDropOver  := { |u,r,c,f| DropOver( u,r,c, oBrw1, oBrw2 ) }
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED

return nil

function DropOver( uInfo, nRow, nCol, oBrw1, oBrw2 )

   local aPoint

   aPoint      := ClientToScreen( oBrw1:hWnd, { nRow, nCol } )
   aPoint      := ScreenToClient( oBrw2:hWnd, aPoint )

   oBrw2:SetPos( aPoint[ 1 ], aPoint[ 2 ], .t. )
   oBrw2:SelectedCol():VarPut( uInfo )

return nil


You can drag cell contents from left browse over to the right browse and drop on the destination cell.
Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: move data between xbrowse files
Posted: Sat Jul 07, 2018 05:52 PM
From version FWH 1805, bDropOver can be simplified like this:
Code (fw): Select all Collapse
      :bDropOver  := { |uInfo,r,c,f,aPt| oBrw2:SetPos( aPt[ 1 ], aPt[ 2 ], .t. ), ;
                                         oBrw2:SelectedCol():VarPut( uInfo ) }

There is no need for separate function DropOver(...) as in the above sample.
Regards



G. N. Rao.

Hyderabad, India
Posts: 1487
Joined: Tue Jun 14, 2016 07:51 AM
Re: move data between xbrowse files
Posted: Sat Jul 07, 2018 07:00 PM
this is very very nice !!

Can we do this also with visual colors ?

I have 2 ways that I use :

1. with jpg's that are color motives
2. Hex values that are used as colors references



I my setup, It would be great to drop from the xbrowse (fotos or attribute) most right the color or jpg into colpic from the first xbrowse.


Can this also work ?
Marc Venken

Using: FWH 23.08 with Harbour
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: move data between xbrowse files
Posted: Sun Jul 08, 2018 12:29 AM

1) You can. When the drag begins, set the information to be sent using SetDropInfo(). When the drop finishes, use the uInfo (1st parameter of bDropInfo) the way you want to.
2) Can you show me the part of your code dislaying the image on the top and title in the bottom?

Regards



G. N. Rao.

Hyderabad, India
Posts: 1487
Joined: Tue Jun 14, 2016 07:51 AM
Re: move data between xbrowse files
Posted: Sun Jul 08, 2018 12:21 PM
You mean this part ..

Code (fw): Select all Collapse
WITH OBJECT:colpic
   :bStrImage     := { || "r:\pictures\"+alltrim(ATT->colpic) }
   :oDataFont     := oFontS
   :nDataStrAlign := AL_CENTER + AL_BOTTOM
   :nDataBmpAlign := AL_CENTER
   :aImgRect      := { nil, nil, -10, nil }
END
Marc Venken

Using: FWH 23.08 with Harbour
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: move data between xbrowse files
Posted: Sun Jul 08, 2018 12:25 PM
Marc Venken wrote:You mean this part ?

WITH OBJECT:colpic
:bStrImage := { || "r:\pictures\"+alltrim(ATT->colpic) }
:-)DataFont := oFontS
:nDataStrAlign := AL_CENTER + AL_BOTTOM
:nDataBmpAlign := AL_CENTER
:aImgRect := { nil, nil, -10, nil }
END

Yes.
Very good.
Regards



G. N. Rao.

Hyderabad, India
Posts: 14
Joined: Tue Aug 21, 2012 02:13 AM
Re: move data between xbrowse files
Posted: Thu Jul 26, 2018 12:57 AM

Thanks Mr. G. N. Rao., tested your sample and work very well.
regards alfred

Continue the discussion