Support for new native OS/2 tree control with drag-and-drop.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2003-01-24 22:31:41 +00:00
parent c0ae383ac0
commit 4fd899b671
13 changed files with 3769 additions and 576 deletions

View File

@@ -15,46 +15,37 @@
class wxDataFormat
{
public:
// the clipboard formats under GDK are GdkAtoms
typedef unsigned short NativeFormat;
wxDataFormat(unsigned int uFormat = wxDF_INVALID) { m_uFormat = uFormat; }
wxDataFormat(const wxChar* zFormat) { SetId(zFormat); }
wxDataFormat();
wxDataFormat(wxDataFormatId vType);
wxDataFormat(const wxString& rId);
wxDataFormat(const wxChar* pId);
wxDataFormat(NativeFormat vFormat);
wxDataFormat& operator=(unsigned int uFormat) { m_uFormat = uFormat; return(*this); }
wxDataFormat& operator=(const wxDataFormat& rFormat) {m_uFormat = rFormat.m_uFormat; return(*this); }
wxDataFormat& operator=(NativeFormat vFormat)
{ SetId(vFormat); return *this; }
//
// Comparison (must have both versions)
//
bool operator==(wxDataFormatId eFormat) const { return (m_uFormat == (unsigned int)eFormat); }
bool operator!=(wxDataFormatId eFormat) const { return (m_uFormat != (unsigned int)eFormat); }
bool operator==(const wxDataFormat& rFormat) const { return (m_uFormat == rFormat.m_uFormat); }
bool operator!=(const wxDataFormat& rFormat) const { return (m_uFormat != rFormat.m_uFormat); }
operator unsigned int(void) const { return m_uFormat; }
// comparison (must have both versions)
bool operator==(NativeFormat vFormat) const
{ return m_vFormat == (NativeFormat)vFormat; }
bool operator!=(NativeFormat vFormat) const
{ return m_vFormat != (NativeFormat)vFormat; }
unsigned int GetFormatId(void) const { return (unsigned int)m_uFormat; }
unsigned int GetType(void) const { return (unsigned int)m_uFormat; }
// explicit and implicit conversions to NativeFormat which is one of
// standard data types (implicit conversion is useful for preserving the
// compatibility with old code)
NativeFormat GetFormatId() const { return m_vFormat; }
operator NativeFormat() const { return m_vFormat; }
bool IsStandard(void) const;
void SetId(NativeFormat vFormat);
void SetType(unsigned int uType){ m_uFormat = uType; }
// string ids are used for custom types - this SetId() must be used for
//
// String ids are used for custom types - this SetId() must be used for
// application-specific formats
wxString GetId() const;
//
wxString GetId(void) const;
void SetId(const wxChar* pId);
// implementation
wxDataFormatId GetType() const;
private:
wxDataFormatId m_vType;
NativeFormat m_vFormat;
void PrepareFormats();
void SetType(wxDataFormatId vType);
};
unsigned int m_uFormat;
}; // end of CLASS wxDataFormat
#endif // _WX_GTK_DATAFORM_H

View File

@@ -24,8 +24,20 @@ class wxDataObject : public wxDataObjectBase
{
public:
wxDataObject();
virtual ~wxDataObject();
virtual bool IsSupportedFormat( const wxDataFormat& format, Direction dir = Get ) const;
virtual bool IsSupportedFormat( const wxDataFormat& eFormat
,Direction eDir = Get
) const
{
return(IsSupported( eFormat
,eDir
));
}
PDRAGITEM GetInterface(void) const {return m_pDataObject;}
private:
PDRAGITEM m_pDataObject;
};
#endif // _WX_MAC_DATAOBJ_H_

View File

@@ -23,6 +23,8 @@
#include <pmstddlg.h>
#endif
class CIDropTarget;
//-------------------------------------------------------------------------
// wxDropSource
//-------------------------------------------------------------------------
@@ -41,15 +43,17 @@ public:
/* start drag action */
virtual wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly);
virtual bool GiveFeedback(wxDragResult eEffect);
protected:
void Init(void);
bool m_bLazyDrag;
DRAGIMAGE* m_pDragImage;
DRAGINFO* m_pDragInfo;
DRAGTRANSFER* m_pDragTransfer;
};
ULONG m_ulItems;
PDRAGINFO m_pDragInfo;
DRAGIMAGE m_vDragImage;
PDRAGITEM m_pDragItem;
wxWindow* m_pWindow;
}; // end of CLASS wxDropSource
//-------------------------------------------------------------------------
// wxDropTarget
@@ -58,24 +62,38 @@ protected:
class WXDLLEXPORT wxDropTarget : public wxDropTargetBase
{
public:
wxDropTarget(wxDataObject *dataObject = (wxDataObject*)NULL);
wxDropTarget(wxDataObject* pDataObject = (wxDataObject*)NULL);
virtual ~wxDropTarget();
void Register(WXHWND hwnd);
void Revoke(WXHWND hwnd);
//
// These functions are called when data is moved over position (x, y) and
// may return either wxDragCopy, wxDragMove or wxDragNone depending on
// what would happen if the data were dropped here.
//
// The last parameter is what would happen by default and is determined by
// the platform-specific logic (for example, under Windows it's wxDragCopy
// if Ctrl key is pressed and wxDragMove otherwise) except that it will
// always be wxDragNone if the carried data is in an unsupported format.
//
// OnData must be implemented and other should be overridden by derived classes
//
virtual wxDragResult OnData( wxCoord vX
,wxCoord vY
,wxDragResult eResult
);
virtual bool OnDrop( wxCoord vX
,wxCoord vY
);
bool IsAcceptedData(PDRAGINFO pDataSource) const;
virtual wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def);
virtual bool OnDrop(wxCoord x, wxCoord y);
virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult vResult);
virtual bool GetData();
// implementation
protected:
virtual bool IsAcceptable(DRAGINFO* pInfo);
virtual bool GetData(void);
wxDataFormat GetSupportedFormat(PDRAGINFO pDataSource) const;
void Release(void);
DRAGINFO* m_pDragInfo;
DRAGTRANSFER* m_pDragTransfer;
};
private:
CIDropTarget* m_pDropTarget;
}; // end of CLASS wxDropTarget
#endif //__OS2DNDH__

View File

