Package wx :: Class PyDataObjectSimple
[frames | no frames]

Type PyDataObjectSimple

  object --+        
           |        
  DataObject --+    
               |    
DataObjectSimple --+
                   |
                  PyDataObjectSimple


wx.PyDataObjectSimple is a version of wx.DataObjectSimple that is Python-aware and knows how to reflect calls to its C++ virtual methods to methods in the Python derived class. You should derive from this class and overload GetDataSize, GetDataHere and SetData when you need to create your own simple single-format type of wx.DataObject.

Here is a simple example:

class MyDataObject(wx.PyDataObjectSimple):
    def __init__(self):
        wx.PyDataObjectSimple.__init__(
            self, wx.CustomDataFormat('MyDOFormat'))
        self.data = ''

    def GetDataSize(self):
        return len(self.data)
    def GetDataHere(self):
        return self.data  # returns a string  
    def SetData(self, data):
        self.data = data
        return True

Note that there is already a wx.CustomDataObject class that behaves very similarly to this example. The value of creating your own derived class like this is to be able to do additional things when the data is requested or given via the clipboard or drag and drop operation, such as generate the data value or decode it into needed data structures.


Method Summary
PyDataObjectSimple __init__(self, format)
wx.PyDataObjectSimple is a version of wx.DataObjectSimple that is Python-aware and knows how to reflect calls to its C++ virtual methods to methods in the Python derived class.
  __repr__(self)
    Inherited from DataObjectSimple
String GetDataHere(self)
Returns the data bytes from the data object as a string, returns None on failure.
size_t GetDataSize(self)
Get the size of our data.
DataFormat GetFormat(self)
Returns the (one and only one) format supported by this object.
bool SetData(self, data)
Copy the data value to the data object.
  SetFormat(self, format)
Sets the supported format.
    Inherited from DataObject
  __del__(self)
[formats] GetAllFormats(self, dir)
Returns a list of all the wx.DataFormats that this dataobject supports in the given direction.
size_t GetFormatCount(self, dir)
Returns the number of available formats for rendering or setting the data.
DataFormat GetPreferredFormat(self, dir)
Returns the preferred format for either rendering the data (if dir is Get, its default value) or for setting it.
bool IsSupported(self, format, dir)
Returns True if this format is supported.
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
Return hash(x)...
  __new__(T, S, ...)
Return a new object with type S, a subtype of T...
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
  __str__(x)
Return str(x)...

Class Variable Summary
    Inherited from DataObject
int Both = 3                                                                     
int Get = 1                                                                     
int Set = 2                                                                     

Method Details

__init__(self, format=FormatInvalid)
(Constructor)

wx.PyDataObjectSimple is a version of wx.DataObjectSimple that is Python-aware and knows how to reflect calls to its C++ virtual methods to methods in the Python derived class. You should derive from this class and overload GetDataSize, GetDataHere and SetData when you need to create your own simple single-format type of wx.DataObject.

Here is a simple example:

class MyDataObject(wx.PyDataObjectSimple):
    def __init__(self):
        wx.PyDataObjectSimple.__init__(
            self, wx.CustomDataFormat('MyDOFormat'))
        self.data = ''

    def GetDataSize(self):
        return len(self.data)
    def GetDataHere(self):
        return self.data  # returns a string  
    def SetData(self, data):
        self.data = data
        return True

Note that there is already a wx.CustomDataObject class that behaves very similarly to this example. The value of creating your own derived class like this is to be able to do additional things when the data is requested or given via the clipboard or drag and drop operation, such as generate the data value or decode it into needed data structures.

Parameters:
format
           (type=DataFormat)

Returns:
PyDataObjectSimple
Overrides:
wx.DataObjectSimple.__init__

Generated by Epydoc 2.1.20050511.rpd on Sat Jun 16 17:00:08 2007 http://epydoc.sf.net