/////////////////////////////////////////////////////////////////////////////
-// Name: src/msw/treectrl.cpp
+// Name: src/os2/treectrl.cpp
// Purpose: wxTreeCtrl
// Author: Julian Smart
// Modified by: Vadim Zeitlin to be less MSW-specific on 10.10.98
// Created: 1997
-// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
- #pragma implementation "treectrl.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#if wxUSE_TREECTRL
+#include "wx/treectrl.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/dynarray.h"
+ #include "wx/log.h"
+ #include "wx/app.h"
+ #include "wx/settings.h"
+#endif
+
#include "wx/os2/private.h"
-#include "wx/app.h"
-#include "wx/log.h"
-#include "wx/dynarray.h"
#include "wx/imaglist.h"
-#include "wx/settings.h"
-#include "wx/os2/treectrl.h"
// a macro to hide the ugliness of nested casts
#define HITEM(item) (HTREEITEM)(WXHTREEITEM)(item)
wxTreeItemInternalData() {}
~wxTreeItemInternalData()
{
- if(m_pAttr)
- {
- delete m_pAttr;
- m_pAttr = NULL;
- }
+ wxDELETE(m_pAttr);
}
wxTreeItemAttr* m_pAttr;
//
// Do traverse the tree: visit all items (recursively by default) under the
- // given one; return TRUE if all items were traversed or FALSE if the
- // traversal was aborted because OnVisit returned FALSE
+ // given one; return true if all items were traversed or false if the
+ // traversal was aborted because OnVisit returned false
//
bool DoTraverse( const wxTreeItemId& rRoot
- ,bool bRecursively = TRUE
+ ,bool bRecursively = true
);
//
// Override this function to do whatever is needed for each item, return
- // FALSE to stop traversing
+ // false to stop traversing
//
virtual bool OnVisit(const wxTreeItemId& rItem) = 0;
);
const wxTreeCtrl* m_pTree;
- DECLARE_NO_COPY_CLASS(wxTreeTraversal)
+ wxDECLARE_NO_COPY_CLASS(wxTreeTraversal);
}; // end of CLASS wxTreeTraversal
//
//
if ((GetTree()->GetRootItem() == rItem) && (GetTree()->GetWindowStyle() & wxTR_HIDE_ROOT))
{
- return TRUE;
+ return true;
}
- PMYRECORD pRecord = FindOS2TreeRecordByID( GetTree()->GetHWND()
+ PMYRECORD pRecord = FindOS2TreeRecordByID( (HWND)GetTree()->GetHWND()
,rItem.m_pItem
);
if (pRecord->m_vRecord.flRecordAttr & CRA_SELECTED)
{
m_aSelections.Add(rItem);
}
- return TRUE;
+ return true;
}
size_t GetCount(void) const { return m_aSelections.GetCount(); }
virtual bool OnVisit(const wxTreeItemId& WXUNUSED(rItem))
{
m_nCount++;
- return TRUE;
+ return true;
}
size_t GetCount(void) const { return m_nCount; }
// wxWin macros
// ----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxTreeCtrl, wxControl)
-
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
but logically it's a const table with the following entries:
=
{
- { wxEVT_COMMAND_TREE_ITEM_COLLAPSED, wxEVT_COMMAND_TREE_ITEM_COLLAPSING },
- { wxEVT_COMMAND_TREE_ITEM_EXPANDED, wxEVT_COMMAND_TREE_ITEM_EXPANDING }
+ { wxEVT_TREE_ITEM_COLLAPSED, wxEVT_TREE_ITEM_COLLAPSING },
+ { wxEVT_TREE_ITEM_EXPANDED, wxEVT_TREE_ITEM_EXPANDING }
};
*/
)
{
if (!OnVisit(rRoot))
- return FALSE;
+ return false;
return Traverse( rRoot
,bRecursively
//
// Depth first traversal
//
- if (bRecursively && !Traverse(vChild, TRUE))
- return FALSE;
+ if (bRecursively && !Traverse(vChild, true))
+ return false;
if (!OnVisit(vChild))
- return FALSE;
+ return false;
vChild = m_pTree->GetNextChild( rRoot
,lCookie
);
}
- return TRUE;
+ return true;
} // end of wxTreeTraversal::Traverse
// ----------------------------------------------------------------------------
{
m_pImageListNormal = NULL;
m_pImageListState = NULL;
- m_bOwnsImageListNormal = FALSE;
- m_bOwnsImageListState = FALSE;
- m_bHasAnyAttr = FALSE;
+ m_bOwnsImageListNormal = false;
+ m_bOwnsImageListState = false;
+ m_bHasAnyAttr = false;
m_pDragImage = NULL;
//
// Initialize the global array of events now as it can't be done statically
// with the wxEVT_XXX values being allocated during run-time only
//
- gs_expandEvents[IDX_COLLAPSE][IDX_DONE] = wxEVT_COMMAND_TREE_ITEM_COLLAPSED;
- gs_expandEvents[IDX_COLLAPSE][IDX_DOING] = wxEVT_COMMAND_TREE_ITEM_COLLAPSING;
- gs_expandEvents[IDX_EXPAND][IDX_DONE] = wxEVT_COMMAND_TREE_ITEM_EXPANDED;
- gs_expandEvents[IDX_EXPAND][IDX_DOING] = wxEVT_COMMAND_TREE_ITEM_EXPANDING;
+ gs_expandEvents[IDX_COLLAPSE][IDX_DONE] = wxEVT_TREE_ITEM_COLLAPSED;
+ gs_expandEvents[IDX_COLLAPSE][IDX_DOING] = wxEVT_TREE_ITEM_COLLAPSING;
+ gs_expandEvents[IDX_EXPAND][IDX_DONE] = wxEVT_TREE_ITEM_EXPANDED;
+ gs_expandEvents[IDX_EXPAND][IDX_DOING] = wxEVT_TREE_ITEM_EXPANDING;
} // end of wxTreeCtrl::Init
bool wxTreeCtrl::Create (
,rValidator
,rsName
))
- return FALSE;
+ return false;
DWORD dwStyle = WS_VISIBLE | WS_TABSTOP;
if (!OS2CreateControl( "CONTAINER"
,dwStyle
))
- return FALSE;
+ return false;
//
// Now set the display attributes to show a TREE/ICON view of the
,rSize.x
,rSize.y
);
- return TRUE;
+ return true;
} // end of wxTreeCtrl::Create
wxTreeCtrl::~wxTreeCtrl ()
{
delete (wxTreeItemAttr *)pNode->Data();
}
- m_bHasAnyAttr = FALSE;
+ m_bHasAnyAttr = false;
}
DeleteTextCtrl();
if (!pRecord)
{
wxLogLastError(wxT("Item not obtained"));
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
} // end of wxTreeCtrl::DoGetItem
void wxTreeCtrl::DoSetItem (
}
} // end of wxTreeCtrl::DoSetItem
-size_t wxTreeCtrl::GetCount () const
+unsigned int wxTreeCtrl::GetCount () const
{
- CNRINFO vCnrInfo;
+ CNRINFO vCnrInfo;
::WinSendMsg( GetHWND()
,CM_QUERYCNRINFO
,MPFROMP(&vCnrInfo)
,(MPARAM)(USHORT)sizeof(CNRINFO)
);
- return (size_t)vCnrInfo.cRecords;
+
+ return (unsigned int)vCnrInfo.cRecords;
} // end of wxTreeCtrl::GetCount
unsigned int wxTreeCtrl::GetIndent () const
// The SETS of imagelists really do nothing under OS2 as a RECORDCORE
// struct has the icon imbedded in it that it uses for the icon being
// displayed via the TREEITEMDESC member. Provided for interface
-// compatability only
+// compatibility only
//
void wxTreeCtrl::SetAnyImageList (
wxImageList* WXUNUSED(pImageList)
{
if (m_bOwnsImageListNormal)
delete m_pImageListNormal;
- m_bOwnsImageListNormal = FALSE;
+ m_bOwnsImageListNormal = false;
} // end of wxTreeCtrl::SetImageList
void wxTreeCtrl::SetStateImageList (
{
if (m_bOwnsImageListState)
delete m_pImageListState;
- m_bOwnsImageListState = FALSE;
+ m_bOwnsImageListState = false;
} // end of wxTreeCtrl::SetStateImageList
void wxTreeCtrl::AssignImageList (
wxImageList* WXUNUSED(pImageList)
)
{
- m_bOwnsImageListNormal = TRUE;
+ m_bOwnsImageListNormal = true;
} // end of wxTreeCtrl::AssignImageList
void wxTreeCtrl::AssignStateImageList (
wxImageList* WXUNUSED(pImageList)
)
{
- m_bOwnsImageListState = TRUE;
+ m_bOwnsImageListState = true;
} // end of wxTreeCtrl::AssignStateImageList
size_t wxTreeCtrl::GetChildrenCount (
ULONG ulColor = wxColourToRGB(rColour);
if ( !wxWindowBase::SetBackgroundColour(rColour) )
- return FALSE;
+ return false;
::WinSetPresParam( GetHWND()
,PP_BACKGROUNDCOLOR
,sizeof(ULONG)
,&ulColor
);
- return TRUE;
+ return true;
} // end of wxTreeCtrl::SetBackgroundColour
bool wxTreeCtrl::SetForegroundColour (
ULONG ulColor = wxColourToRGB(rColour);
if (!wxWindowBase::SetForegroundColour(rColour))
- return FALSE;
+ return false;
::WinSetPresParam( GetHWND()
,PP_FOREGROUNDCOLOR
,sizeof(ULONG)
,&ulColor
);
- return TRUE;
+ return true;
} // end of wxTreeCtrl::SetForegroundColour
// ----------------------------------------------------------------------------
const wxTreeItemId& WXUNUSED(rItem)
) const
{
- return FALSE;
+ return false;
} // end of wxTreeCtrl::HasIndirectData
// Irreleveant under OS/2 --- item either has child records or it doesn't.
, const wxColour& rCol
)
{
- m_bHasAnyAttr = TRUE;
+ m_bHasAnyAttr = true;
long lId = (long)rItem.m_pItem;
wxTreeItemAttr* pAttr = (wxTreeItemAttr *)m_vAttrs.Get(lId);
, const wxColour& rCol
)
{
- m_bHasAnyAttr = TRUE;
+ m_bHasAnyAttr = true;
long lId = (long)rItem.m_pItem;
wxTreeItemAttr* pAttr = (wxTreeItemAttr *)m_vAttrs.Get(lId);
, const wxFont& rFont
)
{
- m_bHasAnyAttr = TRUE;
+ m_bHasAnyAttr = true;
long lId = (long)rItem.m_pItem;
wxTreeItemAttr* pAttr = (wxTreeItemAttr *)m_vAttrs.Get(lId);
vWxRectContainer.SetTop(vRectContainer.yTop);
vWxRectContainer.SetRight(vRectContainer.xRight);
vWxRectContainer.SetBottom(vRectContainer.yBottom);
- return (vWxRectContainer.Inside(wxPoint(vWxRectRecord.x, vWxRectRecord.y)));
+ return (vWxRectContainer.Contains(wxPoint(vWxRectRecord.x, vWxRectRecord.y)));
} // end of wxTreeCtrl::IsVisible
bool wxTreeCtrl::ItemHasChildren (
const wxTreeItemId& rItem
) const
{
- return FALSE;
+ return false;
} // end of wxTreeCtrl::IsBold
// ----------------------------------------------------------------------------
return wxTreeItemId((long)pRecord->m_ulItemId);
}
-// for compatibility only
-wxTreeItemId wxTreeCtrl::InsertItem (
- const wxTreeItemId& rParent
-, const wxString& rsText
-, int nImage
-, int nSelImage
-, long lInsertAfter
-)
-{
- return DoInsertItem( rParent
- ,wxTreeItemId(lInsertAfter)
- ,rsText
- ,nImage
- ,nSelImage
- ,NULL
- );
-} // end of wxTreeCtrl::InsertItem
-
wxTreeItemId wxTreeCtrl::AddRoot (
const wxString& rsText
, int nImage
delete (wxTreeItemAttr *)m_vAttrs.Delete((long)rItem.m_pItem);
}
vEvent.SetEventType(vEventType);
- GetEventHandler()->ProcessEvent(vEvent);
+ HandleWindowEvent(vEvent);
} // end of wxTreeCtrl::Delete
// delete all children (but don't delete the item itself)
);
} // end of wxTreeCtrl::Toggle
-void wxTreeCtrl::ExpandItem (
- const wxTreeItemId& rItem
-, int nAction
-)
-{
- DoExpand( rItem
- ,nAction
- );
-} // end of wxTreeCtrl::ExpandItem
-
void wxTreeCtrl::Unselect ()
{
wxASSERT_MSG( !(m_windowStyle & wxTR_MULTIPLE),
for (size_t n = 0; n < nCount; n++)
{
SetItemCheck( aSelections[n]
- ,FALSE
+ ,false
);
}
}
,MPFROMP(&vRectRecord)
,MPFROMP(&vQuery)
))
- return FALSE;
+ return false;
rRect.SetLeft(vRectRecord.xLeft);
rRect.SetTop(vRectRecord.yTop);
rRect.SetRight(vRectRecord.xRight);
rRect.SetBottom(vRectRecord.yBottom);
- return TRUE;
+ return true;
} // end of wxTreeCtrl::GetBoundingRect
// ----------------------------------------------------------------------------
{
if (uCmd == CN_ENDEDIT)
{
- wxCommandEvent vEvent( wxEVT_COMMAND_TEXT_UPDATED
+ wxCommandEvent vEvent( wxEVT_TEXT
,wId
);
vEvent.SetEventObject( this );
ProcessCommand(vEvent);
- return TRUE;
+ return true;
}
else if (uCmd == CN_KILLFOCUS)
{
);
vEvent.SetEventObject( this );
ProcessCommand(vEvent);
- return TRUE;
+ return true;
}
else
- return FALSE;
+ return false;
} // end of wxTreeCtrl::OS2Command
//
, WXLPARAM lParam
)
{
- bool bProcessed = FALSE;
+ bool bProcessed = false;
MRESULT mRc = 0;
wxTreeEvent vEvent( wxEVT_NULL
,m_windowId
{
PMYRECORD pRecord = (PMYRECORD)pDragInit->pRecord;
- vEventType = wxEVT_COMMAND_TREE_BEGIN_DRAG;
+ vEventType = wxEVT_TREE_BEGIN_DRAG;
vEvent.m_item = pRecord->m_ulItemId;
vEvent.m_pointDrag.x = pDragInit->x;
vEvent.m_pointDrag.y = pDragInit->y;
{
PMYRECORD pRecord = (PMYRECORD)pEditData->pRecord;
- vEventType = wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT;
+ vEventType = wxEVT_TREE_BEGIN_LABEL_EDIT;
vEvent.m_item = pRecord->m_ulItemId;
vEvent.m_label = pRecord->m_vRecord.pszTree;
- vEvent.m_editCancelled = FALSE;
+ vEvent.m_editCancelled = false;
}
break;
{
PMYRECORD pRecord = (PMYRECORD)pEditData->pRecord;
- vEventType = wxEVT_COMMAND_TREE_END_LABEL_EDIT;
+ vEventType = wxEVT_TREE_END_LABEL_EDIT;
vEvent.m_item = pRecord->m_ulItemId;
vEvent.m_label = pRecord->m_vRecord.pszTree;
if (pRecord->m_vRecord.pszTree == NULL)
{
- vEvent.m_editCancelled = TRUE;
+ vEvent.m_editCancelled = true;
}
else
{
- vEvent.m_editCancelled = FALSE;
+ vEvent.m_editCancelled = false;
}
}
break;
break;
}
vEvent.SetEventType(vEventType);
- bProcessed = GetEventHandler()->ProcessEvent(vEvent);
+ bProcessed = HandleWindowEvent(vEvent);
break;
}
if (!bProcessed)