public void EhView_AddNormalGroupStyle()
        {
            SelectableListNode selected = null;

            foreach (SelectableListNode node in _availableNormalStyles)
            {
                if (node.IsSelected)
                {
                    selected = node;
                    break;
                }
            }
            if (null != selected)
            {
                _availableNormalStyles.Remove(selected);

                var s = (IPlotGroupStyle)Activator.CreateInstance((Type)selected.Tag);
                _doc.Add(s);
                var node = new MyListNode(
                    Current.Gui.GetUserFriendlyClassName(s.GetType()),
                    s.GetType(), true, s.IsStepEnabled, s.CanStep);
                if (s.CanCarryOver)
                {
                    _currentNormalStyles.Insert(_currentNoOfItemsThatCanHaveChilds, node);
                    _currentNoOfItemsThatCanHaveChilds++;
                }
                else
                {
                    _currentNormalStyles.Add(node);
                }

                _view.InitializeAvailableNormalGroupStyles(_availableNormalStyles);
                _view.InitializeCurrentNormalGroupStyles(_currentNormalStyles);
            }
        }
Пример #2
0
        public void InitScaleTypes(bool initData)
        {
            if (initData)
            {
                _scaleTypes = new SelectableListNodeList();
                Type[] classes;

                if (_lockScaleType) // if the scale type is locked (i.e.) can not be chosen by the user, we simply offer only the one scale type we have now
                {
                    classes = new Type[] { _doc.GetType() }
                }
                ;
                else
                {
                    classes = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(Scale));
                }

                for (int i = 0; i < classes.Length; i++)
                {
                    if (classes[i] == typeof(LinkedScale))
                    {
                        continue;
                    }
                    var node = new SelectableListNode(Current.Gui.GetUserFriendlyClassName(classes[i]), classes[i], ScaleToEdit.GetType() == classes[i]);
                    _scaleTypes.Add(node);
                }
            }

            if (null != _view)
            {
                _view.InitializeAxisType(_scaleTypes);
            }
        }
Пример #3
0
        protected override void Initialize(bool initData)
        {
            base.Initialize(initData);

            if (initData)
            {
                _itemList = new SelectableListNodeList();

                foreach (var d in _doc.GroupedObjects)
                {
                    var node = new SelectableListNode(d.GetType().ToString(), d, false);
                    _itemList.Add(node);
                }

                _locationController = (IMVCANController)Current.Gui.GetController(new object[] { _doc.Location }, typeof(IMVCANController), UseDocument.Directly);
                Current.Gui.FindAndAttachControlTo(_locationController);
            }

            if (_view != null)
            {
                _view.InitializeItemList(_itemList);

                _view.LocationView = _locationController.ViewObject;
            }
        }
Пример #4
0
        protected override void Initialize(bool initData)
        {
            base.Initialize(initData);

            if (initData)
            {
                _axisTemplates = new SelectableListNodeList();
                foreach (var style in _doc.AxisStyles)
                {
                    var node = new SelectableListNode(style.NameOfAxisStyle, style, style.Identifier == _doc.TemplateStyle);
                    _axisTemplates.Add(node);
                }
                var selNode = _axisTemplates.FirstSelectedNode;
                if (null == selNode && 0 != _axisTemplates.Count)
                {
                    selNode            = _axisTemplates[0];
                    selNode.IsSelected = true;
                }
                if (null != selNode)
                {
                    _doc.TemplateStyle = (selNode.Tag as CSAxisInformation).Identifier;
                }
            }
            if (null != _view)
            {
                _view.MoveAxis = _doc.MoveAxis;
                _view.InitializeAxisTemplates(_axisTemplates);
                SetViewAccordingToAxisIdentifier();
            }
        }
Пример #5
0
 private void EhAddToIncludedUnits()
 {
     if (null != SelectedAvailableUnit && !IncludedUnits.Any(x => x.Tag == SelectedAvailableUnit.Tag))
     {
         var newNode = new SelectableListNode(SelectedAvailableUnit.Text, SelectedAvailableUnit.Tag, false);
         _includedUnits.Add(newNode);
         SelectedIncludedUnit = newNode;
     }
 }
