Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        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;
            }
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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;
            }
        }