Exemplo n.º 1
0
        public void ClickOne(int xmouse, int ymouse)
        {
            if (task.Contains(xmouse, ymouse) != null)
            {
                var element     = task.Contains(xmouse, ymouse);
                var elementData = Kernel.getElement(element.Id);
                var son         = Kernel.getSon(elementData);
                if (state == State.Middle)
                {
                    middle.hideCurrent();
                    this.middle.setCurrent(element.Id);
                    this.middle.GenerateGraph(element.Id, son);
                }
                else
                {
                    desktop.Hide();
                    state = State.Middle;
                    this.middle.setCurrent(element.Id);
                    this.middle.GenerateGraph(element.Id, son);
                    this.middle.OnMiddle(4);
                }
                middle.setTitle(element.Id);
            }
            else if (task.ContainsSearch(xmouse, ymouse) != null)//search
            {
                var search = new Search(this);
                search.Show();
            }
            else if (task.ContainsExit(xmouse, ymouse) != null)//exit
            {
                Application.Current.Shutdown();
            }
            else if (state == State.Desktop)
            {
                if (desktop.current != null)
                {
                    desktop.current.LoadDefault(canvas);
                    desktop.current = null;
                }
                var element = desktop.Contains(xmouse, ymouse);
                if (element != null)
                {
                    desktop.current = element;
                    desktop.current.LoadHover(canvas);
                }
            }
            else
            {
                if (middle.liste.Contains(xmouse, ymouse) != "")
                {
                    var Id = middle.liste.Contains(xmouse, ymouse);
                    current        = null;
                    middle.current = null;
                    var elementData = Kernel.getElement(Id);
                    var son         = Kernel.getSon(elementData);
                    middle.hideCurrent();
                    if (task.ContainsKey(middle.getCurrent()))
                    {
                        task.setKey(middle.getCurrent(), Id);
                    }
                    this.middle.setCurrent(Id);
                    this.middle.GenerateGraph(Id, son);
                    middle.setTitle(Id);
                }
                else
                {
                    int type    = -1;
                    var element = middle.Contains(xmouse, ymouse, ref type);
                    if (element != null && type > -1)
                    {
                        if (type == 0) // close
                        {
                            if (task.ContainsKey(middle.getCurrent()))
                            {
                                task.Hide(middle.getCurrent());
                            }
                            middle.hideMiddle();
                            middle.delete(middle.getCurrent());
                            middle.setCurrent("");
                            state = State.Desktop;
                            desktop.Generate();
                        }
                        else if (type == 1)
                        {
                            middle.hideMiddle();
                            middle.setCurrent("");
                            state = State.Desktop;
                            desktop.Generate();
                        }
                        else
                        {
                            if (middle.current != null && middle.Contains(middle.current))
                            {
                                middle.current.LoadDefault(canvas);
                                middle.current = null;
                            }

                            middle.current = element;
                            middle.current.LoadHover(canvas);
                        }
                    }
                    else
                    {
                        if (middle.current != null && middle.Contains(middle.current))
                        {
                            middle.current.LoadDefault(canvas);
                            middle.current = null;
                        }
                    }
                }
            }
        }