Exemplo n.º 1
0
        public void MouseDownClass(MouseButtonEventArgs e)
        {
            e.MouseDevice.Target.CaptureMouse();
            var _movingClass = (FrameworkElement)e.MouseDevice.Target;
            var movingClass  = (Class)_movingClass.DataContext;
            var canvas       = FindParentOfType <Canvas>(_movingClass);

            if (!isAddingEdge)
            {
                offsetPosition = Mouse.GetPosition(canvas);
                oldPosX        = movingClass.X;
                oldPosY        = movingClass.Y;

                if (SelectedClass.Count == 0)
                {
                    SelectedClass.Add(movingClass);
                }
                else
                {
                    SelectedClass.ElementAt(0).IsSelected = false;
                    SelectedClass.Clear();
                    SelectedClass.Add(movingClass);
                }
                SelectedClass.Clear();
            }
        }
Exemplo n.º 2
0
 private void RightClickBackground(MouseButtonEventArgs obj)
 {
     //clears adding edges, fx if the user misclicked on "add connector"
     isAddingEdge = false;
     foreach (var selClass in SelectedClass)
     {
         selClass.IsSelected = false;
     }
     SelectedClass.Clear();
 }
Exemplo n.º 3
0
    public static List <SelectedClass> PickAllOf <SelectedClass> () where SelectedClass : class
    {
        MonoBehaviour[]      monoBehaviours = UnityEngine.Object.FindObjectsOfType <MonoBehaviour>();
        List <SelectedClass> list           = new List <SelectedClass>();

        foreach (MonoBehaviour behaviour in monoBehaviours)
        {
            SelectedClass component = behaviour.GetComponent(typeof(SelectedClass)) as SelectedClass;

            if (component != null)
            {
                list.Add(component);
            }
        }
        return(list);
    }