Пример #6
0
        private StartDragData EhCurrentItems_StartDrag(IEnumerable items)
        {
            _draggedNode = items.OfType <SelectableListNode>().FirstOrDefault();

            return(new StartDragData
            {
                Data = _draggedNode.Tag,
                CanCopy = true,
                CanMove = true
            });
        }
Пример #7
0
        private void EhRadioButtonChecked(object sender, RoutedEventArgs e)
        {
            var rb   = (RadioButton)sender;
            var node = rb.Tag as SelectableListNode;

            if (node != null && (true == rb.IsChecked))
            {
                SelectedItem = node;
            }


            SelectionChanged?.Invoke();
        }
Пример #8
0
        public IntegerAndComboBoxController(string integerLabel,
                                            int intMin, int intMax,
                                            int intVal,
                                            string comboBoxLabel,
                                            SelectableListNodeList items,
                                            int defaultItem)
        {
            _integerLabelText  = integerLabel;
            _integerMinimum    = intMin;
            _integerMaximum    = intMax;
            _integerValue      = intVal;
            _comboBoxLabelText = comboBoxLabel;
            _comboBoxItems     = items;
            _selectedItem      = items[defaultItem];

            Initialize(true);
        }
        public IntegerAndComboBoxController(string integerLabel,
                                            int intMin, int intMax,
                                            int intVal,
                                            string comboBoxLabel,
                                            SelectableListNodeList items,
                                            int defaultItem)
        {
            m_IntegerLabelText  = integerLabel;
            m_IntegerMinimum    = intMin;
            m_IntegerMaximum    = intMax;
            m_IntegerValue      = intVal;
            m_ComboBoxLabelText = comboBoxLabel;
            m_ComboBoxItems     = items;
            m_SelectedItem      = items[defaultItem];

            SetElements(true);
        }
Пример #10
0
        public void InitTickSpacingTypes(bool bInit)
        {
            if (bInit)
            {
                _tickSpacingTypes = new SelectableListNodeList();
                Type[] classes = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(TickSpacing));
                for (int i = 0; i < classes.Length; i++)
                {
                    var node = new SelectableListNode(Current.Gui.GetUserFriendlyClassName(classes[i]), classes[i], _doc.GetType() == classes[i]);
                    _tickSpacingTypes.Add(node);
                }
            }

            if (null != _view)
            {
                _view.InitializeTickSpacingType(_tickSpacingTypes);
            }
        }
Пример #11
0
		private void Initialize(bool initData)
		{
			if (initData)
			{
				_list = new SelectableListNodeList();
				var values = System.Enum.GetValues(_doc.GetType());
				foreach (var val in values)
				{
					var node = new SelectableListNode(System.Enum.GetName(_doc.GetType(), val), val, IsChecked(val, _tempDoc));
					node.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(EhNode_PropertyChanged);
					_list.Add(node);
				}
			}

			if (_view != null)
			{
				_view.Initialize(_list);
			}
		}
Пример #12
0
        private void Initialize(bool initData)
        {
            if (initData)
            {
                _list = new SelectableListNodeList();
                var values = System.Enum.GetValues(_doc.GetType());
                foreach (var val in values)
                {
                    var node = new SelectableListNode(System.Enum.GetName(_doc.GetType(), val), val, IsChecked(val, _tempDoc));
                    node.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(EhNode_PropertyChanged);
                    _list.Add(node);
                }
            }

            if (_view != null)
            {
                _view.Initialize(_list);
            }
        }
Пример #13
0
        protected override void Initialize(bool initData)
        {
            base.Initialize(initData);

            if (initData)
            {
                _itemsList = new SelectableListNodeList();

                foreach (var item in _doc)
                {
                    var node = new SelectableListNode(item.ToString(), item, false);
                    _itemsList.Add(node);
                }
            }
            if (null != _view)
            {
                _view.ItemsList = _itemsList;
            }
        }
