logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoXtClipboard — Provides Inventor copy/paste support

Description

       This class manages data transfers for copy and paste. Transfers may occur within  the  same  process,  or
       between different processes. This uses the Xt selection mechanism to implement the ICCCM protocol for the
       transfer of data.

Inherits From

       SoXtClipboard

Methods

SoXtClipboard(Widgetw,AtomselectionAtom=_XA_CLIPBOARD_)~SoXtClipboard()
          Constructor  and  destructor.  w  is  the  Xt  widget  for  which  this  clipboard  acts  as an agent.
          selectionAtom is the X selection through which data should be transferred. For quick  data  transfers,
          this should be XA_PRIMARY.  The default is _XA_CLIPBOARD_ which uses the X clipboard selection.

     voidcopy(SoNode*node,TimeeventTime)voidcopy(SoPath*path,TimeeventTime)voidcopy(SoPathList*pathList,TimeeventTime)
          This  copies  the  passed  scene  graph object, and tells the X server that the clipboard now owns the
          selection which was specified by selectionAtom in the constructor.  When  a  paste  happens  (in  this
          window,  another  window,  or  another  process), the X server will ask this clipboard for the data it
          copied here. The eventTime should be the time found in the X event structure which triggered the  copy
          operation,  and  is  used to ensure synchronization of copy and paste requests. Data targets supported
          for  export  are   INVENTOR_2_1,   INVENTOR_2_1_FILE,   INVENTOR_2_0,   INVENTOR_2_0_FILE,   VRML_1_0,
          VRML_1_0_FILE.  Also  exported  for  backwards compatibility are INVENTOR and INVENTOR_FILE, which are
          equivalent to INVENTOR_2_0 and INVENTOR_2_0_FILE.

     voidcopy(AtomdataType,void*data,uint32_tnumBytes,TimeeventTime)
          This behaves like the above copy routines, but the data can be in any format as specified by dataType.

     voidpaste(TimeeventTime,SoXtClipboardPasteCB*pasteDoneFunc,void*userData=NULL)
          This makes a request to the X server for data to paste  from  the  selection  atom  specified  in  the
          constructor  (selectionAtom),  then  returns. When the data is retrieved from the selection owner, the
          pasteDoneFunc callback is invoked.  The newly  pasted  data  is  passed  as  the  callback  function's
          pathList   argument   (an   SoPathList).   Data   targets   supported  for  import  are  INVENTOR_2_1,
          INVENTOR_2_1_FILE,  INVENTOR_2_0,  INVENTOR_2_0_FILE,  VRML_1_0,  VRML_1_0_FILE.   Also  imported  for
          backwards  compatibility  are  INVENTOR  and  INVENTOR_FILE,  which are equivalent to INVENTOR_2_0 and
          INVENTOR_2_0_FILE.

     voidaddPasteInterest(AtomdataType,SoXtClipboardImportCB*pasteImportFunc,void*userData=NULL)
          This  extends the paste interest to recognize an additional target as specified by dataType. It can be
          called multiple times to register interest in more than one extension.  The  pasteImportFunc  will  be
          called  when  data  of  the registered type is pasted. Passing NULL as the pasteImportFunc will remove
          paste interest for that data type (even if the data type is one  of  the  defaults).  This  should  be
          called before paste() so that paste() will accept pastes of data types that have been registered here.
          A       dataType       atom       can       be       created       with       XmInternAtom,      e.g.:
          XmInternAtom(XtDisplay(widget),"INVENTOR",False);

Name

       SoXtClipboard — Provides Inventor copy/paste support

See Also

SoSelection,SoByteStream,SoXt,XSelectionsSoXtClipboard(3IV)()

Synopsis

#include<Inventor/Xt/SoXtClipboard.h>typedefvoidSoXtClipboardPasteCB(void*userData,SoPathList*pathList)typedefvoidSoXtClipboardImportCB(void*userData,AtomdataType,void*data,uint32_tnumBytes)#define_XA_CLIPBOARD_((Atom)0)

          Methods from class SoXtClipboard:

                         SoXtClipboard(Widgetw,AtomselectionAtom=_XA_CLIPBOARD_)~SoXtClipboard()voidcopy(SoNode*node,TimeeventTime)voidcopy(SoPath*path,TimeeventTime)voidcopy(SoPathList*pathList,TimeeventTime)voidcopy(AtomdataType,void*data,uint32_tnumBytes,TimeeventTime)voidpaste(TimeeventTime,SoXtClipboardPasteCB*pasteDoneFunc,void*userData=NULL)voidaddPasteInterest(AtomdataType,SoXtClipboardImportCB*pasteImportFunc,void*userData=NULL)

See Also