Beispiel #1
0
void UserRulesEditorFrame::OnDragStart(wxTreeEvent& event) {
	if (event.GetId() == LIST_Modlist) {
		dragData = new wxTextDataObject(InstalledModsList->GetItemText(event.GetItem()));
		dragSource = new wxDropSource(InstalledModsList);
	} else if (event.GetId() == LIST_Masterlist) {
		dragData = new wxTextDataObject(MasterlistModsList->GetItemText(event.GetItem()));
		dragSource = new wxDropSource(MasterlistModsList);
	}
	dragSource->SetData(*dragData);
	dragResult = dragSource->DoDragDrop();
}
void ModelControl::OnList(wxTreeEvent &event)
{
  if (!init || !model)
    return;

  int id = event.GetId();

  if (id == ID_MODEL_GEOSETS)
  {
    wxTreeItemId curItem = clbGeosets->GetSelection();
    GeosetTreeItemData * data = (GeosetTreeItemData *)clbGeosets->GetItemData(curItem);
    if(data)
    {
      size_t geosetIndex = data->geosetId;
      model->showGeosets[geosetIndex] = !model->showGeosets[geosetIndex];
      clbGeosets->SetItemBackgroundColour(curItem,
                    (model->showGeosets[geosetIndex])?*wxGREEN:*wxWHITE);
    }
    else
      std::cout << "data is null !!!" << std::endl;
    clbGeosets->Layout();
    clbGeosets->Fit();
    Layout();
    Fit();
  }
}
void ProjectWindow::OnTreeEvent( wxTreeEvent& evt )
{
   if (evt.GetId() == ASSET_LIST)
   {
      AssetTreeItemData* data = dynamic_cast<AssetTreeItemData*>(mAssetsTab->assetList->GetItemData(evt.GetItem()));
      if (data)
      {
         mAssetsInspector->Inspect(data->objPtr);
         return;
      }
   }
}
void ProjectWindow::OnTreeMenu( wxTreeEvent& evt )
{ 
   mSelectedModule = NULL;

   if (evt.GetId() == ASSET_LIST)
   {
      ModuleTreeItemData* module_data = dynamic_cast<ModuleTreeItemData*>(mAssetsTab->assetList->GetItemData(evt.GetItem()));
      if (module_data)
      {
         ModuleInfo mod = module_data->obj;
         mSelectedModule = Torque::ModuleDatabaseLink->findLoadedModule(mod.moduleID);
         if (mSelectedModule != NULL)
            mFrame->PopupMenu(mProjectPanel->moduleMenu, wxDefaultPosition);
         return;
      }
   }
} 
void ProjectWindow::OnTreeDrag(wxTreeEvent& evt)
{
   if (evt.GetId() == ASSET_LIST)
   {
      AssetTreeItemData* data = dynamic_cast<AssetTreeItemData*>(mAssetsTab->assetList->GetItemData(evt.GetItem()));
      if (data)
      {
         const AssetDefinition* asset = data->objPtr;

         wxString command("Asset->");
         command.Append(asset->mAssetType);
         command.Append("->");
         command.Append(asset->mAssetId);

         wxTextDataObject dragData(command);
         wxDropSource dragSource(mProjectPanel);
         dragSource.SetData(dragData);
         wxDragResult result = dragSource.DoDragDrop(TRUE);
         return;
      }
   }
}
void PWSTreeCtrl::OnEndLabelEdit( wxTreeEvent& evt )
{
  switch (evt.GetId()) {
    case ID_TREECTRL:
    {
      if (evt.GetLabel().Find(wxT('.')) == wxNOT_FOUND) {
      // Not safe to modify the tree ctrl in any way.  Wait for the stack to unwind.
      wxTreeEvent newEvt(evt);
      newEvt.SetId(ID_TREECTRL_1);
      AddPendingEvent(newEvt);
      }
      else {
        evt.Veto();
        wxMessageBox(_("Dots are not allowed in group names"), _("Invalid Character"), wxOK|wxICON_ERROR);
      }
      break;
    }
    case ID_TREECTRL_1:
    {
      wxTreeItemId groupItem = evt.GetItem();
      if (groupItem.IsOk()) {
        PWTreeItemData* data = dynamic_cast<PWTreeItemData *>(GetItemData(groupItem));
        if (data && data->BeingAdded()) {
          // A new group being added
          FinishAddingGroup(evt, groupItem);
        }
        else if (data && data->BeingEdited()) {
          // An existing group being renamed
          FinishRenamingGroup(evt, groupItem, data->GetOldPath());
        }
      }
      break;
    }
    default:
      wxFAIL_MSG(wxString::Format(wxT("End Label Edit handler received an unexpected identifier: %d"), evt.GetId()));
      break;
  }
}