/// <summary> /// Gets the (non filtered) iter or null /// </summary> public TreeIter?GetSelectedIter() { TreeIter selIter; if (TaskSelection.GetSelected(out selIter)) { selIter = CurrentFilter.ConvertIterToChildIter(selIter); return(selIter); } return(null); }
void setCursorOnIter(TreeIter storeIter) { var childIter = CurrentFilter.ConvertChildIterToIter(storeIter); var path = CurrentFilter.GetPath(childIter); if (path != null) { TaskList.ExpandToPath(path); TaskSelection.SelectIter(childIter); TaskList.SetCursor(path, NameColumn, true); } }
/// <summary> /// Gets the category selected in the category list. /// </summary> /// <returns>The selected category if any; <c>null</c> otherwise.</returns> public Category GetSelectedCat() { TreeIter selIter; if (TaskSelection.GetSelected(out selIter)) { selIter = CurrentFilter.ConvertIterToChildIter(selIter); var id = (int)TaskStore.GetValue(selIter, 0); return(Tasks.GetById <Category> (id)); } return(null); }
private void listView_Click(object sender, EventArgs e) { ListViewHitTestInfo hitTest = GetListViewHitTest(); int columnIndex = hitTest.Item.SubItems.IndexOf(hitTest.SubItem); if ((columnIndex != 1) || !m_mainForm.SimulationHandler.CanStart) { return; } TaskSelection taskSelection = CastTag(hitTest.Item.Tag); taskSelection?.EnumerateTasks().Where(t => t.DesignTime && t.Enabled).ForEach(t => t.Execute()); }
private static void DrawCheckBox(DrawListViewSubItemEventArgs e, TaskSelection tasks, out int checkboxWidth) { Point glyphPoint = new Point(4, e.Item.Position.Y + 2); if (!string.IsNullOrEmpty(tasks.TaskGroupName)) { RadioButtonState state; if (tasks.Forbidden) { state = RadioButtonState.UncheckedDisabled; } else { state = e.Item.Checked ? RadioButtonState.CheckedNormal : RadioButtonState.UncheckedNormal; } RadioButtonRenderer.DrawRadioButton(e.Graphics, glyphPoint, state); checkboxWidth = RadioButtonRenderer.GetGlyphSize(e.Graphics, state).Width + 4; } else if (tasks.DesignTime) { checkboxWidth = CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Width + 4; } else { CheckBoxState state; if (tasks.Forbidden) { state = CheckBoxState.UncheckedDisabled; } else { state = (tasks.Enabled3State == Enabled3State.AllEnabled) ? CheckBoxState.CheckedNormal : (tasks.Enabled3State == Enabled3State.AllDisabled) ? CheckBoxState.UncheckedNormal : CheckBoxState.MixedNormal; } CheckBoxRenderer.DrawCheckBox(e.Graphics, glyphPoint, state); checkboxWidth = CheckBoxRenderer.GetGlyphSize(e.Graphics, state).Width + 4; } }
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { var selectedName = ((ComboBoxItem)TaskCombo.SelectedItem).Content; switch (selectedName) { case "Approximation": taskSelected = TaskSelection.APPROX; TrainingSetPath.Text = "approximation1.txt"; TestingSetPath = "approximation_test.txt"; chosenPositioner = new RandomNeuronPositioner(); break; case "Classification": taskSelected = TaskSelection.CLASS; TrainingSetPath.Text = "classification.txt"; TestingSetPath = "classification_test.txt"; chosenPositioner = new KMeansNeuronPositioner(); break; } }
private void listView_DrawSubItem(object sender, DrawListViewSubItemEventArgs e) { Rectangle bounds = e.SubItem.Bounds; if (e.ColumnIndex == 0) { bounds.Width = bounds.X + e.Item.SubItems[1].Bounds.X; } TaskSelection tasks = CastTag(e.Item.Tag); // Toggle colors if the item is highlighted. DrawBackgroundAndText(e, tasks.Forbidden); int xOffset = 0; if (e.ColumnIndex == 0) { DrawCheckBox(e, tasks, out xOffset); } else if (e.ColumnIndex == 1 && tasks.DesignTime) { DrawPushButton(e, tasks.AllEnabled); } // Add a 2 pixel buffer to match the default behavior. var rec = new Rectangle(e.Bounds.X + 2 + xOffset, e.Bounds.Y + 2, e.Bounds.Width - 4, e.Bounds.Height - 4); // TODO: Confirm combination of TextFormatFlags.EndEllipsis and TextFormatFlags.ExpandTabs works on all systems. // MSDN claims they're exclusive but on Win7-64 they work. TextFormatFlags flags = TextFormatFlags.Left | TextFormatFlags.EndEllipsis | TextFormatFlags.ExpandTabs | TextFormatFlags.SingleLine; // If a different tabstop than the default is needed, will have to p/invoke DrawTextEx from win32. TextRenderer.DrawText(e.Graphics, e.SubItem.Text, e.Item.ListView.Font, rec, e.SubItem.ForeColor, flags); }
private void Addin_SelectionChangedEvent( AddIn sender, AddIn.SelectionChangedEventArgs eventArgs) { if (eventArgs.Action == lastSelectionAction_ && eventArgs.FilePosition == lastFilePos_) { return; } Dictionary <IntPtr, Element> selectionSet = new Dictionary <IntPtr, Element>(); uint nums = SelectionSetManager.NumSelected(); for (uint i = 0; i < nums; ++i) { Element element = null; DgnModelRef modelRef = null; if (StatusInt.Success == SelectionSetManager.GetElement(i, ref element, ref modelRef) && element.ElementType == MSElementType.CellHeader && !selectionSet.ContainsKey(element.GetNativeElementRef())) { selectionSet.Add(element.GetNativeElementRef(), element); } } try { switch ((int)eventArgs.Action) { case (int)AddIn.SelectionChangedEventArgs.ActionKind.SetEmpty: tasks_.Clear(); TaskSelection.Clear(); previewTranCon_.Reset(); break; case (int)AddIn.SelectionChangedEventArgs.ActionKind.SetChanged: { // remove unselected foreach (IntPtr ptr in tasks_.Keys) { if (!selectionSet.ContainsKey(ptr)) { tasks_.Remove(ptr); } } // add new TaskSelection.RaiseListChangedEvents = false; foreach (Element element in selectionSet.Values) { #if DEBUG //BCOM.Element comEl = ElementHelper.getElementCOM(element); //if (comEl.IsCompundCell()) //{ // var cell = comEl.AsCellElement(); // var cross = ElementHelper.createCrossRound(10, cell.Origin); // var pointEl = ElementHelper.createCircle(10, cell.Origin); // previewTranCon_.AppendCopyOfElement(pointEl); // previewTranCon_.AppendCopyOfElement(cross); //} #endif IntPtr elementRef = element.GetNativeElementRef(); PenetrVueTask task; if (PenetrVueTask.getFromElement(element, out task) && !tasks_.ContainsKey(elementRef)) { Logger.Log.Info($"Выбор объекта заадния {task.ToString()}"); tasks_.Add(elementRef, task); TaskSelection.Add(task); } } TaskSelection.RaiseListChangedEvents = true; break; } case 7: // ActionKind.Remove { foreach (IntPtr ptr in tasks_.Keys) { if (tasks_.ContainsKey(ptr)) { TaskSelection.Remove(tasks_[ptr]); tasks_.Remove(ptr); } } break; } case 5: // ActionKind.New: { TaskSelection.RaiseListChangedEvents = false; foreach (Element element in selectionSet.Values) { PenetrVueTask task; if (PenetrVueTask.getFromElement(element, out task)) { tasks_.Add(element.GetNativeElementRef(), task); TaskSelection.Add(task); } } TaskSelection.RaiseListChangedEvents = true; break; } } TaskSelection.ResetBindings(); OnPropertyChanged(NP.TaskSelection); } catch (Exception ex) { ex.AddToMessageCenter(); } finally { lastSelectionAction_ = eventArgs.Action; lastFilePos_ = eventArgs.FilePosition; } }