--- a/controls/VariablePanel.py Fri Apr 07 16:54:31 2017 +0300
+++ b/controls/VariablePanel.py Mon Apr 10 18:29:12 2017 +0300
@@ -457,7 +457,7 @@
setattr(self, name, button)
controls_sizer.AddWindow(button)
- self.VariablesGrid = CustomGrid(self, style=wx.VSCROLL)
+ self.VariablesGrid = CustomGrid(self, style=wx.VSCROLL | wx.HSCROLL) self.VariablesGrid.SetDropTarget(VariableDropTarget(self))
self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE,
self.OnVariablesGridCellChange)
@@ -532,6 +532,8 @@
self.ColAlignements = [c, l, l, l, l, l, l]
self.ColFixedSizeFlag=[True,False, True, False, True, True, False]
+ self.PanelWidthMin = sum(self.ColSizes) self.ElementType = element_type
@@ -638,20 +640,23 @@
self.DownButton.Enable(not self.Debug and (table_length > 0 and row < table_length - 1 and self.Filter == "All"))
setattr(self.VariablesGrid, "RefreshButtons", _RefreshButtons)
- stretch_cols_width = window.Parent.ScreenRect.Width - 35
- for col in range(len(self.ColFixedSizeFlag)):
- if self.ColFixedSizeFlag[col]:
- stretch_cols_width -= self.ColSizes[col]
- stretch_cols_sum += self.ColSizes[col]
+ panel_width = window.Parent.ScreenRect.Width - 35 + if panel_width > self.PanelWidthMin: + stretch_cols_width = panel_width + for col in range(len(self.ColFixedSizeFlag)): + if self.ColFixedSizeFlag[col]: + stretch_cols_width -= self.ColSizes[col] + stretch_cols_sum += self.ColSizes[col] self.VariablesGrid.SetRowLabelSize(0)
for col in range(self.Table.GetNumberCols()):
attr = wx.grid.GridCellAttr()
attr.SetAlignment(self.ColAlignements[col], wx.ALIGN_CENTRE)
self.VariablesGrid.SetColAttr(col, attr)
self.VariablesGrid.SetColMinimalWidth(col, self.ColSizes[col])
- if not self.ColFixedSizeFlag[col]:
+ if (panel_width > self.PanelWidthMin) and not self.ColFixedSizeFlag[col]: self.VariablesGrid.SetColSize(col, int((float(self.ColSizes[col])/stretch_cols_sum)*stretch_cols_width))
self.VariablesGrid.SetColSize(col, self.ColSizes[col])