@@ -12,6 +12,8 @@
#ifndef _WX_TEXTCTRL_H_
#define _WX_TEXTCTRL_H_
typedef int (wxCALLBACK *wxTreeCtrlCompare)(long lItem1, long lItem2, long lSortData);
class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase
{
public:

701
include/wx/os2/treectrl.h Normal file
View File

@@ -0,0 +1,701 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/os2/treectrl.h
// Purpose: wxTreeCtrl class
// Author: David Webster
// Modified by:
// Created: 01/23/03
// RCS-ID: $Id$
// Copyright: (c) David Webster
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TREECTRL_H_
#define _WX_TREECTRL_H_
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#ifdef __GNUG__
#pragma interface "treectrl.h"
#endif
#if wxUSE_TREECTRL
#include "wx/textctrl.h"
#include "wx/dynarray.h"
#include "wx/treebase.h"
// the type for "untyped" data
typedef long wxDataType;
// fwd decl
class WXDLLEXPORT wxImageList;
class WXDLLEXPORT wxDragImage;
struct WXDLLEXPORT wxTreeViewItem;
// a callback function used for sorting tree items, it should return -1 if the
// first item precedes the second, +1 if the second precedes the first or 0 if
// they're equivalent
class wxTreeItemData;
// flags for deprecated `Expand(int action)'
enum
{
wxTREE_EXPAND_EXPAND,
wxTREE_EXPAND_COLLAPSE,
wxTREE_EXPAND_COLLAPSE_RESET,
wxTREE_EXPAND_TOGGLE
};
// flags for deprecated InsertItem() variant
#define wxTREE_INSERT_FIRST 0xFFFF0001
#define wxTREE_INSERT_LAST 0xFFFF0002
// ----------------------------------------------------------------------------
// wxTreeCtrl
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxTreeCtrl : public wxControl
{
public:
// creation
// --------
wxTreeCtrl() { Init(); }
wxTreeCtrl( wxWindow* pParent
,wxWindowID vId = -1
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT
,const wxValidator& rValidator = wxDefaultValidator
,const wxString& rsName = wxTreeCtrlNameStr
)
{
Create( pParent
,vId
,rPos
,rSize
,lStyle
,rValidator
,rsName
);
}
virtual ~wxTreeCtrl();
bool Create( wxWindow* pParent
,wxWindowID vId = -1
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT
,const wxValidator& rValidator = wxDefaultValidator
,const wxString& rsName = wxTreeCtrlNameStr
);
//
// Accessors
// ---------
//
//
// Get the total number of items in the control
//
size_t GetCount(void) const;
//
// Indent is the number of pixels the children are indented relative to
// the parents position. SetIndent() also redraws the control
// immediately.
//
unsigned int GetIndent(void) const;
void SetIndent(unsigned int uIndent);
//
// Spacing is the number of pixels between the start and the Text
//
unsigned int GetSpacing(void) const { return 18; } // return wxGTK default
void SetSpacing(unsigned int uSpacing) { }
//
// Image list: these functions allow to associate an image list with
// the control and retrieve it. Note that the control does _not_ delete
// the associated image list when it's deleted in order to allow image
// lists to be shared between different controls.
//
// OS/2 doesn't really use imagelists as MSW does, but since the MSW
// control is the basis for this one, until I decide how to get rid of
// the need for them they are here for now.
//
wxImageList* GetImageList(void) const;
wxImageList* GetStateImageList(void) const;
void AssignImageList(wxImageList* pImageList);
void AssignStateImageList(wxImageList* pImageList);
void SetImageList(wxImageList* pImageList);
void SetStateImageList(wxImageList* pImageList);
//
// Functions to work with tree ctrl items. Unfortunately, they can _not_ be
// member functions of wxTreeItem because they must know the tree the item
// belongs to for Windows implementation and storing the pointer to
// wxTreeCtrl in each wxTreeItem is just too much waste.
//
// Item's label
//
wxString GetItemText(const wxTreeItemId& rItem) const;
void SetItemText( const wxTreeItemId& rItem
,const wxString& rsText
);
//
// One of the images associated with the item (normal by default)
//
int GetItemImage( const wxTreeItemId& rItem
,wxTreeItemIcon vWhich = wxTreeItemIcon_Normal
) const;
void SetItemImage( const wxTreeItemId& rItem
,int nImage
,wxTreeItemIcon vWhich = wxTreeItemIcon_Normal
);
//
// Data associated with the item
//
wxTreeItemData* GetItemData(const wxTreeItemId& rItem) const;
void SetItemData( const wxTreeItemId& rItem
,wxTreeItemData* pData
);
//
// Item's text colour
//
wxColour GetItemTextColour(const wxTreeItemId& rItem) const;
void SetItemTextColour( const wxTreeItemId& rItem
,const wxColour& rColor
);
//
// Item's background colour
//
wxColour GetItemBackgroundColour(const wxTreeItemId& rItem) const;
void SetItemBackgroundColour( const wxTreeItemId& rItem
,const wxColour& rColour
);
//
// Item's font
//
wxFont GetItemFont(const wxTreeItemId& rItem) const;
void SetItemFont( const wxTreeItemId& rItem
,const wxFont& rFont
);
//
// Force appearance of [+] button near the item. This is useful to
// allow the user to expand the items which don't have any children now
// - but instead add them only when needed, thus minimizing memory
// usage and loading time.
//
void SetItemHasChildren( const wxTreeItemId& rItem
,bool bHas = TRUE
);
//
// The item will be shown in bold
//
void SetItemBold( const wxTreeItemId& rItem
,bool bBold = TRUE
);
//
// The item will be shown with a drop highlight
//
void SetItemDropHighlight( const wxTreeItemId& rItem
,bool bHighlight = TRUE
);
//
// Item status inquiries
// ---------------------
//
//
// Is the item visible (it might be outside the view or not expanded)?
//
bool IsVisible(const wxTreeItemId& rItem) const;
//
// Does the item has any children?
//
bool ItemHasChildren(const wxTreeItemId& rItem) const;
//
// Is the item expanded (only makes sense if HasChildren())?
//
bool IsExpanded(const wxTreeItemId& rItem) const;
//
// Is this item currently selected (the same as has focus)?
//
bool IsSelected(const wxTreeItemId& rItem) const;
//
// Is item text in bold font?
//
bool IsBold(const wxTreeItemId& rItem) const;
//
// Number of children
// ------------------
//
//
// If 'recursively' is FALSE, only immediate children count, otherwise
// the returned number is the number of all items in this branch
//
size_t GetChildrenCount( const wxTreeItemId& rItem
,bool bRecursively = TRUE
) const;
//
// Navigation
// ----------
//
//
// Get the root tree item
//
wxTreeItemId GetRootItem(void) const;
//
// Get the item currently selected (may return NULL if no selection)
//
wxTreeItemId GetSelection(void) const;
//
// Get the items currently selected, return the number of such item
//
size_t GetSelections(wxArrayTreeItemIds& rSelections) const;
//
// Get the parent of this item (may return NULL if root)
//
wxTreeItemId GetItemParent(const wxTreeItemId& rItem) const;
#if WXWIN_COMPATIBILITY_2_2
// deprecated: Use GetItemParent instead.
wxTreeItemId GetParent(const wxTreeItemId& rItem) const
{ return GetItemParent(rItem); }
// Expose the base class method hidden by the one above.
wxWindow* GetParent(void) const { return wxControl::GetParent(); }
#endif // WXWIN_COMPATIBILITY_2_2
//
// For this enumeration function you must pass in a "cookie" parameter
// which is opaque for the application but is necessary for the library
// to make these functions reentrant (i.e. allow more than one
// enumeration on one and the same object simultaneously). Of course,
// the "cookie" passed to GetFirstChild() and GetNextChild() should be
// the same!
//
//
// Get the first child of this item
//
wxTreeItemId GetFirstChild( const wxTreeItemId& rItem
,long& rCookie
) const;
//
// Get the next child
//
wxTreeItemId GetNextChild( const wxTreeItemId& rItem
,long& rCookie
) const;
//
// Get the last child of this item - this method doesn't use cookies
//
wxTreeItemId GetLastChild(const wxTreeItemId& rItem) const;
//
// Get the next sibling of this item
//
wxTreeItemId GetNextSibling(const wxTreeItemId& rItem) const;
//
// Get the previous sibling
//
wxTreeItemId GetPrevSibling(const wxTreeItemId& rItem) const;
//
// Get first visible item
//
wxTreeItemId GetFirstVisibleItem(void) const;
//
// Get the next visible item: item must be visible itself!
// see IsVisible() and wxTreeCtrl::GetFirstVisibleItem()
//
wxTreeItemId GetNextVisible(const wxTreeItemId& rItem) const;
//
// Get the previous visible item: item must be visible itself!
//
wxTreeItemId GetPrevVisible(const wxTreeItemId& rItem) const;
//
// Operations
// ----------
//
//
// Add the root node to the tree
//
wxTreeItemId AddRoot( const wxString& rsText
,int nImage = -1
,int nSelectedImage = -1
,wxTreeItemData* pData = NULL
);
//
// Insert a new item in as the first child of the parent
//
wxTreeItemId PrependItem( const wxTreeItemId& rParent
,const wxString& rsText
,int nImage = -1
,int nSelectedImage = -1
,wxTreeItemData* pData = NULL
);
//
// Insert a new item after a given one
//
wxTreeItemId InsertItem( const wxTreeItemId& rParent
,const wxTreeItemId& rIdPrevious
,const wxString& rsText
,int nImage = -1
,int nSelectedImage = -1
,wxTreeItemData* pData = NULL
);
//
// Insert a new item before the one with the given index
//
wxTreeItemId InsertItem( const wxTreeItemId& pParent
,size_t nIndex
,const wxString& rsText
,int nImage = -1
,int nSelectedImage = -1
,wxTreeItemData* pData = NULL
);
//
// Insert a new item in as the last child of the parent
//
wxTreeItemId AppendItem( const wxTreeItemId& rParent
,const wxString& rsText
,int nImage = -1
,int nSelectedImage = -1
,wxTreeItemData* pData = NULL
);
//
// Delete this item and associated data if any
//
void Delete(const wxTreeItemId& rItem);
//
// Delete all children (but don't delete the item itself)
//
void DeleteChildren(const wxTreeItemId& rItem);
//
// Delete all items from the tree
//
void DeleteAllItems(void);
//
// Expand this item
//
void Expand(const wxTreeItemId& rItem);
//
// Collapse the item without removing its children
//
void Collapse(const wxTreeItemId& rItem);
//
// Collapse the item and remove all children
//
void CollapseAndReset(const wxTreeItemId& rItem);
//
// Toggles the current state
//
void Toggle(const wxTreeItemId& rItem);
//
// Remove the selection from currently selected item (if any)
//
void Unselect(void);
//
// Unselect all items (only makes sense for multiple selection control)
//
void UnselectAll(void);
//
// Select this item
//
void SelectItem(const wxTreeItemId& rItem);
//
// Make sure this item is visible (expanding the parent item and/or
// scrolling to this item if necessary)
//
void EnsureVisible(const wxTreeItemId& rItem);
//
// Scroll to this item (but don't expand its parent)
//
void ScrollTo(const wxTreeItemId& rItem);
//
// OS/2 does not use a separate edit field for editting text. Here for
// interface compatibility, only.
//
wxTextCtrl* EditLabel( const wxTreeItemId& rItem
,wxClassInfo* pTextCtrlClass = CLASSINFO(wxTextCtrl)
);
//
// returns NULL for OS/2 in ALL cases
//
wxTextCtrl* GetEditControl(void) const {return (wxTextCtrl*)NULL;}
//
// End editing and accept or discard the changes to item label
//
void EndEditLabel( const wxTreeItemId& rItem
,bool bDiscardChanges = FALSE
);
//
// Sorting
// -------
//
//
// This function is called to compare 2 items and should return -1, 0
// or +1 if the first item is less than, equal to or greater than the
// second one. The base class version performs alphabetic comparaison
// of item labels (GetText)
//
virtual int OnCompareItems( const wxTreeItemId& rItem1
,const wxTreeItemId& rItem2
);
//
// Sort the children of this item using OnCompareItems
//
void SortChildren(const wxTreeItemId& rItem);
//
// Helpers
// -------
//
//
// Determine to which item (if any) belongs the given point (the
// coordinates specified are relative to the client area of tree ctrl)
// and fill the flags parameter with a bitmask of wxTREE_HITTEST_xxx
// constants.
//
// The first function is more portable (because easier to implement
// on other platforms), but the second one returns some extra info.
//
wxTreeItemId HitTest(const wxPoint& rPoint)
{ int nDummy = 0; return HitTest(rPoint, nDummy); }
wxTreeItemId HitTest( const wxPoint& rPoint
,int& rFlags
);
//
// Get the bounding rectangle of the item (or of its label only)
//
bool GetBoundingRect( const wxTreeItemId& rItem
,wxRect& rRect
,bool bTextOnly = FALSE
) const;
//
// Deprecated
// ----------
//
// These methods are deprecated and will be removed in future versions of
// wxWindows, they're here for compatibility only, don't use them in new
// code (the comments indicate why these methods are now useless and how to
// replace them)
//
//
// Use Expand, Collapse, CollapseAndReset or Toggle
//
void ExpandItem( const wxTreeItemId& rItem
,int nAction
);
//
// Use AddRoot, PrependItem or AppendItem
//
wxTreeItemId InsertItem( const wxTreeItemId& pParent
,const wxString& rsText
,int nImage = -1
,int nSelImage = -1
,long lInsertAfter = wxTREE_INSERT_LAST
);
//
// Use Set/GetImageList and Set/GetStateImageList
//
wxImageList* GetImageList(int nVal) const
{ return GetImageList(); }
void SetImageList(wxImageList* pImageList, int nVal)
{ SetImageList(pImageList); }
//
// Use Set/GetItemImage directly
//
int GetItemSelectedImage(const wxTreeItemId& rItem) const
{ return GetItemImage(rItem, wxTreeItemIcon_Selected); }
void SetItemSelectedImage(const wxTreeItemId& rItem, int nImage)
{ SetItemImage(rItem, nImage, wxTreeItemIcon_Selected); }
//
// Implementation
// --------------
//
virtual MRESULT OS2WindowProc( WXUINT uMsg
,WXWPARAM wParam
,WXLPARAM lParam
);
virtual bool OS2Command( WXUINT uParam
,WXWORD wId
);
// virtual bool OMSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
//
// Override some base class virtuals
//
virtual bool SetBackgroundColour(const wxColour& rColour);
virtual bool SetForegroundColour(const wxColour& rColour);
//
// Get/set the check state for the item (only for wxTR_MULTIPLE)
//
bool IsItemChecked(const wxTreeItemId& rItem) const;
void SetItemCheck( const wxTreeItemId& rItem
,bool bCheck = TRUE
);
protected:
//
// SetImageList helper
//
void SetAnyImageList( wxImageList* pImageList
,int nWhich
);
//
// Refresh a single item
//
void RefreshItem(const wxTreeItemId& rItem);
wxImageList* m_pImageListNormal; // images for tree elements
wxImageList* m_pImageListState; // special images for app defined states
bool m_bOwnsImageListNormal;
bool m_bOwnsImageListState;
private:
//
// The common part of all ctors
//
void Init(void);
//
// Helper functions
//
inline bool DoGetItem(wxTreeViewItem* pTvItem) const;
inline void DoSetItem(wxTreeViewItem* pTvItem);
inline void DoExpand( const wxTreeItemId& rItem
,int nFlag
);
wxTreeItemId DoInsertItem( const wxTreeItemId& pParent
,wxTreeItemId hInsertAfter
,const wxString& rsText
,int nImage
,int nSelectedImage
,wxTreeItemData* pData
);
int DoGetItemImageFromData( const wxTreeItemId& rItem
,wxTreeItemIcon vWhich
) const;
void DoSetItemImageFromData( const wxTreeItemId& rItem
,int nImage
,wxTreeItemIcon vWhich
) const;
void DoSetItemImages( const wxTreeItemId& rItem
,int nImage
,int nImageSel
);
void DeleteTextCtrl() { };
//
// support for additional item images which we implement using
// wxTreeItemIndirectData technique - see the comments in msw/treectrl.cpp
//
void SetIndirectItemData( const wxTreeItemId& rItem
,class wxTreeItemIndirectData* pData
);
bool HasIndirectData(const wxTreeItemId& rItem) const;
bool IsDataIndirect(wxTreeItemData* pData) const
{ return pData && pData->GetId().m_pItem == 0; }
//
// The hash storing the items attributes (indexed by items ids)
//
wxHashTable m_vAttrs;
//
// TRUE if the hash above is not empty
//
bool m_bHasAnyAttr;
//
// Used for dragging
//
wxDragImage* m_pDragImage;
// Virtual root item, if wxTR_HIDE_ROOT is set.
// void* m_pVirtualRoot;
// the starting item for selection with Shift
// WXHTREEITEM m_htSelStart;
//
friend class wxTreeItemIndirectData;
friend class wxTreeSortHelper;
DECLARE_DYNAMIC_CLASS(wxTreeCtrl)
DECLARE_NO_COPY_CLASS(wxTreeCtrl)
}; // end of CLASS wxTreeCtrl
#endif // wxUSE_TREECTRL
#endif
// _WX_TREECTRL_H_

View File

@@ -133,6 +133,8 @@ bool wxControl::OS2CreateControl(
zClass = WC_BUTTON;
else if ((strcmp(zClassname, "NOTEBOOK")) == 0)
zClass = WC_NOTEBOOK;
else if ((strcmp(zClassname, "CONTAINER")) == 0)
zClass = WC_CONTAINER;
dwStyle |= WS_VISIBLE;
m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle

View File

@@ -49,117 +49,165 @@
// wxDataFormat
// ----------------------------------------------------------------------------
wxDataFormat::wxDataFormat()
{
m_vType = wxDF_INVALID;
m_vFormat = 0;
}
wxDataFormat::wxDataFormat(
wxDataFormatId vType
)
{
PrepareFormats();
SetType(vType);
}
wxDataFormat::wxDataFormat(
const wxChar* zId
)
{
PrepareFormats();
SetId(zId);
}
wxDataFormat::wxDataFormat(
const wxString& rId
)
{
PrepareFormats();
SetId(rId);
}
wxDataFormat::wxDataFormat(
NativeFormat vFormat
)
{
PrepareFormats();
SetId(vFormat);
}
void wxDataFormat::SetType(
wxDataFormatId vType
)
{
m_vType = vType;
if (m_vType == wxDF_TEXT)
m_vFormat = 0;
else
if (m_vType == wxDF_BITMAP)
m_vFormat = 0;
else
if (m_vType == wxDF_FILENAME)
m_vFormat = 0;
else
{
wxFAIL_MSG( wxT("invalid dataformat") );
}
}
wxDataFormatId wxDataFormat::GetType() const
{
return m_vType;
}
wxString wxDataFormat::GetId() const
{
wxString sRet(""); // TODO: gdk_atom_name( m_format ) );
return sRet;
}
char zBuf[256];
wxString sRet;
void wxDataFormat::SetId(
NativeFormat vFormat
)
{
m_vFormat = vFormat;
// TODO:
/*
if (m_format == g_textAtom)
m_type = wxDF_TEXT;
else
if (m_format == g_pngAtom)
m_type = wxDF_BITMAP;
else
if (m_format == g_fileAtom)
m_type = wxDF_FILENAME;
else
m_type = wxDF_PRIVATE;
*/
}
::WinQueryAtomName( ::WinQuerySystemAtomTable()
,m_uFormat
,zBuf
,256
);
sRet = zBuf;
return sRet;
} // end of wxDataFormat::GetId()
void wxDataFormat::SetId (
const wxChar* zId
)
{
wxString tmp(zId);
m_uFormat = ::WinAddAtom( ::WinQuerySystemAtomTable()
,zId
);
} // end of wxDataFormat::SetId
m_vType = wxDF_PRIVATE;
m_vFormat = 0;// TODO: get the format gdk_atom_intern( wxMBSTRINGCAST tmp.mbc_str(), FALSE );
}
void wxDataFormat::PrepareFormats()
class CIDataObject
{
// TODO:
/*
if (!g_textAtom)
g_textAtom = gdk_atom_intern( "STRING", FALSE );
if (!g_pngAtom)
g_pngAtom = gdk_atom_intern( "image/png", FALSE );
if (!g_fileAtom)
g_fileAtom = gdk_atom_intern( "file:ALL", FALSE );
*/
public:
CIDataObject(wxDataObject* pDataObject);
~CIDataObject();
//
// Operations on the DRAGITEM struct
//
bool GetData( const wxDataFormat& rFormat
,char* pzBuffer
,ULONG ulLen
);
void GetDataHere( const wxDataFormat& rFormat
,char* pzBuffer
,ULONG ulLen
);
void QueryGetData(const wxDataFormat& rFormat);
void SetData( const wxDataFormat& rFormat
,char* pzBuffer
);
private:
wxDataObject* m_pDataObject; // pointer to C++ class we belong to
DRAGITEM m_vDragItem;
}; // end of CLASS CIDataObject
bool CIDataObject::GetData (
const wxDataFormat& rFormat
, char* pzBuffer
, ULONG ulLen
)
{
QueryGetData(rFormat);
if (rFormat.GetType() == wxDF_INVALID)
return FALSE;
ULONG ulSize = m_pDataObject->GetDataSize(rFormat);
if (ulSize == 0)
{
//
// It probably means that the method is just not implemented
//
return FALSE;
}
if (rFormat.GetType() == wxDF_PRIVATE)
{
//
// For custom formats, put the size with the data - alloc the
// space for it
//
ulSize += sizeof(ULONG);
}
if (ulSize > ulLen) // not enough room to copy
return FALSE;
//
// Copy the data
//
GetDataHere( rFormat
,pzBuffer
,ulSize
);
return TRUE;
} // end of CIDataObject::GetData
void CIDataObject::GetDataHere(
const wxDataFormat& rFormat
, char* pzBuffer
, ULONG WXUNUSED(ulLen)
)
{
m_pDataObject->GetDataHere( rFormat
,(void*)pzBuffer
);
} // end of CIDataObject::GetDataHere
void CIDataObject::QueryGetData (
const wxDataFormat& rFormat
)
{
m_pDataObject->IsSupportedFormat(rFormat);
} // end of CIDataObject::QueryGetData
void CIDataObject::SetData (
const wxDataFormat& rFormat
, char* pzBuffer
)
{
ULONG ulSize;
switch (rFormat.GetType())
{
case wxDF_TEXT:
case wxDF_OEMTEXT:
case wxDF_FILENAME:
case wxDF_HTML:
ulSize = strlen((const char *)pzBuffer);
break;
case wxDF_UNICODETEXT:
ulSize = ::wcslen((const wchar_t *)pzBuffer);
break;
case wxDF_BITMAP:
case wxDF_METAFILE:
case wxDF_ENHMETAFILE:
case wxDF_TIFF:
case wxDF_DIB:
ulSize = 0; // pass via a handle
break;
case wxDF_SYLK:
case wxDF_DIF:
case wxDF_PALETTE:
case wxDF_PENDATA:
case wxDF_RIFF:
case wxDF_WAVE:
case wxDF_LOCALE:
//PUNT
break;
case wxDF_PRIVATE:
size_t* p = (size_t *)pzBuffer;
ulSize = *p++;
pzBuffer = (char*)p;
break;
}
m_pDataObject->SetData( rFormat
,ulSize
,(void*)pzBuffer
);
} // end of CIDataObject::SetData
//-------------------------------------------------------------------------
// wxDataObject
@@ -167,40 +215,13 @@ void wxDataFormat::PrepareFormats()
wxDataObject::wxDataObject ()
{
}
m_pDataObject = new DRAGITEM;
} // end of wxDataObject::wxDataObject
bool wxDataObject::IsSupportedFormat(
const wxDataFormat& rFormat
, Direction vDir
) const
wxDataObject::~wxDataObject ()
{
size_t nFormatCount = GetFormatCount(vDir);
if (nFormatCount == 1)
{
return rFormat == GetPreferredFormat();
}
else
{
wxDataFormat* pFormats = new wxDataFormat[nFormatCount];
GetAllFormats( pFormats
,vDir
);
size_t n;
for (n = 0; n < nFormatCount; n++)
{
if (pFormats[n] == rFormat)
break;
}
delete [] pFormats;
// found?
return n < nFormatCount;
}
}
delete m_pDataObject;
} // end of wxDataObject::~wxDataObject
// ----------------------------------------------------------------------------
// wxFileDataObject

