Skip to content

Commit

Permalink
Merge pull request #561 from LipuFei/fix-dbg-runtime-selection
Browse files Browse the repository at this point in the history
fix debug frame runtime tab selection problem
  • Loading branch information
NielsZeilemaker committed Apr 15, 2014
2 parents 312d81a + 6a5871d commit f2889f4
Showing 1 changed file with 28 additions and 35 deletions.
63 changes: 28 additions & 35 deletions Tribler/Main/vwxGUI/DispersyDebugFrame.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,15 +271,12 @@ def __init__(self, parent, id):
self.__listctrl = AutoWidthListCtrl(splitter, -1,
style=wx.LC_REPORT | wx.LC_ALIGN_LEFT | wx.LC_SINGLE_SEL)
self.__listctrl.SetMinSize((600, 200))
self.__listctrl.InsertColumn(0, "Classification")
self.__listctrl.InsertColumn(1, "Identifier")
self.__listctrl.InsertColumn(2, "Database ID")
self.__listctrl.InsertColumn(3, "Member")
self.__listctrl.InsertColumn(0, "Classification", width=200)
self.__listctrl.InsertColumn(1, "Identifier", width=100)
self.__listctrl.InsertColumn(2, "Database ID", width=100)
self.__listctrl.InsertColumn(3, "Member", width=100)
self.__listctrl.InsertColumn(4, "Candidates")

self.__listctrl.SetColumnWidth(0, 200)
for i in xrange(1, 4):
self.__listctrl.SetColumnWidth(i, 100)
self.__detail_panel = CommunityDetailPanel(splitter, -1)

splitter.SplitHorizontally(self.__listctrl, self.__detail_panel)
Expand Down Expand Up @@ -412,13 +409,10 @@ def __init__(self, parent, id):

self.__candidate_list = AutoWidthListCtrl(self, -1,
style=wx.LC_REPORT | wx.LC_ALIGN_LEFT | wx.BORDER_SUNKEN)
self.__candidate_list.InsertColumn(0, "Global time")
self.__candidate_list.InsertColumn(1, "LAN")
self.__candidate_list.InsertColumn(0, "Global time", width=70)
self.__candidate_list.InsertColumn(1, "LAN", width=130)
self.__candidate_list.InsertColumn(2, "WAN")

self.__candidate_list.SetColumnWidth(0, 70)
self.__candidate_list.SetColumnWidth(1, 130)

self.__database_list = AutoWidthListCtrl(self, -1,
style=wx.LC_REPORT | wx.LC_ALIGN_LEFT | wx.BORDER_SUNKEN)
self.__database_list.InsertColumn(0, "Count")
Expand Down Expand Up @@ -471,15 +465,13 @@ def __init__(self, parent, id):

self.__category_list = AutoWidthListCtrl(self, -1,
style=wx.LC_REPORT | wx.LC_ALIGN_LEFT | wx.LC_SINGLE_SEL | wx.BORDER_SUNKEN)
self.__category_list.InsertColumn(0, "Category")
self.__category_list.InsertColumn(0, "Category", width=150)
self.__category_list.InsertColumn(1, "Total Count")
self.__category_list.SetColumnWidth(0, 150)
self.__category_list.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnCategorySelected)

self.__detail_list = AutoWidthListCtrl(self, -1, style=wx.LC_REPORT | wx.BORDER_SUNKEN)
self.__detail_list.InsertColumn(0, "Count")
self.__detail_list.InsertColumn(0, "Count", width=50)
self.__detail_list.InsertColumn(1, "Info")
self.__detail_list.SetColumnWidth(0, 50)

hsizer = wx.BoxSizer(wx.HORIZONTAL)
hsizer.Add(self.__category_list, 1, wx.EXPAND | wx.RIGHT, 2)
Expand Down Expand Up @@ -555,34 +547,26 @@ def __init__(self, parent, id):
super(RuntimeProfilingPanel, self).__init__(parent, id)
self.SetBackgroundColour(LIST_GREY)

self.__current_selection_idx = None
self.__current_selection_name = None
self.__combined_list = []

sizer = wx.BoxSizer(wx.HORIZONTAL)

self.__list1 = AutoWidthListCtrl(self, -1,
style=wx.LC_REPORT | wx.LC_ALIGN_LEFT | wx.LC_SINGLE_SEL | wx.BORDER_SUNKEN)
self.__list1.InsertColumn(0, "Duration")
self.__list1.InsertColumn(1, "Entry")
self.__list1.InsertColumn(2, "Average")
self.__list1.InsertColumn(0, "Duration", width=70)
self.__list1.InsertColumn(1, "Entry", width=250)
self.__list1.InsertColumn(2, "Average", width=70)
self.__list1.InsertColumn(3, "Count")
self.__list1.SetColumnWidth(0, 70)
self.__list1.SetColumnWidth(1, 250)
self.__list1.SetColumnWidth(2, 70)
self.__list1.SetColumnWidth(3, 70)
set_small_modern_font(self.__list1)

self.__list1.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnList1Selected)

self.__list2 = AutoWidthListCtrl(self, -1, style=wx.LC_REPORT | wx.BORDER_SUNKEN)
self.__list2.InsertColumn(0, "Duration")
self.__list2.InsertColumn(1, "Entry")
self.__list2.InsertColumn(2, "Average")
self.__list2.InsertColumn(0, "Duration", width=70)
self.__list2.InsertColumn(1, "Entry", width=250)
self.__list2.InsertColumn(2, "Average", width=70)
self.__list2.InsertColumn(3, "Count")
self.__list2.SetColumnWidth(0, 70)
self.__list2.SetColumnWidth(1, 250)
self.__list2.SetColumnWidth(2, 70)
self.__list2.SetColumnWidth(3, 70)
set_small_modern_font(self.__list2)

sizer.Add(self.__list1, 1, wx.EXPAND | wx.RIGHT, 2)
Expand All @@ -591,20 +575,21 @@ def __init__(self, parent, id):

def OnList1Selected(self, event):
this_idx = event.GetIndex()
if self.__current_selection_idx == this_idx:
if self.__current_selection_name == self.__combined_list[this_idx][1]:
return

self.__current_selection_idx = this_idx
self.__current_selection_name = self.__combined_list[this_idx][1]
self.__list2.DeleteAllItems()
data_list = self.__combined_list[event.GetIndex()][4]
data_list = self.__combined_list[this_idx][4]
for duration, entry, average, count in data_list:
self.__list2.Append([u"%7.2f" % duration, u"%s" % entry,
u"%7.2f" % average, u"%s" % count])

def UpdateInfo(self, stats):
self.__list1.DeleteAllItems()
self.__list2.DeleteAllItems()
self.__current_selection_id = None
prev_selection_name = self.__current_selection_name
self.__current_selection_name = None

if not getattr(stats, "runtime", None):
return
Expand Down Expand Up @@ -640,6 +625,14 @@ def UpdateInfo(self, stats):
combined_list.sort(reverse=True)
self.__combined_list = combined_list

prev_selection_idx = None
idx = 0
for duration, entry, average, count, _ in combined_list:
if entry == prev_selection_name:
prev_selection_idx = idx
idx += 1
self.__list1.Append([u"%7.2f" % duration, u"%s" % entry,
u"%7.2f" % average, u"%s" % count])

if prev_selection_idx is not None:
self.__list1.Select(prev_selection_idx)

0 comments on commit f2889f4

Please sign in to comment.