Exemplo n.º 4
0
        /// <summary>
        /// Evaluate mathematical expression
        /// </summary>
        /// <returns>true if the is at least one expression is evaluated</returns>
        private bool EvaluateIntPropertyCells(int rowIndex, int colIndex)
        {
            bool result = false;

            if (colIndex < 1)
            {
                return(result);
            }

            // dont know why but this fixes a bug :)
            if (rowIndex < 0)
            {
                return(result);
            }

            DataGridViewCell cellPropVal  = dataGridView_Properties.Rows[rowIndex].Cells[colIndex];
            DataGridViewCell cellPropName = dataGridView_Properties.Rows[rowIndex].Cells[0];

            try
            {
                string propName   = cellPropName.Value as string;
                string propOldVal = cellPropVal.Value as string;

                var prop = SelectedClass.GetProperty(propName);
                if (prop.Type != ContextType.Int)
                {
                    return(false);
                }

                DataTable dt         = new DataTable();
                var       propNewVal = ((int)dt.Compute(propOldVal, "")).ToString();

                if (propOldVal != propNewVal)
                {
                    result = true;
                }
                else
                {
                    return(false);
                }

                dataGridView_Properties.Rows[rowIndex].Cells[colIndex].Value = propNewVal;
            }
            catch { }

            return(result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// CuteTN note: VERY DIRTY CODE HERE, couple with the creation of CObject
        /// Cant fix because the initializing data was hardcoded in the ParseData function :)
        /// </summary>
        private List <string> GenerateCodeAddNewObject(string id)
        {
            var result = new List <string>();

            result.Add("OBJECT");
            result.Add(id);
            result.Add(SelectedClass.StringId);

            int unknownValsCount = SelectedClass.GetUndefinedPropertyCount();

            for (int i = 0; i < unknownValsCount; i++)
            {
                result.Add(Utils.UndefinedValue);
            }

            return(result);
        }
Exemplo n.º 6
0
        // Action for Mouse up trigger on Class element
        // Benyttes til at flytte punkter og tilføje kanter.
        public void MouseUpClass(MouseButtonEventArgs e)
        {
            var _movingClass = (FrameworkElement)e.MouseDevice.Target;
            var movingClass  = (Class)_movingClass.DataContext;

            if (isAddingEdge)
            {
                //no classes have been selected
                if (SelectedClass.Count == 0)
                {
                    SelectedClass.Add(movingClass);
                    movingClass.IsSelected = true;
                    //COUNT IS NOW 1
                }
                // 1 class is selecteds
                else if (SelectedClass[0] != movingClass)
                {
                    SelectedClass.Add(movingClass);
                    movingClass.IsSelected = true;
                    undoRedoController.AddAndExecute(new AddEdgeCommand(Edges, SelectedClass[0], SelectedClass[1]));

                    //Clear the selected classes
                    isAddingEdge = false;
                    SelectedClass[0].IsSelected = false;
                    SelectedClass[1].IsSelected = false;
                    SelectedClass.Clear();
                }
            }

            if (initialPoint != default(Point))
            {
                var canvas        = FindParentOfType <Canvas>(_movingClass);
                var mousePosition = Mouse.GetPosition(canvas);
                undoRedoController.AddAndExecute(new MoveClassCommand(movingClass, Edges, movingClass.X, movingClass.Y, (int)oldPosX, (int)oldPosY));
                // Nulstil værdier.
                initialPoint = new Point();
                // Musen frigøres.
                e.MouseDevice.Target.ReleaseMouseCapture();
            }
            else
            {
                e.MouseDevice.Target.ReleaseMouseCapture();
            }
        }
Exemplo n.º 7
0
        public ActionResult ClassSelectorPost(List <datao> things, int?UserCourseId)
        {
            if (UserCourseId != null)
            {
                foreach (var items in things)
                {
                    SelectedClass cs = new SelectedClass();
                    cs.UserCourseId = UserCourseId;
                    cs.TimeTableId  = int.Parse(items.value);

                    db.SelectedClasses.Add(cs);
                    db.SaveChanges();
                }
            }

            var redirectUrl = new UrlHelper(Request.RequestContext).Action("SelectCourse", "Course", new {});

            return(Json(new { Url = redirectUrl }));
        }
Exemplo n.º 8
0
        public UcNodeViewer generateTempNodeViewer()
        {
            UcNodeViewer tempNodeViewer = null;

            if (SelectedClass != null)
            {
                Node tempNode = SelectedClass.GenerateTempClass().GenerateNode();
                if (tempNode.Class.InputTypes.Length > 0)
                {
                    tempNodeViewer = new UcTransformationViewer();
                }
                else
                {
                    tempNodeViewer = new UcDataSourceViewer();
                }
                tempNodeViewer.DataContext = tempNode;
                tempNodeViewer.IsPreview   = true;
            }
            return(tempNodeViewer);
        }
Exemplo n.º 9
0
        private void LoadPropertiesOfObject()
        {
            if (SelectedClass == null)
            {
                return;
            }

            var propNames = SelectedClass.GetUndefinedPropertiesNames();

            dataGridView_Properties.Rows.Clear();

            foreach (var propName in propNames)
            {
                try
                {
                    if (dataGridView_Objects.SelectedRows.Count == 1)
                    {
                        dataGridView_Properties.Rows.Add(propName, SelectedObject.GetProperty(propName).EncodedValue);
                    }
                    else
                    {
                        // CuteTN Note: buggy buddy
                        string commonVal = CommonPropertyValue(propName);
                        if (commonVal == null)
                        {
                            commonVal = Utils.UndefinedValue;
                        }
                        dataGridView_Properties.Rows.Add(propName, commonVal);
                    }
                }
                catch
                {
                    MessageBox.Show("Something's gone wrong in LoadPropertiesOfObject!");
                }
            }
        }
Exemplo n.º 10
0
        void ReleaseDesignerOutlets()
        {
            if (ClassCount != null)
            {
                ClassCount.Dispose();
                ClassCount = null;
            }

            if (ClassCountHeight != null)
            {
                ClassCountHeight.Dispose();
                ClassCountHeight = null;
            }

            if (CloseBtnHeight != null)
            {
                CloseBtnHeight.Dispose();
                CloseBtnHeight = null;
            }

            if (DataVisualizerBtn != null)
            {
                DataVisualizerBtn.Dispose();
                DataVisualizerBtn = null;
            }

            if (DefaultHeight != null)
            {
                DefaultHeight.Dispose();
                DefaultHeight = null;
            }

            if (ObjectBtn != null)
            {
                ObjectBtn.Dispose();
                ObjectBtn = null;
            }

            if (SaveBtn != null)
            {
                SaveBtn.Dispose();
                SaveBtn = null;
            }

            if (SearchView != null)
            {
                SearchView.Dispose();
                SearchView = null;
            }

            if (SelectedClass != null)
            {
                SelectedClass.Dispose();
                SelectedClass = null;
            }

            if (SelectedClassHeight != null)
            {
                SelectedClassHeight.Dispose();
                SelectedClassHeight = null;
            }

            if (SettingBtn != null)
            {
                SettingBtn.Dispose();
                SettingBtn = null;
            }

            if (ShareBtn != null)
            {
                ShareBtn.Dispose();
                ShareBtn = null;
            }

            if (Sidebar != null)
            {
                Sidebar.Dispose();
                Sidebar = null;
            }

            if (SidebarClose != null)
            {
                SidebarClose.Dispose();
                SidebarClose = null;
            }

            if (SideBarToggle != null)
            {
                SideBarToggle.Dispose();
                SideBarToggle = null;
            }

            if (SidebarView != null)
            {
                SidebarView.Dispose();
                SidebarView = null;
            }

            if (SidebarWidth != null)
            {
                SidebarWidth.Dispose();
                SidebarWidth = null;
            }

            if (SidebarXOffset != null)
            {
                SidebarXOffset.Dispose();
                SidebarXOffset = null;
            }

            if (sidebarYOffset != null)
            {
                sidebarYOffset.Dispose();
                sidebarYOffset = null;
            }

            if (TextviewTopPadding != null)
            {
                TextviewTopPadding.Dispose();
                TextviewTopPadding = null;
            }

            if (ToggleHeight != null)
            {
                ToggleHeight.Dispose();
                ToggleHeight = null;
            }

            if (ToggleView != null)
            {
                ToggleView.Dispose();
                ToggleView = null;
            }

            if (ToolBar != null)
            {
                ToolBar.Dispose();
                ToolBar = null;
            }
        }
        /// <summary>
        /// 获取SelectedClass
        /// </summary>
        /// <param name="applicationStr"></param>
        /// <param name="name"></param>
        /// <param name="codeClass"></param>
        /// <returns></returns>
        private SelectedClass GetSelectedClass(string applicationStr, string name, string cnName, string description, CodeClass codeClass)
        {
            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var selectEdClass           = new SelectedClass(applicationStr, name);
            List <ClassProp> classProps = new List <ClassProp>();
            var codeMembers             = codeClass.Members;

            foreach (CodeElement codeMember in codeMembers)
            {
                List <ClassPropAttribute> classAttributes = new List <ClassPropAttribute>();
                // 如果是属性
                if (codeMember.Kind == vsCMElement.vsCMElementProperty)
                {
                    CodeProperty property  = codeMember as CodeProperty;
                    ClassProp    classProp = new ClassProp(property.Name);

                    //获取属性类型
                    var propertyType = property.Type;
                    switch (propertyType.AsFullName)
                    {
                    case "System.Int64":
                        classProp.PropertyType = "long";
                        break;

                    case "System.Nullable<System.Int64>":
                        classProp.PropertyType = "long?";
                        break;

                    case "System.Int32":
                        classProp.PropertyType = "int";
                        break;

                    case "System.Nullable<System.Int32>":
                        classProp.PropertyType = "int?";
                        break;

                    case "System.DateTime":
                        classProp.PropertyType = "DateTime";
                        break;

                    case "System.Nullable<System.DateTime>":
                        classProp.PropertyType = "DateTime?";
                        break;

                    case "System.Guid":
                        classProp.PropertyType = "Guid";
                        break;

                    case "System.Nullable<System.Guid>":
                        classProp.PropertyType = "Guid?";
                        break;

                    case "System.String":
                        classProp.PropertyType = "string";
                        break;

                    case "System.Nullable<System.String>":
                        classProp.PropertyType = "string?";
                        break;

                    //枚举
                    default:
                        classProp.PropertyType = propertyType.AsFullName.Split('.').LastOrDefault();
                        break;
                    }
                    //获取属性特性
                    foreach (CodeAttribute codeAttribute in property.Attributes)
                    {
                        ClassPropAttribute classAttribute = new ClassPropAttribute();
                        if (codeAttribute.Name == "Required")
                        {
                            classAttribute.NameValue = "[Required]";

                            classAttribute.Name  = "Required";
                            classAttribute.Value = "true";
                        }
                        else
                        {
                            classAttribute.NameValue = "[" + codeAttribute.Name + "(" + codeAttribute.Value + ")]";
                            classAttribute.Name      = codeAttribute.Name;
                            classAttribute.Value     = codeAttribute.Value;
                        }
                        classAttributes.Add(classAttribute);
                    }
                    classProps.Add(classProp);
                }
            }

            selectEdClass.CodeProps = classProps;

            return(selectEdClass);
        }