Gestione selezione multipla sui treelist

Aggiornata gestione zip da wxWidgets 2.8.6 (non più supportata) a 2.8.12 (ultima versione)

git-svn-id: svn://10.65.10.50/branches/R_10_00@22635 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-04-10 07:53:46 +00:00
parent 6c768a9ec9
commit b7f5e725ad
4 changed files with 57 additions and 4 deletions

View File

@ -80,10 +80,14 @@ bool aga_unzip(const char* zipfile, const char* destdir)
}
else
{
wxFileInputStream file(zipfile);
wxFFileInputStream file(zipfile);
wxZipInputStream fin(file);
wxZipEntry entry(strFileName);
fin.OpenEntry(entry);
wxZipEntry* entry = NULL;
do entry = fin.GetNextEntry();
while (entry && entry->GetInternalName() != strFileName);
if (entry == NULL || !fin.OpenEntry(*entry))
continue;
wxString strOutFile = destdir;
if (!wxEndsWithPathSeparator(strOutFile) && !wxIsPathSeparator(strFileName[0]))

View File

@ -3381,7 +3381,8 @@ long xvt_sys_execute(const char* cmdline, BOOLEAN sync, BOOLEAN iconizetask)
}
else
{
if (_task_win != NULL && _task_win_handler != NULL)
// Qui iconizetask significa nascondi processo a task_win
if (_task_win != NULL && _task_win_handler != NULL && !iconizetask)
{
wxProcess* p = new wxProcess(_task_win->GetEventHandler(), wxID_ANY);
exitcode = wxExecute(cmd, wxEXEC_ASYNC, p);

View File

@ -379,6 +379,7 @@ XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_child_node(WINDOW win, XVT_TREEVIEW_NO
XVTDLL const char* xvt_treeview_get_node_data(WINDOW win, XVT_TREEVIEW_NODE node);
XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_root_node(WINDOW win);
XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_selected_node(WINDOW win);
XVTDLL SLIST xvt_treeview_get_selected_list(WINDOW win);
XVTDLL BOOLEAN xvt_treeview_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node);
XVTDLL BOOLEAN xvt_treeview_remove_node_children(WINDOW win, XVT_TREEVIEW_NODE node);
XVTDLL void xvt_treeview_resume(WINDOW win);
@ -523,6 +524,7 @@ XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_child_node(WINDOW win, XVT_TREEVIEW_NO
XVTDLL const char* xvt_treelist_get_node_data(WINDOW win, XVT_TREEVIEW_NODE node);
XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_root_node(WINDOW win);
XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_selected_node(WINDOW win);
XVTDLL SLIST xvt_treelist_get_selected_list(WINDOW win);
XVTDLL BOOLEAN xvt_treelist_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node);
XVTDLL BOOLEAN xvt_treelist_remove_node_children(WINDOW win, XVT_TREEVIEW_NODE node);
XVTDLL void xvt_treelist_resume(WINDOW win);

View File

@ -1355,6 +1355,29 @@ XVT_TREEVIEW_NODE xvt_treeview_get_selected_node(WINDOW win)
return id.m_pItem;
}
SLIST xvt_treeview_get_selected_list(WINDOW win)
{
SLIST list = NULL;
CAST_TREEVIEW(win, tv);
wxArrayTreeItemIds selections;
const size_t nSel = tv.GetSelections(selections);
if (nSel > 0)
{
list = xvt_slist_create();
for (size_t i = 0; i < nSel; i++)
{
const wxTreeItemId& id = selections[i];
const TwxTreeItemData* pData = (const TwxTreeItemData*)tv.GetItemData(id);
if (pData != NULL)
xvt_slist_add_at_elt(list, NULL, pData->m_strData, (long)id.m_pItem);
else
xvt_slist_add_at_elt(list, NULL, "", (long)id.m_pItem);
}
}
return list;
}
BOOLEAN xvt_treeview_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node)
{
BOOLEAN ok = (win != NULL_WIN) && (node != NULL);
@ -3021,6 +3044,29 @@ XVT_TREEVIEW_NODE xvt_treelist_get_selected_node(WINDOW win)
return id.m_pItem;
}
SLIST xvt_treelist_get_selected_list(WINDOW win)
{
SLIST list = NULL;
CAST_TREELIST(win, tv);
wxArrayTreeItemIds selections;
const size_t nSel = tv.GetSelections(selections);
if (nSel > 0)
{
list = xvt_slist_create();
for (size_t i = 0; i < nSel; i++)
{
const wxTreeItemId& id = selections[i];
const TwxTreeItemData* pData = (const TwxTreeItemData*)tv.GetItemData(id);
if (pData != NULL)
xvt_slist_add_at_elt(list, NULL, pData->m_strData, (long)id.m_pItem);
else
xvt_slist_add_at_elt(list, NULL, "", (long)id.m_pItem);
}
}
return list;
}
BOOLEAN xvt_treelist_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node)
{
BOOLEAN ok = (win != NULL_WIN) && (node != NULL);