end label edit patch from Ricky Gonzales <gonzales@pyramid3.net>
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1256,9 +1256,9 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
|||||||
{
|
{
|
||||||
eventType = wxEVT_COMMAND_LIST_END_LABEL_EDIT;
|
eventType = wxEVT_COMMAND_LIST_END_LABEL_EDIT;
|
||||||
LV_DISPINFO *info = (LV_DISPINFO *)lParam;
|
LV_DISPINFO *info = (LV_DISPINFO *)lParam;
|
||||||
wxConvertFromMSWListItem(this, event.m_item, info->item, GetHwnd());
|
wxConvertFromMSWListItem(this, event.m_item, info->item);
|
||||||
if ( info->item.pszText == NULL || info->item.iItem == -1 )
|
if ( info->item.pszText == NULL || info->item.iItem == -1 )
|
||||||
event.m_cancelled = TRUE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LVN_GETDISPINFO:
|
case LVN_GETDISPINFO:
|
||||||
@@ -1341,7 +1341,11 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// else translate it into wxEVT_COMMAND_LIST_ITEM_ACTIVATED event
|
// else translate it into wxEVT_COMMAND_LIST_ITEM_ACTIVATED event
|
||||||
eventType = wxEVT_COMMAND_LIST_ITEM_ACTIVATED;
|
{
|
||||||
|
eventType = wxEVT_COMMAND_LIST_ITEM_ACTIVATED;
|
||||||
|
NM_LISTVIEW* hdr = (NM_LISTVIEW*)lParam;
|
||||||
|
event.m_itemIndex = hdr->iItem;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NM_RCLICK:
|
case NM_RCLICK:
|
||||||
@@ -1417,18 +1421,29 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
|||||||
if ( !GetEventHandler()->ProcessEvent(event) )
|
if ( !GetEventHandler()->ProcessEvent(event) )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if ( (int)hdr1->code == LVN_GETDISPINFO)
|
switch ((int)hdr1->code)
|
||||||
{
|
{
|
||||||
LV_DISPINFO *info = (LV_DISPINFO *)lParam;
|
case LVN_GETDISPINFO:
|
||||||
if ( info->item.mask & LVIF_TEXT )
|
|
||||||
{
|
|
||||||
if ( !event.m_item.m_text.IsNull() )
|
|
||||||
{
|
{
|
||||||
info->item.pszText = AddPool(event.m_item.m_text);
|
LV_DISPINFO *info = (LV_DISPINFO *)lParam;
|
||||||
info->item.cchTextMax = wxStrlen(info->item.pszText) + 1;
|
if ( info->item.mask & LVIF_TEXT )
|
||||||
|
{
|
||||||
|
if ( !event.m_item.m_text.IsNull() )
|
||||||
|
{
|
||||||
|
info->item.pszText = AddPool(event.m_item.m_text);
|
||||||
|
info->item.cchTextMax = wxStrlen(info->item.pszText) + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// wxConvertToMSWListItem(this, event.m_item, info->item);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
case LVN_ENDLABELEDIT:
|
||||||
// wxConvertToMSWListItem(this, event.m_item, info->item);
|
{
|
||||||
|
*result = event.IsAllowed();
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
*result = !event.IsAllowed();
|
*result = !event.IsAllowed();
|
||||||
|
@@ -1409,6 +1409,8 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
|||||||
|
|
||||||
event.m_item = (WXHTREEITEM)info->item.hItem;
|
event.m_item = (WXHTREEITEM)info->item.hItem;
|
||||||
event.m_label = info->item.pszText;
|
event.m_label = info->item.pszText;
|
||||||
|
if (info->item.pszText == NULL)
|
||||||
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user