public MiniMap() { capabilities = Capabilities.Movable; m_Dragger = new Dragger { clampToParentEdges = true }; this.AddManipulator(m_Dragger); anchored = false; maxWidth = 200; maxHeight = 200; m_Label = new Label("Floating Minimap"); Add(m_Label); RegisterCallback <MouseDownEvent>(OnMouseDown); m_Label.RegisterCallback <MouseDownEvent>(EatMouseDown); this.AddManipulator(new ContextualMenuManipulator(BuildContextualMenu)); this.AddStylesheet("Minimap.uss"); this.generateVisualContent += OnGenerateVisualContent; }
public Blackboard(GraphView associatedGraphView = null) { var tpl = GraphElementsHelper.LoadUXML("Blackboard.uxml"); this.AddStylesheet(StyleSheetPath); m_MainContainer = tpl.Instantiate(); m_MainContainer.AddToClassList("mainContainer"); m_Root = m_MainContainer.Q("content"); m_HeaderItem = m_MainContainer.Q("header"); m_HeaderItem.AddToClassList("blackboardHeader"); m_AddButton = m_MainContainer.Q(name: "addButton") as Button; m_AddButton.clickable.clicked += () => { if (addItemRequested != null) { addItemRequested(this); } }; m_TitleLabel = m_MainContainer.Q <Label>(name: "titleLabel"); m_SubTitleLabel = m_MainContainer.Q <Label>(name: "subTitleLabel"); m_ContentContainer = m_MainContainer.Q(name: "contentContainer"); hierarchy.Add(m_MainContainer); capabilities |= Capabilities.Movable | Capabilities.Resizable; style.overflow = Overflow.Hidden; ClearClassList(); AddToClassList("blackboard"); m_Dragger = new Dragger { clampToParentEdges = true }; this.AddManipulator(m_Dragger); scrollable = false; hierarchy.Add(new Resizer()); RegisterCallback <DragUpdatedEvent>(e => { e.StopPropagation(); }); // event interception to prevent GraphView manipulators from being triggered // when working with the blackboard // prevent Zoomer manipulator RegisterCallback <WheelEvent>(e => { e.StopPropagation(); }); RegisterCallback <MouseDownEvent>(e => { if (e.button == (int)MouseButton.LeftMouse) { ClearSelection(); } // prevent ContentDragger manipulator e.StopPropagation(); }); RegisterCallback <ValidateCommandEvent>(OnValidateCommand); RegisterCallback <ExecuteCommandEvent>(OnExecuteCommand); m_GraphView = associatedGraphView; focusable = true; }