View File

@@ -27,6 +27,245 @@
// global
// ----------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////
// Private functions
/////////////////////////////////////////////////////////////////////////////
static wxDragResult ConvertDragEffectToResult (
DWORD dwEffect
)
{
switch (dwEffect)
{
case DO_COPY:
return wxDragCopy;
case DO_LINK:
return wxDragLink;
case DO_MOVE:
return wxDragMove;
default:
case DO_DEFAULT:
return wxDragNone;
}
} // end of ConvertDragEffectToResult
static DWORD ConvertDragResultToEffect (
wxDragResult eResult
)
{
switch (eResult)
{
case wxDragCopy:
return DO_COPY;
case wxDragLink:
return DO_LINK;
case wxDragMove:
return DO_MOVE;
default:
case wxDragNone:
return DO_DEFAULT;
}
} // end of ConvertDragResultToEffect
class CIDropTarget
{
public:
CIDropTarget(wxDropTarget* pTarget)
{
m_pTarget = pTarget;
m_pDragItem = NULL;
}
virtual ~CIDropTarget() { }
//
// Accessors for CDropTarget
//
void Free(void) { ::DrgFreeDraginfo(m_pDragInfo); }
PDRAGINFO GetDataSource(void) { return m_pDragInfo; }
void SetDataSource(PDRAGINFO pDragInfo) { m_pDragInfo = pDragInfo; }
void SetHWND(HWND hWnd) { m_hWnd = hWnd; }
//
// CIDropTarget methods
//
bool DragLeave(void);
MRESULT DragOver(void);
MRESULT Drop(void);
protected:
PDRAGINFO m_pDragInfo;
PDRAGITEM m_pDragItem; // !NULL between DragEnter and DragLeave/Drop
wxDropTarget* m_pTarget; // the real target (we're just a proxy)
HWND m_hWnd; // window we're associated with
}; // end of CLASS CIDropTarget
bool CIDropTarget::DragLeave()
{
//
// Remove the UI feedback
//
m_pTarget->OnLeave();
//
// Release the held object
//
Free();
return TRUE;
} // end of CIDropTarget::DragLeave
MRESULT CIDropTarget::DragOver ()
{
char zBuffer[128];
ULONG ulBytes;
USHORT uOp;
USHORT uIndicator;
ULONG ulItems;
ULONG i;
::DrgAccessDraginfo(m_pDragInfo);
switch(m_pDragInfo->usOperation)
{
case DO_UNKNOWN:
Free();
return (MRFROM2SHORT(DOR_NODROPOP, 0));
case DO_DEFAULT:
m_pDragItem = ::DrgQueryDragitemPtr(m_pDragInfo, 0);
ulBytes = ::DrgQueryStrName( m_pDragItem->hstrContainerName
,128
,zBuffer
);
if (!ulBytes)
return (MRFROM2SHORT(DOR_NODROPOP, 0));
else
uOp = DO_MOVE;
break;
case DO_COPY:
case DO_MOVE:
uOp = m_pDragInfo->usOperation;
break;
}
uIndicator = DOR_DROP;
ulItems = (ULONG)::DrgQueryDragitemCount(m_pDragInfo);
for (i = 0; i < ulItems; i++)
{
m_pDragItem = ::DrgQueryDragitemPtr(m_pDragInfo, i);
if (((m_pDragItem->fsSupportedOps & DO_COPYABLE) &&
(uOp == (USHORT)DO_COPY)) ||
((m_pDragItem->fsSupportedOps & DO_MOVEABLE) &&
(uOp == (USHORT)DO_COPY)))
{
if (::DrgVerifyRMF(m_pDragItem, "DRM_OS2FILE", "DRF_UNKNOWN"))
uIndicator = (USHORT)DOR_DROP;
else
uIndicator = (USHORT)DOR_NEVERDROP;
}
}
Free();
return (MRFROM2SHORT(uIndicator, uOp));
} // end of CIDropTarget::DragOver
// #pragma page "CIDropTarget::Drop"
/////////////////////////////////////////////////////////////////////////////
//
// CIDropTarget::Drop
//
// Instructs the drop target to paste data that was just now dropped on it.
//
// PARAMETERS
// pIDataSource -- the data to paste
// dwKeyState -- kbd & mouse state
// pt -- mouse coordinates
// pdwEffect -- effect flag
//
// RETURN VALUE
// STDMETHODIMP S_OK
//
/////////////////////////////////////////////////////////////////////////////
MRESULT CIDropTarget::Drop ()
{
char zBuffer[128];
ULONG ulBytes;
USHORT uOp;
USHORT uIndicator;
ULONG ulItems;
ULONG i;
::DrgAccessDraginfo(m_pDragInfo);
switch(m_pDragInfo->usOperation)
{
case DO_UNKNOWN:
Free();
return (MRFROM2SHORT(DOR_NODROPOP, 0));
case DO_DEFAULT:
m_pDragItem = ::DrgQueryDragitemPtr(m_pDragInfo, 0);
ulBytes = ::DrgQueryStrName( m_pDragItem->hstrContainerName
,128
,zBuffer
);
if (!ulBytes)
return (MRFROM2SHORT(DOR_NODROPOP, 0));
else
uOp = DO_MOVE;
break;
case DO_COPY:
case DO_MOVE:
uOp = m_pDragInfo->usOperation;
break;
}
uIndicator = DOR_DROP;
ulItems = (ULONG)::DrgQueryDragitemCount(m_pDragInfo);
for (i = 0; i < ulItems; i++)
{
m_pDragItem = ::DrgQueryDragitemPtr(m_pDragInfo, i);
if (((m_pDragItem->fsSupportedOps & DO_COPYABLE) &&
(uOp == (USHORT)DO_COPY)) ||
((m_pDragItem->fsSupportedOps & DO_MOVEABLE) &&
(uOp == (USHORT)DO_COPY)))
{
if (::DrgVerifyRMF(m_pDragItem, "DRM_OS2FILE", "DRF_UNKNOWN"))
uIndicator = (USHORT)DOR_DROP;
else
uIndicator = (USHORT)DOR_NEVERDROP;
}
}
//
// First ask the drop target if it wants data
//
if (m_pTarget->OnDrop( m_pDragInfo->xDrop
,m_pDragInfo->yDrop
))
{
wxDragResult eRc;
//
// And now it has the data
//
eRc = m_pTarget->OnData( m_pDragInfo->xDrop
,m_pDragInfo->yDrop
,eRc
);
}
//else: OnDrop() returned FALSE, no need to copy data
//
// Release the held object
//
Free();
return (MRFROM2SHORT(uIndicator, uOp));
} // end of CIDropTarget::Drop
// ----------------------------------------------------------------------------
// wxDropTarget
// ----------------------------------------------------------------------------
@@ -35,69 +274,165 @@ wxDropTarget::wxDropTarget(
wxDataObject* pDataObject
)
{
// TODO:
};
m_dataObject = pDataObject;
m_pDropTarget = new CIDropTarget(this);
} // end of wxDropTarget::wxDropTarget
wxDropTarget::~wxDropTarget()
{
};
void wxDropTarget::Register(
WXHWND hwnd
)
{
//TODO:
};
void wxDropTarget::Revoke(
WXHWND hwnd
)
{
//TODO:
};
wxDragResult wxDropTarget::OnDragOver(
wxCoord x
, wxCoord y
, wxDragResult vDef
)
{
//TODO:
return vDef;
};
bool wxDropTarget::OnDrop(
wxCoord x
, wxCoord y
)
{
//TODO:
return FALSE;
};
wxDragResult wxDropTarget::OnData(
wxCoord x
, wxCoord y
, wxDragResult vResult
)
{
//TODO:
return (wxDragResult)0;
};
Release();
} // end of wxDropTarget::~wxDropTarget
bool wxDropTarget::GetData ()
{
//TODO:
return FALSE;
};
wxDataFormat vFormat = GetSupportedFormat(m_pDropTarget->GetDataSource());
bool wxDropTarget::IsAcceptable(
DRAGINFO* pInfo
if (vFormat == wxDF_INVALID)
{
return FALSE;
}
//
// Under OS/2 we already have the data via the attached DRAGITEM's
//
return TRUE;
} // end of wxDropTarget::GetData
wxDataFormat wxDropTarget::GetSupportedFormat (
PDRAGINFO pDataSource
) const
{
PDRAGITEM pDragItem;
wxDataFormat vFormat;
wxDataFormat* pFormats;
ULONG ulFormats = m_dataObject->GetFormatCount(wxDataObject::Set);
ULONG ulItems = (ULONG)::DrgQueryDragitemCount(pDataSource);
ULONG i;
ULONG n;
wxString sMechanism;
wxString sFormat;
bool bValid = FALSE;
pFormats = ulFormats == 1 ? &vFormat : new wxDataFormat[ulFormats];
m_dataObject->GetAllFormats( pFormats
,wxDataObject::Set
);
for (n = 0; n < ulFormats; n++)
{
switch(pFormats[n].GetType())
{
case wxDF_TEXT:
case wxDF_FILENAME:
case wxDF_HTML:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_TEXT";
break;
case wxDF_OEMTEXT:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_OEMTEXT";
break;
case wxDF_BITMAP:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_BITMAP";
break;
case wxDF_METAFILE:
case wxDF_ENHMETAFILE:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_METAFILE";
break;
case wxDF_TIFF:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_TIFF";
break;
case wxDF_SYLK:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_SYLK";
break;
case wxDF_DIF:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_DIF";
break;
case wxDF_DIB:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_DIB";
break;
case wxDF_PALETTE:
case wxDF_PENDATA:
case wxDF_RIFF:
case wxDF_WAVE:
case wxDF_UNICODETEXT:
case wxDF_LOCALE:
sMechanism = "DRM_OS2FILE";
sFormat = "DRF_UNKNOWN";
break;
case wxDF_PRIVATE:
sMechanism = "DRM_OBJECT";
sFormat = "DRF_UNKNOWN";
break;
}
for (i = 0; i < ulItems; i++)
{
pDragItem = ::DrgQueryDragitemPtr(pDataSource, i);
if (::DrgVerifyRMF(pDragItem, sMechanism.c_str(), sFormat.c_str()))
{
bValid = TRUE;
break;
}
}
if (bValid)
{
vFormat = pFormats[n];
break;
}
}
if (pFormats != &vFormat)
{
//
// Free memory if we allocated it
//
delete [] pFormats;
}
return (n < ulFormats ? vFormat : wxFormatInvalid);
} // end of wxDropTarget::GetSupportedFormat
bool wxDropTarget::IsAcceptedData (
PDRAGINFO pDataSource
) const
{
return (GetSupportedFormat(pDataSource) != wxDF_INVALID);
} // end of wxDropTarget::IsAcceptedData
void wxDropTarget::Release ()
{
m_pDropTarget->Free();
} // end of wxDropTarget::Release
wxDragResult wxDropTarget::OnData (
wxCoord WXUNUSED(vX)
, wxCoord WXUNUSED(y)
, wxDragResult WXUNUSED(vResult)
)
{
//TODO:
return FALSE;
};
return (wxDragResult)0;
} // end of wxDropTarget::OnData
bool wxDropTarget::OnDrop (
wxCoord WXUNUSED(x)
, wxCoord WXUNUSED(y)
)
{
return TRUE;
} // end of wxDropTarget::OnDrop
//-------------------------------------------------------------------------
// wxDropSource
@@ -107,33 +442,145 @@ wxDropSource::wxDropSource(
wxWindow* pWin
)
{
// TODO
};
Init();
} // end of wxDropSource::wxDropSource
wxDropSource::wxDropSource (
wxDataObject& rData
, wxWindow* pWin
)
{
// TODO
};
Init();
SetData(rData);
} // end of wxDropSource::wxDropSource
wxDropSource::~wxDropSource ()
{
// TODO
};
::DrgFreeDraginfo(m_pDragInfo);
} // end of wxDropSource::~wxDropSource
wxDragResult wxDropSource::DoDragDrop (
int WXUNUSED(flags)
)
{
// TODO
//
// Need to specify drag items in derived classes that know their data types
// before calling DoDragDrop
//
if (::DrgDrag( m_pWindow->GetHWND()
,m_pDragInfo
,&m_vDragImage
,m_ulItems
,VK_BUTTON2
,NULL
) != NULLHANDLE)
{
switch(m_pDragInfo->usOperation)
{
case DO_COPY:
return wxDragCopy;
case DO_MOVE:
return wxDragCopy;
case DO_LINK:
return wxDragCopy;
default:
return wxDragNone;
}
}
return wxDragError;
};
} // end of wxDropSource::DoDragDrop
bool wxDropSource::GiveFeedback (
wxDragResult eEffect
)
{
const wxCursor& rCursor = GetCursor(eEffect);
if (rCursor.Ok())
{
::WinSetPointer(HWND_DESKTOP, (HPOINTER)rCursor.GetHCURSOR());
m_vDragImage.hImage = (LHANDLE)rCursor.GetHCURSOR();
switch(eEffect)
{
case wxDragCopy:
m_pDragInfo->usOperation = DO_COPY;
break;
case wxDragMove:
m_pDragInfo->usOperation = DO_MOVE;
break;
case wxDragLink:
m_pDragInfo->usOperation = DO_LINK;
break;
}
return TRUE;
}
else
{
return FALSE;
}
} // end of GuiAdvDnd_CDropSource::GiveFeedback
void wxDropSource::Init ()
{
// TODO
};
m_pDragInfo = ::DrgAllocDraginfo(m_ulItems);
//
// Set a default drag image struct with what we know so far
//
m_vDragImage.cb = sizeof(DRAGIMAGE);
m_vDragImage.cptl = 0; // non-zero if fl is DRG_POLYGON
m_vDragImage.hImage = 0; // Set in GiveFeedback
m_vDragImage.sizlStretch.cx = 20L;
m_vDragImage.sizlStretch.cy = 20L;
m_vDragImage.fl = DRG_ICON | DRG_STRETCH;
m_vDragImage.cxOffset = 0;
m_vDragImage.cyOffset = 0;
HSTR hStrType = ::DrgAddStrHandle(DRT_UNKNOWN);
HSTR hStrRMF;
HSTR hStrContainer;
char zFormats[128];
char zContainer[128];
USHORT uSize = GetDataObject()->GetDataSize(GetDataObject()->GetPreferredFormat()) + 1;
char* pzBuffer = new char[uSize];
memset(pzBuffer, '\0', GetDataObject()->GetDataSize(GetDataObject()->GetPreferredFormat()));
pzBuffer[GetDataObject()->GetDataSize(GetDataObject()->GetPreferredFormat())] = '\0';
GetDataObject()->GetDataHere( GetDataObject()->GetPreferredFormat()
,(void*)pzBuffer
);
strcpy(zFormats, "<DRM_OS2FILE, DRF_UNKNOWN>");
strcpy(zContainer, GetDataObject()->GetPreferredFormat().GetId().c_str());
hStrRMF = ::DrgAddStrHandle(zFormats);
hStrContainer = ::DrgAddStrHandle(zContainer);
m_pDragItem = new DRAGITEM[m_ulItems];
for (ULONG i = 0; i < m_ulItems; i++);
{
m_pDragItem[i].hwndItem = m_pWindow->GetHWND();
m_pDragItem[i].hstrType = hStrType;
m_pDragItem[i].hstrRMF = hStrRMF;
m_pDragItem[i].hstrContainerName = hStrContainer;
m_pDragItem[i].fsControl = 0;
m_pDragItem[i].fsSupportedOps = DO_COPYABLE | DO_MOVEABLE | DO_LINKABLE;
m_pDragItem[i].hstrSourceName = ::DrgAddStrHandle(pzBuffer);
m_pDragItem[i].hstrTargetName = m_pDragItem[i].hstrSourceName;
m_pDragItem[i].ulItemID = i;
::DrgSetDragitem( m_pDragInfo
,&m_pDragItem[i]
,sizeof(DRAGITEM)
,0
);
}
delete [] pzBuffer;
delete [] m_pDragItem;
} // end of wxDropSource::Init
#endif //wxUSE_DRAG_AND_DROP

