Exemplo n.º 1
0
        private void treeControl_ContextMenuOpening(object sender, ContextMenuEventArgs e)
        {
            TreeViewItem treeItem = e.Source as TreeViewItem;

            if (treeItem == null)
            {
                e.Handled = true;
                return;
            }
            treeItem.Focus();

            IconTextItem item = treeItem.Header as IconTextItem;

            if (item == null)
            {
                e.Handled = true;
                return;
            }

            BaseEditor editor = MogitorsRoot.Instance.FindObject(item.Name, 0);

            if (editor == null)
            {
                e.Handled = true;
                return;
            }
        }
Exemplo n.º 2
0
        private void treeControl_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            TreeViewItem treeItem = e.NewValue as TreeViewItem;

            if (treeItem == null)
            {
                return;
            }

            IconTextItem item = treeItem.Header as IconTextItem;

            if (item == null)
            {
                return;
            }

            string name = item.Name;

            MogitorsRoot mogRoot = MogitorsRoot.Instance;
            BaseEditor   curEdit = mogRoot.FindObject(name, 0);

            if (curEdit != mogRoot.Selected)
            {
                if (mogRoot.Selected != null)
                {
                    mogRoot.Selected.IsSelected = false;
                }

                if (curEdit != null)
                {
                    curEdit.IsSelected = true;
                }
            }
        }
Exemplo n.º 3
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            this.iconsListBox = this.Template.FindName("PART_ListBox", this) as ListBox;
            this.iconsListBox.PreviewMouseLeftButtonDown += (s, e) =>
            {
                ListBox      listBox = s as ListBox;
                IconTextItem item    = ControlHelper.GetObjectDataFromPoint(listBox, e.GetPosition(listBox)) as IconTextItem;
                if (item != null)
                {
                    DragDrop.DoDragDrop(listBox, new DragData(this, item), DragDropEffects.Copy);
                }
            };
        }
Exemplo n.º 4
0
        public void SetTreeItemText(object treeItemHandle, string newName)
        {
            TreeViewItem renameItem = treeItemHandle as TreeViewItem;

            if (renameItem == null)
            {
                return;
            }

            IconTextItem item = renameItem.Header as IconTextItem;

            if (item == null)
            {
                return;
            }

            item.Name = newName;
        }
Exemplo n.º 5
0
        bool MogitorsRoot.IDragDropHandler.OnDrageEnter(DragData dragData)
        {
            IconTextItem item = dragData.SourceObject as IconTextItem;

            if (item == null)
            {
                return(false);
            }

            BaseEditorFactory factory = MogitorsRoot.Instance.GetEditorObjectFactory(item.Name + " Object");

            if (factory == null)
            {
                return(false);
            }

            dragData.ObjectType = factory.TypeName;

            string placeHolder = "";

            if (factory.RequirePlacement)
            {
                placeHolder = factory.PlaceHolderName;
            }

            if (placeHolder == "")
            {
                return(true);
            }

            dragData.Parameters["Init"]     = "true";
            dragData.Parameters["MeshFile"] = placeHolder;
            dragData.Parameters["Position"] = "999999 999999 999999";

            BaseEditor parent = MogitorsRoot.Instance.SceneManagerEditor;

            dragData.Object = EntityEditor.Factory.CreateObject(ref parent, dragData.Parameters);
            dragData.Object.Load();

            (dragData.Object.Handle as Mogre.Entity).SetMaterialName("scbMATWIREFRAME");
            (dragData.Object.Handle as Mogre.Entity).QueryFlags = 0;

            return(true);
        }
Exemplo n.º 6
0
        private static void OnFilterChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            EntityViewControl entityView = d as EntityViewControl;
            string            filter     = e.NewValue as string;

            ICollectionView view = CollectionViewSource.GetDefaultView(entityView.Icons);

            view.Filter = (object o) =>
            {
                filter = filter.Trim();
                if (filter.Length == 0)
                {
                    return(true);
                }

                IconTextItem item = o as IconTextItem;
                return(item.Name.ToLower().Contains(filter.ToLower()));
            };
        }
