Browse Source

Don't capture scroll list widget for drag/drop operations

Josh Engebretson 10 years ago
parent
commit
15be125d74

+ 0 - 1
Script/AtomicEditor/ui/frames/HierarchyFrame.ts

@@ -137,7 +137,6 @@ class HierarchyFrame extends Atomic.UIWidget {
         var childItemID = this.recursiveAddNode(parentID, node);
         var childItemID = this.recursiveAddNode(parentID, node);
 
 
         this.nodeIDToItemID[node.id] = childItemID;
         this.nodeIDToItemID[node.id] = childItemID;
-
     }
     }
 
 
     handleNodeRemoved(ev: Atomic.NodeRemovedEvent) {
     handleNodeRemoved(ev: Atomic.NodeRemovedEvent) {

+ 9 - 0
Source/Atomic/UI/UIListView.cpp

@@ -230,6 +230,7 @@ ListViewItemWidget::ListViewItemWidget(ListViewItem *item, ListViewItemSource *s
     SetLayoutDistribution(LAYOUT_DISTRIBUTION_GRAVITY);
     SetLayoutDistribution(LAYOUT_DISTRIBUTION_GRAVITY);
     SetLayoutDistributionPosition(LAYOUT_DISTRIBUTION_POSITION_LEFT_TOP);
     SetLayoutDistributionPosition(LAYOUT_DISTRIBUTION_POSITION_LEFT_TOP);
     SetPaintOverflowFadeout(false);
     SetPaintOverflowFadeout(false);
+    SetCapturing(false);
 
 
     item_->widget_ = this;
     item_->widget_ = this;
 
 
@@ -542,5 +543,13 @@ void UIListView::SelectItemByID(const String& id)
     }
     }
 }
 }
 
 
+void UIListView::ScrollToSelectedItem()
+{
+    if (rootList_.Null())
+        return;
+
+    rootList_->ScrollToSelectedItem();
+}
+
 
 
 }
 }

+ 2 - 0
Source/Atomic/UI/UIListView.h

@@ -52,6 +52,8 @@ public:
     void SetItemIcon(const String& id, const String& icon);
     void SetItemIcon(const String& id, const String& icon);
     void DeleteItemByID(const String& id);
     void DeleteItemByID(const String& id);
 
 
+    void ScrollToSelectedItem();
+
     void SetExpanded(unsigned itemID, bool value);
     void SetExpanded(unsigned itemID, bool value);
 
 
     void DeleteAllItems();
     void DeleteAllItems();

+ 9 - 0
Source/Atomic/UI/UISelectList.cpp

@@ -130,6 +130,15 @@ void UISelectList::SetSource(UISelectItemSource* source)
     ((TBSelectList*)widget_)->SetSource(source ? source->GetTBItemSource() : NULL);
     ((TBSelectList*)widget_)->SetSource(source ? source->GetTBItemSource() : NULL);
 }
 }
 
 
+void UISelectList::ScrollToSelectedItem()
+{
+    if (!widget_)
+        return;
+
+    ((TBSelectList*)widget_)->ScrollToSelectedItem();
+
+}
+
 bool UISelectList::OnEvent(const tb::TBWidgetEvent &ev)
 bool UISelectList::OnEvent(const tb::TBWidgetEvent &ev)
 {
 {
     return UIWidget::OnEvent(ev);
     return UIWidget::OnEvent(ev);

+ 2 - 0
Source/Atomic/UI/UISelectList.h

@@ -53,6 +53,8 @@ public:
     String GetHoverItemID();
     String GetHoverItemID();
     String GetSelectedItemID();
     String GetSelectedItemID();
 
 
+    void ScrollToSelectedItem();
+
     tb::TBSelectList* GetTBSelectList();
     tb::TBSelectList* GetTBSelectList();
 
 
 protected:
 protected: