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; } } } } }