View File

@@ -2266,7 +2266,7 @@ long wxListCtrl::InsertItem (
::WinSendMsg( GetHWND()
,CM_INSERTRECORD
,MPFROMP(pRecord)
,MPFROMP(pRecordAfter)
,MPFROMP(&vInsert)
);
//
// OS/2 must mannually bump the index's of following records

View File

@@ -134,7 +134,6 @@ GENERICOBJS= \
..\generic\$D\textdlgg.obj \
..\generic\$D\tipdlg.obj \
..\generic\$D\tipwin.obj \
..\generic\$D\treectlg.obj \
..\generic\$D\treelay.obj \
..\generic\$D\wizard.obj
@@ -180,7 +179,6 @@ GENLIBOBJS= \
textdlgg.obj \
tipdlg.obj \
tipwin.obj \
treectlg.obj \
treelay.obj \
wizard.obj
@@ -542,6 +540,7 @@ OS2OBJS = \
..\os2\$D\toolbar.obj \
..\os2\$D\tooltip.obj \
..\os2\$D\toplevel.obj \
..\os2\$D\treectrl.obj \
..\os2\$D\utils.obj \
..\os2\$D\utilsexc.obj \
..\os2\$D\wave.obj \
@@ -624,6 +623,7 @@ OS2LIBOBJS2 = \
toolbar.obj \
tooltip.obj \
toplevel.obj \
treectrl.obj \
utils.obj \
utilsexc.obj \
wave.obj \
@@ -876,7 +876,6 @@ $(GENLIBOBJS):
copy ..\generic\$D\textdlgg.obj
copy ..\generic\$D\tipdlg.obj
copy ..\generic\$D\tipwin.obj
copy ..\generic\$D\treectlg.obj
copy ..\generic\$D\treelay.obj
copy ..\generic\$D\wizard.obj
@@ -979,6 +978,7 @@ $(OS2LIBOBJS2):
copy ..\os2\$D\toolbar.obj
copy ..\os2\$D\tooltip.obj
copy ..\os2\$D\toplevel.obj
copy ..\os2\$D\treectrl.obj
copy ..\os2\$D\utils.obj
copy ..\os2\$D\utilsexc.obj
copy ..\os2\$D\wave.obj

2099
src/os2/treectrl.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1454,14 +1454,7 @@ void wxWindowOS2::SetDropTarget(
wxDropTarget* pDropTarget
)
{
if (m_dropTarget != 0)
{
m_dropTarget->Revoke(m_hWnd);
delete m_dropTarget;
}
m_dropTarget = pDropTarget;
if (m_dropTarget != 0)
m_dropTarget->Register(m_hWnd);
} // end of wxWindowOS2::SetDropTarget
#endif
@@ -3530,7 +3523,6 @@ bool wxWindowOS2::HandleDestroy()
#if wxUSE_DRAG_AND_DROP
if (m_dropTarget != NULL)
{
m_dropTarget->Revoke(m_hWnd);
delete m_dropTarget;
m_dropTarget = NULL;
}

View File

@@ -1056,16 +1056,16 @@ EXPORTS
__vft16wxDataObjectBase
__vft18wxCustomDataObject16wxDataObjectBase
__vft16wxTextDropTarget16wxDropTargetBase
;wxwxSimpleDataObjectListNode::DeleteData()
DeleteData__28wxwxSimpleDataObjectListNodeFv
;wxDataObjectBase::IsSupported(const wxDataFormat&,wxDataObjectBase::Direction) const
IsSupported__16wxDataObjectBaseCFRC12wxDataFormatQ2_16wxDataObjectBase9Direction
;wxDataObjectComposite::wxDataObjectComposite()
__ct__21wxDataObjectCompositeFv
;wxCustomDataObject::TakeData(unsigned int,void*)
TakeData__18wxCustomDataObjectFUiPv
;wxDataObjectBase::IsSupported(const wxDataFormat&,wxDataObjectBase::Direction) const
IsSupported__16wxDataObjectBaseCFRC12wxDataFormatQ2_16wxDataObjectBase9Direction
;wxDataObjectComposite::GetPreferredFormat(wxDataObjectBase::Direction) const
GetPreferredFormat__21wxDataObjectCompositeCFQ2_16wxDataObjectBase9Direction
;wxwxSimpleDataObjectListNode::DeleteData()
DeleteData__28wxwxSimpleDataObjectListNodeFv
;From object file: ..\common\docmdi.cpp
;PUBDEFs (Symbols available from object file):
;wxDocMDIParentFrame::wxDocMDIParentFrame(wxDocManager*,wxFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
@@ -10128,278 +10128,6 @@ EXPORTS
Adjust__15wxTipWindowViewFRC8wxStringi
;wxTipWindowView::sm_eventTableEntries
sm_eventTableEntries__15wxTipWindowView
;From object file: ..\generic\treectlg.cpp
;PUBDEFs (Symbols available from object file):
;wxTreeRenameTimer::wxTreeRenameTimer(wxGenericTreeCtrl*)
__ct__17wxTreeRenameTimerFP17wxGenericTreeCtrl
;wxTreeTextCtrl::sm_eventTable
sm_eventTable__14wxTreeTextCtrl
;wxGenericTreeCtrl::sm_classwxGenericTreeCtrl
sm_classwxGenericTreeCtrl__17wxGenericTreeCtrl
;wxGenericTreeCtrl::TagNextChildren(wxGenericTreeItem*,wxGenericTreeItem*,unsigned long)
TagNextChildren__17wxGenericTreeCtrlFP17wxGenericTreeItemT1Ul
;wxGenericTreeCtrl::SetItemHasChildren(const wxTreeItemId&,unsigned long)
SetItemHasChildren__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
;wxGenericTreeCtrl::ScrollTo(const wxTreeItemId&)
ScrollTo__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::OnSetFocus(wxFocusEvent&)
OnSetFocus__17wxGenericTreeCtrlFR12wxFocusEvent
;wxGenericTreeCtrl::IsVisible(const wxTreeItemId&) const
IsVisible__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetBoundingRect(const wxTreeItemId&,wxRect&,unsigned long) const
GetBoundingRect__17wxGenericTreeCtrlCFRC12wxTreeItemIdR6wxRectUl
;wxGenericTreeCtrl::DrawLine(const wxTreeItemId&,unsigned long)
DrawLine__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
;wxGenericTreeCtrl::AssignImageList(wxImageList*)
AssignImageList__17wxGenericTreeCtrlFP11wxImageList
;wxGenericTreeCtrl::GetLineHeight(wxGenericTreeItem*) const
GetLineHeight__17wxGenericTreeCtrlCFP17wxGenericTreeItem
;wxGenericTreeCtrl::RefreshSubtree(wxGenericTreeItem*)
RefreshSubtree__17wxGenericTreeCtrlFP17wxGenericTreeItem
;wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*,wxDC&,int,int&)
PaintLevel__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDCiRi
;wxGenericTreeItem::HitTest(const wxPoint&,const wxGenericTreeCtrl*,int&,int)
HitTest__17wxGenericTreeItemFRC7wxPointPC17wxGenericTreeCtrlRii
;wxGenericTreeCtrl::OnRenameTimer()
OnRenameTimer__17wxGenericTreeCtrlFv
;wxConstructorForwxGenericTreeCtrl()
wxConstructorForwxGenericTreeCtrl__Fv
;wxGenericTreeCtrl::RefreshSelected()
RefreshSelected__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::GetFirstVisibleItem() const
GetFirstVisibleItem__17wxGenericTreeCtrlCFv
;wxGenericTreeCtrl::CalculateLineHeight()
CalculateLineHeight__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::AdjustMyScrollbars()
AdjustMyScrollbars__17wxGenericTreeCtrlFv
;wxGenericTreeItem::SetText(const wxString&)
SetText__17wxGenericTreeItemFRC8wxString
;wxGenericTreeCtrl::GetSelections(wxArrayTreeItemIds&) const
GetSelections__17wxGenericTreeCtrlCFR18wxArrayTreeItemIds
;wxGenericTreeCtrl::FindItem(const wxTreeItemId&,const wxString&) const
FindItem__17wxGenericTreeCtrlCFRC12wxTreeItemIdRC8wxString
;wxGenericTreeCtrl::Edit(const wxTreeItemId&)
Edit__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxTreeTextCtrl::sm_eventTableEntries
sm_eventTableEntries__14wxTreeTextCtrl
__vft17wxGenericTreeCtrl8wxObject
;wxGenericTreeCtrl::SetItemBold(const wxTreeItemId&,unsigned long)
SetItemBold__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
;wxGenericTreeCtrl::OnKillFocus(wxFocusEvent&)
OnKillFocus__17wxGenericTreeCtrlFR12wxFocusEvent
;wxGenericTreeCtrl::IsExpanded(const wxTreeItemId&) const
IsExpanded__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeItem::GetSize(int&,int&,const wxGenericTreeCtrl*)
GetSize__17wxGenericTreeItemFRiT1PC17wxGenericTreeCtrl
;wxGenericTreeCtrl::GetNext(const wxTreeItemId&) const
GetNext__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetNextSibling(const wxTreeItemId&) const
GetNextSibling__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::DeleteChildren(const wxTreeItemId&)
DeleteChildren__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::Collapse(const wxTreeItemId&)
Collapse__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::OnRenameCancelled(wxGenericTreeItem*)
OnRenameCancelled__17wxGenericTreeCtrlFP17wxGenericTreeItem
;wxGenericTreeCtrl::SetSpacing(unsigned int)
SetSpacing__17wxGenericTreeCtrlFUi
;wxGenericTreeCtrl::PrependItem(const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
PrependItem__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxStringiT3P14wxTreeItemData
;wxGenericTreeCtrl::DoInsertItem(const wxTreeItemId&,unsigned int,const wxString&,int,int,wxTreeItemData*)
DoInsertItem__17wxGenericTreeCtrlFRC12wxTreeItemIdUiRC8wxStringiT4P14wxTreeItemData
;wxGenericTreeCtrl::AppendItem(const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
AppendItem__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxStringiT3P14wxTreeItemData
;wxGenericTreeCtrl::~wxGenericTreeCtrl()
__dt__17wxGenericTreeCtrlFv
;wxConstructorForwxTreeCtrl()
wxConstructorForwxTreeCtrl__Fv
;wxGenericTreeCtrl::SetForegroundColour(const wxColour&)
SetForegroundColour__17wxGenericTreeCtrlFRC8wxColour
;wxGenericTreeCtrl::GetStateImageList() const
GetStateImageList__17wxGenericTreeCtrlCFv
;wxGenericTreeCtrl::GetImageList() const
GetImageList__17wxGenericTreeCtrlCFv
;wxGenericTreeCtrl::GetCount() const
GetCount__17wxGenericTreeCtrlCFv
;wxGenericTreeCtrl::CalculateSize(wxGenericTreeItem*,wxDC&)
CalculateSize__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDC
;wxTreeTextCtrl::OnChar(wxKeyEvent&)
OnChar__14wxTreeTextCtrlFR10wxKeyEvent
;wxGenericTreeCtrl::sm_eventTableEntries
sm_eventTableEntries__17wxGenericTreeCtrl
;wxGenericTreeCtrl::SetItemFont(const wxTreeItemId&,const wxFont&)
SetItemFont__17wxGenericTreeCtrlFRC12wxTreeItemIdRC6wxFont
;wxGenericTreeCtrl::SetFont(const wxFont&)
SetFont__17wxGenericTreeCtrlFRC6wxFont
;wxGenericTreeCtrl::SetButtonsImageList(wxImageList*)
SetButtonsImageList__17wxGenericTreeCtrlFP11wxImageList
;wxGenericTreeCtrl::OnPaint(wxPaintEvent&)
OnPaint__17wxGenericTreeCtrlFR12wxPaintEvent
;wxTreeTextCtrl::OnKeyUp(wxKeyEvent&)
OnKeyUp__14wxTreeTextCtrlFR10wxKeyEvent
;wxGenericTreeCtrl::OnIdle(wxIdleEvent&)
OnIdle__17wxGenericTreeCtrlFR11wxIdleEvent
;wxGenericTreeCtrl::IsSelected(const wxTreeItemId&) const
IsSelected__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::IsBold(const wxTreeItemId&) const
IsBold__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetNextChild(const wxTreeItemId&,long&) const
GetNextChild__17wxGenericTreeCtrlCFRC12wxTreeItemIdRl
;wxGenericTreeCtrl::GetItemText(const wxTreeItemId&) const
GetItemText__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetItemBackgroundColour(const wxTreeItemId&) const
GetItemBackgroundColour__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetFirstChild(const wxTreeItemId&,long&) const
GetFirstChild__17wxGenericTreeCtrlCFRC12wxTreeItemIdRl
;wxGenericTreeCtrl::GetChildrenCount(const wxTreeItemId&,unsigned long)
GetChildrenCount__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
;wxGenericTreeCtrl::ExpandAll(const wxTreeItemId&)
ExpandAll__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::DrawBorder(const wxTreeItemId&)
DrawBorder__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::Delete(const wxTreeItemId&)
Delete__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::AssignButtonsImageList(wxImageList*)
AssignButtonsImageList__17wxGenericTreeCtrlFP11wxImageList
;wxGenericTreeCtrl::HitTest(const wxPoint&,int&)
HitTest__17wxGenericTreeCtrlFRC7wxPointRi
;wxTreeTextCtrl::wxTreeTextCtrl(wxGenericTreeCtrl*,wxGenericTreeItem*)
__ct__14wxTreeTextCtrlFP17wxGenericTreeCtrlP17wxGenericTreeItem
;wxGenericTreeCtrl::GetItemImage(const wxTreeItemId&,wxTreeItemIcon) const
GetItemImage__17wxGenericTreeCtrlCFRC12wxTreeItemId14wxTreeItemIcon
;wxGenericTreeItem::~wxGenericTreeItem()
__dt__17wxGenericTreeItemFv
;wxGenericTreeCtrl::Unselect()
Unselect__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::SetBackgroundColour(const wxColour&)
SetBackgroundColour__17wxGenericTreeCtrlFRC8wxColour
;wxGenericTreeCtrl::GetEventTable() const
GetEventTable__17wxGenericTreeCtrlCFv
;wxGenericTreeItem::GetCurrentImage() const
GetCurrentImage__17wxGenericTreeItemCFv
;wxGenericTreeCtrl::DeleteAllItems()
DeleteAllItems__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::CalculatePositions()
CalculatePositions__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::OnRenameAccept(wxGenericTreeItem*,const wxString&)
OnRenameAccept__17wxGenericTreeCtrlFP17wxGenericTreeItemRC8wxString
;wxGenericTreeCtrl::SetItemText(const wxTreeItemId&,const wxString&)
SetItemText__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxString
;wxGenericTreeCtrl::ItemHasChildren(const wxTreeItemId&) const
ItemHasChildren__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::sm_eventTable
sm_eventTable__17wxGenericTreeCtrl
__vft14wxTreeTextCtrl8wxObject
;wxGenericTreeCtrl::Toggle(const wxTreeItemId&)
Toggle__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::SortChildren(const wxTreeItemId&)
SortChildren__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::SetStateImageList(wxImageList*)
SetStateImageList__17wxGenericTreeCtrlFP11wxImageList
;wxGenericTreeCtrl::SetImageList(wxImageList*)
SetImageList__17wxGenericTreeCtrlFP11wxImageList
;wxGenericTreeCtrl::OnMouse(wxMouseEvent&)
OnMouse__17wxGenericTreeCtrlFR12wxMouseEvent
;wxTreeTextCtrl::OnKillFocus(wxFocusEvent&)
OnKillFocus__14wxTreeTextCtrlFR12wxFocusEvent
;wxGenericTreeCtrl::OnChar(wxKeyEvent&)
OnChar__17wxGenericTreeCtrlFR10wxKeyEvent
;wxGenericTreeCtrl::GetPrevVisible(const wxTreeItemId&) const
GetPrevVisible__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetPrevSibling(const wxTreeItemId&) const
GetPrevSibling__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetLastChild(const wxTreeItemId&) const
GetLastChild__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetItemTextColour(const wxTreeItemId&) const
GetItemTextColour__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::Expand(const wxTreeItemId&)
Expand__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeItem::DeleteChildren(wxGenericTreeCtrl*)
DeleteChildren__17wxGenericTreeItemFP17wxGenericTreeCtrl
;wxGenericTreeCtrl::AssignStateImageList(wxImageList*)
AssignStateImageList__17wxGenericTreeCtrlFP11wxImageList
;wxGenericTreeCtrl::SendDeleteEvent(wxGenericTreeItem*)
SendDeleteEvent__17wxGenericTreeCtrlFP17wxGenericTreeItem
;wxGenericTreeCtrl::UnselectAllChildren(wxGenericTreeItem*)
UnselectAllChildren__17wxGenericTreeCtrlFP17wxGenericTreeItem
;wxGenericTreeCtrl::SetItemData(const wxTreeItemId&,wxTreeItemData*)
SetItemData__17wxGenericTreeCtrlFRC12wxTreeItemIdP14wxTreeItemData
;wxGenericTreeCtrl::SetIndent(unsigned int)
SetIndent__17wxGenericTreeCtrlFUi
;wxGenericTreeCtrl::OnCompareItems(const wxTreeItemId&,const wxTreeItemId&)
OnCompareItems__17wxGenericTreeCtrlFRC12wxTreeItemIdT1
;wxGenericTreeCtrl::InsertItem(const wxTreeItemId&,unsigned int,const wxString&,int,int,wxTreeItemData*)
InsertItem__17wxGenericTreeCtrlFRC12wxTreeItemIdUiRC8wxStringiT4P14wxTreeItemData
;wxGenericTreeCtrl::InsertItem(const wxTreeItemId&,const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
InsertItem__17wxGenericTreeCtrlFRC12wxTreeItemIdT1RC8wxStringiT4P14wxTreeItemData
;wxGenericTreeCtrl::CalculateLevel(wxGenericTreeItem*,wxDC&,int,int&)
CalculateLevel__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDCiRi
;wxGenericTreeCtrl::AddRoot(const wxString&,int,int,wxTreeItemData*)
AddRoot__17wxGenericTreeCtrlFRC8wxStringiT2P14wxTreeItemData
;wxGenericTreeCtrl::Init()
Init__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::SetItemImage(const wxTreeItemId&,int,wxTreeItemIcon)
SetItemImage__17wxGenericTreeCtrlFRC12wxTreeItemIdi14wxTreeItemIcon
;wxGenericTreeCtrl::SelectItem(const wxTreeItemId&,unsigned long,unsigned long)
SelectItem__17wxGenericTreeCtrlFRC12wxTreeItemIdUlT2
;wxGenericTreeCtrl::ResetTextControl()
ResetTextControl__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::GetButtonsImageList() const
GetButtonsImageList__17wxGenericTreeCtrlCFv
;wxTreeTextCtrl::AcceptChanges()
AcceptChanges__14wxTreeTextCtrlFv
;wxGenericTreeCtrl::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
Create__17wxGenericTreeCtrlFP8wxWindowiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
;wxGenericTreeCtrl::PaintItem(wxGenericTreeItem*,wxDC&)
PaintItem__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDC
;wxGenericTreeItem::GetChildrenCount(unsigned long) const
GetChildrenCount__17wxGenericTreeItemCFUl
;wxTreeCtrl::sm_classwxTreeCtrl
sm_classwxTreeCtrl__10wxTreeCtrl
__vft17wxTreeRenameTimer8wxObject
;wxGenericTreeCtrl::TagAllChildrenUntilLast(wxGenericTreeItem*,wxGenericTreeItem*,unsigned long)
TagAllChildrenUntilLast__17wxGenericTreeCtrlFP17wxGenericTreeItemT1Ul
;wxGenericTreeCtrl::SetWindowStyle(const long)
SetWindowStyle__17wxGenericTreeCtrlFCl
;wxGenericTreeCtrl::GetNextVisible(const wxTreeItemId&) const
GetNextVisible__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetItemParent(const wxTreeItemId&) const
GetItemParent__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetItemFont(const wxTreeItemId&) const
GetItemFont__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::GetItemData(const wxTreeItemId&) const
GetItemData__17wxGenericTreeCtrlCFRC12wxTreeItemId
;wxGenericTreeCtrl::EnsureVisible(const wxTreeItemId&)
EnsureVisible__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeCtrl::CollapseAndReset(const wxTreeItemId&)
CollapseAndReset__17wxGenericTreeCtrlFRC12wxTreeItemId
;wxGenericTreeItem::wxGenericTreeItem(wxGenericTreeItem*,const wxString&,int,int,wxTreeItemData*)
__ct__17wxGenericTreeItemFP17wxGenericTreeItemRC8wxStringiT3P14wxTreeItemData
;wxGenericTreeCtrl::SelectItemRange(wxGenericTreeItem*,wxGenericTreeItem*)
SelectItemRange__17wxGenericTreeCtrlFP17wxGenericTreeItemT1
;wxGenericTreeCtrl::RefreshSelectedUnder(wxGenericTreeItem*)
RefreshSelectedUnder__17wxGenericTreeCtrlFP17wxGenericTreeItem
;wxGenericTreeCtrl::RefreshLine(wxGenericTreeItem*)
RefreshLine__17wxGenericTreeCtrlFP17wxGenericTreeItem
;wxGenericTreeCtrl::DrawDropEffect(wxGenericTreeItem*)
DrawDropEffect__17wxGenericTreeCtrlFP17wxGenericTreeItem
;wxTreeRenameTimer::Notify()
Notify__17wxTreeRenameTimerFv
__vft17wxGenericTreeCtrl14wxScrollHelper
;wxGenericTreeCtrl::UnselectAll()
UnselectAll__17wxGenericTreeCtrlFv
;wxGenericTreeCtrl::SetItemTextColour(const wxTreeItemId&,const wxColour&)
SetItemTextColour__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxColour
;wxGenericTreeCtrl::SetItemBackgroundColour(const wxTreeItemId&,const wxColour&)
SetItemBackgroundColour__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxColour
;wxTreeTextCtrl::GetEventTable() const
GetEventTable__14wxTreeTextCtrlCFv
;wxGenericTreeCtrl::GetEditControl() const
GetEditControl__17wxGenericTreeCtrlCFv
;wxTreeTextCtrl::Finish()
Finish__14wxTreeTextCtrlFv
;wxGenericTreeCtrl::FillArray(wxGenericTreeItem*,wxArrayTreeItemIds&) const
FillArray__17wxGenericTreeCtrlCFP17wxGenericTreeItemR18wxArrayTreeItemIds
;From object file: ..\generic\treelay.cpp
;From object file: ..\generic\wizard.cpp
;From object file: ..\html\helpctrl.cpp
@@ -11962,57 +11690,47 @@ EXPORTS
wxMDIFrameClassNameNoRedraw
;From object file: ..\os2\dataobj.cpp
;PUBDEFs (Symbols available from object file):
;wxDataFormat::wxDataFormat()
__ct__12wxDataFormatFv
;wxBitmapDataObject::SetData(unsigned int,const void*)
SetData__18wxBitmapDataObjectFUiPCv
;wxDataFormat::SetId(unsigned short)
SetId__12wxDataFormatFUs
;wxDataFormat::wxDataFormat(wxDataFormatId)
__ct__12wxDataFormatF14wxDataFormatId
;wxDataObject::IsSupportedFormat(const wxDataFormat&,wxDataObjectBase::Direction) const
IsSupportedFormat__12wxDataObjectCFRC12wxDataFormatQ2_16wxDataObjectBase9Direction
;CIDataObject::SetData(const wxDataFormat&,char*)
SetData__12CIDataObjectFRC12wxDataFormatPc
;wxFileDataObject::GetDataHere(void*) const
GetDataHere__16wxFileDataObjectCFPv
;wxDataFormat::SetId(const char*)
SetId__12wxDataFormatFPCc
;CIDataObject::QueryGetData(const wxDataFormat&)
QueryGetData__12CIDataObjectFRC12wxDataFormat
;wxBitmapDataObject::wxBitmapDataObject(const wxBitmap&)
__ct__18wxBitmapDataObjectFRC8wxBitmap
__vft16wxFileDataObject16wxDataObjectBase
;wxBitmapDataObject::~wxBitmapDataObject()
__dt__18wxBitmapDataObjectFv
;wxDataFormat::wxDataFormat(const wxString&)
__ct__12wxDataFormatFRC8wxString
;wxFileDataObject::AddFile(const wxString&)
AddFile__16wxFileDataObjectFRC8wxString
;CIDataObject::GetData(const wxDataFormat&,char*,unsigned long)
GetData__12CIDataObjectFRC12wxDataFormatPcUl
;wxBitmapDataObject::SetBitmap(const wxBitmap&)
SetBitmap__18wxBitmapDataObjectFRC8wxBitmap
__vft18wxBitmapDataObject16wxDataObjectBase
;wxDataFormat::PrepareFormats()
PrepareFormats__12wxDataFormatFv
;wxDataObject::~wxDataObject()
__dt__12wxDataObjectFv
;wxBitmapDataObject::wxBitmapDataObject()
__ct__18wxBitmapDataObjectFv
;wxFileDataObject::SetData(unsigned int,const void*)
SetData__16wxFileDataObjectFUiPCv
;wxBitmapDataObject::GetDataHere(void*) const
GetDataHere__18wxBitmapDataObjectCFPv
;wxDataFormat::SetType(wxDataFormatId)
SetType__12wxDataFormatF14wxDataFormatId
;CIDataObject::GetDataHere(const wxDataFormat&,char*,unsigned long)
GetDataHere__12CIDataObjectFRC12wxDataFormatPcUl
__vft12wxDataObject16wxDataObjectBase
;wxDataObject::wxDataObject()
__ct__12wxDataObjectFv
;wxDataFormat::GetType() const
GetType__12wxDataFormatCFv
;wxDataFormat::GetId() const
GetId__12wxDataFormatCFv
;wxFileDataObject::GetDataSize() const
GetDataSize__16wxFileDataObjectCFv
;wxBitmapDataObject::DoConvertToPng()
DoConvertToPng__18wxBitmapDataObjectFv
;wxDataFormat::wxDataFormat(const char*)
__ct__12wxDataFormatFPCc
;wxDataFormat::wxDataFormat(unsigned short)
__ct__12wxDataFormatFUs
;From object file: ..\os2\dc.cpp
;PUBDEFs (Symbols available from object file):
;wxDC::SetFont(const wxFont&)
@@ -12359,32 +12077,38 @@ EXPORTS
OnData__12wxDropTargetFiT112wxDragResult
__vft12wxDropTarget16wxDropTargetBase
__vft12wxDropSource16wxDropSourceBase
;CIDropTarget::DragOver()
DragOver__12CIDropTargetFv
;wxDropSource::~wxDropSource()
__dt__12wxDropSourceFv
;wxDropTarget::wxDropTarget(wxDataObject*)
__ct__12wxDropTargetFP12wxDataObject
;wxDropTarget::Revoke(unsigned long)
Revoke__12wxDropTargetFUl
;wxDropTarget::Register(unsigned long)
Register__12wxDropTargetFUl
;wxDropTarget::OnDrop(int,int)
OnDrop__12wxDropTargetFiT1
;wxDropTarget::GetData()
GetData__12wxDropTargetFv
;wxDropSource::wxDropSource(wxWindow*)
__ct__12wxDropSourceFP8wxWindow
;wxDropTarget::IsAcceptedData(_DRAGINFO*) const
IsAcceptedData__12wxDropTargetCFP9_DRAGINFO
;wxDropSource::wxDropSource(wxDataObject&,wxWindow*)
__ct__12wxDropSourceFR12wxDataObjectP8wxWindow
;wxDropTarget::OnDragOver(int,int,wxDragResult)
OnDragOver__12wxDropTargetFiT112wxDragResult
;wxDropSource::wxDropSource(wxWindow*)
__ct__12wxDropSourceFP8wxWindow
;wxDropTarget::~wxDropTarget()
__dt__12wxDropTargetFv
;CIDropTarget::Drop()
Drop__12CIDropTargetFv
;wxDropTarget::GetSupportedFormat(_DRAGINFO*) const
GetSupportedFormat__12wxDropTargetCFP9_DRAGINFO
;CIDropTarget::DragLeave()
DragLeave__12CIDropTargetFv
;wxDropTarget::Release()
Release__12wxDropTargetFv
;wxDropSource::GiveFeedback(wxDragResult)
GiveFeedback__12wxDropSourceF12wxDragResult
;wxDropSource::DoDragDrop(int)
DoDragDrop__12wxDropSourceFi
;wxDropSource::Init()
Init__12wxDropSourceFv
;wxDropTarget::IsAcceptable(_DRAGINFO*)
IsAcceptable__12wxDropTargetFP9_DRAGINFO
;From object file: ..\os2\filedlg.cpp
;PUBDEFs (Symbols available from object file):
;wxSaveFileSelector(const char*,const char*,const char*,wxWindow*)
@@ -14720,6 +14444,190 @@ EXPORTS
SendSizeEvent__19wxTopLevelWindowOS2Fv
wxDlgProc
wxModelessWindows
;From object file: ..\os2\treectrl.cpp
;PUBDEFs (Symbols available from object file):
;wxTreeTraversal::DoTraverse(const wxTreeItemId&,unsigned long)
DoTraverse__15wxTreeTraversalFRC12wxTreeItemIdUl
;wxTreeTraversal::Traverse(const wxTreeItemId&,unsigned long)
Traverse__15wxTreeTraversalFRC12wxTreeItemIdUl
;wxTreeCtrl::RefreshItem(const wxTreeItemId&)
RefreshItem__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::HasIndirectData(const wxTreeItemId&) const
HasIndirectData__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetBoundingRect(const wxTreeItemId&,wxRect&,unsigned long) const
GetBoundingRect__10wxTreeCtrlCFRC12wxTreeItemIdR6wxRectUl
;wxTreeCtrl::EndEditLabel(const wxTreeItemId&,unsigned long)
EndEditLabel__10wxTreeCtrlFRC12wxTreeItemIdUl
;wxTreeCtrl::Collapse(const wxTreeItemId&)
Collapse__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::CollapseAndReset(const wxTreeItemId&)
CollapseAndReset__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::SetAnyImageList(wxImageList*,int)
SetAnyImageList__10wxTreeCtrlFP11wxImageListi
;wxTreeCtrl::InsertItem(const wxTreeItemId&,unsigned int,const wxString&,int,int,wxTreeItemData*)
InsertItem__10wxTreeCtrlFRC12wxTreeItemIdUiRC8wxStringiT4P14wxTreeItemData
;wxTreeCtrl::Init()
Init__10wxTreeCtrlFv
;wxTreeCtrl::GetRootItem() const
GetRootItem__10wxTreeCtrlCFv
;wxTreeCtrl::GetIndent() const
GetIndent__10wxTreeCtrlCFv
;FindOS2TreeRecordByID(unsigned long,long)
FindOS2TreeRecordByID__FUll
__vft10wxTreeCtrl8wxObject
;wxTreeCtrl::SortChildren(const wxTreeItemId&)
SortChildren__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::SetItemHasChildren(const wxTreeItemId&,unsigned long)
SetItemHasChildren__10wxTreeCtrlFRC12wxTreeItemIdUl
;wxTreeCtrl::IsBold(const wxTreeItemId&) const
IsBold__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetPrevVisible(const wxTreeItemId&) const
GetPrevVisible__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetPrevSibling(const wxTreeItemId&) const
GetPrevSibling__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetNextSibling(const wxTreeItemId&) const
GetNextSibling__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::DoInsertItem(const wxTreeItemId&,wxTreeItemId,const wxString&,int,int,wxTreeItemData*)
DoInsertItem__10wxTreeCtrlFRC12wxTreeItemId12wxTreeItemIdRC8wxStringiT4P14wxTreeItemData
;wxTreeCtrl::OnCompareItems(const wxTreeItemId&,const wxTreeItemId&)
OnCompareItems__10wxTreeCtrlFRC12wxTreeItemIdT1
;wxConstructorForwxTreeCtrl()
wxConstructorForwxTreeCtrl__Fv
;wxTreeCtrl::UnselectAll()
UnselectAll__10wxTreeCtrlFv
;wxTreeCtrl::SetItemTextColour(const wxTreeItemId&,const wxColour&)
SetItemTextColour__10wxTreeCtrlFRC12wxTreeItemIdRC8wxColour
;wxTreeCtrl::SetItemBackgroundColour(const wxTreeItemId&,const wxColour&)
SetItemBackgroundColour__10wxTreeCtrlFRC12wxTreeItemIdRC8wxColour
;wxTreeCtrl::GetStateImageList() const
GetStateImageList__10wxTreeCtrlCFv
;wxTreeCtrl::GetCount() const
GetCount__10wxTreeCtrlCFv
;wxTreeCtrl::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
Create__10wxTreeCtrlFP8wxWindowiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
;wxTreeCtrl::SetImageList(wxImageList*)
SetImageList__10wxTreeCtrlFP11wxImageList
;wxTreeCtrl::SetStateImageList(wxImageList*)
SetStateImageList__10wxTreeCtrlFP11wxImageList
;wxTreeCtrl::SetItemCheck(const wxTreeItemId&,unsigned long)
SetItemCheck__10wxTreeCtrlFRC12wxTreeItemIdUl
;wxTreeCtrl::ScrollTo(const wxTreeItemId&)
ScrollTo__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::IsVisible(const wxTreeItemId&) const
IsVisible__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::InsertItem(const wxTreeItemId&,const wxString&,int,int,long)
InsertItem__10wxTreeCtrlFRC12wxTreeItemIdRC8wxStringiT3l
;wxTreeCtrl::GetNextChild(const wxTreeItemId&,long&) const
GetNextChild__10wxTreeCtrlCFRC12wxTreeItemIdRl
;wxTreeCtrl::GetLastChild(const wxTreeItemId&) const
GetLastChild__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetItemText(const wxTreeItemId&) const
GetItemText__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetItemParent(const wxTreeItemId&) const
GetItemParent__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetItemFont(const wxTreeItemId&) const
GetItemFont__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::AssignStateImageList(wxImageList*)
AssignStateImageList__10wxTreeCtrlFP11wxImageList
;wxTreeCtrl::HitTest(const wxPoint&,int&)
HitTest__10wxTreeCtrlFRC7wxPointRi
;wxTreeCtrl::SetIndirectItemData(const wxTreeItemId&,wxTreeItemIndirectData*)
SetIndirectItemData__10wxTreeCtrlFRC12wxTreeItemIdP22wxTreeItemIndirectData
;wxTreeCtrl::PrependItem(const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
PrependItem__10wxTreeCtrlFRC12wxTreeItemIdRC8wxStringiT3P14wxTreeItemData
;wxTreeCtrl::InsertItem(const wxTreeItemId&,const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
InsertItem__10wxTreeCtrlFRC12wxTreeItemIdT1RC8wxStringiT4P14wxTreeItemData
;wxTreeCtrl::ExpandItem(const wxTreeItemId&,int)
ExpandItem__10wxTreeCtrlFRC12wxTreeItemIdi
;wxTreeCtrl::AppendItem(const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
AppendItem__10wxTreeCtrlFRC12wxTreeItemIdRC8wxStringiT3P14wxTreeItemData
;wxTreeCtrl::GetItemImage(const wxTreeItemId&,wxTreeItemIcon) const
GetItemImage__10wxTreeCtrlCFRC12wxTreeItemId14wxTreeItemIcon
;wxTreeCtrl::~wxTreeCtrl()
__dt__10wxTreeCtrlFv
;wxTreeCtrl::SetForegroundColour(const wxColour&)
SetForegroundColour__10wxTreeCtrlFRC8wxColour
;wxTreeCtrl::SetBackgroundColour(const wxColour&)
SetBackgroundColour__10wxTreeCtrlFRC8wxColour
;wxTreeCtrl::DoSetItemImages(const wxTreeItemId&,int,int)
DoSetItemImages__10wxTreeCtrlFRC12wxTreeItemIdiT2
;wxTreeCtrl::GetSelections(wxArrayTreeItemIds&) const
GetSelections__10wxTreeCtrlCFR18wxArrayTreeItemIds
;wxTreeCtrl::EditLabel(const wxTreeItemId&,wxClassInfo*)
EditLabel__10wxTreeCtrlFRC12wxTreeItemIdP11wxClassInfo
;wxTreeCtrl::GetFirstChild(const wxTreeItemId&,long&) const
GetFirstChild__10wxTreeCtrlCFRC12wxTreeItemIdRl
;wxTreeCtrl::SetItemFont(const wxTreeItemId&,const wxFont&)
SetItemFont__10wxTreeCtrlFRC12wxTreeItemIdRC6wxFont
;wxTreeCtrl::SetItemDropHighlight(const wxTreeItemId&,unsigned long)
SetItemDropHighlight__10wxTreeCtrlFRC12wxTreeItemIdUl
;wxTreeCtrl::IsSelected(const wxTreeItemId&) const
IsSelected__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::IsExpanded(const wxTreeItemId&) const
IsExpanded__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetNextVisible(const wxTreeItemId&) const
GetNextVisible__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetItemTextColour(const wxTreeItemId&) const
GetItemTextColour__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetItemData(const wxTreeItemId&) const
GetItemData__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::Delete(const wxTreeItemId&)
Delete__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::AssignImageList(wxImageList*)
AssignImageList__10wxTreeCtrlFP11wxImageList
;wxTreeCtrl::SetItemData(const wxTreeItemId&,wxTreeItemData*)
SetItemData__10wxTreeCtrlFRC12wxTreeItemIdP14wxTreeItemData
;wxTreeCtrl::GetFirstVisibleItem() const
GetFirstVisibleItem__10wxTreeCtrlCFv
;wxTreeCtrl::Unselect()
Unselect__10wxTreeCtrlFv
;wxTreeCtrl::SetItemText(const wxTreeItemId&,const wxString&)
SetItemText__10wxTreeCtrlFRC12wxTreeItemIdRC8wxString
InternalDataCompareTreeFunc
;BumpTreeRecordIds(unsigned long,_MYRECORD*)
BumpTreeRecordIds__FUlP9_MYRECORD
;wxTreeCtrl::sm_classwxTreeCtrl
sm_classwxTreeCtrl__10wxTreeCtrl
;wxTreeCtrl::Toggle(const wxTreeItemId&)
Toggle__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::SetItemBold(const wxTreeItemId&,unsigned long)
SetItemBold__10wxTreeCtrlFRC12wxTreeItemIdUl
;wxTreeCtrl::SelectItem(const wxTreeItemId&)
SelectItem__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::ItemHasChildren(const wxTreeItemId&) const
ItemHasChildren__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::IsItemChecked(const wxTreeItemId&) const
IsItemChecked__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetItemBackgroundColour(const wxTreeItemId&) const
GetItemBackgroundColour__10wxTreeCtrlCFRC12wxTreeItemId
;wxTreeCtrl::GetChildrenCount(const wxTreeItemId&,unsigned long) const
GetChildrenCount__10wxTreeCtrlCFRC12wxTreeItemIdUl
;wxTreeCtrl::Expand(const wxTreeItemId&)
Expand__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::EnsureVisible(const wxTreeItemId&)
EnsureVisible__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::DeleteChildren(const wxTreeItemId&)
DeleteChildren__10wxTreeCtrlFRC12wxTreeItemId
;wxTreeCtrl::SetIndent(unsigned int)
SetIndent__10wxTreeCtrlFUi
;wxTreeCtrl::AddRoot(const wxString&,int,int,wxTreeItemData*)
AddRoot__10wxTreeCtrlFRC8wxStringiT2P14wxTreeItemData
;wxTreeCtrl::GetImageList() const
GetImageList__10wxTreeCtrlCFv
;wxTreeCtrl::SetItemImage(const wxTreeItemId&,int,wxTreeItemIcon)
SetItemImage__10wxTreeCtrlFRC12wxTreeItemIdi14wxTreeItemIcon
;wxTreeCtrl::OS2WindowProc(unsigned int,void*,void*)
OS2WindowProc__10wxTreeCtrlFUiPvT2
;wxTreeCtrl::GetSelection() const
GetSelection__10wxTreeCtrlCFv
;wxTreeCtrl::DoSetItemImageFromData(const wxTreeItemId&,int,wxTreeItemIcon) const
DoSetItemImageFromData__10wxTreeCtrlCFRC12wxTreeItemIdi14wxTreeItemIcon
;wxTreeCtrl::DoGetItemImageFromData(const wxTreeItemId&,wxTreeItemIcon) const
DoGetItemImageFromData__10wxTreeCtrlCFRC12wxTreeItemId14wxTreeItemIcon
;wxTreeCtrl::DeleteAllItems()
DeleteAllItems__10wxTreeCtrlFv
;wxTreeCtrl::OS2Command(unsigned int,unsigned short)
OS2Command__10wxTreeCtrlFUiUs
;From object file: ..\os2\utils.cpp
;PUBDEFs (Symbols available from object file):
gs_wxBusyCursorOld