Пример #14
0
        void InitializeComboBox(ComboBox box, SelectableListNodeList list)
        {
            box.BeginUpdate();
            box.Items.Clear();


            for (int i = 0; i < list.Count; i++)
            {
                SelectableListNode node = list[i];

                box.Items.Add(node);
                if (node.Selected)
                {
                    box.SelectedIndex = i;
                }
            }

            box.EndUpdate();
        }
Пример #15
0
        public void EhView_PredefinedStyleSelected()
        {
            var sel = _predefinedStyleSetsAvailable.FirstSelectedNode;

            if (null == sel)
            {
                return;
            }

            var template = G3DPlotStyleCollectionTemplates.GetTemplate((int)sel.Tag, _doc.GetPropertyContext());

            _currentItems.Clear(() => _doc.Clear());
            for (int i = 0; i < template.Count; i++)
            {
                var listNode = new SelectableListNode(Current.Gui.GetUserFriendlyClassName(template[i].GetType()), template[i], false);
                _currentItems.Add <IG3DPlotStyle>(listNode, (docNode) => _doc.Add(docNode));
            }

            OnCollectionChangeCommit();
        }
        private void Initialize(bool initData)
        {
            if (initData)
            {
                _viewList = new List <SelectableListNodeList>();

                foreach (var srcGroup in _doc)
                {
                    var destGroup = new SelectableListNodeList();
                    _viewList.Add(destGroup);
                    foreach (var srcEle in srcGroup)
                    {
                        var destEle = new SelectableListNode(AbsoluteDocumentPath.GetAbsolutePath(srcEle).ToString(), srcEle, false);
                        destGroup.Add(destEle);
                    }
                }
            }
            if (null != _view)
            {
                _view.InitializeListData(_viewList);
            }
        }
Пример #17
0
        public void EhView_LinkedLayerChanged(SelectableListNode node)
        {
            XYPlotLayer oldLinkedLayer = m_LinkedLayer;

            m_LinkedLayer = (XYPlotLayer)node.Item;

            // we have to check if there is a need to update the type comboboxes
            if (oldLinkedLayer != null && m_LinkedLayer != null)
            {
            }
            else if (oldLinkedLayer == null && m_LinkedLayer != null)
            {
                InitializePositionTypes();
                InitializeSizeTypes();
            }
            else if (oldLinkedLayer != null && m_LinkedLayer == null)
            {
                if (m_LeftType != XYPlotLayerPositionType.AbsoluteValue && m_LeftType != XYPlotLayerPositionType.RelativeToGraphDocument)
                {
                    ChangeLeftType(XYPlotLayerPositionType.RelativeToGraphDocument);
                }
                if (m_TopType != XYPlotLayerPositionType.AbsoluteValue && m_TopType != XYPlotLayerPositionType.RelativeToGraphDocument)
                {
                    ChangeTopType(XYPlotLayerPositionType.RelativeToGraphDocument);
                }

                if (m_WidthType != XYPlotLayerSizeType.AbsoluteValue && m_WidthType != XYPlotLayerSizeType.RelativeToGraphDocument)
                {
                    ChangeWidthType(XYPlotLayerSizeType.RelativeToGraphDocument);
                }
                if (m_HeightType != XYPlotLayerSizeType.AbsoluteValue && m_HeightType != XYPlotLayerSizeType.RelativeToGraphDocument)
                {
                    ChangeHeightType(XYPlotLayerSizeType.RelativeToGraphDocument);
                }

                InitializeSizeTypes();
                InitializePositionTypes();
            }
        }