Exemplo n.º 7
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            this.iconsListBox = this.Template.FindName("PART_ListBox", this) as ListBox;
            this.iconsListBox.PreviewMouseLeftButtonDown += (s, e) =>
            {
                ListBox      listBox = s as ListBox;
                IconTextItem item    = ControlHelper.GetObjectDataFromPoint(listBox, e.GetPosition(listBox)) as IconTextItem;
                if (item != null)
                {
                    DragDrop.DoDragDrop(listBox, new DragData(this, item), DragDropEffects.Copy);
                }
            };

            this.closeScalePopupBtn        = this.Template.FindName("PART_CloseScalePopupBtn", this) as Button;
            this.closeScalePopupBtn.Click += (s, e) =>
            {
                DropDownButton scaleBtn = this.Template.FindName("PART_ScaleBtn", this) as DropDownButton;
                scaleBtn.DropDown.IsOpen = false;
            };
        }
Exemplo n.º 8
0
        bool MogitorsRoot.IDragDropHandler.OnDrageEnter(DragData dragData)
        {
            IconTextItem item = dragData.SourceObject as IconTextItem;

            if (item == null)
            {
                return(false);
            }

            dragData.ObjectType             = "Entity Object";
            dragData.Parameters["Init"]     = "true";
            dragData.Parameters["MeshFile"] = item.Name + ".mesh";
            dragData.Parameters["Position"] = "999999 999999 999999";

            BaseEditor parent = MogitorsRoot.Instance.SceneManagerEditor;

            dragData.Object = EntityEditor.Factory.CreateObject(ref parent, dragData.Parameters);
            dragData.Object.Load();

            ((dragData.Object.Handle) as Mogre.Entity).SetMaterialName("scbMATWIREFRAME");
            ((dragData.Object.Handle) as Mogre.Entity).QueryFlags = 0;

            return(true);
        }
Exemplo n.º 9
0
        private void treeControl_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            TreeViewItem treeItem = e.NewValue as TreeViewItem;

            if (treeItem == null)
            {
                return;
            }

            if (treeItem.Parent == null)
            {
                if (MogitorsRoot.Instance.Selected != null)
                {
                    MogitorsRoot.Instance.Selected.IsSelected = false;
                }
                MogitorsRoot.Instance.RootEditor.IsSelected = true;
                return;
            }

            IconTextItem item = treeItem.Header as IconTextItem;

            if (item == null)
            {
                e.Handled = true;
                return;
            }

            int id = (treeItem.Tag != null) ? (int)treeItem.Tag : 0;

            int level = 0;

            while (treeItem.Tag != null)
            {
                treeItem = treeItem.Parent as TreeViewItem;
                item     = treeItem.Header as IconTextItem;
                ++level;
            }

            string name = item.Name;

            MogitorsRoot mogRoot = MogitorsRoot.Instance;

            if (this.materialEditor == null || name != this.materialEditor.Name ||
                level != this.materialEditor.PropertyLevel ||
                id != this.materialEditor.PropertyId)
            {
                if (mogRoot.Selected != null)
                {
                    mogRoot.Selected.IsSelected = false;
                }

                if (this.materialEditor != null)
                {
                    this.materialEditor.Destroy(false);
                }

                BaseEditor parentEd = null;
                Mogre.NameValuePairList parameters = new Mogre.NameValuePairList();
                parameters["Name"] = name;

                this.materialEditor = MaterialEditor.Factory.CreateObject(ref parentEd, parameters) as MaterialEditor;
                if (this.materialEditor != null && this.materialEditor.Load())
                {
                    this.materialEditor.TreeItemHandle = treeItem;
                    this.materialEditor.SetPropertiesLevel(level, id);
                    this.materialEditor.IsSelected = true;
                }
            }
        }