Beispiel #1
0
void IceNoteFrame::OnSelChanged(wxTreeEvent& event)
{
    wxTreeItemId i = event.GetItem();
    NoteTreeItemData *item = (NoteTreeItemData*)noteTree->GetItemData(i);
    if (m_currentNoteItemId == item->getItemId()) /* if not changed */
        return;
    /* STEP1: Save the past one */
    if (m_currentNoteItemId > 0) /* if the prev is a note */
    {
        saveAbstract(m_currentNoteItemId);
        m_fileHandler->saveNote(m_currentNoteItemId, *m_richTextCtrl);
        /* update the title! */
        noteTree->SetItemText(event.GetOldItem(), m_fileHandler->getItemTitle(m_currentNoteItemId));
    }
    /* if it is a note, save the past one and load the new one */
    if (item->getItemType() == NIT_NOTE)
    {
        /* STEP2: Set and load the new one */
        m_currentNoteItemId = item->getItemId();
        m_fileHandler->openNote(m_currentNoteItemId, *m_richTextCtrl);
    }
    else
        m_currentNoteItemId = 0; /* it's a notebook! */

    SplitterWindow1->Enable(m_currentNoteItemId != 0);
    loadAndShowAbstract(m_currentNoteItemId);
    m_richTextCtrl->SetFocus();
}
Beispiel #2
0
void CLocalTreeView::OnSelectionChanged(wxTreeEvent& event)
{
	if (m_setSelection)
	{
		event.Skip();
		return;
	}

	wxTreeItemId item = event.GetItem();
	if (!item)
		return;

	wxString dir = GetDirFromItem(item);

	wxString error;
	if (!m_pState->SetLocalDir(dir, &error))
	{
		if (error != _T(""))
			wxMessageBox(error, _("Failed to change directory"), wxICON_INFORMATION);
		else
			wxBell();
		m_setSelection = true;
		SelectItem(event.GetOldItem());
		m_setSelection = false;
	}
}
Beispiel #3
0
void ResourcesPage::onItemChanged( wxTreeEvent& event )
{
	wxTreeItemId oldId = event.GetOldItem();
	wxTreeItemId newId = event.GetItem();

	const ResourceHandle& oldResource = getResourceFromTreeId( oldId );
	const ResourceHandle& newResource = getResourceFromTreeId( newId );

	EventManager* events = GetEditor().getEventManager();

	if( oldResource )
		events->onResourceUnselect(ResourcePtr(oldResource.Resolve()));

	if( newResource )
		events->onResourceSelect(ResourcePtr(newResource.Resolve()));
}
Beispiel #4
0
void DatabaseView::UponTreeSelectionChange(wxTreeEvent& event)
{
    wxTreeCtrl& tree_ctrl = tree();
    MultiDimGrid& grid_ctrl = grid();

    // save the current selection
    wxTreeItemId const old_item = event.GetOldItem();
    if(old_item.IsOk())
        {
        database_tree_item_data* old_item_data =
            dynamic_cast<database_tree_item_data*>
                (tree_ctrl.GetItemData(old_item)
                );
        if(old_item_data)
            {
            old_item_data->set_axes_selected(grid_ctrl.GetGridAxisSelection());
            }
        }

    database_tree_item_data* item_data =
        dynamic_cast<database_tree_item_data*>
            (tree_ctrl.GetItemData(event.GetItem())
            );
    if(!item_data)
        {
        return;
        }

    table_adapter().SetTDBValue
        (&document().GetTDBValue(item_data->db_name().Idx)
        );

    bool is_topic = tree_ctrl.GetChildrenCount(event.GetItem());

    set_grid_label_text(item_data->db_name().LongName);

    wxSizer* sizer = grid_ctrl.GetContainingSizer();
    LMI_ASSERT(sizer);
    sizer->Show(&grid_ctrl, !is_topic);
    sizer->Layout();

    // restore axis selection if any
    grid_ctrl.SetGridAxisSelection(item_data->get_axes_selected());
    grid_ctrl.RefreshTableFull();
}
Beispiel #5
0
void               P3DPlantModelTreeCtrl::OnSelectionChanged
                                      (wxTreeEvent        &event)
 {
  P3DBranchModel                      *BranchModel;

  #if defined(__WXMSW__)
   {
    SetItemBold(event.GetOldItem(),false);
    SetItemBold(event.GetItem(),true);
   }
  #endif

  if (!event.GetItem().IsOk())
   {
    return;
   }

  BranchModel = ((P3DPlantModelTreeCtrlItemData*)(GetItemData(event.GetItem())))->GetBranchModel();

  BranchPanel->SwitchToBranch(BranchModel);
 }
/**
 * ツリーコントロールでのウィンドウ描画切り替え
 */
void SettingDialog::OnChangeSettingPanel(wxTreeEvent& event) {

     // 選択されたTreeItemIdのインスタンス
     const wxTreeItemId pushedTree = event.GetItem();
     // 板名をwxStringで取得する
     const wxString itemStr(settingTreeCtrl->GetItemText(pushedTree));
     // 取得不可なものであればリターン
     if (itemStr == wxEmptyString) return;

     if (settingPanel) {
	  // settingPanel内の情報を保存する
	  const wxTreeItemId oldPushedTree = event.GetOldItem();
	  const wxString     oldItemStr(settingTreeCtrl->GetItemText(oldPushedTree));

	  if (oldItemStr != wxEmptyString) {
	       SaveConfig(oldItemStr);
	  }
	  
	  // settingPanelのインスタンスが存在するならばDestroy
	  // 子ウィンドウを殺す
	  settingPanel->DestroyChildren();	  
     }

     if (itemStr == wxT("通信")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new NetworkSettingPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("パス")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new PathSettingPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("動作")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new BehaviorPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("操作")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new OperationPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("タブ操作")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new TabControlSettingPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("書き込み")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new KakikomiPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("Doe")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new DoePanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("その他1")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new OtherSettingPanelOne(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("User")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new UserSettingPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("色・フォント")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new ColorFontSettingPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("タブ色")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(new TabColorSettingPanel(settingPanel));
	  settingPanel->SetSizer(vbox);
     } else if (itemStr == wxT("ヒント")) {
	  wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
	  vbox->Add(wxXmlResource::Get()->LoadPanel(settingPanel, wxT("hint_panel")));
	  settingPanel->SetSizer(vbox);
     }

     settingPanel->GetSizer()->Fit(settingPanel);

     // ウィンドウのタイトルを変える
     this->SetTitle(wxT("設定 - ") + itemStr);
}