Пример #18
0
        protected override void Initialize(bool initData)
        {
            base.Initialize(initData);

            if (initData)
            {
                _tempTickSpacing = (TickSpacing)_doc.TickSpacing.Clone();

                // Tick spacing types
                _tickSpacingTypes = new SelectableListNodeList();
                Type[] classes = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(TickSpacing));
                for (int i = 0; i < classes.Length; i++)
                {
                    var node = new SelectableListNode(Current.Gui.GetUserFriendlyClassName(classes[i]), classes[i], _tempTickSpacing.GetType() == classes[i]);
                    _tickSpacingTypes.Add(node);
                }

                _axisStyleControllerGlue = new AxisStyleControllerGlue(_doc.AxisStyle);
            }
            if (null != _view)
            {
                _view.DocPosition    = _doc.Position;
                _view.ScaleNumber    = _doc.ScaleNumber;
                _view.ScaleSpanType  = _doc.ScaleSpanType;
                _view.ScaleSpanValue = _doc.ScaleSpanValue;

                _view.ScaleSegmentType = _doc.ScaleType;
                _view.InitializeTickSpacingTypes(_tickSpacingTypes);

                _view.TitleFormatView = _axisStyleControllerGlue.AxisStyleView;
                _view.MajorLabelView  = _axisStyleControllerGlue.MajorLabelCondView;
                _view.MinorLabelView  = _axisStyleControllerGlue.MinorLabelCondView;

                _view.BackgroundPadding  = _doc.BackgroundPadding;
                _view.SelectedBackground = _doc.Background;
            }

            InitTickSpacingController(initData);
        }
Пример #19
0
        public void InitScaleTypes(bool bInit)
        {
            if (bInit)
            {
                _scaleTypes = new SelectableListNodeList();
                Type[] classes = Altaxo.Main.Services.ReflectionService.GetNonAbstractSubclassesOf(typeof(NumericalScale));
                for (int i = 0; i < classes.Length; i++)
                {
                    if (classes[i] == typeof(LinkedScale))
                    {
                        continue;
                    }
                    var node = new SelectableListNode(Current.Gui.GetUserFriendlyClassName(classes[i]), classes[i], _doc.GetType() == classes[i]);
                    _scaleTypes.Add(node);
                }
            }

            if (null != _view)
            {
                _view.InitializeAxisType(_scaleTypes);
            }
        }
        protected override void Initialize(bool initData)
        {
            base.Initialize(initData);

            if (initData)
            {
                // ------- Set the environment name --------------
                EnvironmentName = _doc.Name;

                // ------- Set available quantities --------------
                _quantities.Clear();
                if (string.IsNullOrEmpty(_doc.Quantity)) // if doc has not quantitie still, then all quantities will be shown
                {
                    foreach (var quantity in UnitsExtensions.GetAllDefinedQuantities())
                    {
                        var node = new SelectableListNode(quantity, quantity, quantity == _doc.Quantity);
                        _quantities.Add(node);
                        if (node.IsSelected)
                        {
                            _selectedQuantity = node;
                        }
                    }
                }
                else // else if doc already has a quantity, then we do not allow to change this quantity
                {
                    var node = new SelectableListNode(_doc.Quantity, _doc.Quantity, true);
                    _quantities.Add(node);
                    _selectedQuantity = node;
                }

                // -------- Set up the unit environment controller -------
                _unitController = new UnitEnvironmentController(quantity: _doc.Quantity);
                _unitController.InitializeDocument(_doc.Environment ?? new QuantityWithUnitGuiEnvironment());
                Current.Gui.FindAndAttachControlTo(_unitController);
            }
        }
Пример #21
0
 public void ComboBox_Initialize(SelectableListNodeList items, SelectableListNode defaultItem)
 {
     m_ComboBox.Items.Clear();
     m_ComboBox.Items.AddRange(items.ToArray());
     m_ComboBox.SelectedItem = defaultItem;
 }
Пример #22
0
 public void EhView_ComboBoxSelectionChanged(SelectableListNode selectedItem)
 {
     _selectedItem = selectedItem;
 }
Пример #23
0
        private DropReturnData EhCurrentItems_Drop(object data, object nonGuiTargetItem, DragDropRelativeInsertPosition insertPosition, bool isCtrlKeyPressed, bool isShiftKeyPressed)
        {
            var droppedItem = default(TItem);

            if (data is Type)
            {
                object createdObj = null;
                try
                {
                    createdObj = System.Activator.CreateInstance((Type)data);
                }
                catch (Exception ex)
                {
                    Current.Gui.ErrorMessageBox("This object could not be dropped because it could not be created, message: " + ex.ToString(), "Error");
                    return(DropFailedReturnData);
                }

                if (!(createdObj is TItem))
                {
                    return(DropFailedReturnData);
                }

                droppedItem = (TItem)createdObj;
            } // end if data is type
            else if (data is TItem)
            {
                droppedItem = (TItem)data;
            } // end if data is TItem
            else
            {
                return(DropFailedReturnData);
            }

            int targetIndex = int.MaxValue;

            if (nonGuiTargetItem is SelectableListNode)
            {
                int idx = _currentItems.IndexOf((SelectableListNode)nonGuiTargetItem);
                if (idx >= 0 && insertPosition.HasFlag(DragDropRelativeInsertPosition.AfterTargetItem))
                {
                    ++idx;
                }
                targetIndex = idx;
            }

            var newNode = new SelectableListNode(droppedItem.ToString(), droppedItem, false);

            if (targetIndex >= _currentItems.Count)
            {
                _currentItems.Add(newNode);
            }
            else
            {
                _currentItems.Insert(targetIndex, newNode);
            }

            SetListDirty();

            return(new DropReturnData
            {
                IsCopy = isCtrlKeyPressed,
                IsMove = !isCtrlKeyPressed
            });
        }
 public void EhView_ComboBoxSelectionChanged(SelectableListNode selectedItem)
 {
   m_SelectedItem = selectedItem;
 }
    public IntegerAndComboBoxController(string integerLabel,
      int intMin, int intMax, 
      int intVal,
      string comboBoxLabel,
      SelectableListNodeList items,
      int defaultItem)
    {
      m_IntegerLabelText = integerLabel;
      m_IntegerMinimum = intMin;
      m_IntegerMaximum = intMax;
      m_IntegerValue    = intVal;
      m_ComboBoxLabelText = comboBoxLabel;
      m_ComboBoxItems = items;
      m_SelectedItem = items[defaultItem];

      SetElements(true);
    }
    public void EhView_LinkedLayerChanged(SelectableListNode node)
    {
      XYPlotLayer oldLinkedLayer = m_LinkedLayer;
      m_LinkedLayer = (XYPlotLayer)node.Item;

      // we have to check if there is a need to update the type comboboxes
      if (oldLinkedLayer != null && m_LinkedLayer != null)
      {
      }
      else if (oldLinkedLayer == null && m_LinkedLayer != null)
      {
        InitializePositionTypes();
        InitializeSizeTypes();
      }
      else if (oldLinkedLayer != null && m_LinkedLayer == null)
      {
        if (m_LeftType != XYPlotLayerPositionType.AbsoluteValue && m_LeftType != XYPlotLayerPositionType.RelativeToGraphDocument)
          ChangeLeftType(XYPlotLayerPositionType.RelativeToGraphDocument);
        if (m_TopType != XYPlotLayerPositionType.AbsoluteValue && m_TopType != XYPlotLayerPositionType.RelativeToGraphDocument)
          ChangeTopType(XYPlotLayerPositionType.RelativeToGraphDocument);

        if (m_WidthType != XYPlotLayerSizeType.AbsoluteValue && m_WidthType != XYPlotLayerSizeType.RelativeToGraphDocument)
          ChangeWidthType(XYPlotLayerSizeType.RelativeToGraphDocument);
        if (m_HeightType != XYPlotLayerSizeType.AbsoluteValue && m_HeightType != XYPlotLayerSizeType.RelativeToGraphDocument)
          ChangeHeightType(XYPlotLayerSizeType.RelativeToGraphDocument);

        InitializeSizeTypes();
        InitializePositionTypes();
      }
    }
 public void EhView_TopTypeChanged(SelectableListNode node)
 {
   ChangeTopType((XYPlotLayerPositionType)node.Item);
 }
 public void EhView_HeightTypeChanged(SelectableListNode node)
 {
   ChangeHeightType((XYPlotLayerSizeType)node.Item);
 }
Пример #29
0
 public void EhView_TopTypeChanged(SelectableListNode node)
 {
     ChangeTopType((XYPlotLayerPositionType)node.Item);
 }
Пример #30
0
 public void EhView_HeightTypeChanged(SelectableListNode node)
 {
     ChangeHeightType((XYPlotLayerSizeType)node.Item);
 }